PENERAPAN SISTEM PAKAR UNTUK MENDETEKSI PENYAKIT CHIKUNGUNYA
Naskah Publikasi
disusun oleh Ana Hari Supartiningsih 09.22.1089 Kepada JURUSAN SISTEM INFORMASI SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2010
Implementation of Expert System To Detection Chikungunya Disease Penerapan Sistem Pakar Untuk Mendeteksi Penyakit Chikungunya
Ana Hari Supartiningsih Jurusan Sistem Informasi STMIK AMIKOM YOGYAKARTA
ABSTRACT
Today's computer technology continues to support human life, especially in the medical world. Various diseases can infect humans, including cikungunya disease, but still much less ordinary people who understand the types of diseases and how to handle it so difficult to take action treatment of this disease. To help overcome this, the author tries to analyze the points of discussion and the results are intended to build an expert-based information systems to detect disease cikungunya. This expert system uses forward chaining method, the inference process to start the search from the premise to conclusion. Software used to build an expert system application program is Windows based Visual Basic 6.0 with SQL Server 2000 database processing.
Keywords: expert system, chikungunya disease
PENDAHULUAN
1.1 Latar Belakang Masalah Chikungunya adalah penyakit yang diakibatkan oleh virus yang ditularkan oleh gigitan nyamuk. Penyakit ini cenderung menimbulkan kejadian luar biasa karena proses penularannya yang terjadi sangat cepat, cepatnya penyebaran penyakit ini tidak diiringi dengan cepat tanggapnya ahli medis yang menangani. Hal ini kemudian memperlambat dalam proses penanganan pasien. Pemikiran akan adanya suatu program aplikasi yang mampu melakukan diagnosa terhadap penyakit yang disebarkan oleh nyamuk secara umum telah ada sebelumnya. Tetapi beberapa program aplikasi sistem pakar yang sebelumnya masih belum dapat memberikan diagnosa yang akurat. Hal tersebut dikarenakan masih diperlukannya secara mutlak seorang ahli yang mampu melakukan diagnosa berdasar ilmu pengetahuan dan pengalaman yang dimilikinya. Untuk dapat menggantikan fungsi seorang ahli, diperlukan aplikasi yang amat rumit. Dari latar belakang permasalahan diatas, penulis bermaksud untuk merancang program aplikasi sistem pakar yang lebih baik dari program aplikasi sejenis, yang sebelumnya telah ada. Karena lingkupnya yang lebih spesifik mendiagnosa penyakit chikungunya, sehingga aplikasi ini lebih akurat dan mudah dijalankan. Aplikasi sistem pakar ini nantinya diharapkan dapat bermanfaat bagi ahli itu sendiri dan juga bagi orang awam yang bahkan tidak mengerti sedikitpun tentang penyakit tersebut. 1.2 Rumusan Masalah Program aplikasi sistem pakar ini akan meminta informasi sebanyak mungkin dari pasien yang dijadikan landasan seorang ahli medis untuk melakukan diagnosa mengenai penyakit. Dari latar belakang diatas maka penulis merumuskan masalah bagaimana
memanfaatkan teknologi komputer untuk mempermudah dalam melakukan diagnosa mengenai kemungkinan seorang pasien menderita penyakit chikungunya? 1.3 Batasan Masalah Mengingat luasnya cakupan tentang masalah penyakit chikungunya dan sistem pakar,maka ruang lingkup masalah terbatas pada: 1. Bagaimana mendesain sistem pakar rule-based untuk melakukan pendeteksian penyakit chikungunya. 2. Cara kerja algoritma forward chaining dan implementasinya dalam program. 3. Penggunaan kaidah produksi untuk merepresentasikan pengetahuan dalam program. 4. Bagaimana program ini memberikan informasi tentang penyakit chikungunya dan cara pengobatanya serta kemungkinan penyakit lain yang memiliki gejala-gejala yang sama dengan chikungunya. 5. Desain aplikasi program menggunakan Visual Basic 6.0. 6. Database yang digunakan adalah Microsoft SQL Server 2000.
1.4 Tujuan Penelitian Tujuan dari penelitian ini adalah: 1. Membentuk sebuah sistem pakar yang mampu mendiagnosa penyakit chikungunya, berdasarkan gejala-gejala yang ditimbulkan sehingga dapat diambil tindakan pengobatannya. 2. Membuat rancangan sistem pakar dengan user interface yang lebih menarik dan mudah dipahami . 1.5 Manfaat Penelitian Manfaat penelitian ini adalah:
1. Memberikan suatu solusi alternatif dalam mendiagnosa penyakit berdasar gejala-gejala yang ditimbulkan dengan bantuan komputer, sehingga deteksi bisa dilakukan lebih cepat dan mudah. 2. Membantu pengambilan tindakan pengobatan berdasarkan informasi output yang diberikan oleh sistem pakar yang dibuat. 3. Memudahkan kalangan awam untuk memahami penyakit chikungunya dan sistem pakar melalui desain aplikasi yang user friendly. 1.6 Metode Penelitian Tahapan-tahapan penelitian yang dilakukan dalam pembuatan skripsi ini adalah: 1. Tahap Pengumpulan Data a. Wawancara
(Interview),
yaitu
metode
pengumpulan
data
dengan
mengadakan wawancara langsung dengan pakar penyakit dr.Ismanto. b. Kepustakaan (Library), yaitu metode pengumpulan data menggunakan pustaka-pustaka yang telah ada untuk digunakan sebagai referensi. 2. Tahap Analisis dan Perancangan Dalam tahap ini, digunakan metode deskriptif-analitis, yaitu masalah yg diteliti diuraikan dan dianalisis. Dimulai dari pengidentifikasian masalah hingga analisis yang dilakukan terhadap kebutuhan data dan kebutuhan sistem. 3. Tahap Implementasi Tahap ini merupakan tahap pengolahan data dan pembangunan jaringan dengan menggunakan perangkat lunak Visual Basic 6.0. dan database Microsoft SQL Server 2000.
LANDASAN TEORI
2.1 Kecerdasan Buatan Kecerdasan buatan merupakan ilmu komputer yang mempelajari kemampuan komputer untuk bertindak dan memiliki kecerdasan seperti manusia (Minsky, 1989). Kecerdasan buatan dapat didefenisikan sebagai kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang cerdas (Simon, 1987). Kecerdasan buatan termasuk dalam sub-bidang pengetahuan komputer yang khusus ditujukan untuk membuat software dan hardware yang sepenuhnya bisa menirukan beberapa fungsi otak manusia. Dalam ilmu komputer, banyak ahli yang berkonsentrasi pada pengembangan kecerdasan buatan atau Artificial Intelligence (AI), karena, kecerdasan buatan dapat melakukan penalaran terhadap data yang tidak komplit. Hal ini sangat tidak mungkin dilakukan oleh pemrograman konvensional. Kemampuan penalaran dan penjelasan terhadap setiap langkah dalam pengambilan keputusan menjadi kelebihan dari kecerdasan buatan (Turban, 1995). Ada tiga tujuan kecerdasan buatan(Wingston dan Prendergast, 1994), yaitu: membuat komputer lebih cerdas, mengerti tentang kecerdasan dan membuat mesin lebih berguna. Yang dimaksud dengan kecerdasan adalah kemampuan untuk mengerti dari pengalaman, memahami pesan kontradiktif dan ambigu, menanggapi dengan cepat dan baik terhadap situasi yang baru, menggunakan penalaran dalam memecahkan masalah serta menyelesaikannya dengan efektif. Kecerdasan
buatan
berbeda
dengan
program
konfensional.
Pemrograman
konfensional berbasis pada algoritma yang mendefinisikan setiap langkah dalam penyelesaian masalah. Pemrograman konvensional dapat menggunakan rumus matematika
untuk menghasilkan solusi. Lain halnya dengan pemrograman dalam kecerdasan buatan yang berbasis pada representasi simbol dan manipulasi (Kusrini, 2006). Seorang
ahli
kecerdasan
buatan
bertanggung
jawab
pengetahuannya dalam pembuatan program yang efektif dan cerdas.
untuk
menerapkan
ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem 3. 1. 1 Analisis Masalah Masalah mendiagnosa penyakit chikungunya dikategorikan sebagai masalah artificial intelegent, khususnya sistem pakar karena pemecahan masalah tersebut dapat dilakukan dengan mengembangkan sistem yang dapat berperan sebagai seorang ahli atau dokter.Dengan kata lain terjadi pemindahan atau proses pengolahan informasi yang bersifat heuristic yang artinya membangun dan mengoprasikan basis pengetahuan yang berisi fakta serta penalarannya. Prosesnya disebut knowledge engineering yaitu penyerapan basis pengetahuan dari pakar ke komputer. Fakta yang diperoleh dari seorang ahli akan disimpan dalam suatu basis pengetahuan. Kemudian dengan bantuan mesin inferensi dan memori kerja maka proses penarikan tentang penyakit chikungunya pada manusia dapat dilakukan berdasar kategori bidang yang sesuai sistem pakar ini, Melalui sebuah sistem pakar yang akan dibuat, diharapkan deteksi yang dilakukan terhadap penyakit yang diperkirakan chikungunya bisa lebih cepat karena dalam dunia kesehatan, waktu sangatlah berharga. Diagnosa dilakukan oleh program, sehingga hasilnya pun lebih akurat.
gejala
penyakit
pencegahan
pengobatan
Aturan gejala
Aturan pencegahan
Gambar 3.3 Flowchart sistem
Aturan pengobatan
Penampung
1.DFD Level 0
Gambar 3.4 DFD Level 0
Gambar 3.5 DFD Level 1 3. 3 Perancangan Database 3. 3. 1 Rancangan Normalisasi Normalisasi adalah proses mengubah tabel yang bermasalah tertentu ke dalam dua buah table atau lebih yang tidak bermasalah. Tujuan normalisasi agar terhindar dari penumpukan data (redundancy), data yang tidak konsisten (inconsistency), tidak efisien data (inefficiency). Tabel dikatakan normal jika memenuhi kriteria berikut (Kusrini dan Andri Koniyo, 2007) : 1. Jika ada dekomposisi tabel maka dekomposisi itu harus terjamin aman (lossless-join decomposition). Dekomposisi adalah proses pemisahan satu tabel menjadi dua atau lebih tabel baru.
Gambar 3. 8 Relasi Database
3. 3. 2 Desain Struktur Tabel Desain struktur tabel bertujuan untuk menentukan tipe data dan ukuran dari masing-masing tabel, sehingga data dapat disimpan dengan ukuran dan tipenya. Berikut desain struktur tabelnya: 3. 3. 2. 1 Tabel Penyakit Nama tabel : penyakit Fungsi tabel : menyimpan data penyakit Tabel 3. 17 Penyakit NO Field Name Type Size Keterangan 1 Kd_penyakit * char 5 Kd_penyakit (primary key) 2 Penyakit varchar 100 Nama penyakit 3 Deskripsi text Deskripsi penyakit 3. 3. 2. 2 Tabel Gejala Nama tabel : gejala Fungsi tabel : menyimpan data gejala Tabel 3. 18 Gejala NO Field Name Type Size Keterangan 1 Kd_gejala * char 5 Kd_gejala (primry_key) 2 Gejala varchar 300 Nama gejala 3 Analisa text Analisa gejala 3. 3. 2. 3 Tabel Pencegahan Nama tabel : pencegahan Fungsi tabel : menyimpan data pencegahan Tabel 3. 19 Pencegahan NO Field Name Type Size Keterangan 1 Kd_pencegahan * char 5 Kd_pencegahan (primry_key) 2 Pencegahan varchar 300 Pencegahan penyakit 3 Deskripsi text Deskripsi pencegahan
3. 3. 2. 4 Tabel Aturan Gejala Nama tabel : aturan gejala Fungsi tabel : menyimpan data aturan gejala Tabel 3. 20 Aturan Gejala NO Field Name Type Size Keterangan 1 Kd_penyakit char 5 Kode penyakit 2 Kd_gejala char 5 Kode gejala
3. 3. 2. 5 Tabel Aturan Pencegahan Nama tabel : aturan pencegahan Fungsi tabel : menyimpan data aturan pencegahan Tabel 3. 21 Aturan Pencegahan NO Field Name Type Size Keterangan 1 Kd_penyakit char 5 Kode penyakit 2 Kd_pencegahan char 5 Kode pencegahan
3. 3. 2. 6 Tabel Aturan Pengobatan Nama tabel : aturan pengobatan Fungsi tabel : menyimpan data aturan pengobatan Tabel 3. 22 Aturan Pengobatan NO Field Name Type Size Keterangan 1 Kd_penyakit char 5 Kode penyakit 2 Kd_pengobatan char 5 Kode pengobatan
3. 3. 2. 6 Tabel Pengobatan Nama tabel : pengobatan Fungsi tabel : menyimpan data pengobatan Tabel 3. 23 Pengobatan NO Field Name Type Size Keterangan 1 Kd_pengobatan * char 5 Kode pengobatan (primary key) 2 Pengobatan varchar 300 Nama obat 3 Deskripsi text Deskripsi obat 3. 3. 2. 6 Tabel User Nama tabel : user Fungsi tabel : menyimpan data user Tabel 3. 24 User NO Field Name Type Size Keterangan 1 Nama * Varchar 30 Nama (primary key) 2 Password Char 10 Password user 3 domain Varchar 30 Domain user
3. 5 Flowchart Program 3. 5. 1 Flowchart Program Konsultasi
Gambar 3. 15 Flowchart Program Konsultasi
IMPLEMENTASI DAN PEMBAHASAN
Setelah tahap perancangan maka tahap selanjutnya adalah mengimplementasikan hasil rancangan tersebut. Implementasi sistem pakar untuk deteksi chikungunya ini menggunakan Microsoft Visual Basic 6.0 sebagai interface dan SQL Server 2000 sebagai database. 4. 1 Implementasi Program Implementasi program aplikasi sistem pakar untuk mendeteksi penyakit chikungunya merupakan tahap paling penting dimana sistem yang sudah dirancang, diimplementasikan untuk menghasilkan sistem yang sesuai dengan yang diinginkan dan siap dioperasikan pada keadaan yang sebenarnya. Dari hal ini dapat diketahui apakah sistem yang dihasilkan sesuai dengan tujuan yang diinginkan atau tidak. Tahapan perancangan aplikasi telah dikerjakan. Mulai dari rancangan sistem, rancangan input output, rancangan sistem, rancangan database, dan juga rancangan antar muka pengguna (user interface). Semua rancangan ini digunakan untuk mempermudah dalam penjabaran sistem ke dalam bahasa pemrograman
4.1.1.
Implementasi Form Konsultasi Fasilitas konsultasi ini digunakan untuk melakukan diagnosa terhadap gejala
dengan memilih daftar gejala. Tombol diagnosa berfungsi untuk melakukan diagnosa terhadap gejala-gejala yang telah dipilih. Tombol hapus berfungsi untuk menghapus daftar gejala-gejala yang telah terpilih dan mengembalikannya lagi di list view gejala yang dialami. Pengguna harus terlebih dahulu menekan tombol konsultasi sebelum memilih gejala-gejala yang telah disediakan untuk dapat melakukan proses diagnosa. Jika gejala telah dipilih dan tombol diagnosa ditekan maka akan muncul pesan seperti gambar 4.19.
Gambar 4.19 Tampilan Pesan Saat Tombol Diagnosa Ditekan Jika ditekan tombol yes maka sistem akan melakukan proses pencarian penyakit berdasar gejala-gejala yang sudah dipilih.
Gambar 4.20
Tampilan Form Konsultasi
Kode program : Private Sub Cmd_prosesknslts_Click() Dim Jawaban As VbMsgBoxResult Dim hasil As String, gejala As String
Call bukadb jenis.nojenis=relasi1.nojenis and relasi1.nomacam='" & Rep(cbkode.Text) & "'") Set rs = konekdb.Execute("select penampung.kd_penyakit,penampung.kd_gejala,gejala.gejala from
penampung,gejala where penampung.kd_gejala = gejala.kd_gejala order by kd_penyakit") Do While Not rs.EOF Jawaban = Tanya(rs!gejala) If Jawaban = vbYes Then hasil = LTrim(" " & rs!gejala) & Rep(rs!NoJenis) & "'") ditanyakan Set rs = konekdb.Execute("select distinct penampung.kd_penyakit,gejala.kd_gejala from penampung,gejala where penampung.kd_gejala=gejala.kd_gejala and gejala.gejala='" & Rep(rs!gejala) & "'") Lst_dftrgejalaygmstidipilih.Enabled = True Lst_gejalaterpilih.Enabled = True Lst_dftrgejalaygmstidipilih.ListItems.Clear Lst_gejalaterpilih.ListItems.Clear If rs.EOF Then Txt_kdgejala.Text = hasil Txt_gejala.Text = gejala Else sql = "select distinct aturan_gejala.kd_gejala,gejala.gejala from aturan_gejala,gejala" sql = sql & " where aturan_gejala.kd_gejala=gejala.kd_gejala and kd_penyakit='" & hasil2 & "'and gejala.kd_gejala<>'" & Rep(rs!kd_gejala) & "'" Set rs = konekdb.Execute(sql) Lst_dftrgejalaygmstidipilih.ListItems.Clear While Not rs.EOF j: Set lstview = Lst_dftrgejalaygmstidipilih.ListItems.Add(, , rs("kd_gejala")) lstview.SubItems(1) = rs("Gejala") lstview.SubItems(2) = rs("kd_gejala") lanjut: rs.MoveNext Wend
rs.Close End If Exit Do ElseIf Jawaban = vbCancel Then Lst_dftrgejalaygmstidipilih.Enabled = False Exit Do End If rs.MoveNext If rs.EOF And Jawaban = vbNo Then MsgBox "Maaf PenyakitYang Anda Cari Belum Ada Dalam Database Kami !", vbInformation, "Solusi Tidak Ditemukan !" Loop End Sub 4.1.2.
Implementasi Form Diagnosa
Pada form diagnosa akan ditampilkan kode penyakit, penyakit dan deskripsi dari penyakit berdasar gejala-gejala yang dipilih pada form konsultasi. Tombol pencegahan
PENUTUP
Pembuatan sistem pakar untuk mendeteksi penyakit chikungunya telah berhasil dilakukan. Berdasarkan atas gejala-gejala yang dipilih, sistem akan memberikan hasil diagnosa penyakit, cara pencegahan dari penyakit yang terdiagnosa tersebut dan pengobatannya. 5.1. Kesimpulan 1. Sistem ini sudah terbebas dari error sesuai dengan pengujian yang telah dilakukan. 2. Dari pengujian sistem yang dilakukan, sistem pakar ini telah sesuai dengan pengetahuan dan keahlian seorang pakar. 3. Penyakit, gejala, pencegahan dan pengobatan dapat dibentuk menjadi basis pengetahuan dalam bentuk kaidah produksi. 4. Hasil yang diberikan berupa penyakit yang diderita berdasar gejalagejala yang dialami, pencegahan dan pengobatan dari penyakit terdeteksi. 5. Dengan adanya aplikasi sistem pakar untuk mendeteksi penyakit chikungunya ini, diharapkan masyarakat awam dapat memperoleh informasi mengenai penyakit chikungunya dan penyakit-penyakit lain dengan gejala-gejala serupa berdasar gejala-gejala yang dialami.
DAFTAR PUSTAKA
Arhami, Muhammad. 2005.Konsep Dasar Sistem Pakar. Andi Offset : Yogyakarta. Departemen
Kesehatan
Badan
Penelitian
Kesehatan.(1997).
Penyakit,
obat
dan
Pencegahan(lV).Jakarta. Heriady. 2009. Membuat Database Sendiri dengan Visual Basic 6.0. PT Elex Media Komputindo: Jakarta. Jogianto. HM. 1999. Analisis dan Disain Sistem Informasi. Edisi kedua; Yogyakarta : Andi. Jogiyanto. 2003. Pengembangan Sistem Pakar Menggunakan Visual Basic. Penerbit ANDI Yogyakarta. Kusrini, S. Kom. 2006. Sistem Pakar Teori dan Aplikasi. Andi Offset : Yogyakarta. Kusumadewi, Sri. 2003. Artificial Intelligence Teknik dan Aplikasinya. Graha Ilmu : Yogyakarta. Tjitra,Emiliana 1998. Penyakit Dengan Gejala Serupa. Jakarta : Media Universal. Turban, Efraim HM, Jay E. Aronson, Ting Peng Liang. 2005. Decision Supprt Systems and Intelligent Systems Jilid 2. Andi Offset : Yogyakarta.