SISTEM PAKAR DIAGNOSA PENYAKIT MENULAR PADA ANJING DENGAN ALGORITMA BACKWARD CHAINING Maria Frederika Fresia*, Fajriah Isnaini*, Meidy Hemawatie W.A* School of Computer Science, Bina Nusantara University, Jakarta, Indonesia
INFORMASI ARTIKEL Kata kunci : sistem pakar backward chaining penyakit menular penyakit anjing vaksin
ABSTRAK Kesehatan anjing seringkali kurang diperhatikan oleh pemiliknya karena biaya yang cukup tinggi dan kesulitan menemukan dokter hewan. Tujuan penelitian ini adalah membuat sistem pakar yang dapat digunakan untuk mendiagnosa penyakit menular pada anjing yang disebabkan oleh infeksi bakteri dan virus yang telah memiliki vaksinasi di Indonesia. Metode penelitian yang digunakan adalah survei terhadap pemilik maupun peminat anjing dan wawancara dengan pakar hewan. Sistem pakar dibuat dengan menggunakan algoritma backward chaining dengan metode pencarian depth – first search berdasarkan gejala penyakit dominan yang telah ditentukan oleh pakar tanpa memerlukan catatan medis anjing. Hasil yang dicapai menunjukkan bahwa sistem pakar menghasilkan tingkat presisi yang cukup baik sebesar 76.7%.
1.
dan merawat anjing mereka secara mudah tanpa perlu mengunjungi klinik atau dokter hewan (Setyarini, Putra, & Purnawan, 2013). Untuk memenuhi kebutuhan tersebut, diusulkan menggunakan sistem pakar dalam mencari informasi. Setyarini, Putra, dan Purnawan (2013) membuat sistem pakar untuk mendeteksi penyakit anjing dengan membandingkan dua algoritma, yaitu metode Certainty Factor (CF) dan metode Dempster – Shafer. Viswandha (2012) membuat sistem pakar untuk mentransfer informasi teknis pada bidang pertanian dengan menggunakan metode forward chaining. Nestorovic (2010) membuat sistem pakar untuk mendeteksi penyakit pada anjing yang disederhanakan dengan membandingkan dua algoritma yaitu backward chaining dan forward chaining dan melakukan pengoptimalan berdasarkan algoritma alpha-beta pruning. Berdasarkan penelitian yang telah disebutkan, dapat disimpulkan bahwa sistem pakar dapat dibuat dengan banyak metode. Diharapkan dengan adanya sistem pakar ini, pemilik anjing dapat dengan mudah menemukan informasi yang dibutuhkan berdasarkan kecocokan observasi dengan pengetahuan yang ada di dalam sistem.
Perkenalan Anjing ialah hewan yang dapat beradaptasi dengan mudah dan menjadi teman baik manusia sehingga banyak yang disayangi (Setyarini, Putra, & Purnawan, 2013). Wells (2007) mengatakan bahwa anjing tidak hanya memfasilitasi aspek tertentu dari kesehatan fisik, namun juga kesehatan psikologis manusia. Potgieter et al. (2013) menyatakan bahwa anjing penjaga atau LGD (Livestock Guarding Dogs) juga merupakan metode populer di kalangan petani dan konservasionis untuk melindungi ternak dari predator. Namun, banyak pemilik anjing yang tidak memperhatikan kesehatan peliharaan mereka karena membawa anjing ke dokter hewan membutuhkan biaya besar dan keberadaan dokter hewan yang masih jarang (Setyarini, Putra, & Purnawan, 2013). Selain itu, Saurkar dan Watane (2012) juga mengatakan bahwa hewan peliharaan tidak mampu berbicara dan mengekspresikan masalah kesehatan mereka. Hal ini menyebabkan seringkali pemilik hewan peliharaan kesulitan mengambil tindakan berdasarkan observasi terhadap pelihaaran mereka sehingga pemilik mencari bantuan melalui buku ataupun bertanya kepada pemilik lain yang lebih berpengalaman. Padahal, menurut Wells (2007) kematian seekor hewan pendamping dapat menimbulkan masalah, khususnya karena adanya hubungan dekat yang tercipta antara pemilik dan hewan pembantu mereka. Tingginya minat terhadap anjing menyebabkan para pemilik membutuhkan informasi cara melindungi
2. 2.1
Tinjauan Pustaka Sistem Pakar Menurut Giarratano & Riley (2005:5) Professor Edward Feigenbaunn dari Universitas Stanford, seorang ahli terdahulu teknologi sistem pakar
mendefinisikan sebagai program komputer cerdas yang menggunakan pengetahuan dan prosedur pendugaan untuk memecahkan masalah yang cukup sulit dimana membutuhkan seorang pakar untuk mendapatkan solusi yang signifikan. Giarratano & Riley (2005:5) juga mengatakan bahwa yang dapat disebut sebagai pakar adalah seseorang yang memiliki pengetahuan atau keterampilan khusus yang tidak diketahui atau dimiliki oleh kebanyakan orang. Seorang pakar dapat memecahkan masalah yang kebanyakan orang tidak dapat memecahkan atau menyelesaikannya lebih efisien (tetapi tidak dengan mudahnya). Gambar 1 menggambarkan konsep dasar dari sebuah knowledge-based sistem pakar (Giarratano dan Riley, 2005:6). Pengguna memberikan fakta atau informasi lain untuk sistem pakar dan menerima anjuran pakar atau kepakaran dalam merespon. Secara internal, sistem pakar terdiri dari dua komponen utama. Basis pengetahuan (knowledge-base) yang mengandung pengetahuan yang digunakan mesin inferensi (infence engine) untuk menarik kesimpulan. Kesimpulan ini merupakan respon dari sistem pakar terhadap masukan dari pengguna untuk jawaban pakar.
• • • • • •
Consequent to antecedent Goal driven, top – down reasoning Work backward to find facts that support the hypothesis Depth – first search facilitated Consequents determine search Explanation facilitated
Giarratano & Riley (2005:169-170) mengatakan pada dasarnya, konsep yang lebih tinggi yang terdiri atas konsep yang lebih rendah diletakkan di atas. Jadi pemikiran dari konsep yang lebih tinggi seperti hipotesa turun ke fakta yang lebih rendah yang mendukung hipotesa disebut sebagai top – down reasoning atau backward chaining. Gambar 2 Backward Chaining (Giarratano and Riley, 2005:171)
Gambar 1 Basic Concepts of Expert System Functions (Giarratano and Riley, 2005:6)
2.2
Backward Chaining Menurut Giarratano & Riley (2005:167) kumpulan dari serangkaian dugaan yang menghubungkan suatu masalah dengan solusinya disebut rantai. Rantai yang dilalui dari hipotesis kembali ke fakta (facts) yang mendukung hipotesis tersebut disebut backward chaining. Cara lainnya untuk mendeskripsikan backward chaining adalah dalam hal sebuah tujuan yang dapat dicapai dengan subgoal yang memuaskan. Giarratano & Riley (2005:168-169) mengatakan bahwa masalah utama dari backward chaining adalah menemukan rantai yang menghubungkan bukti ke hipotesis. Dalam backward chaining, penjelasan difasilitasi karena sistem dapat dengan mudah menjelaskan secara tepat tujuan apa yang ingin dicapai. Berikut adalah beberapa karakteristik umum backward chaining. Sebagai catatan, karakter ini hanya berfungsi sebagai pedoman: • Diagnosa • Present to past
Giarratano & Riley (2005:170) menjelaskan konsep di atas bahwa untuk membuktikan atau menyangkal hipotesa H, setidaknya salah satu hipotesa di tengah, H1, H2, atau H3 harus terbukti. Dapat dilihat bahwa diagram di atas digambarkan sebagai AND – OR tree untuk menunjukkan bahwa dalam beberapa kasus, seperti H2, semua hipotesa di bawahnya harus terpenuhi untuk mendukung hipotesa H2. Pada kasus lainnya, seperti hipotesa paling atas, H, hanya membutuhkan satu hipotesa di bawahnya. Dalam backward chaining, sistem pada umumnya akan mendapatkan bukti dari pengguna untuk membantu dalam membuktikan atau menyangkal hipotesa. Giarratano & Riley (2005:170-171) mengatakan satu aspek penting dalam mendapatkan bukti adalah dengan menanyakan pertanyaan yang tepat. Pertanyaan yang tepat adalah pertanyaan yang meningkatkan efisensi dalam menentukan jawaban yang benar. Satu kebutuhan yang pasti adalah sistem pakar hanya dapat menanyakan pertanyaan yang berhubungan dengan hipotesis yang hendak dibuktikan. Walaupun memungkinkan terdapat ratusan atau ribuan pertanyaan yang dapat ditanyakan sistem, terdapat kerugian waktu dan uang untuk memperoleh bukti untuk menjawab pertanyaan
tersebut. Selain itu, mengakumulasikan bukti jenis tertentu seperti hasil tes kesehatan dapat menyebabkan ketidaknyamanan dan mungkin berbahaya bagi pasien. Menurut Giarratano & Riley (2005: 171-172), berikut ini adalah struktur yang baik dari backward chaining. Backward chaining memfasilitasi depth – first search. Pohon (tree) yang baik untuk depth – first search adalah sempit dan dalam. Gambar 3 Penerapan Struktur Yang baik Dari Backward Chaining (Giarratano dan Riley, 2005: 172)
Giarratano & Riley (2005:171-172) mengatakan struktur dari rules menentukan pencarian untuk solusi. Aktifasi suatu rule bergantung pada pola rule yang dirancang agar sesuai. Pola pada LHS (Left Hand Side) menentukan apakah rule dapat diaktivasi oleh fakta (facts). Aksi pada RHS (Right Hand Side) menentukan fakta yang ditegaskan dan dihapus sehingga mempengaruhi rules lainnya. Sebuah situasi sejalan terdapat pada backward chaining kecuali dalam hal hipotesa lebih digunakan dibandingkan rules. Tentu saja, hipotesa pada tingkat tengah bisa jadi merupakan rule yang disesuaikan dengan tujuannya dan bukan pendahulunya. Contoh sederhana dari IF…THEN rules pada backward chaining (Giarratano & Riley, 2005: 173) : IF D THEN C IF C THEN B IF B THEN A C dan B merupakan subgoal atau hipotesa tingkat tengah yang harus dipenuhi untuk dapat membuktikan hipotesa D. Bukti A merupakan fakta yang mengindikasikan akhir generasi subgoal. Jika ada fakta A, maka D terpenuhi dan dianggap benar di dalam rantai dugaan terbalik (backward inference) ini. Jika tidak terdapat A, maka hipotesa D tidak terpenuhi dan dianggap salah. 3. 3.1
Metodologi Menentukan Data Untuk Knowledge Base Data untuk knowledge – base berupa penyakit menular pada anjing yang memiliki vaksinasi. Data masing – masing penyakit terdiri atas nama penyakit, penyebabnya, gejala yang dialami dan dapat dilihat, proses penularan, pengobatan yang perlu dilakukan,
proses pencegahan, dan peringatan bagi lingkungan dan manusia bila ada. Penyakit menular pada anjing yang ada di dalam knowledge – base antara lain : Brodetella bronchiseptica, Kennel Cough, Parainfluenza, Distemper, Parvovirus, Leptospirosis, Hepatitis, Rabies dan Coronavirus. 3.2
Menentukan Rule Data yang akan digunakan untuk sistem terdiri atas gejala dan nama penyakit. Data lainnya (penyebab, pengobatan, penularan, pencegahan, dan peringatan terhadap manusia dan lingkungan tempat tinggal) digunakan sebagai informasi pelengkap sehingga pengguna dapat mengetahui penyakit secara lebih mendalam. Gejala yang akan diberikan rule adalah gejala dominan (gejala yang pasti terlihat). 3.2.1 Rule Kombinasi Gejala Beberapa penyakit memiliki gejela yang tidak dimiliki oleh penyakit lainnya. Apabila gejala khusus tersebut berjumlah lebih dari 1, maka diberikan rule : kombinasi bernilai benar apabila minimal setengah dari jumlah gejala dijawab “Ya”. Bila gejala khusus berjumlah genap, maka minimal setengahnya dijawab “Ya”, sedangkan bila berjumlah ganjil, maka minimal lebih dari setengahnya dijawab “Ya”. Khusus untuk kombinasi gejala 1 dan 2, apabila keduanya dijawab “Tidak”, maka hasil diagnosa adalah kemungkinan anjing tidak terinfeksi penyakit menular. 3.3
Membuat Representasi Pengetahuan Karena algoritma yang digunakan adalah backward chaining dengan metode pencarian depth – first search, maka dilakukan pencarian mulai dari hipotesis paling kiri. Backward chaining merupakan pencarian terbalik, dimana untuk memenuhi hipotesis, sistem akan meminta pembuktian semua hipotesis tingkat tengah (Hipotesis Sementara atau HS) dan fakta (gejala) di bawahnya. Hipotesis Sementara (HS) bernilai awal kosong dan hanya dianggap benar apabila dibuktikan oleh fakta yang ada di bawahnya. Apabila suatu hipotesis tengah (HS) tidak terbukti, maka hipotesis tersebut dan semua hipotesis yang terhubung di atasnya tidak lagi dapat dibuktikan (mati) tanpa mematikan fakta atau HS lain yang ada di bawahnya. Selama masih ada hipotesis penyakit yang aktif (belum ada HS maupun gejala dibawahnya yang mati), pencarian akan terus dilanjutkan. Apabila suatu hipotesis berisi penyakit telah terbukti, maka pencarian akan berhenti. Apabila tidak ada hipotesis yang dapat dibuktikan, maka dianggap penyakit tidak terdeteksi. Dengan menggunakan data knowledge – base yang telah diberikan rule, maka dibuat representasi pengetahuan dalam backward chaining tree yang dapat dilihat pada gambar 4.
Gambar 4 Backward Chaining Tree
Tabel 1 Daftar Gejala Dominan No
Code
Gejala
1
1
Hilang nafsu makan
2
2
Lesu (tidak fit)
3
3
Demam
4
4
Cairan dari hidung
5
5
6
6
7
7
Batuk Cairan dari hidung kental, kuning, dan lengket Cairan dari mata kental, kuning, lengket
8
8
Bisul bernanah di daerah perut
9
9
Kejang / epilepsi
10
10
11
11
12
12
Pengerasan kulit hidung dan telapak kaki Batuk kering menyerupai dengkuran keras (terus – menerus dan sudah berlangsung lama) Batuk mendalam, kering, dan kasar (semakin parah dgn olahraga / excited)
13
13
Diare
14
14
Ada darah ketika buang air besar
15
15
Muntah
16
16
17
17
Muntah darah Feses berbau busuk, berwarna kuning - oranye, lunak - encer
18
18
Lemah (tidak sanggup menopang diri)
19
19
Perut melengkung ke atas
20
20
Putih mata menjadi kuning (jaundice)
21
21
Darah pada urin
22
22
Radang dalam mulut (stomatitis)
23
23
Tidak mau dipegang
24
24
Menjadi agresif, menyerang siapa saja
25
25
Liur berlebih
26
26
Bersembunyi di tempat gelap
salah (dijawab “Tidak”), maka HS 4 tidak lagi dapat dibuktikan, sehingga pencarian berpindah ke R2. R2 meminta pembuktian HS 5. Semua subgoal HS 5 telah terbukti, kecuali gejala 12. Untuk dapat berpindah pencarian ke R3, maka gejala 12 harus bernilai salah. Bila gejala 12 bernilai salah, maka HS 5 tidak lagi dapat dibuktikan. Pencarian kemudian berpindah ke R3 (hipotesis parainfluenza). R3 meminta pembuktian HS 3, dan karena HS 3 telah terbukti, maka hipotesis parainfluenza terbukti.
Tabel 2 Daftar Penyakit
Dengan
demikian,
hasil
diagnosa
adalah
parainfluenza.
No
Code
Nama Penyakit
1
R1
Bordetella bronchiseptica
2
R2
Kennel Cough
3
R3
Parainfluenza
4
R4
Distemper
5
R5
Leptospirosis
6
R6
Hepatitis
7
R7
Parvovirus
8
R8
Rabies
9
R9
Coronavirus
4 4.1
Hasil Tampilan Aplikasi
Gambar 5 Halaman Diagnosa
Contoh diagnosa dapat dilihat pada pembuktian hipotesis penyakit parainfluenza. Karena pencarian
Gambar 6 Hasil Diagnosa
adalah depth – first search, maka pembuktian hipotesis dimulai dari R1. Hipotesis Bordetella bronchiseptica (R1) meminta pembuktian HS 4. Karena HS 4 belum terbukti, maka HS 4 mengecek HS 3 dan gejala 11. Karena HS 3 belum terbukti, maka HS 3 mengecek HS 2 dan gejala 5. Karena HS 2 belum terbukti, maka HS 2 mengecek HS 1 dan gejala 4. Karena HS 1 belum terbukti, maka HS 1 mengecek kombinasi gejala (1,2) dan gejala 3. Bila kombinasi gejala (1,2) dan gejala 3 bernilai benar, maka HS 1 terbukti. Bila gejala 4 bernilai benar, maka HS 2 terbukti. Bila gejala 5 bernilai benar, maka HS 3 terbukti. Untuk dapat berpindah pencarian, maka pada pembuktian HS 4 gejala 11 harus bernilai salah. Bila gejala 11 bernilai
4.2
Evaluasi Pakar Pengujian dilakukan dengan cara memasukkan serangkaian gejala dan mencocokkan hasil diagnosa sistem pakar dengan pengetahuan pakar. Pengujian dilakukan sebanyak 30 kali dan didapatkan hasil benar sejumlah 23 kali. Dengan demikian tingkat presisi sistem pakar mencapai (23/30)*100% = 76.7%. Hasil percobaan dapat dilihat pada tabel 1.
Tabel 1 Hasil Pengujian No
Code Gejala
1
1, 2, 3, 4, 5, 11 1, 3, 4, 6, 7, 9 2, 14, 17
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
1 1, 2, 3, 19, 20 1, 2 1, 2, 3, 4, 5 2, 3, 4, 5, 12 1, 3, 18, 19, 22 1, 2, 3, 18, 15, 14 1, 2, 3, 18, 23, 25 1, 13, 26, 17 1, 2, 3, 4, 8, 9, 10 1, 2, 3, 4, 8, 7, 9 2, 3, 4, 6, 8, 9
30 Diagnosa Sistem Pakar Bordetella bronchiseptica
Diagnosa Pakar Benar
Distemper
Benar
Coronavirus Tidak Terdeteksi Tidak Terdeteksi Tidak Terdeteksi Parainfluenza Kennel Cough
Benar Benar Leptospiro sis Benar Benar Benar
Hepatitis
Benar
Parvovirus
Benar
Coronavirus
Tidak terdeteksi Benar
Distemper
Benar
Distemper
Benar
Distemper
Benar
1, 2, 3, 4
Tidak Terdeteksi
Parainfluen za
1, 2, 13, 14, 17
Coronavirus
Benar
2
Tidak Terdeteksi
Benar
Hepatitis
Benar
Kennel Cough
Benar
Parvovirus
Leptospiro sis
Rabies
Benar
Parvovirus
Benar
Leptospirosis
Benar
Distemper
Benar
2, 3, 18, 19, 22 1, 2, 3, 4, 5, 12 1, 2, 3, 18, 14, 15 1, 2, 3, 9, 24, 25 1, 3, 14, 15 14 1, 2, 3, 18, 20, 21 2, 3, 4, 6, 8, 9 1, 2, 5, 6 1, 2, 3, 5, 7 1, 2, 3 1, 3, 18, 13, 15
Rabies
Tidak Terdeteksi Tidak Terdeteksi Tidak Terdeteksi
Parainfluen za
Parvovirus
Benar
2, 3, 18, 20, 21
Leptospirosis
Benar
5. Diskusi dan Konklusi (Discussion and Conclusions) Persentase hasil pengujian sistem pakar mencapai 76,7% yang berarti sistem pakar menggunakan metode yang baik dan dapat digunakan untuk mendiagnosa penyakit menular pada anjing,. Untuk meningkatkan tingkat presisi sistem pakar, dapat ditambahkan faktor- faktor pendukung seperti : usia anjing, cuaca, tempat asal anjing, lingkungan tempat tinggal anjing, dan epidemiologi (diagnosa dengan melihat wabah yang sedang melanda suatu tempat saat itu). Acknowledgement (?) Referensi (References) Eldredge, D. M., Carlson L. D., Carlson D. G., Griffin, J. M.. (2007). Dog Owner’s Home Veterinary Handbook 4th. Edition. New Jersey: Wiley Publishing. Gail C. Potgieter, Laurie L. Marker, Nico L. Avenant & Graham I. H. Kerley. (2013). Why Namibian Farmers Are SatisfiedWith the. Human Dimensions of Wildlife, 403-415. Giarratano J., Riley G. (2005). Expert Systems Principles and Programming (Fourth Edition). Canada: Thomson. Hainess, S. (2003). Java Reference Guide(First Edition). New Jersey: Pearson Education. Hill, E. F. (2003). Jess in Action. Greenwich : Manning Publications. Nestorovic, T. (2010). Dog Disease Expert System. Annals of DAAAM for 2010 & Proceedings of the 21st International DAAAM Symposium, Volume 21, No. 1, ISSN 17269679. Rich E. , Knight K.. (2009). Artificial Intelligence. India: McGraw Hill. Sarma, C. V. (2012). Rule Based Expert System for Rose Plant. International Journal of Engineering Research & Technology (IJERT), 1-9.
Distemper Distemper
Saurkar A.V., Watane H.N.. (2012). An Expert System For Diseases Diagnosis In Pet. Advances in Medical Informatics ISSN: 2249-9466 & E-ISSN: 2249-9474, Volume 2, Issue 1, 2012, pp.-18-21., 18-21.
Setyarini E., Putra D., Purnawan A.. (2013). The Analysis of Comparison of Expert System of Diagnosing Dog. IJCSI International Journal of Computer Science Issues, Vol. 10, Issue 1, No 2, January 2013, 576-584. Russel S., Norvig P.. (2010). Artificial Intelligence A Modern Approach Third Edition. New Jersey: Pearson Prentice Hall. Wells, D. L. (2007). Domestic dogs and human health. British Journal of Health Psychology (2007), 12, 145–156, 145-156.