BAB II TINJAUAN PUSTAKA
II.1. Sistem Pakar Sistem pakar (expert system) merupakan salah satu area atau bidang dalam kecerdasan buatan (Artificial Intelligence / AI) yang menggabungkan pengetahuan dan penelusuran data untuk memecahkan masalah dan secara normal memerlukan keahlian manusia. Tujuan pengembangan sistem pakar sebenarnya adalah bukan untuk menggantikan peran manusia, tetapi untuk mensubstitusikan pengetahuan manusia kedalam bentuk sistem, sehingga dapat digunakan oleh banyak orang (Anonim ; 2009 : 3). Menurut Rika Rosnelly (2012) bidang sistem pakar merupakan penyelesaian pendekatan yang sangat berhasil dan bagus untuk permasalahan AI klasik dari pemograman Intelligent (cerdas). Sistem Pakar adalah sistem komputer yang ditujukan untuk meniru semua aspek (emulates) kemampuan pengambilan keputusan (decision making) seorang pakar (Rika Rosnelly ; 2012 : 2). Sistem pakar memanfaatkan secara maksimal pengetahuan khusus selayaknya seorang pakar untuk memecahkan masalah (Rika Rosnelly ; 2012 : 2). Ada berbagai ciri dan karakteristik yang membedakan sistem pakar dengan sistem yang lain. Ciri dan karakteristik ini menjadi pedoman utama dalam pengembangan sistem pakar. Menurut Anonim (2009) ciri dan karakteristik yang dimaksud adalah sebagai berikut :
11
12
1.
Pengetahuan sistem pakar merupakan suatu konsep, bukan berbentuk numeris. Hal ini dikarenakan komputer melakukan proses pengolahan data secara numerik sedangkan keahlian dari seorang pakar adalah fakta dan aturan-aturan, bukan numerik.
2.
Informasi dalam sistem pakar tidak selalu lengkap, subyektif, tidak konsisten, subyek terus berubah dan tergantung pada kondisi lingkungan sehingga keputusan yang diambil bersifat tidak pasti dan tidak mutlak “ya” atau “tidak” akan tetapi menurut ukuran kebenaran tertentu. Oleh karena itu dibutuhkan kemampuan sistem pakar belajar secara mandiri dalam menyelesaikan masalah-masalah dengan pertimbangan-pertimbangan khusus.
3.
Kemungkinan solusi sistem pakar terhadap suatu permasalahan adalah bervariasi dan mempunyai banyak pilihan jawaban yang dapat diterima, semua faktor yang ditelusuri memiliki ruang masalah yang luas dan tidak pasti. Oleh karena itu diperlukan fleksibilitas sistem dalam menangani kemungkinan solusi dari berbagai permasalahan.
4.
Perubahan atau pengembangan pengetahuan dalam sistem pakar dapat terjadi setiap saat bahkan sepanjang waktu sehingga diperlukan kemudahan dalam modifikasi sistem untuk menampung jumlah pengetahuan yang semakin besar dan bervariasi.
5.
Pandangan dan pendapat setiap pakar tidaklah selalu sama, oleh karena itu tidak ada jaminan bahwa solusi sistem pakar merupakan
13
jawaban
yang
pasti
benar.
Setiap
pakar
akan
memberikan
pertimbangan-pertimbangan berdasarkan faktor subyektif. 6.
Keputusan merupakan bagian yang terpeting dari sistem pakar. Sistem pakar harus memberikan solusi yang akurat berdasarkan masukan pengetahuan meskipun solusinya sulit sehingga fasilitas informasi sistem harus selalu diperlukan.
II.1.1. Kelebihan Sistem Pakar Sistem pakar merupakan perangkat lunak atau program komputer yang ditujukan sebagai sarana bantu dalam memecahkan masalah dibidang-bidang spesialisasi tertentu seperti kedokteran, pendidikan, dan sebagainya. Sistem pakar menjadi sangat populer karena sangat banyak kemampuan dan manfaat yang diberikannya. Menurut Rika Rosnelly (2012) sistem pakar memiliki beberapa fitur menarik yang merupakan kelebihannya, seperti : 1. Meningkatkan ketersediaan (increased availability). Kepakaran atau keahlian menjadi tersedia dalam sistem komputer. Dapat dikatakan bahwa sistem
pakar
merupakan
produksi
kepakaran
secara
masal
(massproduction). 2. Mengurangi biaya (reduced cost). Biaya yang diperlukan untuk menyediakan keahlian per satu orang user menjadi berkurang. 3. Mengurangi bahaya (reduced danger). Sistem pakar dapat digunakan di lingkungan yang mungkin berbahaya bagi manusia. 4. Permanen (permanence). Sistem pakar dan pengetahuan yang terdapat di dalamnya bersifat lebih permanen dibandingkan manusia yang dapat
14
merasa lelah, bosan, dan pengetahuannya hilang saat sang pakar meninggal dunia. 5. Keahlian multipel (multiple expertise). Pengetahuan dari beberapa pakar dapat dimuat kedalam sistem dan bekerja secara simultan dan kontinyu menyelesaikan suatu masalah setiap saat. Tingkat keahlian atau pengetahuan yang digabungkan dari beberapa pakar dapat melebihi pengetahuan satu orang pakar. 6. Meningkatkan
kehandalan
(increased
reliability).
Sistem
pakar
meningkatkan kepercayaan dengan memberikan hasil yang benar sebagai alternatif pendapat dari seorang pakar atau sebagai penengah jika terjadi konflik antara beberapa pakar. Namun hal tersebut tidak berlaku jika sistem dibuat oleh salah seorang pakar, sehingga akan selalu sama dengan pendapat pakar tersebut kecuali jika sang pakar melakukan kesalahan yang mungkin terjadi pada saat tertekan atau stres. 7. Penjelasan (explanation). Sistem pakar dapat menjelaskan detail proses penalaran (reasoning) yang dilakukan hingga mencapai suatu kesimpulan. Seorang pakar mungkin saja terlalu lelah, tidak bersedia atau tidak mampu melakukannya setiap waktu. Hal ini akan meningkatkan tingkat kepercayaan bahwa kesimpulan yang dihasilkan adalah benar. 8. Respon yang cepat (fast response). Respon yang cepat atau real time diperlukan pada beberapa aplikasi. Meskipun bergantung pada hardware dan software yang digunakan, namun sistem pakar relatif memberikan respon yang cepatdibandingkan seorang pakar.
15
9. Stabil, tidak emosional, dan memberikan respon yang lengkap setiap saat (steady, unemotional, and complete response at all times). Karakteristik ini diperlukan pada situasi real-time dan keadaan darurat (emergency) ketika seorang pakar mungkin tidak berada pada posisi puncak disebabkan oleh stres atau kelelahan. 10. Pembimbing pintar (intelligent tutor). Sistem pakar dapat berperan sebagai intelligent tutor dengan memberikan kesempatan pada user untuk menjalankan contoh program dan menjelaskan proses reasoning yang dilakukan. 11. Basis data cerdas (intelligent database). Sistem pakar dapat digunakan untuk mengakses basis data secara cerdas. II.1.2. Pakar Pakar atau ahli (expert) didefinisikan sebagai seseorang yang memiliki pengetahuan atau keahlian khusus yang tidak dimiliki oleh kebanyakan orang. Pakar adalah seseorang individu yang mempunyai pengetahuan khusus, pemahaman,
pengalaman,
dan
metode-metode
yang
digunakan
untuk
memecahkan persoalan dalam bidang tertentu (Rika Rosnelly ; 2012 : 10). Menurut Rika Rosnelly (2012) seorang pakar memiliki kemampuan kepakaran, yaitu : 1. Dapat mengenali dan merumuskan suatu masalah. 2. Menyelesaikan masalah dengan cepat dan tepat. 3. Menjelaskan solusi dari suatu masalah. 4. Restrukturisasi pengetahuan.
16
5. Belajar dari pengalaman. 6. Memahami batas kemampuan.
II.2. Hama dan Penyakit Tanaman Kelapa Sawit Hama dan penyakit adalah musuh utama setiap pembudidayaan tanaman, termasuk kelapa sawit. Hama dan penyakit merupakan salah satu faktor penting yang harus diperhatikan dalam pembudidayaan tanaman kelapa sawit. Akibat yang ditimbulkannya sangat besar, seperti penurunan produksi, bahkan kematian tanaman. Hama dan penyakit dapat merusak bibit, Tanaman Belum Menghasilkan (TBM), maupun Tanaman Menghasilkan (TM). Pada PT. Moeis Kebun Sipare-pare, hama yang menyerang adalah kumbang tanduk (Oryctes Rhynoceros) dan ulat api, sedangkan penyakit yang menyerang disebabkan oleh microorganisme jamur yaitu busuk pada pangkal batang (Ganoderma). II.2.1. Hama Tanaman Kelapa Sawit 1. Kumbang Tanduk (Oryctes Rhynoceros). Kumbang tanduk (oryctes rhynoceros) merupakan hama utama yang menyerang tanaman kelapa sawit dan sangat merugikan. Hama ini juga menjadi hama yang menjengkelkan di areal replanting. Hal ini disebabkan karena pada areal replanting, banyak tumpukan bahan organik yang sedang mengalami proses pembusukan sebagai tempat berkembang biak hama ini (Putranto Adi S : 88).
17
Gambar II.1. Kumbang Tanduk Dewasa (Sumber : PT. Moeis Kebun Sipare-pare) Kumbang tanduk banyak menimbulkan kerusakan pada tanaman muda yang baru ditanam hingga berumur 2-3 tahun. Serangan hama ini cukup membahayakan jika terjadi pada tanaman muda, sebab jika sampai mengenai titik tumbuhnya (pupus) menyebabkan penyakit busuk dan mengakibatkan kematian. Tetapi apabila menyerang atau memakan bakal daunnya saja, hanya menyebabkan kerusakan pada daun dewasa. Kumbang dewasa (imago) masuk ke daerah titik tumbuh (pupus) dengan membuat lubang pada pangkal pelepah daun muda yang masih lunak (Putranto Adi S : 88). Adanya lubang-lubang berbentuk taji pada daun muda yang belum membuka dan pangkal daun juga merupakan ciri-ciri penyerangan hama ini.
18
Gambar II.2. Pelepah Kelapa Sawit Yang Patah Akibat Terserang Hama Kumbang Tanduk (Oryctes Rhynoceros) (Sumber : PT. Moeis Kebun Sipare-pare) 2. Ulat Api. Ulat api merupakan jenis ulat pemakan daun kelapa sawit yang paling sering menimbulkan kerugian di perkebunan kelapa sawit. Disebut ulat api karena punggungnya berbulu kasar kaku dan beracun. Racunnya keluar dari bulu kasar tersebut berupa cairan yang jika terkena tangan terasa gatal dan panas (Yan Fauzi, dkk ; 2012 : 140). Jenis ulat api yang paling merusak di Indonesia akhir-akhir ini adalah Sethothosea Asigna, Setora Nitens, dan Darna Trima (Putranto Adi S : 82). Pada PT. Moeis Kebun Sipare-pare, jenis hama ulat api yang menyerang adalah Sethothosea Asigna. Sethothosea Asigna, ulat berwarna hijau kekuningan dengan bercak-bercak yang khas dibagian punggungnya dan dilengkapi dengan duri-duri yang kokoh (Yan Fauzi, dkk ; 2012 : 140).
19
Gambar II.3. Ulat Api Sethothosea Asigna (Sumber : PT. Moeis Kebun Sipare-pare) Serangan ulat api menyebabkan helaian daun berlubang atau habis sama sekali sehingga hanya tinggal lidi atau tulang daun. Dalam kondisi yang parah, tanaman akan kehilangan daun sekitar 90% (Yan Fauzi, dkk ; 2012 : 141).
Gambar II.4. Daun Kelapa Sawit Yang Terserang Hama Ulat Api (Sumber : PT. Moeis Kebun Sipare-pare) II.2.2. Penyakit Tanaman Kelapa Sawit 1. Busuk Pangkal Batang (Ganoderma). Menurut Yan Fauzi (2012) penyakit busuk pangkal batang kelapa sawit diantaranya disebabkan oleh jamur Ganoderma applanatum,
20
Ganoderma lucidum, dan Ganoderma pseudofferum. Penularan jamur ini yaitu dengan bersinggungannya akar tanaman yang sehat dengan tunggul-tunggul pohon yang sakit. Gejala penyakit ini berupa pelepah daun yang layu dan pucat dan busuk pada pangkal batang tanaman serta terdapat jamur pada pangkal batang kelapa sawit.
Gambar II.5. Terlihat Jamur Pada Pangkal Batang Kelapa Sawit (Sumber : PT. Moeis Kebun Sipare-pare) Pada tanaman belum menghasilkan, gejala awal ditandai dengan penguningan tanaman atau daun terbawah diikuti nekrosis yang menyebar ke seluruh daun (Putranto Adi S : 97). Nekrosis pada daun dimulai dari bagian daun paling tua hingga menyebar ke bagian daun yang lebih muda. Kemudian pelepah daun akan patah dan menggantung.
21
Gambar II.6. Pelepah Daun Yang Patah Akibat Terserang Penyakit Ganoderma (Sumber : PT. Moeis Kebun Sipare-pare) Dalam kondisi serangan berat, setelah 6-12 bulan muncul gejala serangan pada daun, pangkal batang menghitam dan keluar getah pada bagian yang terinfeksi sehingga tanaman akan tumbang dan mati (Yan Fauzi, dkk ; 2012 : 158). Pada daerah yang busuk, terlihat batang yang keropos atau kopong yang kemudian mengakibatkan tanaman tumbang.
22
Gambar II.7. Pangkal Batang Kelapa Sawit Yang Keropos (Sumber : PT. Moeis Kebun Sipare-pare)
Gambar II.8. Tanaman Kelapa Sawit Yang Tumbang Akibat Pembusukan Pada Pangkal Batang (Sumber : PT. Moeis Kebun Sipare-pare) Menurut Yan Fauzi (2012) sampai saat ini serangan penyakit tersebut belum mampu diatasi dengan menggunakan pestisida. Maka dari itu, tindakan pencegahan lebih diperhatikan dengan sebaik-baiknya agar terhindar dari penyakit ini. Seperti sebelum penanaman jika areal
23
kelapa sawit merupakan lahan bekas kebun kelapa atau kelapa sawit, tunggul-tunggul harus dibongkar dan dibakar.
II.3. Runut Maju ( Forward Chaining ) Forward Chaining merupakan pencocokan fakta atau pernyataan di mulai dari bagian sebelah kiri (If dulu) (Rika Rosnelly ; 2012 : 57). Dengan kata lain penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis (Rika Rosnelly ; 2012 : 57). Contoh aturan-aturan ditunjukkan pada tabel II.1 berikut : Tabel II.1. Contoh Aturan-aturan No
Aturan
R-1
IF A & B THEN C
R-2
IF C THEN D
R-3
IF A & E THEN F
R-4
IF A THEN G
R-5
IF F & G THEN D
R-6
IF G & E THEN H
R-7
IF C & H THEN I
R-8
IF I & A THEN J
R-9
IF G THEN J
R-10
IF J THEN K
(Sumber : Rika Rosnelly : 2012 : 57) Contoh (Rika Rosnelly ; 2012 : 58) : 1.
Pada tabel II.1. terlihat ada 10 aturan yang tersimpan dalam basis pengetahuan. Fakta awal yang diberikan hanya A & F (artinya : A dan
24
F bernilai benar). Ingin dibuktikan apakah K bernilai benar (hipotesis : K)? 2.
Langkah-langkah inferensi adalah sebagai berikut :
3.
Dimulai dari R-1. A merupakan fakta sehingga bernilai benar, sedangkan B belum bisa diketahui kebenarannya, sehingga C-pun belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-1 ini. Sehingga kita menuju R2.
4.
Pada R-2, kita tidak mengetahui informasi apapun tentang C, sehingga kita juga tidak bisa memastikan kebenaran D. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-2 ini. Sehingga kita menuju R-3.
5.
Pada R-3, baik A maupun E adalah fakta sehingga jelas benar. Dengan demikian F sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu F. Karena F bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-4.
6.
Pada R-4, A adalah fakta sehingga jelas benar. Dengan demikian G sebagai kosekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu G. Karena G bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-5.
7.
Pada R-5, baik F maupun G bernilai benar berdasarkan aturan R-3 dan R-4. Dengan demikian D sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu D. Karena D bukan
25
hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-6. 8.
Pada R-6, baik A maupun G adalah benar berdasarkan fakta dan R-4. Dengan demikian H sebagai konsekuen juga ikut benar. Sehingga sekarang kita mempunyai fakta baru yaitu H. Karena H bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-7.
9.
Pada R-7, meskipun H benar berdasarkan R-6, namun kita tidak tahu kebenaran C, sehingga I-pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-7 ini. Sehingga kita menuju R-8.
10. Pada R-8, meskipun A benar karena fakta, namun kita tidak tahu kebenaran I, sehingga J-pun juga belum bisa diketahui kebenarannya. Oleh karena itu kita tidak mendapatkan informasi apapun pada R-8 ini. Sehingga kita menuju R-9. 11. Pada R-9, J bernilai benar karena G benar berdasarkan R-4. Karena J bukan hipotesis yang hendak kita buktikan (=K), maka penelusuran kita lanjutkan ke R-10. 12. Pada R-10, K bernilai benar karena J benar berdasarkan R-9. Karena K sudah merupakan hipotesis yang hendak kita buktikan (=K), maka terbukti bahwa K adalah benar. Tabel munculnya fakta baru pada saat inferensi dapat dilihat pada tabel II.2 berikut :
26
Tabel II.2. Fakta Baru Aturan
Fakta Baru
R-3
F
R-4
G
R-5
D
R-6
H
R-9
J
R-10
K
(Sumber : Rika Rosnelly : 2012 : 59)
II.4. UML ( Unified Modelling Language ) Unified Modeling Language (UML) adalah sebuah “bahasa” yang telah menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
mendokumentasikan sistem piranti lunak (Yuni Sugiarti ; 2013 : 34). Menurut Yuni Sugiarti (2013) Unified Modeling Language (UML) biasa digunakan untuk : 1.
Menggambarkan batasan sistem dan fungsi-fungsi sistem secara umum, dibuat dengan use case dan actor.
2.
Menggambarkan kegiatan atau proses bisnis yang dilaksanakan secara umum, dibuat dengan interaction diagrams.
3.
Menggambarkan representasi struktur statik sebuah sistem dalam bentuk class diagrams.
4.
Membuat model behavior “yang menggambarkan kebiasaan atau sifat sebuah sistem” dengan state transition diagrams.
27
UML bukan hanya sekedar diagram, tetapi juga menceritakan konteksnya. Ketika mendeteksi hama dan penyakit tanaman kelapa sawit, bagaimana alurnya? Bagaimana sistem mengatasi error yang terjadi? Dan sebagainya dapat dijawab dengan UML. UML mendefenisikan diagram-diagram sebagai berikut : 1. Use case diagram Menurut Yuni Sugiarti (2013) use case diagram merupakan pemodelan untuk menggambarkan kelakuan (behavior) sistem yang akan dibuat. Use case diagram mendeskripsikan sebuah interaksi antara satu atau lebih actor dengan sistem yang akan dibangun. Ada beberapa simbol dalam menggambarkan use case diagram yaitu, use case, aktor, dan relasi. Untuk penamaan use case adalah dengan mendefinisikan
nama
sesimpel
mungkin,
dapat
dipahami,
menggunakan kata kerja. Login
Input pendidikan dan pengajaran
Dosen Input penelitian
Input penunjang
Input pengabdian masyarakat
Gambar II.9. Contoh Use Case Diagram (Sumber : Yuni Sugiarti : 2013 : 45)
dan
28
2. Class Diagram Menurut Yuni Sugiarti (2013) diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Diagram kelas menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Dan kelas memiliki sesuatu yang disebut dengan atribut dan metode atau operasi, yaitu : 1.
Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas.
2.
Atribut mendeskripsikan properti dengan sebaris teks didalam kotak kelas tersebut.
3.
Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
Kelas memiliki tiga area pokok (Yuni Sugiarti ; 2013 : 57) : 1. Nama 2. Atribut 3. Operasi Contoh Diagram kelas : Surat Pesanan
Supplier +IdSupp +NamaSupp +Telp +Perush +.. 1 +input() +save() +update() +del() +print()
1..*
+1
Terima
+IdSP +tgl +.. +..()
+1 TTO
Terdapat 1
1..*
+IdTTO +jmlObat +tgl +harga +.. +..()
Gambar II.10. Contoh 1 Class Diagram (Sumber : Yuni Sugiarti ; 2013 : 60)
29
3. Sequence Diagram Diagram Sekuence menggambarkan kelakuan/perilaku objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan serta diterima antar objek (Yuni Sugiarti ; 2013 : 69). Maka dalam menggambarkan diagram sekuen harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.
: Kwitansi&e-tiket
: Customer Get
Print kwitansi & e-tiket
Gambar II.11. Cetak Bukti Pembayaran Tiket (Sumber : Yuni Sugiarti : 2013 : 70) 4. Activity Diagram Activity diagram atau diagram aktivitas menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis (Yuni Sugiarti ; 2013 : 75). Diagram aktivitas menggambarkan aktivitas yang dapat dilakukan oleh sistem, bukan apa yang dilakukan aktor.
30
Menurut Yuni Sugiarti (2013) activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masingmasing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Berikut adalah contoh activity diagram : Customer
System
Start
Input data pesanan tiket
Validasi pesanan tiket
[ tidak valid ]
[ valid ]
Simpan data pesanan tiket
End
Gambar II.12. Activity Diagram Pesanan Tiket (Sumber : Yuni Sugiarti : 2013 : 78)
II.5. VB.Net Aplikasi pemograman visual sangat berguna untuk membuat software dengan antarmuka grafis. Saat ini sudah banyak aplikasi pemograman yang beredar diantaranya adalah VB.Net, yang merupakan salah satu bahasa pemrograman dari Microsoft.
31
II.5.1. Kelebihan VB.Net Menurut Priyanto Hidayatullah (2012) VB.Net layak dijadikan pilihan karena memiliki beberapa kelebihan, seperti : 1.
Sederhana dan mudah dipahami.
2.
Mendukung GUI.
3.
Menyederhanakan deployment.
4.
Menyederhanakan pengembangan perangkat lunak.
5.
Mendukung penuh OOP.
6.
Mempermudah pengembangan aplikasi berbasis web.
7.
Migrasi ke VB.Net dapat dilakukan dengan mudah.
8.
Banyak digunakan oleh Programmer-programmer di seluruh dunia
II.6. Microsoft SQL Server Database Management System (DBMS) adalah aplikasi yang dipakai untuk mengelola basis data. Microsoft SQL Server adalah salah satu aplikasi DBMS yang sudah banyak digunakan oleh para pemogram aplikasi basis data (Priyanto Hidayatullah ; 2012 : 176). SQL Server merupakan aplikasi basis data yang di kembangkan oleh Microsoft yang juga pengembang aplikasi VB.Net. Dapat dikatakan bahwa SQL Server adalah pasangan yang serasi dengan VB.Net, dikarenakan sama-sama dikembangkan oleh Microsoft.
32
II.7. Entity Relationship Diagram (ERD) Entity Relationship Diagram (ERD) adalah alat pemodelan data utama dan akan membantu mengordanisasi data dalam suatu protek kedalam entitas-entitas dan menentukan hubungan antar entitas. Proses memungkinkan analis menghasilkan sturktur basisdata yang baik sehingga data dapat disimpan dan diambil secara efisien (Janner Simarmata,dkk ; 2010 : 67). II.7.1. Model E-R Menurut Abdul Kadir (2009 : 30), model E-R adalah suatu model yang digunakan untuk menggambarkan data dalam bentuk entitas, atribut dan hubungan antar entitas. Huruf E sendiri meyatakan entitas dan R menyatakan hubungan (dari kata Relationship). Model ini dinyatakan dalam bentuk diagram, itulah sebabnya model E-R sering disebut sebagai diagram E-R. Model E-R melibatkan sejumlah notasi, beberapa notasi dasar dalam model E-R ditunjukan pada gambar II.13, notasi-notasi tersebut diberikan hanya untuk memberikan suatu pengetahuan dasar.
Entitas
Kardinalitas Hubungan
Atribut
Hubungan
Gambar II.13. Sejumlah Notasi Pada Model E-R (Sumber : Abdul Kadir ; 2009 : 31)
33
1.
Entitas Yang dimaksud dengan entitas adalah sesuatu dalam dunia nyata yang keberadaannya tidak bergantung pada yang lain. Sebagai contoh, setiap pegawai dalam sebuah organisasi adalah sebuah entitas. Entitas dapat berupa sesuat yang nyata ataupun abstrak (berupa suatu konsep). Secara lebih rinci dijelaskan bahwa entitas dapat berupa seseorang, sebuah tempat, sebuah objek, sebuah kejadian atau suatu konsep.
2.
Atribut Setiap entitas dinyatakan dalam sejumlah atribut. Atribut adalah properti atau karakteristik yang terdapat pada setiap entitas. Sebagai contoh, pada gambar II.14, terdapat entitas MOBIL yang mengandung atribut Nomor_Polisi, Tipe, Warna, Nomor_Rangka dan Nomor_Mesin. Selain itu terdapat entitas MAHASISWA yang mengandung atribut Nomor_Mahasiswa, Nama, Tanggal_Lahir, dan Jenis_Kelamin.
MOBIL
Nomor_Poilisi : BK 3207 KV
Nomor_Mahasiswa : 12345
Tipe : Sidekick
Nama : Dian Sastro
MAHASISWA Warna : Merah
Tanggal_Lahir : 20/20/1997
Nomor_Mesin : MSN234
Jenis_Kelamin : Pria
Nomor_Rangka : ME876
Gambar II.14. Contoh Entitas dan Atribut (Sumber : Abdul Kadir ; 2009 : 32)
34
3.
Hubungan (Relationship) Hubungan (Relationship) menyatakan ketertarikan antara beberapa tipe entitas. Sebagai contoh , tipe entitas MAHASISWA dan DOSEN mempunyai hubungan yang mencerminkan bahwa seorang mahasiswa memiliki dosen pembimbing akademis. Gambar II.15 menunjukkan hubungan tersebut. Nomor_Dosen
DOSEN
Nomor_Mahasiswa
Membimbing
MAHASISWA
Nama Nama
Gambar II.15. Contoh Hubungan Antara Tipe Entitas MAHASISWA dan DOSEN (Sumber : Abdul Kadir ; 2009 : 45)
II.8. Normalisasi Menurut Abdul Kadir (2009), normalisasi adalah suatu proses yang digunakan untuk menentukan pengelompokan atribut-atribut dalam sebuah relasi sehingga diperoleh relasi yang berstruktur baik. Dalam hal ini yang dimaksud dengan relasi yang berstruktur baik adalah relasi yang memenuhi dua kondisi berikut : 1.
Mengandung redundansi sedikit mungkin, dan
2.
Memungkinkan baris-baris dalam relasi disispkan, dimodifikasi dan dihapus tanpa menimbulkan kesalahan atau ketidakkonsistenan.
35
Normalisasi dilakukan melalui sejumlah langkah. Setiap langkah tersebut berhubungan dengan bentuk normal (normal form) tertentu. Dalam hal ini yang disebut bentuk normal adalah suatu keadaan relasi yang dihasilkan oleh penerapan aturan-aturan sederhana yang berhubungan dengan dependensi fungsional terhadap relasi tersebut (Abdul Kadir ; 2009 : 116). Ada 6 bentuk normal yang dimaksud, pada gambar II.16 berikut ini akan memperlihatkan hubungan keenam bentuk normal tersebut. Bentuk Tidak Ternormalisasi (UNF) Menghilangkan atribut bernilai ganda Bentuk Normal Pertama (1 NF)
Bentuk Normal Kedua (2 NF)
Bentuk Normal Ketiga (3 NF)
Bentuk Normal Boyce-Codd (BCNF)
Menghilangkan dependensi parsial
Menghilangkan dependensi transitif
Menghilangkan ketergantungan yang penentunya bukan bukan kunci kandidat
Menghilangkan lebih dari satu dependensi bernilai ganda
Bentuk Normal Keempat (4 NF) Mengatasi dependensi gabungan Bentuk Normal Kelima (5 NF)
Gambar II.16. Langkah-langkah dalam Normalisasi (Sumber : Abdul Kadir ; 2009 : 118)