SISTEM PAKAR DENGAN KEMAMPUAN BELAJAR SEBAGAI

advertisement
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
Download