Sistem Pakar Diagnosis dan Terapi Penyakit Umum dengan Induct/MCRDR
LAPORAN TUGAS AKHIR
Disusun sebagai syarat kelulusan tingkat sarjana
oleh : Ray Aditya Iswara / 13504045
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2009
Lembar Pengesahan Program Studi Teknik Informatika Sistem Pakar Diagnosis dan Terapi Penyakit Umum dengan Induct/MCRDR
Tugas Akhir Program Studi Teknik Informatika ITB
Oleh Ray Aditya Iswara / 13504045
Telah disetujui dan disahkan sebagai laporan tugas akhir di Bandung, pada tanggal 24 Maret 2009
Pembimbing
Masayu Leylia Khodra, S.T., M.T NIP. 999 023 508
Ir. Windy Gambetta NIP. 131 855 631
ii
RINGKASAN Perkembangan metode akuisisi pengetahuan telah menghasilkan metode akuisisi otomatis, di mana pengetahuan didapatkan dari ekstraksi kasus-kasus yang ada. Salah satu dari metode akuisisi otomatis tersebut adalah Induct/MCRDR, yang dapat menghasilkan pengetahuan klasifikasi majemuk dari data yang berjumlah besar. Tugas Akhir ini
bertujuan
mengaplikasikan Induct/MCRDR pada data dunia nyata. Untuk itu, dipilih ranah masalah diagnosis penyakit dan pemberian terapi karena ranah masalah tersebut merupakan permasalahan klasifikasi majemuk dan datanya tersedia dalam jumlah besar. Implementasi dari Tugas Akhir ini berupa sebuah sistem pakar kesehatan yang berfungsi melakukan diagnosis penyakit dan memberikan penyaranan terapi bagi pasien, dengan metode akuisisi pengetahuan Induct/MCRDR.
Analisis dan perancangan sistem pakar ini terbagi menjadi tiga bagian utama, yaitu: analisis data, analisis shell Induct/MCRDR, dan analisis dan perancangan sistem. Analisis data meliputi tahapan-tahapan yang dilalui untuk memperoleh data digital siap pakai dari kartu pasien. Analisis shell Induct/MCRDR berisi analisis keterbatasan shell yang sudah ada, penyesuaian, dan perbaikan yang dilakukan. Terakhir, analisis dan perancangan sistem meliputi perancangan alur program, kelas, format dataset, dan antarmuka sistem pakar.
Hasil pengujian sistem pakar ini menunjukkan bahwa Induct/MCRDR dapat digunakan untuk mengatasi permasalahan diagnosis penyakit dan pemberian terapinya. Akan tetapi, kualitas dataset, terutama dataset pemberian terapi, dalam Tugas Akhir ini masih belum sempurna sehingga akurasi yang dihasilkan sistem belum cukup tinggi. Untuk itu, dilakukan beberapa eksperimen model data untuk menguji dan menjamin kebenaran solusi yang dihasilkan sistem pakar.
Dari Tugas Akhir ini, dapat disimpulkan bahwa shell Induct/MCRDR dapat digunakan pada data kesehatan untuk diagnosis penyakit dan pemberian terapi. Penggunaan shell ini tidak terbatas pada masalah kesehatan saja, tetapi juga dapat digunakan pada permasalahan klasifikasi majemuk lainnya dengan penyesuaian seperlunya.
Kata kunci: sistem pakar, akuisisi pengetahuan otomatis, Induct/MCRDR, diagnosis penyakit, pemberian terapi, klasifikasi majemuk.
iii
KATA PENGANTAR Puji dan syukur Penulis panjatkan kepada Tuhan Yang Maha Esa karena berkat rahmat-Nya, tugas akhir yang berjudul “Sistem Pakar Diagnosis dan Terapi Penyakit Umum dengan Induct/MCRDR” ini dapat terselesaikan dengan baik. Laporan tugas akhir ini disusun sebagai syarat kelulusan tingkat sarjana Program Studi Teknik Informatika ITB.
Dalam proses pengerjaan tugas akhir ini, Penulis menemui banyak hambatan. Namun, Penulis banyak mendapat dukungan dan bantuan dari berbagai pihak. Untuk itu, Penulis hendak mengucapkan terima kasih kepada: 1. Bapak Ir. Windy Gambetta dan Ibu Masayu Leylia Khodra, S.T., M.T. selaku dosen pembimbing tugas akhir. 2. Ibu Dr. Eng. Ayu Purwarianti, S.T.,M.T. atas segala kritik dan saran yang diberikan selaku dosen penguji presentasi proposal tugas akhir. 3. Bapak Bugi Wibowo S.T., M.T. atas segala kritik dan saran yang diberikan selaku dosen penguji seminar tugas akhir. 4. Bapak Adi Mulyanto, S.T., M.T. atas segala kritik dan saran yang diberikan selaku dosen penguji prasidang dan sidang tugas akhir. 5. Ibu Dr. Nur Ulfa Maulidevi, S.T., M.Sc. atas segala kritik dan saran yang diberikan selaku dosen penguji sidang tugas akhir. 6. Ibu Dra. Christine Suryadi, M.T. selaku dosen mata kuliah IF40Z1 Tugas Akhir I yang telah membimbing dan memberikan arahan dalam pelaksanaan tugas akhir. 7. Bapak Ade Taryat, Bapak Rasidi, dan segenap staf tata usaha Teknik Informatika ITB. 8. dr. Frans Sukardi, yang telah berkenan menjadi pakar dalam tugas akhir ini. 9. Papi, Mami, Ines, dan Ria yang terus memberikan dukungan, semangat, dan motivasi selama pengerjaan tugas akhir ini. 10. Teman-teman IF 2004 atas kebersamaan dan kenangan-kenangan yang berkesan. 11. Pihak-pihak lain yang turut membantu Penulis dan tidak dapat disebutkan satu persatu.
iv
Penulis menyadari bahwa laporan tugas akhir ini memiliki banyak kekurangan dan masih jauh dari sempurna. Oleh sebab itu, Penulis mengharapkan kritik dan saran yang membangun agar dapat menjadi lebih baik lagi di masa yang akan datang. Semoga laporan tugas akhir ini bermanfaat bagi pembaca sekalian.
Bandung, Maret 2009
Penulis
v
DAFTAR ISI
RINGKASAN .......................................................................................................................... iii KATA PENGANTAR.............................................................................................................. iv DAFTAR ISI ............................................................................................................................ vi DAFTAR GAMBAR ............................................................................................................... ix DAFTAR TABEL ..................................................................................................................... x DAFTAR ALGORITMA ......................................................................................................... xi BAB I PENDAHULUAN .......................................................................................................I-1 1.1
Latar Belakang............................................................................................................I-1
1.2
Rumusan Masalah.......................................................................................................I-3
1.3
Tujuan .........................................................................................................................I-3
1.4
Batasan Masalah .........................................................................................................I-4
1.5
Metodologi..................................................................................................................I-4
1.6
Sistematika Pembahasan.............................................................................................I-5
BAB II DASAR TEORI.........................................................................................................II-1 2.1
Sistem Pakar ............................................................................................................. II-1
2.2
Akuisisi Pengetahuan Otomatis ................................................................................ II-2
2.3
Induct/Multiple Classification Ripple-Down Rules (Induct/MCRDR) .................... II-2
2.3.1
Metode Induct.................................................................................................... II-3
2.3.2
Representasi Pengetahuan Induct/MCRDR....................................................... II-5
2.3.3
Proses Inferensi Induct/MCRDR....................................................................... II-5
2.3.4
Proses Pembelajaran Induct/MCRDR ............................................................... II-6
2.4
2.3.4.1
Penentuan Klasifikasi yang Benar...............................................................II-7
2.3.4.2
Penentuan Lokasi ........................................................................................II-8
2.3.4.3
Penentuan Kondisi.......................................................................................II-8
Shell Induct/MCRDR................................................................................................ II-9
2.4.1
Format Dataset................................................................................................... II-9
2.4.2
Struktur Data ................................................................................................... II-10
2.4.2.1
Struktur Data ListAtribut dan ListData .....................................................II-10
2.4.2.2
Struktur Data Condition ............................................................................II-10
2.4.2.3
Struktur Data Rules ...................................................................................II-11
2.4.2.4
Struktur Data Node....................................................................................II-11
vi
2.4.3 2.5
Kelas Pada Shell Induct/MCRDR.................................................................... II-12
Diagnosis Penyakit dan Pemberian Terapi oleh Pakar ........................................... II-13
BAB III ANALISIS DAN PERANCANGAN SISTEM PAKAR KESEHATAN .............. III-1 3.1
Analisis Awal........................................................................................................... III-1
3.1.1
Spesifikasi Kebutuhan Sistem .......................................................................... III-2
3.1.2
Pengembangan Sistem Pakar............................................................................ III-2
3.2
Analisis Data............................................................................................................ III-3
3.2.1
Masalah Diagnosis Penyakit dan Pemberian Terapi ........................................ III-3
3.2.2
Seleksi dan Ekstraksi Data ............................................................................... III-4
3.2.2.1
Pengambilan Data ..................................................................................... III-4
3.2.2.2
Penentuan Atribut Diagnosis Penyakit dan Pemberian Terapi.................. III-5
3.2.2.3
Abstraksi dan Pengolahan Data................................................................. III-6
3.3
Analisis Shell Induct/MCRDR................................................................................. III-7
3.4
Analisis dan Perancangan Program ....................................................................... III-10
3.4.1
Perancangan Alur Program............................................................................. III-10
3.4.2
Identifikasi Kelas Objek ................................................................................. III-11
3.4.3
Perancangan Format Dataset .......................................................................... III-12
3.4.4
Perancangan Struktur Data ............................................................................. III-15
3.4.5
Perancangan Kelas.......................................................................................... III-15
3.4.6
Perancangan Antarmuka................................................................................. III-16
BAB IV IMPLEMENTASI DAN PENGUJIAN ................................................................. IV-1 4.1
Implementasi............................................................................................................IV-1
4.1.1
Lingkungan Implementasi ................................................................................IV-1
4.1.2
Batasan Implementasi.......................................................................................IV-1
4.1.3
Implementasi Kelas ..........................................................................................IV-1
4.1.4
Implementasi Antarmuka .................................................................................IV-2
4.2
Pengujian .................................................................................................................IV-5
4.2.1
Lingkungan Pengujian......................................................................................IV-5
4.2.2
Tujuan Pengujian..............................................................................................IV-5
4.2.3
Bahan Pengujian...............................................................................................IV-6
4.2.4
Skenario dan Kriteria Pengujian.......................................................................IV-6
4.2.5
Metode Pengukuran..........................................................................................IV-6
4.2.6
Hasil Pengujian.................................................................................................IV-8
4.2.7
Analisis Hasil Pengujian...................................................................................IV-8
4.2.7.1
Analisis Hasil Pengujian Akurasi Basis Pengetahuan Induct/MCRDR Oleh Sistem ............................................................................................... IV-8
vii
4.2.7.2
Analisis Hasil Perbandingan Pengujian Antara Ridor dan Induct/MCRDR ....................................................................................... IV-11
4.2.8
Kesimpulan Pengujian....................................................................................IV-12
BAB V PENUTUP ................................................................................................................ V-1 5.1
Kesimpulan ............................................................................................................... V-1
5.2
Saran ......................................................................................................................... V-1
DAFTAR REFERENSI............................................................................................................ xi DAFTAR PUSTAKA............................................................................................................. xiii LAMPIRAN A Eksplorasi Sistem Pakar .............................................................................. A-1 LAMPIRAN B Proses Akuisisi Induct/MCRDR ...................................................................B-1 LAMPIRAN C Multiple Classification Ripple-Down Rules (MCRDR) ...............................C-1 LAMPIRAN D Contoh Data ................................................................................................. D-1 LAMPIRAN E Contoh Basis Pengetahuan yang Dibentuk Shell Induct/MCRDR [ARM07] .......................................................................................................................E-1 LAMPIRAN F Implementasi Kelas ....................................................................................... F-1 LAMPIRAN G Pengujian Fitur Sistem Pakar....................................................................... G-1 LAMPIRAN H Pengujian dan Eksperimen Pembentukan Model Data................................ H-1 LAMPIRAN I Perbandingan Pengujian Antara Ridor dan Induct/MCRDR pada BP Diagnosis Penyakit dan BP Pemberian Terapi..............................................................I-1
viii
DAFTAR GAMBAR Gambar II-1 Induksi pada Induct/RDR [GAI92] ...................................................................II-4 Gambar II-2 Basis pengujian statistik pada Induct [GAI92]..................................................II-4 Gambar II-3 Contoh representasi pengetahuan Induct/MCRDR [ARM07]...........................II-5 Gambar II-4 Contoh inferensi dari Induct/MCRDR untuk kasus masukan [tear-prod = normal, astigmatism = no, age = young] .......................................................................II-6 Gambar II-5 Format file dataset masukan ..............................................................................II-9 Gambar II-6 Struktur data ListAtribut..................................................................................II-10 Gambar II-7 Struktur data ListData......................................................................................II-10 Gambar II-8 Struktur data Condition ...................................................................................II-11 Gambar II-9 Struktur data Rules ..........................................................................................II-11 Gambar II-10 Contoh pohon dinamik JDOTS .....................................................................II-12 Gambar II-11 Struktur data Node.........................................................................................II-12 Gambar II-12 Diagram package sistem Induct/MCRDR .....................................................II-12 Gambar III-1 Proses pengembangan sistem pakar kesehatan............................................... III-1 Gambar III-2 Contoh kartu pasien........................................................................................ III-3 Gambar III-3 Contoh data masukan sistem pakar setelah dilakukan perubahan pada shell Induct/MCRDR................................................................................................... III-8 Gambar III-4 Contoh pohon pengetahuan sebelum perbaikan shell Induct/MCRDR.......... III-9 Gambar III-5 Contoh pohon pengetahuan sesudah perbaikan shell Induct/MCRDR. ......... III-9 Gambar III-6 Contoh representasi pengetahuan dari sistem pakar kesehatan ini............... III-10 Gambar III-7 Format file dataset diagnosis penyakit sebelum diproses sistem pakar........ III-12 Gambar III-8 Format file dataset pemberian terapi sebelum diproses sistem pakar........... III-13 Gambar III-9 Format file dataset diagnosis penyakit ......................................................... III-13 Gambar III-10 Format file dataset obat .............................................................................. III-14 Gambar III-11 Rancangan antarmuka utama sistem pakar................................................. III-16 Gambar III-12 Rancangan antarmuka untuk melihat pohon pengetahuan dan melakukan validasi .................................................................................................... III-17 Gambar IV-1 Diagram kelas sistem pakar kesehatan........................................................... IV-2 Gambar IV-2 Antarmuka utama sistem pakar kesehatan ..................................................... IV-4 Gambar IV-3 Antarmuka validasi sistem pakar ................................................................... IV-5
ix
DAFTAR TABEL Tabel II-1 Daftar kelas untuk tiap package yang digunakan dalam shell Induct/MCRDR ..II-13 Tabel III-1 Daftar kelas untuk tiap package yang digunakan sistem pakar kesehatan....... III-15 Tabel IV-1 Deskripsi objek pada layar utama ...................................................................... IV-2 Tabel IV-2 Deskripsi objek pada layar validasi ................................................................... IV-4 Tabel IV-3 Contoh kasus dan perhitungan akurasinya......................................................... IV-7 Tabel IV-4 Akurasi kedua basis pengetahuan pada pengujian 10-fold cross validation...... IV-9 Tabel IV-5 Akurasi kedua basis pengetahuan pada pengujian 10-fold cross validation sesudah dilakukan penghapusan pada dataset .................................................... IV-9 Tabel IV-6 Hasil pengujian dengan dataset pada dua kelas tertinggi pada dataset diagnosis penyakit ............................................................................................ IV-10 Tabel IV-7 Hasil pengujian 10-fold cross validation pada dua kelas tertinggi pada dataset diagnosis penyakit ................................................................................ IV-10 Tabel IV-8 Akurasi Ridor dan Induct/MCRDR pada pengujian menggunakan dataset..... IV-11 Tabel IV-9 Akurasi Ridor dan Induct/MCRDR pada pengujian 10-fold cross validation. IV-11
x
DAFTAR ALGORITMA Algoritma II-1 Algoritma BuildMCRDR untuk pembangkitan struktur MCRDR ............... II-7 Algoritma III-1 Algoritma BuildMCRDR setelah modifikasi ............................................. III-9
xi