SISTEM PAKAR DENGAN KEMAMPUAN BELAJAR SEBAGAI PENDUKUNG PENGENALAN PENYAKIT DALAM Samuel Lukas , I Made Murwantara', Yustinus Eko Soelistio'" Abstract Creating machines with minds have been always an exciting part of computer studies. The idea is to make computer that can think and act independently. One characteristic is that it can recognize problems and make decisions accordingly. If it fails, the system can learn and adjust its knowledge. Many methods can be used to make this system works. This paper will propose one utility method and critic method to solve a learning problem. Utility method is a method that uses points to help a machine to make decision when more than one possible decision will arise. These points are assigned to each possible answer. An answer with the largest point will become the final decision. On the other hand, critic method is a method that uses critics or evaluations from user or environment so that a machine can learn something new or update its already known knowledge. This paper reports how utility and critics methods are being used, and then make a program that can identify a disease from four possible diseases and learn to adjust its knowledge when needed to make more accurate decisions in the future. 1. Pendahuluan Penggunaan ilmu komputer telah menunjukan perkembangan hampir di semua bidang kehidupan manusia. Perkembangan tidak lagi hanya sekedar membuat suatu perangkat keras atau piranti lunak yang lebih baik dari sebelumnya, tetapi juga peningkatan kecerdasan dari piranti lunak atau perangkat keras itu sendiri untuk dapat lebih efektif dan efisien. Salah satu caranya adalah dengan membuat suatu sistem yang dapat meniru cara berpikir manusia. Dengan adanya kemampuan ini, sistem dapat bekerja dengan lebih mandiri dan memperoleh hasil yang lebih mendekati keinginan manusia. Bidang ilmu ini dikenal sebagai kecerdasan buatan (artificial intelligent - Al) dengan mempelajari bagaimana sistem dapat menerima, mengerti, memprediksikan dan memanipulasi lingkungan luar yang lebih rumit [1]. Kecerdasan buatan dapat diterapkan dalam bidang kedokteran. Sebuah program pakar dapat dibuat untuk mengenali beragam penyakit berdasarkan gejala-gejala yang timbul. Seperti layaknya seorang dokter, program ini dapat memberikan prediksi dengan data masukan yang tidak lengkap dan dapat belajar dengan melakukan evaluasi. Program dengan kemampuan seperti ini mempunyai kemampuan untuk bekerja dalam kondisi yang tidak tentu, mampu memberikan keputusan berdasarkan data yang tidak lengkap dan mampu memperbarui pengetahuan yang telah diketahui. ' Dosen Tetap Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Pelita Harapan " Dosen Tetap Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Pelita Harapan '" Alumni Jurusan Teknik Informatika, Fakultas Ilmu Komputer, Universitas Pelita Harapan Sistem Pakar Dengan ... (S. Lukas, I.M Murwantara, YE. Soelistio) 205 Tulisan ini membahas program kecerdasan buatan yang dapat mengenali empat penyakit (demam tifoid, disenteri basiler, leptospirosis dan demam berdarah dengue) dengan delapan belas gejala. Keluaran yang dihasilkan program ini adalah berupa teks yang menampilkan hasil perhitungan persentase penyakit, diagnosa gejala dan saran pengobatan. Program dibangun dengan menggunakan bahasa pemprograman Visual Basic 6.0 dan Microsoft Access 2002 sebagai pengolah basisdata. 2. Agen Rasional dan Metoda Utility Teori agen rasional dengan metode utility adalah salah satu sistem kecerdasan buatan yang berbentuk agen. Sistem menggunakan suatu bentuk penilaian untuk mengambil keputusan secara rasional. Metoda ini cocok untuk mengambil keputusan pada keadaan ketidakpastian dengan menggunakan derajat kepercayaan. Dalam bukunya Artificial Intelligence: A Modern Approach (2003), Stuart J. Russell, [1] mengutip pendapat beberapa ahli dan membagi pendapat-pendapat itu menjadi empat bagian besar. Pembagian dan pendapat-pendapat tersebut adalah: • Sistem yang berpikir seperti manusia • "The exciting new effort to make computers think ... machines with minds, in the full and literal sense.". • "[The automation of] activities that we associate with human thinking, activities such as decision-making, problem solving, learning ...". • Sistem yang berpikir secara rasional • "The study of mental faculties through the use of computational models.". • "The study of the computations that make it possible to perceive, reason, and act.". • Sistem yang bertindak seperti manusia • "The art of creating machines that perform functions that require intelligence when performed by people.". • "The study of how to make computers do things at which, at the moment, people are better.". • Sistem yang bertindak secara rasional • "Computational Intelligence is the study of the design of intelligent agents." [Poole et al. dalam RN03], • "Al ...is concerned with intellignet behavior in artifacts.". Perbedaan dari keempat definisi di atas terletak pada sudut pandang dan penekanan. Dari sudut pandang manusia, penekanan terletak pada kenyataan yang ada, termasuk di dalamnya hipotesis dan evaluasi eksperimen. Pendekatan rasional melibatkan kombinasi dari matematika dan teknik. Berikut adalah penjelasan dari keempat pandangan tersebut [1]: a) 206 Bertindak manusiawi: pendekatan Turing test Turing test diciptakan oleh Alan Turing (1950). Turing test bekerja berdasarkan intelegensi manusia. Sebuah komputer dikatakan lulus tes apabila manusia tidak dapat membedakan apakah respon yang diberikan berasal dari komputer atau manusia lain. Kemampuan yang dimiliki oleh komputer tersebut meliputi: Jurnal llmiah llmu Komputer, Vol. 4 No. 3 September 2006: 205-214 o Proses natural language yang memungkinkan berkomunikasi dengan bahasa manusia. o Representasi pengetahuan untuk menyimpan apa yang diketahui atau dengar. o Pengolahan sebab atau alasan secara otomatis untuk menjawab pertanyaan dan pengambilan keputusan o Pembelajaran mesin dalam beradaptasi dengan lingkungan. Untuk lulus tes, komputer harus mempunyai kemampuan: o Computer vision untuk "melihat" objek. o Robotik untuk memanipulasi objek dan bergerak. b) Berpikir manusiawi: pendekatan model kognitif Pendekatan ini berusaha membuat tiruan dari proses berpikir manusia. Manusia berpikir melalui dua hal yaitu melalui introspeksi dan percobaan psikologi. Maksud dari introspeksi adalah berusaha untuk mengolah apa yang dipikirkan ketika suatu peristiwa berlangsung. Pendekatan kecerdasan buatan ini berasal dari ilmu psikologi kognitif. c) Berpikir rasional: pendekatan "the laws of thought" Pendekatan ini berasal dari cara berpikir logika. Pertama kali dicetuskan oleh Aristotales dengan usaha untuk memisahkan pemikiran dari proses. Logika kemudian dikembangkan dengan notasi untuk setiap pernyataan yang ada di dunia. Pendekatan kecerdasan buatan ini adalah dengan membuat suatu alur logika untuk memecahkan pemasalahan apapun. d) Bertindak rasional: pendekatan agen rasional Agen adalah sesuatu yang dapat bertindak. Sebuah komputer agen adalah sebuah program yang dapat mengendalikan secara otomatis, berinteraksi dengan lingkungan, bertahan dengan jalannya waktu, dapat beradaptasi dan dapat mengubah tujuan. Sebuah agen rasional dapat bertindak sedemikian rupa untuk mencapai hasil atau bila terdapat ketidakpastian dapat menghasilkan hasil yang terbaik. Pendekatan ini bertitik pusat pada inferensi yang benar. Inferensi yang benar tidak semuanya tergantung dari rasional karena suatu hal yang benar belum tentu adalah hal terakhir yang harus dilakukan. Keuntungan dari pendekatan tindakan rasional adalah: • Pendekatan ini lebih umum dari "law of thought". • Lebih mudah dikembangkan daripada pendekatan manusiawi. Teori pembelajaran agen rasional menjelaskan bahwa suatu agen rasional dapat belajar dengan cara melakukan perubahan pada knowledge base. Pembelajaran agen rasional terbagi menjadi empat komponen yaitu komponen belajar, komponen performa, komponen kritik, dan komponen pembuat permasalahan. Untuk membuat agen rasional yang dapat belajar digunakan metode reinforcement learning yaitu suatu cara belajar agen dengan bantuan dari lingkungan. Dalam teori medis disebutkan sebab dari penyakit, cara penularan, masa inkubasi dan gejala-gejala yang terjadi. Penyakit-penyakit yang dibahas adalah demam tifoid, disenteri basiler, leptospirosis dan demam berdarah dengue. Adapun gejala dari setiap demam dapat dilihat pada Tabel 1. Sistem Pakar Dengan ... (S. Lukas, I.M. Murwantara, Y.E. Soelistio) 207 Tabel 1. Gejala vs Jenis Demam Gejala Demam demam 5 hari demam meningkat demam 3 hari demam mendadak sakit kepala distentsi perut konstipasi apati pembesaran hati pembesaran limpa bradicardia relatif leukopenia relatif diare tinja berlendir tinja berdarah kram perut sakit dubur fotofobia nyeri otot conjunctivitis albuminuria tanda perdarahan Trombosit hematokrit meningkat demam tifoid disenteri basiler leptospirosis dengue V V V V V V V V V V V V V V V V V V V V V V V V V V V V V < 3. Analisa dan perancangan Hubungan gejala dengan jenis demam merupakan hubungan many-to-many. Hubungan seperti ini dapat membuat pengenalan demam berdasarkan gejala menjadi bias. Oleh karena itu perlu dilakukan pengaturan sedemikian rupa sehingga pengenalan menjadi tidak bias. Secara keseluruhan program terdiri dari tiga bagian yaitu pengumpulan data, pengambilan keputusan dan evaluasi. Blok diagram keseluruhan program diperlihatkan pada Gambar 1. Proses pengumpulan data adalah proses pencarian data oleh sistem dengan cara memberikan sejumlah pertanyaan yang harus dijawab pengguna. Dari jawaban sejumlah pertanyaan ini maka sistem akan mengambil keputusan untuk menentukan jenis demam pengguna berdasarkan prosentasinya yang tertinggi. Sistem dapat melakukan pengambilan keputusan karena sistem telah memiliki basis pengetahuan sebelumnya. Hasil keputusan dapat dievaluasi. Hal ini akan mengakibatkan perubahan basisdata untuk pemakaian selanjutnya. 208 Jurnal llmiah llmu Komputer, Vol. 4 No. 3 September 2006: 205-214 Mulai •b*Beri pertanyaan I Menerima masukan Tentukan km |gejala • I i Hitung pei persantase i ' I penyakil inyal f Pemah ditanyakan ? -Y»i Tentukan mtuki ian pcpenyakil •- ps^ifaan 4 Can pengobatan ! Pertanyaan •«5"—w» Can pertanyaan <<}—Tidak -— persentase . 75":,'' Menampilkan hasil final Lakukan evaluasi ? Ya t • Update knowledge base Ulangi proses Tidok Gambar 1 Diagram flowchart jalannya program secara keseluruhan Sistem Pakar Dengan ... (S. Lukas, I.M. Murwantara, Y.E. Soelistio) 209 Sistem mempunyai 24 pertanyaan yang merupakan representasi 24 gejala untuk mengidentifikasikan empat jenis demam. Hal ini bukan berarti setiap demam mempunyai enam pertanyaan akan tetapi seperti yang dikatakan di atas bahwa hubungan antara gejala dengan jenis demam adalah many to many. Setiap pertanyaan disimpan dalarm basis pengetahuan. Proses pengumpulan data dilakukan dengan mengajukan pertanyaan secara acak. Setiap pengguna selesai menjawab pertanyaan, maka system secara otomatis menghitung prosentasi kemungkinan terjadinya setiap deman. Berdasarkan hasil perhitungan ini, program menentukan pertanyaan selanjutnya. Proses pengambilan keputusan selesai apabila terdapat salah satu prosentasi demam di atas 75% atau setelah seluruh pertanyaan dijawab. Rancangan layar tampilan sistem diperlihatkan pada Gambar 2. an**. Database - nm Keluar KONCilSI PASIEN Si**itubuhlcelcius)l30-S0J ^*larin<nva PENYAKIT Diagnoia Resel PENG0BATAN DAN DIAGNOSA DEMAM TIFOID 000% DISENTERI BASILER 000% LEPTOSPIROSIS 0 00% DENGUE 0 00% Diagnosa sementata PViu..h.,U Gambar 2. Rancangan Layar Tampilan Proses pengambilan keputusan diambil ketika tombol "Selanjutnya" ditekan. Proses pengambilan keputusan dimulai dengan menyimpan hasil jawaban yang ada. Hasil jawaban yang disimpan mengalami beberapa proses. 1. Untuk jawaban isian, akan dilakukan pemeriksaan dengan batasan yang didapat dari tabel batasan. Bila memenuhi persyaratan maka gejala yang berhubungan dengan jawaban ini akan memperoleh nilai true. 2. Untuk jawaban pilihan, jawaban merepresentasikan nilai gejala. Jawaban tidak dan tidak tahu akan memberikan nilai false. Sedangkan jawaban ya akan memberikan nilai true. 3. Jawaban untuk gejala berantai (sebab-akibat) akan diperiksa dengan nilai gejala yang menjadi sebab atau akibatnya. 210 Jurnal llmiah llmu Komputer, Vol. 4 No. 3 September 2006: 205-214 Hasil proses jawaban ini akan disimpan sebagai gejala ke j dengan nilai true atau false. Proses pengambilan keputusan menggunakan rumus: 1 * h' ^ 4*zV\ >1 (1) PPt = persentase kemungkinan penyakit I k = jumlah gejala untuk penyakit I bj = nilai "benar" untuk gejala j pada penyakit I /, nilai "pernah ditanya" untuk gejala j pada penyakit I Batasan:0%< PP, < 100% 1 < k < 24 bj > 0 11 > 0 Proses evaluasi menggunakan rumus: bj = bj + 1 dan tj = tj + 1 (2) Proses evaluasi dilakukan setelah proses pengambilan keputusan selesai. Pengguna dapat memilih untuk melakukan evaluasi atau tidak. Evaluasi dilakukan oleh pengguna apabila dianggap hasil pengambilan keputusan tidak benar yaitu dengan memilih satu dari empat demam yang seharusnya diputuskan oleh sistem. Jika hal ini dilakukan maka program melakukan evaluasi terhadap knowledge base yang dimilikinya yaitu dengan mengubah nilai A/dan // yang bersesuaian dengan jenis demam terpilih. Rancangan tampilan layar proses ini diperlihatkan pada Gambar 3. C D & Hasil diagnosa dan evaluasi HASIL DIAGNOSA Urutan hasil diagnota: 1. Demam Tifoid 2. Disenteii baxilei 3. Leptotpiiotis 4. Demam beidaiah dengue NAVIGASI EVALUASI Fakta penyakit: Evaluasi Demam tiloid •• JDisenten batjlei Ulang diagnosa C Leptotpiiotis Demam betdaiah dengue K.eluai (anpa evatuasi Gambar 3 : Masil diagnosa dan evaluasi Sistem Pakar Dengan ... (S. Lukas, I.M. Murwantara, Y.E. Soelistio) 211 Knowledge base terdiri dari enam tabel yaitu Tabel Batasan, Tabel Jenis Demam, Tabel Keterangan Pengobatan, Tabel Keterangan Penyakit, Tabel Pertanyaan, Tabel Pengobatan Jenis Demam. Tabel Batasan menyimpan batasan syarat untuk gejala dengan pertanyaan isian. Tabel jenis demam menyimpan field jenis demam, field gejala dengan variabel jumlahBenar dan variabel jumlahTanya untuk jenis demamnya. Tabel keterangan Pengobatan menyimpan field jumlah pengobatan untuk masing-masing demam. Tabel keterangan Penyakit menyimpan field jumlah gejala (default sebelum perubahan oleh pembelajaran) masing-masing demam. Tabel Pertanyaan, menyimpan daftar pertanyaan dan jenis jawabannya. Tabel Pengobatan Jenis Demam menyimpan daftar pengobatan untuk jenis demamnya. 4. Percobaan dan Pembahasan Percobaan dilakukan dengan menggunakan skenario. Skenario yang digunakan adalah pengumpulan data satu arah dengan interupsi final oleh pengguna, pengumpulan data dua arah dengan interupsi final oleh pengguna, pengambilan keputusan final tanpa interupsi pengguna, percobaan dengan data acak, dan percobaan dengan data mendukung. Hasil percobaan menunjukan bahwa proses pembelajaran (evaluasi) mempengaruhi proses pengumpulan data dan pengambilan keputusan berikutnya. Proses pembelajaran yang dilakukan pada saat program pertama kali dijalankan, memberikan perubahan knowledge base yang signifikan. Proses pembelajaran saat program telah dijalankan beberapa kali hanya memberikan perubahan kecil pada knowledge base. Hasil percobaan ini diperlihakan pada Gambar 4 dan Gambar 5. Gambar4 : Prosentasi Demam Sebelum Pembelajaran 212 Jurnal llmiah llmu Komputer, Vol. 4 No. 3 September 2006: 205-214 Perbandingan persentase penyakit 100 S- 80 1 1 60 S ^* .-. e g 40 0 L ^ = * — < 1 3 5 r~ 7 9 — — • _, 11 13 15 17 19 21 23 25 27 29 Pasien Demam tifoid Leptospirosis - Disenteri basiler Demam berdarah dengue Gambar 5: Prosentasi Demam Sesudah Beberapa Kali Pembelajaran 5. Kesimpulan dan saran Dari percobaan yang telah dilakukan maka dapat disimpulan sebagai berikut: 1. Proses pengumpulan data dan pengambilan keputusan sangat dipengaruhi oleh knowledge base. 2. Proses pembelajaran dapat merubah data yang terdapat dalam knowledge base. 3. Jenis data yang disimpan dalam knowledge base adalah unik. Knowledge base hanya menyimpan satu data untuk sebuah pengetahuan. 4. Semakin tinggi urutan prioritas demam, semakin besar kemungkinan terpilihnya demam itu. Oleh karena itu gejala yang ditanyakan pada awal proses pengumpulan data adalah sangat penting untuk mempercepat pengambilan keputusan. 5. Keseluruhan hasil proses sangat dipengaruhi oleh nilai variabel jumlahBenar dan nilai variabel jumlahTanya. Karenanya perubahan nilai pada salah satu variabel tersebut dapat merubah jalannya proses. Saran untuk mengembangkan program sistim pakar dengan pembelajaran yang lebih baik adalah: 1. Pertanyaan pertama dalam proses pengumpulan data dapat dilakukan melalui proses perhitungan statistika. Melalui proses ini, program menghitung dahulu gejala apa yang paling sering terjadi dan kemudian ditanyakan. Dengan cara ini diharapkan proses pengambilan data dapat dipersingkat dan proses pengambilan keputusan dapat dipercepat karena program tidak perlu memperhatikan data-data yang jarang digunakan atau bahkan tidak relevan lagi. 2. Pemeriksaan error dapat dipetakan ke dalam knowledge base. 3. Pembelajaran dapat mempelajari gejala baru. Untuk pelaksanaannya dibutuhkan pengelolaan database dan pemetaan knowledge base yang lebih dinamis. Sistem Pakar Dengan ... (S. Lukas, I.M. Murwantara, Y.E. Soelistio) 213 4. 5. 6. 7. 8. Efisiensi coding dengan metode object oriented. Pemetaan knowledge base dalam database yang lebih baik. Algoritma pemeriksaan gejala dapat dipetakan dalam knowledge base. Penambahan algoritma untuk mengubah urutan prioritas. Hal ini dapat dilakukan dengan perhitungan tingkat kepercayaan. Penyakit yang paling sering terjadi ditempatkan pada urutan pertama. Penyakit yang paling sering terjadi dapat ditemukan dengan menghitung jumlah tingkat kepercayaan yang tertinggi. Program dapat mengenali lebih dari satu penyakit. Proses ini dapat dilakukan dengan membandingkan persentase kemungkinan antar penyakit. Program juga dapat mengenali ketidakberadaan penyakit dengan memberikan batas minimum persentase penyakit untuk dapat dikatakan dideritanya penyakit. 6. Daftar pustaka [1] Russel, Stuart dan Norvig, Peter, Artificial Intelligence A Modern Approach United States of America. Pearson Education, Inc. 2003 [2] Mitchell, Tom M. Machine learning. Singapore. McGraw-Hill. 1997 [3] Wilson, Jean D., Eugene Braunwald, Kurlt J. Isselbacher, Robert G. Petersdorf, Joseph B. Martin, Anthony S. Fauci, Richard K. Root. Harrison's Principles Of Internal Medicine. United States of America. McGraw-Hill, Inc. 1991 [4] Tierney, Lawrence M. Jr., Stephen J. McPhee, Maxine A. Papadakis. 2004 CURRENT Medical Diagnosis & Treatment. United State of America. The McGraw-Hill Companies, Inc. 2004 214 Jurnal llmiah llmu Komputer, Vol. 4 No. 3 September 2006: 205-214