BAB II TINJAUAN PUSTAKA
II.1.
Sistem Definisi sistem berkembang sesuai dengan konteks dimana sistem itu
digunakan. Berikut akan diberikan beberapa definisi sistem secara umum : 1.
Kumpulan dari bagian-bagian yang bekerja sama untuk mencapai tujuan tertentu. Contoh : a. Sistem Tata Surya b. Sistem Pencernaan c. Sistem Transportasi Umum d. Sistem Otomotif e. Sistem Komputer f. Sistem Informasi
2.
Sekumpulan objek-objek yang saling berelasi dan berinteraksi serta hubungan antar objek bisa dilihat sebagai satu kesatuan yang dirancang untuk mencapai suatu tujuan. Dengan demikian, secara sederhana sistem dapat diartikan sebagai suatu
kumpulan atau himpunan dari unsur atau variabel-variabel yang saling terorganisasi, saling berinteraksi, dan saling bergantung satu sama lain (Hanif Al Fatta, 2009:4).
8
9
II.2.
Pakar Pakar adalah seseorang yang memiliki kemampuan khusus terhadap suatu
permasalahan, misalnya: dokter, petani, ahli permesinan, dan lain-lain (Nita, 2012:1).
II.2.1. Ciri – ciri Pakar Ciri – ciri Pakar ialah sebagai berikut : 1. Dapat mengenali dan merumuskan masalah. 2. Menyelesaikan masalah dengan cepat dan tepat. 3. Belajar dari pengalaman. 4. Restrukturisasi pengetahuan. 5. Menentukan relevansi. II.3.
Sistem Pakar
II.3.1. Pengertian Sistem Pakar Menurut Durkin, Sistem Pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan seornag pakar (Nita, 2012:1).
II.3.2. Manfaat Sistem Pakar Manfaat dan kemampuan sistem pakar adalah sebagai berikut: 1. Meningkatkan output dan produktivitas. 2. Menurunkan waktu pengambilan keputusan. 3. Meningkatkan kualitas dan produk.
10
4. Fleksibilitas. 5. Peningkatan pemecahan masalah dan pengambila keputusan. 6. Meningkatkan kualitas keputusan. 7. Kemampuan untuk memecahkan persoalan kompleks. 8. Transfer pengetahuan ke lokasi terpencil. II.3.3. Ciri – Ciri Sistem Pakar Ciri – ciri dari Sistem Pakar dalah sebagai berikut, 1. Terbatas pada domain keahlian tertentu. 2. Dapat memberikan penalaran untuk data- data yang tidak lengkap atau tidak pasti. 3. Dapat menjelaskan alasan – alas an dengan cara yang dapat dipahami. 4. Bekerja berdasarkan kaidah/ rule tertentu. 5. Mudah dimodifikasi. 6. Basis pengatahuan dan mekanisme inferensi terpisah. 7. Keluarannya bersifat anjuran. 8. Sistem dapat mengaktifkan kaidah secara searah yang sesuai, dituntun oleh dialog dengan pengguna (T.Sutojo,dkk; 2011: 162).
II.3.4. Keterbatasan Sistem Pakar Sistem pakar memiliki kelemahan, diantaranya: 1. Pengetahuan tidak selalu siap sedia. 2. Akan sulit mengekstrak keahlian dari manusia.
11
3. Pendekatan tiap pakar pada suatu penilaian situasi mungkin berbeda, tetapi benar. 4. Sulit, bahkan bagi pakar berkemampuan tinggi untuk mengikhtisarkan penilaian situasi yang baik pada saat berada dalam tekanan waktu. 5. Penggunaan sistem pakar memiliki batasan kognitif alami. 6. Sistem Pakar bekerja dengan baik hanya dalam domain pengetahuan sempit. 7. Kebanyakan pakar tidak memiliki sarana mandiri untuk memeriksa apakah kesimpulannya masuk akal. 8. Kosa kata yang digunakan pakar untuk menyatakan fakta dan hubungan. II.3.5. Konsep Dasar Sistem Pakar Konsep dasar sistem pakar meliputi enam hal berikut ini: II.3.5.1. Kepakaran (Expertise) Kepakaran merupakan suatu pengetahuan yang diperoleh dari pelatihan, membaca dan pengalaman. Kepakaran inilah yang memungkinkan para ahli dapat mengambil keputusan lebih cepat dan lebih baik daripada seseorang yang bukan pakar. Kepakaran itu sendiri meliputi pengetahuan tentang. 1.
Fakta-fakta tentang bidang permasalahan tertentu.
2.
Teori-teori tentang bidang permasalahan tertentu.
3.
Aturan-aturan dan prosedur-prosedur menurut bidang permsalahan umumnya.
4.
Atuan heuristic yang harus dikerjakan dalam suatu situasi tertentu.
5.
Strategi global untuk memcahkan permasalahan
6.
Pengetahuan tentang pengetahuan ( meta knowledge ).
12
II.3.5.2. Pakar (Expert) Pakar adalah seseorang yang mempunyai pengetahuan, pengalaman dan metode khusus serta mampu menerapkannya untuk memecahkan masalah atau memberi nasehat. Seorang pakar harus mampu menjelaskan dan mempelajari halhal baru yang berkaitan dengan topik permasalahan, jika perlu harus mampu menyusun kembali pengetahuan-pengetahuan yang didapatkan dan dapat memecahkan aturan-aturan serta menentukan relevansi kepakarannya. Jadi seorang pakar harus mampu melakasanankan kegiatan-kegiatan berikut ini: 1.
Mengenali dan memformulasikan permasalahan.
2.
Memecahkan permasalahan secara cepat dan tepat.
3.
Menerangkan pemecahannya.
4.
Belajar dari pengalaman.
5.
Merestrukturasikan pengetahuan.
6.
Memecahkan aturan-aturan.
7.
Menentukan relevansi.
II.3.5.3. Pemindahan Kepakaran ( Transfering Expertisi ) Tujuan dari Sistem Pakar adalah memindahkan kepakaran dari seorang pakar ke dalam komputer, kemudian kepada orang lain yang bukan pakar. Proses ini melibatkan empat kegiatan, yaitu: 1.
Akuisisi pengetahuan ( dari pakar atau sumber lain ).
2.
Representase pengetahuan ( pada komputer ).
3.
Inferensi pengetahuan.
4.
Pemindahan pengetahuan ke pengguna.
13
II.3.5.4. Inferensi ( Inferencing ) Inferensi adalah sebuah prosedur ( program ) yang mempunyai kemampuan dalam melakukan penalaran. Inferensi ditampilkan pada suatu komponen yang disebut mesin inferensi yang mencangkup prosedur-prosedur mengenai pemecahan masalah. Semua pengetahuan yang dimiliki oleh seorang pakar disimpan pada basis pengetahuan oleh sistem pakar. Tugas mesih adalah mengammbil kesimpulan berdasarkan basis pengetahuan. II.3.5.5. Aturan-aturan ( Rules ) Kebanyakan software pakar komersil adalah sistem yang berbasis rule ( rule-based system ), yaitu pengetahuan disimpan terutama dalam bentuk rule, sebagai prosedure pemecahan masalah. II.3.5.6. Kemampuan Menjelaskan ( Explanation Capability ) Fasilitas lain dari sistem pakar adalah kemampuannya untuk menjelaskan saran atau rekomendasi yang diberikannya. Penjelasan dilakukan dalam subsistem yang disebut subsistem penjelasan ( explanation ). Bagian dari sistem ini memungkinkan sistem untuk memeriksa penalaran yang dibuatnya sendiri dan menjelaskan operasi-operasinya. II.3.6. Fitur fitur Sistem Pakar Sistem pakar harus memiliki fitur, yaitu sebagai berikut: 1. Keahlian. Sistem pakar harus memiliki keahlian yang akan memungkinkan sistem membuat keputusan tingkat pakar. Sistem harus menampilkan performa pakar dan kekuatan yang cukup.
14
2. Pertimbangan Simbolik. Pengetahuan harus direpresentasikan secara simbolik dan mekanisme pertimbangan primer juga harus simbolik. Mekanisme pertimbangan simbolik biasanya menyertakan backward chaining dan forward chaining. 3. Deep Knowledge (kedalaman pengetahuan). Basis pengetahuan harus berbasis pengetahuan yang kompleks yang tidak mudah diperoleh dari nonpakar. 4. Self-Knowledge. Sistem apkar harus dapat menganalisis pertimbangannya sendiri danmenjelaskan mengapa dicapai suatu kesimpulan. II.3.7. Perbandingan Sistem Konvensional dengan Sistem Pakar Sistem konvensional berbeda dengan Sistem Pakar, berikut adalah perbandingan sistem konvensional dan Sistem Pakar. 1.
Sistem Konvensional Informasi dan pemrosesannya biasanya jadi satu dengan program.
Biasanya tidak bisa menjelaskan mengapa suatu input data itu dibutuhkan atau bagaimana output itu diperoleh. Pengbahan program cukup sulit dan membosankan. Sistem hanya akan beroperasi jika sistem tersebut sudah lengkap. Eksekusi dilakukan langkah demi langkah menggunakan data. Tujuan utamanya adalah efisiensi.
2.
Sistem Pakar Basis pengetahuan merupakan bagian dari mekanisme inferensi.
Penjelasan adalah bagian terpenting dari Sistem Pakar. Pengubahan aturan dapat
15
dilaksanakan dengan mudah. Sistem dapat beoperasi hanya dengan beberapa aturan. Eksekusi dilakukan pada keseluruhan basis pengetahuan. Menggunakan pengetahuan, tujuan utamanya adalah efektivitas. Karakteristik dan kemampuan yang dimiliki oleh sistem pakar berbeda dengan sistem konvensional. Perbedaan ini ditunjukkan pada Tabel II.1 Tabel II.1 Perbandingan antara Sistem Konvensional dengan Sistem Pakar Sistem Konvensional Informasi biasanya
dan
Sistem Pakar
pemprosesannya Basis pengetahuan diposahkan secara
digabungkan
dalam
satu jelas dengan mekanisme inferensi.
program. Program tidak membuat kesalah ( yang Program dapat berbuat kesalahan. membuat kesalahan: Pemrogram atau Pengguna). Biasanya tidak menjelaskan mengapa Penjelasan data
masukan
diperlakukan
merupakan
bagian
atau terpenting dari semua sistem pakar.
bagaimana output dihasilkan. Perubahan
program
menyulitkan.
sangat Perubahan dalam aturan-aturan mudah untuk dilakukan.
Sistem hanya bisa beroperasi setelah Sistem dapat beroperasi hanya dengan lengkap atau selesai.
aturan-aturan yang sedikit ( sebagai
16
prototipe awal ). Eksekusi
dilakukan
berdasarkan Eksekusi
langkah demi langkah ( algoritmatic ).
dilakukan
dengan
menggunkaan heuristic dan logika pada seluruh basi pengetahuan.
Perlu informasi lengkap agar bisa Dapat beroperasi dengan infomasi yang beroperasi.
tidak
lengkap
atau
mengandung
ketidakpastian. Menaipulasi efektif dari basis data yang Manipulasi
efektif
dari
besar.
pengetahuan yang besar.
Menggunkan data.
Menggunakan pengetahuan.
Tujuan utama efisiensi.
Tujuan utama efektivitas.
Mudah
berurusan
dengan
kuantutatif. Menagkap,
data
Mudah
berurusan
data
kulaitatif. menambah
dan Menangkap,
mendistribusikan akses ke data numerik mendistribusikan atau informasi.
dengan
basis
menambah
dan
akses
ke
pertimbangan dan pengetahuan. Sumber: (T. Sutejo, 2011:165)
17
II.4.
Forward Chaining Metode inferensi dalam Sistem Pakar adalah bagian yang menyediakan
mekanisme fungsi berpikir dan pola-pola penalaran sistem yang digunakan oleh seorang pakar. 1. Metode ini akan mengeanlisis masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik. 2. Metode ini akan memulai pelacakannya dengan mencocokkan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data. Forward chaining adalah pendekatan data-driven yang dimulai dari informasi yang tersedia atau dari ide dasar, kemudian mencoba menarik kesimpulan (Nita, 2012:22). Adapun cara kerja mesin inferensi forward chaining ditunjukkan pada gambar II.1
Gambar II.1 : Cara Kerja Mesin Inferensi Forward Chaining (Sumber : Nita, 2012:22)
18
II.5. Penyakit Kelinci Penyakit tidak mudah menyerang tanpa ada kesempatan untuk menyerang kelinci dan berkembang sehinnga menyebabkan kerugian pada peternak. Faktor penyebab timbulnya penyakit ada beberapa hal, misalnya: 1.
Kelengahan dalam melakukan sanitasi, penceghan terhadap serangan penyakit, serta penjagaan kesehatan dalam hubungan kebersihan kandang dan lingkungannya.
2. Pemberian ransum berkualitas jelek atau rusak. 3. Volume ransum kurang. 4. Air minum kurang, kotor, dan tercemar penyakit. 5. Kekurangan zat-zat yang dibutuhkan. 6. Tidak mempunyai atau tidak menguasai program pengelolaan serta pengetahuan tentang kelinci (sanitasi, vaksinasi, perkandangan, nutrisi, pengembangbiakan, dan sebagainya). 7. Adanya kelinci carrier yang masuk lokasi perkandangannya. 8. Faktor alam (musim, cuaca, dan sebagainya). 9. Tidak menguasai pengetahuan tentang penyakit kelinci. Dengan menguasai faktor penyebab penyakit, akan mudah menangani penyakit yang menyerang kelincinya. Artinya, mencegah maupun mengobati penyakit yang mungkin akan atau sedang menyerang kelincinya. Kelinci sakit menunjukkan gejala yang cukup mencolok, antara lain lesu, nafsu makan hilang, mata sayu, dan suhu badan naik-turun. Pada umumnya, pencegahan serta pengendalian hama dan penyakit dilakukan dengan menjaga
19
kebersihan lingkungan kandang, pemberian pakan yang sesuai dan memenuhi gizi, serta penyingkiran (isolasi) sesegera mungkin kelinci yang sakit. Hama pada kelinci umumnya merupakan predator dari kelinci, yaitu anjing, sedangkan berbagai penyakit yang menyerang pada kelinci, yaitu: II.5.1. Coccidiosis Peyakit ini terutama menyerang kelinci yang dipelihara diatas lantai. Penyebabnya adalah parasit, yaitu protozoa Eimeria yang menyerang usus atau hati. Parasit yang menyerang hati banyak menyebabkan kematian pada anak kelinci. Hati yang terserang penyakit demikian akan terlihat bercak – bercak putih jika dibedah. Coccidiosis ada 2 jenis, yaitu: a.
Intestinal Coccidiosis, bersifat akut.
b.
Hepatic Coccidiosis, bersifat kronis dan banyak menyerang anak kelinci yang akan mati 3 – 4 minggu sejak terinfeksi. Gejala yang terlihat:
a.
Nafsu makan turun.
b.
Lesu, kurus, dan berat badan turun.
c.
Diare bercampur darah atau berlendir putih.
d.
Gigi berkerot – kerot (menahan sakit).
II.5.2. Kudis Penyebab kudis adalah kutu Sarcoptes scabiei, sehingga penyakitnya disebut scabiesiosis atau kudis. Kutu kudis berbentuk hampir bukat dan berkaki
20
empat pasang. Kutu jantan berukuran 0,2-0,24 mm, sementara betina 0,33-0,6 mm. Kutu ini berkembang biak dengan bertelur. Telur menetas sekitar 5 hari. Gejala yang terlihat: a.
Kulit kemerah-merahan.
b.
Bulu rontok.
c.
Kurus.
d.
Nafsu makan menurun.
e.
Tubuhnya digosok-gosokan.
II.5.3. Penyakit Telinga atau Radang Telinga Penyakit ini disebabkan oleh kutu yang hidup di permukaan kulit sebelah dalam telinga. Gejala yang terlihat: a.
Cairan keluar dari jaringan yang rusak.
b.
Kepala sering digoyang-goyangkan.
c.
Pangkal telinga bagian dalam terlihat endapan sisik warna kekuningkuningan.
d.
Daun telinga digosok-gosokkan.
II.5.4. Penyakit Mata atau Radang Mata Penyakit ini disebabkan oleh bakteri atau karena debu, kotoran, gas amonia, atau asap yang dapat menyebabkan luka pada selaput mata. Gejala yang terlihat: a.
Radang berwarna merah pada kelopak atau selaput mata.
21
b.
Mata mengeluarkan cairan atau nanah.
c.
Bulu sekitar mata basah.
II.5.5. Mastitis/ Radang Susu/ Young Doe Syndrome Penyakit ini biasanya disebabkan oleh bakteri Staphylococcus aureus. Gejala yang terlihat: a.
Suhu badan tinggi.
b.
Air susu terasa panas dan berwarna keruh.
c.
Puting susu berwarna merah tua, bengkak, dan keras.
d.
Tidak mau menyusui anaknya.
e.
Nafsu makan menurun.
II.5.6. Pilek atau Coryza Penyakit ini disebabkan oleh virus atau bakteri. Gejala yang terlihat: a.
Hidung kelinci mengeluarkan lendir dan bersin-bersin.
b.
Kaki depan selalu berusaha mengaruk hidung.
c.
Kaki dan bulu badannya basah.
d.
Mata sembab, basah, dan berair.
II.5.7. Radang paru-paru atau Pneumonia Penyakit ini umumnya menyerang kelinci dengan kondisi badan agak menurun, terutama induk yang menjelang melahirkan anak kedua atau ketiganya. Penyakit ini disebabkan oleh bakteri Pasteurella multocida. Gejala yang terlihat:
22
a.
Kepala sering diangkat tinggi-tinggi.
b.
Mata dan telinga kebiru-biruan.
c.
Kotorannya encer.
II.5.8. Berak Darah Penyebab penyakit ini adalah protozoa Eimeria. Gejala yang terlihat: a.
Nafsu makan menurun.
b.
Perut membesar.
c.
Diare berdarah.
II.5.9. Sembelit atau Konstipasi Gejala yang terlihat: a.
Tidak dapat berak.
b.
Kencing yang keluar sedikit.
c.
Kelinci terlihat sangat gelisah.
II.5.10. Enteritis Kompleks Penyakit ini menyerang alat penceranaan dan menjadi pebab kematian paling umum pada kelinci di peternakan. Korbannya anak-anak kelinci yang masih menyusu. Pada anak kelinci yang sembuh dari penyakit ini, pertumbuhan selanjutnya kurang baik. Di kalangan peternak, penyakit demikian dikenal dengan beberapa nama, antara lain: kembung, mencret, dan bloat. Gejala yang terlihat: a.
Kelinci berdiri dengan posisi membungkuk.
23
b.
Kaki depan agak maju.
c.
Daun telinga turun dan mata suram meruncing.
d.
Gigi berkerokot menahan sakit.
e.
Kotoran berwarna hijau gelap, bau, dan lendir menggantung pada dubur.
II.6.
PHP PHP atau kependekan dari Hypeetext Preprocessor adalah satu bahasa
pemograman open source yang sangat cocok untuk pengembangan Web dan dapat ditanamkan pada sebuah skrip HTML (Hirin, 2011:26). Bahasa PHP dapat dikatakan menggambarkan beberapa bahasa pemograman seperti C, Java dan Perl serta mudah untuk dipelajari. PHP diciptakan untuk mempermudah pengembangan web dalam menulis halaman web dinamis dengan cepat, bahkan lebih dari itu kita dapat mengeksplorasi hal-hal yang luar biasa dengan PHP. Sehingga dengan demikian PHP sangat cocok untuk para pemula, menegah maupun expert sekalipun.
II.7.
MySQL MySQL adalah salah satu perangkat lunak sistem manajemen basis data
(database) SQL atau sering disebut DBMS (Database Management System) (Hirin, 2011:27). Berbeda dengan basis data konvensional seperti .dat, .dbf, .mdb, MySQL memiliki kelebihan yaitu bersifat multithread dan multi-user serta mendukung sistem jaringan. MySQL didistribusikan secara gratis dibawah lisensi GNU General Public License (GPL), namun ada juga versi komersial bagi kalangan tertentu yang menginginkannya.
24
II.8.
UML (Unified Modelling Language) UML (Unified Modeling Language) adalah keluarga notasi grafis yang
didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (OO) (Martin Fowler ,2007:1). Definisi ini merupakan definisi yang sederhana. Pada kenyataannya, pendapat orang-orang tentang UML berbeda satu sama lain. Hal ini dikarenakan oleh sejarahnya sendiri dan oleh perbedaan persepsi tentang apa yang membuat sebuah proses rancangbangun perangkat lunak efektif. UML lahir dari penggabungan banyak bahasa pemodelan grafis berorientasi objek yang berkembang pesat pada akhir 1980-an dan awal 1990-an. II.8.1. Use Case Diagram Use case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use case mendeskripsikan interkasi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memeri sebuah narasi tentang bagaimana sistem tersebut digunakan. Daripada mendeskripsikan use case secara langsung, akan lebih mudah jika mengintipnya kemudian dan mulai dengan menjabarkan skenario. Skenario adalah rangkaian langkah – langkah yang menjabarkan sebuah interaksi antara seorang pengguna dengan sebuah sistem. Dalam bahasan use case, para pengguna disebut sebagai aktor. Aktor merupakan sebuah peran yang dimainkan seorang pengguna dalam kaitannya
25
dengan sistem. Seorang aktor dapat menggunakan banyak use case, sebaliknya, sebuah use case juga dapat digunakan oleh beberapa aktor. Aktor tidak harus manusia. Jika sebuah sistem melakukan sebuah layanan untuk sistem komputer lain, sistem lain tersebut merupakan aktor. Setiap use case memiliki aktor utama yang meminta sistem untuk meberi sebuah layanan. Aktor utama adalah aktor dengan tujuan yang akan dipenuhi use case dan biasanya, tetapi tidak selalu, merupakan inisiator use case. Selain itu, terdapat banyak aktor lain yang berkomunikasi dengan sistem pada saat menjalankan use case. Mereka dikenal sebagai aktor sekunder. Berikut adalah sismbol – simbol yang ada pada diagram use case : Tabel II.2 Simbol – simbol Pada Use Case
Simbol Use case
Deskripsi Fungsionalitas yang disediakan sistem
Nama usecase
sebagai unit – unit yang saling bertukar pesan antar unit atau actor; biasanya ditanyakan dengan menggunakan kata kerja di awal frase nama use case.
Aktor
Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat itu sendiri, jadi nama aktor
walaupun simbol dari actor adalah gambar orang, tapi actor belum tentu
26
merupakan orang; biasanya dinyatakan menggunakan kata benda diawal frase nama actor. Asosiasi/ association
Komunikasi antara actor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan kator.
Extend
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu; mirip dengan prinsip inheritance
pada
pemrograman
berorientasi objek; biasanya use case tambahan memiliki nama depan yang sama
dengan
use
case
yang
<<extend>> ditambahkan, arah panah menunjuk pada use case yang dituju. Contoh : Update data dosen
<<extend>>
Input data dosen
Include
Relasi use case tambahan kesebuah use case dimana use case yang yang
27
<
>
ditambahkan memerlukan use case ini untuk
menjalankan
fungsinya
atau
sebagai syarat dijalankan use case ini. Ada dua sudut pandang yang cukup besar mengenai include di use case, include
berarti
use
case
yang
ditambahkan akan selalu dipanggil saat use case tambahan dijalankan, contoh :
Kartu anggota
pendaftaran
<>
Sumber: (Yuni Sugiarti, 2013:42)
II.8.2. Class Diagram Class diagram mendeskripsikan jenis – jenis objek dalam sistem dan berbagai hubungan statis yang terdapat di antara mereka. Class diagram juga menunjukkan properti dan operasi sebuah kelas dan batasan – batasan yang terdapat dalam hubungan – hubungan objek tersebut. Class memiliki apa yang di sebut atribut dan metode atau operasi. 1.
Atribut merupakan variabel- variabel yang di miliki oleh suatu kelas.
2.
Atribut mendeskripsikan properti dengan sebaris teks di dalam kotak kelas tersebut.
3.
Operasi atau metode adalah fungsi – fungsi yang di miliki oleh suatu kelas.
28
Tabel II.3 Simbol – simbol Class Diagram Simbol Package
Deskripsi Package merupakan sebuah bungkusan dari satu atau lebih kelas
Package Operasi
Kelas pada struktur sistem
Nama kelas +Atribute1 +Attribute2 +Operation 1() Antarmuka / interface
Sama dengan konsep interface dalam pemrograman berorientasi objek
Interface Asosiasi
Relasi antar kelas dengan makna umum, asosiasi
1
1..*
biasanya juga disertai dengan multiplicity.
Asosiasi
berarah/directed Relasi antar kelas dengan makna kelas yang satu di
asosiasi
gunakan oleh kelas yang lain, asosiasi biasanya juga di sertai dengan multiplicity.
Generalisasi
Relasi antar kelas dengan makna generalisasi – spesialisasi (umum khusus).
Kebergantungan
/ Relasi antar kelas dengan makna kebergantungan
defedency
antar kelas
Agregasi
Relasi antar kelas dengan makna semua bagian (whole-part) Sumber : (Yuni Sugiarti ; 2013 :59)
29
II.8.3. Sequence Diagram Interaction diagram menunjukkan bagaimana kelompo – kelompok objek saling berkolaborasi dalam beberapa behavior. UML memiliki beberapa bentuk interaction diagram dan yang paling umum digunakan adalah sequence diagram. Sebuah sequence diagram, secara khusus, menjabarkan behavior sebuah skenario tunggal. Diagram tersebut menunjukkan sejumlah objek contoh dan pesan – pesan yang melewati objek – objek ini dalam use case.
Name 1
Name 2
Nasabah Participant (Obyek)
Activation
Message Lifeline
Gambar II.2 Simbol Squence Sumber : (Yuni Sugiarti, 2013)
30
II.8.4. Activity Diagram Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Dalam beberapa hal, diagram ini memainkan peran mirip sebuah diagrma alir, tetapi perbedaan prinsip antara diagram ini dan notasi diagram alir adalah diagram ini mendukung behavior paralel. [no coffee] decesion Find Beverage
Start Get Can of cola Put coffee in filter
Get Cus Add Water to Reserver
[no cola] Put Filter in Machine This eample is rom UML Disliled by Martin Fowler.P130 Turn On Machine
Brew Coffes
Pour Coffe
Drink Beverage
Gambar II.3 Activity Diagram Sumber : (Yuni Sugiarti, 2013)
31
II.9.
ERD (Entity Relationship Diagram) Pada dasarnya ERD (Entity Relationship Diagram) adalah sebuah diagram
yang secara konseptual memetakan hubungan antar penyimpanan pada diagram DFD di atas. ERD ini digunakan untuk melakukan permodelan terhadap struktur data dan hubungannya. Penggunaan ERD ini dilakukan untuk mengurangi tingkat kerumitan penyusunan sebuah database yang baik. Entity dapat berarti sebuah obyek yang dapat dibedakan dengan obyek lainnya. Obyek tersebut dapat memiliki komponen – komponen data (atribut atau field) yang membuatnya dapat dibedakan dari obyek yang lain. Dalam dunia database entity memiliki atribut yang menjelaskan karakteristik dari entity tersebut. Ada dua macam atribut yang dikenal dalam entity yaitu atribut yang berperan sebagai kunci primer dan atribut deskriptif. Hal ini berarti setiap entity memiliki himpunan yang diperlukan sebuah primary key untuk membedakan anggota – anggota dalam himpunan tersebut. Atribut dapat memiliki sifat – sifat sebagai berikut : -
Atomic, atomik adalah sifat dari atribut yang menggambarkan bahwa atribut tersebut berisi nilai yang spesifik dan tidak dapat dipecah lagi. Contoh dari sifat atomik adalah field status dari tabel karyawan yang hanya berisi menikah atau single.
-
multivalued, sifat ini menandakan atribut ini bisa memiliki lebih dari satu nilai untuk tiap entity tertentu. Misalnya adalah field hobi, hobi dari tiap karyawan mungkin dan hampir pasti lebih dari satu. Misalnya karyawan A memiliki hobi : membaca, nonton TV dan bersepeda.
32
-
Composite, atribut yang bersifat komposit adalah atribut yang nilainya adalah gabungan dari beberapa atribut yang bersifat atomik. Contohnya adalah atribut alamat yang dapat dipecah menjadi atribut atomik berupa alamat, kode pos, no telepon, dan kota, (Wahana Komputer ; 2010 : 30).
II.9.1. Simbol-simbol ERD (Entity Relationship Diagram) Adapaun simbol-simbol ERD ( Entity Relationship Diagram ) ditunjukkan pada tabel II.4. Tabel II.4. Simbol-simbol ERD (Entity Relationship Diagram) Simbol Entitas/ entity Nama_entitas
Atribut
Deskripsi Entitas merupakan data inti yang akan disimpan; bakal tabel pada basis data
Field atau kolom data yang perlu disimpan Nama_atribut
Atribut kunci primer
dalam suatu entitas
Field atau kolom data yang butuh disimpan dalam suatu entitas dan digunakan sebagai
Nama_kunci Primer kunci akses record
yang diinginkan;
biasanya berupa id Atribut multinal/ multivalue Nama_atribut
Field atau kolom data yang butuh disimpan dalam suatu entitas yang dapat memiliki nilai lebih dari satu
33
Relasi
Relasi yang menghungkan antarentitas; relasi biasanya diawali dengan kata kerja
Nama_relasi
Asosiasi/ Association
Penghubung antar relasi dan entitas dimana di kedua
1
ujungnya
memiliki
multiplicity
0..* kemungkinan jumlah pemakaian
Sumber: ( Janner Simarmata, 2007:112)
II.10. Normalisasi Salah satu topik yang cukup kompleks dalam dunia manajemen database adalah proses untuk menormalisasi tabel-tabel dalam database relasional. Dengan normalisasi kita ingin mendesain database relasional yang terdiri dari tabel-tabel berikut : 1.
Berisi data yang diperlukan.
2.
Memiliki sesedikit mungkin redundansi.
3.
Mengakomodasi banyak nilai untuk tipe data yang diperlukan.
4.
Mengefisienkan update.
5.
Menghindari kemungkinan kehilangan data secara tidak disengaja/tidak diketahui. Alasan utama dari normalisasi database minimal sampai dengan bentuk
normal ketiga adalah menghilangkan kemungkinan adanya “insertion anomalies”,
34
“deletion anomalies”, dan “update anomalies”. Tipe-tipe kesalahan tersebut sangat mungkin terjadi pada database yang tidak normal. II.5.1. Bentuk-bentuk Normalisasi a.
Bentuk tidak normal Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti format tertentu, dapat saja tidak lengkap dan terduplikasi. Data dikumpulkan apa adanya sesuai keadaanya.
Gambar II.4. Bentuk Tidak Normal (Sumber : E. Utami dan S. Raharjo ; 2006 : 34) b.
Bentuk normal tahap pertama (1” Normal Form) Definisi : Sebuah table disebut 1NF jika : - Tidak ada baris yang duplikat dalam tabel tersebut. - Masing-masing cell bernilai tunggal Catatan: Permintaan yang menyatakan tidak ada baris yang duplikat dalam sebuah tabel berarti tabel tersebut memiliki sebuah kunci, meskipun kunci
35
tersebut dibuat dari kombinasi lebih dari satu kolom atau bahkan kunci tersebut merupakan kombinasi dari semua kolom.
Gambar II.5. Bentuk Normal Pertama (Sumber : E. Utami dan S. Raharjo ; 2006 : 35) c.
Bentuk normal tahap kedua (2nd normal form) Bentuk normal kedua (2NF) terpenuhi jika pada sebuah tabel semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional pada primary key secara utuh.
36
Gambar II.6. Bentuk Normal Kedua (Sumber : E. Utami dan S. Raharjo ; 2006 : 38) d.
Bentuk normal tahap ketiga (3rd normal form) Sebuah tabel dikatakan memenuhi bentuk normal ketiga (3NF), jika untuk setiap ketergantungan fungsional dengan notasi X -> A, dimana A mewakili semua atribut tunggal di dalam tabel yang tidak ada di dalam X, maka : - X haruslah superkey pada tabel tersebut. - Atau A merupakan bagian dari primary key pada tabel tersebut.
Gambar II.7. Bentuk Normal Ketiga (Sumber : E. Utami dan S. Raharjo ; 2006 : 40)
37
e.
Bentuk Normal Tahap Keempat dan Kelima Penerapan aturan normalisasi sampai bentuk normal ketiga sudah memadai untuk menghasilkan tabel berkualitas baik. Namun demikian, terdapat pula bentuk normal keempat (4NF) dan kelima (5NF). Bentuk Normal keempat berkaitan
dengan
sifat
ketergantungan
banyak
nilai
(multivalued
dependency) pada suatu tabel yang merupakan pengembangan dari ketergantungan fungsional. Adapun bentuk normal tahap kelima merupakan nama lain dari Project Join Normal Form (PJNF). f.
Boyce Code Normal Form (BCNF) - Memenuhi 1st NF - Relasi harus bergantung fungsi pada atribut superkey (Kusrini ; 2007 : 3943).