Sistem Pakar Diagnosis Penyakit Anjing dengan Forward Chaining Yulianti, Mewati Ayub Jurusan S1 Teknik Informatika Fakultas Teknologi Informasi, Universitas Kristen Maranatha Jl. Prof. Drg. Suria Sumantri, MPH, No. 65, Bandung 40164 Email:
[email protected],
[email protected] Abstract Expert system is a system that stores knowledge and reasoning of experts. Expert system has a ability to solve problems like an expert. Expert system can be designed to help the consultation in the medical field and diagnose dog diseases. Sometimes the dog keepers having difficult time to examine their dog's illness. The cause might be the limited presence of the veterinarian or cost limitations. Dog diseases diagnoses expert system was developed to help the dog keepers in diagnosing dog diseases based on the symptoms and to know that therapy can be done to tackle the disease. This system stores the knowledge base about dog illnesses and symptoms in the form of rules that are interconnected. The system will ask about symptoms of diseases of the dog and use forward chaining inference to generate diagnosis and therapy as a solution. Disease diagnosis expert system is designed with webbased for easy access anywhere. The technology used in the manufacture of this system is ASP.Net VB as a programming language and SQL Server as the database. Dog disease diagnosis expert system is built to diagnose dog diseases based on answers to questions about the symptoms and this system will evolve along with the domain of disease that can be added. Dog disease diagnosis expert system should provide a conclution of disease diagnosis, but the dog keppers still advisable to consult with a veterinarian. Keywords: expert system, dog disease, forward chaining, knowledge base, rule
1. Pendahuluan Berkembangnya bidang kecerdasan buatan telah menelurkan berbagai aplikasi seperti misalnya pengenalan pola (pattern recognition), pengenalan suara (speech recognition), pengenalan bahasa almi (natural language processing), dan sistem pakar (expert system) (Kusumadewi, 2003). Sistem pakar merupakan perangkat lunak komputer yang dibangun untuk memodelkan kemampuan seorang pakar manusia dalam pemecahan suatu masalah (Giarratano, 2005). Penerapan sistem pakar telah banyak dikembangkan di berbagai bidang, juga dalam bidang medis, khususnya dalam mendiagnosis penyakit, seperti MYCIN untuk diagnosis penyakit infeksi darah karena bakteri (Durkin, 1994) atau sistem pakar untuk penyakit kanker darah pada anak (Sihombing, 2010). Selain untuk diagnosis penyakit pada manusia, diperlukan juga sistem yang dapat membantu diagnosis terhadap hewan peliharaan. Karena kesetiaannya, anjing merupakan hewan yang banyak dipelihara oleh manusia. Para pemelihara anjing
127
Jurnal Informatika, Vol.8, No.2, Desember 2012: 127 - 140
tentu memperhatikan pula kesehatan anjingnya. Tetapi terkadang para pemelihara anjing kesulitan dalam menangani masalah penyakit anjing mereka karena keterbatasan adanya dokter hewan ataupun keterbatasan biaya. Dalam penelitian yang telah dilakukan, dibangun sebuah sistem pakar untuk membantu para pemelihara anjing dalam mendiagnosis penyakit anjing sehingga mereka dapat melakukan pertolongan pertama untuk anjing kesayangan mereka atau pengobatan mandiri untuk penyakit anjing yang tidak terlalu berat. 2. Landasan Teori Sistem pakar merupakan sebuah sistem yang menyimpan pengetahuan dan penalaran seorang pakar sehingga memiliki kemampuan menyelesaikan masalah seperti seorang pakar. Sistem pakar dibangun berdasarkan basis pengetahuan dan aturan karena permasalahan-pemasalahan yang dihadapi seorang pakar diselesaikan berdasarkan pengetahuan, aturan yang digunakan, dan pengalamannya (Giarratano, 2005). Komponen utama pada sistem pakar meliputi Basis Pengetahuan (Knowledge Base), Mesin Inferensi (Inference Engine), dan Antarmuka Pemakai (User Interface) (Durkin, 1994)(Giarratano, 2005). Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan aturan. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Aturan adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui. Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk melakukan proses penalaran terhadap sekumpulan fakta, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan aturan, model, dan fakta yang disimpan dalam basis pengetahuan untuk menghasilkan suatu solusi atau kesimpulan. Antarmuka pemakai merupakan fasilitas yang digunakan sebagai media interaksi antara pengguna dengan sistem pakar. Representasi pengetahuan adalah suatu teknik untuk menyimpan pengetahuan yang berupa fakta atau aturan ke dalam basis pengetahuan sehingga dapat diketahui relasi/keterhubungan antara suatu fakta/aturan dengan fakta/aturan yang lain. Penelitian ini menggunakan representasi pengetahuan berbasis aturan (Rule-Based Knowledge). Dalam representasi berbasis aturan, pengetahuan direpresentasikan dalam bentuk fakta (facts) dan aturan (rules). Aturan terdiri atas bagian premis dan bagian konklusi, sebagai berikut : IF premis THEN konklusi. Pada sistem pakar berbasis aturan, proses pencarian tujuan (goal) adalah dengan memeriksa semua aturan pada basis pengetahuan berdasarkan fakta yang diketahui.
128
Sistem Pakar Diagnosis Penyakit Anjing dengan Forward Chaining (Yulianti, Mewati Ayub)
Proses pencarian dilakukan sampai sebuah tujuan (goal) tercapai atau sampai tidak ada aturan yang dapat digunakan. Ada dua cara inferensi yang dapat digunakan, yaitu forward chaining dan backward chaining. Inferensi dengan forward chaining menggunakan pendekatan data-driven karena inferensi dimulai dengan fakta yang tersedia untuk menghasilkan konklusi. Jika suatu aplikasi menghasilkan pohon keputusan yang lebar dan tidak dalam, maka sebaiknya menggunakan forward chaining. Inferensi dengan backward chaining menggunakan pendekatan goal-driven, yaitu dimulai dari hipotesis yang akan dibuktikan, kemudian mencari fakta/aturan yang mendukung (ataupun kontradiktif) dari hipotesis tersebut. Jika suatu aplikasi menghasilkan pohon keputusan yang sempit dan cukup dalam, maka gunakan backward chaining. Pendekatan yang digunakan dalam penelitian ini adalah forward chaining, yang bekerja sebagai berikut (Levine, Drang, & Edelson, 1991): a. Sistem mulai dengan satu atau beberapa fakta. b. Untuk setiap fakta, sistem mencari aturan dalam basis pengetahuan yang berkorespondensi dengan premis aturan. c. Setiap aturan dapat menghasilkan fakta baru yang berasal dari konklusi aturan. Fakta baru ini ditambahkan ke kumpulan fakta yang sudah ada. d. Setiap fakta baru yang ditambahkan ke dalam sistem akan diproses. Jika ditemukan suatu fakta baru, sistem akan kembali ke langkah b dan mengulang langkah c. Jika tidak ada konklusi baru, proses akan berakhir.
129
Jurnal Informatika, Vol.8, No.2, Desember 2012: 127 - 140
3. Analisis dan Disain Teknik representasi pengetahuan yang digunakan dalam pengembangan Sistem Pakar Diagnosis Penyakit Anjing ini menggunakan konsep rule based expert system. Basis pengetahuan disimpan dalam bentuk rule-rule di dalam tabel basis data. Rule-rule yang disimpan membentuk pernyataan IF THEN dan dikelompokkan berdasarkan pohon keputusan (decision tree). Proses inferensi menggunakan metode forward chaining dimana inferensi akan dimulai dengan mengumpulkan fakta dari pertanyaan mengenai gejala penyakit anjing sehingga memberikan konklusi akhir. Gambar 1 menggambarkan aliran data yang terdapat pada Sistem Pakar Diagnosis Penyakit Anjing. Sistem ini terdiri dari 3 macam pengguna yaitu admin, member, dan pengguna biasa.
Gambar 1 Diagram Aliran Data Sistem Pakar Gambar 2 menggambarkan proses-proses dari sistem, diantaranya adalah proses login, pengolahan data master, diagnosis penyakit anjing, laporan, pengolahan profile, registrasi, dan lihat informasi. Administrator, member, dan pengguna memiliki hak akses untuk melakukan proses yang berbeda-beda. Admin dapat melakukan proses login, pengolahan data master, laporan, dan pengolahan profile. Member dapat melakukan proses login, diagnosis penyakit anjing, laporan, pengolahan profile, dan lihat informasi. Sedangkan pengguna hanya dapat melakukan proses registrasi dan lihat informasi.
130
Sistem Pakar Diagnosis Penyakit Anjing dengan Forward Chaining (Yulianti, Mewati Ayub)
Gambar 2 Diagram Aliran Data dari Sistem Pakar
131
Jurnal Informatika, Vol.8, No.2, Desember 2012: 127 - 140
Gambar 3 menggambarkan rincian proses diagnosis penyakit anjing. Proses ini dibagi menjadi tiga sub proses, yaitu identifikasi gejala awal, identifikasi gejala yang berkaitan, kemudian penyimpulan hasil diagnosis.
Gambar 3 Diagram Aliran Data untuk Proses Diagnosis Gambar 4 merupakan pemodelan basis data yang akan diimplementasikan. Berdasarkan Diagram Entity Relationship pada gambar 4 terbentuk empat belas tabel yang terdiri dari dua belas entitas dan dua relasi yang memiliki derajat kardinalitas banyak ke banyak.
132
Sistem Pakar Diagnosis Penyakit Anjing dengan Forward Chaining (Yulianti, Mewati Ayub)
Gambar 4 Diagram Entity Relationship untuk Sistem Pakar Berikut ini penjelasan tabel-tabel pada gambar 4. Tabel TPengguna digunakan untuk menyimpan data pengguna dan perannya dalam sistem. Tabel TJenisAnjing memiliki beberapa atribut, yaitu KodeJenisAnjing, JenisAnjing, Ciri, Jenis, Sifat, PerkiraanUmur. Atribut tabel TGambar adalah KodeGambar, Gambar, KodeJenisAnjing. Atribut tabel TAnjing adalah KodeAnjing, NamaAnjing, KodeJenisAnjing, TglLahir, JenisKelamin, Foto, Username. Atribut tabel TDiagnosis adalah KodeDiagnosis, Tanggal, KodePenyakit, KodeAnjing. Atribut
133
Jurnal Informatika, Vol.8, No.2, Desember 2012: 127 - 140
tabel THistory adalah KodeHistory, KodeDiagnosis, KodeGejala, Jawaban. Tabel TGejala memiliki beberapa atribut, yaitu KodeGejala, Gejala. Tabel TTerapi memiliki beberapa atribut, yaitu KodeTerapi, Terapi. Tabel TPenyakit memiliki beberapa atribut, yaitu KodePenyakit, NamaPenyakit, Deskripsi, Penyebab, Gambar, UmurUmum, JenisKelaminUmum. Tabel TRule memiliki beberapa atribut, yaitu KodeRule, KodeGejala, KodePenyakit, Ya, Tidak. Atribut Ya dan Tidak merupakan foreign key dari table TRule dimana TRule memiliki relasi rekursif dengan dirinya sendiri. Tabel R_TTerapi_TPenyakit memiliki beberapa atribut, yaitu KodeTerapi, KodePenyakit. Tabel R_TJenisAnjing_TRule memiliki beberapa atribut, yaitu KodeJenisAnjing, KodeRule. Tabel TKota memiliki beberapa atribut, yaitu KodeKota, Kota. Tabel TDokter memiliki beberapa atribut, yaitu KodeDokter, NamaDokter, AlamatDokter, TeleponDokter, Handphone, KodeKota. Pohon keputusan digunakan sebagai alat pendukung keputusan untuk mengklasifikasikan penyakit berdasarkan serangkaian pertanyaan mengenai gejala penyakit. Pada gambar 5 ditampilkan pohon keputusan berdasarkan basis pengetahuan penyakit anjing hasil akuisisi. Di dalam basis data pada gambar 4, pohon keputusan disimpan dalam bentuk aturan pada tabel TRule.
Gambar 5 Pohon Keputusan Sistem Pakar Pohon keputusan digunakan sebagai dasar membangun kumpulan aturan yang diperlukan untuk memprediksi penyakit anjing berdasarkan gejala-gejala yang ada. Pohon keputusan ini dapat berkembang ketika ada penambahan data penyakit maupun gejala-gejala baru. Keterangan gejala dan penyakit dari kode yang digunakan pada gambar 5 dapat dilihat pada tabel 1 dan tabel 2.
134
Sistem Pakar Diagnosis Penyakit Anjing dengan Forward Chaining (Yulianti, Mewati Ayub)
Tabel 1 Keterangan Gejala No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
Keterangan Muntah-muntah Diare Dehidrasi Lumpuh/tidak mampu berdiri Kolaps/pingsan Detak jantung lambat (kurang dari 60 denyut per menit) Demam Sesak nafas Batuk-batuk Keluar cairan hidung Kejang Sakit kuning (putih mata berwarna kekuningan) Tidak nafsu makan Diare berdarah Lemas Gatal Bulu rontok Kulit meradang dan memerah Penebalan kulit Bintik-bintik merah pada kulit Timbul kerak pada daerah kepala Timbul kerontokan berbentuk lingkaran Menggigil Bernafas cepat Air liur tak terkendali Menggigit apa aja Sering buang air kecil dengan jumlah sedikit Air kencing mengandung darah Perut kembung Muntah produktif (tampak muntah tetapi tidak mengeluarkan Keluar cairan nanah dari vagina Darah keluar dari hidung Gatal di daerah telinga Kotoran telinga berwarna kecoklatan Sering buang air kecil Nafsu makan meningkat Penurunan berat badan
135
Jurnal Informatika, Vol.8, No.2, Desember 2012: 127 - 140
No P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16
Tabel 2 Keterangan Penyakit Keterangan Addisonian Crisis / Distemper Leptospirosis Parvo Virus Demodectic Mange Dermatitis Scabies Ring Worm Eclampsia Rabies Retensi Urine Gastric Dilatation Pyometra Epistaxis Ear Mite Diabetes Mellitus
4. Implementasi Perangkat Lunak Implementasi langkah-langkah sistem pakar dalam melakukan diagnosis penyakit adalah sebagai berikut : 1. Member memilih anjing yang ingin didiagnosis kemudian data anjing tersebut dicatat dalam tabel TDiagnosis. Diagnosis dimulai dengan menyimpan session kode diagnosis dan nama anjing yang ingin didiagnosis. 2. Tahap identifikasi awal dimulai dengan data anjing yang akan menentukan aturan awal. Setelah menentukan aturan awal, sistem akan memberikan pertanyaan pertama. 3. Setelah pengguna memberikan jawaban, sistem akan mencatatnya dalam Thistory. 4. Tahap identifikasi gejala yang berhubungan dilakukan oleh sistem dengan cara memeriksa jawaban pengguna apakah sudah menemukan hasil diagnosis atau mencari aturan selanjutnya sampai menemukan hasil diagnosis atau tidak ada lagi aturan yang berhubungan. 5. Tahap penyimpulan hasil diagnosis dilakukan sebagai berikut. Jika sistem menemukan hasil diagnosis atau tidak ada lagi aturan yang berhubungan, sistem akan menyimpan hasil diagnosis pada TDiagnosis sesuai kode diagnosis pada session yang disimpan. Kemudian menampilkan hasil diagnosis dan history diagnosis.
136
Sistem Pakar Diagnosis Penyakit Anjing dengan Forward Chaining (Yulianti, Mewati Ayub)
Gambar 6 merupakan halaman pertama yang muncul saat pengguna mengakses website sistem pakar. Halaman Home berisi gambar anjing dan penjelasan mengenai Sistem Pakar Diagnosis Penyakit Anjing.
Gambar 6 Halaman Home
Gambar 7 Halaman Detail Penyakit Gambar 7 merupakan halaman yang berisi informasi lengkap mengenai suatu penyakit anjing. Informasi yang ditampilkan berupa nama penyakit, gambar, deskripsi, penyebab, usia, jenis kelamin, dan jenis-jenis anjing yang rentan terhadap penyakit tersebut, gejala, dan terapi yang dapat dilakukan.
137
Jurnal Informatika, Vol.8, No.2, Desember 2012: 127 - 140
Gambar 8 Halaman Pertanyaan Diagnosis Gambar 8 merupakan halaman pertanyaan untuk mendiagnosis penyakit. Sistem akan menampilkan pertayaan seputar gejala penyakit anjing kemudian pengguna diminta memilih jawaban apakah ya atau tidak. Pengguna dapat menekan tombol selanjutnya untuk melanjutkan diagnosis penyakit.
Gambar 9 Halaman Hasil Diagnosis Gambar 9 merupakan halaman yang berisi hasil diagnosis. Pengguna dapat melihat nama penyakit hasil diagnosis dan melihat gejala dan jawaban dari pertanyaan diagnosis yang telah dilakukan. Pengguna dapat melihat informasi lengkap mengenai penyakit hasil diagnosis tersebut melalui link lihat detail penyakit.
138
Sistem Pakar Diagnosis Penyakit Anjing dengan Forward Chaining (Yulianti, Mewati Ayub)
Gambar 10 Halaman Tambah Penyakit – Informasi Penyakit Gambar 10 merupakan halaman administrator untuk menambah data penyakit anjing. Data yang akan ditambahkan dibagi menjadi empat bagian, yaitu informasi penyakit, informasi khusus, gejala, dan terapi. Pada halaman informasi penyakit, admin diminta untuk mengisi input text nama penyakit, deskripsi, penyebab, dan memasukkan gambar. 5. Kesimpulan dan Saran Beberapa hal yang dapat disimpulkan dari uraian di atas adalah sebagai berikut: 1. Pengembangan Sistem Pakar Diagnosis Penyakit Anjing dapat mendiagnosis penyakit anjing berdasarkan gejala-gejala yang dapat diamati. Tetapi dalam penerapan terapi yang menggunakan obat luar maupun obat dalam disarankan untuk tetap melakukan konsultasi terlebih dahulu kepada dokter hewan. 2. Pengembangan perangkat lunak Sistem Pakar Diagnosis Penyakit Anjing dapat memperbaharui basis pengetahuan, yaitu rule-rule yang terbentuk berdasarkan gejala penyakit. Basis pengetahuan penyakit baru yang ditambahkan juga langsung dapat digunakan untuk mendiagnosis. Saran yang dapat diberikan untuk penyempurnaan sistem pakar diagnosis penyakit anjing adalah dengan menambahkan informasi pada setiap aturan mengenai seberapa besar probabilitas suatu gejala dalam menyebabkan suatu penyakit sehingga diagnosis yang dilakukan dapat meningkatkan akurasi hasil inferensi. 6. Daftar Pustaka Dog-breeds.net. (2002). Dog Health Dictionary. Diakses 20 Oktober 20 2010. http://www.dog-breeds.net/Health_Dictionary.htm Durkin. (1994). Expert Systems Design and Development. Prentice Hall. 139
Jurnal Informatika, Vol.8, No.2, Desember 2012: 127 - 140
Giarratano J.C, Riley, G.D.(2005). Expert Systems Principles and Programming, Thompson. Imbar, R. V. (2006). Pemograman Web-Commerce dengan ORACLE & ASP. Bandung: Informatika Bandung. Kusumadewi, S. (2003). Artificial Intelligence. Yogyakarta: Graha Ilmu. Levine, R. I., Drang, D. E., Edelson, B. (1991). AI and Expert Systems. New York: McGraw-Hill, Inc. Plunkett, Signe J. DVM. (1993). Emergency Procedures for the Small Animal Veterinarian. Phoenix, Arizona: W. B. Saunders Company Sihombing, M.Y, Ayub, M. (2010) Sistem Pakar Berbasis Web sebagai Alat Bantu Pembelajaran Mahasiswa Kedokteran untuk Penyakit Kanker pada Anak, Jurnal Informatika Fakultas Teknologi Informasi Universitas Kristen Maranatha volume 6 nomor 1.
140