ADLN Perpustakaan Universitas Airlangga
RANCANG BANGUN SISTEM PAKAR DALAM DIAGNOSIS PENYAKIT TELINGA, HIDUNG DAN TENGGOROKAN DENGAN MENGGUNAKAN METODE CERTAINTY FACTOR
SKRIPSI
INDRA KURNIAWAN
PROGRAM STUDI S-1 MATEMATIKA DEPARTEMEN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS AIRLANGGA SURABAYA 2012
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
RANCANG BANGUN SISTEM PAKAR DALAM DIAGNOSIS PENYAKIT TELINGA, HIDUNG DAN TENGGOROKAN DENGAN MENGGUNAKAN METODE CERTAINTY FACTOR
SKRIPSI
Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Sains Bidang Matematika pada Fakultas Sains dan Teknologi Universitas Airlangga
Oleh : INDRA KURNIAWAN NIM. 080610107 Tanggal Lulus : 27 Agustus 2012
Disetujui oleh :
Pembimbing I
Pembimbing II
Auli Damayanti, S.Si., M.Si NIP.19751107 200312 2 004
Dr. Herry Suprajitno NIP.19680404 199403 1 020
ii Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
LEMBAR PENGESAHAN NASKAH SKRIPSI
Judul
: Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Metode Certainty Factor
Penyusun
: Indra Kurniawan
NIM
: 080610107
Pembimbing I
: Auli Damayanti, S.Si., M.Si
Pembimbing II
: Dr. Herry Suprajitno
Tanggal Seminar : 27 Agustus 2012
Disetujui Oleh : Pembimbing I
Pembimbing II
Auli Damayanti, S.Si., M.Si NIP.19751107 200312 2 004
Dr. Herry Suprajitno NIP. 19680404 199403 1 020
Mengetahui : Ketua Program Studi S-1 Matematika Departemen Matematika Fakultas Sains dan Teknologi Universitas Airlangga
Dr. Miswanto, M.Si NIP. 19680204 199303 1 002
iii Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
PEDOMAN PENGGUNAAN SKRIPSI
Skripsi ini tidak dipublikasikan, namun tersedia di perpustakaan dalam lingkungan Universitas Airlangga. Diperkenankan untuk dipakai sebagai referensi kepustakaan, tetapi pengutipan seizin penulis dan harus menyebutkan sumbernya sesuai kebiasaan ilmiah.
Dokumen skripsi ini merupakan hak milik Universitas Airlangga.
iv Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
vii
Indra Kurniawan, 2012. Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor. Skripsi ini dibawah bimbingan Auli Damayanti,S.Si., M.Si. dan Dr Herry Suprajitno. Departemen Matematika, Fakultas Sains dan Teknologi, Universitas Airlangga, Surabaya
ABSTRAK Gejala penyakit THT (Telinga, Hidung dan Tenggorokan) sering dianggap remeh oleh sebagian orang. Padahal bisa saja gejala tersebut merujuk pada salah satu penyakit THT yang serius. Oleh karena itu penulisan tugas akhir ini bertujuan untuk mengimplementasikan sistem pakar dengan metode Certainty Factor ( CF ) pada kasus diagnosis awal penyakit THT. Adapun penyakit THT yang dimaksud adalah penyakit otitis eksterna, otitis media, faringitis, tonsilitis, sinusitis dan rinitis alergi.Gejala penyakit THT yang digunakan diantaranya adalah bersin-bersin, pilek, cairan berbau pada hidung, gatal pada telinga, mengalami kebuntuan pada hidung , mulut berbau, nyeri kepala / menelan, fungsi pendengaran menurun, batuk-batuk, demam, sakit pada tenggorokan serta tidur yang mendengkur. Selanjutnya pada tiap gejala-gejala tersebut dilakukan pencarian nilai CF pakar. Setelah itu dibentuk aturan (rule) yang sesuai dengan gejala penyakit THT yang merujuk pada penyakit THT tertentu. Kemudian pada pengujian kepada pengguna yang akan menghasilkan nilai CF user, sehingga didapatkan nilai CF akhir yang akan digunakan sebagai nilai dalam pengambilan keputusan dari perhitungan CF sequensial antara CF user dengan CF pakar serta mengetahui tingkatan penyakit yang terdiagnosa yaitu tingkat gejala atau tingkat akut. Sistem pakar ini kemudian dibangun dalam program dengan pemrograman Microsoft Visual Basic.NET untuk digunakan dalam pengujian kasus diagnose pasien yang terdiagnosis penyakit THT. Dari pengujian diperoleh kesesuaian hasil diagnosis program dengan hasil diagnosis dari dokter sebesar 90%. Kata Kunci:Expert System,Certainty Factor, Penyakit THT, CF sequensial
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
viii
Indra Kurniawan, 2012. Design of Expert System in the Diagnosis of Diseases Ear, Nose and Throat Method Using Certainty Factor. This paper is under advised by Auli Damayanti,S.Si., M.Si. and Dr.Herry Suprajitno. Mathematics Department, Faculty of Sains and Technology, Airlangga University, Surabaya
ABSTRACT ENT (Ear Nose Throat head and neck surgery) symptoms are often underestimated by most people. Though these symptoms can be referred to one of the serious ENT diseases. Therefore, this thesis aims to implement an expert system with Certainty Factor method in case of early diagnosis of ENT diseases. The ENT diseases in question is a disease otitis externa, otitis media, pharyngitis, tonsillitis, sinusitis and allergic rhinitis. ENT symptoms that are used include sneezing, runny nose, smelling liquid on the nose, itching of the ears, get stuck in the nose, halitosis, headache / swallowing, decreased auditory function, coughing, fever, sore throat, and sleep who snore. Furthermore, on each of these symptoms do search the CF specialist. Subsequently established rules in accordance with the ENT symptoms that refer to certain ENT diseases. Then on to the user testing that will yield the value of CF user, so we get the final CF value to be used as a value in the decision of the sequential calculation of CF user with an expert and know the level of a diagnosed disease that is the level of symptoms or acute levels. Expert system is then built into the program with Microsoft Visual Basic.NET programming for use in diagnostic testing of patients with diagnosed cases of ENT diseases. Obtained from testing the suitability of the diagnostic programs with the doctor’s diagnosis by 90%. Keywords: Expert System, Certainty Factor, the ENT, CF sequensial.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
ix
DAFTAR ISI HALAMAN JUDUL ......................................................................................
i
LEMBAR PERSETUJUAN .........................................................................
ii
LEMBAR PENGESAHAN SKRIPSI .........................................................
iii
PEDOMAN PENGGUNAAN SKRIPSI ......................................................
iv
KATA PENGANTAR ....................................................................................
v
ABSTRAK ......................................................................................................
vii
ABSTRACT .................................................................................................... viii DAFTAR ISI ...................................................................................................
ix
DAFTAR TABEL ..........................................................................................
xi
DAFTAR GAMBAR ......................................................................................
xii
DAFTAR LAMPIRAN .................................................................................. xiii
Skripsi
BAB I PENDAHULUAN .............................................................................
1
1.1 Latar Belakang Masalah.......................................................................
1
1.2 Rumusan Masalah ...............................................................................
2
1.3 Tujuan .................................................................................................
3
1.4 Manfaat ...............................................................................................
3
1.5 Batasan Masalah……………………………………………………..
3
BAB II TINJAUAN PUSTAKA ...................................................................
5
2.1 Konsep dasar sistem pakar ……………………………….. ...............
5
2.1.1 Definisi sistem pakar ...................................................................
5
2.1.2 Koponen utama dan struktur sistem pakar ..................................
8
2.1.3 Representasi pengetahuan ...........................................................
13
2.1.4 Area permasalahan sistem pakar .................................................
14
2.2 Faktor kepastian ..................................................................................
16
2.3 Penyakit Telinga, Hidung dan Tenggorokan ......................................
21
a. Otitis Eksterna ................................................................................
21
b. Otitis Media ...................................................................................
22
c. Sinusitis Maksilaris ........................................................................
22
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
x
d. Rinitis Alergi ..................................................................................
23
e. Tonsilitis.........................................................................................
23
f. Faringitis .........................................................................................
24
BAB III METODE PENELITIAN ..............................................................
25
3.1 Identifikasi Masalah .............................................................................
25
3.2 Studi Pustaka dan Pengumpulan Informasi .........................................
25
3.3 Perancangan Sistem .............................................................................
26
BAB IV PEMBAHASAN .............................................................................
31
4.1 Perancangan Sistem .............................................................................
31
4.2 Representasi Pengetahuan ....................................................................
33
4.3 Inferensi Diagnosis Penyakit................................................................
33
4.4 Implementasi Program .........................................................................
39
4.4.1 Proses Input Jawab ..................................................................
40
4.4.2 Proses Hitung Nilai CF ...........................................................
44
4.4.3 Proses Hitung Manual .............................................................
44
4.5 Desain Interface ...................................................................................
46
4.6 Evaluasi Sistem ....................................................................................
46
BAB V KESIMPULAN DAN SARAN ......................................................
48
5.1 Kesimpulan ..........................................................................................
48
5.2 Saran .....................................................................................................
48
DAFTAR PUSTAKA .....................................................................................
50
LAMPIRAN
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
xi
DAFTAR TABEL Tabel
Skripsi
Judul Tabel
Halaman
2.1
Tabel Perbandingan seorang pakar dengan Sistem Pakar .............
6
4.1
Tabel Kriteria Jawaban User .........................................................
32
4.2
Kriteria CF Pakar ..........................................................................
32
4.3
Contoh Beberapa Aturan Pada Representasi Pengetahuan ...........
33
4.4
Hasil Hitung Manual .....................................................................
45
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
xii
DAFTAR GAMBAR
Gambar
Skripsi
Judul Gambar
Halaman
2.1
Gambar Struktur Sistem pakar ......................................................
8
2.2
Gambar Diagram Forward Chaining ............................................
12
2.3
Gambar Diagram Backward Chaining ..........................................
12
3.1
Gambar Diagram Flowchart Forward Chaining ..........................
29
3.2
Gambar Diagram Alir Kerja Sistem Penelitian .............................
30
4.1
Inferensi Diagnosis Penyakit .........................................................
34
4.2
Form Login User ...........................................................................
40
4.3
Form Konsultasi ............................................................................
41
4.4
Form Yang Telah Berisikan Input user.........................................
42
4.5
Form Hasil.....................................................................................
43
4.6
Form Informasi Hasil ....................................................................
43
4.7
Prosedur Hitung CF.......................................................................
44
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
xiii
DAFTAR LAMPIRAN
Lampiran
1
Judul Lampiran
Tabel soal yang digunakan tiap User dalam menjawab tiap pertanyaan
2
Gambar form sebagai user interface sistem pakar dalam diagnosis penyakit THT.
Skripsi
3
tabel hasil uji proses I yang dibandingkan dengan proses II
4
Listing program yang diacu pada subbab implementasi program
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
BAB I PENDAHULUAN
1.1 Latar Belakang Salah satu penyakit yang sering ditemukan di masyarakat adalah penyakit THT(Telinga Hidung dan Tenggorokan). Penyakit ini menyerang di semua kalangan usia. Banyaknya keluhan dan gejala yang ada serta berbagai jenis penyakit THT ini menyebabkan identifikasi penyakit THT menjadi lebih rumit. Jenis penyakit ini melibatkan tiga bagian dari tubuh manusia yang saling berhubungan satu dengan yang lainnya. Maka dari itu dibutuhkan sebuah aplikasi yakni sebuah sistem untuk mendiagnosa gejala gejala dan keluhan yang dirasakan pasien dalam mengidentifikasi apakah merupakan gejala dari penyakit THT atau bukan serta mengetahui lebih jelasnya penyakit apa yang diderita oleh pasien. Sistem pakar(expert system) adalah sistem yang berusaha mengapdosi pengetahuan manusia(pakar) ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para pakar. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para pakar( Sridadi, 1990 ). Salah satu yang dipelajari pada kecerdasan buatan(Artificial Inteligent) adalah teori kepastian dengan menggunakan teori Certainty Factor(CF). Karena penyakit THT ini beragam jenis dan gejalanya, maka seorang pakar atau dokter perlu mengkaji lebih dalam gejala yang dialami pasien sehingga dapat menentukan penyakit yang diderita dengan menggunakan metode Certainty Factor ini sebagai solusi dalam membantu menyelesaikan masalah kesehatan dan juga dapat digunakan sebagai penunjang dalam ilmu
Skripsi
1
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
2
kesehatan khususnya dalam bidang THT serta bagi keperluan masyarakat dan individu pada umumnya( Budiman, 2008 ). Sistem pakar yang akan dibangun ini mengambil referensi para dokter yang ahli dalam penyakit THT, buku-buku kesehatan modern, dan internet. Sehingga pengambilan metode sistem pakar ini tepat untuk permasalahan penyakit, karena dengan adanya sistem pakar ini, manusia seakan-akan berkonsultasi dengan para ahli / pakar dalam bidang kesehatan, dalam hal ini seorang yang ahli dalam penyakit THT. Berdasarkan permasalahan diatas akan dibangun suatu sistem pakar dalam diagnosis penyakit THT dengan menggunakan metode Certainty Factor. Sistem diharapkan dapat membantu praktisi medis maupun orang awam untuk mengetahui jenis penyakit beserta pengobatannya. Hasil dari penelitian ini diharapkan nantinya dapat digunakan membantu pengguna untuk mengetahui jenis penyakit THT yang diderita beserta pengobatannya.
1.2 Rumusan Masalah Berdasarkan latar belakang masalah tersebut, maka dapat dirumuskan permasalahan sebagai berikut : 1. Bagaimana proses rancang bangun sistem pakar dalam diagnosis penyakit THT (telinga, hidung dan tenggorokan) dengan menggunakan metode Certainty Factor beserta tindakan pengobatan selanjutnya ? 2. Bagaimana mengaplikasikan rancang bangun sistem pakar tersebut dengan program untuk mendiagnosis penyakit THT(Telinga, Hidung dan Tenggorokan) ?
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
3
1.3 Tujuan Tujuan dari penyusunan tugas akhir ini adalah: 1. Dapat menjelaskan proses rancang bangun sistem pakar dalam diagnosis penyakit THT(telinga, hidung dan tenggorokan ) dengan menggunakan metode Certainty Factor beserta tindakan pengobatan selanjutnya. 2. Untuk mengaplikasikan rancang bangun sistem pakar tersebut dengan membuat program sehingga dapat mengetahui jenis penyakit THT beserta tindakan pengobatan selanjutnya.
1.4 Manfaat 1.
Memperluas pengetahuan mengenai aplikasi dari Matematika Terapan khususnya mengenai sistem pakar dalam diagnosis penyakit THT dengan metode certainty factor.
2
Hasil rancangan sistem pakar nantinya diharapkan dapat membantu dokter spesialis THT serta bagi masyarakat umum sebagai aplikasi umum yang dapat mendiagnosa gejala awal penyakit THT serta pencegahan dan pengobatan selanjutnya.
1.5
Batasan Masalah 1. Persoalan hanya dibatasi pada penyakit THT yaitu yang berhubungan dengan tiga bagian dari tubuh manusia yakni Telinga, Hidung dan Tenggorokan.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
4
2. Sistem pakar untuk menganalisis penyakit THT diaplikasikan ke dalam program. 3. Solusi-solusi yang digunakan adalah solusi alternatif(terapi) dan solusi medis (obat-obatan). 4. Metode yang akan digunakan adalah Metode Forward Chaining.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
5
BAB II TINJAUAN PUSTAKA
2.1 Konsep Dasar Sistem Pakar 2.1.1
Definisi Sistem Pakar Sistem pakar merupakan salah satu bagian dari kecerdasan buatan (Artificial
Intelligence) yang akhir-akhir ini mengalami perkembangan yang sangat pesat. Sistem ini dirancang untuk dapat menirukan keahlian seorang pakar dalam menjawab pertanyaan dan menyelesaikan suatu permasalahan dengan baik dibidang kesehatan, bisnis, ekonomi, keuangan dan sebagainya. (Arhami, 2005) Sistem pakar (expert system) adalah sistem yang berusaha mengapdosi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Jadi keahlian ditransfer dari seorang pakar / ahli (atau sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam komputer, dan user (manusia yang menggunakan aplikasi sistem pakar) dapat berkonsultasi pada komputer itu untuk suatu nasehat, lalu komputer dapat mengambil inferensi (menyimpulkan, mendeduksi, dll) seperti layaknya seorang pakar, kemudian menjelaskannya ke user tersebut, bila perlu dengan alasan-alasannya. Sehingga user
dapat menggunakan komputer yang sudah
ditransfer oleh seorang pakar. Sistem pakar terkadang lebih baik kerjanya daripada seorang pakar manusia. Dengan sistem pakar, orang awam pun dapat menyelesaikan masalah yang cukup rumit
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
6
yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman. Seorang pakar (Human Expert) dengan sistem pakar (Expert System) mempunyai banyak perbedaan. Perbandingan kemampuan antara seorang pakar dengan sistem pakar seperti pada Tabel 2.1 berikut ini: Tabel 2.1 Perbandingan kemampuan seorang pakar dengan Sistem Pakar Factor
Human Expert
Expert System
Waktu Geografis Keamanan Dapat Habis Performansi Kecepatan Biaya
Hari kerja Lokal/tertentu Tidak tergantikan Ya Variabel Variabel Mahal
Setiap saat Dimana saja Dapat diganti Tidak Konsisten Konsisten Terjangkau
Dari tabel diatas dapat dijelaskan tentang keunggulan sistem pakar jika dibandingkan dengan seorang pakar: 1. Sistem pakar dapat digunakan setiap hari dan setiap saat (seperti layaknya mesin), sedangkan seorang pakar tidak mungkin bekerja secara terus menerus setiap saat tanpa beristirahat. 2. Sistem pakar merupakan suatu software yang dapat diperbanyak dan kemudian dibagikan ke berbagai lokasi maupun tempat yang berbeda-beda untuk digunakan, sedangkan seorang pakar hanya bekerja pada satu tempat dan pada saat bersamaan. 3. Suatu sistem pakar dapat diberi pengamanan untuk menentukan siapa saja yang mempunyai hak akses untuk menggunakannya dan jawaban yang diberikan oleh
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
7
sistem terbebas dari intimidasi/ancaman, sedangkan seorang pakar bisa saja mendapat ancaman atau tekanan pada saat menyelesaikan permasalahannya. 4. Pengetahuan (knowledge) yang disimpan pada sistem pakar tidak akan bisa hilang/lupa, dalam hal ini tentu harus didukung oleh maintenance (perbaikan) yang baik, sedangkan pengetahuan seorang pakar manusia lambat laun akan hilang karena meninggal, usia yang sangat tua, maupun menderita suatu penyakit. 5. Kemampuan memecahkan masalah pada suatu sistem pakar tidak dipengaruhi oleh faktor dari luar seperti intimidasi, perasaan kejiwaan, faktor ekonomi ataupun perasaan tidak suka. Akan tetapi, sebaliknya dengan seorang pakar yang dapat dipengaruhi oleh faktor-faktor luar seperti yang telah disebutkan ketika sedang menyelesaikan suatu permasalahan, sehingga dapat memunculkan jawaban yang berbeda-beda atas pertanyaan yang diajukan walaupun masalahnya sama. Atau dengan kata lain, seorang pakar boleh jadi tidak konsisten. 6. Umumnya kecepatan dalam memecahkan masalah pada suatu sistem pakar relatif lebih cepat dibandingkan oleh seorang pakar manusia. Hal ini sudah dibuktikan pada beberapa sistem pakar yang terkenal di dunia. 7. Biaya menggaji seorang pakar lebih mahal bila dibandingkan dengan penggunaan program sistem pakar (dengan asumsi bahwa program sistem pakar itu sudah ada). (Arhami, 2005)
2.1.2 Komponen Utama dan Struktur Sistem Pakar Sistem pakar terdiri dari beberapa bagian utama, yaitu :
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
8
a. Lingkungan pengembangan yang digunakan dalam sistem pakar untuk membangun komponen-komponennya dan menempatkan pengetahuan dalam basisnya, contohnya dalam kasus ini adalah seorang dokter. b. Lingkungan konsultasi yang digunakan oleh user yaitu pasien dan paramedis, dalam kasus ini contohnya perawat dan mantri untuk mendapatkan pengetahuan dari sistem pakar. (Desiani, 2006)
Gambar 2.1 Struktur Sistem Pakar
Berikut ini keterangan dari struktur sistem pakar :
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
1
9
Antarmuka Pengguna (User Interface) Merupakan mekanisme yang digunakan oleh user dan sistem pakar untuk berkomunikasi. Antarmuka menerima informasi dari user dan mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Selain itu antarmuka menerima dari sistem dan menyajikannya ke dalam bentuk yang dapat dimengerti oleh user.
2
Basis Pengetahuan (Knowledge Base) Basis pengetahuan berisi pengetahuan-pengetahuan dalam penyelesaian masalah. Ada 2 bentuk pendekatan basis pengetahuan : a. Penalaran berbasis aturan (rule-based reasoning) Pada penalaran berbasis aturan, pengetahuan direpresentasikan dengan menggunakan aturan berbentuk IF-THEN. Bentuk ini digunakan apabila kita memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan si pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping itu, bentuk ini juga digunakan apabila dibutuhkan penjelasan tentang jejak (langkah-langkah) pencapaian solusi. b. Penalaran berbasis kasus (case-based reasoning) Pada penalaran berbasis kasus, basis pengetahuan akan berisi solusi-solusi yang telah dicapai sebelumnya, kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang (fakta yang ada). Bentuk ini digunakan apabila user menginginkan untuk tahu lebih banyak lagi pada kasus-kasus yang hampir sama (mirip). Selain itu bentuk ini juga digunakan bila kita telah memiliki sejumlah situasi atau kasus tertentu dalam basis pengetahuan.
3. Akuisisi Pengetahuan (Knowledge Acquisition)
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
10
Akuisisi pengetahuan adalah akumulasi, transfer, dan transformasi keahlian dalam menyelesaikan masalah dari sumber pengetahuan ke dalam program komputer. Dalam tahap ini, knowledge engineer (mesin pengetahuan) berusaha menyerap pengetahuan untuk selanjutnya ditransfer ke dalam basis pengetahuan. Pengetahuan diperoleh dari ahli/pakar, dilengkapi dengan buku, basis data, laporan penelitian dan pengalaman user. Metode Akuisisi Pengetahuan:
Wawancara Metode yang paling banyak digunakan, yang melibatkan pembicaraan dengan pakar secara langsung dalam suatu wawancara.
Analisis protokol Dalam metode ini pakar diminta untuk melakukan suatu pekerjaan dan mengungkapkan proses pemikirannya dengan menggunakan kata-kata. Pekerjaan tersebut direkam, dituliskan, dan dianalisis.
Observasi pada pekerjaan pakar Pekerjaan dalam bidang tertentu yang dilakukan pakar direkam dan diobservasi.
Induksi aturan dari contoh Induksi adalah suatu proses penalaran dari khusus ke umum. Suatu sistem induksi aturan diberi contoh-contoh dari suatu masalah yang hasilnya telah diketahui. Setelah diberikan beberapa contoh, sistem induksi aturan tersebut dapat membuat aturan yang benar untuk kasus-kasus contoh. Selanjutnya aturan dapat digunakan untuk menilai kasus lain yang hasilnya tidak diketahui.
4. Mesin/Motor Inferensi (Inference Engine)
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
11
Komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi adalah program komputer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace, dan untuk memformulasikan kesimpulan. Kebanyakan sistem pakar berbasis aturan menggunakan strategi inferensi yang dinamakan modus ponen. Misalkan terdapat sebuah aturan : “IF A THEN B”, dan apabila diketahui A benar maka dapat disimpulkan bahwa B juga benar, sehingga strategi inferensi modus ponen dinyatakan dalam bentuk : [A AND (A→B)] → B Dengan A dan A→ B adalah proposisi-proposisi dalam basis pengetahuan. Mekanisme inferensi merupakan bagian dari sistem pakar yang melakukan penalaran dengan menggunakan isi daftar aturan berdasarkan urutan pola tertentu. `Ada 2 cara penalaran yang dapat dikerjakan dalam melakukan inferensi : a. Forward Chaining Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri dulu (IF dulu). Dengan kata lain penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis. Gambar berikut menunjukkan proses Forward Chaining.
Observasi A
Aturan R1
Fakta C
Observasi B
Aturan R2
Fakta D Fakta E
Aturan R3 Aturan R2
Kesimpulan1 Kesimpulan2
Gambar 2.2 Diagram Forward Chaining
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
12
b. Backward Chaining Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Dengan kata lain penalaran dimulai dari hipotesis terlebih dahulu, dan untuk menguji kebenaran hipotesis tersebut harus dicari fakta-fakta yang ada dalam basis pengetahuan. Gambar berikut ini menunjukkan proses Backward Chaining Observasi A
Aturan R1
Fakta C
Observasi B
Aturan R2
Fakta D
Aturan R3 Aturan R2
Kesimpulan1
Gambar 2.3 Diagram Backward Chaining
5
Workplace / Blackboard Workplace merupakan area dari sekumpulan memori kerja (working memory), digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan sementara. Ada 3 keputusan yang dapat direkam : - Rencana : bagaimana menghadapi masalah. - Agenda : aksi-aksi yang potensial yang sedang menunggu untuk dieksekusi. - Solusi : calon aksi yang akan dibangkitkan.
6
Fasilitas Penjelasan Merupakan komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Digunakan untuk melacak respon dan memberikan penjelasan tentang kelakuan sistem pakar secara interaktif melalui pertanyaan : - Mengapa suatu pertanyaan ditanyakan oleh sistem pakar? - Bagaimana kesimpulan dicapai?
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
13
- Mengapa ada alternatif yang dibatalkan? - Rencana apa yang digunakan untuk mendapatkan solusi? 7
Perbaikan Pengetahuan Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya serta kemampuan untuk belajar dari kinerjanya. Kemampuan tersebut penting dalam pembelajaran terkomputerisasi, sehingga program akan mampu menganalisis penyebab kesuksesan dan kegagalan yang dialaminya dan juga mengevaluasi apakah pengetahuan-pengetahuan yang ada masih cocok untuk digunakan di masa mendatang. (Atika, 2006)
2.1.3 Representasi Pengetahuan (Knowledge Base) Representasi
pengetahuan
merupakan
metode
yang
digunakan
untuk
mengkodekan pengetahuan dalam sebuah sistem pakar. Representasi dimaksudkan untuk menangkap sifat-sifat penting masalah dan membuat informasi itu dapat diakses oleh prosedur pemecahan masalah. Karakteristik dari metode representasi pengetahuan adalah sebagai berikut : 1. Harus bisa diprogram dengan bahasa pemrograman dan hasilnya disimpan dalam memori. 2. Dirancang sedemikian sehingga isinya dapat digunakan untuk proses penalaran. 3. Model representasi pengetahuan merupakan sebuah struktur data yang dapat dimanipulasi oleh mesin inferensi dan pencarian untuk aktivitas pencocokan pola.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
14
Jika pengetahuannya berupa pengetahuan prosedural yaitu pengetahuan yang merepresentasikan aksi dan prosedur, maka metode yang cocok adalah kaidah produksi. (Arhami, 2005) 2.1.4 Area Permasalahan Sistem Pakar Berikut ini merupakan area permasalahan aplikasi sistem pakar, antara lain: 1. Interpretasi Merupakan pengambilan keputusan dari hasil observasi; diantaranya pengawasan, pengenalan ucapan, analisis citra, interpretasi sinyal, dan beberapa analisis kecerdasan. 2. Prediksi Memprediksi akibat-akibat yang dimungkinkan dari situasi-situasi tertentu; diantaranya peramalan, prediksi demografis, peralaman ekonomi, prediksi lalu lintas, estimasi hasil, militer, pemasaran, atau peramalan keuangan. 3. Diagnosis Menentukan sebab malfungsi (kesalahan dalam fungsi) dalam situasi kompleks yang didasarkan pada gejala-gejala yang teramati; diantaranya medis, elektronis, mekanis, dan diagnosis perangkat lunak. 4. Desain Menentukan konfigurasi komponen-komponen sistem yang cocok dengan tujuantujuan kinerja tertentu dan kendala-kendala tertentu; diantaranya layout sirkuit, perancangan bangunan, dsb. 5. Perencanaan
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
15
Merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah tujuan dengan kondisi awal tertentu; diantaranya perencanaan keuangan, komunikasi, militer, pengembangan politik, routing dan manajemen proyek. 6. Monitoring Membandingkan tingkah laku suatu sistem yang teramati dengan tingkah laku yang diharapkan darinya, diantaranya Computer Aided Monitoring System. 7. Debugging dan Repair Menentukan dan mengimplementasikan cara-cara untuk mengatasi malfungsi, diantaranya memberikan resep obat terhadap suatu kegagalan. 8. Instruksi Melakukan instruksi untuk diagnosis, debugging dan perbaikan kinerja. 9. Kontrol atau Pengendali Mengatur tingkah laku suatu lingkungan yang kompleks seperti kontrol terhadap interpretasi-interpretasi, prediksi, perbaikan, dan monitoring kelakuan sistem. 10. Seleksi Mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan. 11. Simulasi Pemodelan interaksi antara komponen-komponen sistem. (Anita, 2006)
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
16
2.2 Faktor Kepastian (Certainty Factor) Pada bagian ini materi diambil dari Kusrini (2008), yakni terdapat metode untuk menyelesaikan masalah ketidakpastian data yang digunakan sebagai faktor kepastian (Certainty Factor). Faktor kepastian diperkenalkan oleh Shortliftte Buchanan dalam pembuatan MYCIN. Certainty Factor merupakan nilai parameter klinis yang diberikan MYCIN untuk menunjukkan besarnya kepercayaan. Ada 2 macam yang digunakan dalam faktor kepastian, yaitu : 1. Faktor kepastian yang diisikan oleh pakar. 2. Faktor kepastian yang diberikan oleh pengguna (User). Faktor kepastian yang diisikan oleh pakar menggambarkan kepercayaan pakar terhadap hubungan antara antecedent dan konsekuen pada aturan kaidah produksi, contohnya adalah sebagai berikut : Jika CF Otitis Eksterna bernilai lebih besar dari CF Otitis Media Dan CF Otitis Eksterna bernilai lebih besar dari CF Sinusitis Maksilaris Dan CF Otitis Eksterna bernilai lebih besar dari CF Rinitis Alergi Dan CF Otitis Eksterna bernilai lebih besar dari CF Tonsilitis Dan CF Otitis Eksterna bernilai lebih besar dari CF Faringitis Maka terdiagnosis penyakit Otitis Eksterna CF 0,8 Aturan tersebut menunjukkan bahwa pakar yakin dengan derajat kepercayaan 0,8 yang menunjukkan kemungkinan besar terdiagnosis penyakit Otitis Eksterna. Sementara itu faktor kepastian dari pengguna menunjukkan besarnya kepercayaan terhadap masingmasing elemen dan antecedent. Menghitung CF tiap penyakit yaitu dengan cara mengkombinasikan CF dari satu nomer pertanyaan ke nomor selanjutnya sampai dengan
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
17
n pertanyaan tiap tipe. Dari hasil kombinasi tiap CF tersebut dijadikan sebagai CF baru sebagai CF tipe. Persamaan (2.1) menunjukkan faktor kepastian dari hipotesis yang dipengaruhi oleh evidence e. CF[H,e] = MB[H,e] – MD[H,e]
(2.1)
Keterangan dari persamaan (2.1) : CF[H,e] : Certainty Factor dari hipotesis H yang dipengaruhi oleh gejala (evidence) e. Besarnya CF berkisar antara -1 sampai dengan 1. Nilai -1 menunjukkan ketidakpercayaan mutlak sedangkan nilai 1 menunjukkan kepercayaan mutlak. MB[H,e] : Ukuran kenaikan kepercayaan (measure of increase believe) terhadap hipotesis H yang dipengaruhi oleh gejala e. MD[H,e] : Ukuran kenaikan ketidakpercayaan (measure of decrease believe) terhadap hipotesis H yang dipengaruhi oleh gejala e. Faktor kepercayaan menggunakan teori faktor kepastian untuk menentukan jawaban yang dipilih user atau sebagai alat kuantifikasi pertanyaan. CF ini secara tidak langsung melibatkan tingkat keyakinan (MB[H,e]) dan nilai ketidakyakinan (MD[H,e]) terhadap hipotesis, tetapi secara langsung memanfaatkan nilai faktor kepastian berikut ini: 1. CF = 1 yang berarti “Pasti” 2. CF = 0,8 yang berarti “Hampir Pasti” 3. CF = 0,6 yang berarti “Kemungkinan Besar” 4. CF = 0,4 yang berarti “kemungkinan” 5. CF = -0,2 ≤ x ≤ 0,2 yang berarti “Tidak Tahu”
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
18
6. CF = -0,4 yang berarti “Kemungkinan tidak” 7. CF = -0,6 yang berarti “kemungkinan Besar Tidak” 8. CF = -0,8 yang berarti “Hampir pasti Tidak” 9. CF = -1 yang berarti “Pasti Tidak” Terdapat 3 perhitungan nilai CF, yaitu : 1. Menentukan CF Paralel CF paralel merupakan nilai yang diperoleh dari beberapa premis pada sebuah aturan. Besarnya CF Parael dipengaruhi oleh CF user untuk masing-masing premis dan operator pada premis. Cara perhitungan CF paralel ditunjukkan oleh persamaan (2.2), (2.3) dan (2.4) CF(x DAN y) = Min (CF(x),CF(y))
(2.2)
CF(x ATAU y) = Max (CF(x),CF(y))
(2.3)
CF(TIDAK x) = -CF(x)
(2.4)
Keterangan : Persamaan (2.2) : Menghitung Certainty Factor dari kondisi / premis / antecedent x dan y yaitu dengan mencari nilai minimal CF dari kondisi / premis / antecedent x dan y. Persamaan (2.3) : Menghitung Certainty Factor dari kondisi / premis / antecedent x dan y yaitu dengan mencari nilai maksimal CF dari kondisi / premis / antecedent x dan y. Persamaan (2.4) : Nilai Certainty Factor yang menyatakan tidak mengalami kondisi / premis / antecedent x, dinyatakan dalam bentuk negatif dari nilai CF(x).
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
2.
19
Menentukan CF Sequensial Bentuk dasar Certainty Factor sequensial yaitu sebuah aturan JIKA E MAKA H ditunjukkan oleh persamaan (2.5) sebagai berikut : CF(H,e) = CF (E,e).CF(H,E)
(2.5)
Keterangan : CF(H,e) : Certainty Factor Evidence E yang dipengaruhi leh evidence E CF(H,E) : Certainty Factor hipotesis H dengan asumsi evidence E diketahui dengan pasti yaitu ketika CF(E,e) = 1. CF(H,e) : Certainty Factor hipotesis H yang dipengaruhi oleh evidence E Persamaan (2.6) digunakan jika semua evidence e pada antecedent diketahui dengan pasti. CF(H,E) = CF(H,E)
(2.6)
CF sequensial diperoleh dari hasil perhitungan CF paralel dari semua jenis premis dalam satu aturan dengan CF aturan yang diberikan oleh pakar. Adapun perhitungan CF sequensial ditunjukkan oleh persamaan (2.7). CF(x,y) = CFx . CFy
(2.7)
Keterangan :
3.
CF(x,y)
: CF sequensial dari semua premis x dengan pakar y
CFx
: CF paralel dari semua premis x
CFy
: Nilai CF yang diberikan oleh pakar
Menentukan CF Gabungan CF gabungan merupakan CF akhir dari sebuah calon konklusi. CF ini dipengaruhi oleh semua CF paralel dari aturan yang menghasilkan konklusi tersebut. CF
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
20
gabungan diperlukan jika suatu konklusi diperoleh dari beberapa aturan sekaligus. CF akhir dari suatu aturan dengan aturan yang lain digabungkan untuk mendapatkan nilai CF akhir bagi calon konklusi tersebut. Adapun cara untuk perhitungan nilai CF gabungan ditunjukkan pada persamaan (2.8) yang terdiri atas 3 kondisi yang dutuliskan pada persamaan (2.8.1), (2.8.2) dan (2.8.3). CFx + CFy (1-CFx) , jika CFx dan CFy ≥ 0 CFx + CFy 1-Min |CFx|,|CFy|
CF(x,y) :=
, jika (CFx>0 dan CFy<0) atau (CFx<0 dan CFy>0)
(2.8)
CFx + CFy(1+CFx) , jika CFx < 0 dan CFy < 0 1. Kondisi I Jika CFx dan CFy ≥ 0 maka : CF(x,y) = CFx + CFy *(1-CFx)
(2.8.1)
2. Kondisi II Jika (CFx > 0 dan CFy < 0) atau (CFx < 0 dan CFy > 0) , maka : CFx + CFy 1-Min |CFx|,|CFy|
(2.8.2)
3. Kondisi III Jika CFx < 0 dan CFy < 0 maka : CFx + CFy *(1+CFx)
(2.8.3)
Keterangan : CFx
: Nilai Certainty Factor kondisi / premis / antecedent x
CFy
: Nilai Certainty Factor kondisi / premis / antecedent y
CF(x,y) : Nilai Certainty Factor gabungan antara kondisi / premis / antecedent x dengan y
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
21
2.3 Penyakit Telinga, Hidung dan Tenggorokan (THT) Pada sub bab ini menurut `Efiaty A dkk (2007), THT sebenarnya merupakan salah satu cabang ilmu kedokteran yang khusus menangani masalah penyakit di bagian telinga, hidung dan tenggorokan. Sejarah di bidang ini dimulai tahun 1851 dimana salah satu ahlinya yaitu Helmholz telah dapat melihat bagian-bagian dari telinga, hidung dan tenggorokan. Pada tahun 1854 ahli lain yakni Garein sudah dapat melihat laring (bagian dari saluran pernapasan). Pada tahun 1890 Killian dan Kusmal telah menyempurnakan alat yang dapat digunakan untuk melihat esofagus (bagian dari saluran makanan) dan bronkus (bagian dari saluran pernapasan). Dalam bidang ini terjadi kemajuan pesat sejak ditemukan alat pengukur ketajaman pendengaran (audiometer) pada tahun 1940. Pada tahun 1954 dan tahun 1960 para ahli telah dapat melakukan bedah mikro pada telinga dan laring. Penemuan-penemuan tersebut menjadikan THT sebagai bidang yang berperan besar dalam dunia kedokteran. Jika seseorang menderita penyakit THT maka orang itu akan kesulitan dalam mendengarkan, berkomunikasi, melakukan fungsi penciuman, berbicara dan menelan makanan. Untuk selanjutnya berikut akan dipaparkan jenis-jenis penyakit THT yang akan menjadi ruang lingkup bahasan dalam skripsi ini. a.
Otitis Eksterna Gejalanya adalah sebagai berikut : 1. Suhu tubuh normal terkadang panas 2. Nyeri telinga spontan dan bertambah nyeri waktu mengunyah atau telinga tersentuh. 3. Pendengaran biasanya terganggu.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
22
4. Gatal pada liang telinga 5. Otorea purulin bercampur darah bila furunkel pecah (cairan kental bercampur darah) Pengobatan : tetes telinga yang mengandung Niostatin, diberikan 3 kali sehari, selama satu minggu. Juga diberikan Analgesik berupa Metampiron 500 mg selama 35 hari. b.
Otitis Media Gejalanya adalah sebagai berikut : 1. suhu tubuh normal terkadang ada yang demam disertai sakit kepala, mual dan muntah 2. telinga terasa penuh, demam 3. grebeg-grebeg, batuk, pilek, nyeri telinga. 4. Gangguan pendengaran. 5. Nyeri pada liang telinga sapai dalam telinga 6. Keluar cairan pada telinga. Pengobatan : Dekongestan oral (Psedoefedrin) 3 kali 30-60 mg setiap hari selama 5-7 hari, tetes hidung (Efidrin 1% 3 kali sehari 3 tetes). Antibiotika diberikan selama 7 hari yaitu berupa Ampisilin (3-4 kali 500 mg oral), Eritromisin (3 kali 500 mg oral).
c.
Sinusitis Maksilaris Gejalanya adalah sebagai berikut : 1. Nyeri pada daerah pipi dan kepala 2. Mengeluarkan cairan kental dan berbau 3. Suara bindeng
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
23
4. Hidung terasa buntu 5. Pada pemeriksaan mioskopi anterion, mukosa tampak merah 6. Badan panas dan batuk-batuk 7. Rasa kering pada tenggorokan Pengobatan : Dekongestan lokal diberikan 5-7 hari, untuk dewasa : Efedrin 1%, Oksimetazolin Hidroklorida 0,05% (semprot hidung), Doksisiklin 2 kali 100 mg tiap hari selanjutnya 1 kali 100 mg per hari, selama 5-10 hari. Untuk anak-anak : Efedrin 05%, Oksimetazolin Hidroklorida 0,025% (tetes hidung). d.
Rinitis Alergi Gejalanya adalah sebagai berikut : 1. serangan timbul bila terjadi kontak dengan alergen penyebab (sesuatu yang menyebabkan alergi) 2. didahului rasa gatal pada hidung atau mata 3. bersin-bersin paroksisma, pilek encer dan hidung buntu 4. gangguan penciuman, mata sembab dan mata berair 5. kadang disertai sakit kepala 6. punya riwayat alergi Pengobatan : Hindari penyebab alergi, Antihistamin (CTM 3x2 4mg) atau Laratadin/ Astemizole 1x10 mg sehari(tetes hidung). Larutan Efedrin ½-1% atau Oksimetazolin 0,025% - 0,05%. Dekongestan oral : Psedoefedrin 2-3x30-60 mg sehari.
e.
Tonsilitis Gejalanya adalah sebagai berikut : 1. mula-mula tenggorokan terasa kering
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
24
2. disusul timbulnya rasa nyeri jika menelan 3. nyeri menelan dan biasanya menjalar ke telinga 4. tidur mendengkur 5. demam (dapat terjadi demam tinggi), nyeri pada kepala 6. mulut berbau busuk 7. tenggorokan kering dan batuk-batuk Pengobatan : diberikan antibiotik pada tosilitis karana strptokokus, jika kasusnya ringan diberi Fonoksimetil penisilin 4x500 mg per hari sedangkan untuk anak-anak 7,5 – 12,5 mg per hari dosis berat badan 4 x sehari. Diberikan Eritromisin 4x500 mg (anak-anak 12,5 mh/kg BB/ dosis, 4 kali sehari) diberikan selama 5-10 hari. f.
Faringitis Gejalanya adalah sebagai berikut : 1. Tenggorokan terasa kering dan panas, kemudian timbul nyeri menelan di bagian tengah tenggorokan 2. Demam, sakit kepala dan terasa lesu 3. Terjadi pembesaran kelenjar regional yang nyeri jika ditekan. Faring tampak merah 4. Nyeri menelan dan kepala 5. Batuk-batuk Pengobatan : diberikan Alanalgesik berupa parasetamol 3x500 mg / hari, Ampisilin 4x500 mg/hari atau amoksilin 3x500 mg/hari.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
25
BAB III METODE PENELITIAN
Dalam penelitian akan dilakukan beberapa tahapan kerja untuk mencapai tujuan penulisan dengan pengimplementasian menggunakan metode Certainty Factor. Adapun langkah – langkah kerja dalam penelitian ini akan dijelaskan sebagai berikut. 3.1 Identifikasi Masalah Permasalahan yang dihadapi dalam membangun sistem pakar yang dapat mendiagnosa penyakit THT (Telinga, Hidung dan Tenggorokan) adalah bagaimana cara merancang aplikasi sistem pakar tersebut sehingga dapat memberikan solusi-solusi tersebut secara efisien. 3.2 Studi Pustaka dan Pengumpulan Informasi Studi pustaka dilakukan untuk melengkapi pengetahuan dasar tentang permasalahan dan metode yang digunakan sehingga dapat menunjang dalam menyelesaikan permasalahan ini. Pada tahapan ini dilakukan pengumpulan informasi diantaranya adalah sebagai berikut : a) Metode Wawancara ( Interview ) Wawancara atau tanya jawab langsung dengan pihak-pihak terkait dalam hal ini adalah seorang dokter spesialis dalam bidang THT (Telinga, Hidung dan Tenggorokan) dan beberapa sampel user yang bersedia untuk diidentifikasi gejala-gejala penyakitnya. b) Metode Kepustakaan ( Library Research ) Data yahg diperoleh dengan cara mengumpulkan data melalui buku ,jurnal ilmiah dan sumber-sumber lain ( internet ) yang relevan dengan permasalahan
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
26
yang dihadapi dalam hal ini tentang gejala-gejala penyakit, pencegahan penyakit serta obat-abatan yang digunakan. Kemudian hasil pengumpulan informasi digunakan untuk menentukan parameter gejala dan kesimpulan diagnosa yang akan digunakan untuk mendesain struktur sistem diagnosa penyakit yang sesuai. 3.3 Perancangan Sistem Pada tahap ini terdiri dari beberapa tahapan dalam perancangan sistem pakar dengan menggunakan metode Certainty Factor. Adapun langkah-langkah perancangan sistem adalah sebagai berikut : Langkah 1 : Mengumpulkan data dasar dan informasi sebagai acuan tentang operasional sistem. Jenis-jenis data dasar yang diperlukan dalam sistem pakar antara lain : Pakar, berisi data pakar sumber pengetahuan gejala-gejala dan pencegahan selanjutnya serta obat-obatan. Data pakar meliputi : a) Fasilitas penjelas berisi gejala-gejala dan pencegahan selanjutnya serta obatobatan. b) Pertanyaan untuk user di dapat dari buku atau referensi valid yang bersumber dari pakar. Soal yang disusun dalam bentuk pernyataan. c) CF, berisi data CF pakar dan CF user yang ditawarkan oleh sistem kepada pertanyaan pada setiap soal Langkah 2 : Mengkuantifikasi pertanyaan. Pada tahapan ini User akan menjawab pertanyaan-pertanyaan berupa gejala-gejala yang mungkin terjadi pada User. User menjawab pertanyaan, maka
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
27
sistem membaca jawaban tersebut sebagai kuantifikasi pertanyaan atau biasa disebut bobot pertanyaan. Kriteria jawaban seorang User yaitu ada sebagai berikut :
Pasti
: nilai CF = 1
Kemungkinan besar
: nilai CF = 0,6
Tidak tahu
: nilai CF = 0
Kemungkinan besar tidak
: nilai CF = -0,6
Pasti tidak
: nilai CF = -1
Bobot pertanyaan ke- i dengan soal ke- (i+1) akan dihitung menggunkan CF gabungan. Perhitungan berhenti sampai ke-i dimana i=n. Perhitungan CF gabungan tersebut akan menghasilkan CF baru yaitu CF User. Kemudian nilai CF pakar didapatkan dari hasil rata-rata dari nilai CF User. Kemudian didapatkan nilai CF akhir dengan menggunakan CF sequensial yakni perkalian CF User dan CF pakar. CF akhir nantinya digunakan dalam penelusuran aturan Langkah 3 : Merepresentasikan pengetahuan dengan kaidah produksi (Rule-based) dalam bentuk IF –Then. Misalkan ditentukan dengan 2 aturan yakni ketika nilai CF akhir pada masing-masing hipotesis sama atau tidak. Karena konklusi yang akan dicari adalah nilai CF yang terbesar. Langkah 4 : Merancang mesin inferensi dengan metode Forward chaining. Mekanisme penalaran ini dimulai dari fakta dulu untuk menguji kebenaran hipotesis. Berikut merupakan flowchart dari Forward Chaining dalam perancangan sistem ini :
Skripsi
1.
Proses input jawaban user berupa CF yang tersedia dalam sistem
2.
Simpan jawaban User
3.
Hitung nilai CF gabungan dengan menggunakan persamaan 2.8
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
28
4.
Hitung CF pakar
5.
Tentukan CF akhir
6.
Cek rule awal
7.
Jika sesuai dengan premis pada memori kerja maka tambah konklusi ke memori kerja dan lanjutkan ke langkah 9.
8.
Cek Rules selanjutnya. Jika masih ada Rule selanjutnya, kembali ke langkah 7. jika tidak ada rule yang sesuai maka lanjutkan ke langkah 11
9.
Sesuaikan konklusi berupa jenis penyakit yang sesuai pada memori kerja pada rules yang premisnya sesuai
10. Tampilkan jenis penyakit beserta keterangan tambahan 11. Tampilkan kesimpulan " jenis penyakit belum bisa diidentifikasi " 12. Selesai Untuk lebih jelasnya ilustrasi algoritma forward chaining dapat dilihat pada gambar 3.1 Langkah 5 : Merancang User interface dan merancang program Langkah 6 : Evaluasi sistem dilakukan dengan cara membandingkan nilai output sistem dengan proses hitung manual. Hasil output sistem dianalisa oleh seorang dokter.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
29
Start
Input jawaban user
Simpan jawaban user Hitung CF User dan pakar Hitung CF akhir
Y
Tambah konklusi
Cek rule apakah sesuai dengan premis ?
T
Cek Rule selanjutnya
Apakah ada rule selanjutnya ? Sesuaikan dengan jenis penyakit yang sesuai
Y
T Penyakit belum bisa diidentifikasi Selesai Gambar 3.1 Flowchart Forward Chaining
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
30
Mulai
Identifikasi Masalah
Studi Pustaka dan Pengumpulan Informasi
Perancangan Sistem
Pembuatan Program
Uji Coba Program Dengan Membandingkan Hasil Diagnosa Pakar Tentang Penyakit THT
Selesai
Gambar 3.2 Diagram alir sistem kerja penelitian
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
31
BAB IV PEMBAHASAN
Pada bab ini akan diberikan penjelasan mengenai konsep kuantifikasi pertanyaan untuk menghitung nilai CF User beserta gambaran umum program beserta implementasinya dalam sistem pakar untuk diagnosis penyakit telinga, hidung dan tenggorokan. 4.1
Perancangan Sistem Penggunaan Certainty Factor dalam sistem pakar ini dirancang untuk memberikan
fasilitas diagnosis penyakit telinga, hidung dan tenggorokan. Sebelum tes, user diharuskan menuliskan nama user kemudian masuk kedalam menu form yang ada di dalamnya. Kemudian langsung masuk ke dalam form sistem pakar yang nantinya didalamnya akan ada beberapa pertanyaan untuk user. user akan menjawab pertanyaan (dalam bentuk pernyataan) sebagai kuantifikasi pertanyaan dengan nilai tingkat kepercayaan (CF), yang mana CF per pertanyaan akan dihitung dengan pertanyaan berikutnya dengan menggunakan metode perhitungan pada persamaan (2.8). Perhitungan CF gabungan tersebut akan menghasilkan nilai CF User. CF User nantinya akan digunakan untuk mencari nilai CF akhir setelah dioperasikan perhitungannya dengan dikalikan dengan nilai CF pakar yang telah ditentukan sebelumnya oleh pakar pada tiap-tiap penyakit. Selanjutnya CF akhir itu digunakan untuk penelusuran aturan. Penelusuran aturan menggunakan teknik metode forward chaining. Jumlah soal berjumlah 12 yang berisikan gejala-gejala yang mungkin dirasakan oleh User beserta tingkat kepercayaan yang nantinya diisikan oleh User. Berikut ada kriteria jawaban yang diisikan oleh User.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
32
Tabel 4.1 Kriteria Jawaban User No.
Keterangan CF
Nilai CF
1.
Pasti
1
2.
Kemungkinan Besar
0,6
3.
Tidak tahu
0
4.
Kemungkinan Besar Tidak
-0,6
5.
Pasti Tidak
-1
Tabel 4.2 Kriteria CF Pakar
Skripsi
No.
Keterangan CF
Nilai CF
1.
Pasti
1
2.
Hampir Pasti
0,8
3.
Kemungkinan Besar
0,6
4.
Kemungkinan
0,4
5.
Tidak Tahu
-0,2 sampai 0,2
6
Kemungkinan Tidak
-0,4
7
Kemungkinan besar tidak
-0,6
8
Hampir Pasti Tidak
-0,8
9
Pasti Tidak
-1
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
4.2
33
Representasi Pengetahuan Semua pengetahuan mengenai jenis penyakit direpresentasikan dalam bentuk aturan
– aturan. Contoh beberapa aturan pada basis pengetahuan diasumsikan tingkat keyakinannya adalah kemungkinan besar. Tabel 4.3 Contoh Beberapa Aturan Pada Representasi Pengetahuan
Rule
Panas
Nyeri
Cairan
Gatal
Pendengaran
Pilek
Bersin
turun
Tengg.
Hidung
sakit
buntu
batuk
penyakit
1
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Tonsilitis
2
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Tidak
Tonsilitis
3
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Tidak
Tidak
Tonsilitis
4
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Tidak
Tidak
Tidak
Tonsilitis
5
Ya
Ya
Ya
Ya
Ya
Ya
Tidak
Tidak
Tidak
Tidak
Tonsilitis
6
Ya
Ya
Ya
Ya
Ya
Tidak
Tidak
Tidak
Tidak
Tidak
Tonsilitis
7
Ya
Ya
Ya
Ya
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tonsilitis
8
Ya
Ya
Ya
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tonsilitis
9
Ya
Ya
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tonsilitis
10
Ya
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tonsilitis
4.3
Inferensi Diagnosis Penyakit Inferensi diagnosis penyakit merupakan penalaran yang dilakukan dalam menentukan
jenis penyakit dari seorang user yang telah melakukan tes dengan menggunakan metode runut maju (forward chaining), yaitu suatu metode penelusuran dengan didasarkan hasil CF akhir yang kemudian dilanjutkan dengan keterangan penyakit yang sesuai dan memenuhi.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
34
mulai
Gejala-gejala
CF(1)
CF(2)
R1
CF(3)
F
R2 T
CF(4)
F
T
CF(5)
R3
F
CF(6)
Tidak ditemukan jenis penyakit
T
keterangan jenis penyakit
selesai
Gambar 4.1 Inferensi Diagnosis Penyakit Pembentukan aturan-aturan tes dengan keterangan CF(1) = Faringitis, CF(2) = Otitis Eksterna, CF(3) = Otitis Media, CF(4) = Rinitis Alergi, CF(5) = Sinusitis, CF(6) = Tonsilitis adalah sebagai berikut : Rule 1 : If CF(1) <= 0.5 and CF(2) <= 0.5 and CF(3) <= 0.5 and CF(4) <= 0.5 and CF(5) <= 0.5 and CF(6) <= 0.5 then If CF(1)>0 and CF(2) < =0 and CF(3) < =0 and CF(4)< =0 and CF(5) <= 0 and CF(6) < =0 then “Faringitis Gejala” else If CF(1)<=0 and CF(2) > 0 and CF(3) < =0 and CF(4)< =0 and CF(5) < =0 and CF(6) < =0
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
35
then “Otitis Eksterna Gejala” else If CF(1)<=0 and CF(2) <= 0 and CF(3) >0 and CF(4)< =0 and CF(5) <= 0 and CF(6) < =0 then “Otitis Media Gejala” else If CF(1)<=0 and CF(2) < =0 and CF(3) < =0 and CF(4)> 0 and CF(5) <= 0 and CF(6) < =0 then “Rinitis Alergi Gejala” else If CF(1)<=0 and CF(2) < =0 and CF(3) < =0 and CF(4)<=0 and CF(5) >0 and CF(6) <= 0 then “Sinusitis Gejala” else If CF(1)<=0 and CF(2) < =0 and CF(3) < =0 and CF(4)< =0 and CF(5) < =0 and CF(6) > 0 then “Tonsilitis Gejala” else if CF(1)>0 and CF(2) >0 and CF(3) < =0 and CF(4)< =0 and CF(5) <= 0 and CF(6) < =0 then if max(CF(1),CF(2)) = CF(1) then “Faringitis Gejala” else if max(CF(1),CF(2)) = CF(2) then “Otitis Eksterna Gejala” else if CF(1) = CF(2) then “Faringitis Gejala, Otitis Eksterna Gejala” else if CF(1)<=0 and CF(2) >0 and CF(3) >0 and CF(4)< =0 and CF(5) <= 0 and CF(6) < =0 then if max(CF(2),CF(3)) = CF(2) then “Otitis Eksterna Gejala” else if max(CF(2),CF(3)) = CF(3) then “Otitis Media Gejala” else if CF(2) = CF(3) then “Otitis Eksterna Gejala, Otitis Media Gejala” else if CF(1)<=0 and CF(2) <=0 and CF(3) >0 and CF(4)>0 and CF(5) <= 0 and CF(6) < =0 then if max(CF(3),CF(4)) = CF(3) then “Otitis Media Gejala” else if max(CF(3),CF(4)) = CF(4) then “Rinitis Alergi Gejala” else if CF(3) = CF(4) then “Otitis Media Gejala, Rinitis Alergi Gejala” else if CF(1)<=0 and CF(2) <=0 and CF(3)<=0 and CF(4)>0 and CF(5) > 0 and CF(6) < =0 then if max(CF(4),CF(5)) = CF(4) then “Rinitis Alergi Gejala” else if max(CF(4),CF(5)) = CF(5) then “Sinusitis Gejala” else if CF(4) = CF(5) then “Rinitis Alergi Gejala, Sinusitis Gejala” else if CF(1)<=0 and CF(2) <=0 and CF(3)<=0 and CF(4)<=0 and CF(5) > 0 and CF(6) >0 then if max(CF(5),CF(6)) = CF(5) then “Sinusitis Gejala” else if max(CF(5),CF(6)) = CF(6) then “Tonsilitis Gejala” else if CF(5) = CF(6) then “Sinusitis Gejala, Tonsilitis Gejala” else if CF(1)>0 and CF(2) >0 and CF(3)>0 and CF(4)<=0 and CF(5) <= 0 and CF(6) <=0 then if max(CF(1),CF(2),CF(3)) = CF(1) then “Faringitis Gejala” else if max(CF(1),CF(2),CF(3)) = CF(2) then “Otitis Eksterna Gejala” else if max(CF(1),CF(2),CF(3)) = CF(3) then “Otitis Media Gejala” else if CF(1) = CF(2) then “Faringitis Gejala, Otitis Eksterna Gejala” else if CF(1) = CF(3) then “Faringitis Gejala, Otitis Media Gejala” else if CF(2) = CF(3) then “Otitis Eksterna Gejala, Otitis Media Gejala” else if CF(1) = CF(2) = CF(3) then “Faringitis Gejala, Otitis Eksterna Gejala, Otitis Media Gejala” else if CF(1)<=0 and CF(2) <=0 and CF(3)<=0 and CF(4)>0 and CF(5) > 0 and CF(6) >0 then if max(CF(4),CF(5),(CF6)) = CF(4) then “Rinitis Alergi Gejala” else if max(CF(4),CF(5),CF(6)) = CF(5) then “Sinusitis Gejala” else if max(CF(4),CF(5),CF(6)) = CF(6) then “Tonsilitis Gejala” else if CF(4) = CF(5) then “Rinitis Alergi Gejala, Sinusitis Gejala” else if CF(4) = CF(6) then “Rinitis Alergi Gejala, Tonsilitis Gejala” else if CF(5) = CF(6) then “Sinusitis Gejala, Tonsilitis Gejala” else if CF(4) = CF(5) = CF(6) then “Rinitis Alergi Gejala, Sinusitis Gejala, Tonsilitis Gejala” else if CF(1)>0 and CF(2) >0 and CF(3)>0 and CF(4)>0 and CF(5) <= 0 and CF(6) <=0 then if max(CF(1),CF(2),CF(3),CF(4)) = CF(1) then “Faringitis Gejala” else if max(CF(1),CF(2),CF(3),CF(4)) = CF(2) then “Otitis Eksterna Gejala” else if max(CF(1),CF(2),CF(3),CF(4)) = CF(3) then “Otitis Media Gejala” else if max(CF(1),CF(2),CF(3),CF(4)) = CF(4) then “Rinitis Alergi Gejala” else if CF(1) = CF(2) then “Faringitis Gejala, Otitis Eksterna Gejala “ else if CF(1) = CF(3) then “Faringitis Gejala, Otitis Media Gejala “ else if CF(1) = CF(4) then “Faringitis Gejala, Rinitis Alergi Gejala “
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
36
else if CF(1) = CF(2) = CF(3) = CF(4) then “Faringitis Gejala, Otitis Eksterna Gejala, Otitis Media Gejala , Rinitis Alergi Gejala “ else if CF(1)<=0 and CF(2) >0 and CF(3)>0 and CF(4)>0 and CF(5) > 0 and CF(6) <=0 then if max(CF(2),CF(3),CF(4),CF(5)) = CF(2) then “Otitis Eksterna Gejala” else if max(CF(2),CF(3),CF(4),CF(5)) = CF(3) then “Otitis Media Gejala” else if max(CF(2),CF(3),CF(4),CF(5)) = CF(4) then “Rinitis Alergi Gejala” else if max(CF(2),CF(3),CF(4),CF(5)) = CF(5) then “Sinusitis Gejala” else if CF(2) = CF(3) then “Eksterna Gejala, Otitis Media Gejala “ else if CF(2) = CF(4) then “Eksterna Gejala, Rinitis Alergi Gejala “ else if CF(2) = CF(5) then “Eksterna Gejala, Sinusitis Gejala “ else if CF(2) = CF(3) = CF(4) = CF(5) then “Eksterna Gejala, Otitis Media Gejala, Rinitis Alergi Gejala, Sinusitis Gejala “ else if CF(1)<=0 and CF(2)<=0 and CF(3)>0 and CF(4)>0 and CF(5) > 0 and CF(6) >0 then if max(CF(3),CF(4),CF(5),CF(6)) = CF(3) then “Otitis Media Gejala” else if max(CF(3),CF(4),CF(5),CF(6)) = CF(4) then “Rinitis Alergi Gejala” else if max(CF(3),CF(4),CF(5),CF(6)) = CF(5) then “Sinusitis Gejala” else if max(CF(3),CF(4),CF(5),CF(6)) = CF(6) then “Tonsilitis Gejala” else if CF(3) = CF(4) then “Otitis Media Gejala , Rinitis Alergi Gejala “ else if CF(3) = CF(5) then “Otitis Media Gejala , Sinusitis Gejala “ else if CF(3) = CF(6) then “Otitis Media Gejala , Tonsilitis Gejala “ else if CF(3) = CF(4) = CF(5) = CF(6) then “Otitis Media Gejala , Rinitis Alergi Gejala , Sinusitis Gejala, Tonsilitis Gejala “ else If CF(1)<=0 and CF(2) > 0 and CF(3) > 0 and CF(4) > 0 and CF(5) > 0 and CF(6) > 0 then If max(CF(2), CF(3), CF(4), CF(5), CF(6)) = CF(2) then “Otitis Eksterna Gejala” Elseif max(CF(2), CF(3), CF(4), CF(5), CF(6)) = CF(3) then “Otitis Media Gejala” Elseif max(CF(2), CF(3), CF(4), CF(5), CF(6)) = CF(4) then “Rinitis Alergi Gejala” Elseif max(CF(2), CF(3), CF(4), CF(5), CF(6)) = CF(5) then “Sinusitis Gejala” Elseif max(CF(2), CF(3), CF(4), CF(5), CF(6)) = CF(6) then “Tonsilitis Gejala” else if CF(2) = CF(3) then “Eksterna Gejala, Otitis Media Gejala “ else if CF(2) = CF(4) then “Eksterna Gejala, Rinitis Alergi Gejala “ else if CF(2) = CF(5) then “Eksterna Gejala, Sinusitis Gejala “ else if CF(2) = CF(6) then “Eksterna Gejala, Tonsilitis Gejala “ else if CF(2) = CF(3) = CF(4) = CF(5) = CF(6) then “Eksterna Gejala, Otitis Media Gejala , Rinitis Alergi Gejala , Sinusitis Gejala, Tonsilitis Gejala “ else If CF(1)>0 and CF(2) <= 0 and CF(3) > 0 and CF(4) > 0 and CF(5) > 0 and CF(6) > 0 then If max(CF(1), CF(3), CF(4), CF(5), CF(6)) = CF(1) then “Faringitis Gejala” Elseif max(CF(1), CF(3), CF(4), CF(5), CF(6)) = CF(3) then “Otitis Media Gejala” Elseif max(CF(1), CF(3), CF(4), CF(5), CF(6)) = CF(4) then “Rinitis Alergi Gejala” Elseif max(CF(1), CF(3), CF(4), CF(5), CF(6)) = CF(5) then “Sinusitis Gejala” Elseif max(CF(1), CF(3), CF(4), CF(5), CF(6)) = CF(6) then “Tonsilitis Gejala” else if CF(1) = CF(3) then “Faringitis Gejala, Otitis Media Gejala “ else if CF(1) = CF(4) then “Faringitis Gejala, Rinitis Alergi Gejala “ else if CF(1) = CF(5) then “Faringitis Gejala, Sinusitis Gejala “ else if CF(1) = CF(6) then “Faringitis Gejala, Tonsilitis Gejala “ else if CF(1) = CF(3) = CF(4) = CF(5) = CF(6) then “Faringitis Gejala, Otitis Media Gejala , Rinitis Alergi Gejala , Sinusitis Gejala, Tonsilitis Gejala “ else If CF(1)>0 and CF(2) > 0 and CF(3) <= 0 and CF(4) > 0 and CF(5) > 0 and CF(6) > 0 then If max(CF(1), CF(2), CF(4), CF(5), CF(6)) = CF(1) then “Faringitis Gejala” Elseif max(CF(1), CF(2), CF(4), CF(5), CF(6)) = CF(2) then “Otitis Eksterna Gejala” Elseif max(CF(1), CF(2), CF(4), CF(5), CF(6)) = CF(4) then “Rinitis Alergi Gejala” Elseif max(CF(1), CF(2), CF(4), CF(5), CF(6)) = CF(5) then “Sinusitis Gejala” Elseif max(CF(1), CF(2), CF(4), CF(5), CF(6)) = CF(6) then “Tonsilitis Gejala” else if CF(1) = CF(2) then “Faringitis Gejala, Otitis Eksterna Gejala “ else if CF(1) = CF(4) then “Faringitis Gejala, Rinitis Alergi Gejala “ else if CF(1) = CF(5) then “Faringitis Gejala, Sinusitis Gejala “
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
37
else if CF(1) = CF(6) then “Faringitis Gejala, Tonsilitis Gejala “ else if CF(1) = CF(2) = CF(4) = CF(5) = CF(6) then “Faringitis Gejala, Otitis Eksterna Gejala, Rinitis Alergi Gejala , Sinusitis Gejala, Tonsilitis Gejala “ else If CF(1)>0 and CF(2) > 0 and CF(3) > 0 and CF(4) <= 0 and CF(5) > 0 and CF(6) > 0 then If max(CF(1), CF(2), CF(3), CF(5), CF(6)) = CF(1) then “Faringitis Gejala” Elseif max(CF(1), CF(2), CF(3), CF(5), CF(6)) = CF(2) then “Otitis Eksterna Gejala” Elseif max(CF(1), CF(2), CF(3), CF(5), CF(6)) = CF(3) then “Otitis Media Gejala” Elseif max(CF(1), CF(2), CF(3), CF(5), CF(6)) = CF(5) then “Sinusitis Gejala” Elseif max(CF(1), CF(2), CF(3), CF(5), CF(6)) = CF(6) then “Tonsilitis Gejala” else if CF(1) = CF(2) then “Faringitis Gejala, Otitis Eksterna Gejala “ else if CF(1) = CF(3) then “Faringitis Gejala, Otitis Media Gejala “ else if CF(1) = CF(5) then “Faringitis Gejala, Sinusitis Gejala “ else if CF(1) = CF(6) then “Faringitis Gejala, Tonsilitis Gejala “ else if CF(1) = CF(2) = CF(3) = CF(5) = CF(6) then “Faringitis Gejala, Otitis Eksterna Gejala, Otitis Media Gejala, Sinusitis Gejala, Tonsilitis Gejala “ else If CF(1)>0 and CF(2) > 0 and CF(3) > 0 and CF(4) > 0 and CF(5) <= 0 and CF(6) > 0 then If max(CF(1), CF(2), CF(3), CF(4), CF(6)) = CF(1) then “Faringitis Gejala” Elseif max(CF(1), CF(2), CF(3), CF(4), CF(6)) = CF(2) then “Otitis Eksterna Gejala” Elseif max(CF(1), CF(2), CF(3), CF(4), CF(6)) = CF(3) then “Otitis Media Gejala” Elseif max(CF(1), CF(2), CF(3), CF(4), CF(6)) = CF(4) then “Rinitis Alergi Gejala” Elseif max(CF(1), CF(2), CF(3), CF(4), CF(6)) = CF(6) then “Tonsilitis Gejala” else if CF(1) = CF(2) then “Faringitis Gejala, Otitis Eksterna Gejala “ else if CF(1) = CF(3) then “Faringitis Gejala, Otitis Media Gejala “ else if CF(1) = CF(4) then “Faringitis Gejala, Rinitis Alergi Gejala “ else if CF(1) = CF(6) then “Faringitis Gejala, Tonsilitis Gejala “ else if CF(1) = CF(2) = CF(3) = CF(4) = CF(6) then “Faringitis Gejala, Otitis Eksterna Gejala, Otitis Media Gejala, Rinitis Alergi Gejala, Tonsilitis Gejala “ else If CF(1)>0 and CF(2) > 0 and CF(3) > 0 and CF(4) > 0 and CF(5) > 0 and CF(6) < 0 then If max(CF(1), CF(2), CF(3), CF(4), CF(5)) = CF(1) then “Faringitis Gejala” Elseif max(CF(1), CF(2), CF(3), CF(4), CF(5)) = CF(2) then “Otitis Eksterna Gejala” Elseif max(CF(1), CF(2), CF(3), CF(4), CF(5)) = CF(3) then “Otitis Media Gejala” Elseif max(CF(1), CF(2), CF(3), CF(4), CF(5)) = CF(4) then “Rinitis Alergi Gejala” Elseif max(CF(1), CF(2), CF(3), CF(4), CF(5)) = CF(5) then “Sinusitis Gejala” else if CF(1) = CF(2) then “Faringitis Gejala, Otitis Eksterna Gejala “ else if CF(1) = CF(3) then “Faringitis Gejala, Otitis Media Gejala “ else if CF(1) = CF(4) then “Faringitis Gejala, Rinitis Alergi Gejala “ else if CF(1) = CF(5) then “Faringitis Gejala, Sinusitis Gejala “ else if CF(1) = CF(2) = CF(3) = CF(4) = CF(5) then “Faringitis Gejala, Otitis Eksterna Gejala, Otitis Media Gejala, Rinitis Alergi Gejala, Sinusitis Gejala “
Rule 2 :
if CF(1) >= 0.5 and CF(2) >= 0.5 and CF(3) < 0.5 and CF(4) < 0.5 and CF(5) < 0.5 and CF(6) < 0.5 then If max(CF(1),CF(2)) = CF(1) then “ Faringitis Akut” elseIf max(CF(1),CF(2)) = CF(2) then “ Otitis Eksterna Akut” elseIf CF(1) = CF(2) then “Faringitis akut, Otitis Eksterna Akut” Elseif CF(1) < 0.5 and CF(2) >= 0.5 and CF(3) >= 0.5 and CF(4) < 0.5 and CF(5) < 0.5 and CF(6) < 0.5 If max(CF(2),CF(3)) = CF(2) then “Otitis Eksterna Akut” elseIf max(CF(2),CF(3)) = CF(3) then “ Otitis Media Akut” elseIf CF(2) = CF(3) then “Otitis Eksterna Akut, Otitis Media Akut” Elseif CF(1) < 0.5 and CF(2) < 0.5 and CF(3) >= 0.5 and CF(4) >= 0.5 and CF(5) < 0.5 and CF(6) < 0.5 If max(CF(3),CF(4)) = CF(3) then “ Otitis Media Akut” elseIf max(CF(3),CF(4)) = CF(4) then “ Rinitis Alergi Akut”
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
38
elseIf CF(3) = CF(4) then “Otitis Media Akut, Rinitis Alergi Akut” Elseif CF(1) < 0.5 and CF(2) < 0.5 and CF(3) < 0.5 and CF(4) >= 0.5 and CF(5) >= 0.5 and CF(6) < 0.5 If max(CF(4),CF(5)) = CF(4) then “Rinitis Alergi Akut” elseIf max(CF(4),CF(5)) = CF(5) then “Sinusitis Akut” elseIf CF(4) = CF(5) then “Rinitis Alergi , Sinusitis Akut” Elseif CF(1) < 0.5 and CF(2) < 0.5 and CF(3) < 0.5 and CF(4) < 0.5 and CF(5) >= 0.5 and CF(6) >= 0.5 If max(CF(5),CF(6)) = CF(5) then “Sinusitis Akut” elseIf max(CF(5),CF(6)) = CF(6) then “Tonsilitis Akut” elseIf CF(5) = CF(6) then “Sinusitis Akut , Tonsilitis Akut ” Elseif CF(1) >= 0.5 and CF(2) >= 0.5 and CF(3) >= 0.5 and CF(4) < 0.5 and CF(5) < 0.5 and CF(6) < 0.5 If max(CF(1),CF(2) ,CF(3)) = CF(1) then “ Faringitis Akut” elseIf max(CF(1),CF(2) ,CF(3)) = CF(2) then “Otitis Eksterna Akut” elseIf max(CF(1),CF(2) ,CF(3)) = CF(3) then “Otitis Media Akut” elseIf CF(1) = CF(2) = CF(3) then “Faringitis Akut, Otitis Eksterna Akut, Otitis Media Akut” Elseif CF(1) <0.5 and CF(2) >= 0.5 and CF(3) >= 0.5 and CF(4) >= 0.5 and CF(5) < 0.5 and CF(6) < 0.5 If max(CF(2),CF(3) ,CF(4)) = CF(2) then “Otitis Eksterna Akut” elseIf max(CF(2),CF(3) ,CF(4)) = CF(3) then “ Otitis Media Akut” elseIf max(CF(2),CF(3) ,CF(4)) = CF(4) then “ Rinitis Alergi Akut” elseIf CF(2) = CF(3) = CF(4) then “Otitis Eksterna Akut, Otitis Media Akut , Rinitis Alergi Akut” Elseif CF(1) <0.5 and CF(2) < 0.5 and CF(3) >= 0.5 and CF(4) >= 0.5 and CF(5) >= 0.5 and CF(6) < 0.5 If max(CF(3),CF(4) ,CF(5)) = CF(3) then “ Otitis Media Akut” elseIf max(CF(3),CF(4) ,CF(5)) = CF(4) then “Rinitis Alergi Akut” elseIf max(CF(3),CF(4) ,CF(5)) = CF(5) then “Sinusitis Akut” elseIf CF(3) = CF(4) = CF(5) then “Otitis Media Akut, Rinitis Alergi Akut, Sinusitis Akut” Elseif CF(1) <0.5 and CF(2) < 0.5 and CF(3) < 0.5 and CF(4) >= 0.5 and CF(5) >= 0.5 and CF(6) >= 0.5 If max(CF(4),CF(5) ,CF(6)) = CF(4) then “Rinitis Alergi Akut” elseIf max(CF(4),CF(5) ,CF(6)) = CF(5) then “Sinusitis Akut” elseIf max(CF(4),CF(5) ,CF(6)) = CF(6) then “Tonsilitis Akut” elseIf CF(4) = CF(5) = CF(6) then “Rinitis Alergi , Sinusitis Akut, Tonsilitis Akut” Elseif CF(1) >= 0.5 and CF(2) >= 0.5 and CF(3) >= 0.5 and CF(4) >= 0.5 and CF(5) < 0.5 and CF(6) < 0.5 If max(CF(1),CF(2) ,CF(3), CF(4)) = CF(1) then “Faringitis Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4)) = CF(2) then “Otitis Eksterna Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4)) = CF(3) then “Otitis Media Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4)) = CF(4) then “ Rinitis Alergi Akut” elseIf CF(1) = CF(2) = CF(3) = CF(4) then “ Faringitis Akut, Otitis Eksterna Akut, Otitis Media Akut , Rinitis Alergi Akut” Elseif CF(1) < 0.5 and CF(2) >= 0.5 and CF(3) >= 0.5 and CF(4) >= 0.5 and CF(5) >= 0.5 and CF(6) < 0.5 If max(CF(2),CF(3) ,CF(4), CF(4)) = CF(2) then “Otitis Eksterna Akut” elseIf max(CF(2),CF(3) ,CF(4), CF(5)) = CF(3) then “ Otitis Media Akut” elseIf max(CF(2),CF(3) ,CF(4), CF(5)) = CF(4) then “Rinitis Alergi Akut” elseIf max(CF(2),CF(3) ,CF(4), CF(5)) = CF(5) then “Sinusitis Akut” elseIf CF(2) = CF(3) = CF(4) = CF(5) then “Otitis Eksterna Akut, Otitis Media Akut , Rinitis Alergi Akut , Sinusitis Akut” Elseif CF(1) < 0.5 and CF(2) < 0.5 and CF(3) >= 0.5 and CF(4) >= 0.5 and CF(5) >= 0.5 and CF(6) >= 0.5 If max(CF(3),CF(4) ,CF(5), CF(6)) = CF(3) then “Otitis Media Akut”
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
39
elseIf max(CF(3),CF(4) ,CF(5), CF(6)) = CF(4) then “Rinitis Alergi Akut” elseIf max(CF(3),CF(4) ,CF(5), CF(6)) = CF(5) then “Sinusitis Akut” elseIf max(CF(3),CF(4) ,CF(5), CF(6)) = CF(6) then “ Tonsilitis Akut” elseIf CF(3) = CF(4) = CF(5) = CF(6) then “Otitis Media Akut , Rinitis Alergi Akut , Sinusitis Akut , Tonsilitis Akut” Elseif CF(1) >= 0.5 and CF(2) >= 0.5 and CF(3) >= 0.5 and CF(4) >= 0.5 and CF(5) >= 0.5 and CF(6) < 0.5 If max(CF(1),CF(2) ,CF(3), CF(4), CF(5)) = CF(1) then “ Faringitis Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4), CF(5)) = CF(2) then “Otitis Eksterna Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4), CF(5)) = CF(3) then “ Otitis Media Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4), CF(5)) = CF(4) then “Rinitis Alergi Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4), CF(5)) = CF(5) then “Sinusitis Akut” elseIf CF(1) = CF(2) = CF(3) = CF(4) = CF(5) then “Faringitis Akut, Otitis Eksterna Akut, Otitis Media Akut , Rinitis Alergi Akut , Sinusitis Akut” Elseif CF(1) < 0.5 and CF(2) >= 0.5 and CF(3) >= 0.5 and CF(4) >= 0.5 and CF(5) >= 0.5 and CF(6) >= 0.5 If max(CF(2),CF(3) ,CF(3), CF(4), CF(6)) = CF(2) then “ Otitis Eksterna Akut” elseIf max(CF(2),CF(3) ,CF(4), CF(5), CF(6)) = CF(3) then “ Otitis Media Akut” elseIf max(CF(2),CF(3) ,CF(4), CF(5), CF(6)) = CF(4) then “Rinitis Alergi Akut” elseIf max(CF(2),CF(3) ,CF(4), CF(5), CF(6)) = CF(5) then “Sinusitis Akut” elseIf max(CF(2),CF(3) ,CF(4), CF(5), CF(6)) = CF(6) then “ Tonsilitis Akut” elseIf CF(2) = CF(3) = CF(4) = CF(5) = CF(6) then “Otitis Eksterna Akut, Otitis Media Akut , Rinitis Alergi Akut , Sinusitis Akut , Tonsilitis Akut”
Rule 3 :
If CF(1) >= 0.5 and CF(2) >= 0.5 and CF(3) >= 0.5 and CF(4) >= 0.5 and CF(5) >= 0.5 and CF(6) >= 0.5 then If max(CF(1),CF(2) ,CF(3), CF(4), CF(5), CF(6)) = CF(1) then “Faringitis Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4), CF(5), CF(6)) = CF(2) then “Otitis Eksterna Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4), CF(5), CF(6)) = CF(3) then “ Otitis Media Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4), CF(5), CF(6)) = CF(4) then “Rinitis Alergi Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4), CF(5), CF(6)) = CF(5) then “Sinusitis Akut” elseIf max(CF(1),CF(2) ,CF(3), CF(4), CF(5), CF(6)) = CF(6) then “ Tonsilitis Akut” elseIf CF(1) = CF(2) = CF(3) = CF(4) = CF(5) = CF(6) then “Faringitis Akut , Otitis Eksterna Akut, Otitis Media Akut , Rinitis Alergi Akut , Sinusitis Akut , Tonsilitis Akut ” End if
4.4
Implementasi Program Pembuatan program dilakukan berdasarkan buku acuan Madcons, 2003, Seri Panduan
Pemrograman Aplikasi Database Visual Basic.net dengan Crystal Report, Andi, Yogyakarta.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
4.4.1
40
Proses Input Jawab Proses pertama pada sistem pakar diagnosis penyakit ini yaitu prosedur input jawab.
Prosedur ini bertujuan untuk menyimpan tingkat kepercayaan dalam bentuk desimal. Gambar berikut merupakan form sistem pakar dimana pada form ini User akan menjawab beberapa pertanyaan mengenai gejala-gejala apa saja yang dirasakan beserta seberapa besar tingkat keyakinan User terhadap gejala tersebut.
Gambar 4.2 Form Login User Pada form awal ini terdapat 2 macam User akses. Yakni sebagai admin dan sebagai User. Admin atau dalam hal ini sebagai pakar berwenang dalam hal update pengetahuan yang ada di dalam program ini. User dalam hal ini sebagai pemakai yang hanya menggunakan program
sebagai
media
konsultasi.
User
menuliskan
nama
User
jika
sebagai
pengguna/pemakai/pasien terlebih dahulu, kemudian tekan button OK.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
41
Gambar 4.3 Form konsultasi Kemudian User mulai memasuki form konsultasi yaitu form sistem pakar. Pada form ini User mulai dihadapkan pada beberapa pertanyaan yang tidak harus dijawab semuanya. Tetapi harus memberikan nilai tingkat kepastian pada setiap pertanyaan. Setelah memilih gejala dan tingkat kepastian, User dapat menekan button input agar nantinya bisa tersimpan di dalam kolom gejala penyakit beserta tingkat kepercayaannya pada tiap-tiap gejala. Berikut adalah contoh form ketika User telah memberikan input an pada form sistem pakar ini.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
42
Gambar 4.4 Form Yang Telah Berisikan Input user Terlihat beberapa pilihan gejala yang dirasakan User sudah dipilih beserta tingkat keyakinan pada masing-masing gejala. Langkah selanjutnya adalah beralih pada kontrol data, yaitu memproses beberapa input an yang telah di masukkan User. Terlihat bahwa pada hasil pengujian User telah divonis oleh sistem terkena penyakit Tonsilitis dengan nilai CF atau tingkat kepercayaan sebesar 0,86304 atau dibulatkan 0,86 dengan kondisi atau tingkat keparahan akut. Karena nilai keyakinan CF akhir lebih dari 0,5. Berikut adalah contoh tampilan form hasil dari proses pengujian tersebut.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
43
Gambar 4.5 Form Hasil
Gambar 4.6 Form Informasi Hasil
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
44
Untuk form selanjutnya adalah berisi mengenai hitungan manual yang dilakukan oleh sistem. Pada proses input an awal terlihat bahwa pada masing-masing gejala terdapat nilai keyakinan yang awalnya berupa tingkat keyakinan. Setelah itu proses pencarian nilai CF User dengan menggunakan persamaan (2.8). 4.4.2
Proses Hitung Nilai CF Prosedur hitung CF dilakukan setelah prosedur input jawab, maka sistem melakukan
prosedur hitung CF untuk mendapatkan CF User pada proses hitung ini. Prosedur hitung CF ini dapat dilihat pada gambar berikut : Function HitungCF(ByVal Nilai1 As Double, ByVal Nilai2 As Double) Dim NilaiCF As Double = 0 If Nilai1 > 0 AndAlso Nilai2 > 0 Then NilaiCF = Nilai1 + (Nilai2 * (1 - Nilai1)) ElseIf Nilai1 < 0 OrElse Nilai2 < 0 Then NilaiCF = (Nilai1 + Nilai2) / (1 - (Math.Min(Math.Abs(Nilai1), Math.Abs(Nilai2)))) ElseIf Nilai1 < 0 AndAlso Nilai2 < 0 Then NilaiCF = Nilai1 + (Nilai2 * (1 + Nilai1)) End If Return NilaiCF End Function
Gambar 4.7 Prosedur Hitung CF 4.4.3 Proses Hitung Manual Berikut adalah contoh perhitungan manual dengan input nilai tingkat kepercayaan tiap soal pada tes diagnosis penyakit dan proses hitung menggunakan persamaan 2.8. Misalkan input an gejala beserta tingkat keyakinan seperti pada sub bab 4.4.1. 1. Gejala pertama yakni bersin-bersin dengan tingkat keyakinan “pasti” atau bernilai 1 2. Gejala kedua yakni batuk-batuk dengan tingkat keyakinan “kemungkinan besar” dengan nilai 0,6
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
45
3. Gejala ketiga yakni suhu badan yang tinggi dengan tingkat keyakinan “kemungkinan besar” dengan nilai 0,6 4. Gejala keempat yakni pilek dengan tingkat keyakinan “kemungkinan besar” dengan nilai 0,6 5. Gejala kelima yakni adanya bau mulut dengan tingkat keyakinan “kemungkinan besar” dengan nilai 0,6 6. Gejala keenam yakni user mendengkur ketika tidur dengan tingkat keyakinan “kemungkinan besar” dengan nilai 0,6 Setelah dilakukan penelusuran gejala pada masing-masing peyakit pada database sistem, maka didapatkan hasil tingkat kepercayaan pada masing-masing penyakit seperti tabel dibawah ini : Tabel 4.4 Hasil Hitung Manual No gejala
Otitis eks.
Otitis med.
Tonsilitis
Faringitis
Rinitis A.
Sinusitis
1.
0
0
0
0
1
1
2.
0
0
0,6
0,6
0
0,6
3.
0
0,6
0,6
0,6
0
0,6
4.
0
0
0
0
0,6
0,6
5.
0
0
0,6
0
0,6
0,6
6.
0
0
0,6
0
0
0
0
0,6
0,9744
0,84
1
1
0,65
0,80
0,89
0,72
0,77
0,58
0
0,48
0,86
0,67
0,77
0,58
Nilai CF akhir User = Nilai CF pakar = CF akhir =
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
46
Terlihat hasil seperti diatas bahwa nilai CF yang terbesar adalah penyakit tonsilitis dengan nilai kepercayaan 0,86. Karena nilai > 0,5 maka bukan merupakan suatu gejala lagi, tetapi sudah mencapai tahapan akut.
4.5
Desain Interface Desain Interface yang merupakan rancangan beberapa form yang ada dalam program
ini akan terdapat pada lampiran 2. Berikut ini adalah beberapa fungsi form yang ada dalam user interface pada aplikasi ini. 1. Form login Admin dan user Pada form ini berguna untuk membuka akses sebagai admin atau User (pengguna tes). Jika admin akan masuk pada form hak akses admin untuk para pakar maka harus mengetikkan nama user tertentu saja yang ada dalam database beserta password yang sesuai sebagai syarat masuk untuk update data. Sedangkan untuk pengguna maka cukup mengetikkan nama user atau pengguna saja. 2. Form update gejala penyakit Form berikut merupakan form dari login admin untuk update gejala-gejala penyakit dari penyakit THT itu sendiri. Data-data yang telah di update nantinya akan disimpan dalam database sehingga memungkinkan sekali dalam perbaikan pengetahuan jika diperlukan dalam kelanjutannya. 3. form update penyakit THT Pada form ini berisikan mengenai beberapa jenis penyakit yang ada di aplikasi ini. Pada form ini admin dapat meng-update macam-macam jenis penyakit jika ingin menambahkan atau mengurangi macam penyakit yang ada di aplikasi ini.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
47
4. Form update rule dari masing-masing jenis penyakit terhadap gejala-gejalanya. Misal dalam hal ini penyakit faringitis. Pada form ini admin dapat meng-update tiap-tiap gejala terhadap salah satu penyakit THT ini. Dalam contoh sub form ini ditampilkan jenis penyakit faringitis yang dapat di update nilai tingkat keyakinan suatu gejala terhadap penyakit faringitis ini. 5. Form update CF pakar penyakit Pada form ini terdapat nilai CF yang berasal dari pakar. Terdapat nilai CF yang telah dikonsultasikan dengan pakar THT sebelumnya. Pada form ini juga terdapat fasilitas jika ingin meng-update nilai CF pakar dari suatu penyakit THT. 6. Form update user Pada form ini terdapat fasilitas jika ingin menambahkan nama admin jika menginginkan beberapa akses tersendiri pagi pemakai. 7. Form konsultasi sistem pakar THT Pada form ini merupakan form konsultasi user. User memberikan masukan berupa gejala-gejala yang dirasakan beserta tingkat keyakinan user terhadap gejala tersebut. Kemudian setelah di proses maka user mendapatkan diagnosa dari sistem yakni terkena penyakit tonsilitis dengan nilai CF sebesar 0,88 dengan tingkat keparahan akut 8. Form informasi hasil pengujian Pada form ini menampilkan beberapa daftar masukan gejala penyakit yang telah dimasukkan oleh user beserta tingkat keyakinannya. Kemudian setelah diproses,
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
48
maka didapatkan masing-masing nilai CF pada setiap penyakit. Dan setelah itu dilakukan penelusuran rule dimana akan diperoleh kesimpulan akhir penyakit yang diderita user beserta tingkat kepercayaannya. 4.6
Evaluasi Sistem Pada evaluasi ini akan bertujuan untuk membuktikan kesesuaian antara output sistem
aplikasi program dengan hasil manual atau hasil rumusan teori, dibuktikan melalui proses konsultasi langsung dengan pakar THT. Evaluasi sistem dilakukan dengan cara membandingkan nilai output sistem dengan proses hitung manual, kemudian dianalisa oleh pakar THT. Untuk mendapatkan hasil yang obyektif, maka akan diambil sekitar 10 sampel data yang ada pada suatu rekam medik suatu puskesmas yang berada pada suatu wilayah di daerah Bratang yaitu di Klinik Aries, yang akan diujikan pada sistem (proses I). Kemudian soal beserta bobot soal dicetak dan diberikan pada pakar THT untuk konsultasi dengan pakar( proses II). Berikut adalah gambaran singkat mengenai pengujian pada proses I dan II yang akan dijelaskan sebagai berikut : 1. Data diambil secara acak dengan tidak membedakan umur dari pasien atau dalam hal ini bertidak sebagai user. Data pasien berjumlah 10 dan diambil hanya pada kasus penyakit yang berhubungan dengan penyakit THT saja. Kemudian data di inputkan pada sistem untuk mendapatkan hasil output dari sistem. 2. Sedangkan untuk proses kedua merupakan proses lanjutan sebagai pembanding terhadap proses I. Pada tahapan ini nantinya akan didapatkan hasil dari pemeriksaan dari pakar terhadap soal-soal yang telah diberikan kepada pakar sebelumnya. Setelah proses I dan II selesai, maka akan dilakukan uji pembanding yakni diantara kedua proses tersebut. Pada hasil tersebut menunjukkan keakuratan program sebesar 90%.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
49
Yakni dengan 9 data benar sesuai hasil pemeriksaan pakar atau dalam hal ini dokter(Proses II), sehingga hasil sistem pakar diagnosis penyakit telinga, hidung dan tenggorokan ini adalah (9 : 10) x 100% = 90%. Dalam hal ini kesalahan disebabkan karena tingkat keyakinan yang diberikan oleh user terjadi salah persepsi atau belum obyektif meskipun dalam aplikasi program sudah dipermudah dengan memberikan pilihan tingkat keyakinan yang dapat dimengerti dengan mudah oleh user. Selain itu faktor antibodi dari user itu sendiri juga berpengaruh seiring bertambahnya usia. Berikut hasil proses I dan proses II :
Tabel 4.5 Hasil uji proses I yang dibandingkan dengan proses II No.
Nama pasien
Umur
Hasil Proses I
Hasil Proses II
Keterangan
1.
A
9 tahun
Rinitis Alergi
Rinitis Alergi
Sesuai
2.
B
15 tahun
Otitis Media
Otitis Media
Sesuai
3.
C
22 tahun
Tonsilitis
Tonsilitis
Sesuai
4.
D
7 tahun
Sinusitis
Sinusitis
Sesuai
5.
E
18 tahun
Tonsilitis
Tonsilitis
Sesuai
6.
F
56 tahun
Otitis media
Tonsilitis
Tidak sesuai
7.
G
34 tahun
Faringitis
Faringitis
Sesuai
8.
H
31 tahun
Otitis Eksterna
Otitis Eksterna
Sesuai
9.
I
45 tahun
Otitis Eksterna
Otitis Eksterna
Sesuai
10.
J
10 tahun
sinusitis
sinusitis
Sesuai
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
50
BAB V PENUTUP
5.1
Kesimpulan Sistem diagnosa penyakit THT ini dengan menggunakan metode Certainty
Factor dibangun melalui beberapa tahapan. Proses awal dari tahapan ini adalah menentukan macam penyakit pada THT beserta gejala-gejalanya yang akan digunakan dalam sistem. Kemudian akan dikonsultasikan dengan pakar THT mengenai nilai kepastian (Certainty Factor) dari masing-masing penyakit mengenai nilai CF pakar dari setiap masing-masing penyakit. Proses ini kemudian dilanjutkan dengan menentukan aturan (rule) penyakit THT sesuai dengan masukan gejala. Dari aturan inilah nantinya akan didapatkan jenis penyakit yang diderita oleh pasien / user. Program diagnosis penyakit THT yang telah dibuat ini digunakan untuk mempermudah perhitungan. Dari hasil perhitungan telah didapatkan tingkat keberhasilan program sebesar 90%. Sehingga didapatkan hal-hal utama dari akhir penulisan ini adalah sebagai berikut : 1. Proses kerja sistem dalam pengolahan data menggunakan metode Certainty Factor dapat mendiagnosis penyakit Telinga, Hidung dan Tenggorokan. 2. Metode Certainty Factor dalam sistem pakar untuk mendiagnosa penyakit THT dapat dibuat dengan menggunakan bahasa pemrograman Visual Basic.Net dan menghasilkan target output yang diinginkan. 5.2
Saran Adapun saran yang diberikan untuk pengembangan diagnosa penyakit THT
menggunakan metode Certainty Factor ini adalah dengan menggunakan metode-
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
51
metode yang lain seperti Fuzzy inference system. Selain itu juga bisa dikembangkan dengan penyakit-penyakit lainnya selain penyakit THT sehingga lebih bermanfaat untuk kepentingan masyarakat.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
52
DAFTAR PUSTAKA Arhami M, 2005, Konsep Sistem Pakar, Andi Offset, Yogyakarta Arsyad E dkk, 2007, Buku Ajar Ilmu Kesehatan“ Telinga, Hidung, Tenggorok, Kepala dan Leher “, Balai Penerbit FKUI, Jakarta Budiman I, 2008, Pembuatan Aplikasi Berbasiskan Sistem Pakar Menggunakan Visual Studio.Net 200, Universitas Gunadarma, Depok Desiani A, 2006, Konsep Kecerdasan Buatan, Andi Offset, Yogyakarta Kusrini, 2008, Aplikasi Sistem Pakar, Andi, Yogyakarta Madcons, 2003, Seri Panduan Pemrograman Aplikasi Database Visual Basic.Net dengan Crystal Report.Net, Andi, Yogyakarta Sridadi B, Chin-Liang Chang, 1990, Pengantar Kecerdasaan Buatan (Artificial Intelligence) Introduction to Artificial Intelligence Techniques, Erlangga, Jakarta Suparman, 1991, Mengenal Artificial Intelligence, Andi Offset, Yogyakarta Yuswanto, 2003, Pemrograman Dasar Microsoft Visual Basic, Prestasi Pustaka Publisher, Surabaya
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
53 Lampiran 1
Lampiran 1 : Tabel soal yang digunakan User dalam menjawab tiap pertanyaan
NO.
SOAL
1
APAKAH ANDA MENGALAMI BERSIN-BERSIN
2
APAKAH ADA MENGALAMI BATUK-BATUK
3
APAKAH ANDA MENGELUARKAN CAIRAN BERBAU PADA HIDUNG
4
APAKAH ANDA MENGALAMI GATAL PADA TELINGA/HIDUNG
5
APAKAH ANDA MENGALAMI KEBUNTUAN PADA HIDUNG ANDA
6
APAKAH MULUT ANDA BERBAU
7
APAKAH ANDA MENGALAMI NYERI KEPALA / SAAT MENELAN
8
APAKAH ANDA MERASA PENDENGARAN MENURUN
9
APAKAH ANDA MENGALAMI PILEK
10
APAKAH ANDA MENGALAMI DEMAM / SUHU BADAN PANAS
11
APAKAH ANDA MENGALAMI SAKIT PADA TENGGOROKAN
12
APAKAH TIDUR ANDA MENDENGKUR PADA AKHIR-AKHIR INI
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
54 Lampiran 2
Lampiran 2 : Gambar form sebagai user interface sistem pakar dalam diagnosis penyakit THT. Lampiran 2-1 : Gambar form login Admin dan user
Lampiran 2-2 : gambar form update gejala penyakit
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
55
Lampiran 2-3 : Gambar form update penyakit THT
.
Lampiran 2-4 : Gambar form update rule dari masing-masing jenis penyakit terhadap gejalagejalanya. Misal dalam hal ini penyakit faringitis.
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
56
Lampiran 2-5 : Gambar form update CF pakar penyakit
Lampiran 2-6 : gambar form update user
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
57
Lampiran 2-7 : Gambar form konsultasi sistem pakar THT
. Lampiran 2-8 : gambar form informasi hasil pengujian
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
58
Lampiran 3 Lampiran 3 : tabel hasil uji proses I yang dibandingkan dengan proses II
No.
Nama pasien
Umur
Hasil Proses I
Hasil Proses II
Keterangan
1.
A
9 tahun
Rinitis Alergi
Rinitis Alergi
Sesuai
2.
B
15 tahun
Otitis Media
Otitis Media
Sesuai
3.
C
22 tahun
Tonsilitis
Tonsilitis
Sesuai
4.
D
7 tahun
Sinusitis
Sinusitis
Sesuai
5.
E
18 tahun
Tonsilitis
Tonsilitis
Sesuai
6.
F
56 tahun
Otitis media
Tonsilitis
Tidak sesuai
7.
G
34 tahun
Faringitis
Faringitis
Sesuai
8.
H
31 tahun
Otitis Eksterna
Otitis Eksterna
Sesuai
9.
I
45 tahun
Otitis Eksterna
Otitis Eksterna
Sesuai
10.
J
10 tahun
sinusitis
sinusitis
Sesuai
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
59 Lampiran 4
Lampiran 4 : Listing program yang diacu pada subbab implementasi program Lampiran 4-1 : Listing program pada form sistem pakar THT
Imports ClassLibrary.Helper Imports System.Data.SqlClient Imports System.Windows.Forms
Public Class FormSistemPakarTHT Dim CMD As New SqlCommand("", ConnectSQL)
Private Sub BlankField() CboGejala.SelectedIndex = -1 CboTingkat.SelectedIndex = -1 If DTInputGejala.Rows.Count > 0 Then DTInputGejala.Rows.Clear() End If
If DTPenyakit.Rows.Count > 0 Then DTPenyakit.Rows.Clear() End If
If DTPenyakitAkhir.Rows.Count > 0 Then DTPenyakitAkhir.Rows.Clear() End If
BtnInput.Enabled = True BtnProses.Enabled = True BtnInformasiHasil.Enabled = False BtnRefresh.Enabled = False BtnSimpan.Enabled = False BtnSaran.Enabled = False End Sub
Dim DTInputGejala As DataTable Dim DTPenyakit As DataTable Dim DTPenyakitAkhir As DataTable
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
60
Private Sub FormSistemPakarTHT_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CMD.Parameters.Clear() CMD.CommandText = "select KODEGEJALA,NAMAGEJALA from GEJALA order by KODEGEJALA" Dim DT As New DataTable Dim DA As New SqlDataAdapter(CMD) DA.Fill(DT) CboGejala.DataSource = DT CboGejala.ValueMember = "KODEGEJALA" CboGejala.DisplayMember = "NAMAGEJALA"
DTInputGejala = New DataTable DTInputGejala.Columns.Add("KODEGEJALA") DTInputGejala.Columns.Add("NAMAGEJALA") DTInputGejala.Columns.Add("TINGKAT") DTInputGejala.Columns.Add("NILAI")
Dim Key(0) As DataColumn Key(0) = DTInputGejala.Columns("KODEGEJALA") DTInputGejala.PrimaryKey = Key
DTPenyakit = New DataTable DTPenyakit.Columns.Add("KODEPENYAKIT") DTPenyakit.Columns.Add("NAMAPENYAKIT") DTPenyakit.Columns.Add("NILAICF")
DTPenyakitAkhir = New DataTable DTPenyakitAkhir.Columns.Add("KODEPENYAKITAKHIR") DTPenyakitAkhir.Columns.Add("NAMAPENYAKITAKHIR") DTPenyakitAkhir.Columns.Add("KONDISI") DTPenyakitAkhir.Columns.Add("HASIL")
GridGejala.DataSource = DTInputGejala
BlankField() End Sub
Private Sub BtnInput_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnInput.Click If CboGejala.SelectedIndex = -1 Then MsgBox("Anda belum memilih Gejala Penyakit.", MsgBoxStyle.Critical)
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
61
CboGejala.Focus() Exit Sub ElseIf CboTingkat.SelectedIndex = -1 Then MsgBox("Anda belum memilih Tingkat Kepercayaan.", MsgBoxStyle.Critical) CboTingkat.Focus() Exit Sub End If
Dim nilai As Double = 0 If CboTingkat.SelectedIndex = 0 Then nilai = 1 ElseIf CboTingkat.SelectedIndex = 1 Then nilai = 0.6 ElseIf CboTingkat.SelectedIndex = 2 Then nilai = 0 ElseIf CboTingkat.SelectedIndex = 3 Then nilai = -0.6 ElseIf CboTingkat.SelectedIndex = 4 Then nilai = -1 End If
Dim KeyFind(0) As Object KeyFind(0) = CboGejala.SelectedValue Dim RowFind As DataRow = DTInputGejala.Rows.Find(KeyFind) If RowFind Is Nothing Then Dim RowInput As DataRow = DTInputGejala.NewRow RowInput("KODEGEJALA") = CboGejala.SelectedValue RowInput("NAMAGEJALA") = CboGejala.Text RowInput("TINGKAT") = CboTingkat.SelectedItem RowInput("NILAI") = nilai DTInputGejala.Rows.Add(RowInput) CboGejala.SelectedIndex = -1 CboTingkat.SelectedIndex = -1 Else If MsgBox("Gejala penyakit sudah diinputkan." & vbCrLf & "Data Gejala Penyakit akan diupdate. Lanjutkan ?", MsgBoxStyle.Exclamation + MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then RowFind("TINGKAT") = CboTingkat.SelectedItem RowFind("NILAI") = nilai CboGejala.SelectedIndex = -1 CboTingkat.SelectedIndex = -1 End If
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
62
End If End Sub
Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) If GridGejala.RowCount > 0 Then Dim KeyFind(0) As Object KeyFind(0) = GridGejala.SelectedRows(0).Cells("KODEGEJALA").Value Dim RowFind As DataRow = DTInputGejala.Rows.Find(KeyFind) If RowFind IsNot Nothing Then RowFind.Delete() End If End If End Sub
Private Sub GridGejala_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles GridGejala.KeyDown If GridGejala.SelectedRows.Count > 0 Then If e.KeyCode = Keys.Delete Then Dim KeyFind(0) As Object KeyFind(0) = GridGejala.SelectedRows(0).Cells("KODEGEJALA").Value Dim RowFind As DataRow = DTInputGejala.Rows.Find(KeyFind) If RowFind IsNot Nothing Then RowFind.Delete() End If End If End If End Sub
Function HitungCF(ByVal Nilai1 As Double, ByVal Nilai2 As Double) Dim NilaiCF As Double = 0 If Nilai1 > 0 AndAlso Nilai2 > 0 Then NilaiCF = Nilai1 + (Nilai2 * (1 - Nilai1))
ElseIf Nilai1 < 0 OrElse Nilai2 < 0 Then NilaiCF = (Nilai1 + Nilai2) / (1 - (Math.Min(Math.Abs(Nilai1), Math.Abs(Nilai2))))
ElseIf Nilai1 < 0 AndAlso Nilai2 < 0 Then NilaiCF = Nilai1 + (Nilai2 * (1 + Nilai1))
End If
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
63
Return NilaiCF End Function
Private Sub RuleCF() '-- Rule 1 (Cari nilai maximum dari senua nilai CF untuk setiap penyakit yang ada) Dim NilaiMax As Double = 0 For i As Integer = 0 To DTPenyakit.Rows.Count - 1 If i = 0 Then NilaiMax = DTPenyakit.Rows(i)("NILAICF") Else If NilaiMax < DTPenyakit.Rows(i)("NILAICF") Then NilaiMax = DTPenyakit.Rows(i)("NILAICF") End If End If Next
'-- Cek Apakah Nilai Maximum > 0 If NilaiMax > 0 Then '-- Rule 2 (Cari Penyakit yang nilainya sama dengan nilai maximum) Dim RowSelect As DataRow() = DTPenyakit.Select("NILAICF = '" & NilaiMax & "'") If RowSelect.Length > 0 Then For i As Integer = 0 To RowSelect.Length - 1 Dim RowInput As DataRow = DTPenyakitAkhir.NewRow RowInput("KODEPENYAKITAKHIR") = RowSelect(i)("KODEPENYAKIT") RowInput("NAMAPENYAKITAKHIR") = RowSelect(i)("NAMAPENYAKIT") If RowSelect(i)("NILAICF") > 0.5 Then RowInput("KONDISI") = "AKUT" Else RowInput("KONDISI") = "GEJALA" End If RowInput("HASIL") = RowSelect(i)("NILAICF") DTPenyakitAkhir.Rows.Add(RowInput) Next End If End If End Sub
Private Sub BtnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnProses.Click If GridGejala.RowCount = 0 Then
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
64
MsgBox("Tidak ada gejala penyakit yang bisa diproses.", MsgBoxStyle.Critical) ElseIf MsgBox("Apakah semua data sudah benar ?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then '-- Cari Nilai CF semua penyakit dari gejala yang diinputkan CMD.Parameters.Clear() CMD.CommandText = "select KODEPENYAKIT,NAMAPENYAKIT from PENYAKIT" Dim DT As New DataTable Dim DA As New SqlDataAdapter(CMD) DA.Fill(DT) For Each Data As DataRow In DT.Rows '-- Cari Gejala untuk setiap penyakit yang diperoleh CMD.Parameters.Clear() CMD.CommandText = "select GJP.KODEGEJALA from GEJALAPENYAKIT GJP " & "inner join GEJALA GJ on GJ.KODEGEJALA=GJP.KODEGEJALA " & "where KODEPENYAKIT=@KODEPENYAKIT" CMD.Parameters.AddWithValue("@KODEPENYAKIT", Data("KODEPENYAKIT")) Dim DTGejala As New DataTable Dim DAGejala As New SqlDataAdapter(CMD) DAGejala.Fill(DTGejala)
Dim CFBaru As Double = 0
'-- Untuk Setiap Gejala yang diperoleh For Each DataGejala As DataRow In DTGejala.Rows Dim Key(0) As Object Key(0) = DataGejala("KODEGEJALA") Dim RowFind As DataRow = DTInputGejala.Rows.Find(Key) If RowFind IsNot Nothing Then Dim Nilai As Double = RowFind("NILAI")
If CFBaru = 0 Then CFBaru = RowFind("NILAI") Else CFBaru = HitungCF(CFBaru, RowFind("NILAI")) End If End If Next
CMD.Parameters.Clear() CMD.CommandText = "select ISNULL(CFPAKAR,0) as CFPAKAR from PENYAKIT where KODEPENYAKIT=@KODEPENYAKIT"
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
65
CMD.Parameters.AddWithValue("@KODEPENYAKIT", Data("KODEPENYAKIT")) Dim CFPakar As Double = CMD.ExecuteScalar
Dim CFAkhir As Double = CFBaru * CFPakar
Dim RowInput As DataRow = DTPenyakit.NewRow RowInput("KODEPENYAKIT") = Data("KODEPENYAKIT") RowInput("NAMAPENYAKIT") = Data("NAMAPENYAKIT") RowInput("NILAICF") = CFAkhir DTPenyakit.Rows.Add(RowInput) Next
RuleCF()
GridPenyakit.DataSource = DTPenyakitAkhir
If DTPenyakitAkhir.Rows.Count = 0 Then MsgBox("Tidak ditemukan Penyakit THT untuk gejala-gejala yang diinputkan.", MsgBoxStyle.Information) End If
CboGejala.SelectedIndex = -1 CboTingkat.SelectedIndex = -1 BtnInput.Enabled = False BtnProses.Enabled = False BtnInformasiHasil.Enabled = True BtnRefresh.Enabled = True BtnSimpan.Enabled = True BtnSaran.Enabled = True End If End Sub
Private Sub BtnInformasiHasil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnInformasiHasil.Click Dim Form As New FormInformasiPengujian Form.DTGejala = DTInputGejala Form.DTPenyakit = DTPenyakit Form.DTPenyakitAkhir = DTPenyakitAkhir Form.ShowDialog() End Sub
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
66
Private Sub BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSimpan.Click If DTPenyakitAkhir.Rows.Count = 0 Then MsgBox("Data penyakit THT tidak ditemukan." & vbCrLf & "Data tidak dapat disimpan.", MsgBoxStyle.Critical) ElseIf MsgBox("Data akan disimpan. Lanjutkan ?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then Dim KodeGenerate As String = GenerateAutoNumber("T", "REKAMMEDIK", "KODEPERIKSA", 12) CMD.Parameters.Clear() CMD.CommandText = "insert into REKAMMEDIK (KODEREKAM,TANGGALPEMERIKSAAN,NAMAPASIEN) values (@KODEREKAM,GETDATE(),@NAMAPASIEN)" CMD.Parameters.AddWithValue("@KODEREKAM", KodeGenerate) CMD.Parameters.AddWithValue("@NAMAPASIEN", FormUtama.NamaUser) CMD.ExecuteNonQuery()
For Each Data As DataGridViewRow In GridPenyakit.Rows CMD.Parameters.Clear() CMD.CommandText = "select MAX(NOMORURUT) from REKAMMEDIKPENYAKIT where KODEREKAM=@KODEREKAM" CMD.Parameters.AddWithValue("@KODEREKAM", KodeGenerate) Dim NomorUrut As Object = CMD.ExecuteScalar If NomorUrut Is DBNull.Value Then NomorUrut = 1 Else NomorUrut += 1 End If
CMD.Parameters.Clear() CMD.CommandText = "insert into REKAMMEDIKPENYAKIT(KODEREKAM,NOMORURUT,KODEPENYAKIT,KONDISI,NILAICF) values (@KODEREKAM,@NOMORURUT,@KODEPENYAKIT,@KONDISI,@NILAICF)" CMD.Parameters.AddWithValue("@KODEREKAM", KodeGenerate) CMD.Parameters.AddWithValue("@NOMORURUT", NomorUrut) CMD.Parameters.AddWithValue("@KODEPENYAKIT", Data.Cells("KODEPENYAKITAKHIR").Value) CMD.Parameters.AddWithValue("@KONDISI", Data.Cells("KONDISI").Value) CMD.Parameters.AddWithValue("@NILAICF", Data.Cells("HASIL").Value) CMD.ExecuteNonQuery() Next Me.Close() End If
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan
ADLN Perpustakaan Universitas Airlangga
67
End Sub
Private Sub BtnRefresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRefresh.Click BlankField() End Sub
Private Sub BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBatal.Click Me.Close() End Sub
Private Sub BtnSaran_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSaran.Click If GridPenyakit.RowCount > 0 Then Dim Form As New FormSistemPakarTHTSaran Form.DTPenyakit = DTPenyakitAkhir Form.ShowDialog() Else MsgBox("Data Penyakit tidak ditemukan.", MsgBoxStyle.Critical) End If End Sub
Private Sub CboGejala_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CboGejala.SelectedIndexChanged
End Sub End Class
Skripsi
Rancang Bangun Sistem Pakar Dalam Diagnosis Penyakit Telinga, Hidung dan Tenggorokan Dengan Menggunakan Metode Certainty Factor
Indra Kurniawan