Seminar Nasional Ilmu Komputer dan Aplikasinya – SNIKA 2008
27/11/2008
SISTEM PAKAR DIAGNOSIS PENYAKIT
PADA ANAK DAN BALITA
Nur Rokhman
Nuning Sri Rejeki
Ilmu Komputer UGM nurrokhman@ugm.ac.id
Abstrak
Anak dan balita rentan sekali terserang peyakit. Penyakit ini akan sangat mempengaruhi tumbuh kembang anak. Sangat disayangkan hal ini tidak diikuti oleh pengetahuan orang tua akan penyakit pada anak dan balita dan cara penanganan yang tepat serta terbatasnya jumah pakar penyakit anak (dokter anak). Oleh sebab itu sangat dibutuhkan sebuah sistem yang dapat di manfaatkan untuk mendiagnosis penyakit anak dan balita beserta cara pencegahan dan pengobatannya. Pengembangan sisem pakar merupakan cara yang tepat untuk mengatasi keterbatasan ini.
Pada penelitian ini dikembangkan sistem pakar diagnosis penyakit pada anak dan balita. Mesin sistem pakar dikembangkan dengan model penalaran maju (forward chaining). Penalaran yang dikembangkan meliputi : diagnosis penyakit, saran pengobatan dan saran pencegahan penyakit.
Hasil penelitian ini adalah sebuah program komputer yang termasuk dalam kategori sistem pakar yang mempunyai kemampuan untuk mendiagnosis penyakit, memberikan saran pengobatan dan saran pencegahan. Sistem juga adaptif terhadap perkembangan ilmu tentang penyakit pada anak dan balita. Pakar dapat memberikan tambahan data penyakit, saran pengobatan dan saran pencegahan.
Kata Kunci
: Sistem pakar, penyakit anak dan balita.1.
PENDAHULUAN
Anak dan balita rentan sekali terserang peyakit. Penyakit ini akan sangat mempengaruhi tumbuh kembang anak. Sangat disayangkan hal ini tidak diikuti oleh pengetahuan orang tua akan penyakit pada anak dan balita dan cara penanganan yang tepat serta terbatasnya jumah pakar penyakit anak (dokter anak). Oleh sebab itu sangat dibutuhkan sebuah sistem yang dapat di manfaatkan untuk mendiagnosis penyakit anak dan balita beserta cara pencegahan dan pengobatannya. Pengembangan sisem pakar merupakan cara yang tepat untuk mengatasi keterbatasan ini.
Pemanfaatan sistem pakar dalam bidang kesehatan telah banyak diungkap. Antara lain sistem pakar untuk membantu diagnosis penyakit dalam pada manusia dengan solusi penggunaan herbal sebagai obat [2], sistem pakar untuk mendiagnosa vertigo [4], sistem pakar untuk mendiagnosa penyakit infeksi TBC paru [3] dan . sistem pakar untuk mendiagnosis penyakit gigi [1].
2.
PENGEMBANGAN MODEL
Sistem Pakar
Sistem pakar (Expert System) adalah sistem yang mengadopsi pengetahuan manusia ke komputer agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan masalah yang rumit yang dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman. Secara struktur, bagian utama
sebuah sistem pakar terdiri atas : antar muka pengguna, basis pengetahuan, mesin inferensi [5]. Gambar 1 menunjukkan struktur sistem pakar
Secara deduktif mesin inferensi memilih pengetahuan yang relevan dalam rangka mencapai kesimpulan. Mesin inferensi memulai pelacakannya dengan mencocokkan kaidah-kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam basis data. Teknik pelacakan maju (forward chaining) bekerja dari informasi yang tersedia, dan kemudian ditarik kesimpulan.
Lingkungan Konsultasi
Antarmuka pengguna
Mesin inferensi Penerjemah
menarik kesimpulan Pembuat jadwal
Penguat konsistensi
Blackboard (tempat kerja)
Rencana Agenda
Solusi Deskripsi masalah
Fasilitas penjelasan Tindakan yang direko-mendasikan Basis pengetahuan Fakta : Apa yang diketahui tentang area domain
Aturan : Referensi logika (misalnya antara gejala dan penyebab)
Lingkungan Pengembangan Pengetahuan terdokumentasi Perbaikan pengetahuan Fakta tentang kejadian khusus Akuisisi pengetahuan Pengguna Knowledge engineer Pengetahuan Pengetahuan Pakar
Gambar 1. Struktur Sistem Pakar
Diagnosis penyakit pada anak dan balita
Sejumlah penyakit yang sering diderita oleh anak dan balita antara lain : gangguan sistem pernafasan, gangguan sistem syaraf, gangguan sistem pencernaan, infeksi virus. Ada dua macam tipe tipe pengobatan untuk penyakit pada anak dan balita, yaitu penatalaksanaan medis dan penatalaksanaan keperawatan.
Penatalaksanaan medis adalah pengobatan yang diberikan berdasarkan etiologi dan uji resistensi. Pada penatalaksanaan medis, diberikan obat dan tindakan medis untuk menyembuhkan penyakit dan mencegah penyakit semakin parah. Penatalaksanaan keperawatan merupakan usaha
yang diperlukan untuk membantu penatalaksanaan medis. Biasanya berupa tindakan-tindakan yang bisa mengurangi rasa sakit yang diderita dan antisipasi komplikasi
Beberapa pengobatan yang dapat diterapkan pada penyakit yang sering diderita anak dan balita disajikan pada Tabel 1. Disamping pengobatan, terhadap penyakit anak dan balita perlu dilakukan pencegahan. Tabel 2 menunjukkan beberapa pencegahan terhadap penyakit pada anak dan balita.
Sistem Pakar Diagnosis Penyakit Pada Anak Dan Balita
Desain sistem pakar ini dimulai dari desain mesin inferensi dan basis pengetahuan. Desain ini didasarkan pada aturan diagnosis, aturan pengobatan penyakit, aturan pencegahan, dan model penelusurannya yang masing-masing dapat dilihat pada Tabel 3, Tabel 4, Tabel 5, dan Gambar 2.
Dari model tersebut dapat disusun model data untuk representasi pengetahuan untuk keperluan sistem pakar ini. Gambar 3 menunjukkan diagram relasi entitas yang digunakan. Gambar 4
menunjukkan relasi antar tabelnya.Diagram konteks untuk sistem pakar ini dapat dilihat pada Gambar 5.
3.
IMPLEMENTASI
Sistem pakar ini diimplementasikan dengan menggunakan bahasa pemrograman Visual Basic dan sistem basis data MS Access. Gambar 6 menunjukkan cuplikan program untuk proses diagnosa penyakit.
Tabel 1. Contoh pengobatan penyakit pada anak dan balita
No Nama Penyakit Penatalaksanaan medis Penatalaksanaan keperawatan
1. Batuk-pilek - Berikan obat yg bersifat simtomatis.
- Berikan obat gosok (sejenis vicks vaporup) dan minyak kayu putih untuk penghangat.
- kompres anak untuk nmenurunkan panas dengan kompres hangat
- hindarkan anak dari minum es
- berikan nutrisi dengan makanan yang bergizi.
2. Sinusitis - Berikan antibiotik, antihistamin dan pengobatan simtomatik lainnya.
- Perbaiki kondisi gigi dan mulut dan Jaga kebersihannya.
3. Tonsilo Faringitis - Berikan antibiotik dengan dosis yang adekuat.
- Anak harus sering berkumur dan minum.
Tabel 2. Contoh pencegahan pada penyakit anak dan balita
No Nama Penyakit Pencegahan
1. Batuk - pilek Pertahankan kesehatan anak dengan memberikan makanan bergizi. Jaga lingkungan tetap bersih dan sanitasi yang bagus
Hindarkan anak dari penderita batuk-pilek
2. Sinusitis Pertahankan kesehatan anak dengan memberikan makanan bergizi.
Hindarkan anak dari terserang batuk-pilek. Jangan terlalu banyak minum es. 3. Tonsilo Faringitis Pelihara kebersihan gigi dan mulut
Pelihara kebersihan lingkungan dan sanitasi Berikan makan yang bergizi pada anak dan balita
Tabel 3. Contoh aturan diagnosis penyakit
NO ATURAN
ATURAN 1
IF demam AND muntah AND diare AND lemas AND batuk AND rasa gatal AND fotofobia AND timbul bercak koplik yang patognomonik AND muka bengkak AND pembesaran kelenjar getah bening THEN Morbili
ATURAN 2
IF demam AND muntah AND diare AND batuk AND sianosis AND kejang AND sesak napas AND dispnea AND pernapasan cuping hidung AND nyeri dada AND napas dangkal dan cepat THEN Pneumonia
ATURAN 3
IF demam AND muntah AND diare AND nyeri kepala AND anoreksia AND kaku kuduk AND kejang AND pupil melebar AND obstipasi AND ubun-ubun besar, tegang dan menonjol AND anak apatis AND morning cry AND terdapat kelainan serebral AND strabismus THEN Meningitis Purulenta
Tabel 4. Contoh aturan pengobatan penyakit
NO ATURAN
ATURAN 1
IF batuk-pilek THEN berikan obat yang bersifat simtomatis AND berikan obat gosok (sejenis vicks vaporoup) dan minyak kayu putih untuk penghangat AND kompres anak untuk menurunkan panas dengan kompres hangat AND hindarkan anak dari minum es AND berikan nutrisi dengan makan bergizi.
ATURAN 2
IF sinusitis THEN berikan antibiotik,antihistsamin dan pengobatan simtomatik lainnya AND perbaiki kondisi gigi dan mulut dan jaga kebersihannya.
ATURAN 3
IF tonsilo faringitis THEN berikan antibiotik dengan dosis yang adekuat AND anak harus sering berkumur dan minum.
Tabel 5. Contoh aturan pencegahan penyakit
NO ATURAN
ATURAN 1
IF batuk-pilek THEN perhatikan kesehatan anak dengan menjaga masukan nutrisinya AND jaga lingkungan tetap bersih dan sanitasi yang bagus AND hindarkan anak dari kontak langsung dengan penderita batuk dan pilek.
ATURAN 2
IF sinusitis THEN jaga kesehatan anak dengan memberikan gizi yang baik AND hindarkan terserangnya batuk-pilek pada anak misal dengan minum es terlalu banyak.
ATURAN 3
IF tonsilo faringitis THEN jaga kebersihan mulut dan gigi AND jaga kebersihan lingkungan AND berikan makanan yang bergizi pada anak dan balita.
G001 G011 G008 G005 G004 G003 G002 G005 G025 G075 P23 P07 G012 G007 G006 G100 G010 G022 G021 G011 G029 P14 G032 G031 P16 G007 G044 G043 P26 G003 G102 P18 G006 G035 P17 G015 G002 G003 G004 G006 G007 G041 P21 G040 G002 G037 G069 P19 G038 G039 P20 G004 G013 G070 P13 ya Tidak G012 G009 G005 G100 G007 G014 P01 P04 G020 G008 G006 G026 P10 G016 G012 G009 G010 G008 G011 G020 G026 G017 P09 P05 G016 G051 G052 G053 P19 G027 G088 G089 P11 G004 G005 G006 G100 P25 G010 G004 G004 G013 G014 G019 G016 G017 G007 G010 G022 G030 G097 P15 G058 G028 G095 P08 G062 G017 G012 G009 G005 G006 G009 G023 G024 G048 P02 P24 G072 G025 G007 G011 G015 G042 P22 G076 G077 G078 G059 G063 G064 G101 G030 G097 G098 G008 G009 G020 G031 G045 G046 G011 G021 G013 G015 G018 G033 G034 G036 G073 G074 G074 G074 G056 G057 G068 G027 G081 G053 G053 G007 G002 G005 P06 G009 G008 G014 G028 G061 G062 G067 P12 G094 G093 G092 G091 G090
mempunyai
gejala Penyakit
Id_gejala Nama gejala Id_penyakit penyakitNama
Id_aturan M M mempunyai Pengobatan Pencegahan mempunyai 1 M 1 M Id_penyakit pencegahan Id_penyakit pengobatan
Gambar 3. Diagram relasi-entitas representasi pengetahuan sistem pakar diagnosis penyakit pada anak dan balita
Tabel Pencegahan PK ID_Penyakit Pencegahan Tabel Penyakit PK ID_Penyakit Nama Penyakit Tabel Aturan PK ID_Aturan PK ID_Penyakit PK ID_Gejala Tabel Pengobatan PK ID_Penyakit Pengobatan Tabel Gejala PK ID_Gejala Nama Gejala M 1 M M M 1 1
Gambar 4. Diagram relasi-entitas representasi pengetahuan sistem pakar diagnosis penyakit pada anak dan balita
Gambar 6. Cuplikan program untuk proses diagnosa penyakit. Dim strID_Penyakit() As String
If strID_Gejala2 = "" Then
strID_Gejala2 = "'" & strID_Gejala & "'" Else
strID_Gejala2 = strID_Gejala2 & ",'" & strID_Gejala & "'" End If
Adodc1.RecordSource = "SELECT Tabel_Penelusuran.ID_Penyakit " & _ "FROM Tabel_Penelusuran " & _
"WHERE Tabel_Penelusuran.ID_Penyakit Not In (SELECT Tabel_Penelusuran.ID_Penyakit " & _
"FROM Tabel_Penelusuran LEFT JOIN Tabel_Aturan ON Tabel_Penelusuran.ID_Penyakit = Tabel_Aturan.ID_Penyakit " & _
"WHERE (((Tabel_Aturan.ID_Gejala)='" & strID_Gejala & "' Or (Tabel_Aturan.ID_Gejala) Is Null))) " & _
"GROUP BY Tabel_Penelusuran.ID_Penyakit" Adodc1.Refresh
If Adodc1.Recordset.RecordCount = 0 Then
If MsgBox("Penyakit tidak diketahui." & vbCrLf & "Apakah Anda ingin mengulang ?", vbQuestion + vbYesNo, "Diagnosa Penyakit") = vbYes Then
cmdMulai_Click cmdYa.SetFocus End If
Gambar 7. Cuplikan program untuk pengobatan
Gambar 8. Cuplikan program untuk pencegahan penyakit Adodc3.Refresh
.lvwGejala.ListItems.Clear bytI = 0
While Not Adodc3.Recordset.EOF bytI = bytI + 1
Set lst = .lvwGejala.ListItems.Add(, , bytI & " . " & Adodc3.Recordset!Gejala) Adodc3.Recordset.MoveNext Wend 'Isi Pencegahan .lvwPencegahan.ColumnHeaders.Clear .lvwPencegahan.ColumnHeaders.Add , , "", 5000 Adodc3.ConnectionString = strConnectionString
Adodc3.RecordSource = "SELECT Tabel_Pencegahan.Pencegahan " & _ "FROM Tabel_Pencegahan " & _
"WHERE Tabel_Pencegahan.ID_Penyakit='" & Adodc2.Recordset!ID_Penyakit & "'"
Adodc3.Refresh
.lvwPencegahan.ListItems.Clear bytI = 0
While Not Adodc3.Recordset.EOF bytI = bytI + 1
Set lst = .lvwPencegahan.ListItems.Add(, , bytI & " . " & Adodc3.Recordset!Pencegahan) Adodc3.Recordset.MoveNext Wend 'Isi Pencegahan .lvwPengobatan.ColumnHeaders.Clear .lvwPengobatan.ColumnHeaders.Add , , "", 5000 Adodc3.ConnectionString = strConnectionString
Adodc3.RecordSource = "SELECT Tabel_Pengobatan.Pengobatan " & _ "FROM Tabel_Pengobatan " & _
"WHERE Tabel_Pengobatan.ID_Penyakit='" & Adodc2.Recordset!ID_Penyakit & "'"
Adodc3.Refresh
.lvwPengobatan.ListItems.Clear bytI = 0
While Not Adodc3.Recordset.EOF bytI = bytI + 1
Set lst = .lvwPengobatan.ListItems.Add(, , bytI & " . " & Adodc3.Recordset!Pengobatan) Adodc3.Recordset.MoveNext
If CekForm(" DETAIL PENYAKIT") = True Then frmDetail.ZOrder 0
Else
frmDetail.Show
frmMenu.cboWindow.AddItem " DETAIL PENYAKIT"
frmMenu.cboWindow.ListIndex = frmMenu.cboWindow.ListCount - 1 End If
With frmDetail
.lblDetail.Caption = "ID PENYAKIT : " & UCase(Adodc2.Recordset!ID_Penyakit) .lblDetail.Caption = .lblDetail.Caption & vbCrLf & vbCrLf & "NAMA PENYAKIT : " & UCase(Adodc2.Recordset!Penyakit)
'Isi Gejala
.lvwGejala.ColumnHeaders.Clear
.lvwGejala.ColumnHeaders.Add , , "", 5000 Adodc3.ConnectionString = strConnectionString
Adodc3.RecordSource = "SELECT Tabel_Gejala.Nama_Gejala AS GEJALA " & _
"FROM Tabel_Gejala INNER JOIN Tabel_Aturan ON Tabel_Gejala.ID_Gejala = Tabel_Aturan.ID_Gejala " & _
"WHERE (((Tabel_Aturan.ID_Penyakit)='" & Adodc2.Recordset!ID_Penyakit & "'))" & _
"ORDER BY Tabel_Aturan.ID_Aturan" End If
4.
KESIMPULAN
Telah dikembangkan sistem pakar untuk diagnosis penyakit pada anak dan balita. Sistem ini dapat memberikan informasi penyakit, pencegahan, pengobatannya, khusus yang terjadi pada anak dan balita.
5.
SARAN
1. Perlu dilakukan kajian lebih lanjut mengenai tingkat penerimaan sistem ini dimasyarakat.
2. Peran para pakar sangat dibutuhkan untuk selalu menambahkan data sehingga sistem ini senantiasa semakin pandai.
3. Pada sistem ini, penelusuran terhadap pencegahan dan pengobatan masih menyatu dengan penelusuran penyakit. Perlu dikembangkan model penelusuran terpisah untuk pencegahan dan pengobatan.
6.
DAFTAR PUSTAKA
6.
DAFTAR PUSTAKA
[1] Asiyah, S., 2005, “Sistem Pakar Diagnosa Penyakit Gigi“, Skripsi Ilmu Komputer UGM, Yogyakarta. [2] Nugroho, 2006, “Diagnosis Penyakit Dalam pada Manusia dengan Solusi Penggunaan Herbal Sebagai
Obat“, Skripsi Ilmu Komputer UGM, Yogyakarta
[3] Rifki, I.P., 2006, “Sistem Pakar untuk Mendiagnosa Penyakit Infeksi TBC Paru“, Skripsi Ilmu Komputer UGM.
[4] Purnomo, B.J., 2006, „Sistem Pakar untuk Mendiagnosa Vertigo“, Skripsi Ilmu Komputer UGM.
[5] Turban, E., Aronson, J., and Liang, P., 2005, “Decision Support System and Intelligent Systems-7th Ed“, Pearson Education, New Jersey.