ANALISIS DAN PERANCANGAN APLIKASI SISTEM PAKAR DENGAN METODE BACKWARD CHAINING UNTUK MENDIAGNOSIS PENYAKIT TANAMAN KOPI
SKRIPSI
ABRAGUS SABRA 091421044
PROGRAM EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
ANALISIS DAN PERANCANGAN APLIKASI SISTEM PAKAR DENGAN METODE BACKWARD CHAINING UNTUK MENDIAGNOSIS PENYAKIT TANAMAN KOPI
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
ABRAGUS SABRA 091421044
PROGRAM EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2011
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: ANALISIS DAN PERANCANGAN APLIKASI SISTEM PAKAR DENGAN METODE BACKWARD CHAINING UNTUK MENDIAGNOSIS PENYAKIT TANAMAN KOPI : SKRIPSI : ABRAGUS SABRA : 091421044 : EKSTENSI S1 ILMU KOMPUTER : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Juni 2011 Komisi Pembimbing
:
Pembimbing 2
Pembimbing 1
Dian Rachmawati, S.Si, M.Kom NIP 198307232009122004
Syahril Efendi, S.Si, MIT NIP 196711101996021001
Diketahui /Disetujui oleh Program Studi S1 Ilmu Komputer FMIPA USU Ketua,
Dr. Poltak Sihombing, M.Kom NIP 196203171991021001
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Allah SWT, dengan limpahan karunia-Nya skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Ucapan terima kasih penulis sampaikan kepada Bapak Syahril Efendi, S.Si, M.I.T selaku Dosen Pembimbing I dan Ibu Dian Rachmawati, S.Si., M. Kom selaku pembimbing II yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyempurnakan skripsi ini. Dan tak lupa pula saya ucapkan terima kasih kepada dosen penguji Bapak Ade Candra, S.T., M. Kom dan Bapak Drs. Marihat Situmorang, M.Si yang telah memberikan masukan berupa saran dan kritik kepada saya untuk menyempurnakan skripsi ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Ekstensi S1 Ilmu Komputer Bapak Dr. Poltak Sihombing, M.kom dan Ibu Maya Silvi Lidya, B.sc, M.Sc. Dekan dan Pembantu Dekan Fakultas Matematika dan Imu Pengetahuan Alam Universitas Sumatera Utara, semua dosen Program Ekstensi S1 Ilmu Komputer FMIPA USU, pegawai di FMIPA USU. Akhirnya tidak terlupakan kepada keluarga tersayang Ibunda Ruhaida dan Ayahanda Samsuar, serta abang dan kakak saya, abang Zikrul Alim, kak Yuni, abang Fauzan Azima, Kak Yanni, Serta Adik saya Idham Chalid yang senantiasa memberikan kasih sayang dan dukungan semangat dalam menyelesaikan skripsi ini. Teman-teman satu angkatan saya juliandri, fadli, ibal, nina, arif, yamin, b’rafi, uci, bayu serta teman-teman yang tidak dapat saya sebutkan satu persatu, saya ucapkan terima kasih atas ide, saran dan bantuan kepada saya selama menyelesaikan skripsi ini. Teman-teman kos persikota yoga selaku sepupu saya, uji dan sopian. Semoga Allah SWT akan membalasnya.
ABSTRAK
Dewasa ini teknologi komputer berkembang dengan sangat pesat. Pemanfaatan komputer sudah merambah ke berbagai bidang kehidupan. Kecerdasan buatan merupakan bagian ilmu pengetahuan komputer yang banyak dimanfaatkan karena kemampuannya yang dapat menirukan cara berfikir manusia. Dan sistem pakar merupakan salah satu cabang dari kecerdasan buatan yang mempelajari bagaimana mengadopsi cara berfikir seorang pakar dalam menyelesaikan suatu permasalahan, dan membuat suatu keputusan maupun mengambil kesimpulan dari sejumlah fakta yang ada. Dalam hal ini sistem pakar digunakan untuk mendiagnosa penyakit pada tanaman kopi dengan menggunakan metode backward chaining. Dengan tujuan dapat membantu dalam mendiagnosa penyakit pada tanaman kopi dan mendapatkan hasil diagnosa yang tepat dan akurat. Bahasa pemrograman dan program aplikasi penunjang yang digunakan dalam pembuatan sistem pakar ini yaitu bahasa pemrograman Microsoft Visual Basic 6.0 dan menggunakan Database Management System Microsoft Office Access 2003.
Kata Kunci : Kecerdasan Buatan, Sistem Pakar, Backward Chaining, Diagnosa, Tanaman Kopi.
ANALYSIS AND DESIGN EXPERT SYSTEM APPLICATION WITH BACKWARD CHAINING METHOD TO DIAGNOSE DISEASE OF COFFE PLANT
ABSTRACT
Nowadays computer technology growing very fast. The utilization of computer already cut down into various living area. The artificial intelligence is part of computer knowledges that mostly use because the ability to imitate human thought. And expert system is one of branch of artificial intelligence that learning how to adopt an expert thought within finished the problem, and make some decision as well as take the conclusion from an amount of fact that exist. In this case, expert system is use to diagnosis of disease at coffe plant with backward chaining method. By means of able to support diagnosis of disease at coffe plant and get the result precise and accurate. Programming language and supporting application program which is use in the making this expert system are Microsoft Visual basic 6.0 programming language and Database Management System Microsoft Office Access 2003.
Keyword : Artificial Intelligence, Expert System, Backward Chaining, Diagnose, Coffe Plant.
DAFTAR ISI
Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Bab 1 Pendahuluan 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metode Penelitian 1.7 Sistematika Penulisan
ii iii iv v vi vii ix x 1 1 3 3 3 4 4 5
Bab 2 Landasan Teori 2.1 Kecerdasan Buatan 2.2 Sistem Pakar 2.2.1 Sejarah Sistem Pakar 2.2.2 Ciri-ciri Sistem Pakar 2.2.3 Keuntungan dan Kelemahan Sistem Pakar 2.2.4 Konsep Dasar Sistem Pakar 2.2.5 Struktur Sistem Pakar 2.2.6 Basis Pengetahuan 2.2.7 Representasi Pengetahuan 2.2.8 Mekanisme Inferensi (Inference Engine) 2.2.8.1 Metode Forward Chaining 2.2.8.2 Metode Backward Chaining 2.3 Tanaman Kopi 2.4 Penyakit Tanaman
7 7 7 8 9 9 10 11 13 14 14 14 15 16 17
Bab 3 Analisis dan Perancangan Sistem 3.1 Analisis Permasalahan 3.2 Diagnosis Penyakit Tanaman Kopi 3.3 Penyakit Tanaman Kopi 3.4 Analisis Komponen 3.4.1 Model Analisis 3.4.2 Spesifikasi Proses 3.4.3 Kamus Data
19 19 19 20 25 25 29 33
3.4.4 Entity Relationship Diagram 3.5 Perancangan Struktur Program 3.6 Perancangan Antarmuka
35 35 36
Bab 4 Implementasi Sistem 4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak 4.2 Implementasi Sistem 4.2.1 Halaman Sistem Login 4.2.2 Halaman Menu Utama 4.2.3 Halaman Pilih Penyakit 4.2.4 Halaman Pertanyaan 4.2.5 Halaman Data Penyakit 4.2.6 Halaman Data Solusi 4.2.7 Halaman Hasil Diagnosis 4.2.8 Halaman Basis Pengetahuan 4.3 Pengujian Sistem
44 44 44 45 45 46 47 47 48 49 50 51
Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 5.2 Saran
54 54 54
Daftar Pustaka Lampiran
56 57
DAFTAR TABEL
Halaman Tabel 3.1 Kamus data Tabel list_user Tabel 3.2 Kamus data Tabel penyakit Tabel 3.3 Kamus data Tabel knowledge Tabel 3.4 Kamus data Tabel solusi
34 34 34 35
DAFTAR GAMBAR
Halaman Gambar 2.1 Struktur Sistem Pakar Gambar 2.2 Proses Forward Chaining Gambar 2.3 Proses Backward Chaining Gambar 2.4 Tanaman Kopi Gambar 3.1 Diagram Backtracking Penyakit Karat Daun Gambar 3.2 Diagram Backtracking Penyakit Jamur Upas Gambar 3.3 Diagram Backtracking Penyakit Mati Ujung Gambar 3.4 Diagram Backtracking Penyakit Bercak Daun Cercospora Gambar 3.5 Diagram Backtracking Penyakit Akar Coklat Gambar 3.6 Diagram Backtracking Penyakit Kanker Belah Gambar 3.7 Diagram Backtracking Penyakit Akar Hitam Gambar 3.8 DFD Level 0 Gambar 3.9 DFD Level 1 Gambar 3.10 DFD Level 2 Proses Login Gambar 3.11 DFD Level 2 Proses Diagnosis Gambar 3.12 DFD Level 2 Proses Pengetahuan Gambar 3.13 DFD Level 2 Proses Jenis Penyakit Gambar 3.14 DFD Level 2 Proses Solusi Gambar 3.15 Entity Relationship Diagram Gambar 3.16 Struktur Program Gambar 3.17 Rancangan Form Sistem Login Gambar 3.18 Rancangan Form Menu Utama Gambar 3.19 Rancangan Form Pilih Penyakit Gambar 3.20 Rancangan Form Pertanyaan Gambar 3.21 Rancangan Form Data Penyakit Gambar 3.22 Rancangan Form Data Solusi Gambar 3.23 Rancangan Form Hasil Diagnosis Gambar 3.24 Rancangan Form Basis Pengetahuan Gambar 4.1 Halaman Sistem Login Gambar 4.2 Halaman Menu Utama Gambar 4.3 Halaman Pilih Penyakit Gambar 4.4 Halaman Pertanyaan Gambar 4.5 Halaman Data Penyakit Gambar 4.6 Halaman Data Solusi Gambar 4.7 Halaman Hasil Diagnosis Gambar 4.8 Halaman Basis Pengetahuan
11 15 16 16 20 21 22 23 23 24 25 26 26 27 27 28 28 29 35 36 37 38 38 39 40 41 42 43 45 46 46 47 48 49 50 51
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Kopi merupakan salah satu komoditas yang sangat penting, tidak saja sebagai sumber mata pencaharian tapi juga menduduki tatanan perekonomian nasional, usaha tani kopi memberikan sumbangan cukup besar sebagai sumber devisa dalam menopang pembangunan nasional yang tinggi, sehingga dapat dijadikan sebagai sumber pendapatan petani. Indonesia merupakan negara penghasil kopi terbesar di dunia setelah Brazil dan Columbia. Sebagai komoditas yang mempunyai nilai ekonomis tinggi, sudah selayaknya pengembangan usaha tani kopi ini mendapat perhatian yang besar, mengingat kontribusinya yang besar pada perekonomian nasional. Permintaan pasar dalam negeri terhadap kopi dari tahun ke tahun makin meningkat sejalan dengan pertambahan penduduk. Oleh sebab itu peluang untuk pemsaran kopi masih terbuka.
Rendahnya produktivitas kopi antara lain disebabkan oleh teknik budidaya tanaman yang kurang memadai, sehingga mendorong timbulnya berbagai gangguan pertumbuhan tanaman. Faktor-faktor yang mempengaruhi pertumbuhan dan produktivitas kopi harus diperhatikan. Salah satu faktor yang dapat mengurangi pertumbuhan dan produktivitas kopi adalah adanya penyakit tanaman.
Secara umum, sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para
ahli di bidangnya. Sistem pakar ini juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu.
Sudah banyak sistem pakar yang dikembangkan di berbagai bidang yakni bidang kedokteran, ekonomi, elektronika, komputer, pertanian dan bidang lainnya. Salah satu sistem pakar yang digunakan pada bidang pertanian adalah “Sistem Pakar Diagnosa Penyakit Tanaman Padi Berbasis Web dengan Metode Forward Chaining dan Backward Chaining (Anton Setiawan Honggowibowo, 2009)”. Sistem pakar ini dirancang dengan menggunakan metode runut maju (Forward Chaining) dan metode runut balik (Backward Chaining). Dimana runut tersebut dimotori oleh data masukan gejala-gejala penyakit tanaman padi dan selanjutkan mencoba menggambarkan kesimpulannya berupa nama penyakit tanaman padi yang terjangkit beserta pengendaliannya. Sistem pakar yang juga dikembangkan di bidang pertanian adalah ”Perancangan Sistem Pakar Diagnosis Penyakit Utama Tanaman Kelapa Sawit (Dewi Yanti, 2008)”. Sistem pakar ini menggunakan metode inferensi Forward Chaining yaitu proses inferensi yang memulai pencarian dari premis atau data menuju konklusi.. Program ini cukup bermanfaat dalam memberikan informasi, sehingga membantu pengguna dalam menangani penyakit tanaman kelapa sawit pada tahap pembibitan dan tanaman di lapangan.
Mencermati hal-hal di atas maka penulis mendapatkan ide untuk memanfaatkan teknologi komputer yaitu merancang aplikasi sistem pakar yang digunakan untuk membantu dalam mendiagnosis penyakit yang menyerang tanaman kopi. Perancangan suatu program aplikasi sistem pakar gunanya untuk melakukan diagnosa mengenai penyakit pada tanaman kopi. Program aplikasi sistem pakar ini mendapat masukan/informasi dari para petani tanaman kopi dan beberapa sumber lain seperti buku, majalah untuk dijadikan landasan bagi seorang pakar melakukan diagnosa terhadap penyakit tanaman kopi dan hasil diagnosa yang diberikan oleh
program aplikasi sistem pakar ini diharapkan dapat membantu tidak hanya petani kopi, tetapi juga kalangan umum yang memerlukan informasi ini.
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas maka rumusan masalahnya adalah bagaimana merancang suatu sistem pakar untuk mendiagnosa penyakit tanaman beserta saran pengendaliannya pada tanaman kopi.
1.3 Batasan Masalah
Penulis membuat batasan masalah yang akan dijadikan pedoman dalam pelaksanaan skripsi, yaitu: 1. Sistem tidak menentukan hama dari tanaman kopi. 2. Sistem pakar ini hanya akan mendiagnosis gejala-gejala fisik yang muncul pada tanaman kopi 3. Input berupa gejala-gejala penyakit tanaman kopi 4. Output yang dihasilkan adalah penyakit tanaman beserta pengendaliannya. 5. Sistem ini hanya mendiagnosis penyakit tanaman kopi jenis arabika. 6. Perancangan program aplikasi sistem pakar ini menggunakan Visual Basic 6.0 dan Database Management System Microsoft Office Access 2003.
1.4 Tujuan Penelitian
Tujuan dari skripsi ini adalah untuk merancang suatu sistem pakar yang dapat dikembangkan lebih lanjut untuk memberikan informasi mengenai penyakit tanaman kopi beserta pengendaliannya yang nantinya dapat digunakan untuk mengurangi resiko berproduksi suatu tanaman.
1.5 Manfaat Penelitian
Manfaat dari sistem pakar ini adalah memberikan kemudahan bagi user untuk mendiagnosis penyakit tanaman kopi berdasarkan gejala yang tampak dan sistem akan memberikan cara pengendalian penyakit, khususnya bagi petani perkebunan dan tidak menutup kemungkinan sistem pakar ini digunakan oleh penyuluh pertanian yang bukan dibidang penyakit tanaman sehingga dapat menggantikan peran dari seorang pakar penyakit tanaman khususnya penyakit tanaman kopi.
1.6 Metode Penelitian
Langkah-langkah yang ditempuh dalam menyelesaikan penelitian sebagai berikut: 1. Studi literatur Pada tahap ini penulis mengumpulkan infomasi dan mempelajari materi serta sumber-sumber data yang berhubungan dengan sistem pakar, metode backward chaining, jenis penyakit tanaman kopi, gejala-gejala penyakit tanaman kopi beserta pengendaliannya maupun materi lain yang terkait dengan penelitian ini.
2. Analisis data Pada tahap ini dilakukan pengumpulan fakta-fakta yang mendukung perancangan sistem dengan mengadakan konsultasi dengan seorang pakar dan membandingkan hasil penelitian dengan yang ada pada buku penuntun dan dilakukan perancangan Data Flow Diagram, Entity Relationship Diagram dan perancangan antarmuka sesuai dengan hasil dari analisis sistem.
3. Implementasi sistem Pada tahap ini sistem yang dirancang di implementasikan ke dalam bentuk kode program Visual Basic 6.0.
4. Pengujian Pada tahap ini dilakukan pengujian sistem apakah berjalan dengan benar dan sesuai dengan perancangan.
5. Penyusunan laporan Pada tahap ini dilakukan penulisan dokumentasi hasil analisis dari aplikasi sistem pakar dengan metode backward chaining untuk mendiagnosis penyakit tanaman kopi.
1.7
Sistematika Penulisan
BAB 1 :
PENDAHULUAN Bab ini berisi tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan sistematika penulisan.
BAB 2 :
LANDASAN TEORI Pada bab ini dibahas dasar teori-teori kecerdasan buatan dan sistem pakar untuk mendukung pembahasan bab selanjutnya.
BAB 3 :
ANALISIS DAN PERANCANGAN Pada bab ini membahas tentang analisis dan perancangan sistem yang berisi tentang analisis permasalahan, analisis komponen sistem pakar, rancangan basis data, entity relationship diagram, data flow diagram dan perancangan antarmuka.
BAB 4 :
IMPLEMENTASI SISTEM Pada bab ini membahas implementasi antarmuka dari perancangan sistem yang telah dirancang pada bab sebelumnya.
BAB 5 :
KESIMPULAN DAN SARAN Bab ini berisi tentang kesimpulan penulis dari penelitian yang dilakukan serta saran-saran untuk pengembangan aplikasi lebih lanjut.
BAB 2 LANDASAN TEORI
2.1 Kecerdasan Buatan
Kecerdasan Buatan ( Artificial Intelligence atau AI) di definisikan sebagai kecerdasan yang di tunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya di anggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.
2.2 Sistem Pakar
Secara umum, sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli [7]. Sistem pakar yang baik dirancang agar dapat menyelelasikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awampun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman.
Ada beberapa definisi tentang sistem pakar, antara lain : a. Menurut Durkin : Sistem pakar adalah suatu program komputer yang dirancang untuk memodelkan kemampuan penyelesaian masalah yang dilakukan seorang pakar. b. Menurut Ignizio : Sistem pakar adalah suatu model dan prosedur yang berkaitan, dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan dengan keahlian seorang pakar. c. Menurut Giarratano dan Riley : Sistem pakar adalah suatu sistem komputer yang bisa menyamai atau meniru kemampuan seorang pakar.
2.2.1
Sejarah Sistem Pakar
Sistem Pakar mulai di kembangkan pada pertengahan tahun 1960-an oleh Artificial Intelligence Corporation. Pada pertengahan tahun 1960-an, terjadi pergantian dari program serba bisa (general-purpose) ke program yang spesialis (special-purpose) dengan di kembangkannya DENDRAL oleh E. Feigenbaum dari Universitas Stanford dan kemudian oleh MYCIN.
Pada pertengahan tahun 1970, beberapa sistem pakar mulai muncul. Sebuah pengetahuan kunci yang di pelajari saat itu adalah kekuatan dari sistem pakar berasal dari pengetahuan spesifik yang dimilikinya, bukan dari formalisme-formalisme khusus dan pola penarikan kesimpulan yang digunakannya.
Awal 1980 teknologi sistem pakar yang mula-mula dibatasi oleh suasana akademis mulai muncul sebagai aplikasi komersil, khususnya XCON, XSEL (dikembangkan dari R-1 pada Digital Equiptment Corp.) dan CATS-1 (dikembangkan oleh General Electric).
Sistem pakar untuk melakukan diagnosis kesehatan telah di kembangkan sejak pertengahan tahun 1970. Sistem pakar untuk melakukan diagnosis pertama di buat oleh Bruce Buchanan dan Edward Shortliffe di Stanford University. Sistem ini diberi nama MYCIN (Heckerman, 1986). MYCIN merupakan program interaktif yang
melakukan diagnosis penyakit meningitis dan infeksi bacremia serta memberikan rekomendasi terapi antimikroba. MYCIN mampu memberikan penjelasan atas penalarannya secara detail. Dalam uji coba, dia mampu menunjukkan kemampuan seperti seorang spesialis. Meskipun MYCIN tidak pernah di gunakan secara rutin oleh dokter, MYCIN merupakan inferensi yang bagus dalam kecerdasan buatan yang lain
2.2.2
Ciri-Ciri Sistem Pakar
Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut [13]: 1. Terbatas pada domain keahlian tertentu. 2. Berdasarkan pada kaidah/rule tertentu. 3. Dapat digunakan dalam berbagai jenis komputer. 4. Mudah dimodifikasi, yaitu dengan menambah atau menghapus suatu kemampuan dari basis pengetahuannya. 5. Sistem dapat mengaktifkan kaidah secara searah yang sesuai, dituntun oleh dialog dengan pemakai.
2.2.3
Keuntungan dan Kelemahan Sistem Pakar
Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain [7] : 1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli. 2. Bisa melakukan proses secara berulang secara otomatis. 3. Menyimpan pengetahuan dan keahlian para pakar. 4. Meningkatkan output dan produktivitas. 5. Meningkatkan kualitas. 6. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka). 7. Mampu beroperasi dalam lingkungan yang berbahaya. 8. Memiliki kemampuan untuk mengakses pengetahuan. 9. Memiliki reliabilitas.
10. Meningkatkan kapabilitas sistem komputer. 11. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian. 12. Sebagai media pelengkap dalam penelitian. 13. Meningkatkan kapabilitas dalam penyelesaian masalah. 14. Menghemat waktu dalam pengambilan keputusan.
Disamping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain [7] : 1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal. 2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar dibidangnya. 3. Sistem Pakar tidak 100% bernilai benar.
2.2.4
Konsep Dasar Sistem Pakar
Menurut Efraim Turban, konsep dasar sistem pakar mengandung : keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan. Keahlian adalah suatu kelebihan penguasaan pengetahuan di bidang tertentu yang diperoleh dari pelatihan, membaca atau pengalaman. Contoh bentuk pengetahuan yang termasuk keahlian adalah : a. Fakta-fakta pada lingkup permasalahan tertentu. b. Teori-teori pada lingkup permasalahan tertentu. c. Prosedur-prosedur dan aturan-aturan berkenaan dengan lingkup permasalahan tertentu. d. Strategi-strategi global untuk menyelesaikan masalah. e. Meta-knowledge (pengetahuan tentang pengetahuan).
Bentuk-bentuk ini memungkinkan para ahli untuk dapat mengambil keputusa lebih cepat dan lebih baik daripada seseorang yang bukan ahli. Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan (domain), menyusun kembali pengetahuan jika dipandang
perlu, memecah aturan-aturan jika dibutuhkan, dan menentukan relevan tidaknya keahlian mereka. Pengalihan keahlian dari para ahli ke komputer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar. Proses ini membutuhkan 4 aktivitas yaitu : a. Tambahan pengetahuan (dari para ahli atau sumber-sumber lainnya). b. Representasi pengetahuan (ke komputer). c. Inferensi pengetahuan. d. Pengalihan pengetahuan ke user.
2.2.5
Struktur Sistem Pakar
Sistem pakar terdiri dari dua bagian utama yaitu development environment dan consultation
environment
[7].
Development
environment
digunakan
untuk
memasukkan pengetahuan pakar ke dalam lingkungan sistem pakar, sedangkan consultation environment digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen sistem pakar dalam kedua bagian tersebut dapat dilihat pada gambar berikut.
Gambar 2.1 Struktur Sistem Pakar
Di bawah ini akan di jelaskan secara ringkas komponen-komponen
yang
membentuk sistem pakar: 1. AntarMuka Pengguna (User Interface) User interface merupakan mekanisme yang di gunakan oleh pengguna dan sistem pakar untuk berkomunikasi, informasi yang di terima dari pemakai di ubahnya ke dalam bentuk yang dapat di terima oleh sistem dan di mengerti oleh pemakai.
2. Basis pengetahuan (knowledge base) Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan penyelesaian masalah, komponen ini disusun atas dua elemen dasar, pertama yaitu fakta berisikan informasi tentang obyek permasalahan tertentu dan aturan berisikan aturan cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui.
3. Akuisisi Pengetahuan (Knowledge Acquisition) Akuisisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam menyelesaikan masalah-masalah dari sumber pengetahuan dalam program komputer.
4. Mesin Inferensi Mesin inferensi adalah bagian yang mengandung mekanisme fungsi berpikir dan pola-pola penalaran sistem yang di gunakan oleh seorang pakar. Mekanisme ini akan menganalisa suatu masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik.
5. Workplace Workplace merupakan area dari sekumpulan memori kerja (working memory). Workplace digunakan untuk merekam hasil-hasil antara dan kesimpulan yang dicapai.
6. Fasilitas Penjelasan Faslitas penjelasan adalah komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini menggambarkan penalaran sistem kepada pemakai.
7. Perbaikan Pengetahuan. Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya serta kemampuan untuk belajar dari kinerjanya. Kemampuan tersebut adalah penting dalam pembelajaran terkomputerisasi, sehingga program akan mampu menganalisi penyebab kesuksesan dan kegagalan yang di alaminya.
2.2.6
Basis pengetahuan
Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan penyelesaian masalah yang dapat berasal dari pakar, jurnal, majalah, dan sumber pengetahuan lain. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui. Ada 2 bentuk basis pengetahuan yang umum digunakan, yaitu [7]: 1. Penalaran berbasis aturan (Rule-Based Reasoning) Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan menggunakan aturan berbentuk : If-Then. Penalaran ini digunakan jika terdapat sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan pakar dapat melakukan penyelesaian secara berurutan.
2. Penalaran berbasis kasus (Cased-Based Reasoning) Pada penalaran ini, basis pengetahuan akan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang.
Representasi Pengetahuan
Pengetahuan merupakan kemampuan untuk membentuk model mental yang menggambarkan objek dengan tepat dan merepresentasikannya dalam aksi yang dilakukan terhadap suatu objek. Representasi pengetahuan merupakan metode yang digunakan untuk mengkodekan pengetahuan dalam sebuah sistem pakar yang berbasis pengetahuan. Perepresentasian dimaksudkan untuk menangkap sifat-sifat penting masalah dan membuat informasi itu dapat diakses oleh prosedur pemecahan masalah [6].
2.2.8
Mekanisme Inferensi (Inference Engine)
Mekanisme Inferensi adalah bagian dari sistem pakar yang melakukan penalaran dengan menggunakan isi daftar aturan berdasarkan urutan dan pola terentu. Selama proses konsultasi antar sistem dengan pemakai, mekanisme inferensi menguji aturan satu sampai kondisi aturan itu benar. Secara umum ada dua teknik utama yang digunakan dalam mekanisme inferensi untuk pengujian aturan, yaitu Metode Forward Chaining dan Backward Chaining.
2.2.8.1 Metode Forward Chaining
Metode Forward Chaining adalah suatu metode pengambilan keputusan yang umum digunakan dalam sistem pakar. Proses pencarian dengan metode Forward Chaining berangkat dari kiri ke kanan, yaitu dari premis menuju kepada kesimpulan akhir, metode ini sering disebut data driven yaitu pencarian dikendalikan oleh data yang diberikan.
Aktivitas sistem dilakukan berdasarkan siklus mengenal-beraksi. Mula-mula, sistem mencari semua aturan yang kondisinya terdapat di memori kerja, kemudian memilih salah satunya dan menjalankan aksi yang bersesuaian dengan aturan tersebut. Pemilihan aturan yang akan dijalankan berdasarkan strategi tetap yang disebut strategi
penyelesain konflik. Aksi tersebut menghasilkan memori kerja baru dan siklus diulangi lagi sampai tidak ada aturan yang dapat dipicu, atau tujuan yang dikehendaki sudah terpenuhi.
Gambar 2.2 Proses Forward Chaining
2.2.8.2 Metode Backward Chaining
Metode Backward Chaining adalah suatu metode pengambilan keputusan yang juga umum digunakan dalam sistem pakar. Metode backward chaining adalah kebalikan dari Forward Chaining. Percobaan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dan untuk menguji kebenaran hipotesis tersebut harus dicari fakta-fakta yang ada dalam basis pengetahuan. Proses pencarian dengan metode backward chaining berangkat dari kanan ke kiri, yaitu dari kesimpulan sementara menuju kepada premis, metode ini sering disebut gol driven pencarian dikendalikan oleh tujuan yang diberikan. Metode Backward Chaining merupakan strategi pencarian yang arahnya kebalikan dari Forward Chaining. Proses pencarian dimulai dari tujuan, yaitu kesimpulan yang menjadi solusi permasalahan yang dihadapi. Mesin inferensi mencari kaidah-kaidah dalam basis pengetahuan yang kesimpulannya merupakan solusi yang ingin dicapai, kemudian dari kaidah-kaidah yang diperoleh, masing-masing kesimpulan Backward Chaining jalur yang mengarah ke kesimpulan tersebut. Jika informasi-informasi atau nilai dari atribut-atribut yang mengarah ke kesimpulan tersebut sesuai dengan data yang diberikan maka kesimpulan tersebut merupakan solusi yang dicari, jika tidak sesuai maka kesimpulan tersebut bukan merupakan solusi
yang dicari. Backward Chaining memulai proses pencarian dengan suatu tujuan sehingga strategi ini disebut juga goal-driven.
Gambar 2.3 Proses Backward Chaining
2.3 Tanaman Kopi
Kopi adalah spesies tanaman berbentuk pohon dan termasuk dalam famili Rubiaceae. Tanaman ini tumbuh tegak, bercabang dan dapat mencapai tinggi 12 m. Tanaman kopi merupakan komoditas ekspor yang mempunya nilai ekonomis yang relative tinggi di pasaran duni, di samping merupakan salah satu komoditas unggulan yang dikembangkan. Sudah hamper tiga abad kopi diusahakan penanamannya di Indonesia untuk memenuhi kebutuhan konsumsi di dalam negeri maupun luar negeri. Lebih dari 90% tanaman kopi diusahakan rakyat. Di Dunia perdagangan dikenal beberapa golongan kopi, akan tetapi yang paling sering dibudidayakan adalah kopi arabika dan robusta.
Gambar 2.4 Tanaman Kopi
2.4
Penyakit Tanaman
Penyakit tanaman terbagi menjadi dua yaitu penyakit nonbiotis dan penyakit biotis. penyakit nonbiotis yaitu suatu penyakit pada tanaman yang disebabkan oleh organisme tak hidup misalnya difisiensi unsur hara, keracunan mineral, kelembaban, suhu, sinar yang tidak sesuai, kekurangan oksigen, polusi, dan reaksi tanah. Penyakit biotis. Penyakit biotis yaitu penyakit yang disebabkan organisme hidup yang kesemuanya adalah jasad renik atau mikroorganisme yaitu jamur, bakteri, virus, dan nematoda. Adapun penyakit-penyakit yang menyerang tanaman kopi adalah sebagai berikut : 1. Karat Daun Karat daun kopi (coffe leaf rust) sering juga disebut penyakit daun kopi (koffiebladziekte, Bld.) adalah penyakit kopi yang paling penting diseluruh dunia. Untuk indoensia penyakit ini merupakan penyakit yang terpenting pada kopi arabika(Coffea Arabica L). Penyakit ini disebabkan oleh patogen Hemileia vastarix B. et. Br. Yang merupakan penyakit utama pada tanaman kopi arabika, sedangkan pada tanaman kopi robusta penyakit ini tidak menjadi masalah.
2. Jamur Upas Penyakit jamur upas disebabkan oleh jamur Corticium salmonicolor B.et Br. Penyakit jamur upas adalah jamur yang polifag (dapat memarasit banyak tumbuhan) dan tercatat lebih dari 140 tumbuhan inang. Selain kopi, antara lain jamur upas dapat menyerang karet, teh, kakao, kina, jeruk, mangga, nangka, jati, apel, kelengkeng, dan melinjo. Penyakit ini banyak terdapat di kebun-kebun yang lembab, antara lain yang pemangkasannya kurang dan pohon pelindungnya terlalu berat. Penyakit lebih banyak terdapat di daerah yang curah hujannya agak tinggi.
3. Mati Ujung Penyakit mati ujung disebabkan oleh jamur Rhizoctonia sp. Jamur mengadakan infeksi melalui daun, dari sini meluas dan berkembang di dalam pembuluh kayu cabang dan batang. Di kebun pada bagian-bagian yang telah dipangkas jamur dapat membentuk sklerotium, yang terdiri dari gumpalan rantai pseudokonium.
Penyakit ini dibantu oleh suhu yang agak rendah dan hanya merugikan kebunkebun yang letaknya lebih tinggi dari 300-400 m. Jenis-jenis kopi mempunyai ketahanan yang berbeda-beda terhadap penyakit ini. Kopi arabika sedikit lebih tahan dari pada kopi robusta.
4. Bercak Daun Penyakit ini disebabkan oleh jamur Cercospora coffeicola yang dapat muncul di pembibitan sampai tanaman dewasa. Daun yang sakit timbul bercak berwarna kuning yang teping dikelilingi halo (lingkaran) berwarna kuning. Penyakit ini umumnya dijumpai di kebun dataran rendah yang kelembapan udaranya tinggi, di pesemaian yang terlalu gelap, dan pemberian peteduh yang terlalu rimbun.
5. Akar Coklat Penyakit ini disebabkan oleh jamur Fomes noxius Corner. Jamur akar coklat menular ke tanaman sehat karena adanya kontak antar akar yang sehat dengan yang sakit. Jamur menular dengan sangat lambat, penularan yang lambat ini disebabkan karena umumnya jamur hanya terdapat pada akar tunggang dan sebagian dari akar-akar cabang yang besar. Selain menyerang kopi antara lain jamur dapat menyerang karet, teh, kakao, kelapa sawit, kelapa, kina, kapok, kapas, dan nangka.
6. Kanker Belah Penyakit ini disebabkan oleh jamur Armillaria sp. Jamur menular dengan kontak akar dan dengan rizomorf. Ada kemungkinan bahwa jamur dapat dipencarkan dengan basidiospora, tetapi jamur ini belum pernah diketahui membentuk badan buah. Selain menyerang kopi arabika, jamur ini juga menyerang dadap, lamtoro, dan akasia.
7. Akar Hitam Penyakit ini disebabkan oleh jamur Rosellina bunodes. Jamur dapat menular dengan beberapa cara, yang terpenting adalah melalui kontak antara akar yang sehat dengan yang sakit. Tetapi selain itu jamur dapat juga menular dengan rizomorf di bawah tanah. Penyakit ini dapat menimbulkan kerugian yang berarti.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Permasalahan
Sistem pakar merupakan sistem yang terstruktur dengan basis pengetahuan yang dinamis. Pengetahuan yang ada pada sistem pakar dapat bertambah sehingga harus bisa ditambah maupun dihapus tanpa harus mengubah isi dari program secara keseluruhan. Jadi perubahan hanya dilakukan pada bagian basis pengetahuan saja.
Tahapan analisis terhadap suatu sistem dilakukan sebelum tahapan perancangan dilakukan. Tujuan diterapkannya analisis terhadap suatu sistem adalah untuk mngetahui alasan mengapa sistem tersebut diperlukan, merumuskan kebutuhankebutuhan dari sistem tersebut untuk mereduksi sumberdaya yang berlebih serta membantu merencanakan penjadwalan pembentukan sistem, sehingga fungsi yang terdapat didalam sistem tersebut bekerja secara optimal. Salah satu unsur pokok yang harus dipertimbangkan dalam tahap analisis sistem ini yaitu masalah perangkat lunak, karena perangkat lunak yang digunakan haruslah sesuai dengan masalah yang disesuaikan.
3.2 Diagnosis Penyakit Tanaman Kopi
Untuk perancangan basis pengetahuan, data didapat berdasarkan konsultasi dengan dengan pakar dan buku-buku mengenai penyakit tanaman kopi. Data yang dirancangn sedemikian rupa berdasarkan hubungan-hubungan permasalahan yang berkaitan satu sama lain
Gejala penyakit tanaman kopi dapat disebabkan oleh faktor biotis dan abiotis. Aplikasi ini dibuat hanya berdasarkan faktor biotis saja yaitu penyakit tanaman kopi yang disebabkan oleh organisme hidup yang kesemuanya adalah mikroorganisme yaitu jamur, bakteri, dan virus. Untuk itu diperlukan pengetahuan mengenai gejala fisik yang timbul pada tanaman kopi seperti pada daun, batang atau ranting,akar dan buah.
3.3 Penyakit Tanaman Kopi Pengumpulan data yang digunakan pada sistem pakar ini didapatkan dari berbagai sumber diantaranya seorang pakar, buku, internet dan sumber lainnya yang sesuai. Dari sumber informasi tersebut maka dapat diketahui beberapa penyakit yang meliputi jenis penyakit, gejala dan solusi untuk mengatasi penyakit yang menyerang tanaman kopi. Berikut ini adalah macam-macam penyakit yang menyerang tanaman kopi [10]: 1. Penyakit Karat Daun (Hemileia vastatrix) Gejala: a. Daun-daun gugur b. Terdapat bercak-bercak kuning pada daun c. Terbentuknya tepung bewarna jingga (orange) pada bercak kuning daun Solusi : Pengendalian dilakukan dengan dua cara, yaitu menanam jenis-jenis kopi arabika ysng tahan seperti S333, S288, S795 dan lakukan penyemprotan fungisida Dithane M 45 dengan dosis 2 gr/liter air. Daun-daun gugur
Terdapat bercak-bercak kuning pada daun
Terbentuknya tepung bewarna jingga (orange) pada bercak kuning daun
Penyakit Karat Daun
Pengendalian dilakukan dengan dua cara, yaitu menanam jenis-jenis kopi arabika ysng tahan seperti S333, S288, S795 dan lakukan penyemprotan fungisida Dithane M 45 dengan dosis 2 gr/liter air.
Gambar 3.1 Diagram Backtracking Penyakit Karat Daun
2. Peyakit Jamur Upas (Upasia Salmonicolor) Gejala : a. Cabang atau ranting terdapat benang-benang tipis seperti sarang labalaba b. Buah menjadi busuk, kering dan berwarna hitam Solusi : Pengendalian dilakukan melalui pemotongan batang atau cabang yang sakit sampai 10 cm di bawah pangkal dari bagian sakit.
Potongan dikumpulkan
kemudian dibakar. Buah-buah yang sakit dikumpulkan kemudian dibakar atau dipendam. Pohon pelindung dipangkas sehingga kelembapan kebun berkurang dan sinar matahari dapat masuk ke areal tanaman kopi. Cara lain Batang atau cabang yang sakit disemprot dengan fungisida Calixin RM (tridemorf).
Cabang atau ranting terdapat benangbenang tipis seperti sarang laba-laba Buah menjadi busuk, kering dan berwarna hitam
Peyakit Jamur Upas
Pengendalian dilakukan melalui pemotongan batang atau cabang yang sakit sampai 10 cm di bawah pangkal dari bagian sakit. Potongan dikumpulkan kemudian dibakar. Buahbuah yang sakit dikumpulkan kemudian dibakar atau dipendam. Pohon pelindung dipangkas sehingga kelembapan kebun berkurang dan sinar matahari dapat masuk ke areal tanaman kopi. Cara lain Batang atau cabang yang sakit disemprot dengan fungisida Calixin RM (tridemorf).
Gambar 3.2 Diagram Backtracking Penyakit Jamur Upas
3. Penyakit Mati Ujung (Rhizoctonia sp.) Gejala : a. Daun-daun gugur b. Menguningnya daun-daun c. Ujung batang, cabang, atau ranting menjadi kering dan mati Solusi : Memotong cabang-cabang atau batang yang mulai menunjukkan gejala penyakit. Pemotongan dilakukan sampai pada kayu yang sehat. Bagian-bagian yang
dipotong ini dibakar atau dipendam cukup dalam. Di daerah dimana banyak terdapat penyakit mati ujung untuk membuat pohon-pohon kopi yang berbatang 3 atau 4. Daun-daun gugur
Menguningnya daun
daun-
Penyakit Ujung
Mati
Ujung batang, cabang, atau ranting menjadi kering dan mati
Memotong cabang-cabang atau batang yang mulai menunjukkan gejala penyakit. Pemotongan dilakukan sampai pada kayu yang sehat. Bagianbagian yang dipotong ini dibakar atau dipendam cukup dalam. Di daerah dimana banyak terdapat penyakit mati ujung untuk membuat pohon-pohon kopi yang berbatang 3 atau 4.
Gambar 3.3 Diagram Backtracking Penyakit Mati Ujung
4. Penyakit Bercak Daun Cercospora (Cercospora Coffeicola) Gejala : a. Daun-daun gugur b. Terdapat bercak-bercak kuning pada daun c. Terdapat pusat yang berwarna putih kelabu pada bercak yang terdapat di daun Solusi : Dilakukan penyemprotan fungisida tembaga,mengurangi kelembapan dengan memotong daun-daun secara berkala, dan menurangi naungan atau peteduh. Jika penyakit belum meluas, bagian-bagian daun sakit digunting, daun-daun sakit yang telah gugur dikumpulkan, lalau semuanya dibakar atau dipendam.
Daun-daun gugur
Terdapat bercak-bercak kuning pada daun
Penyakit Bercak Daun Cercospora
Terdapat pusat yang berwarna putih kelabu pada bercak yang terdapat di daun
Dilakukan penyemprotan fungisida tembaga,mengurangi kelembapan dengan memotong daun-daun secara berkala, dan menurangi naungan atau peteduh. Jika penyakit belum meluas, bagianbagian daun sakit digunting, daun-daun sakit yang telah gugur dikumpulkan, lalau semuanya dibakar atau dipendam.
Gambar 3.4 Diagram Backtracking Penyakit Bercak Daun Cercospora
5. Penyakit Akar Coklat (Fomes Noxius Corner) Gejala : a. Akar tanaman menjadi busuk dan lunak b. Pada akar tanaman terdapat kerak seperti butir-butir tanah yang melekat kuat
Solusi : Pengendalian dilakukan dengan membongkar pohon terserang sampai ke akarny, lalu dibakar. Lubang bekas bongkaran dibiarkan terbuka selama ± 1 tahun. Pohon sehat di sekitar pohon sakit dan pohon-pohon sisipan ditaburi Trichoderma 200 gram/pohon dan pupuk kandang/pupuk organik.
Diulang
setiap 6 bulan sampai areal tersebut bebas dari jamur akar. Akar tanaman menjadi busuk dan lunak
Pada akar tanaman terdapat kerak seperti butir-butir tanah yang melekat kuat
Penyakit Bercak Daun Cercospora
Pengendalian dilakukan dengan membongkar pohon terserang sampai ke akarny, lalu dibakar. Lubang bekas bongkaran dibiarkan terbuka selama ± 1 tahun. Pohon sehat di sekitar pohon sakit dan pohon-pohon sisipan ditaburi Trichoderma 200 gram/pohon dan pupuk kandang/pupuk organik. Diulang setiap 6 bulan sampai areal tersebut bebas dari jamur akar.
Gambar 3.5 Diagram Backtracking Penyakit Akar Coklat
6. Penyakit Kanker Belah (Armillaria sp) Gejala : a. Daun tanaman menguning b. Gugurnya daun tanaman c. Terdapat celah-celah memanjang pada pangkal batang dan akar tunggang Solusi : Tanaman yang sakit di bongkar dengan teliti, batang dan semua akar yang sakit dibakar agar tidak dapat menjadi sumber infeksi. Lubang bekas bongkaran dibiarkan terbuka selama ± 1 tahun, tempat yang kosong boleh juga ditanami dengan rumput Guatemaala (Tripsacum Laxum Nash), dengan demikian diharapkan agar jamur yang berada dalam tanah mati.
Daun tanaman menguning
Gugurnya daun tanaman
Penyakit Kanker Belah
Terdapat celah-celah memanjang pada pangkal batang dan akar tunggang
Tanaman yang sakit di bongkar dengan teliti, batang dan semua akar yang sakit dibakar agar tidak dapat menjadi sumber infeksi. Lubang bekas bongkaran dibiarkan terbuka selama ± 1 tahun, tempat yang kosong boleh juga ditanami dengan rumput Guatemaala (Tripsacum Laxum Nash), dengan demikian diharapkan agar jamur yang berada dalam tanah mati.
Gambar 3.6 Diagram Backtracking Penyakit Kanker Belah
7. Penyakit Akar Hitam (Rosellian Bunodes) Gejala : a. Terdapat titik-titik hitam pada permukaan batang tanaman b. Pada batang dan akar tanaman terdapat benang-benang berwarna hitam c. Pohon mati secara mendadak Solusi : Pohon yang sakit dibongkar dengan teliti, semua akarnya diambil. Untuk membunuh jamur yang akan berkembang. Semua akar yang telah dibongkar dibakar dengan segera. Mengurangi peteduhnya dan diadakan drainasi.
Terdapat titik-titik hitam pada permukaan batang t Pada batang dan akar tanaman terdapat benang-benang berwarna hitam
Penyakit Akar Hitam
Pohon mati secara mendadak
Pohon yang sakit dibongkar dengan teliti, semua akarnya diambil. Untuk membunuh jamur yang akan berkembang. Semua akar yang telah dibongkar dibakar dengan segera. Mengurangi peteduhnya dan diadakan drainasi
Gambar 3.7 Diagram Backtracking Penyakit Akar Hitam
3.4 Analisis Komponen
Sebelum merancang suatu sistem, hal yang paling penting dilakukan adalah menganalisis sistem yang akan dibuat. Analisis komponen sistem pada sistem pakar diagnosis penyakit tanaman kopi yaitu :
3.4.1 Model Analisis
Data Flow Diagram (DFD) digunakan untuk menggambarkan aliran informasi dan proses data yang bergerak dari pemasukan data hingga keluaran. Data Flow Diagram memudahkan pemakai yang kurang menguasai bidang komputer untuk mengerti sistem yang akan dikerjakan atau dikembangkan. Data Flow Diagram dari sistem pakar diagnosis penyakit tanaman kopi dapat dilihat pada gambar 3.8, sedangkan untuk diagram level 1 dapat dilihat pada gambar 3.9 dan diagram level 2 dapat dilihat pada gambar 3.10, 3.11, 3.12, 3.13 dan 3.14.
Data Login
Update Pengetahuan Pakar
Pengetahuan
0 Sistem Pakar Diagnosis Penyakit Tanaman Kopi
Pengetahuan
Gejala Penyakit
Pengguna
Administrastor
Update Pengetahuan
Solusi Hak Akses
Gambar 3.8 DFD Level 0
Solusi Pakar
Jenis Penyakit
Administrator
Jenis Penyakit
Solusi Rekam Jenis Penyakit
4.0 Jenis Penyakit
5.0 Solusi
Rekaman Jenis Penyakit
Penyakit
Rekam Solusi
Rekaman Solusi
Solusi
Pengetahuan 3.0 Pengetahuan
Pengetahuan
Rekam Pengetahuan
Knowledge
Akses Sistem Administrator
Nama Pengguna Kata Kunci
Nama Pengguna Kata Kunci
Pakar
Pengguna
Akses sistem
Gejala
Rekaman Pengetahuan Nama Pengguna Kata Kunci List_user
1.0 Sistem Login Akses Sistem
Akses Sistem
2.0 Diagnosis
Fakta Fakta
Solusi
Gambar 3.9 DFD Level 1
Temp
Akses Sistem Nama Pengguna Password
Pengguna
Hak Akses
Akses Sistem
Administrator
Pakar Nama Pengguna Password
Nama Pengguna Baru Password
Nama Pengguna Password
Nama Pengguna Password Hak Akses
Hak Akses
Hak Akses 1.1 * Login 1.2 * Buat Pakar Baru
1.3 * Ubah Password Pakar
Nama Pengguna Password
Nama Pengguna Password
Nama Pengguna Password
Nama Pengguna Password
list_user
Hak Akses
1.4 * Hapus Pakar
Gambar 3.10 DFD Level 2 Proses Login
knowledge
Rekaman pengetahuan
Gejala
Pengguna
2.1 * Pertanyaan
Fakta ya/tidak
2.2 * Proses diagnosis
fakta
temp Solusi fakta
Gambar 3.11 DFD Level 2 Proses Diagnosis
ID Pengetahuan
Pakar
Administrator
Pengetahuan
Pengetahuan
Pengetahuan
ID Pengetahuan ID Pengetahuan
Pengetahuan
3.1 * Tambah Pengetahuan
ID Pengetahuan
3.2 * Ubah Pengetahuan
3.3 * Hapus Pengaturan
Rekam Rekaman Pengetahuan Pengetahuan
Rekam Pengetahuan
3.4 * Cari Pengetahuan
Rekam Pengetahuan Rekaman Pengetahuan Rekam Pengetahuan
Knowledge Rekaman Pengetahuan
Gambar 3.12 DFD Level 2 Proses Pengetahuan
ID Jenis Penyakit Administrator
Pakar
Jenis Penyakit
Jenis Penyakit
Jenis Penyakit
ID Jenis Penyakit
Jenis Penyakit 4.1 * Tambah Jenis Penyakit
Rekam Jenis Penyakit
ID Jenis Penyakit
4.4 * Cari Jenis Penyakit
4.3 * Hapus Jenis penyakit
4.2 * Ubah Jenis Penyakit
Rekaman Jenis Penyakit
ID Jenis Penyakit
Rekam Jenis Penyakit
Rekam Jenis Penyakit
Rekaman Jenis Penyakit Rekam Jenis Penyakit
Penyakit Rekaman Jenis Penyakit
Gambar 3.13 DFD Level 2 Proses Jenis Penyakit
ID Solusi
Pakar
Administrator
Solusi
Solusi
Solusi
ID Solusi
Solusi
5.1 * Tambah Solusi
ID Solusi
ID Solusi
5.2 * Ubah Solusi
Rekaman Solusi
5.3 * Hapus Solusi
Rekam Solusi
Rekam Solusi
Rekam Solusi
5.4 * Cari Solusi
Rekaman Solusi Rekam Solusi
Solusi Rekaman Solusi
Gambar 3.14 DFD Level 2 Proses Solusi
3.4.2 Spesifikasi Proses Spesifikasi dari DFD di atas adalah sebagai berikut : a. Proses Login Proses 1.1. Login 1) Masukan : User_ID, Pass, Level 2) Keluaran : Hak Akses Program 3) Proses
: Pengguna memasukkan User_ID, Pass dan Level dari form
Login. Kemudian mendapatkan hak akses masuk ke program.
Proses 1.2. Buat Pakar Baru 1) Masukan : User_ID, Pass, Level, Pass (Administrator) 2) Keluaran : Pakar baru masuk daftar pengguna 3) Proses
: Administrator memasukkan User_ID, Pass, Level dan Pass
(Administrator), user Pakar baru masuk ke database daftar pengguna.
Proses 1.3. Ubah Password Pakar 1) Masukan : User_ID, Pass, Pass (Administrator) 2) Keluaran : Password Pakar diganti 3) Proses
: Administrator memasukkan User_ID, Pass Pakar yang akan
diganti dan memasukkan Pass (Administrator), kemudian password pakar berganti.
Proses 1.4. Hapus Pakar 1) Masukan : User_ID, Pass (Administrator) 2) Keluaran : Pakar terhapus dari database 3) Proses
: Administrator memasukkan User_ID dan Pass(Administrator),
kemudian user pakar akan terhapus dari database.
b. Proses Diagnosis Proses 2.1. Pertanyaan 1) Masukan : Ya, Tidak 2) Keluaran : Fakta Ya, Fakta Tidak 3) Proses
: Pengguna menjawab pertanyaan, dan solusi akan muncul
setelah semua pertanyaan dijawab.
Proses 2.1. Proses Diagnosis 1) Masukan : Fakta Ya, Fakta Tidak 2) Keluaran : Saran dan Solusi 3) Proses
: Setiap pertanyaan yang dijawab masuk ke database Temp,
sebagai database sementara.
c. Proses Pengetahuan Proses 3.1. Tambah Pengetahuan 1) Masukan : ID, Pertanyaan, FaktaYA, FaktaTIDAK, Ya, Tidak, ID_Penyakit 2) Keluaran : Pengetahuan baru bertambah
3) Proses
: Administrator / Pakar memasukkan ID, Pertanyaan, FaktaYA,
FaktaTIDAK, Ya, Tidak, ID_Penyakitn, dan menekan tombol simpan untuk menyimpannya dalam database Pengetahuan.
Proses 3.2. Ubah Pengetahuan 1) Masukan : ID atau Pertanyaan atau ID_Penyakit 2) Keluaran : Pengetahuan diganti / diubah. 3) Proses
: Administrator / Pakar mencari dulu pengetahuan yang akan
diubah ID / Pertanyaan / ID_Penyakit dan merubah field ID, Pertanyaan, FaktaYA, FaktaTIDAK, Ya, Tidak, ID_Penyakit jika diperlukan, kemudian menekan tombol Simpan untuk menyimpan perubahannya dalam database pengetahuan.
Proses 3.3. Hapus Pengetahuan 1) Masukan : ID 2) Keluaran : Pengetahuan terhapus dari database 3) Proses
: Administrator / Pakar mencari dulu pengetahuan yang akan
dihapus, kemudian menekan tombol hapus untuk menghapusnya dari database pengetahuan.
Proses 3.4. Cari Pengetahuan 1) Masukan : ID / Pertanyaan / ID_Penyakit 2) Keluaran : Pengetahuan ditampilkan 3) Proses
:
Administrator
/
Pakar
mencari
pengetahuan
dengan
memasukkan ID / Pertanyaan / ID_Penyakit dan menekan tombol Cari untuk menampilkannya di layar.
d. Proses Jenis Penyakit Proses 4.1. Tambah Jenis Penyakit 1) Masukan : ID_Penyakit, Jenis_Penyakit 2) Keluaran : Jenis Penyakit baru bertambah
3) Proses
:
Administrator
/
Pakar
memasukkan
ID_Penyakit,
Jenis_Penyakit dan menekan tombol simpan untuk menyimpannya dalam database Jenis Penyakit.
Proses 4.2. Ubah Jenis Penyakit 1) Masukan : ID_Penyakit 2) Keluaran : Jenis Penyakit diganti / diubah. 3) Proses
: Administrator / Pakar mencari dulu Jenis Penyakit yang akan
diubah dan merubah field ID_Penyakit, Jenis_Penyakit jika diperlukan, kemudian menekan tombol Simpan untuk menyimpan perubahannya dalam database Jenis Penyakit.
Proses 4.3. Hapus Jenis Penyakit 1) Masukan : ID_Penyakit 2) Keluaran : Jenis Penyakit terhapus dari database 3) Proses
: Administrator / Pakar mencari dulu Jenis Penyakit yang akan
dihapus, kemudian menekan tombol hapus untuk menghapusnya dari database Jenis Penyakit.
Proses 4.4. Cari Jenis Penyakit 1) Masukan : ID_Penyakit 2) Keluaran : Jenis Penyakit ditampilkan 3) Proses
: Administrator / Pakar mencari Jenis Penyakit dengan
memasukkan
ID_Penyakit
dan
menekan
tombol
Cari
untuk
menampilkannya di layar.
e. Proses Solusi Proses 5.1. Tambah Solusi 1) Masukan : ID_Solusi, Solusi 2) Keluaran : Solusi baru bertambah 3) Proses
: Administrator / Pakar memasukkan ID_Solusi, Solusi dan
menekan tombol simpan untuk menyimpannya dalam database Solusi.
Proses 5.2. Ubah Solusi 1) Masukan : ID_Solusi 2) Keluaran : Solusi diganti / diubah. 3) Proses
: Administrator / Pakar mencari dulu Solusi yang akan diubah
dan merubah field ID_Solusi, Solusi jika diperlukan, kemudian menekan tombol Simpan untuk menyimpan perubahannya dalam database Solusi.
Proses 5.3. Hapus Solusi 1) Masukan : ID_Solusi 2) Keluaran : Solusi terhapus dari database 3) Proses
: Administrator / Pakar mencari dulu Solusi yang akan dihapus,
kemudian menekan tombol hapus untuk menghapusnya dari database Solusi.
Proses 5.4. Cari Solusi 1) Masukan : ID_Solusi 2) Keluaran : Solusi ditampilkan 3) Proses
: Administrator / Pakar mencari Solusi dengan memasukkan
ID_Solusi dan menekan tombol Cari untuk menampilkannya di layar.
3.4.3 Kamus Data
Kamus data berfungsi untuk membuat detail data yang dipersiapkan untuk fase implementasi. Kamus data yang digunakan dalam sistem terdiri dari kamus data tabel list_user, kamus data table penyakit, kamus data tabel knowledge dan kamus data tabel solusi. Berikut ini adalah keterang dari kamus data yang digunakan.
1. Kamus Data Tabel list_user
Field
Tipe
User_ID*
Text
Pass
Text
Keterangan Merupakan Nama pengguna untuk login kedalam program Password pengguna untuk masuk kedalam
Level
Text
program Merupakan level yang menentukan hak akses dari setiap pengguna
Keterangan * = primary key Tabel 3.1 Kamus data Tabel list_user
2. Kamus Data Tabel penyakit
Field Tipe ID_penyakit Text * Jenis_penya Text kit Keterangan * = primary key
Keterangan Merupakan id dari setiap jenis penyakit Jenis-jenis penyakit yang ada
Tabel 3.2 Kamus Data Tabel penyakit
3. Kamus Data Tabel knowledge
Field ID* pertanyaan FaktaYA FaktaTIDA K
Tipe Text Text Text
Keterangan Merupakan id dari setiap jenis penyakit Jenis-jenis penyakit yang ada Fakta jawaban dari pertanyaan jika Ya
Text
Fakta jawaban dari pertanyaan jika Tidak
Ya
Text
Tidak
Text
ID_penyakit Text ** Keterangan * = primary key Keterangan * * = foreign key
Aturan baru yang harus dilakukan jika pertanyaan dijawab Ya Aturan baru yang harus dilakukan jika pertanyaan dijawab Tidak Merupakan id dari setiap jenis penyakit
Tabel 3.3 Kamus data Tabel knowledge
4. Kamus Data Tabel solusi Field ID_solusi* solusi
Tipe Text Text
Keterangan Merupakan id dari setiap solusi Jenis-jenis solusi yang ada
Keterangan * = primary key Tabel 3.4 Kamus Data Tabel solusi
3.4.4 Entity Relationship Diagram FaktaTIDAK FaktaYA
ya
Pertanyaan ID_penyakit
Tidak
Jenis_penyakit ID_penyakit
ID
1
Penyakit
n
Memiliki
Knowledge
n User_id
Pass
level Memiliki
List User
ID_solusi
Temp
1
Solusi solusi
ID_temp
fakta
Gambar 3.15 Entity Relationship Diagram
3.5 Perancangan Struktur Program
Untuk mempermudah pembuatan sistem, diperlukan perancangan struktur menu program yang akan dibangun. Perancangan struktur menu program ini membantu dalam merancang bagian-bagian dari sistem yang sebenarnya dan untuk mengetahui bagian mana yang terlebih dahulu nantinya akan diakses setelah program tersebut selesai.
Login
Pengguna
Pakar
Edit Pengetahuan
Input Jenis Penyakit
Input Solusi
Menu utama
Pilih Jenis Penyakit
Diagnosis Penyakit
Solusi
Alasan dan Solusi
Gambar 3.16 Struktur Program
3.6 Perancangan Antarmuka
Antarmuka pemakai (user interface) adalah aspek sistem komputer atau program yang dapat dilihat, didengar, atau dipersepsikan oleh pengguna manusia, dan perintahperintah atau mekanisme yang digunakan pemakai ntuk mengendalikan operasi dan memasukkan data. Berikut ini merupakan perancangan antarmuka aplikasi sistem pakar diagnosis penyakit tanaman kopi yang terdiri atas beberapa bagian uatama , yaitu :
1) Form Sistem Login Perancangan form sistem login digunakan oleh pengguna untuk masuk ke dalam form menu utama untuk melakukan diagnosis, dan digunakan juga oleh seorang pakar atau administrator untuk melakukan perubahan data baik menambah maupun menghapus data pada basis pengetahuan dengan memasukkan username dan password yang sudah dibuat sebelumnya.
Sistem Login 1
Sistem Pakar Diagnosis Penyakit Tanaman Kopi
2
3
Sistem Login
Buat Pakar Baru 12
4 Level :
7
Ganti Password Pakar13
5 Username :
8
Hapus Pakar
6 Password :
9 10
Masuk
11
14
Keluar
Gambar 3.17 Rancangan Form Sistem Login Keterangan Judul form Label SkinLabel Frame ComboBox TextBox CommandButton
:1 : 12,13,14 : 2,4,5,6 :3 :7 : 8,9 : 10,11
2) Form Menu Utama Perancangan form menu utama merupakan form utama pada saat pengguna atau pakar/admin mengakses sistem ini. Disini seorang pengguna akan dapat melanjutkan ke form pilih penyakit dengan mengklik tombol diagnosis, sedangkan seorang pakar/admin dapat mengubah basis pengetahuan dengan mengklik tombol edit pengetahuan dimana sebelumnya pakar/admin sudah memasukan username dan password pada form sistem login sebelumnya.
Menu Utama 1 Sistem
Diagnosis
Tentang
2
3
4
Sistem Pakar Diagnosis Penyakit Tanaman Kopi
6
7
Edit Pengetahuan
5
Diagnosis
Gambar 3.18 Rancangan Form Menu Utama Keterangan Judul form Menu Picture CommandButton
:1 : 2,3,4 :5 : 6,7
3) Form Pilih Penyakit Perancangan form pilih penyakit merupakan form yang akan digunakan oleh seorang pengguna untuk memilih jenis penyakit tanaman yang diperkirakan telah terinfeksi, sehingga dapat memudahkan seorang pengguna dalam melanjutkan ke form pertanyaan (gejala). Form Pilih Penyakit
1
5 Pilihlah Jenis Penyakit yang Diperkirakan
2
3
Proses
4
Gambar 3.19 Rancangan Form Plih Penyakit
Keterangan Judul form SkinLabel Frame ComboBox CommandButton
:1 :2 :5 :3 :4
4) Form Pertanyaan Perancangan form pertanyaan merupakan form yang digunakan oleh pengguna umtuk memilih gejala yang terjadi pada tanaman, sehingga sistem akan mengeluarkan kesimpulan berupa jenis penyakit yang terinfeksi dan solusinya.
Form Pertanyaan
1
2
Pertanyaan 6
Ya
Tidak 4
3
5
Selesai
Gambar 3.20 Rancangan Form Pertanyaan Keterangan Judul form Label Frame CommandButton
:1 :6 :2 : 3,4,5
5) Form Data Penyakit Perancangan form data penyakit merupakan form yang digunakan oleh seorang pakar/admin untuk menambah, mengubah, atau menghapus data jenis penyakit.
1
Form Penyakit 2 3
4
Tambah
Simpan
9 ID Penyakit
14
10 Nama Penyakit
15
11
5
6
Batal
Ubah
7
8
Hapus
Keluar
Pencarian Cari Berdasarkan
16
17
12
DataGrid 13
Gambar 3.21 Rancangan Form Data Penyakit Keterangan Judul form SkinLabel Frame ComboBox TextBox CommandButton DataGrid
:1 : 9,10, 12 : 2,11 : 16 : 14,15,17 : 3,4,5,6,7,8 : 13
6) Form Data Solusi Perancangan form data solusi merupakan form yang digunakan oleh seorang pakar/admin untuk menambah, mengubah, atau menghapus data solusi.
Form Solusi
1
2 3 Tambah
4 Simpan
9 ID Solusi 10
5 Batal
6 Ubah
8 Keluar
7 Hapus
11
Solusi
12
13 Pencarian Cari Berdasarkan 14
DataGrid
15
16
17
Gambar 3.22 Rancangan Form Data Solusi Keterangan Judul form SkinLabel Frame ComboBox TextBox CommandButton DataGrid
:1 : 9,10,14 : 2,13 : 15 : 11,12,16 : 3,4,5,6,7,8 : 17
7) Form Hasil Diagnosis Perancangan form hasil diagnosis merupakan form yang menampilkan jenis penyakit beserta gambarnya dan solusi untuk mengatasi penyakit tersebut.
Form Hasil DIagnosis 2 Hasil Diagnosis dan Pengendaliannya Solusi Nama Penyakit
Gambar
4
1
3
6
5
7
Alasan
Selesai
8
Gambar 3.23 Rancangan Form Hasil Diagnosis Keterangan Judul form SkinLabel Image CommandButton
:1 : 2,3,4,6 :5 : 7,8
8) Form Basis Pengetahuan Perancangan form basis pengetahuan merupakan form yang digunakan oleh seorang pakar/admin untuk mengatur basis aturan dan menambah, mengubah, atau menghapus pertanyaan berupa gejala peyakit tanaman yang akan ditampilkan sistem kepada seorang pengguna untuk melakukan diagnosis penyakit.
Form Basis Pengetahuan 2
3
4
5
6
1
7
30 Input Jenis Penyakit
Tambah
Simpan
Ubah
Batal
Hapus
Keluar
29 DataGrid
8 9
ID Gejala
18
Penyakit
31
19
10 ID Penyakit
20
Gejala/Pertanyaan
21 11
12 Fakta YA
Input Solusi
13 Fakta TIDAK 14 Jika YA
32
22 23 DataGrid
24 33
15 Jika TIDAK
25
Pencarian
16 Cari Berdasarkan
26
27
17
DataGrid
28
Gambar 3.24 Rancangan Form Basis Pengetahuan Keterangan Judul form SkinLabel Frame ComboBox TextBox CommandButton DataGrid
:1 : 8,9,10,11,12,13,14,15,17 : 29,16 : 19,24,25,26 : 18,20,21,22,23,27 : 2,3,4,5,6,7,30,32 : 28,31,33
BAB 4 IMPLEMENTASI SISTEM
4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak
Dalam proses pembuatan aplikasi, konfigurasi perangkat keras yang digunakan adalah processor intel Pentium(R) D CPU 3,2 GHz, RAM 1 GB, dengan sistem operasi Microsoft Windows XP Professional Service Pack 2. Tapi program ini dapat dijalankan dengan konfigurasi minimal komputer sebagai berikut : 1. Processor Intel Pentium III 660 MHz 2. RAM 256 MB 3. Operating System Windows XP 4. Hard disk 4 GB 5. VGA Card 256 color, 640 x 480 pixel 6. Mouse
7. Keyboard
4.2 Implementasi Sistem
Implementasi dari sistem merupakan tahap akhir dari proses pengembangan sistem aplikasi setelah melalui tahapan perancangan. Agar proses implementasi dari perangkat lunak dapat bekerja secara sempurna, maka terlebih dahulu perangkat lunak tersebut harus diuji untuk mengetahui kelemahan dan kesalahan yang ada untuk kemudian dievaluasi.
4.2.1 Halaman Sistem Login
Pada saat apikasi sistem pakar diagnosis penyakit tanaman kopi dijalankan, maka akan tampil halaman sistem login. Disini akan ditentukan level pengguna yang akan menggunakan aplikasi ini. Jika memilih level pakar dengan memasukkan username dan password yang sebelumnya telah dibuat maka akan diberikan fasilitas untuk melakukan perubahan data baik menambah maupun menghapus data pada basis pengetahuan. Halaman ini juga menyediakan fasilitas untuk membuat pakar baru, mengganti password yang sebelumnya sudah dibuat dan bahkan dapat menghapus pakar dengan memasukkan password dari administrator.
Gambar 4.1 Halaman Sistem Login
4.2.2 Halaman Menu Utama
Pada menu utama terdapat dua tombol yaitu tombol edit pengetahuan dan diagnosis, untuk level pengguna hanya bisa menggunakan fasilitas tombol diagnosis dan dilanjutkan dengan menjawab pertanyaan yang telah disediakan oleh sistem, sedangkan level pakar dapat menggunakan fasilitas mengubah basis pengetahuan baik menambah maupun menghapus data.
Gambar 4.2 Halaman Menu Utama
4.2.3 Halaman Pilih Penyakit
Pada halaman ini level pengguna dapat memilih salah satu jenis penyakit tanaman kopi yang diperkirakan telah terinfeksi, jika telah dipilih kemudian akan dilanjutkan dengan mengklik tombol proses yang akan dilanjutkan pada halaman pertanyaan.
Gambar 4.3 Halaman Pilih Penyakit
4.2.4 Halaman Pertanyaan
Halaman pertanyaan digunakan oleh pengguna untuk memilih pertanyaan ya atau tidak yang terjadi pada tanaman, sehingga sistem akan mengeluarkan kesimpulan berupa jenis penyakit yang terinfeksi dan solusinya.
Gambar 4.4 Halaman Pertanyaan
4.2.5 Halaman Data Penyakit
Halaman penyakit digunakan oleh level pakar untuk menambah, mengubah, atau menghapus data jenis penyakit. Untuk lebih jelasnya pakar dapat memasukan ID penyakit dan jenis penyakit ke dalam basis pengetahuan.
Gambar 4.5 Halaman Data Penyakit
4.2.6 Halaman Data Solusi
Halaman penyakit digunakan oleh level pakar untuk menambah, mengubah, atau menghapus data solusi. Untuk lebih jelasnya pakar dapat memasukan ID solusi dan solusi ke dalam basis pengetahuan.
Gambar 4.6 Halaman Data Solusi
4.2.7 Halaman Hasil Diagnosis
Halaman solusi merupakan halaman yang digunakan oleh level pengguna yang sebelumnya telah menjawab pertanyaan yang ada pada halaman pertanyaan sehingga sistem akan menampilkan hasil berupa jenis, gambar dan solusi dari penyakit yang ada. Kemudian pengguna dapat mengklik tombol alasan untuk mengetahui jawaban dari pertanyaan apa yang dijawab sebelumnya.
Gambar 4.7 Halaman Hasil Diagnosis
4.2.8 Halaman Basis Pengetahuan
Halaman basis pengetahuan digunakan oleh level pakar untuk memasukkan pertanyaan berupa gejala-gejala penyakit tanaman kopi dan mengatur aturan yang akan berjalan di dalam sistem dan akan ditampilkan kepada level pengguna untuk melakukan diagnosis penyakit
Gambar 4.8 Halaman Basis Pengetahuan
4.3 Pengujian Sistem
Setelah proses implementasi sistem selesai dihasilkan sebuah program sistem pakar yang siap digunakan. Sebelum itu diperlukan pengujian untuk kemampuan dari program ini. Pengujian ini juga berguna untuk mengetahui kesalahan-kesalahan yang terjadi dikaernakan proses coding dari program. Pengujian sistem dilakukan dari proses tanya jawab dengan sistem dan hasil outputnya akan dibandingkan dengan basis pengetahuan yang ada berdasarkan aturan masing-masing dan jika hasil output sama maka dapat disimpulkan pada pengujian ini sistem pakar sudah bekerja sebagaimana rancangan sistem yang dibuat. Berikut beberapa contoh hasil pengujian sistem : 1. Proses tanya jawab pada sistem untuk menentukan penyakit bercak daun : Sistem
: Apakah daun rontok?
Pengguan : Ya Sistem
: Apakah terdapat bercak-bercak kuning pada daun?
Pengguna : Ya
Sistem
: Apakah terbentuk tepung berwarna jingga(orange) pada bercak kuning daun?
Pengguna : Tidak Sistem
: Apakah terdapat pusat yang berwarna puntih kelabu pada bercak yang terdapat di daun?
Pengguna : Ya
Hasli Diagnosis Penyakit : Bercak daun
Solusi : Dilakukan penyemprotan fungisida tembaga,mengurangi kelembapan dengan memotong daun-daun secara berkala, dan menurangi naungan atau peteduh. Jika penyakit belum meluas, bagian-bagian daun sakit digunting, daun-daun sakit yang telah gugur dikumpulkan, lalau semuanya dibakar atau dipendam.
Dari hasil proses tanya jawab pada sistem, diperoleh penyakit karat daun mempunyai ciri-ciri: 1. Daun rontok 2. Terdapat bercak-bercak kuning pada daun 3. Terdapat pusat yang berwarna puntih kelabu pada bercak yang terdapat di daun
2. Proses tanya jawab pada sistem untuk menentukan penyakit karat daun : Sistem
: Apakah daun rontok?
Pengguan : Ya Sistem
: Apakah terdapat bercak-bercak kuning pada daun?
Pengguna : Ya Sistem
: Apakah terbentuk tepung berwarna jingga(orange) pada bercak kuning daun?
Pengguna : ya
Hasli Diagnosis Penyakit : Karat daun
Solusi : menggunakan fungisida Dithane M 45 dengan konsentrasi 0,2 % atau 2 cc per liter air dengan interval penyemprotan 2 minggu sekali; penyemprotan dilakukan pada awal mulainya hujan lebat dengan memperhatikan cara-cara penyemprotan
Dari hasil proses tanya jawab pada sistem, diperoleh penyakit karat daun mempunyai ciri-ciri: 1. Daun rontok 2. Terdapat bercak-bercak kuning pada daun 3. terbentuk tepung berwarna jingga(orange) pada bercak kuning daun
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah melakukan pembahasan dari skripsi ini, maka dapat ditarik beberapa kesimpulan sebagai berikut:
1. Admin dapat melakukan proses penambahan, pengeditan, penghapusan data untuk jenis penyakit, pertanyaan, dan solusi di dalam basis pengetahuan sehingga informasi dapat berkembang sesuai dengan perkembangan penyakit tanaman kopi sehingga nantinya sistem akan dapat memberikan informasi yang tepat. 2. Sistem pakar untuk mendiagnosis penyakit tanaman kopi ini telah mampu memberikan informasi kepada pengguna mengenai jenis penyakit yang terinfeksi berdasarkan gejala-gejala yang diberikan. 3. Sistem pakar ini dapat menampilkan hasil diagnosa yang disertai dengan solusi dari penyakit serta penelusuran dari gejala-gejala penyakit yang diderita.
5.2 Saran
Berikut adalah saran-saran untuk pengembangan lebih lanjut terhadap aplikasi sistem pakar yang telah dibangun. 1. Adanya pengembangan dalam sistem untuk mendiagnosis penyakit yang disebabkan oleh hama.
2. Perlunya penambahan data untuk jenis penyakit nonbiotis beserta gejala dan solusinya sehingga informasi yang dimiliki akan semakin luas 3. Sistem ini diharapkan dapat diaplikasikan ke dalam sistem online agar dikenal luas oleh pengguna melalui jaringan internet. 4. Menambahkan pengetahuan yang lebih lengkap dari pakar yang berbeda. 5. Sistem ini diharapkan dapat memberikan informasi yang akurat dengan melakukan percobaan-percobaan menggunakan banyak kombinasi data penyakit sehingga dapat menjadi perbandingan dalam penentuan jenis penyakit.
DAFTAR PUSTAKA
[1] Arhami, Muhammad. 2005. Konsep Dasar Sistem Pakar. Yogyakarta: Andi Offset. [2] Andi. 2003. Pengembangan Sistem Pakar Menggunakan Visual Basic. Yogyakarta: Andi Offset. [3] Dhany, Shafia. 2009. Perancangan Sistem Pakar Untuk Diagnosa Penyakit Anak Skripsi. Medan: Universitas Sumatera Utara. [4] Kristanto, Harianto. 2004. Konsep dan Perancangan Database. Yogyakarta : Andi [5] Kurniadi, Adi. 2000. Pemrograman Microsoft Visual Basic 6. Jakarta.PT Elex Media Komputindo. [6] Kusrini. 2008. Aplikasi Sistem Pakar. Yogyakarta: Andi [7] Kusumadewi, Sri. 2003. Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta: Graha Ilmu. [8] Prasetyo, Dwi. D. 2004. Aplikasi Bisnis dan Perkantoran Menggunakan Visual Basic. Jakarta. PT Elex Media Komputindo. [9] Sanjaya, R. Dan Helmy. 2004. Mempercantik Desain Form pada Visual Basic 6.0. Jakarta : PT Elex Media Komputindo. [10] Semangun, Haryanto. 1989. Penyakit-Penyakit Tanaman Indonesia. Yogyakarta: Gadjah Mada University Press.
Perkebunan
[11] Setiawan, A, H. 2009. Sistem Pakar Diagnosa Penyakit Tanaman Padi Berbasis Web dengan Metode Forward Chaining dan Backward Chaining. Jurnal Akademik. Yogyakarta: Sekolah Tinggi Teknologi Adisutjipto. [12] Tim Karya Tani Mandiri. 2010. Pedoman Budi Daya Tanaman Kopi. Bandung: Nuansa Aulia. [13] Turban, E. 2005. Decision Support Systems and Intelligent Systems. Yogyakarta: Andi. [14] Yanti, Dewi. 2008. Perancangan Sistem Pakar Diagnosis Penyakit Utama Tanaman Kelapa Sawit. Skripsi. Medan: Universitas Sumatera Utara. [15] Yuswanto. 2004. Pemrograman Client-Server Microsoft Visual Basic 6.0. Jilid 1. Jakarta. Prestasi Pustakaraya.
LAMPIRAN : LISTING PROGRAM
Kode Program Form Login Private Sub cboLevel_Click() If cboLevel.Text = "Pengguna" Then txtLogin.Enabled = False txtPass.Enabled = False txtLogin.Visible = False txtPass.Visible = False SkinLabel2.Visible = False SkinLabel3.Visible = False ElseIf cboLevel.Text = "Pakar" Then txtLogin.Enabled = True txtPass.Enabled = True txtLogin.Text = "" txtPass.Text = "" txtLogin.SetFocus ElseIf cboLevel.Text = "Administrator" Then txtLogin.Enabled = True txtPass.Enabled = True txtLogin.Text = "" txtPass.Text = "" txtLogin.SetFocus End If cmdMasuk.Enabled = True End Sub Private Sub cmdKeluar_Click() Unload Me End Sub Private Sub cmdMasuk_Click() On Error GoTo login_err If cboLevel.Text = "Pengguna" Then userid = "Pengguna" levelid = "Pengguna" frmUtama.Show Unload Me Exit Sub Else If txtLogin.Text = "" Then MsgBox "Masukkan User ID !", vbCritical txtLogin.SetFocus Exit Sub End If If Not validity(txtLogin, "User ID") Then txtLogin.SetFocus Exit Sub End If If txtPass.Text = "" Then MsgBox "Masukkan Password !", vbCritical txtPass.SetFocus Exit Sub
End If If Not validity(txtPass, "Password") Then txtPass.SetFocus Exit Sub End If konek_db Dim sql As String Set adoRS = New ADODB.Recordset sql = "select * from list_user where user_id = '" & txtLogin.Text_ & "' and pass = '" & Crypt(txtPass.Text) & "'" adoRS.Open sql, Conn, adOpenDynamic, adLockOptimistic If (adoRS.EOF) Then MsgBox "User ID dan Password salah! Coba Lagi !", vbCritical, "Peringatan" txtLogin.Text = "" txtPass.Text = "" txtLogin.SetFocus Call closeconn Exit Sub End If levelid = adoRS!Level Call closeconn userid = txtLogin.Text Unload Me frmUtama.Show End If Exit Sub login_err: MsgBox Err.Description End Sub Private Sub Label6_Click() frmUserBaru.Show vbModal End Sub Private Sub Label7_Click() frmGantiPass.Show vbModal End Sub Private Sub Label9_Click() frmHapusUser.Show vbModal End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path & "\SKIN\green.skn" Skin1.ApplySkin hWnd cboLevel.AddItem "Pengguna" cboLevel.AddItem "Pakar" cboLevel.AddItem "Administrator" cmdMasuk.Enabled = False End Sub Private Sub Timer1_Timer() Label6.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255) End Sub
Kode Program Form Utama Private Sub cmdDiagnosis_Click() frmPilihPenyakit.Show vbModal End Sub Private Sub cmdPengetahuan_Click() frmPengetahuan.Show vbModal End Sub Private Sub Form_Activate() Call Form_Load End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path & "\SKIN\green.skn" Skin1.ApplySkin hWnd konek_db StatusBar1.Panels(1) = userid StatusBar1.Panels(2) = levelid If levelid = "Pengguna" Then cmdPengetahuan.Visible = False mnBasis.Visible = False Else cmdPengetahuan.Visible = True mnBasis.Visible = True End If End Sub Private Sub Form_Unload(Cancel As Integer) diskonek_db Unload Me End End Sub Private Sub mnDiagnosisPenyakit_Click() frmPilihPenyakit.Show vbModal End Sub Private Sub mnEdit_Click() frmPengetahuan.Show vbModal End Sub Private Sub mnKeluar_Click() Dim pesan pesan = MsgBox("Anda yakin mau keluar dari program ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi") If pesan = vbYes Then Unload Me End If End Sub Private Sub mnLogOff_Click() Dim pesan pesan = MsgBox("Anda yakin mau Log-Off dari sistem?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi") If pesan = vbYes Then frmLogin.Show Me.Hide End If End Sub
Private Sub mnPembuat_Click() frmPembuat.Show vbModal End Sub Private Sub mnProgram_Click() frmProgram.Show vbModal End Sub
Kode Program Form Diagnosis Private Sub cmdSelesai_Click() Me.Hide End Sub Private Sub cmdYa_Click() On Error Resume Next rsTemp.AddNew rsTemp!ID_temp = rsKnowledge!ID rsTemp!fakta = rsKnowledge!faktaYA rsTemp.Update jwb = rsKnowledge!Ya If Left(jwb, 1) = "T" Then rsKnowledge.MoveFirst rsKnowledge.Find " ID= '" & jwb & "' " Label1.Caption = rsKnowledge!pertanyaan Else rsSolusi.MoveFirst rsSolusi.Find " ID_solusi= '" & jwb & "' " frmHasilDiagnosis.Label1.Caption = rsSolusi!solusi frmHasilDiagnosis.Image1.Picture = LoadPicture(App.Path & "\xfoto\" & rsSolusi!foto) frmHasilDiagnosis.Label2.Caption = rsSolusi!diagnosis frmHasilDiagnosis.Show vbModal End If End Sub Private Sub cmdTIDAK_Click() On Error Resume Next rsTemp.AddNew rsTemp!ID_temp = rsKnowledge!ID rsTemp!fakta = rsKnowledge!faktaTIDAK rsTemp.Update jwb = rsKnowledge!Tidak If Left(jwb, 1) = "T" Then rsKnowledge.MoveFirst rsKnowledge.Find " ID= '" & jwb & "' " Label1.Caption = rsKnowledge!pertanyaan Else rsSolusi.MoveFirst rsSolusi.Find " ID_solusi= '" & jwb & "' " frmHasilDiagnosis.Label1.Caption = rsSolusi!solusi frmHasilDiagnosis.Image1.Picture = LoadPicture(App.Path & "\xfoto\" & rsSolusi!foto) frmHasilDiagnosis.Label2.Caption = rsSolusi!diagnosis frmHasilDiagnosis.Show vbModal End If End Sub
Private Sub Form_Activate() Call Form_Load End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path & "\SKIN\green.skn" Skin1.ApplySkin hWnd rsTemp.Requery While Not rsTemp.EOF rsTemp.Delete rsTemp.MoveNext Wend rsKnowledge.MoveFirst Select Case frmPilihPenyakit.cboPenyakit.ListIndex Case 0 rsKnowledge.Find " ID='T1' " Label1.Caption = rsKnowledge!pertanyaan Case 1 rsKnowledge.Find " ID='T15' " Label1.Caption = rsKnowledge!pertanyaan Case 2 rsKnowledge.Find " ID='T8' " Label1.Caption = rsKnowledge!pertanyaan Case 3 rsKnowledge.Find " ID='T1' " Label1.Caption = rsKnowledge!pertanyaan Case 4 rsKnowledge.Find " ID='T22' " Label1.Caption = rsKnowledge!pertanyaan Case 5 rsKnowledge.Find " ID='T20' " Label1.Caption = rsKnowledge!pertanyaan Case 6 rsKnowledge.Find " ID='T22' " Label1.Caption = rsKnowledge!pertanyaan End Select End Sub Private Sub Form_Unload(Cancel As Integer) Call cmdSelesai_Click End Sub
Kode Program Form Pengetahuan Public baru As Boolean Dim rsRusak As New ADODB.Recordset Private Sub cboCari_Click() txtCari.Text = "" txtCari.SetFocus End Sub Private Sub cmdBatal_Click() KunciTeks True tombolAwal True Adodc1.Recordset.Cancel
KosongkanForm End Sub Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi") If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If Exit Sub hapusErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub cmdInputPenyakit_Click() frmPenyakit.Show vbModal End Sub Private Sub cmdInputSolusi_Click() frmSolusi.Show vbModal End Sub Private Sub cmdKeluar_Click() Me.Hide End Sub Private Sub cmdSimpan_Click() On Error GoTo simpanErr If txtIDKnowledge.Text = Empty Or _ cboPenyakit.Text = "" Or _ txtPertanyaan.Text = Empty Or _ txtFaktaYA.Text = Empty Or _ txtFaktaTIDAK.Text = Empty Or _ cboYA.Text = Empty Or _ cboTIDAK.Text = Empty Then MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan" txtIDKnowledge.SetFocus Else Dim rsCek As ADODB.Recordset Set rsCek = New ADODB.Recordset rsCek.Open "select * from knowledge where ID='" & txtIDKnowledge.Text & "'", Conn If Not rsCek.EOF And baru Then MsgBox "Aturan dengan kode " & txtIDKnowledge.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan" txtIDKnowledge.SetFocus: SendKeys "{HOME}+{END}" Else With Adodc1.Recordset If baru Then .AddNew !ID = txtIDKnowledge.Text
!ID_penyakit = txtIDPenyakit.Text !pertanyaan = txtPertanyaan.Text !faktaYA = txtFaktaYA.Text !faktaTIDAK = txtFaktaTIDAK.Text !Ya = cboYA.Text !Tidak = cboTIDAK.Text .Update MsgBox "Data berhasil disimpan !", vbInformation, "Informasi" KunciTeks True tombolAwal True KosongkanForm End With End If End If Exit Sub simpanErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub cmdTambah_Click() baru = True KunciTeks False tombolAwal False txtIDKnowledge.SetFocus End Sub Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci cmdSimpan.Enabled = Not kunci cmdBatal.Enabled = Not kunci cmdUbah.Enabled = kunci cmdHapus.Enabled = kunci cmdKeluar.Enabled = kunci End Sub Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False tombolAwal False With Adodc1.Recordset txtIDKnowledge.Text = !ID txtIDPenyakit.Text = !ID_penyakit txtPertanyaan.Text = !pertanyaan txtFaktaYA.Text = !faktaYA txtFaktaTIDAK.Text = !faktaTIDAK cboYA.Text = !Ya cboTIDAK.Text = !Tidak Set rsRusak = New ADODB.Recordset rsRusak.Open "select * from penyakit where ID_Penyakit='" & txtIDPenyakit.Text & "'", Conn cboPenyakit.Text = rsRusak!jenis_penyakit End With
txtIDKnowledge.SetFocus baru = False Exit Sub ubahErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub Form_Activate() Dim i As Integer For i = 0 To 6 gridKnowledge.Columns(i).Locked = True Next i For i = 0 To 1 gridPenyakit.Columns(i).Locked = True gridSolusi.Columns(i).Locked = True Next i cboCari.AddItem "ID Pengetahuan" cboCari.AddItem "Pertanyaan" cboCari.AddItem "ID Penyakit" 'If Not rsPenyakit.EOF Then cboPenyakit.Clear rsPenyakit.MoveFirst While Not rsPenyakit.EOF cboPenyakit.AddItem rsPenyakit!jenis_penyakit rsPenyakit.MoveNext Wend 'End If 'If Not rsKnowledge.EOF Then cboYA.Clear cboTIDAK.Clear rsKnowledge.MoveFirst While Not rsKnowledge.EOF cboYA.AddItem rsKnowledge!ID cboTIDAK.AddItem rsKnowledge!ID rsKnowledge.MoveNext Wend 'End If 'If Not rsSolusi.EOF Then rsSolusi.MoveFirst While Not rsSolusi.EOF cboYA.AddItem rsSolusi!ID_solusi cboTIDAK.AddItem rsSolusi!ID_solusi rsSolusi.MoveNext Wend 'End If End Sub Private Sub Form_Load() KunciTeks True tombolAwal True Adodc1.ConnectionString = Conn.ConnectionString Adodc1.RecordSource = "select * from knowledge"
Adodc1.Refresh Set gridKnowledge.DataSource = Adodc1 Adodc3.ConnectionString = Conn.ConnectionString Adodc3.RecordSource = "select * from penyakit" Adodc3.Refresh Set gridPenyakit.DataSource = Adodc3 Adodc2.ConnectionString = Conn.ConnectionString Adodc2.RecordSource = "select * from solusi" Adodc2.Refresh Set gridSolusi.DataSource = Adodc2 gridPenyakit.Columns(0).Width = 400 gridPenyakit.Columns(1).Width = 5000 gridSolusi.Columns(0).Width = 400 gridSolusi.Columns(1).Width = 5000 gridKnowledge.Columns(0).Width gridKnowledge.Columns(4).Width gridKnowledge.Columns(5).Width gridKnowledge.Columns(6).Width
= = = =
400 400 400 400
Skin1.LoadSkin App.Path & "\SKIN\green.skn" Skin1.ApplySkin hWnd End Sub Sub KosongkanForm() txtIDKnowledge.Text = Empty txtIDPenyakit.Text = Empty cboPenyakit.Text = Empty txtPertanyaan.Text = Empty txtFaktaYA.Text = Empty txtFaktaTIDAK.Text = Empty cboYA.Text = Empty cboTIDAK.Text = Empty End Sub Sub KunciTeks(kunci As Boolean) txtIDKnowledge.Locked = kunci cboPenyakit.Locked = kunci txtPertanyaan.Locked = kunci txtFaktaYA.Locked = kunci txtFaktaTIDAK.Locked = kunci cboYA.Locked = kunci cboTIDAK.Locked = kunci End Sub Private Sub cboPenyakit_Click() On Error GoTo rusakErr Set rsRusak = New ADODB.Recordset rsRusak.Open "select * from penyakit where jenis_penyakit='" & cboPenyakit.Text & "'", Conn txtIDPenyakit.Text = rsRusak!ID_penyakit Exit Sub
rusakErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Sub DaftarCari() On Error GoTo pesan Dim adofilter As New ADODB.Recordset Set adofilter = New ADODB.Recordset Dim sqlc As String adofilter.CursorLocation = adUseClient Select Case cboCari.Text Case "ID Pengetahuan" sqlc = "SELECT * FROM knowledge where ID like " & "'%" & txtCari.Text & "%'" & _ "ORDER BY ID" Case "Pertanyaan" sqlc = "SELECT * FROM knowledge where pertanyaan like " & "'%" & txtCari.Text & "%'" & _ "ORDER BY ID" Case "ID Penyakit" sqlc = "SELECT * FROM knowledge where ID_Penyakit like " & "'%" & txtCari.Text & "%'" & _ "ORDER BY ID" Case Else MsgBox "Pilih dulu mau mencari berdasarkan apa !", vbExclamation, "Peringatan" 'txtCari.Text = "" cboCari.SetFocus Exit Sub End Select adofilter.Open sqlc, Conn, adOpenDynamic, adLockOptimistic If Not adofilter.EOF Then Set gridKnowledge.DataSource = adofilter Set Adodc1.Recordset = adofilter Else MsgBox "Maaf, data yang anda cari tidak terdapat pada database !", vbInformation, "Informasi" txtCari.Text = "" End If Exit Sub pesan: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub txtCari_Change() DaftarCari End Sub
Kode Program Form Penyakit Public baru As Boolean Private Sub cmdBatal_Click() KunciTeks True tombolAwal True Adodc1.Recordset.Cancel KosongkanForm End Sub Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi") If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If Exit Sub hapusErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub cmdKeluar_Click() Me.Hide End Sub Private Sub cmdSimpan_Click() On Error GoTo simpanErr If txtIDPenyakit.Text = Empty Or _ txtJenisPenyakit.Text = Empty Then MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan" txtIDPenyakit.SetFocus Else Dim rsCek As ADODB.Recordset Set rsCek = New ADODB.Recordset rsCek.Open "select * from penyakit where ID_penyakit='" & txtIDPenyakit.Text & "'", Conn If Not rsCek.EOF And baru Then MsgBox "Penyakit dengan kode " & txtIDPenyakit.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan" txtIDPenyakit.SetFocus: SendKeys "{HOME}+{END}" Else With Adodc1.Recordset If baru Then .AddNew !ID_penyakit = txtIDPenyakit.Text !jenis_penyakit = txtJenisPenyakit.Text .Update
Adodc1.Refresh MsgBox "Data berhasil disimpan !", vbInformation, "Informasi" KunciTeks True tombolAwal True KosongkanForm End With End If End If Exit Sub simpanErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub cmdTambah_Click() baru = True KunciTeks False tombolAwal False txtIDPenyakit.SetFocus End Sub Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci cmdSimpan.Enabled = Not kunci cmdBatal.Enabled = Not kunci cmdUbah.Enabled = kunci cmdHapus.Enabled = kunci cmdKeluar.Enabled = kunci End Sub Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False tombolAwal False With Adodc1.Recordset txtIDPenyakit.Text = !ID_penyakit txtJenisPenyakit.Text = !jenis_penyakit End With txtIDPenyakit.SetFocus baru = False Exit Sub ubahErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub Form_Activate() Dim i As Integer For i = 0 To 1 gridPenyakit.Columns(i).Locked = True Next i txtCari.Text = "" End Sub
Private Sub Form_Load() KunciTeks True tombolAwal True Adodc1.ConnectionString = Conn.ConnectionString Adodc1.RecordSource = "select * from penyakit" Adodc1.Refresh Set gridPenyakit.DataSource = Adodc1 gridPenyakit.Columns(0).Width = 400 gridPenyakit.Columns(1).Width = 5000 Skin1.LoadSkin App.Path & "\SKIN\green.skn" Skin1.ApplySkin hWnd End Sub Sub KosongkanForm() txtIDPenyakit.Text = Empty txtJenisPenyakit.Text = Empty End Sub Sub KunciTeks(kunci As Boolean) txtIDPenyakit.Locked = kunci txtJenisPenyakit.Locked = kunci End Sub Sub DaftarCari() On Error GoTo pesan Dim adofilter As New ADODB.Recordset Set adofilter = New ADODB.Recordset Dim sqlc As String adofilter.CursorLocation = adUseClient Select Case cboCari.Text Case "ID Penyakit" sqlc = "SELECT * FROM penyakit where ID_penyakit like " & "'%" & txtCari.Text & "%'" & _ "ORDER BY ID_penyakit" Case "Jenis penyakit" sqlc = "SELECT * FROM penyakit where jenis_penyakit like " & "'%" & txtCari.Text & "%'" & _ "ORDER BY ID_penyakit" Case Else MsgBox "Pilih dulu mau mencari berdasarkan apa !", vbExclamation, "Peringatan" cboCari.SetFocus Exit Sub End Select adofilter.Open sqlc, Conn, adOpenDynamic, adLockOptimistic If Not adofilter.EOF Then Set gridPenyakit.DataSource = adofilter Set Adodc1.Recordset = adofilter Else MsgBox "Maaf, data yang anda cari tidak terdapat pada database !", vbInformation, "Informasi" txtCari.Text = "" End If Exit Sub
pesan: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub cboCari_Click() txtCari.Text = "" txtCari.SetFocus End Sub Private Sub txtCari_Change() DaftarCari End Sub
Kode Program Form Solusi Public baru As Boolean Private Sub cmdBatal_Click() KunciTeks True tombolAwal True Adodc1.Recordset.Cancel KosongkanForm End Sub Private Sub cmdHapus_Click() On Error GoTo hapusErr Dim pil pil = MsgBox("Apakah anda yakin data ini akan dihapus ?", vbQuestion + vbYesNo + vbDefaultButton2, "Konfirmasi") If pil = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveLast MsgBox "Data Berhasil Dihapus !", vbInformation, "Informasi" End If Exit Sub hapusErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub cmdKeluar_Click() Me.Hide End Sub Private Sub cmdSimpan_Click() On Error GoTo simpanErr If txtIDSolusi.Text = Empty Or _ txtSolusi.Text = Empty Then MsgBox "Informasi belum lengkap ! Lengkapi terlebih dahulu !", vbExclamation, "Peringatan" txtIDSolusi.SetFocus Else Dim rsCek As ADODB.Recordset Set rsCek = New ADODB.Recordset
rsCek.Open "select * from solusi where ID_solusi='" & txtIDSolusi.Text & "'", Conn If Not rsCek.EOF And baru Then MsgBox "Solusi dengan kode " & txtIDSolusi.Text & " sudah ada, silahkan ganti dengan kode yang lain !", vbExclamation, "Peringatan" txtIDSolusi.SetFocus: SendKeys "{HOME}+{END}" Else With Adodc1.Recordset If baru Then .AddNew !ID_solusi = txtIDSolusi.Text !solusi = txtSolusi.Text .Update MsgBox "Data berhasil disimpan !", vbInformation, "Informasi" KunciTeks True tombolAwal True KosongkanForm End With End If End If Exit Sub simpanErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub cmdTambah_Click() baru = True KunciTeks False tombolAwal False txtIDSolusi.SetFocus End Sub Sub tombolAwal(kunci As Boolean) cmdTambah.Enabled = kunci cmdSimpan.Enabled = Not kunci cmdBatal.Enabled = Not kunci cmdUbah.Enabled = kunci cmdHapus.Enabled = kunci cmdKeluar.Enabled = kunci End Sub Private Sub cmdUbah_Click() On Error GoTo ubahErr KunciTeks False tombolAwal False With Adodc1.Recordset txtIDSolusi.Text = !ID_solusi txtSolusi.Text = !solusi End With txtIDSolusi.SetFocus baru = False Exit Sub
ubahErr: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub Form_Activate() Dim i As Integer For i = 0 To 1 gridSolusi.Columns(i).Locked = True Next i txtCari.Text = "" End Sub Private Sub Form_Load() KunciTeks True tombolAwal True Adodc1.ConnectionString = Conn.ConnectionString Adodc1.RecordSource = "select * from solusi" Adodc1.Refresh Set gridSolusi.DataSource = Adodc1 gridSolusi.Columns(0).Width = 400 gridSolusi.Columns(1).Width = 5000 Skin1.LoadSkin App.Path & "\SKIN\green.skn" Skin1.ApplySkin hWnd End Sub Sub KosongkanForm() txtIDSolusi.Text = Empty txtSolusi.Text = Empty End Sub Sub KunciTeks(kunci As Boolean) txtIDSolusi.Locked = kunci txtSolusi.Locked = kunci End Sub Sub DaftarCari() On Error GoTo pesan Dim adofilter As New ADODB.Recordset Set adofilter = New ADODB.Recordset Dim sqlc As String adofilter.CursorLocation = adUseClient Select Case cboCari.Text Case "ID Solusi" sqlc = "SELECT * FROM solusi where ID_Solusi like " & "'%" & txtCari.Text & "%'" & _ "ORDER BY ID_Solusi" Case "Solusi" sqlc = "SELECT * FROM solusi where solusi like " & "'%" & txtCari.Text & "%'" & _ "ORDER BY ID_Solusi" Case Else MsgBox "Pilih dulu mau mencari berdasarkan apa !", vbExclamation, "Peringatan" cboCari.SetFocus Exit Sub End Select
adofilter.Open sqlc, Conn, adOpenDynamic, adLockOptimistic If Not adofilter.EOF Then Set gridSolusi.DataSource = adofilter Set Adodc1.Recordset = adofilter Else MsgBox "Maaf, data yang anda cari tidak terdapat pada database !", vbInformation, "Informasi" txtCari.Text = "" End If Exit Sub pesan: MsgBox "Terdapat kesalahan ! " & Err.Description, vbCritical, "Peringatan" End Sub Private Sub cboCari_Click() txtCari.Text = "" txtCari.SetFocus End Sub Private Sub txtCari_Change() DaftarCari End Sub
Kode Program Form Hasil Diagnosis Private Sub cmdAlasan_Click() frmPenanganan.Label2.Text = "" rsTemp.MoveFirst While Not rsTemp.EOF frmPenanganan.Label2.Text = frmPenanganan.Label2.Text + _ rsTemp!fakta + vbCrLf rsTemp.MoveNext Wend frmPenanganan.Label2.Text = frmPenanganan.Label2.Text + vbCrLf + vbCrLf + _ "Maka Solusinya : " + vbCrLf + rsSolusi!solusi frmPenanganan.Show vbModal End Sub Private Sub cmdSelesai_Click() Me.Hide frmDiagnosis.Hide End Sub Private Sub Form_Unload(Cancel As Integer) Call cmdSelesai_Click End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path & "\SKIN\green.skn" Skin1.ApplySkin hWnd End Sub