BAB I PENDAHULUAN 1.1
Latar Belakang Penyakit demam berdarah dengue (DBD) adalah penyakit yang disebabkan
oleh virus dengue I, II, III, dan IV yang ditularkan nyamuk Aedes aegypti dan Aedes albopictus (Soegijanto, 2004). Penyakit DBD terutama menyerang anakanak namun dalam beberapa tahun terakhir cenderung semakin banyak dilaporkan kasus DBD pada orang dewasa. Penyakit ini ditandai dengan panas tinggi mendadak disertai kebocoran plasma dan pendarahan, dapat mengakibatkan kematian serta menimbulkan wabah (Depkes RI Dirjen P2MLP, 2004). Kejadian luar biasa pertama penyakit DBD di Asia ditemukan di Manila pada tahun 1954, kemudian terjadi di Thailand (1958), Singapura (1960), Kamboja (1961), Malaysia (1962), dan Srilanka (1966). Pada tahun 1968 untuk pertama kalinya terjadi kejadian luar biasa DBD di Indonesia (Jakarta dan Surabaya) dan pada tahun berikutnya kasus DBD menyebar ke lain kota di wilayah Indonesia dan dilaporkan meningkat setiap tahunnya (Segijanto, 2004). Salah satu manifestasi klinik utama pada DBD adalah demam (Soegijanto, 2004). Demam merupakan masalah kesehatan yang kerap terjadi pada anak. Demam sebenarnya bukan merupakan penyakit, melainkan gejala. Demam memegang peranan kunci dalam membantu perlawanan tubuh mengatasi infeksi virus atau bakteri. Pola demam dengan gejala klinis yang menyertainya sangat
1
2
penting untuk diketahui (http://www.pdpersi.co.id). Pada awal perjalanan penyakit salah satu diagnosis banding dari DBD adalah demam tifoid di mana kedua penyakit tersebut termasuk kategori penyakit tropis dan merupakan endemik di Indonesia (Pusat Info Penyakit Dalam FKUI, 2000). Demam tifoid di Indonesia masih merupakan penyakit endemik yang seringkali menimbulkan masalah dan apabila disertai komplikasi dapat berakhir dengan kematian. Penelitian pada tahun 1989 di Rumah Sakit Karantina dilaporkan bahwa lama perawatan demam tifoid penyakit dewasa berkisar antara 8,6 േ3,7 hari dengan angka kematian sebesar 7,35 % (Pusat Info Penyakit Dalam FKUI, 2000). Sama halnya dengan demam tifoid, demam berdarah dengue (DBD) merupakan masalah kesehatan di Indonesia. Angka kejadian tetap meningkat dan saat
ini
angka
kematian
khususnya
di
RSCM
cenderung
meningkat
(http://www.pdpersi.co.id). Saat ini, DBD masih merupakan salah satu masalah kesehatan yang cenderung meningkat jumlah pasien serta semakin luas penyebarannya, hal ini karena masih tersebarnya nyamuk penular penyakit DBD yaitu Aedes aegypti di seluruh pelosok tanah air, kecuali pada daerah dengan ketinggian lebih dari 1000 m dpl. Untuk memberantasnya diperlukan pembinaan peran serta masyarakat yang terus menerus. Juga upaya pemerintah memotivasi masyarakat untuk melakukan pemberantasan nyamuk tersebut terus-menerus telah dan akan dilakukan melalui kerjasama lintas program dan lintas sektoral termasuk tokoh masyarakat dan swasta. Oleh karena itu, upaya untuk membatasi angka
3
kematian penyakit ini sangat penting (Dirjen P2MPL Depkes RI, 2004). Salah satu caranya adalah dengan diagnosis dini yang tepat. Keberhasilan upaya penanganan kasus DBD terutama ditentukan oleh kecermatan dalam mendiagnosa secara dini serta penatalaksanaan dan perawatan termasuk observasi tekanan darah, denyut nadi serta pemberian cairan pencegahan/mengatasi syok (Dirjen P2MPL Depkes RI, 2004). Sementara itu, diagnosis secara dini demam tifoid sangat bermanfaat agar dapat segera diberikan pengobatan yang adekuat sehingga dapat dihindari timbulnya komplikasi (Pusat Info Penyakit Dalam FKUI, 2000). Keluhan dan gejala demam tifoid antara lain demam, nyeri kepala, pusing, nyeri otot, anoreksia, mual, muntah, obstipasi atau diare (Pusat Info Penyakit Dalam FKUI, 2000). Keluhan dan gejala DBD antara lain demam, terdapat manifestasi pendarahan, sakit kepala, nyeri otot, tulang dan sendi, mual dan muntah (Dirjen P2MPL Depkes RI, 2004). Dari uraian di atas, terlihat banyak kemiripan gejala klinis DBD dan demam tifoid, walaupun dengan karakteristik khusus yang berbeda, sehingga dapat terjadi kesalahan diagnosis dini bagi penderita maupun keluarga penderita. Hal ini dapat menyebabkan kesalahan penanganan dini penderita. Lebih jauh dari itu, apabila terjadi komplikasi sehingga menyebabkan kematian. Dalam terminologi komputer permasalahan di atas dapat diistilahkan sebagai pemetaan kompleks ruang input ke ruang output. Dalam hal ini ruang input adalah gejala klinis DBD dan demam tifoid dan ruang output yaitu jenis
4
penyakit yang bersesuaian dengan gejala klinis yaitu DBD dan demam tifoid. Disebut kompleks karena ada anggota ruang input DBD yang juga termasuk kedalam ruang input demam tifoid begitu juga sebaliknya. Logika fuzzy mampu menjadi problem solving di segala bidang mulai dari bidang teknologi, otomotif, ekonomi, psikologi, medis, dan ilmu-ilmu sosial karena kemampuannya yang dapat memetakan suatu ruang input kedalam suatu ruang output sehingga dapat menyelesaikan permasalahan yang memiliki keterkaitan hubungan input dan output yang tidak sederhana. Telah banyak penelitian mengenai penerapan logika fuzzy. Di lingkungan UIN Syarif Hidayatullah sendiri ada beberapa penelitian mengenai logika fuzzy diantaranya untuk penyeleksi internal promosi jabatan karyawan (M. Ridha Pratama, 2004), sistem penilaian kelayakan kredit usaha kecil (Siti Nurjannah, 2007), sistem pengontrol persediaan barang (Nurchudayati, 2007), penentuan bidang peminatan mahasiswa program studi TI (Tri Hadiyanto Wibowo, 2009), optimasi daya listrik suatu ruangan (Puspita Fauziah, 2009), dan penilaian kinerja karyawan (Fedri Arianto, 2010), dan sistem kenaikan jabatan (Adhi Gufron, 2010). Hal ini menunjukkan keandalan logika fuzzy dalam memecahkan masalah pemetaan ruang input terhadap ruang output. Rumah Bersalin Gratis (RBG) Rumah Zakat Jakarta Timur sebagai sarana pelayanan kesehatan gratis bagi warga yang membutuhkan, turut serta membantu menekan angka kematian akibat DBD dan demam tifoid khusunya di kalangan masyarakat yang kemampuan ekonominya lemah. Di antara layanan yang
5
diberikan RBG selain pelayanan kesehatan ibu dan anak juga mencakup pelayanan kesehatan umum termasuk penyakit DBD dan demam tifoid. Semua layanan di RBG diberikan secara gratis. Selain pelayanan kesehatan, RBG juga memberikan pengarahan untuk menjaga kebersihan dan kesehatan salah satunya dengan mengetahui dan membedakan gejala penyakit. Keterbatasan sumber daya manusia di RBG menjadi permasalahan tersendiri sehingga ide untuk mengembangkan aplikasi yang dapat membantu pakar menjadi hal yang dibutuhkan. Dalam hal ini aplikasi terfokus pada penyakit DBD dan demam tifoid. Berdasarkan uraian di atas, penulis mengambil judul “Penerapan Logika Fuzzy untuk Diagnosis dan Tata Laksana Penyakit Demam Berdarah Dengue dan Demam Tifoid “. Pemodelan sistem diagnosis DBD dan demam tifoid dengan menggunakan pendekatan sistem pakar dapat menjadi pilihan karena pendekatan sistem pakar menggunakan bahasa manusia sehingga akan lebih mudah dimengerti oleh pengguna baik yang mengerti ilmu medis dan komputer atau orang awam sekalipun. Hal ini penting, guna pengembangan selanjutnya dari sistem ini yang sasarannya adalah menjadi alat bantu bagi manusia (user) dalam mendiagnosis penyakit khusunya DBD dan demam tifoid seperti misalnya sarana edukasi di RBG Jakarta Timur. Dengan adanya aplikasi ini pasien yang berkunjung dapat menggunakannya untuk memperoleh wawasan mengenai gejala dan tata laksana penyakit DBD dan demam tifoid. Selain itu, pengembangan aplikasi ini dapat diarahkan untuk layanan konsumen berbasis web yang selama ini lebih banyak
6
berbasis telepon baik yang berbayar ataupun tidak. Pengembangan aplikasi ini juga dapat diarahkan sebagai alat bantu dalam proses klaim asuransi kesehatan. Dalam berbagai pengembangan model logika fuzzy, biasanya peneliti menggunakan tools/alat bantu yang tidak mengakomodasi komputasi yang kompleks, seperti Visual Basic, Delphi ataupun PHP sehingga fungsi-fungsi perhitungan ditransformasikan kedalam bahasa pemrograman secara manual (dibuat sendiri) sesuai dengan bahasa pemrograman yang digunakan. Hal ini juga berpengaruh pada pengembangan selanjutnya dari penelitian tersebut karena harus merubah kembali rumusan dari fungsi perhitungan yang lama. Oleh karena itu dalam penelitian ini, penulis menggunakan Matlab sebagai tool atau alat bantunya. Banyak fitur yang disediakan Matlab dalam mendukung fungsinya, lihat Bab II subbab 2.12. Dengan menggunakan Matlab, proses fuzzyfikasi, inferensi dan defuzzyfikasi dijalankan secara otomatis oleh Matlab itu sendiri serta untuk pengembangan selanjutnya perubahan dapat dilakukan pada fungsi keanggotaan dan rule base atau basis aturannya saja. 1.2
Rumusan Masalah Seperti yang telah dijabarkan pada subbab 1.1 di atas, terdapat masalah
yang timbul yaitu adanya hubungan yang kompleks antara gejala klinis DBD dan demam tifoid sehingga dapat menyebabkan kesalahan diagnosis dini bagi penderita. Adapun rumusan masalah yang akan menjadi pembahasan dalam penelitian ini adalah bagaimana mengembangkan sebuah model logika fuzzy untuk diagnosis dan tata laksana penyakit demam berdarah dengue dan demam tifoid berdasarkan gejala-gejala klinis yang ada.
7
1.3
Batasan Masalah Dikarenakan luasnya ruang lingkup permasalahan dan agar hasil penelitian
dapat maksimal maka penulis membatasi permasalahan sebagai berikut : 1.
Diagnosis adalah diagnosis klinis bukan diagnosis pasti, berdasarkan gejala klinis yang tampak, bukan gejala klinis asimtomatik atau tidak jelas.
2.
Jenis penyakit yang menjadi objek diagnosis adalah demam berdarah dengue (DBD) dan demam tifoid.
3.
Parameter yang digunakan dalam proses diagnosis adalah demam yang sifatnya mendadak atau bertahap, nyeri otot dan sendi, manifestasi pendarahan (pendarahan pada hidung dan gusi serta uji tourniquet positif), adanya gangguan pencernaan dan kondisi lidah apakah berselaput atau tidak.
4.
Output diagnosis dibagi menjadi 4 kategori, demam tifoid, observasi, cek labratorium dan DBD.
5.
Tools yang digunakan adalah Matlab 7.8
6.
Pengembangan sistem tidak sampai pada tahap deployment akan tetapi hanya sampai pada tahap construction dikarenakan aplikasi ini tidak ditujukan untuk digunakan langsung oleh pelanggan atau user.
7.
Pengujian menggunakan pendekatan black box dengan metode unit test dan integration test.
1.4
Tujuan Penelitian Tujuan dari penelitian ini terbagi dalam 3 kategori, jangka pendek, jangka
menengah dan jangka panjang. Tujuan jangka pendek adalah mengembangkan
8
model logika fuzzy dan model
sistem pakar
yang dapat digunakan untuk
membantu diagnosis penyakit DBD dan demam tifoid. Tujuan jangka menengah adalah
menjadi
sarana
seorang
pakar
dalam
hal
ini
dokter
untuk
mendokumentasikan pengetahuan yang dimilikinya. Tujuan jangka panjang dari penelitian ini adalah dapat dikembangkan menjadi aplikasi diagnosis penyakit yang lengkap sehingga dapat dipergunakan secara nyata seperti untuk membantu proses validasi catatan diagnosis klaim asuransi kesehatan dan untuk pelayanan konsumen sebuah produk, misalnya produk kesehatan seperti obat-obatan. 1.5
Manfaat Penelitian Dengan adanya penelitian ini diharapkan dapat memberikan manfaat
sebagai berikut : a. Bagi penulis 1. Memperdalam ilmu dan wawasan tentang Logika Fuzzy, Sistem Pakar dan Rekayasa Perangkat Lunak. 2. Memahami konsep dan penerapan sistem pakar dan penggunaan Matlab. 3. Memperoleh wawasan mengenai penyakit DBD dan demam tifoid. b. Bagi universitas 1. Mengetahui kemampuan mahasiswa dalam menguasai materi teori yang telah diperoleh selama kuliah 2. Mengetahui kemampuan mahasiswa dalam menerapkan ilmunya dan sebagai bahan evaluasi 3. Memberikan gambaran tentang kesiapan mahasiswa dalam menghadapi dunia kerja dari hasil yang diperoleh selama belajar atau kuliah.
9
4. Menjadi bahan referensi bagi penellitian selanjutnya terutama dalam bidang logika fuzzy dan sistem pakar diagnosis penyakit. c. Bagi pengguna 1. Memudahkan dalam mendiagnosis penyakit DBD dan demam tifoid. 2. Memperoleh contoh dan gambaran implementasi logika fuzzy dan sistem pakar dalam bidang diagnosis penyakit. 1.6
Metodologi Penelitian 1.6.1 Metode Pengumpulan data Untuk
mendukung
penelitian
maka
diperlukan
data-data
penunjang. Oleh karena itu penulis melakukan metode pengumpulan data dengan cara melakukan wawancara dengan pakar dan studi pustaka yakni dengan membaca dan mempelajari literatur yang berhubungan dengan penelitian yang penulis lakukan baik itu dari media cetak seperti buku, jurnal, skripsi atau media elektronik seperti e-book yang banyak terdapat di internet. 1.6.2 Metode Pengembangan sistem Pengembangan sistem dalam penelitian yang penulis lakukan menggunakan siklus pengembangan model RAD (Rapid Application Development) , yaitu : a. Communication b. Planning c. Modelling d. Construction
10
e. Deployment 1.7
Sistematika Penulisan Adapun sistematika penulisan laporan penelitian
ini adalah sebagai
berikut : BAB I
PENDAHULUAN Berisi rumusan singkat latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan.
BAB II
LANDASAN TEORI Pada bab ini diuraikan teori-teori yang menunjang dan digunakan dalam penelitian meliputi pembahasan singkat tentang logika fuzzy, penyakit DBD dan demam tifoid, RAD serta Matlab. Diuraikan juga mengenai studi literatur sejenis dengan penelitian ini.
BAB III METODOLOGI PENELITIAN Bab ini menguraikan secara rinci metode pengumpulan data dan metode pengembangan sistem yang digunakan dalam penelitian. BAB IV HASIL DAN PEMBAHASAN Bab ini menjelaskan analisa tentang kebutuhan sistem, konsep perancangan aturan, proses pengembangan sistem dan tentang implementasi atau tata cara pemakaian program yang penulis buat dan uji coba terhadap program yang telah dibuat.
11
BAB V
KESIMPULAN DAN SARAN Bab ini menguraikan kesimpulan yang berkenaan dengan hasil pemecahan masalah yang diperoleh dari penelitian serta saran untuk pengembangan lebih lanjut.
BAB II LANDASAN TEORI
Bab ini menguraikan mengenai teori-teori yang digunakan dalam menunjang penelitian. 2.1
Penerapan Menurut KBBI penerapan memiliki arti : (1) proses, cara, perbuatan
menerapkan,
(2)
pemasangan,
(3)
pemasangan,
perihal
mempraktikan
(http://pusatbahasa.diknas.go.id). Jadi penerapan dapat didefinisikan sebagai cara untuk melakukan atau mempraktikkan sesuatu berdasarkan aturan tertentu. 2.2
Logika Fuzzy Menurut Kusumadewi (2003,153), logika fuzzy adalah suatu cara yang
tepat untuk memetakan suatu ruang input ke dalam suatu ruang output. Logika fuzzy atau sistem fuzzy memiliki kemampuan untuk mengembangkan sistem intelijen dalam lingkungan yang tak pasti. Dalam logika fuzzy terdapat beberapa proses yaitu penentuan himpunan fuzzy, penerapan aturan IF-THEN dan proses inferensi fuzzy. Dari sekian banyak alternatif, sistem fuzzy seringkali menjadi pilihan terbaik, berikut beberapa alasannya (Naba, 2009:3-4) : 1. Konsep fuzzy logic adalah sangat sederhana sehingga mudah dipahami. 2. Fuzzy logic adalah fleksibel, dalam arti dapat dibangun dan dikembangkan dengan mudah tanpa harus memulainya dari ‘nol’. 3. Fuzzy logic memberikan toleransi terhadap ketidakpresisian data.
12
13
4. Pemodelan/pemetaan untuk mencari hubungan data input-output dari sembarang sistem black-box bisa dilakukan dengan memakai sistem fuzzy. 5. Pengetahuan atau pengalaman dari pakar dapat dengan mudah dipakai untuk membangun fuzzy logic. Hal ini merupakan kelebihan utama fuzzy logic dibanding jaringan saraf tiruan. 6. Fuzzy logic dapat diterapkan dalam desain sistem kontrol tanpa harus menghilangkan teknik desain sistem kontrol konvensional yang sudah terlebih dahulu ada. 7. Fuzzy logic berdasar pada bahasa manusia. Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy yaitu variabel fuzzy, himpunan fuzzy, semesta pembicaraan, dan domain. (Kusumadewi,2003:158). Variabel fuzzy
merupakan variabel yang hendak
dibahas dalam suatu sistem fuzzy. Contoh: umur, permintaan, temperatur dan sebagainya. Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy. Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Domain adalah keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy. Berikut contoh hubungan antara variabel fuzzy, himpunan fuzzy, semesta pembicaraan dan domain dalam sistem fuzzy :
14
Tabel 2.1 Variabel fuzzy, himpunan fuzzy, semesta pembicaraan dan domain Variabel fuzzy
Himpunan Fuzzy
Semesta Pembicaraan
MUDA UMUR
Domain [0,45]
PAROBAYA TUA
[0, +~]
[35,55] [45,+~]
2.2.1 Fungsi Keanggotaan Fungsi keanggotaan adalah kurva yang menunjukkan pemetaan titik input data ke dalam nilai keanggotaan yang mempunyai interval 0 sampai dengan 1. Pada himpunan biasa (crisp) nilai keanggotaan memiliki 2 kemungkinan yaitu satu (1) berarti menjadi anggota himpunan dan dua (2) berarti tidak menjadi anggota. Sedangkan pada himpunan fuzzy nilai keanggotaan tidak terbatas hanya pada 2 kemungkinan saja. Pada contoh tabel di atas, seseorang dapat masuk kedalam 2 himpunan yang berbeda. Seseorang yang berumur 20 tahun masuk himpunan berumur muda dengan derajat keanggotaan 0.1 dan sekaligus masuk himpunan berumur parobaya dengan derajat keanggotaan 0.85 (lihat gambar).
Gambar 2.1 Fungsi keanggotaan UMUR dengan representasi Gaussian (gaussmf)
15
Ada
banyak
fungsi
keanggotaan
yang
digunakan
untuk
merepresentasikan fungsi keanggotaan himpunan fuzzy diantaranya sigmoid biner (dsigmf), kombinasi Gaussian (gasuss2mf), Gaussian (gaussmf), generalized-bell (gbellmf), bentuk Π (pimf), sigmoid (sigmf), trapezoid (trapmf), triangular (trimf). 2.2.2 Operator Himpunan Fuzzy Seperti halnya himpunan konvensional, ada beberapa operasi yang didefinisikan secara khusus untuk mengkombinasikan dan memodifikasi himpunan fuzzy. Nilai keanggotaan sebagai hasil dari operasi 2 himpunan sering dikenal dengan nama fire strength atau α-predikat. Ada 3 operator dasar dalam himpunan fuzzy, yaitu operator AND, OR dan NOT. Operator AND merupakan operasi interseksi pada himpunan. α predikat yang dihasilkan diperoleh dengan mengambil nilai keanggotaan terkecil antar elemen pada himpunan bersangkutan. Misal nilai keanggotaan umur 27 pada himpunan muda adalah µ MUDA[27]= 0,6 dan nilai keanggotaan 2 juta pada himpunan penghasilan TINGGI adalah µ GAJITINGGI[2juta]= 0,8
maka α -predikat untuk usia MUDA dan
berpenghasilan TINGGI adalah nilai keanggotaan minimun :
µ MUDA ∩ GAJITINGGI = min( µ MUDA[27], µ GAJITINGGI[2juta]) = min (0,6 ; 0,8) = 0,6
16
Operator OR merupakan operasi union pada himpunan. α -predikat yang dihasilkan diperoleh dengan mengambil nilai keanggotaan terbesar antar elemen pada himpunan bersangkutan. Misal nilai keanggotaan umur 27 pada himpunan muda adalah µ MUDA[27]= 0,6 dan nilai keanggotaan 2
juta
pada
himpunan
GAJITINGGI[2juta]= 0,8
penghasilan
TINGGI
adalah
µ
maka α -predikat untuk usia MUDA atau
berpenghasilan TINGGI adalah nilai keanggotaan maksimum :
µ MUDA ∩ GAJITINGGI = max( µ MUDA[27], µ GAJITINGGI[2juta]) = max (0,6 ; 0,8) = 0,8 Operator NOT merupakan operasi komplemen pada himpunan. α predikat
yang
dihasilkan
diperoleh
dengan
mengurangkan
nilai
keanggotaan elemen pada himpunan dari 1. Misal nilai keanggotaan umur 27 pada himpunan muda adalah µ MUDA[27]= 0,6
maka α -predikat
untuk usia TIDAK MUDA adalah :
µ MUDA’[27] = 1 - µ MUDA[27 = 1 - 0,6 = 0,4 2.2.3 Sistem Inferensi Fuzzy Inferensi yaitu melakukan penalaran menggunakan fuzzy input dan fuzzy rule yang telah ditentukan sehingga menghasilkan fuzzy output. Terdapat banyak metode inferensi yang sering digunakan untuk melakukan
17
inferensi fuzzy diantaranya metode Tsukamoto, metode Mamdani dan metode Sugeno. Pada metode Tsukamoto, setiap konsekuen direpresentasikan dengan himpunan fuzzy dengan fungsi keanggotaan monoton. Output hasil inferensi masing-masing aturan adalah z, berupa himpunan biasa (crisp) yang ditetapkan berdasarkan α -predikatnya. Hasil akhir diperoleh dengan menggunakan rata-rata terbobotnya. Pada metode Mamdani, aplikasi fungsi implikasi menggunakan MIN, sedang komposisi aturan menggunakan metode MAX. Metode Mamdani dikenal juga dengan metode MAX-MIN. Inferensi output yang dihasilkan berupa bilangan fuzzy maka harus ditentukan suatu nilai crisp tertentu sebagai output. Proses ini dikenal dengan defuzzyfikasi. Ada beberapa metode yang dipakai dalam defuzzyfikasi antara lain metode centroid. Pada metode ini penetapan nilai crisp dengan cara mengambil titik pusat daerah fuzzy. Penalaran dengan metode Sugeno, mirip dengan metode Mamdani hanya saja output sistem tidak berupa himpunan fuzzy melainkan berupa konstanta atau persamaan linear. .Ada dua model metode Sugeno yaitu model fuzzy Sugeno orde nol dan model fuzzy sugeno orde satu. Bentuk umum model fuzzy Sugeno orde nol adalah : IF (x1 is A1) o (x2 is A2) o ….. o (xn is An) THEN z = k
18
Bentuk umum model fuzzy Sugeno orde satu adalah : IF (x1 is A1) o (x2 is A2) o ….. o (xn is An) THEN z = p1.x1 + … pn.xn + q Defuzzyfikasi pada metode Sugeno dilakukan dengan mencari nilai rata-ratanya. A1
µ
B1
µ
w1 f1=p1x+q1y+r1
f=
µ
A2
µ
B2
W1 f1 + w2 f2 W1 + w2
= W1 f1 + w2 f2 w2 f2=p2x+q2y+r2
x
y
Gambar 2.2 Inferensi fuzzy sugeno orde 1 2.2.4 Defuzzyfikasi Defuzzyfikasi atau penegasan berfungsi untuk mengubah fuzzy output menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan. Terdapat berbagai metode defuzzyfikasi diantaranya : centroid method, height method, first (or last) of maxima dan weighted average. Metode centroid disebut juga sebagai Center of Area (CoA) atau Center of Gravity (CoG). Metode ini menghitung nilai crisp menggunakan rumus :
19
Dimana y* adalah suatu nilai crisp, y adalah crisp input dan ߤோ adalah derajat keanggotaan y. Height method dikenal juga sebagai prinsip keanggotaan maksimum karena metode ini secara sederhana memilih nilai crisp yang memiliki derajat keanggotaan maksimum. Oleh karena itu,metode ini hanya bisa dipakai untuk fungsi keanggotaan yang memiliki derajat keanggotaan 1 pada suatu nilai crisp tunggal dan 0 pada semua nilai crisp yang lain. Fungsi seperti ini disebut sebagai singleton. Metode fisrt (or last) of maxima merupakan generalisasi dari height method untuk kasus di mana fungsi keanggotaan output memiliki lebih dari 1 nilai maksimum sehingga nilai crisp yang digunakan adalah salah satu dari nilai yang dihasilkan dari maksimum pertama atau maksimum terakhir (tergantung pada aplikasi yang akan dibangun). Metode
weighted
average
mengambil
rata-rata
dengan
menggunakan pembobotan berupa derajat keanggotaan. Metode ini menghitung nilai crisp dengan rumus :
Dimana ߙ yaitu nilai minimum dari derajat keanggotaan pada aturan ke-n, ݖ yaitu hasil penghitungan pada aturan ke-n, M adalah
20
banyaknya aturan fuzzy sedangkan Z adalah nilai crisp yang akan kita hitung. 2.3
Sistem Pakar Sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan
manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para pakar atau ahli (Kusumadewi,2003:109) Menurut Efraim Turban,konsep dasar sistem pakar mengandung keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan. Keahlian adalah suatu kelebihan penguasaan pengetahuan di bidang tertentu yang diperoleh dari pelatian, membaca atau pengalaman. Seorang ahli adalah seseorang yang mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik permasalahan, menyusun kembali pengetahuan jika dipandang perlu, memecah aturan-aturan jika dibutuhkan dan menentukan relevan tidaknya keahlian mereka. Pengalihan keahlian dari para ahli ke computer untuk kemudian dialihkan lagi ke orang lain yang bukan ahli, merupakan tujuan utama sistem pakar. Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan untuk menalar. Sebagian besar sistem pakar komersial dibuat dalam bentuk rule based systems, yang mana pengetahuan disimpan dalam bentuk aturan-aturan, biasanya IF-THEN. Fitur lainnya dari sistem pakar adalah kemampuan merekomendasi yang tidak dimiliki oleh sistem konvensional.
21
Tabel 2.2 Perbandingan sistem konvensional dan sistem pakar Sistem Konvensional Sistem pakar Informasi dan pemrosesannya biasanya Basis pengetahuan merupakan bagian jadi satu dengan program terpisah dari mekanisme inferensi Biasanya tidak bisa menjelaskan Penjelasan adalah bagian terpenting mengapa suatu input data itu dari sistem pakar dibutuhkan, atau bagaimana output itu diperoleh Pengubahan program cukup sulit dan Pengubahan aturan dapat dilakukan membosankan dengan mudah Sistem hanya akan berperasi jika sistem Sistem dapat beroperasi hanya dengan tersebut sudah lengkap beberapa aturan Eksekusi dilakukan langkah demi Eksekusi dilakukan pada keseluruhan langkah basis pengetahuan Menggunakan data Menggunakan pengetahuan Tujuan utamanya adalah efisiensi Tujuan utamanya adalah efektivitas (Sumber : Artificial Intelligence, Kusumadewi ,2003:112) Sistem pakar terdiri dari 2 bagian pokok, yaitu : lingkungan pengembangan (development environment) yang digunakan sebagai pembangun sistem pakar dari segi pembangun komponen maupun basis pengetahuan. Yang kedua
lingkungan konsultasi (consultion environment) yang digunakan oleh
seseorang yang bukan ahli untuk berkonsultasi.
22
Fakta-fakta tentang kejadian khusus
user
Basis Pengetahuan Fakta : Apa yang diketahui tentang area domain Aturan : logical inference
Fasilitas penjelasan
Antarmuka
Aksi yang direkomendasi
Motor Inferensi
Rekayasa pengetahuan
O interpreter O scheduler O consistency enforcer
Penambahan pengetahuan
Pengetahuan ahli
BLACKBOARD Rencana Agenda Solusi Deskripsi
Penyaring pengetahuan
Gambar 2.3 Struktur sistem pakar 2.4
Diagnosis Menurut Harvey dkk (1991), Istilah diagnosis berasal dari kata Yunani
yang berarti membedakan atau menentukan. Dalam penggunaan bahasa Inggris abad ke-17 dan 18, diagnostik suatu penyakit adalah ciri-ciri khas dari penyakit itu. Dalam penggunaan umum modern, diagnosis adalah identifikasi penyakit dengan penyelidikan tanda, gejala dan manifestasi lainnya. Dalam terminologi medis, arti tepat diagnosis disamarkan oleh banyaknya cara ia digunakan : diagnosis klinis, diagnosis laboratorik, diagnosis fisik, diagnosis anatomis, diagnosis bakteriologis, diagnosis sinar-X, diagnosis EKG dan sebagainya. Diagnosis, jika tidak dibubuhi kata sifat berarti identifikasi suatu penyakit dengan penyelidikan manifestasinya. Karena suatu diagnosis harus berdasarkan
23
bukti terbaik yang didapat pada suatu waktu, istilah ini tak harus menunjukkan identifikasi pasti dan positif dari suatu penyakit (Harvey dkk, 1991). Diagnosis melibatkan dua prosedur : (1) mengumpulkan fakta dan (2) menganalisis fakta. Kesalahan diagnosis dapat disebabkan ketidaksempurnaan dari satu atau kedua prosedur itu. Bila data faktual tak memadai atau tak benar, atau bila disalahinterpretasikan, analisisnya walaupun benar akanmengarah ke kesimpulan keliru. Sebaliknya, meski pengumpulan fakta lengkap dan akurat, dan data diinterpretasi secara benar, kesimpulan dapat salah karena analisis salah (Harvey dkk, 1991). 2.5
Tata Laksana Dalam Kamus Ilmiah Populer (Tim Media Center,2002: 317) kata tata
memiliki arti aturan yang bersistem. Arti lain dari tata adalah kaidah, aturan dan susunan. Sementara laksana diartikan sifat, laku perbuatan dan tatalaksana didefinisikan sebagai cara mengurus (http://kamusbahasaindonesia.org). Sehingga secara sederhana tatalaksana artinya cara atau aturan dalam mengurus, dalam hal ini adalah mengurus pasien yang didiagnosis penyakit tertentu. 2.6
Penyakit Penyakit memiliki pengertian (http://pusatbahasa.diknas.go.id) sesuatu
yang menyebabkan terjadinya gangguan pada
makhluk hidup; gangguan
kesehatan yang disebabkan oleh bakteri, virus atau kelainan sistem faal atau jaringan pada organ tubuh pada makhluk hidup.
24
2.7
Demam Berdarah Dengue (DBD) 2.7.1
Sejarah DBD Demam berdarah dengue (DBD) disebabkan virus dengue yang
termasuk kelompok B Arthropod Borne Virus (Arboviroses) yang sekarang dikenal sebagai genus Flavivirus, family Flaviviridae dan mempunyai 4 jenis serotipe yaitu : DEN-1, DEN-2, DEN-3 dan DEN-4. Keempat serotype virus dengue dapat ditemukan di berbagai daerah di Indonesia. Serotipe DEN-3 merupakan serotype yang dominan dan diasumsikan banyak yang menunjukkan manifestasi klinis yang berat (Depkes RI Dirjen P2MLP, 2004). Menurut sejarahnya, demam dengue di Indonesia mulai dilaporkan tahun 1977 oleh David Bylon di Batavia. Penyakit ini disebut penyakit demam 5 hari yang dikenal dengan knee trouble atau knokkel kootz. Perkembangannya hingga tahun 1998, penyakit Demam Dengue/Demam Berdarah Dengue menyerang di Dati II dari 27 propinsi dengan jumlah kasus
65.968
dan
kematian
1.275
(http://www.kalbe.co.id/files/cdk/files/15_ResponImundanDerajatKesakita n.pdf/15_ResponImundanDerajatKesakitan.html). Terdapat 3 faktor yang memegang peranan pada penularan infeksi virus dengue yaitu manusia, virus dan vektor perantara. Virus dengue ditularkan kepada manusia melalui gigitan nyamuk Aedes aegypti. Nyamuk Aedes albopictus, Aedes polynesiensis dan beberapa spesies lain dapat juga menularkan virus dengue namun merupakan vektor yang
25
kurang berperan. Nyamuk aedes aegypti hidup dan berkembang biak pada tempat penampungan air bersih seperti bak mandi, minuman kosong, air tendon, air tempayan atau gentong, kaleng dan ban bekas. Tersebar luas di kota maupun di desa kecuali di wilayah yang memiliki ketinggian 1000 meter
di
atas
permukaan
laut
(http://www.arthagrahapeduli.org/index.php?option=com_content&view= article&id=572%3Awaspada-demam-berdarah-dengue&catid=36%
3Akesehatan&Itemid=66&lang=in). Gigitan nyamuk aedes aegypti sendiri tidak membahayakan kesehatan selama tidak terkontaminasi oleh virus dengue. 2.7.2
Gejala DBD Bentuk klasik dari DBD ditandai dengan demam tinggi, mendadak
2-7 hari, disertai dengan muka kemerahan. Keluhan seperti anoreksia, sakit kepala, nyeri otot, tulang, sendi, mual dan muntah sering ditemukan. Beberapa penderita mengeluh nyeri menelan dengan farings hiperemis ditemukan pada pemeriksaan, namun jarang ditemukan batuk pilek. Bentuk pendarahan yang paling sering adalah uji tourniquet (Rumple leede) positif, kulit mudah memar dan pendarahan pada bekas suntikan intravena atau pada bekas pengambilan darah (Depkes RI Dirjen P2MLP, 2004). Pengobatan DBD bersifat suportif. Tatalaksana didasarkan atas adanya perubahan fisiologi berupa perembesan plasama dan pendarahan.
26
Perembesan plasma dapat mengakibatkan syok, anoreksia dan kematian. Deteksi dini terhadap adanya permebesan plasma dan penggantian cairan yang adekuat akan mencegah terjadinya syok (Depkes RI Dirjen P2MLP, 2004). 2.8
Demam Tifoid 2.8.1
Sejarah Demam Tifoid Demam tifoid adalah peyakit infeksi sistemik yang disebabkan
oleh kuman Salmonella typhi dan kadang-kadang kuman Salmonella paratyphi. Penyakit ini ditularkan melalui makanan atau minuman yang terkontaminasi oleh kuman S. typhi. 2.8.2
Gejala Demam Tifoid Gejala klinis demam tifoid pada anak biasanya memberikan
gambaran klinis ringan bahkan dapat tanpa gejala (asimtomatik). Diantara tanda dan gejala yang ditimbulkan pada penderita demam tifoid antara lain: demam, lidah kotor, bagian tengah berwarna putih dan pinggirannya berwarna merah, anoreksia, mual berat sampai muntah, obstipasi atau diare, nyeri kepala, nyeri otot, dan sakit perut yang diakibatkan pembengkakan hati dan limpa. 2.9
Diagram Alur (Flowchart) Flowchart adalah salah satu cara menggambarkan algoritma dengan menggunakan simbol (Direktorat Hukum dan Informasi,2007:9) Flowchart digunakan untuk merepresentasikan maupun mendesain
27
program. Oleh karena itu, flowchart dapat dikatakan baik jika dapat merepresentasikan komponen-komponen dalam bahasa pemrograman. Simbol-simbol untuk menggambarkan algoritma yang dibuat dapat dilihat pada tabel berikut (Ladjamudin, 2006:267-270) : Tabel 2.3 Simbol-simbol flowchart Nama
Simbol
Keterangan
Simbol penghubung/alur Untuk menyatakan jalannya arus Arus/flow
suatu proses
Untuk menyatakan bahwa adanya Communication link
transisi suatu data/informasi dari satu lokasi ke lokasi lainnya Untuk menyatakan sambungan
Connector
dari satu proses ke proses lainnya dalam halaman/lembar yang sama Untuk menyatakan sambungan dari satu proses ke proses lainnya
Offline connector dalam
halaman/lembar
yang
berbeda Simbol proses Untuk
menyatakan
Proses pemrosesan input
kegiatan
28
Untuk meyatakan suatu tindakan Manual
yang
tidak
dilakukan
oleh
komputer Untuk
menunjukkan
suatu
kondisi
tertentu
akan
yang
Decision/logika menghasilkan dua kemungkinan jawaban, ya/tidak Untuk menyatakan penyediaan tempat
penyimpanan
suatu
Predefined process pengolahan untuk memberi harga awal Untuk
menyatakan
permulaan
Terminal atau akhir suatu program Untuk menyatakan segala jenis
operasi yang diproses dengan Keying operation menggunakan suatu mesin yang mempunyai keyboard Untuk menunjukkan bahwa data Offline storage
da;am symbol ini akan disimpan ke suatu media tertentu Untuk memasukkan data secara
Manual input
manual
dengan
online keyboard
menggunakan
29
Simbol input-output Untuk menyatakan proses input Input-Output
dan
output
tanpa
tergantung
dengan jenis peralatannya Untuk menyatakan input berasal Punched card
dari kartu atau output ditulis ke kartu Untuk menyatakan input berasal
Magnetic-tape unit
dari pita magnetic atau output disimpan ke pita magnetic Untuk menyatakan input berasal
Disk storage
dari disk atau output disimpan ke disk Untuk
Display
meyatakan
peralatan
output yang digunakan berupa layar (video, komputer)
2.10
State Transitions Diagram (STD) Diagram state menghubungkan event-event dan state-state. Ketika suatu
event diterima, state berikutnya bergantung pada state yang sekarang ada. Perubahan suatu state ke state yang lain dinamai transisi. Diagram state adalah diagram yang simpulnya adalah state dan garisnya adalah transisi yang diberi nama event. State digambarkan dalam kotak berisi namanya. Transisi
30
digambarkan sebagai tanda panah dari state penerima ke state targetnya, label pada tanda panah adalah nama event penyebab suatu transisi. State 1 event State 2
Gambar 2.4 Perubahan state 2.11
Rapid Application Development (RAD) 2.11.1 Defnisi RAD Rapid Application Development (RAD) atau pengembangan aplikasi cepat adalah suatu pendekatan berorientasi objek terhadap pengembangan sistem yang mencakup suatu metode pengembangan serta perangkat-perangkat lunak (Kendall&Kendall,2006:237). Pada tataran konsep RAD mirip dan sangat dekat hubungannya dengan metode pengembangan sistem prototyping karena sama-sama menekankan keunggulan waktu yang cepat dalam proses pengembangan sistem. Kendall (2006:2007)
mengungkapkan bahwa RAD dapat dianggap
sebagai implementasi khusus dari prototyping. Prototyping adalah suatu teknik pengumpulan data yang sangat berguna melengkapi siklus hidup pengembangan sistem tradisional.
31
2.11.2 Tahap-Tahap Pengembangan Sistem RAD Terdapat 4 tahap pengembangan sistem RAD menurut konsep asli dari James Martin, yakni tahap perencanaan syarat, tahap perancangan pengguna, tahap konstruksi dan terakhir tahap pelaksanaan. Perencanaan syarat-syarat
Perancangan pengguna
konstruksi
Pelaksanaan
Gambar 2.4 Fase RAD Martin Sementara itu, Kendall&Kendall (2006:237) mengungkapkan ada tiga fase dalam RAD yang melibatkan penganalisis dan pengguna dalam tahap penilaian, perancangan dan penerapan (implementasi). Kendall juga mengingatkan akan keterlibatan pengguna dalam setiap bagian upaya pengembangan dengan partisipasi mendalam dalam bagian perancangan bisnis. Mengidentifikasi tujuan dan
Bekerja dengan pengguna untuk
Membangu n sistem
Mengenalka n sistem
Gambar 2.5 Fase pengembangan sistem RAD Kendall Baik menurut konsep asli dari James Martin, Kendall&Kendall maupun Pressman, tahap-tahap pengembangan sistem RAD tampak berbeda namun memiliki kesamaan dalam penekanan terhadap interaksi aktif antara pengembang sistem dengan pengguna sehingga akan dihasilkan sistem yang sesuai dengan keinginan dan kebutuhan pengguna. Berikut ini tahap pengembangan sistem RAD menurut Pressman (2005) : 1. Tahap communication
32
2. Tahap planning 3. Tahap Modelling 4. Tahap construction 5. Tahap deployment
Communication
Planning
Modelling Business modelling Data modeling Process modelling
Construction Component reuse Automatic code generation Testing
Deployment Integration Delivery Feedback
60 – 90 days
Gambar 2.6 RAD Model Pressman 2.12 Matlab 7.8 (R2009a)
Matlab adalah singkatan dari Matrik Laboratory, merupakan bahasa pemrograman tingkat tinggi yang dikhususkan untuk kebutuhan komputasi teknis, visualisasi dan pemrograman seperti komputasi matematika, analisis data, pengembangan algoritma, simulasi dan pemodelan dan grafik-grafik perhitungan. Matlab menyediakan banyak fitur dalam mendukung fungsinya, diantaranya (http://www.mathworks.com/):
33
a. Merupakan bahasa tingkat tinggi untuk komputasional teknis b. Lingkungan pengembangan untuk pengaturan kode, data, dan file. c. Tools yang interaktif untuk eksplorasi, design dan pemecahan masalah. d. fungsi matematika untuk aljabar, statistik, analisis Fourier dan optimasi . e. fungsi grafik 2-D dan 3-D untuk visualisasi data. f. Tools untuk membangun Graphical User Interface (GUI). g. Fungsi integrasi Matlab dengan bahasa pemrograman yang lain seperti C, C++, Fortran, Java, COM dan Microsoft Excel.
Gambar 2.7 Tampilan Matlab yang mengintegrasikan pengembangan algoritma, analisis data, dan pengaturan project Secara kesuluruhan, Matlab memiliki 6 buah jendela (Siang, 2009:152), yaitu : a. Jendela perintah (command window) Jendela perintah merupakan tempat untuk memasukkan perintah yang kita inginkan seperti perhitungan biasa, memanggil fungsi, mencari informasi tentang sebuah fungsi, demo program dan sebagainya. Setiap penulisan perintah diawali dengan prompt ‘>>’. Berikut screenshot jendela perintah :
34
Gambar 2.8 Jendela command window b. Jendela daftar perintah (command history) Jendela ini memuat daftar perintah yang pernah kita ketikkan dalam jendela perintah. Untuk mengeksekusi kembali perintah yang pernah dipakai, drag perintah tersebut dari jendela daftar perintah ke jendela perintah. Berikut screenshot jendela daftar perintah :
Gambar 2.9 Jendela command history c. Jendela launch pad Jendela ini berisi fasilitas yang disediakan Matlab untuk menjalankan paket perangkat lunak (toolbox) untuk menyelesaikan masalah tertentu. Contohnya, untuk melihat demo program jaringan saraf tiruan, kita bisa memilih folder
35
neural network toolbox, dan memilih subfolder demo. Berikut screenshot jendel daftar perintah :
Gambar 2.10 Jendela launch pad d. Jendela Help Jendela ini dipakai ketika kita mengalami kesulitan sewaktu memilih perintah atau formatnya. Untuk membantu melihat format perintah, kita bisa menggunakan help dengan 2 cara : -
Mengetikkan help (topik) dalam jendela perintah, misalnya help ones,
ones adalah perintah untuk membuat matriks yang semua elemennya adalah 1.
Gambar 2.11 Help dari command window -
Membuka jendela help dari menu View.
36
Gambar 2.12 Jendela Help dari menu View e. Jendela direktori Jendela untuk menentukan direktori aktif yang digunakan Matlab. Berikut screenshotnya :
Gambar 2.13 Jendela current directory f. Jendela workspace Jendela di mana kita dapat melihat informasi pemakaian variabel di dalam memori Matlab. Berikut screenshotnya :
Gambar 2.14 Jendela workspace
37
2.12.1 Bekerja dengan Matlab Ada 2 cara yang dapat kita gunakan dalam melakukan pemrograman Matlab, yaitu : 1. Secara langsung di jendela perintah Cara ini sedikit riskan karena akan sulit mengevaluasi secara keseluruhaan perintah yang dimasukkan baris perbaris. 2. Menggunakan M-File M-File merupakan sederetan perintah Matlab yang dituliskan secara berurutan sebagai sebuah file. Pemrograman dengan M-File memberikan kontrol lebih banyak dibandingkan dengan command line seperti poin 1 di atas. Dengan M-File kita bisa melakukan percabangan, perulangan dan lain-lain. Program M-File mirip dengan bahasa C yang membagi program dalam blok program berupa fungsi-fungsi. Tiap fungsi dapat memanggil fungsi yang lain. Untuk membuat M-File, klik menu File kemudian pilih New dan klik M-File. Akan tampil layar MATLAB Editor/Debugger. Jika pekerjaan kita telah selesai, untuk menyimpannya klik menu File dan Save As….tuliskan nama file yang kita inginkan dan klik button save. File akan disimpan dengan ekstensi *.m. Agar dapat dijalankan dengan benar, maka program harus disimpan dahulu kedalam file yang namanya sama dengan nama fungsi (fungsi dijelaskan pada poin 2.8.2).Untuk membuka M-File dari command window, ketik edit namafile dan tekan Enter atau klik Return.
38
2.12.2 Fungsi dalam Matlab Fungsi dalam Matlab terdiri dari 2 bagian yaitu : a. Definisi fungsi Bentuk definsi fungsi adalah sebagai berikut : Function <argument keluaran> =
(<argument masukan>) Sebagai contoh : Function y = average (x) Baik argumen masukan maupun keluaran bisa berupa variabel berupa skalar, vektor maupunn matriks atau tanpa argumen sama sekali. Argumen masukan boleh lebih dari 1, masing-masing dipisahkan dengan tanda koma. Demikian juga apabila argumen keluaran lebih dari 1 elemen, maka argumen tersebut dipisahkan dengan tanda koma atau diletakkan diantara kurung siku. b. Tubuh fungsi Tubuh fungsi berisi semua perintah untuk membuat komputasi dan memberikan harga kepada argumen keluaran. Pernyataan dalam tubuh fungsi
bisa
berupa
pemberian
nilai
pada
suatu
variabel,
masukan/keluaran, fungsi kontrol, iterasi ataupun pemanggilan kepada fungsi lain. Contoh script sederhana Matlab disajikan berikut ini : % Script file contoh x = pi/100: pi/100:10*pi;
39
y = sin(x) ./x; plot (x,y) grid Penjelasan dari script di atas adalah sebagai berikut : Tanda % menandakan komentar dan akan diabaikan oleh Matlab, artinya tidak akan dieksekusi. Penulisan komentar disesuaikan dengan kebutuhan pembuat program. Dua baris berikutnya x dan y dibuat. Tanda “;” sebagai pemisah baris perintah. Array x memuat 1000 angka berspasi rata dalam interval [c/100 10ߨ] sedangkan array y memuat nilai-nilai dari sinc function y = sin(x)/x pada point tersebut. Dot operator (.) digunakan sebelum operator divisi sebelah kanan (right division operator). Ini memberitahukan kepada Matlab untuk melaksanakan componentwise division dari dua deret sin(x) dan x. perintah plot mencipatkan grafik dari sinc function dengan menggunakan titik-titik yang dihasilkan oleh dua baris sebelumnya. Terakhir, perintah grid dilaksanakan, dengan menambahkan satu grid untuk grafik. 2.12.3 Kontrol Arus Aliran Untuk mengontrol arus perintah, Matlab menyediakan 4 alat yang dapat digunakan yaitu (Hartanto&Prasetyo,2003:18) : 1. Perulangan for Sintaks dari perulangan for adalah sebagai berikut : For variabel = skalar:skalar Pernyataan ….
40
pernyataan end 2. perulangan while Sintaks dari perulangan while adalah sebagai berikut : while expression op_rel expression pernyataan end dimana op_rel adalah ==, <, >, <=, >=, atau ~=. 3. Konstruksi perulangan if-else-end Sintaks dari konstruksi perulangan if-else-end adalah sebagai berikut : If expression Pernyataan End Kontruksi di atas digunakan jika hanya ada satu alternatif. Jika ada 2 alternatif maka konstruksi yang digunakan adalah sebagai berikut : If expression Pernyataan Else Pernyataan End
41
Sedangkan jika ada lebih dari 2 alternatif, maka kontruksi yang digunakan adalah : If expression1 Pernyataan Elseif expression2 Pernyataan Elseif … . . Else Pernyataan end 4. konstruksi perulangan switch-case Sintaks dari konstruksi switch-case adalah sebagai berikut : Switch expression (skalar atau string) Case nilai1 Case nilai2 . . Otherwise Pernyataan End
42
2.12.4 Pembuatan Grafik a. Grafik 2 dimensi Fungsi dasar yang digunakan untuk membuat grafik 2 dimensi adalah fungsi plot. Fungsi ini menggunakan satu angka variabel dari argumen input. Ada pula fungsi subplot yang digunakan untuk memplot beberapa grafik di figure window yang sama. Untuk definisi penuh dari fungsi ini kita dapat mengetikkan help plot dalam command window. b. Grafik 3 dimensi Matlab mempunyai beberapa fungsi tersendiri untuk memplot objek 3 dimensi. Fungsi-fungsi tersebut adalah plot kurva di ruangan (plot 3), mesh surface (mesh), surface (surf), dan plot kontur (countor). Juga ada 2 fungsi untuk memplot permukaan khusus, sphere dan cylinder. Penjelasan tentang fungsi-fungsi ini juga dapat diketahui dengan mengetikkan help graph3d pada command window. 2.13
Literatur Sejenis Pada penelitian ini penulis mengambil studi literatur sejenis yang akan
digunakan sebagai acuan pembuatan aplikasi untuk membedakan hal-hal yang sudah dilakukan dan menentukan hal-hal yang perlu dilakukan. Literatur yang diambil sebagai perbandingan terutama yang berkaitan dengan diagnosis penyakit dan penggunaan logika fuzzy. Studi literatur sejenis diambil dari 2 buah skripsi, 1 skripsi mahasiswa UIN Syarif Hidayatullah Jakarta dan 1 skripsi mahasiswa ITS. Skripsi Fitriyanti (2010) dengan judul “Diagnosis Penyakit TBC Paru dan Asma Bronkial Menggunakan Metode Jaringan Syaraf Tiruan
43
Backpropagation ”. Penyakit TBC Paru dan Asma Bronkial sulit dibedakan karena memiliki gejala klinis yang mirip sehingga perlu adanya sebuah sistem yang membantu membedakan mana penyakit TBC Paru dan Asma Bronkial. Sistem jaringan saraf tiruan memiliki kemampuan untuk memecahkan masalah dimana input dan output memiliki hubungan yang sangat sulit dijabarkan. Tujuan dari aplikasi ini adalah mengaplikasikan metode jaringan syaraf tiruan dengan algoritma backpropagation yang dapat melakukan tugas dalam mendeteksi kondisi penyakit TBC Paru dan Asma Bronkial berdasarkan gejala-gejala yang sering terjadi pada manusia. Aplikasi yang dibuat peneliti telah berhasil menerapkan jaringan saraf tiruan metode backpropagation untuk diagnosis TBC Paru dan Asma Bronkial. Kekurangan aplikasi ini adalah tidak dapat mengakomodasi data fuzzy. Skripsi Riri Kusumarani (2004) dengan judul “Aplikasi Sistem Pakar dalam Pendeteksian Penyakit Demam Berdarah Dengue Menggunakan Microsoft Visual Basic 6.0 ”. Sistem pakar adalah sistem yang berusaha mengadopsi
pengetahuan
manusia
ke
komputer,
agar
komputer
dapat
menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Penyakit Demam Berdarah Dengue tentunya bukan suatu penyakit yang tergolong baru di masayarakat Indonesia. Penyakit yang bisa dibilang rutin datang setiap lima tahun sekali. Ini sesungguhnya sangat meresahkan. Peyakit ini sendiri sangat cepat penyebarannya dengan bantuan vektor nyamuk Aedes aegypti. Gejala yang timbul pada penderita sangatlah umum, hal ini menyebabkan banyak penderita yang terlambat dalam penanganannya sehingga berakibat fatal (meninggal). Aplikasi
44
yang dibuat menghadirkan fitur-fitur tentang informasi DBD. Selain itu juga menghadirkan fitur pendeteksian penyakit DBD. Aplikasi telah memenuhi tujuannya untuk mendeteksi penyakit DBD. Hanya saja masih terbatas pada 1 penyakit saja yaitu DBD serta hanya mengakomodasi nilai biasa (crisp value). Dari uraian di atas, maka penulis mencoba menerapkan logika fuzzy untuk diagnosis 2 buah penyakit yaitu DBD dan demam tifoid yang memiliki kemiripan gejala dengan 5 buah gejala klinis sebagai parameter masukan.
BAB III METODOLOGI PENELITIAN
Bab ini menguraikan metodologi yang digunakan dalam penelitian ini meliputi metode pengumpulan data dan metode pengembangan sistem dilengkapi dengan alasan penulis menggunakan metode pengembangan sistem tersebut. Dalam penelitian diperlukan data-data yang dapat menunjang penelitian sehingga
diperlukan
metode
pengumpulan
data.
Sementara
itu,
untuk
mengembangkan sistem penulis menggunakan Rapid Application Development. Bab ini akan menguraikan metode pengumpulan data dan metode pengembangan sistem yang penulis gunakan beserta alasan penulis menggunakan RAD sebagai metode pengembangan sistem. 3.1
Metode Pengumpulan Data Data menjadi hal yang penting dalam sebuah proses penelitian, oleh
karena data tersebut akan menjadi dasar dari penelitian itu sendiri. Untuk pengumpulan data, penulis menggunakan 2 metode yaitu : 1. Wawancara Penulis melakukan wawancara untuk mendapatkan data yang akan dimasukkan sebagai knowledge base sistem. Adapun yang menjadi pakar adalah dr. Indra Kusuma. Wawancara dilakukan di Rumah Bersalin Gratis Rumah Zakat di Pulogadung, Jakarta Timur sebanyak 2 kali yakni pada tanggal 23 Oktober 2010 untuk mendapatkan data parameter fuzzy beserta keanggotaannya. Sementara yang kedua dilakukan pada tanggal 30 Oktober 2010 untuk penentuan basis aturan
45
46
(rule base) fuzzy. Dari hasil wawancara juga didapatkan bentuk pertanyaanpertanyaan yang akan digunakan pada model aplikasi pakar. 2. Studi pustaka Penulis mengumpulkan dan mempelajari data dan informasi dari berbagai sumber literatur baik cetak maupun elektronik yang berkaitan dengan logika fuzzy diagnosis penyakit DBD dan demam tifoid. Sumber-sumber yang penullis gunakan berasal dari buku referensi, hasil penelitian (skripsi), jurnal online, buku pedoman serta artikel dari berbagai sumber. Adapun sumber utama yang dijadikan referensi oleh penulis yaitu bukubuku seperti berikut : 1. Artificial Intelligence, Teknik dan Aplikasinya, Sri Kusumadewi, 2003, Penerbit Graha Ilmu, Yogyakarta. 2.
Buku pedoman Tata Laksana Demam Berdarah Dengue di Indonesia, 2004, Penyunting Sri Rezeki, diterbitkan oleh Departemen Kesehatan RI Dirjen P2MLP, Jakarta.
3. Buku pedoman Demam Tifoid; Peran Mediator, Diagnosis dan Terapi, 2000, penyunting H. Iskandar Zulkarnain diterbitkan oleh Pusat Informasi dan Penerbitan Bagian Ilmu Penyakit Dalam FKUI, Jakarta. 4. Rekayasa Perangkat Lunak, 2006, Al Bahra Bin Ladjamudin, Penerbit Graha Ilmu, Yogyakarta. Untuk data lebih lengkap mengenai rujukan yang penulis ambil dapat dilihat di daftar pustaka.
47
Penulis juga melakukan studi literatur sejenis guna membandingkannya dengan penelitian yang akan dibuat. Hasil studi literatur sejenis dapat dilihat di BAB II Subbab 2.13. 3.2
Metode Pengembangan Sistem Untuk metode pengembangan sistem, penulis menggunakan 5 fase dalam
model RAD yakni communication, planning, modelling, construction dan deployment (Pressman : 2005). Penjelasan lebih lanjut mengenai RAD lihat bab II subbab 2.11.2. Model RAD digunakan dengan tujuan mempersingkat waktu pengerjaan aplikasi serta proses yang dihasilkan didapatkan secara cepat dan tepat. 1.
Communication Pada tahap communication dilakukan proses komunikasi, yaitu proses
memahami permasalahan dan karakteristik informasi yang harus diakomodasi, melalui studi literatur yang dilakukan di awal. Informasi-informasi yang didapatkan akan diolah pada tahap berikutnya. Informasi tersebut akan digunakan untuk membangun aplikasi yang sesuai dengan kebutuhan pengguna dan dapat menjawab permasalahan yang diangkat pada latar belakang dilakukannya penelitian. Permasalahan yang harus dipecahkan oleh sistem ini adalah membuat model logika fuzzy dengan cara membuat rule-rule atau aturan yang berjalan pada sistem sehingga sistem dapat menjalankan fungsinya mendiagnosis suatu penyakit apakah termasuk penyakit DBD ataukah demam tifoid berdasarkan gejala-gejala klinis yang diberikan kedalam sistem.
48
Adapun tujuan dari sistem adalah mendiagnosis penyakit DBD atau demam tifoid sesuai dengan gejala klinis yang diberikan. Input sistem berupa gejala-gejala klinis suatu penyakit. Output sistem berupa diagnosis penyakit termasuk DBD atau demam tifoid beserta tata laksananya. 2.
Planning Pada tahap planning dilakukan perencanaan proses yang akan dijalankan,
dengan mengidentifikasi syarat-syarat informasi yang ditimbulkan dari tujuantujuan tersebut. Perencanaan proses itu dilakukan berdasarkan informasi yang telah didapatkan dari tahap pertama komunikasi. Pada tahap ini penulis melakukan penentuan yaitu : a. Fungsi keanggotaan fuzzy input (premis) yang digunakan adalah fungsi Gaussian (gaussmf), zmf dan smf, sementara untuk fuzzy output digunakan fungsi trimf. b. Penerapan fuzzy logic pada tahap inferensi menggunakan metode Mamdani, karena output aplikasi berupa bilangan fuzzy. c. Pembuatan aturan fuzzy serta pemberian skor parameter input dan output dibantu oleh pakar yaitu dokter. d. Proses defuzzyfikasi menggunakan metode rata-rata terbobot (weighted average). 3.
Modelling Pada tahap modelling dilakukan pemodelan informasi yang harus di
akomodasi, proses-proses yang terjadi pada aplikasi, interface yang akan dipergunakan, dan data yang diperlukan selama penggunaan aplikasi.
49
a. Business modeling Pada tahap ini dilakukan pemodelan bisnis yang akan berjalan pada sistem. b. Data modelling Pada tahap ini dilakukan perancangan struktur data yang akan digunakan untuk pengolahan data.. Penjelasan lebih lanjut dapat dilihat pada pembahasan BAB IV subbab 4.3.2. c. Process modelling Pada tahap ini dilakukan perancangan proses yang terdapat pada sistem yakni proses input data hingga sistem menghasilkan output. d. Perancangan antarmuka (interface) 4.
Construction Pada tahap construction, proses logika fuzzy sesuai dengan hasil
pemodelan pada tahap sebelumnya diterapkan dengan menggunakan kode-kode program. Tool yang penulis gunakan adalah Matlab 7.8.0 (R2009a). Alasan penggunaan Matlab adalah seperti yang telah dijelaskan pada bab I subbab 1.1. Kode program lengkap dapat dilihat di lampiran E. Pada tahap ini juga dilakukan pengujian. Pengujian yang digunakan adalah dengan pendekatan black box test dengan metode unit test dan integration test yang akan menguji program secara keseluruhan sehingga dapat diketahui keberhasilan pengembangan aplikasi meliputi pengujian input dan output. Hasil pengujian dapat dilihat pada bab IV subbab 4.4.3.
50
5.
Deployment Pada tahap deployment dilakukan penyatuan keseluruhan modul program
yang telah diuji dan siap dipakai kemudian pengiriman (delivery) dan umpan balik (feedback). Pada penelitian ini, hanya samapi pada tahapan construction karena penelitian ini dilakukan bukan digunakan langsung oleh pelanggan. 3.3
Alasan Penulis Menggunakan RAD Dari
berbagai
model
pengembangan
sistem
yang
ada,
penulis
menggunakan model RAD dengan alasan-alasan sebagai berikut : 1.
Aplikasi yang akan dikembangkan merupakan aplikasi yang sederhana dan tidak memerlukan waktu yang lama. Metode RAD digunakan untuk pengembangan sistem yang seperti ini (Kendall&Kendall,2006:237).
2. Pengembangan aplikasi dalam implementasinya tidak memiliki fase pemeliharaan karena merupakan aplikasi yang sederhana oleh karena itu penulis menggunakan metode RAD bukannya metode sekuensial linear (Pressman, 2005:83). 3.
Aplikasi tidak memerlukan tahapan yang panjang seperti halnya jika kita ingin menggunakan model spiral yang merupakan salah satu model evolusioner yang memiliki waktu yang cukup panjang dalam pengembangan software (Proboyekti, 2004:1).
4.
Salah satu kekurangan model formal adalah banyak memakan waktu dan mahal (Pressman, 2002:54) sementara aplikasi ini tidak banyak memerlukan waktu dan biaya.
51
Mulai
Identifikasi Masalah
Studi Pustaka
Pengembangan Sistem
Akuisisi Pengetahuan
Wawancara Pakar
Pengembangan Model logika fuzzy
Pengembangan Aplikasi
Program Matlab
Ujicoba (testing)
Pembahasan, kesimpulan, dokumentasi dan penulisan laporan
Tidak Sesuai Harapan
Ya Selesai
Gambar 3.1 Kerangka pengembangan sistem
BAB IV HASIL DAN PEMBAHASAN
Pada bab ini akan dijelaskan lebih lanjut lagi mengenai proses perancangan serta implementasinya dalam program termasuk proses pengujian program. 4.1
Communication Berdasarkan penjabaran latar belakang yang telah dijelaskan pada Bab I
subbab 1.1 dan studi literatur yang dijelaskan pada Bab II subbab 2.13, maka diperlukan pengembangan model logika fuzzy untuk diagnosis DBD dan demam tifoid, dengan pendekatan sistem pakar untuk pengembangan sistemnya sehingga diharapkan dapat menjawab permasalahan yang telah dijelaskan pada subbab 1.2. 4.2
Planning Dari analisis permasalahan yang telah diketahui pada tahap sebelumnya,
maka dibuatlah perencanaan untuk mengembangkan model logika fuzzy diagnosis DBD dan demam tifoid serta pengembangan aplikasi dengan pendekatan sistem pakar untuk aplikasi antarmukanya. Pemodelan logika fuzzy akan menggunakan software Matlab karena pertimbangan kemudahan dan keandalan komputasinya. Untuk dapat membangun pemodelan logika fuzzy diperlukan data-data yang akan menjadi parameter logika fuzzy. Data-data yang digunakan adalah data gejala klinis penyakit DBD dan demam tifoid yang memiliki kemiripan dengan ciri khas yang berbeda untuk masing-masing penyakit.
52
53
Sistem kerja aplikasi antarmuka mengadopsi cara kerja sistem pakar karena memang pendekatan yang dilakukan adalah pendekatan sistem pakar. Aplikasi akan menerima input parameter berupa gejala-gejala klinis dan selanjutnya aplikasi akan memberikan output berupa hasil diagnosis. Parameter yang akan digunakan adalah gejala-gejala klinis penyakit DBD dan demam tifoid diantaranya : demam, nyeri otot dan sendi extrimis atas (tangan dan lengan) dan extrimis bawah (kaki), manifestasi pendarahan seperti pendarahan pada hidung dan gusi serta uji tornikuet positif, adanya gangguan pencernaan, serta pemeriksaan lidah apakah berselaput atau tidak. Perbandingan gejala antara DBD dan demam tifoid ditampilkan pada tabel berikut : Tabel 4.1 Perbandingan gejala DBD dan demam tifoid No
Gejala
1.
Demam
2.
Nyeri otot dan sendi extrimis atas dan bawah
3.
Manifestasi pendarahan
4.
Gangguan pencernaan
5.
Kondisi lidah
(sumber : hasil wawancara)
DBD Demam Tifoid Muncul mendadak dan Muncul bertahap suhu mencapai 40 C, perlahan hingga rentang bertahan tinggi selama waktu 1 minggu 2-3 hari Muncul, namun tidak Sangat mengganggu terlalu mengganggu pasien dan sering sehingga jarang dikeluhkan dikeluhkan Pendarahan spontan, uji tornikuet positif bahkan Pendarahan pada hidung sampai pada tahap dan gusi sedikit serta uji hematemesis dan tornikuet negative melena Jarang terjadi Sering terjadi konstipasi konstipasi ataupun atau diare diare Lidah berselaput, kotor di Warna lidah relatif tenngah dan ujung merah normal dan tremor
54
4.3
Modelling 4.3.1 Business Modelling Tujuan dari perancangan aplikasi ini adalah merancang suatu model logika fuzzy untuk diagnosis penyakit demam berdarah atau demam tifoid berdasarkan input gejala-gejala klinis tertentu Adapun kebutuhan sistem adalah data-data gejala klinis penyakit demam berdarah dan demam tifoid seperti yang telah dijelaskan sebelumnya pada poin 4.2 untuk pembentukan aturan fuzzy. Sementara untuk diagnosis demam berdarah dan demam tifoid digunakan pendekatan sistem pakar. Adapun untuk antarmuka program akan dirancang dengan menggunakan tools Matlab 7.8.0. karena keunggulannya dalam komputasi numerik dan visualisasi data. Penjelasan tentang Matlab dijelaskan pada BAB II subbab 2.12. 4.3.2 Data Modelling 4.3.2.1 Basis Data Fuzzy Desain struktur data menggunakan himpunan fuzzy yang dibedakan menjadi kriteria dan parameter. Kriteria yakni gejala klinis demam berdarah dengue dan demam tifoid yaitu demam, nyeri otot dan sendi, manifestasi pendarahan, gangguan pencernaan dan kondisi lidah. Masing-masing kriteria memiliki parameter yang mencerminkan keanggotaan himpunan fuzzy atau membership function (mf). Kriteria, parameter dan nilai fungsi keanggotaan diperoleh berdasarkan hasil wawancara dengan pakar. Untuk
55
masing-masing kriteria terdiri dari 3 parameter dengan atribut nilai yang sama namun atribut linguistik yang berbeda-beda. Atribut nilai berkisar antara 0 – 10. Untuk fungsi keanggotaan atribut nilai rendah (0 – 3,6) digunakan fungsi bentuk Z (zmf), atribut nilai sedang (1,69 – 5) digunakan fungsi Gaussian (gaussmf) dan atribut nilai tinggi (6,49 – 9,6) digunakan fungsi bentuk S (smf) . Demam terdiri dari 3 parameter yaitu mendadak, ragu-ragu dan bertahap. Penilaian demam didasarkan pada asumsi demam
tinggi (antara 38 C sampai dengan 40 C) dan dibedakan dari sifat kemunculan demam tersebut. Demam dikatakan mendadak jika muncul secara tiba-tiba dan langsung meninggi hingga 40 C serta bertahan untuk waktu 2-3 hari. Demam dikategorikan sebagai ragu-
ragu jika suhu tubuh meningkat bertahap namun tidak bertahan pada suhu tertentu dalam jangka waktu lama (2-3 hari), misalnya demam hanya muncul pada sore atau malam hari saja. Demam dikategorikan bertahap jika kenaikan suhu setiap harinya naik secara perlahan sampai rentang waktu 1 minggu. Nilai fuzzy demam disajikan pada tabel berikut : Tabel 4.2 Nilai fuzzy demam Demam Bertahap
Nilai skor 0,00 – 3,21
Ragu-ragu
1,69 – 5,00
Mendadak
6,49 – 9,60
Pengukuran Suhu tubuh naik bertahap 1 minggu Demam hilang timbul pagi dan malam hari Muncul tiba-tiba, bertahan tinggi 2-3 hari
56
Fungsi keanggotaan demam adalah sebagai berikut :
Gambar 4.1 Membership function demam Dari gambar di atas terlihat bahwa derajat keanggotaan demam bertahap akan maksimal (nilai mf 1) dicapai ketika nilai demam 0-1 dan minimal (nilai mf 0) dicapai ketika nilai demam ≥ 3,21. Derajat keanggotaan demam ragu-ragu maksimal (nilai mf 1) dicapai ketika nilai demam 5 dan minimal (nilai mf 0) dicapai ketika nilai demam 0 atau 10. Derajat keanggotaan demam mendadak maksimal (nilai mf 1) dicapai ketika nilai demam 9,6 dan minimal (nilai mf 0) dicapai ketika nilai demam ≤ 6,49. Nyeri otot dan sendi terdiri dari 3 parameter, tidak mengganggu, mengganggu dan sangat mengganggu. Penilaian nyeri otot dan sendi didasarkan pada keluhan pasien akan nyeri otot dan sendi pada bagian extrimis atas meliputi lengan dan tangan serta bagian extrimis bawah meliputi kaki apakah tidak mengganggu, mengganggu atau sangat mengganggu pasien.
57
Tabel 4.3 Nilai fuzzy nyeri otot dan sendi Nyeri otot&sendi Tidak mengganggu
Nilai skor 0,00 – 3,60
Pengukuran Tidak ada keluhan Ada keluhan tetapi tidak terlalu Mengganggu 1,69 – 5,00 mengganggu Sangat mengganggu dan Sangat mengganggu 6,49 – 9,60 dikeluhkan pasien Fungsi keanggotaan nyeri otot dan sendi adalah sebagai berikut :
Gambar 4.2 Membership function nyeri otot dan sendi Dari gambar di atas terlihat bahwa derajat keanggotaan nyeri otot dan sendi tidak mengganggu akan maksimal (nilai mf 1) dicapai ketika nilai nyeri otot dan sendi 0-1 dan minimal (nilai mf 0) dicapai ketika nilai nyeri otot dan sendi ≥ 3,6. Derajat keanggotaan nyeri otot dan sendi mengganggu maksimal (nilai mf 1) dicapai ketika nilai nyeri otot dan sendi 5 dan minimal (nilai mf 0) dicapai ketika nilai nyeri otot dan sendi 0 atau 10. Derajat keanggotaan nyeri otot dan sendi sangat mengganggu akan maksimal (nilai mf 1) dicapai ketika nilai nyeri otot dan sendi 9,6 dan minimal (nilai mf 0) dicapai ketika nilai nyeri otot dan sendi ≤ 6,49.
58
Manifestasi pendarahan terdiri dari 3 parameter yaitu tidak jelas, ragu-ragu dan sangat jelas. Penilaian ini berdasarkan hasil pengamatan pendarahan pada hidung dan gusi, sifat pendarahan yang spontan atau tidak serta uji tornikuet. Termasuk kategori tidak jelas jika pendarahan pada hidung dan gusi sedikit serta tidak spontan. Termasuk kategori ragu-ragu jika pendarahan terjadi spontan pada hidung, gusi serta kulit ditambah lagi dengan hasil uji tornikuet positif. Termasuk kategori sangat jelas jika pasien telah sampai pada tahap hematemesis atau melena. Tabel 4.4 Nilai fuzzy manifestasi pendarahan Manifestasi pendarahan
Nilai skor
Tidak jelas
0,00 – 3,60
Jelas
1,69 – 5,00
Sangat Jelas
6,49 – 9,60
Pengukuran Pendarahan hidung dan gusi sedikit dan tidak spontan Pendarahan hidung dan gusi spontan, uji tornikuet positif Hematemesis atau melena
Fungsi keanggotaan manifestasi pendarahan adalah sebagai berikut :
Gambar 4.3 Membership function manifestasi pendarahan
59
Dari gambar di atas terlihat bahwa derajat keanggotaan pendarahan tidak jelas akan maksimal (nilai mf 1) dicapai ketika nilai pendarahan 0-1 dan minimal (nilai mf 0) dicapai ketika nilai pendarahan ≥ 3,6. Derajat keanggotaan pendarahan jelas akan maksimal (nilai mf 1) dicapai ketika nilai pendarahan 5 dan minimal (nilai mf 0) dicapai ketika nilai pendarahan 0 atau 10. Derajat keanggotaan pendarahan sangat jelas akan maksimal (nilai mf 1) dicapai ketika nilai pendarahan 9,6 dan minimal (nilai mf 0) dicapai ketika nilai pendarahan ≤ 6,49. Kriteria gangguan pencernaan terbagi dalam 3 parameter yaitu terjadi gangguan pencernaan,
ragu-ragu dan tidak terjadi
gangguan pencernaan. Penilaian ini didasarkan pada hasil keluhan pasien apakah terjadi gangguan pencernaan seperti konstipasi atau diare (tidak termasuk mual). Tabel 4.5 Nilai fuzzy gangguan pencernaan Gangguan pencernaan
Nilai skor
Terjadi
0,00 – 3,60
Ragu-ragu
1,69 – 5,00
Tidak tejadi
6,49 – 9,60
Pengukuran Terjadi konstipasi atau diare dengan frekuensi tinggi Terjadi konstipasi atau diare tapi dengan frekuensi rendah Tidak terjadi konstipasi atau diare
60
Fungsi keanggotaan gangguan pencernaan adalah sebagai berikut :
Gambar 4.4 Membership function gangguan pencernaan Dari gambar di atas terlihat bahwa derajat keanggotaan gangguan pencernaan terjadi akan maksimal (nilai mf 1) dicapai ketika nilai gangguan pencernaan 0-1 dan minimal (nilai mf 0) dicapai ketika nilai gangguan pencernaan ≥ 3,6. Derajat keanggotaan gangguan pencernaan ragu-ragu akan maksimal (nilai mf 1) dicapai ketika nilai gangguan pencernaan 5 dan minimal (nilai mf 0) dicapai ketika nilai gangguan pencernaan 0 atau 10. Derajat keanggotaan gangguan pencernaan tidak terjadi akan maksimal (nilai mf 1) dicapai ketika nilai gangguan pencernaan 9,6 dan minimal (nilai mf 0) dicapai ketika nilai gangguan pencernaan ≤ 6,49. Kriteria kondisi lidah memiliki 3 parameter yaitu lidah berselaput, ragu-ragu, dan tidak berselaput. Penilaian ini didasarkan pada hasil pengamatan kondisi lidah pasien. Kategori lidah
61
berselaput jika pada lidah pasien kotor di tengah sementara di tepi dan ujung berwarna merah dan tremor. Tabel 4.6 Nilai fuzzy kondisi lidah Kondisi lidah
Nilai skor
Berselaput
0,00 – 3,60
Ragu-ragu
1,69 – 5,00
Tidak berselaput
6,49 – 9,60
Pengukuran Lidah kotor di tengah, tepi dan ujung merah Tidak terlihat jelas apakah berselaput atau tidak Warna lidah normal
Fungsi keanggotaan gangguan pencernaan adalah sebagai berikut :
Gambar 4.5 Membership function kondisi lidah Dari gambar di atas terlihat bahwa derajat keanggotaan kondisi lidah berselaput akan maksimal (nilai mf 1) dicapai ketika nilai kondisi lidah 0-1 dan minimal (nilai mf 0) dicapai ketika nilai kondisi lidah ≥ 3,6. Derajat keanggotaan kondisi lidah ragu-ragu akan maksimal (nilai mf 1) dicapai ketika nilai kondisi lidah 5 dan minimal (nilai mf 0) dicapai ketika nilai kondisi lidah 0 atau 10. Derajat keanggotaan kondisi lidah tidak berselaput akan maksimal
62
(nilai mf 1) dicapai ketika nilai kondisi lidah 9,6 dan minimal (nilai mf 0) dicapai ketika nilai kondisi lidah ≤ 6,49. 4.3.2.2 Basis Aturan Pada penghitungan data fuzzy digunakan kaidah IF THEN. Aturan dibuat berdasarkan pendapat pakar yaitu dokter. Pada penelitian ini ada 5 kriteria dengan masing-masing 3 parameter (membership function) sehingga jumlah aturan yang terbentuk yaitu 3 = 243 aturan. Untuk lebih lengkapnya dapat dilihat pada lampiran A.
4.3.2.3 Perancangan Output Output dari aplikasi yang merupakan kesimpulan fuzzy logic diinterpretasikan kedalam 4 kategori yang didapatkan dengan cara membuat fungsi keanggotaan output data. Atribut linguistik output adalah demam tifoid, observasi, cek laboratorium dan DBD. Adapaun atribut nilai fungsi keanggotaan berkisar antara 0 -10. Fungsi keanggotaan yang digunakan untuk output adalah fungsi triangular atau segitiga. Tabel 4.7 Nilai minimal dan maksimal output Jenis Sampel Data Demam tifoid Observasi Cek laboratorium DBD
Nilai Minimal 0,00 3,00 5,00 7,00
Nilai Maksimal 3,99 5,99 7,99 10,00
63
Sedangkan fungsi keanggotaannya sebagai berikut :
Gambar 4.6 Membership function output Interpretasi
kesimpulan
logika
fuzzy
dipresentasikan
sebagai diagnosis DBD atau demam tifoid, cek laboratorium dan observasi dengan kemungkinan senilai dengan nilai output hasil defuzzyfikasi sehingga dapat dipertimbangkan untuk penanganan dini terhadap hasil diagnosis. Kesimpulan hasil diagnosis demam tifoid (diagnosis0) akan didapatkan ketika nilai output bernilai 0 - 3,99 dengan interpretasi sebagai berikut : Kemungkinan besar penderita terserang penyakit demam tifoid Tata Laksana : 1. Berikan segera cairan pengganti seperti oralit 2. Perhatikan tanda vital penderita : nadi, tekanan darah, respirasi dan temperature
64
Kesimpulan hasil diagnosis observasi (diagnosis1) akan didapatkan ketika niali output bernilai 3,00 - 5,99 dengan interpretasi sebagai berikut : Penderita harus tetap dalam observasi Tata Lakana : 1. Perhatikan tekanan darah, respirasi dan temperature 2. Perhatikan kadar hematokrit, apabila kadar hematokrit meningkat lebih dari 20% dari harga normal sebaiknya penderita dirawat di ruang observasi di pusat rehidrasi selam kurun waktu 12-24 jam. 3. Periksa darah penderita apakah terdapat Salmonella typhii atau Salmonella paratyphii Kesimpulan hasil diagnosis cek laboratorium (diagnosis2) akan didapatkan ketika nilai output bernilai 5,00 - 7,99 dengan interpretasi sebagai berikut : Penderita sebaiknya cek di laboratorium Tata laksana : 1. Perhatikan nadi, tekanan darah, respirasi dan temperatur 2. Segera periksa penderita ke laboratorium jika tanda vital menurun dan kadar hematokrit tidak stabil Kesimpulan hasil diagnosis DBD (diagnosis3) akan didapatkan ketika nilai output bernilai 7,00 - 10 dengan interpretasi sebagai berikut :
65
Kemungkinan besar penderita terserang penyakit Demam Berdarah Dengue (DBD) Tata Laksana : 1. Bila penderita masih memiliki keinginan makan dan minum, turunkan panas tinggi yang mendadak dengan paracetamol 10-15 mgBB setiap 3-4 jam diulangi jika symptom panas masih nyata di atas ,
2. Jika panas memasuki hari 3,4 dan 5 penderita sebaiknya dirawat inap dan dianjurkan banyak minum air buah atau oralit 3. Segera periksa ke lab jika tanda vital menurun
4.3.3 Process Modelling Perancangan proses akan digambarkan melalui flowchart dan STD. Adapun flowchart proses yang akan dirancang yaitu :
66
a. Flowchart
Gambar 4.7 Flowchart proses keseluruhan b. State Transition Diagrams (STD) 1). STD Menu Utama Masuk Klik Masuk
Petunjuk Klik
Tentang Klik
Petunjuk Pemakaian
Tentang DBD&Tifoid
Menu Utama Profil Klik
Keluar Klik
Profil
Keluar
Gambar 4.8 STD Menu Utama
67
2) STD Masuk Menu Utama Klik Masuk
Gejala 1
Klik Ke Gejala 2
Gejala 2
Klik Ke Gejala 3
Gejala 3
Klik Ke Gejala 4
Gejala 4 Klik Ke Gejala 5 Gejala 5 Klik Diagnosi s Diagnosis Klik Hasil Diagnosis
Klik Ulangi Input Gejala Hasil Diagnosis Klik Keluar
Keluar
Gambar 4.9 STD Masuk 3) STD Petunjuk Pemakaian
Menu Utama Klik Petunjuk Klik Menu Utama Petunjuk Pemakaian
Gambar 4.10 STD Petunjuk Pemakaian 4) STD Tentang DBD dan Tifoid Menu Utama KlikTentang Klik Menu Utama Tentang DBD & Tifoid
Gambar 4.11 STD Tentang DBD dan Tifoid
Klik Menu Utama
68
5) STD Profil Menu Utama Klik Profil Klik Menu Utama Profil
Gambar 4.12 STD Profil 4.3.4
Arsitektur Gambar berikut menjelaskan perancangan arsitektur program
logika fuzzy diagnosis DBD dan demam tifoid :
Gambar 4.13 Arsitektur logika fuzzy diagnosis 4.3.5
Simulasi Manual Menjalankan simulasi sistem dengan menggunakan sebuah contoh
kasus dengan mengambil satu nilai contoh yaitu nilai demam 8, nilai nyeri otot dan sendi 6, nilai pendarahan 6, nilai gangguan pencernaan 7 dan nilai kondisi lidah 8. 1.
Fuzzyfikasi Langkah pertama adalah mengkonversi semua nilai skor kedalam nilai
fuzzy. Setiap variabel input menggunakan 3 jenis kurva, bentuk Z, Gaussian, dan bentuk S (lihat bab IV, subbab 4.3.2.1 )
69
a. Variabel demam = 8 Fungsi keanggotaannya :
µO Bertahap [a]
µO Ragu [a]
=
,
0;
0;
=
1;
,
0;
;
1 3,21
;
1
3,21
0 10
;
05
5 10
6,49
6,49 9,60
µO Mendadak [a] = $,"".#$ ; ",#$
1;
9,60
Skor demam 8 berada pada himpunan fuzzy Ragu dan Mendadak. Derajat keanggotaan untuk himpunan fuzzy Ragu dihitung dengan menggunakan rumus µO Ragu [a] = (10-a)/(10-5) sehingga derajat keanggotaan untuk Ragu adalah (10-8)/(10-5)= 0,4. Derajat keanggotaan untuk himpunan fuzzy Mendadak dihitung dengan menggunakan rumus (a-6,49)/(9,60-6,49) sehingga derajat keanggotaan Mendadak adalah (86,49)/(9,60-6,49) = 0,4855305466 (nilai dibulatkan dengan 10 angka di belakang koma). b. Variabel nyeri otot dan sendi = 6 Fungsi keanggotaannya :
µO Tidak Mengganggu [b]
=
1;
," ,"
0;
;
1
1 3,60 3,60
70
=
µO Mengganggu [b]
0;
;
0 10
;
05 5 10
0;
6,49
6,49 9,60
µO Sangat Mengganggu [b] = $,"".#$ ; ",#$
1;
9,60
Skor nyeri otot dan sendi 6 berada pada himpunan fuzzy Mengganggu. Derajat keanggotaan untuk himpunan fuzzy Mengganggu dihitung dengan menggunakan
rumus
(10-a)/(10-5)
sehingga
derajat
keanggotaan
Mengganggu adalah (10-6)/(10-5) = 0,8. c.
Variabel manifestasi pendarahan = 6 Fungsi keanggotaannya :
µO Tidak Jelas [c]
µO Jelas [c]
=
=
0;
1;
," ,"
0;
0;
;
;
;
µO Sangat Jelas [c] = $,"".#$ ; ",#$
1;
1
1 3,60 3,60
0 10 05
5 10
6,49
6,49 9,60 3,21
Skor manifestasi pendarahan 6 berada pada himpunan fuzzy Jelas. Derajat keanggotaan Jelas dihitung dengan menggunakan rumus (10a)/(10-5) sehingga derajat keanggotaan Jelas adalah (10-6)/910-5) = 0,8. d.
Variabel gangguan pencernaan = 7 Fungsi keanggotaannya :
71
µO Terjadi [d]
=
µO Ragu [d]
1;
," ,"
0;
=
0;
1
1 3,60
;
0;
;
;
µO Tidak Terjadi [d] = $,"".#$ ; ",#$
1;
3,60
0 10 05
5 10
6,49
6,49 9,60 3,21
Skor gangguan pencernaan 7 berada pada himpunan fuzzy Ragu dan Tidak Terjadi. Derajat keanggotaan Ragu dihitung dengan rumus (10a)/(10-5) sehingga derajat keanggotaan Ragu adalah (10-7)/(10-5) = 0,6. Derajat keanggotaan Tidak Terjadi dihitung dengan menggunakan rumus (a-6,49)/(9,60-6,49) sehingga derajat keanggotaan Tidak Terjadi adalah (76,49)/(9,60-6,49) = 0,1639871382. e.
Variabel kondisi lidah = 8 Fungsi keanggotaannya :
µO Berselaput [e]
µO Ragu [e]
=
0;
=
1;
," ,"
0;
;
;
;
0;
µO Tidak Berselaput [e] = $,"".#$ ; ",#$
1;
1
1 3,60 3,60
0 10 05
5 10 6,49
6,49 9,60 3,21
72
Skor gangguan pencernaan 8 berada pada himpunan fuzzy Ragu dan Tidak Berselaput. Derajat keanggotaan Ragu dihitung dengan rumus (10a)/(10-5) sehingga derajat keanggotaan Ragu adalah (10-8)/(10-5) = 0,4. Derajat keanggotaan Tidak Berselaput dihitung dengan menggunakan rumus (a-6,49)/(9,60-6,49) sehingga derajat keanggotaan Tidak Terjadi adalah (8-6,49)/(9,60-6,49) = 0,4855305466. 2.
Inferensi Pada tahap ini dilakukan proses inferensi dengan metode Mamdani.
Dari 8 data fuzzy input tersebut, Demam = Ragu (0,4) dan Demam = Mendadak (0,4855305466), nyeri otot dan sendi = Mengganggu (0,8), manifestasi pendarahan =Jelas (0,8), gangguan pencernaan = Ragu (0,6) dan gangguan pencernaan = Tidak Terjadi (0,1639871382), kondisi lidah = Ragu (0,4) dan kondisi lidah = Tidak Berselaput (0,4855305466), berarti ada 8 aturan fuzzy yang dapat diaplikasikan, yaitu : 122 IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu Diagnosis=((0,5*D)+(0,5*NOS)+(0,5*P)+(0,5*GC)+(0,5*L)+2)/5
THEN
123 IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+(0,5*P)+(0,5*GC)+(0,75*L)+2)/5
125
IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,5*NOS)+(0,5*P)+(0,75*GC)+(0,5*L)+2)/5
126 IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+(0,5*P)+(0,75*GC)+(0,75*L)+2)/5
203 IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu Diagnosis=((0,75*D)+(0,5*NOS)+(0,5*P)+(0,5*GC)+(0,5*L)+2)/5
THEN
73
204 IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,5*NOS)+(0,5*P)+(0,5*GC)+(0,75*L)+2)/5
207 IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sjelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,5*NOS)+(0,5*P)+(0,75*GC)+(0,75*L)+2)/5
208 IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,5*NOS)+(0,75*P)+(0,25*GC)+(0,25*L)+2)/5
Proses inferensi yang terjadi adalah :
& = min (0,4 and 0,8 and 0,8 and 0,6 and 0,4) = 0,4
& = min (0,4 and 0,8 and 0,8 and 0,6 and 0,4855305466) = 0,4
& = min (0,4 and 0,8 and 0,8 and 0,1639871382 and 0,4) = 0,1639871382
= min (0,4 and 0,8 and 0,8 and 0,1639871382 and 0,4855305466) = 0,1639871382
& = min (0,4855305466 and 0,8 and 0,8 and 0,6 and 0,4) = 0,4
&" = min (0,4855305466 and 0,8 and 0,8 and 0,6 and 0,4855305466) = 0,4855305466
&' = min (0,4855305466 and 0,8 and 0,8 and 0,1639871382 and 0,4) = 0,1639871382
&( = min (0,4855305466 and 0,8 and 0,8 and 0,1639871382 and 0,4855305466)
74
= 0,163987138
) = ((0,5*8 + 0,5*6 + 0,5*6 + 0,5*7 + 0,5* 8)+2)/5 = 3,9
) = ((0,5*8 + 0,5*6 + 0,5*6 + 0,5*7 + 0,75*8)+2)/5 = 4,3
) = ((0,5*8 + 0,5*6 + 0,5*6 + 0,75*7 + 0,5*8)+2)/5 = 4,25
)# = ((0,5*8 + 0,5*6 + 0,5*6 + 0,75*7 + 0,75*8)+2)/5 = 4,65 ) = ((0,75*8 + 0,5*6 + 0,5*6 + 0,5*7 + 0,5*8)+2)/5 = 4,3
)" = ((0,75*8 + 0,5*6 + 0,5*6 + 0,5*7 + 0,75*8)+2)/5 = 4,7
)' = ((0,75*8 + 0,5*6 + 0,5*6 + 0,75*7 + 0,5*8)+2)/5 = 4,65
)( = ((0,75*8 + 0,5*6 + 0,5*6 + 0,75*7 + 0,75*8)+2)/5 = 5,05 3.
Defuzzyfikasi
Pada tahap ini penulis menggunakan model rata-rata terbbot untuk proses defuzzyfikasi sehingga : Z=
∑. ,/0 +, -, ∑. ,/0 +,
Z=
0,4 1 3,9 2 0,4 1 4,3 2 0,1639871382 1 4,25 2 0,1639871382 1 4,65 2 0,4 1 4,3 2 0,4855305466 1 4,7 2 0,1639871382 1 4.65 2 0,1639871382 1 5,05 0,4 2 0,4 2 0,1639871382 2 0,1639871382 2 0,4 2 0,4855305466 2 0,1639871382 2 0,1639871382
,"4,'4,"$"$#'4 ,'"#$"4,'4,($$"$4,'"#$"4,((#'$ ,##'$$$# ,#$# = = 4,4126613567 ,##'$$$#
=
Jadi nilai output untuk input di atas adalah 4,4126613567. Nilai ini
terdapat pada himpunan fuzzy output observasi dengan derajat keanggotaan 0.9 (lihat gambar 4.6 ). 4.3.6 Perancangan Antarmuka Pengguna (User Interface)
75
Berikut ini perancangan tampilan antar muka pengguna untuk aplikasi ini : 1. Halaman Menu Utama 2. Halaman input gejala 1 3. Halaman input gejala 2 4. Halaman input gejala 3 5. Halaman input gejala 4 6. Halaman input gejala 5 7. Halaman Diagnosis 8. Halaman Hasil Diagnosis 9. Halaman Petunjuk Pemakaian 10. Halaman Tentang Program 11. Halaman Profil Penulis Tampilan halaman selengkapnya dapat dilihat pada lampiran C. 4.4
Construction 4.4.1 Instalasi Program Matlab Sebelum berlanjut ke tahap penulisan program, terlebih dahulu dilakukan penginstalan program Matlab. Penjelasan lebih lanjut mengenai penginstalan program matlab dapat dilihat pada lampiran D. 4.4.2 Penulisan Program Pada tahap ini, penulis menerjemahkan flowchart sistem kedalam kode-kode program. Penulisan kode program yang akan digunakan yaitu
76
dengan menggunakan Matlab 7.8.0. Kode program lengkap dapat dilihat pada lampiran E. 4.4.3 Pengujian Program Pada tahap ini dilakukan pengujian pada program yang telah ditulis. Pengujian dilakukan dengan pendekatan black box dengan metode unit test dan integration test untuk melihat apakah program telah berjalan dengan baik dan menghasilkan output bersesuaian dengan input yang dimasukkan. 4.4.3.1 Unit Test Pada test unit dilakukan pengujian untuk setiap modul aplikasi mulai dari masuk ke aplikasi sampai keluar dari aplikasi. Berikut ini merupakan hasil pengujian dengan pendekatan black box : Tabel 4.8 Hasil pengujian unit No
1.
Modul
Masuk
Prasyarat
-
Hasil yang
Error
Hasil
diharapkan
Handling
Pengujian
-
OK
Masuk
ke
jendela
Gejala 1
Memasukan data fungsi Menampilkan 2.
Gejala 1
Menu Masuk
keanggotaan
gejala jendela
demam
OK
peringatan
Memasukan data fungsi Menampilkan 3.
Gejala 2
Gejala 1
keanggotaan
gejala jendela
nyeri otot dan sendi 4.
Gejala 3
Gejala 2
peringatan
Memasukan data fungsi Menampilkan keanggotaan
OK
gejala jendela
OK
77
manifestasi pendarahan
peringatan
Memasukan data fungsi Menampilkan 5.
Gejala 4
Gejala 3
keanggotaan
gejala jendela
gangguan pencernaan
OK
peringatan
Memasukan data fungsi Menampilkan 6.
Gejala 5
Gejala 4
keanggotaan
gejala jendela peringatan
kondisi lidah 7.
8.
9.
10.
Diagnosis Hasil diagnosis
Gejala 5
Menampilkan
hasil
input seluruh gejala Diagnosis
Petunjuk
-
Pemakaian Tentang
-
Program
11.
Profil
-
12.
Keluar
-
Menampilkan
OK
hasil
diagnosis sesuai input Menampilkan halaman Petunjuk Pemakaian Menampilkan halaman Tentang Program Menampilkan halaman Profil Keluar dari program
-
OK
-
OK
-
OK
-
OK
-
OK
-
OK
4.4.3.2 Integration test Pada integration test dilakukan pengujian terhadap keseluruhan program. a. Input gejala 1 Pada jendela input gejala 1 yaitu demam diisi dengan nilai 8, yang berarti penderita mengalami demam mendadak.
78
b. Input gejala 2 Pada jendela input gejala 2 yaitu nyeri otot dan sendi diisi dengan nilai 8, yang berarti penderita mengalami nyeri otot dan sendi yang sangat mengganggu.
c. input gejala 3 Pada jendela input gejala 3 yaitu manifestasi pendarahan diisi dengan nilai 7, yang berarti penderita tidak begitu jelas terjadi pendarahan.
79
d. input gejala 4 Pada jendela input gejala 4 yaitu gangguan pencernaan diisi dengan nilai 8, yang berarti penderita tidak mengalami gangguan pencernaan.
e. input gejala 5 Pada jendela input gejala 5 yaitu kondisi lidah diisi dengan nilai 8, yang berarti kondisi lidah penderita tidak berselaput.
80
f. jendela diagnosis Untuk mengetahui nilai input gejala yang kita masukan kita klik button ‘Input gejala yang Anda masukan’, maka akan tampil nilai-nilai yang kita masukan pada gejala 1 sampai dengan gejala 5. Setelah yakin dengan nilai input yang kita masukan kemudian klik button ‘Diagnosis’ untuk menampilkan jendela hasil diagnosis
g. hasil diagnosis Berdasarkan nilai input yang kita masukkan maka sistem akan memberikan keluaran yaitu diagnosis3.
81
4.4.3.3 Pengujian dengan berbagai variasi input Pengujian dilakukan dengan memasukan berbagai jenis variasi input yaitu kombinasi dari nilai rendah (1), sedang (5) dan tinggi (10) untuk masing-masing kriteria gejala. Tabel 4.9 Hasil pengujian dengan berbagai input Input No
Demam
Nyeri Otot & Sendi
Pendarahan
Output Gangguan
Kondisi
Cerna
Lidah
Pakar
Model
1.
1
1
1
1
1
Tifoid
Tifoid
2.
1
1
1
1
5
Tifoid
Tifoid
3.
1
1
1
1
10
Cek lab
Cek lab
4.
1
1
1
5
1
Tifoid
Tifoid
5.
1
1
1
5
5
Observasi
Observasi
6.
1
1
1
5
10
Observasi
Observasi
7.
1
1
1
10
1
Tifoid
Tifoid
8.
1
1
1
10
5
Observasi
Observasi
9.
1
1
1
10
10
Observasi
Observasi
10.
1
1
5
1
1
Tifoid
Tifoid
11.
1
1
5
1
5
Tifoid
Tifoid
12.
1
1
5
1
10
Cek lab
Cek lab
13.
1
1
5
5
1
Tifoid
Tifoid
14.
1
1
5
5
5
Cek lab
Cek lab
15.
1
1
5
5
10
Cek lab
Cek lab
16.
1
1
5
10
1
Tifoid
Tifoid
17.
1
1
5
10
5
Cek lab
Cek lab
82
18.
1
1
5
10
10
Cek lab
Cek lab
19.
1
1
10
1
1
Tifoid
Tifoid
20.
1
1
10
1
5
Cek lab
Cek lab
21.
1
1
10
1
10
Cek lab
Cek lab
22.
1
1
10
5
1
Tifoid
Tifoid
23.
1
1
10
5
5
Cek lab
Cek lab
24.
1
1
10
5
10
Cek lab
Cek lab
25.
1
1
10
10
1
Tifoid
Tifoid
26.
1
1
10
10
5
Cek lab
Cek lab
27.
1
1
10
10
10
Cek lab
Cek lab
28.
1
5
1
1
1
Tifoid
Tifoid
29.
1
5
1
1
5
Cek lab
Cek lab
30.
1
5
1
1
10
Cek lab
Cek lab
31.
1
5
1
5
1
Tifoid
Tifoid
32.
1
5
1
5
5
Cek lab
Cek lab
33.
1
5
1
5
10
Cek lab
Cek lab
34.
1
5
1
10
1
Tifoid
Tifoid
35.
1
5
1
10
5
Cek lab
Cek lab
36.
1
5
1
10
10
Observasi
Observasi
37.
1
5
5
1
1
Tifoid
Tifoid
38.
1
5
5
1
5
Cek lab
Cek lab
39.
1
5
5
1
10
Tifoid
Tifoid
40.
1
5
5
5
1
Tifoid
Tifoid
41.
1
5
5
5
5
Cek lab
Cek lab
42.
1
5
5
5
10
Cek lab
Cek lab
43.
1
5
5
10
1
Tifoid
Tifoid
44.
1
5
5
10
5
Cek lab
Cek lab
45.
1
5
5
10
10
Cek lab
Cek lab
46.
1
5
10
1
1
Tifoid
Tifoid
47.
1
5
10
1
5
Tifoid
Tifoid
48.
1
5
10
1
10
Tifoid
Tifoid
49.
1
5
10
5
1
Tifoid
Tifoid
50.
1
5
10
5
5
Cek lab
Cek lab
51.
1
5
10
5
10
Cek lab
Cek lab
52.
1
5
10
10
1
Tifoid
Tifoid
53.
1
5
10
10
5
Cek lab
Cek lab
54.
1
5
10
10
10
Cek lab
Cek lab
55.
1
10
1
1
1
Tifoid
Tifoid
56.
1
10
1
1
5
Cek lab
Cek lab
83
57.
1
10
1
1
10
Cek lab
Cek lab
58.
1
10
1
5
1
Tifoid
Tifoid
59.
1
10
1
5
5
Cek lab
Cek lab
60.
1
10
1
5
10
Cek lab
Cek lab
61.
1
10
1
10
1
Tifoid
Tifoid
62.
1
10
1
10
5
Cek lab
Cek lab
63.
1
10
1
10
10
Observasi
Observasi
64.
1
10
5
1
1
Tifoid
Tifoid
65.
1
10
5
1
5
Tifoid
Tifoid
66.
1
10
5
1
10
Tifoid
Tifoid
67.
1
10
5
5
1
Tifoid
Tifoid
68.
1
10
5
5
5
Cek lab
Cek lab
69.
1
10
5
5
10
Cek lab
Cek lab
70.
1
10
5
10
1
Tifoid
Tifoid
71.
1
10
5
10
5
Cek lab
Cek lab
72.
1
10
5
10
10
Cek lab
Cek lab
73.
1
10
10
1
1
Tifoid
Tifoid
74
1
10
10
1
5
Tifoid
Tifoid
75.
1
10
10
1
10
Tifoid
Tifoid
76.
1
10
10
5
1
Tifoid
Tifoid
90.
1
10
10
5
5
Cek lab
Cek lab
78.
1
10
10
5
10
Cek lab
Cek lab
79.
1
10
10
10
1
Cek lab
Cek lab
80.
1
10
10
10
5
Cek lab
Cek lab
81.
1
10
10
10
10
Cek lab
Cek lab
82.
5
1
1
1
1
Observasi
Observasi
83.
5
1
1
1
5
Observasi
Observasi
84.
5
1
1
1
10
Observasi
Observasi
85.
5
1
1
5
1
Observasi
Observasi
86.
5
1
1
5
5
Observasi
Observasi
87.
5
1
1
5
10
Observasi
Observasi
88.
5
1
1
10
1
Observasi
Observasi
89.
5
1
1
10
5
Observasi
Cek lab
90.
5
1
1
10
10
Observasi
Observasi
91.
5
1
5
1
1
Cek lab
Cek lab
92.
5
1
5
1
5
Cek lab
Cek lab
93.
5
1
5
1
10
Cek lab
Cek lab
94
5
1
5
5
1
Cek lab
Cek lab
95.
5
1
5
5
5
Cek lab
Cek lab
96.
5
1
5
5
10
Cek lab
Cek lab
84
97.
5
1
5
10
1
Cek lab
Cek lab
98.
5
1
5
10
5
Cek lab
Cek lab
99.
5
1
5
10
10
Cek lab
Cek lab
100.
5
1
10
1
1
Cek lab
Cek lab
101.
5
1
10
1
5
Cek lab
Cek lab
102.
5
1
10
1
10
Cek lab
Cek lab
103.
5
1
10
5
1
Cek lab
Cek lab
104.
5
1
10
5
5
Cek lab
Cek lab
105.
5
1
10
5
10
Cek lab
Cek lab
106.
5
1
10
10
1
Cek lab
Cek lab
107.
5
1
10
10
5
Cek lab
Cek lab
108.
5
1
10
10
10
Cek lab
Cek lab
109.
5
5
1
1
1
Observasi
Observasi
110.
5
5
1
1
5
Observasi
Observasi
111.
5
5
1
1
10
Observasi
Observasi
112.
5
5
1
5
1
Observasi
Observasi
113.
5
5
1
5
5
Observasi
Observasi
114.
5
5
1
5
10
Observasi
Observasi
115.
5
5
1
10
1
Observasi
Observasi
116.
5
5
1
10
5
Observasi
Observasi
117.
5
5
1
10
10
Observasi
Observasi
118.
5
5
5
1
1
Cek lab
Cek lab
119.
5
5
5
1
5
Cek lab
Cek lab
120.
5
5
5
1
10
Cek lab
Cek lab
121.
5
5
5
5
1
Cek lab
Cek lab
122.
5
5
5
5
5
Cek lab
Cek lab
123.
5
5
5
5
10
Cek lab
Cek lab
124.
5
5
5
10
1
Cek lab
Cek lab
125.
5
5
5
10
5
Cek lab
Cek lab
126.
5
5
5
10
10
Cek lab
Cek lab
127.
5
5
10
1
1
Cek lab
Cek lab
128.
5
5
10
1
5
Cek lab
Cek lab
129.
5
5
10
1
10
Cek lab
Cek lab
130.
5
5
10
5
1
Cek lab
Cek lab
131.
5
5
10
5
5
Cek lab
Cek lab
132.
5
5
10
5
10
Cek lab
Cek lab
133.
5
5
10
10
1
Cek lab
Cek lab
134.
5
5
10
10
5
Cek lab
Cek lab
135.
5
5
10
10
10
Cek lab
Cek lab
136.
5
10
1
1
1
Observasi
Observasi
85
137.
5
10
1
1
5
Observasi
Observasi
138.
5
10
1
1
10
Observasi
Observasi
139.
5
10
1
5
1
Observasi
Observasi
140.
5
10
1
5
5
Observasi
Observasi
141.
5
10
1
5
10
Observasi
Observasi
142.
5
10
1
10
1
Observasi
Observasi
143.
5
10
1
10
5
Observasi
Observasi
144.
5
10
1
10
10
Observasi
Observasi
145.
5
10
5
1
1
Cek lab
Cek lab
146.
5
10
5
1
5
Cek lab
Cek lab
147.
5
10
5
1
10
Cek lab
Cek lab
148.
5
10
5
5
1
Cek lab
Cek lab
149.
5
10
5
5
5
Cek lab
Cek lab
150.
5
10
5
5
10
Cek lab
Cek lab
151.
5
10
5
10
1
Cek lab
Cek lab
152.
5
10
5
10
5
Cek lab
Cek lab
153.
5
10
5
10
10
Cek lab
Cek lab
154.
5
10
10
1
1
Cek lab
Cek lab
155.
5
10
10
1
5
Cek lab
Cek lab
156.
5
10
10
1
10
Cek lab
Cek lab
157.
5
10
10
5
1
Cek lab
Cek lab
158.
5
10
10
5
5
Cek lab
Cek lab
159.
5
10
10
5
10
Cek lab
Cek lab
160.
5
10
10
10
1
Cek lab
Cek lab
161.
5
10
10
10
5
Cek lab
Cek lab
162.
5
10
10
10
10
Cek lab
Cek lab
163.
10
1
1
1
1
Cek lab
Cek lab
164.
10
1
1
1
5
Cek lab
Cek lab
165.
10
1
1
1
10
Cek lab
Cek lab
166.
10
1
1
5
1
Observasi
Observasi
167.
10
1
1
5
5
Observasi
Observasi
168.
10
1
1
5
10
Observasi
Observasi
169.
10
1
1
10
1
Observasi
Observasi
170.
10
1
1
10
5
Observasi
Observasi
171.
10
1
1
10
10
Observasi
Observasi
172.
10
1
5
1
1
DBD
DBD
173.
10
1
5
1
5
DBD
DBD
174.
10
1
5
1
10
DBD
DBD
175.
10
1
5
5
1
DBD
DBD
176.
10
1
5
5
5
DBD
DBD
86
177.
10
1
5
5
10
DBD
DBD
178.
10
1
5
10
1
DBD
DBD
179.
10
1
5
10
5
DBD
DBD
180.
10
1
5
10
10
DBD
DBD
181.
10
1
10
1
1
DBD
DBD
182.
10
1
10
1
5
DBD
DBD
183.
10
1
10
1
10
DBD
DBD
184.
10
1
10
5
1
DBD
DBD
185.
10
1
10
5
5
DBD
DBD
186.
10
1
10
5
10
DBD
DBD
187.
10
1
10
10
1
DBD
DBD
188.
10
1
10
10
5
DBD
DBD
189.
10
1
10
10
10
DBD
DBD
190.
10
5
1
1
1
Cek lab
Cek lab
191.
10
5
1
1
5
Cek lab
Cek lab
192.
10
5
1
1
10
Cek lab
Cek lab
193.
10
5
1
5
1
Cek lab
Cek lab
194.
10
5
1
5
5
Cek lab
Cek lab
195.
10
5
1
5
10
Cek lab
Cek lab
196.
10
5
1
10
1
Cek lab
Cek lab
197.
10
5
1
10
5
Cek lab
Cek lab
198.
10
5
1
10
10
Cek lab
Cek lab
199.
10
5
5
1
1
DBD
DBD
200.
10
5
5
1
5
DBD
DBD
201.
10
5
5
1
10
DBD
DBD
202.
10
5
5
5
1
DBD
DBD
203.
10
5
5
5
5
DBD
DBD
204.
10
5
5
5
10
DBD
DBD
205.
10
5
5
10
1
DBD
DBD
206.
10
5
5
10
5
DBD
DBD
207.
10
5
5
10
10
DBD
DBD
208.
10
5
10
1
1
DBD
DBD
209.
10
5
10
1
5
DBD
DBD
210.
10
5
10
1
10
DBD
DBD
211.
10
5
10
5
1
DBD
DBD
212.
10
5
10
5
5
DBD
DBD
213.
10
5
10
5
10
DBD
DBD
214.
10
5
10
10
1
DBD
DBD
215.
10
5
10
10
5
DBD
DBD
216.
10
5
10
10
10
DBD
DBD
87
217.
10
10
1
1
1
Cek lab
Cek lab
218.
10
10
1
1
5
Cek lab
Cek lab
219.
10
10
1
1
10
Cek lab
Cek lab
220.
10
10
1
5
1
Cek lab
Cek lab
221.
10
10
1
5
5
Cek lab
Cek lab
222.
10
10
1
5
10
Cek lab
Cek lab
223.
10
10
1
10
1
Cek lab
Cek lab
224.
10
10
1
10
5
Cek lab
Cek lab
225.
10
10
1
10
10
Cek lab
Cek lab
226.
10
10
5
1
1
DBD
DBD
227.
10
10
5
1
5
DBD
DBD
228.
10
10
5
1
10
DBD
DBD
229.
10
10
5
5
1
DBD
DBD
230.
10
10
5
5
5
DBD
DBD
231.
10
10
5
5
10
DBD
DBD
232.
10
10
5
10
1
DBD
DBD
233.
10
10
5
10
5
DBD
DBD
234.
10
10
5
10
10
DBD
DBD
235.
10
10
10
1
1
DBD
DBD
236.
10
10
10
1
5
DBD
DBD
237.
10
10
10
1
10
DBD
DBD
238.
10
10
10
5
1
DBD
DBD
239.
10
10
10
5
5
DBD
DBD
240.
10
10
10
5
10
DBD
DBD
241.
10
10
10
10
1
DBD
DBD
242.
10
10
10
10
5
DBD
DBD
243.
10
10
10
10
10
DBD
DBD
Dari hasil unit test, integration test, dan pengujian dengan berbagai variasi input terlihat bahwa program telah berhasil berjalan sesuai dengan perancangan.
BAB V PENUTUP Bab ini berisi kesimpulan untuk menjawab permasalahan serta saran untuk pengembangan selanjutnya. 5.1
Kesimpulan Kesimpulan dari hasil penelitian yang dilakukan yaitu : 1. Penerapan logika fuzzy tepat digunakan untuk memetakan hubungan input dan output yang kompleks seperti gejala penyakit DBD dan demam tifoid. 2. Sistem dengan menggunakan pendekatan sistem pakar dapat memberikan hasil diagnosis dan tatalaksana DBD dan demam tifoid yang dapat menjadi pertimbangan user dalam melakukan penanganan dini yang tepat terhadap penderita sehingga meminimalisir terjadinya komplikasi.
5.2
Saran Untuk pengembangan selanjutnya, penulis memberikan saran : 1. Menambahkan jumlah parameter
input gejala
sehingga
akan
didapatkan hasil yang lebih akurat. 2. Merancang input interface berupa variabel lingustik bukan variabel numerik. 3. Melakukan pengujian dengan berbagai variasi jumlah fungsi keanggotaan input, jenis fungsi keanggotaan dan metode inferensi
88
89
yang lainnya sehingga akan terlihat mana hasil terbaik dari pengujian tersebut. 4. Menjadikan sistem berbasis web sehingga tampilannya lebih interaktif dan dapat berbagi pakai. 5. Mengembangkan aplikasi sampai pada tahap deployment sehingga dapat digunakan di Rumah Bersalin Gratis Rumah Zakat, Jakarta Timur.
DAFTAR PUSTAKA
Anonim.
2008. Waspada Demam Berdarah Dengue. [Online] Tersedia: http://www.arthagrahapeduli.org/index.php?option=com_content&view=article&id= 572%3Awaspada-demam-berdarah-dengue&catid=36% 3Akesehatan&Itemid=66&lang=in [16 Juli 2010 14.00]
Anonim. 2009. Penyakit Demam Berdarah Dengue (DBD)-Pengertian, Penyebab dan Gejala DBD. [Online] Tersedia: http://organisasi.org/penyakit-demam-berdarah-denguedbd-pengertian-penyabab-gejala-dbd [16 Juli 2010 14.00] Challoner, Jack. 2003. Kecerdasan Artifisial, Panduan Bagi Pemula ke Robotika dan Akal Buatan Manusia. Jakarta : Erlangga Departemen Kesehatan Republik Indonesia Direktorat Jenderal Pemberantasan Penyakit Menular dan Penyehatan Lingkungan. 2004. Tata Laksana Demam Berdarah Dengue di Indonesia. Edisi ketiga. Penyunting Sri Rezeki dkk. Jakarta : Departemen Kesehatan Direktorat
Hukum dan Informasi. Dasar-Dasar Pemrograman. [Online] Tersedia: http://www.djkn.depkeu.go.id/download/modul/Dasar-Dasar_Pemrograman.pdf [12 Oktober 2009 11.30]
Fitriyanti. 2010. Diagnosis Penyakit TBC Paru dan Asma Bronkial Menggunakan Metode Jaringan Syaraf Tiruan Backpropagation. Program Studi Teknik Informatika UIN Syarif Hidayatullah. Skripsi Tidak Diterbitkan Hartanto,Thomas Wahyu Dwi & Y.Wahyu Agung Prasetyo. 2003. Analisis dan Desain Sistem Kontrol dengan Matlab. Yogyakarta : ANDI Harvey,A. McGehee, dkk. 1991. Diagnosis Banding (Berorientasi pada Kasus Klinik ). Jakarta : Binarupa Aksara Kendall, Kenneth E. dan Julie E. Kendall. 2006. Analisis dan Perancangan Sistem Edisi Bahasa Indonesia.Ed.5 Jilid 1. Jakarta : INDEKS Kusumadewi, Sri. 2003. Artificial Intelligence, Teknik dan Aplikasinya. Yogyakarta : Graha Ilmu Naba, Agus. 2009. Belajar Cepat Fuzzy Logic Menggunakan MATLAB. Yogyakarta : ANDI Novriani, Harli. 2002. Respon Imun dan Derajat Kesakitan Demam Berdarah Dengue dan Dengue Shock Sydrome. Cermin Dunia Kedokteran (134), 46-47 [Online] Tersedia: http://www.kalbe.co.id/files/cdk/files/15_ResponImundanDerajatKesakitan.pdf/15_R
90
91
esponImundanDerajatKesakitan.html [16 juli 2010 13.00]
Nugroho, Adi. 2005. Analisis dan Perancangan Sistem Informasi dengan Metodologi Berorientasi Objek. Bandung : Informatika Pressman, Roger S. 2005. Software Engineering, A Practitiner Approach. Sixth Edition. New York : McGraw Hill Proboyekti,Umi. Software Process Model I. [Online] Tersedia: http://lecturer.ukdw.ac.id/othie/softwareprocess.pdf [13 Oktober 2009 08.30] Pusat Informasi dan Penerbitan Bagian Ilmu Penyakit Dalam FK UI. 2000. Demam Tifoid:Peran Mediator, Diagnosis dan Terapi.Penyunting H.Iskandar Zulkarnain Siang, Jong Jek. 2009. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan MATLAB. Yogyakarta : Andi Soegijanto, Soegeng. Kumpulan Makalah Penyakit Tropis dan Infeksi di Indonesia Jilid 1. 2004. Surabaya : Airlangga University Press Tim Media Center.2002.Kamus Ilmiah Populer. Jakarta:Media Center
Turban, Efraim. 1994. Decision Support and Expert Systems Management Support Systems.ed.4. New York : Prentice-Hall
http://www.mathworks.com/ http://www.pdpersi.co.id/ http://pusatbahasa.diknas.go.id/ http://kamusbahasaindonesia.org/ http://www.kamus-medis.co.cc/ http://digilib.its.ac.id/
PENE NERAPAN FUZZY LOGIC
UNTUK DIA IAGNOSIS DAN TATA LAKSANA PENYAKIT DEMAM BERDARAH DENGUE DAN DEMAM TIFO E OID
S SITI PRATININGSIH
PROGRAM ST STUDI TEKNIK INFORMATIKA FAKULTA AS SAINS DAN TEKNOLOGI UNIVE ERSITAS ISLAM NEGERI SYA ARIF HDAYATULLAH
JAKARTA 2010 M/1431 H
PENERAPAN FUZZY LOGIC UNTUK DIAGNOSIS DAN TATA LAKSANA PENYAKIT DEMAM BERDARAH DENGUE DAN DEMAM TIFOID
Skripsi Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer Pada Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh : SITI PRATININGSIH NIM.105091002889
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HDAYATULLAH JAKARTA 2010 M/1431 H
ii
PENERAPAN FUZZY LOGIC UNTUK DIAGNOSIS DAN TATA LAKSANA PENYAKIT DEMAM BERDARAH DENGUE DAN DEMAM TIFOID
Skripsi Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer Pada Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh : Siti Pratiningsih NIM.105091002889
Menyetujui, Pembimbing I
Pembimbing II
Victor Amrizal, M.Kom NIP.150 411 288
Khodijah Huliyah, M.Si NIP.19730402 200112 2 001 Mengetahui,
Ketua Program Studi Teknik Informatika
Yusuf Durachman, M.Sc, MIT NIP.19710522 200604 1 002
iii
PENGESAHAN UJIAN
Skripsi yang berjudul “Penerapan Fuzzy Logic Untuk Diagnosis dan Tata Laksana Penyakit Demam Berdarah Dengue dan Demam Tifoid” telah diuji dan dinyatakan lulus dalam sidang munaqosyah Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta pada hari Rabu, 8 Desember 2010. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar sarjana strata 1 (S1) pada program studi Teknik Informatika. Jakarta, 8 Desember 2010 Menyetujui, Penguji I,
Penguji II,
Fitri Mintarsih, M.Kom NIP.19721223 200710 2 004
Imam M. Shofi, MT NIP.19720205 200801 1 001
Pembimbing I,
Pembimbing II,
Victor Amrizal, M.Kom NIP.150 411 288
Khodijah Huliyah, M.Si NIP.19730402 200112 2 001
Dekan Fakultas Sains dan Teknologi
Ketua Program Studi Teknik Informatika
Dr. Syopiansyah Jaya Putra, M.Sis NIP.19680117 200112 1 001
Yusuf Durachman, M.Sc, MIT NIP.19710522 200604 1 002
iv
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR HASIL KARYA SENDIRI DAN BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, Desember 2010
Siti Pratiningsih 105091002889
v
ABSTRAK
Siti Pratiningsih. Penerapan Fuzzy Logic untuk Diagnosis dan Tata Laksana Penyakit Demam Berdarah Dengue dan Demam Tifoid (di bawah bimbingan Bpk. Victor Amrizal, M.Kom dan Ibu Khodijah Hulliyah, M.Si). Penyakit demam berdarah dengue (DBD) merupakan penyakit endemik di Indonesia yang apabila disertai komplikasi dapat menyebabkan kematian. Salah satu diagnosis banding DBD adalah demam tifoid yang juga masih menjadi permasalahan serius di Indonesia. DBD dan demam tifoid memiliki manifestasi gejala klinik yang mirip terutama demam, hal ini mengakibatkan seringnya kesalahan diagnosis dini antara DBD dan demam tifoid. Diagnosis dini DBD dan demam tifoid yang tepat akan sangat bermanfaat karena dapat menghindari terjadinya komplikasi. Untuk memetakan kemiripan gejala klinis DBD dan demam tifoid maka dapat digunakan logika fuzzy. Skripsi ini bertujuan untuk membangun model logika fuzzy dengan pendekatan sistem pakar untuk diagnosis klinis DBD dan demam tifoid. Metode pengembangan sistem yang digunakan adalah RAD dengan Matlab sebagai toolsnya. Hasil pengujian menunjukkan bahwa sistem dapat menjalankan fungsinya dalam mendiagnosis DBD dan demam tifoid. Penambahan jumlah parameter serta pengujian dengan menggunakan berbagai variasi fungsi keanggotaan fuzzy dan berbagai tipenya serta metode inferensi yang lain dapat dilakukan untuk pengembangan selanjutnya. Kata kunci : fuzzy logic, diagnosis, DBD, demam tifoid, RAD
vi
KATA PENGANTAR
Alhamdulillahirrabbil’alamin, segala puji hanya bagi Allah atas segala nikmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini. Shalawat serta salam semoga senantiasa tercurah kepada qudwah hasanah seluruh insan di dunia, Nabi Muhammad SAW, juga kepada keluarga, sahabat, dan generasi penerus perjuangannya. Skripsi yang berjudul Penerapan Logika Fuzzy untuk Diagnosis dan Tata Laksana Penyakit Demam Berdarah dan Demam Tifoid merupakan salah satu tugas wajib mahasiswa sebagai persyaratan untuk mengambil gelar Strata 1 (S1) jurusan Teknik Informatika Universitas Islam Negeri Syarif Hidayatullah Jakarta. Proses penyusunan hingga selesainya skripsi ini
tidak terlepas dari
bantuan banyak pihak, baik moril, materil maupun teknis. Oleh karena itu, penulis mengucapkan terima kasih kepada : 1. Bapak DR. Ir. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta. 2. Bapak Yusuf Durachman, M.Sc, MIT, selaku Ketua Program Studi Teknik Informatika dan Ibu Viva Arifin, MMSI, selaku Sekretaris Program Studi Teknik Informatika. 3. Bapak Victor Amrizal, M.Kom dan Ibu Khodijah Hulliyah, M.Si selaku dosen pembimbing yang telah bersedia mencurahkan waktu, pikiran dan tenaganya untuk memberikan bimbingan, bantuan, saran dan masukan kepada
vii
penulis. Semoga dicatat sebagai pemberat amal kebaikan oleh Allah SWT. Amin. 4. Seluruh dosen dan staf di Fakultas Sains dan Teknologi atas bimbingan dan bantuannya hingga penulis dapat menyelesaikan studi dengan baik. 5. dr. Indra Kusuma yang telah bersedia meluangkan waktu, pikiran dan tenaganya menjadi pakar dalam penelitian ini. 6. Bapak dan Umi tercinta, yang cintanya menjadi suntikan semangat yang tak terbatas bagi penulis. 7. Aa (Muhammad Kartiwa), Teteh (Siti Pratiningrum, S.Pd) dan Dede (Sulaeka Ratna Wulan) yang juga selalu memberikan dukungan semangat dan motivasi. 8. Kak Taufik, yang telah berbagi ilmu dan semangatnya. 9. Teman-teman seperjuangan (Elin, Indah, Dian, Nita, Nofi, Icha), terima kasih atas motivasi dan semangat yang kalian tularkan. 10. Teman-teman aktivis baik di LDK maupun IMM Ciputat, atas sekolah keidupan yang telah diberikan. 11. TI C angkatan 2005, semoga tetap dijaga silaturahimnya. 12. Semua pihak yang tidak bisa penulis sebutkan satu persatu. Penulis menyadari bahwa dalam skripsi ini masih banyak kesalahan dan kekurangan. Oleh karena itu, saran yang membangun penulis harapakan untuk perbaikan di masa mendatang. Jakarta, November 2010 Siti Pratiningsih
viii
DAFTAR ISI Halaman HALAMAN JUDUL .................................................................................. ii LEMBAR PERSETUJUAN PEMBIMBING ........................................... iii HALAMAN PENGESAHAN UJIAN ....................................................... iv HALAMAN PERNYATAAN .................................................................... v ABSTRAK ................................................................................................. vi KATA PENGANTAR ................................................................................ vii DAFTAR ISI .............................................................................................. ix DAFTAR TABEL ...................................................................................... xiii DAFTAR GAMBAR .................................................................................. xiv DAFTAR LAMPIRAN .............................................................................. xvi DAFTAR ISTILAH ................................................................................... xvii BAB I PENDAHULUAN 1.1 Latar Belakang ............................................................................... 1 1.2 Rumusan Masalah .......................................................................... 6 1.3 Batasan Masalah ............................................................................ 7 1.4 Tujuan Penelitian ........................................................................... 7 1.5 Manfaat Penelitian .......................................................................... 8 1.6 Metodologi Penelitian ..................................................................... 9 1.6.1 Metode Pengumpulan Data ................................................... 9 1.6.2 Metode Pengembangan Sistem .............................................. 9 1.7 Sistematika Penulisan ..................................................................... 10
ix
BAB II LANDASAN TEORI 2.1 Penerapan ...................................................................................... 12 2.2 Logika Fuzzy ................................................................................ 12 2.2.1 Fungsi Keanggotaan ............................................................ 14 2.2.2 Operator Himpunan Fuzzy ................................................... 15 2.2.3 Sistem Inferensi Fuzzy ........................................................ 16 2.2.4 Defuzzyfikasi ....................................................................... 18 2.3 Sistem Pakar ................................................................................. 20 2.4 Diagnosis ...................................................................................... 22 2.5 Tata Laksana ................................................................................. 23 2.6 Penyakit ........................................................................................ 23 2.7 Demam Berdarah Dengue (DBD) ................................................. 24 2.7.1 Sejarah DBD ....................................................................... 24 2.7.2 Gejala DBD ........................................................................ 25 2.8 Demam Tifoid .............................................................................. 26 2.8.1 Sejarah Demam Tifoid ........................................................ 26 2.8.2 Gejala Demam Tifoid .......................................................... 26 2.9 Diagram Alur (Flowchart) ............................................................. 26 2.10 State Transitions Diagram .......................................................... 29 2.11 Rapid Applcation Development (RAD) ....................................... 30 2.11.1 Definisi RAD .................................................................... 30 2.11.2 Tahap-Tahap Pengembangan Sistem RAD ........................ 31 2.12 Matlab 7.8 (R2009a) ................................................................... 32
x
2.12.1 Bekerja dengan Matlab ................................................... 37 2.12.2 Fungsi dalam Matlab ....................................................... 38 2.12.3 Kontrol Arus Aliran ........................................................ 39 2.12.4 Pembuatan Grafik ........................................................... 42 2.13 Literatur Sejenis .......................................................................... 42 BAB III METODOLOGI PENELITIAN 3.1 Metode Pengumpulan Data ........................................................... 45 3.2 Metode Pengembangan Sistem ...................................................... 47 3.3 Alasan Penulis Menggunakan RAD .............................................. 50 BAB IV HASIL DAN PEMBAHASAN 4.1 Communication.............................................................................. 52 4.2 Planning ....................................................................................... 52 4.3 Modelling ..................................................................................... 54 4.3.1 Business Modelling ............................................................. 54 4.3.2 Data Modelling ................................................................... 54 4.3.2.1 Basis Data Fuzzy ..................................................... 54 4.3.2.2 Basis Aturan ............................................................ 62 4.3.2.3 Perancangan Output ................................................ 62 4.3.3 Process Modelling .............................................................. 65 4.3.3.1 Flowchart .................................................................... 66 4.3.3.1 STD ........................................................................... 66 4.3.4 Arsitektur ............................................................................ 68 4.3.5 Simulasi Manual ................................................................. 68
xi
4.3.6 Perancangan Antar Muka Pengguna (User Interface) .......... 75 4.4 Construction ................................................................................. 75 4.4.1 Instalasi Program Matlab ..................................................... 75 4.4.2 Penulisan Program .............................................................. 75 4.4.3 Pengujian Program .............................................................. 76 BAB V PENUTUP 5.1 Kesimpulan ................................................................................... 88 5.2 Saran ............................................................................................ 89 DAFTAR PUSTAKA ................................................................................. 90 LAMPIRAN
xii
DAFTAR TABEL Tabel 2.1 Variabel Fuzzy, himpunan fuzzy, semesta pembicaraan dan domain .................................................................................. 14 Tabel 2.2 Perbandingan sistem konvensional dan sistem pakar ..................... 21 Tabel 2.3 Simbol-simbol flowchart .............................................................. 27 Tabel 4.1 Perbandingan gejala DBD dan demam tifoid ................................ 53 Tabel 4.2 Nilai fuzzy demam ....................................................................... 55 Tabel 4.3 Nilai fuzzy nyeri otot dan sendi ..................................................... 57 Tabel 4.4 Nilai fuzzy manifestasi pendarahan ............................................... 58 Tabel 4.5 Nilai fuzzy gangguan pencernaan .................................................. 59 Tabel 4.6 Nilai fuzzy kondisi lidah ............................................................... 61 Tabel 4.7 Nilai minimal dan maksimal output .............................................. 62 Tabel 4.8 Hasil pengujian unit ..................................................................... 65 Tabel 4.9 Hasil pengujian dengan berbagai input ......................................... 68
xiii
DAFTAR GAMBAR Gambar 2.1 Fungsi keanggotaan UMUR dengan representasi Gaussian (gaussmf) ................................................................................ 14 Gambar 2.2 Inferensi fuzzy sugeno orde 1 ................................................... 18 Gambar 2.3 Struktur sistem pakar ............................................................... 22 Gambar 2.4 Perubahan state ........................................................................ 30 Gambar 2.4 Fase RAD Martin .................................................................... 31 Gambar 2.5 Fase pengembangan sistem RAD Kendall ................................ 31 Gambar 2.6 RAD model Pressman ............................................................... 36 Gambar 2.7 Tampilan Matlab yang mengintegrasikan pengembangan algoritma, analisis data dan pengaturan project ........................................ 33 Gambar 2.8 Jendela command window ......................................................... 34 Gambar 2.9 Jendela command history .......................................................... 34 Gambar 2.10 Jendela launch pad ................................................................. 35 Gambar 2.11 Jendela Help dari command window ....................................... 35 Gamber 2.12 Jendela Help dari menu View .................................................. 36 Gambar 2.13 Jendela current directory ........................................................ 36 Gambar 2.14 Jendela workspace .................................................................. 36 Gambar 3.1 Kerangka pengembangan sistem ............................................... 51 Gambar 4.1 Membership function demam .................................................... 56 Gambar 4.2 Membership function nyeri otot dan sendi ................................. 57 Gambar 4.3 Membership function manifestasi pendarahan ........................... 58 Gambar 4.4 Membership function gangguan pencernaan .............................. 60 Gambar 4.5 Membership function kondisi lidah ........................................... 61
xiv
Gambar 4.6 Membership function output ..................................................... 60 Gambar 4.7 Flowchart proses keseluruhan ................................................... 66 Gambar 4.8 STD Menu Utama .................................................................... 66 Gambar 4.9 STD Masuk .............................................................................. 67 Gambar 4.10 STD Petunjuk pemakaian ....................................................... 67 Gambar 4.11 STD Tentang DBD dan Demam Tifoid ................................... 67 Gambar 4.12 STD Profil .............................................................................. 68 Gambar 4.13 Arsitektur logika fuzzy diagnosis ............................................. 68
xv
DAFTAR LAMPIRAN LAMPIRAN A - BASIS ATURAN (RULE BASE) ANFIS DIAGNOSIS DBD DAN DEMAM TIFOID ........................................ 92 LAMPIRAN B - PERANCANGAN TAMPILAN ..................................... 99 LAMPIRAN C - TAMPILAN APLIKASI ................................................. 105 LAMPIRAN D - INSTALASI MATLAB 7.8 ............................................ 110 LAMPIRAN E - KODE PROGRAM ......................................................... 114
xvi
DAFTAR ISTILAH
1.
Adaptif
: bersifat menyesuaikan
2.
Adekuat
: serasi, tepat
3.
Anoreksia
: keadaan lenyapnya nafsu makan karena gangguan penyakit tertentu
4.
Dpl
: di atas permukaan laut
5.
Epoh
: satu perulangan/ iterasi
6.
Event
: sesuatu yang terjadi pada waktu yang terbatas
7.
Faktual
: berdasarkan kenyataan, mengandung kebenaran
8.
Hematemesis
: muntah darah
9.
Hematokrit
: mengukur persentase volume sel darah merah (eristrosit) dalam seluruh darah dan secara normal bervariasi dari 40% sampai 54% untuk pria dan 37% sampai 47% untuk wanita.
10. Komplikasi
: penyakit yang baru timbul kemudian sebagai tambahan pada penyakit yang sudah ada
11. Manifestasi
: bentuk perwujudan
12. Melena
: pengeluaran feses yang berwarna hitam seperti ter yang disebabkan oleh adanya perdarahan saluran cerna bagian atas
13. Neuron
: sel saraf
14. Node
: simpul
15. State
: abstraksi dari nilai atribut dan link dalam sebuah obyek
xvii
Input No
Nyeri Demam
Otot &
Pendarahan
Sendi
Output Gangguan
Kondisi
Cerna
Lidah
Pakar
Model
1.
1
1
1
1
1
Tifoid
Tifoid
2.
1
1
1
1
5
Tifoid
Tifoid
3.
1
1
1
1
10
Cek lab
Cek lab
4.
1
1
1
5
1
Tifoid
Tifoid
5.
1
1
1
5
5
Observasi Observasi
6.
1
1
1
5
10
Observasi Observasi
7.
1
1
1
10
1
Tifoid
8.
1
1
1
10
5
Observasi Observasi
9.
1
1
1
10
10
Observasi Observasi
10.
1
1
5
1
1
Tifoid
Tifoid
11
1
1
5
1
5
Tifoid
Tifoid
12
1
1
5
1
10
Cek lab
Cek lab
13
1
1
5
5
1
Tifoid
Tifoid
14
1
1
5
5
5
Cek lab
Cek lab
15
1
1
5
5
10
Cek lab
Cek lab
16
1
1
5
10
1
Tifoid
Tifoid
17
1
1
5
10
5
Cek lab
Cek lab
18
1
1
5
10
10
Cek lab
Cek lab
19
1
1
10
1
1
Tifoid
Tifoid
20
1
1
10
1
5
Cek lab
Cek lab
21
1
1
10
1
10
Cek lab
Cek lab
22
1
1
10
5
1
Tifoid
Tifoid
23
1
1
10
5
5
Cek lab
Cek lab
24
1
1
10
5
10
Cek lab
Cek lab
25
1
1
10
10
1
Tifoid
Tifoid
26
1
1
10
10
5
Cek lab
Cek lab
Tifoid
27
1
1
10
10
10
Cek lab
Cek lab
28
1
5
1
1
1
Tifoid
Tifoid
29
1
5
1
1
5
Cek lab
Cek lab
30
1
5
1
1
10
Cek lab
Cek lab
31
1
5
1
5
1
Tifoid
Tifoid
32
1
5
1
5
5
Cek lab
Cek lab
33
1
5
1
5
10
Cek lab
Cek lab
34
1
5
1
10
1
Tifoid
Tifoid
35
1
5
1
10
5
Cek lab
Cek lab
36
1
5
1
10
10
Observasi Observasi
37
1
5
5
1
1
Tifoid
Tifoid
38
1
5
5
1
5
Cek lab
Cek lab
39
1
5
5
1
10
Tifoid
Tifoid
40
1
5
5
5
1
Tifoid
Tifoid
41
1
5
5
5
5
Cek lab
Cek lab
42
1
5
5
5
10
Cek lab
Cek lab
43
1
5
5
10
1
Tifoid
Tifoid
44
1
5
5
10
5
Cek lab
Cek lab
45
1
5
5
10
10
Cek lab
Cek lab
46
1
5
10
1
1
Tifoid
Tifoid
47
1
5
10
1
5
Tifoid
Tifoid
48
1
5
10
1
10
Tifoid
Tifoid
49
1
5
10
5
1
Tifoid
Tifoid
50
1
5
10
5
5
Cek lab
Cek lab
51
1
5
10
5
10
Cek lab
Cek lab
52
1
5
10
10
1
Tifoid
Tifoid
53
1
5
10
10
5
Cek lab
Cek lab
54
1
5
10
10
10
Cek lab
Cek lab
55
1
10
1
1
1
Tifoid
Tifoid
56
1
10
1
1
5
Cek lab
Cek lab
57
1
10
1
1
10
Cek lab
Cek lab
58
1
10
1
5
1
Tifoid
Tifoid
59
1
10
1
5
5
Cek lab
Cek lab
60
1
10
1
5
10
Cek lab
Cek lab
61
1
10
1
10
1
Tifoid
Tifoid
62
1
10
1
10
5
Cek lab
Cek lab
63
1
10
1
10
10
Observasi Observasi
64
1
10
5
1
1
Tifoid
Tifoid
65
1
10
5
1
5
Tifoid
Tifoid
66
1
10
5
1
10
Tifoid
Tifoid
67
1
10
5
5
1
Tifoid
Tifoid
68
1
10
5
5
5
Cek lab
Cek lab
69
1
10
5
5
10
Cek lab
Cek lab
70
1
10
5
10
1
Tifoid
Tifoid
71
1
10
5
10
5
Cek lab
Cek lab
72
1
10
5
10
10
Cek lab
Cek lab
73
1
10
10
1
1
Tifoid
Tifoid
74
1
10
10
1
5
Tifoid
Tifoid
75
1
10
10
1
10
Tifoid
Tifoid
76
1
10
10
5
1
Tifoid
Tifoid
90
1
10
10
5
5
Cek lab
Cek lab
78
1
10
10
5
10
Cek lab
Cek lab
79
1
10
10
10
1
Cek lab
Cek lab
80
1
10
10
10
5
Cek lab
Cek lab
81
1
10
10
10
10
Cek lab
Cek lab
82
5
1
1
1
1
Observasi Observasi
83
5
1
1
1
5
Observasi Observasi
84
5
1
1
1
10
Observasi Observasi
85
5
1
1
5
1
Observasi Observasi
86
5
1
1
5
5
Observasi Observasi
87
5
1
1
5
10
Observasi Observasi
88
5
1
1
10
1
Observasi Observasi
89
5
1
1
10
5
Observasi Cek lab
90
5
1
1
10
10
Observasi Observasi
91
5
1
5
1
1
Cek lab
Cek lab
92
5
1
5
1
5
Cek lab
Cek lab
93
5
1
5
1
10
Cek lab
Cek lab
94
5
1
5
5
1
Cek lab
Cek lab
95
5
1
5
5
5
Cek lab
Cek lab
96
5
1
5
5
10
Cek lab
Cek lab
97
5
1
5
10
1
Cek lab
Cek lab
98
5
1
5
10
5
Cek lab
Cek lab
99
5
1
5
10
10
Cek lab
Cek lab
100
5
1
10
1
1
Cek lab
Cek lab
101
5
1
10
1
5
Cek lab
Cek lab
102
5
1
10
1
10
Cek lab
Cek lab
103
5
1
10
5
1
Cek lab
Cek lab
104
5
1
10
5
5
Cek lab
Cek lab
105
5
1
10
5
10
Cek lab
Cek lab
106
5
1
10
10
1
Cek lab
Cek lab
107
5
1
10
10
5
Cek lab
Cek lab
108
5
1
10
10
10
Cek lab
Cek lab
109
5
5
1
1
1
Observasi Observasi
110
5
5
1
1
5
Observasi Observasi
111
5
5
1
1
10
Observasi Observasi
112
5
5
1
5
1
Observasi Observasi
113
5
5
1
5
5
Observasi Observasi
114
5
5
1
5
10
Observasi Observasi
115
5
5
1
10
1
Observasi Observasi
116
5
5
1
10
5
Observasi Observasi
117
5
5
1
10
10
Observasi Observasi
118
5
5
5
1
1
Cek lab
Cek lab
119
5
5
5
1
5
Cek lab
Cek lab
120
5
5
5
1
10
Cek lab
Cek lab
121
5
5
5
5
1
Cek lab
Cek lab
122
5
5
5
5
5
Cek lab
Cek lab
123
5
5
5
5
10
Cek lab
Cek lab
124
5
5
5
10
1
Cek lab
Cek lab
25
5
5
5
10
5
Cek lab
Cek lab
126
5
5
5
10
10
Cek lab
Cek lab
127
5
5
10
1
1
Cek lab
Cek lab
128
5
5
10
1
5
Cek lab
Cek lab
129
5
5
10
1
10
Cek lab
Cek lab
130
5
5
10
5
1
Cek lab
Cek lab
131
5
5
10
5
5
Cek lab
Cek lab
132
5
5
10
5
10
Cek lab
Cek lab
133
5
5
10
10
1
Cek lab
Cek lab
134
5
5
10
10
5
Cek lab
Cek lab
135
5
5
10
10
10
Cek lab
Cek lab
136
5
10
1
1
1
Observasi Observasi
137
5
10
1
1
5
Observasi Observasi
138
5
10
1
1
10
Observasi Observasi
139
5
10
1
5
1
Observasi Observasi
140
5
10
1
5
5
Observasi Observasi
141
5
10
1
5
10
Observasi Observasi
142
5
10
1
10
1
Observasi Observasi
143
5
10
1
10
5
Observasi Observasi
144
5
10
1
10
10
Observasi Observasi
145
5
10
5
1
1
Cek lab
Cek lab
146
5
10
5
1
5
Cek lab
Cek lab
147
5
10
5
1
10
Cek lab
Cek lab
148
5
10
5
5
1
Cek lab
Cek lab
149
5
10
5
5
5
Cek lab
Cek lab
150
5
10
5
5
10
Cek lab
Cek lab
151
5
10
5
10
1
Cek lab
Cek lab
152
5
10
5
10
5
Cek lab
Cek lab
153
5
10
5
10
10
Cek lab
Cek lab
154
5
10
10
1
1
Cek lab
Cek lab
155
5
10
10
1
5
Cek lab
Cek lab
156
5
10
10
1
10
Cek lab
Cek lab
157
5
10
10
5
1
Cek lab
Cek lab
158
5
10
10
5
5
Cek lab
Cek lab
159
5
10
10
5
10
Cek lab
Cek lab
160
5
10
10
10
1
Cek lab
Cek lab
161
5
10
10
10
5
Cek lab
Cek lab
162
5
10
10
10
10
Cek lab
Cek lab
163
10
1
1
1
1
Cek lab
Cek lab
164
10
1
1
1
5
Cek lab
Cek lab
165
10
1
1
1
10
Cek lab
Cek lab
166
10
1
1
5
1
Observasi Observasi
167
10
1
1
5
5
Observasi Observasi
168
10
1
1
5
10
Observasi Observasi
169
10
1
1
10
1
Observasi Observasi
170
10
1
1
10
5
Observasi Observasi
171
10
1
1
10
10
Observasi Observasi
172
10
1
5
1
1
DBD
DBD
173
10
1
5
1
5
DBD
DBD
174
10
1
5
1
10
DBD
DBD
175
10
1
5
5
1
DBD
DBD
176
10
1
5
5
5
DBD
DBD
177
10
1
5
5
10
DBD
DBD
178
10
1
5
10
1
DBD
DBD
179
10
1
5
10
5
DBD
DBD
180
10
1
5
10
10
DBD
DBD
181
10
1
10
1
1
DBD
DBD
182
10
1
10
1
5
DBD
DBD
183
10
1
10
1
10
DBD
DBD
184
10
1
10
5
1
DBD
DBD
185
10
1
10
5
5
DBD
DBD
186
10
1
10
5
10
DBD
DBD
187
10
1
10
10
1
DBD
DBD
188
10
1
10
10
5
DBD
DBD
189
10
1
10
10
10
DBD
DBD
190
10
5
1
1
1
Cek lab
Cek lab
191
10
5
1
1
5
Cek lab
Cek lab
192
10
5
1
1
10
Cek lab
Cek lab
193
10
5
1
5
1
Cek lab
Cek lab
194
10
5
1
5
5
Cek lab
Cek lab
195
10
5
1
5
10
Cek lab
Cek lab
196
10
5
1
10
1
Cek lab
Cek lab
197
10
5
1
10
5
Cek lab
Cek lab
198
10
5
1
10
10
Cek lab
Cek lab
199
10
5
5
1
1
DBD
DBD
200
10
5
5
1
5
DBD
DBD
201
10
5
5
1
10
DBD
DBD
202
10
5
5
5
1
DBD
DBD
203
10
5
5
5
5
DBD
DBD
204
10
5
5
5
10
DBD
DBD
205
10
5
5
10
1
DBD
DBD
206
10
5
5
10
5
DBD
DBD
207
10
5
5
10
10
DBD
DBD
208
10
5
10
1
1
DBD
DBD
209
10
5
10
1
5
DBD
DBD
210
10
5
10
1
10
DBD
DBD
211
10
5
10
5
1
DBD
DBD
212
10
5
10
5
5
DBD
DBD
213
10
5
10
5
10
DBD
DBD
214
10
5
10
10
1
DBD
DBD
215
10
5
10
10
5
DBD
DBD
216
10
5
10
10
10
DBD
DBD
217
10
10
1
1
1
Cek lab
Cek lab
218
10
10
1
1
5
Cek lab
Cek lab
219
10
10
1
1
10
Cek lab
Cek lab
220
10
10
1
5
1
Cek lab
Cek lab
221
10
10
1
5
5
Cek lab
Cek lab
222
10
10
1
5
10
Cek lab
Cek lab
223
10
10
1
10
1
Cek lab
Cek lab
224
10
10
1
10
5
Cek lab
Cek lab
225
10
10
1
10
10
Cek lab
Cek lab
226
10
10
5
1
1
DBD
DBD
227
10
10
5
1
5
DBD
DBD
228
10
10
5
1
10
DBD
DBD
229
10
10
5
5
1
DBD
DBD
230
10
10
5
5
5
DBD
DBD
231
10
10
5
5
10
DBD
DBD
232
10
10
5
10
1
DBD
DBD
233
10
10
5
10
5
DBD
DBD
234
10
10
5
10
10
DBD
DBD
235
10
10
10
1
1
DBD
DBD
236
10
10
10
1
5
DBD
DBD
237
10
10
10
1
10
DBD
DBD
238
10
10
10
5
1
DBD
DBD
239
10
10
10
5
5
DBD
DBD
240
10
10
10
5
10
DBD
DBD
241
10
10
10
10
1
DBD
DBD
242
10
10
10
10
5
DBD
DBD
243
10
10
10
10
10
DBD
DBD
Basis Aturan (rule base) diagnosis DBD dan demam tifoid Rule ke1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
Demam Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap
Nyeri otot&sendi Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Sgt Mengganggu
Pendarahan Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Tdk jelas
Gangguan pencernaan Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi
Lidah Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput
Diagnosis D.Tifoid D Tifoid Cek lab D.Tifoid Observasi Observasi D Tifoid Observasi Observasi D Tifoid D Tifoid Cek lab D Tifoid Cek lab Cek lab D typhoid Cek lab Cek lab D typhoid Cek lab Cek lab D typhoid Cek lab Cek lab D typhoid Cek lab Cek lab D typhoid Cek lab Cek lab D typhoid Cek lab Cek lab D typhoid Cek lab Observasi D typhoid Cek lab D typhoid D typhoid Cek lab Cek lab D tryphoid Cek lab Cek lab D typhoid D typhoid D typhoid D Typhoid Cek lab Cek lab D typhoid Cek lab Cek lab D typhoid
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Bertahap Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu
Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu
Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas
Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu
Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput
Cek lab Cek lab D typhoid Cek lab Cek lab D typhoid Cek lab Observasi D typhoid D typhoid D typhoid D typhoid Cek lab Cek lab D typhoid Cek lab Cek lab D typhoid D typhoid D typhoid D typhoid Cek lab Cek lab Cek lab Cek lab Cek lab Observasi Observasi observasi Observasi Observasi Observasi Observasi Observasi Observasi Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Observasi Observasi Observasi Observasi Observasi Observasi
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Ragu-ragu Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak
Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu
Tdk jelas Tdk jelas Tdk jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Jelas Jelas
Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi
Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu
Observasi Observasi Observasi Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Observasi Observasi Observasi Observasi Observasi Observasi Observasi Observasi Observasi Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Observasi Observasi Observasi Observasi Observasi Observasi DBD DBD
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232
Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak
Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Tdk mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu
Jelas Jelas Jelas Jelas Jelas Jelas Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Tdk jelas Jelas Jelas Jelas Jelas Jelas Jelas Jelas
Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi
Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput
DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD DBD Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab Cek lab DBD DBD DBD DBD DBD DBD DBD
233 234 235 236 237 238 239 240 241 242 243
Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak Mendadak
Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu Sgt Mengganggu
Jelas Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas Sgt Jelas
Tdk terjadi Tdk terjadi Terjadi Terjadi Terjadi Ragu-ragu Ragu-ragu Ragu-ragu Tdk terjadi Tdk terjadi Tdk terjadi
Catatan : Tdk : Tidak Sgt : Sangat D.Tifoid : demam tifoid *hanya contoh
Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput Berselaput Ragu-ragu Tdk berselaput
DBD DBD DBD DBD DBD DBD* DBD* DBD* DBD* DBD* DBD*
LAMPIRAN A BASIS ATURAN (RULE BASE) ANFIS DIAGNOSIS DBD DAN DEMAM TIFOID Rule1 Rule2 Rule3 Rule4 Rule5 Rule6 Rule7 Rule8 Rule9 Rule10 Rule11 Rule12 Rule13 Rule14 Rule15 Rule16 Rule17 Rule18 Rule19 Rule20 Rule21 Rule22 Rule23 Rule24 Rule25 Rule26 Rule27 Rule28 Rule29 Rule30 Rule31 Rule32 Rule33 Rule34
IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis = ((0,25*D)+(0,25*NOS)+(0,25*P)+(0,25*GC)+(0,25*L)+2)/5 IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis= Diagnosis = ((0,25*D)+(0,25*nyeriOtot&Sendi)+(0,25*pendarahan)+(0,25*gangguCerna)+(0,5*lidah)+2)/5 IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,25*nyeriOtot&Sendi)+(0,25*pendarahan)+(0,25*gangguCerna)+(0,75*lidah)+2)/5 IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,25*nyeriOtot&Sendi)+(0,25*pendarahan)+(0,25*gangguCerna)+(0,75*lidah)+2)/5 IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu-ragu AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi tidak _mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,25*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+(
92
93 Rule35 Rule36 Rule37 Rule38 Rule39 Rule40 Rule41 Rule42 Rule43 Rule44 Rule45 Rule46 Rule47 Rule48 Rule49 Rule50 Rule51 Rule52 Rule53 Rule54 Rule55 Rule56 Rule57 Rule58 Rule59 Rule60 Rule61 Rule62 Rule63 Rule64 Rule65 Rule66 Rule67 Rule68 Rule69 Rule70 Rule71 Rule72 Rule-
IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu ragu_ragu AND pendarahan sangat_jelas AND gangguan_pencernaan AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,5*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan raguu-ragu AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND
94 73 Rule74 Rule75 Rule76 Rule77 Rule78 Rule79 Rule80 Rule81 Rule82 Rule83 Rule84 Rule85 Rule86 Rule87 Rule88 Rule89 Rule90 Rule91 Rule92 Rule93 Rule94 Rule95 Rule96 Rule97 Rule98 Rule99 Rule100 Rule101 Rule102 Rule103 Rule104 Rule105 Rule106 Rule107 Rule108 Rule109 Rule110 Rule111
gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam bertahap AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,25*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,25*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+(
95 Rule112 Rule113 Rule114 Rule115 Rule116 Rule117 Rule118 Rule119 Rule120 Rule121 Rule122 Rule123 Rule124 Rule125 Rule126 Rule127 Rule128 Rule129 Rule130 Rule131 Rule132 Rule133 Rule134 Rule135 Rule136 Rule137 Rule138 Rule139 Rule140 Rule141 Rule142 Rule143 Rule144 Rule145 Rule146 Rule147 Rule148 Rule149 Rule-
IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,5*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND
96 150 Rule151 Rule152 Rule153 Rule154 Rule155 Rule156 Rule157 Rule158 Rule159 Rule160 Rule161 Rule162 Rule163 Rule164 Rule165 Rule166 Rule167 Rule168 Rule169 Rule170 Rule171 Rule172 Rule173 Rule174 Rule175 Rule176 Rule177 Rule178 Rule179 Rule180 Rule181 Rule182 Rule183 Rule184 Rule185 Rule186 Rule187 Rule188
gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam ragu-ragu AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,5*D)+(0,75*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND tidak_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,25*NOS)+(
97 Rule189 Rule190 Rule191 Rule192 Rule193 Rule194 Rule195 Rule196 Rule197 Rule198 Rule199 Rule200 Rule201 Rule202 Rule203 Rule204 Rule205 Rule206 Rule207 Rule208 Rule209 Rule210 Rule211 Rule212 Rule213 Rule214 Rule215 Rule216 Rule217 Rule218 Rule219 Rule220 Rule221 Rule222 Rule223 Rule224 Rule225 Rule226 Rule-
IF demam mendadak AND nyeri otot&sendi tidak_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,25*NOS)+( IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,5*NOS)+( IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,5*NOS)+( IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,5*NOS)+( IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,5*NOS)+( IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+(0,5*NOS)+( IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(0,5*NOS)+( IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+(0,5*NOS)+( IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sjelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan ragu-ragu AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan tidak_jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND
98 227 Rule228 Rule229 Rule230 Rule231 Rule232 Rule233 Rule234 Rule235 Rule236 Rule237 Rule238 Rule239 Rule240 Rule241 Rule242 Rule243
gangguan_pencernaan terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu-ragu AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan ragu_ragu AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan jelas AND gangguan_pencernaan tidak_terjadi AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan AND lidah berselaput THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan AND lidah ragu-ragu THEN Diagnosis=((0,75*D)+ IF demam mendadak AND nyeri otot&sendi sangat_mengganggu AND pendarahan sangat_jelas AND gangguan_pencernaan AND lidah tidak_berselaput THEN Diagnosis=((0,75*D)+(
LAMPIRAN B PERANCANGAN TAMPILAN
1. Perancangan halaman menu utama
JUDUL APLIKASI TOMBOL MASUK TOMBOL PETUNJUK PEMAKAIAN
PENULIS TOMBOL TENTANG PROGRAM
TOMBOL PROFIL TOMBOL KELUAR
2. Perancangan halaman input gejala 1
GEJALA 1
PERTANYAAN GEJALA 1 JAWABAN
KETERANGAN GEJALA 1
TOMBOL KE GEJALA 2
99
100
3. Perancangan halaman input gejala 2
GEJALA 2
PERTANYAAN GEJALA 2 JAWABAN
KETERANGAN GEJALA 2
TOMBOL KE GEJALA 3
4. Perancangan halaman input gejala
GEJALA 3
PERTANYAAN GEJALA 3 JAWABAN
KETERANGAN GEJALA 3
TOMBOL KE GEJALA 4
101
5. Perancangan halaman input gejala 4
GEJALA 4
PERTANYAAN GEJALA 4 JAWABAN
KETERANGAN GEJALA 4
TOMBOL KE GEJALA 5
6. Perancangan halaman input gejala 5
GEJALA 4
PERTANYAAN GEJALA 4 JAWABAN
KETERANGAN GEJALA 4
TOMBOL KE GEJALA 5
102
7. Perancangan halaman diagnosis
INPUT GEJALA YANG DIMASUKKAN
TOMBOL ULANGI INPUT
TOMBOL DIAGNOSIS
8. Perancangan halaman hasil diagnosis
HASIL DIAGNOSIS DAN TATA LAKSANANYA
TOMBOL MENU UTAMA
TOMBOL KELUAR
103
9. Perancangan halaman petunjuk pemakaian
PETUNJUK PEMAKAIAN
TOMBOL MENU UTAMA
10. Perancangan halaman tentang DBD dan demam tifoid
PENJELASAN TENTANG DBD & TIFOID
TOMBOL MENU UTAMA
104
11. Perancangan halaman profil penulis
PROFIL PENULIS
TOMBOL MENU UTAMA
LAMPIRAN C TAMPILAN APLIKASI
1. Halaman menu utama
2. Halaman input gejala 1
3. Halaman input gejala 2
105
106
4. Halaman input gejala 3
5. Halaman input gejala 4
6. Halaman input gejala 5
107
7. Halaman diagnosis
8. Halaman hasil diagnosis demam tifoid
9. Halaman hasil diagnosis observasi
108
10. Halaman hasil diagnosis cek lab
11. Halaman hasil diagnosis DBD
12. Halaman petunjuk pemakaian
109
13. Halaman tentang DBD dan demam tifoid
14. Halaman profil penulis
LAMPIRAN D INSTALASI MATLAB 7.8
1. Buka file setup.exe dari sumber proram Matlab (CD atau media lain), maka akan ditampilkan jendela installer Matlab seperti berikut :
Pilih ‘Install manually without using internet’ karena kita tidak terkoneksi ke internet, jika terkoneksi ke internet, pilih ‘Install automatically using the internet’ Kemudian klik Next. 2. Pada jendela License Aggreement, pilih radio button Yes kemudian klik Next.
110
111
3. Pada jendela File Installation Key pilih radio button ‘I have the file installation key for my license’ kemudian masukkan key installation 11111-11111-02011-44270. Masukkan key installation 11111-1111102011-06717 jika kita menggunakan instalasi lewat internet. Setelah kita masukkan key installation, klik Next.
4. Pada jendela Installation Type pilih radio button typical, klik Next.
5. Pada jendela Folder Selection, ketikkan lokasi tempat yang kita inginkan untuk menginstal Matlab atau biarkan default (biasanya diarahkan di Program File) kemudian klik Next.
112
6. Selanjutnya akan ditampilkan jendela confirmation yang memberikan penjelasan tentang product-product yang kita install. Lalu klik Install
7. Proses instalasi akan dimulai, tunggu prosesnya sampai complete (100%) dan akan keluar jendela aktivasi Matlab, pilih radio button ‘Activate manually without the internet’ kemudian klik Next.
113
8. Masukkan path lokasi tempat kita menyimpan file ‘lic_standalone.dat’ yang terdapat pada folder ‘crack’ dengan cara browse kemudian klik Next.
9. Program Matlab telah berhasil di install dan di aktivasi.
LAMPIRAN E KODE PROGRAM
1. Menu Utama function varargout = menuUtama(varargin) % MENUUTAMA M-file for menuUtama.fig % MENUUTAMA, by itself, creates a new MENUUTAMA or raises the existing % singleton*. % % H = MENUUTAMA returns the handle to a new MENUUTAMA or the handle to % the existing singleton*. % % MENUUTAMA('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in MENUUTAMA.M with the given input arguments. % % MENUUTAMA('Property','Value',...) creates a new MENUUTAMA or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before menuUtama_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to menuUtama_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help menuUtama % Last Modified by GUIDE v2.5 21-Oct-2010 17:45:48 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @menuUtama_OpeningFcn, ... 'gui_OutputFcn', @menuUtama_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});
114
115
end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before menuUtama is made visible. function menuUtama_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to menuUtama (see VARARGIN) % Choose default command line output for menuUtama handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes menuUtama wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = menuUtama_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) gejala1 close menuUtama
% --- Executes on button press in pushbutton2.
116
function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) petunjuk close menuUtama % --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) tentangProgram close menuUtama
% --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) profil close menuUtama
% --- Executes on button press in pushbutton5. function pushbutton5_Callback(hObject, eventdata, handles) % hObject handle to pushbutton5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close all
% --- Executes on mouse press over figure background, over a disabled or % --- inactive control, or over an axes background. function figure1_WindowButtonDownFcn(hObject, eventdata, handles) % hObject handle to figure1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
2. Gejala 1 function varargout = gejala1(varargin) % GEJALA1 M-file for gejala1.fig % GEJALA1, by itself, creates a new GEJALA1 or raises the existing % singleton*. %
117
% H = GEJALA1 returns the handle to a new GEJALA1 or the handle to % the existing singleton*. % % GEJALA1('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in GEJALA1.M with the given input arguments. % % GEJALA1('Property','Value',...) creates a new GEJALA1 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before gejala1_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to gejala1_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help gejala1 % Last Modified by GUIDE v2.5 19-Oct-2010 22:30:20 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @gejala1_OpeningFcn, ... 'gui_OutputFcn', @gejala1_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before gejala1 is made visible. function gejala1_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure
118
% eventdata MATLAB % handles % varargin
reserved - to be defined in a future version of structure with handles and user data (see GUIDATA) command line arguments to gejala1 (see VARARGIN)
% Choose default command line output for gejala1 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes gejala1 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = gejala1_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');
119
end
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dat1=str2num(get(handles.edit1,'string')); if dat1<0 || dat1>10 warndlg('Nilai yang Anda masukkan diluar jangkauan!','Peringatan') else csvwrite('dat1.dat',dat1); gejala2 close gejala1 end
3. Gejala 2 function varargout = gejala2(varargin) % GEJALA2 M-file for gejala2.fig % GEJALA2, by itself, creates a new GEJALA2 or raises the existing % singleton*. % % H = GEJALA2 returns the handle to a new GEJALA2 or the handle to % the existing singleton*. % % GEJALA2('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in GEJALA2.M with the given input arguments. % % GEJALA2('Property','Value',...) creates a new GEJALA2 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before gejala2_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to gejala2_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help gejala2
120
% Last Modified by GUIDE v2.5 12-Nov-2010 13:43:43 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @gejala2_OpeningFcn, ... 'gui_OutputFcn', @gejala2_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before gejala2 is made visible. function gejala2_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to gejala2 (see VARARGIN) % Choose default command line output for gejala2 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes gejala2 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = gejala2_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
121
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dat2=str2num(get(handles.edit1,'string')); if dat2<0 || dat2>10 warndlg('Nilai yang Anda masukkan diluar jangkauan!','Peringatan') else csvwrite('dat2.dat',dat2); gejala3 close gejala2 end
4. Gejala 3 function varargout = gejala3(varargin) % GEJALA3 M-file for gejala3.fig % GEJALA3, by itself, creates a new GEJALA3 or raises the existing % singleton*.
122
% % H = GEJALA3 returns the handle to a new GEJALA3 or the handle to % the existing singleton*. % % GEJALA3('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in GEJALA3.M with the given input arguments. % % GEJALA3('Property','Value',...) creates a new GEJALA3 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before gejala3_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to gejala3_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help gejala3 % Last Modified by GUIDE v2.5 12-Nov-2010 13:44:09 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @gejala3_OpeningFcn, ... 'gui_OutputFcn', @gejala3_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before gejala3 is made visible. function gejala3_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure
123
% eventdata MATLAB % handles % varargin
reserved - to be defined in a future version of structure with handles and user data (see GUIDATA) command line arguments to gejala3 (see VARARGIN)
% Choose default command line output for gejala3 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes gejala3 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = gejala3_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');
124
end
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dat3=str2num(get(handles.edit1,'string')); if dat3<0 || dat3>10 warndlg('Nilai yang Anda masukkan diluar jangkauan!','Peringatan') else csvwrite('dat3.dat',dat3); gejala4 close gejala3 end
5. Gejala 4 function varargout = gejala4(varargin) % GEJALA4 M-file for gejala4.fig % GEJALA4, by itself, creates a new GEJALA4 or raises the existing % singleton*. % % H = GEJALA4 returns the handle to a new GEJALA4 or the handle to % the existing singleton*. % % GEJALA4('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in GEJALA4.M with the given input arguments. % % GEJALA4('Property','Value',...) creates a new GEJALA4 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before gejala4_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to gejala4_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help gejala4
125
% Last Modified by GUIDE v2.5 19-Oct-2010 22:49:31 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @gejala4_OpeningFcn, ... 'gui_OutputFcn', @gejala4_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before gejala4 is made visible. function gejala4_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to gejala4 (see VARARGIN) % Choose default command line output for gejala4 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes gejala4 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = gejala4_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
126
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dat4=str2num(get(handles.edit1,'string')); if dat4<0 || dat4>10 warndlg('Nilai yang Anda masukkan diluar jangkauan!','Peringatan') else csvwrite('dat4.dat',dat4); gejala5 close gejala4 end
6. Gejala 5 function varargout = gejala5(varargin) % GEJALA5 M-file for gejala5.fig % GEJALA5, by itself, creates a new GEJALA5 or raises the existing % singleton*.
127
% % H = GEJALA5 returns the handle to a new GEJALA5 or the handle to % the existing singleton*. % % GEJALA5('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in GEJALA5.M with the given input arguments. % % GEJALA5('Property','Value',...) creates a new GEJALA5 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before gejala5_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to gejala5_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help gejala5 % Last Modified by GUIDE v2.5 18-Nov-2010 21:37:06 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @gejala5_OpeningFcn, ... 'gui_OutputFcn', @gejala5_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before gejala5 is made visible. function gejala5_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure
128
% eventdata MATLAB % handles % varargin
reserved - to be defined in a future version of structure with handles and user data (see GUIDATA) command line arguments to gejala5 (see VARARGIN)
% Choose default command line output for gejala5 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes gejala5 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = gejala5_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');
129
end
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dat5=str2num(get(handles.edit1,'string')); if dat5<0 || dat5>10 warndlg('Nilai yang Anda masukkan diluar jangkauan!','Peringatan') else csvwrite('dat5.dat',dat5); diagnosis close gejala5 end
7. Cekmf function diagnosis=cekmf(nilai) mf1=evalmf(nilai,[0 2 3.99],'trimf') mf2=evalmf(nilai,[3 4.5 5.9],'trimf') mf3=evalmf(nilai,[5 6.5 7.9],'trimf') mf4=evalmf(nilai,[7 8.5 10],'trimf') if nilai<=3.99 diagnosis=0; else if nilai>3 && nilai<=5 diagnosis=1; else if nilai>5 && nilai<=7 diagnosis=2; else if nilai>7 && nilai<=10 diagnosis=3; end end end end
8. Diagnosis function varargout = diagnosis(varargin) % DIAGNOSIS M-file for diagnosis.fig % DIAGNOSIS, by itself, creates a new DIAGNOSIS or raises the existing % singleton*. % % H = DIAGNOSIS returns the handle to a new DIAGNOSIS or the handle to
130
% the existing singleton*. % % DIAGNOSIS('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in DIAGNOSIS.M with the given input arguments. % % DIAGNOSIS('Property','Value',...) creates a new DIAGNOSIS or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before diagnosis_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to diagnosis_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help diagnosis % Last Modified by GUIDE v2.5 18-Nov-2010 23:52:04 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @diagnosis_OpeningFcn, ... 'gui_OutputFcn', @diagnosis_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before diagnosis is made visible. function diagnosis_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB
131
% handles % varargin
structure with handles and user data (see GUIDATA) command line arguments to diagnosis (see VARARGIN)
% Choose default command line output for diagnosis handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes diagnosis wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = diagnosis_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
%
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dat1=load('dat1.dat'); dat2=load('dat2.dat'); dat3=load('dat3.dat'); dat4=load('dat4.dat'); dat5=load('dat5.dat'); fis=readfis('pakarDBDTifoid'); fis.andMethod='min'; fis.orMethod='max'; fis.impMethod='min'; fis.aggMethod='max'; %out_fis=genfis(fis); hasil=evalfis([dat1 dat2 dat3 dat4 dat5],fis); diagnosis=cekmf(hasil) if diagnosis==0 diagnosis0 else
132
if diagnosis==1 diagnosis1 else if diagnosis ==2 diagnosis2 else diagnosis3 end end end close diagnosis
% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) gejala1 close diagnosis
function editGejala_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties. function editGejala_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in pushbutton3. function pushbutton3_Callback(hObject, eventdata, handles)
133
% hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dat1=load('dat1.dat'); dat2=load('dat2.dat'); dat3=load('dat3.dat'); dat4=load('dat4.dat'); dat5=load('dat5.dat'); out1=num2str(dat1); out2=num2str(dat2); out3=num2str(dat3); out4=num2str(dat4); out5=num2str(dat5); set(handles.out1,'String',out1); set(handles.out2,'String',out2); set(handles.out3,'String',out3); set(handles.out4,'String',out4); set(handles.out5,'String',out5); guidata(hObject,handles);
function out1_Callback(hObject, eventdata, handles) % hObject handle to out1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of out1 as text % str2double(get(hObject,'String')) returns contents of out1 as a double
% --- Executes during object creation, after setting all properties. function out1_CreateFcn(hObject, eventdata, handles) % hObject handle to out1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function out2_Callback(hObject, eventdata, handles) % hObject handle to out2 (see GCBO)
134
% eventdata MATLAB % handles
reserved - to be defined in a future version of structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of out2 as text % str2double(get(hObject,'String')) returns contents of out2 as a double
% --- Executes during object creation, after setting all properties. function out2_CreateFcn(hObject, eventdata, handles) % hObject handle to out2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function out3_Callback(hObject, eventdata, handles) % hObject handle to out3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of out3 as text % str2double(get(hObject,'String')) returns contents of out3 as a double
% --- Executes during object creation, after setting all properties. function out3_CreateFcn(hObject, eventdata, handles) % hObject handle to out3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
135
function out4_Callback(hObject, eventdata, handles) % hObject handle to out4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of out4 as text % str2double(get(hObject,'String')) returns contents of out4 as a double
% --- Executes during object creation, after setting all properties. function out4_CreateFcn(hObject, eventdata, handles) % hObject handle to out4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function out5_Callback(hObject, eventdata, handles) % hObject handle to out5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of out5 as text % str2double(get(hObject,'String')) returns contents of out5 as a double
% --- Executes during object creation, after setting all properties. function out5_CreateFcn(hObject, eventdata, handles) % hObject handle to out5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.
136
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
9. Diagnosis0 function varargout = diagnosis0(varargin) % DIAGNOSIS0 M-file for diagnosis0.fig % DIAGNOSIS0, by itself, creates a new DIAGNOSIS0 or raises the existing % singleton*. % % H = DIAGNOSIS0 returns the handle to a new DIAGNOSIS0 or the handle to % the existing singleton*. % % DIAGNOSIS0('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in DIAGNOSIS0.M with the given input arguments. % % DIAGNOSIS0('Property','Value',...) creates a new DIAGNOSIS0 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before diagnosis0_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to diagnosis0_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help diagnosis0 % Last Modified by GUIDE v2.5 12-Nov-2010 03:33:01 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @diagnosis0_OpeningFcn, ... 'gui_OutputFcn', @diagnosis0_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});
137
end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before diagnosis0 is made visible. function diagnosis0_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to diagnosis0 (see VARARGIN) % Choose default command line output for diagnosis0 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes diagnosis0 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = diagnosis0_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close all
138
10. Diagnosis1 function varargout = diagnosis1(varargin) % DIAGNOSIS1 M-file for diagnosis1.fig % DIAGNOSIS1, by itself, creates a new DIAGNOSIS1 or raises the existing % singleton*. % % H = DIAGNOSIS1 returns the handle to a new DIAGNOSIS1 or the handle to % the existing singleton*. % % DIAGNOSIS1('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in DIAGNOSIS1.M with the given input arguments. % % DIAGNOSIS1('Property','Value',...) creates a new DIAGNOSIS1 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before diagnosis1_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to diagnosis1_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help diagnosis1 % Last Modified by GUIDE v2.5 18-Nov-2010 21:40:49 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @diagnosis1_OpeningFcn, ... 'gui_OutputFcn', @diagnosis1_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end
139
% End initialization code - DO NOT EDIT
% --- Executes just before diagnosis1 is made visible. function diagnosis1_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to diagnosis1 (see VARARGIN) % Choose default command line output for diagnosis1 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes diagnosis1 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = diagnosis1_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close all
11. Diagnosis2 function varargout = diagnosis2(varargin) % DIAGNOSIS2 M-file for diagnosis2.fig % DIAGNOSIS2, by itself, creates a new DIAGNOSIS2 or raises the existing % singleton*.
140
% % H = DIAGNOSIS2 returns the handle to a new DIAGNOSIS2 or the handle to % the existing singleton*. % % DIAGNOSIS2('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in DIAGNOSIS2.M with the given input arguments. % % DIAGNOSIS2('Property','Value',...) creates a new DIAGNOSIS2 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before diagnosis2_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to diagnosis2_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help diagnosis2 % Last Modified by GUIDE v2.5 12-Nov-2010 03:37:51 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @diagnosis2_OpeningFcn, ... 'gui_OutputFcn', @diagnosis2_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before diagnosis2 is made visible. function diagnosis2_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.
141
% hObject % eventdata MATLAB % handles % varargin
handle to figure reserved - to be defined in a future version of structure with handles and user data (see GUIDATA) command line arguments to diagnosis2 (see VARARGIN)
% Choose default command line output for diagnosis2 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes diagnosis2 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = diagnosis2_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close all
12. Diagnosis3 function varargout = diagnosis3(varargin) % DIAGNOSIS3 M-file for diagnosis3.fig % DIAGNOSIS3, by itself, creates a new DIAGNOSIS3 or raises the existing % singleton*. % % H = DIAGNOSIS3 returns the handle to a new DIAGNOSIS3 or the handle to % the existing singleton*. % % DIAGNOSIS3('CALLBACK',hObject,eventData,handles,...) calls the local
142
% function named CALLBACK in DIAGNOSIS3.M with the given input arguments. % % DIAGNOSIS3('Property','Value',...) creates a new DIAGNOSIS3 or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before diagnosis3_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to diagnosis3_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help diagnosis3 % Last Modified by GUIDE v2.5 12-Nov-2010 03:38:43 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @diagnosis3_OpeningFcn, ... 'gui_OutputFcn', @diagnosis3_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before diagnosis3 is made visible. function diagnosis3_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to diagnosis3 (see VARARGIN) % Choose default command line output for diagnosis3
143
handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes diagnosis3 wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = diagnosis3_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close all
13. Petunjuk pemakaian function varargout = petunjuk(varargin) % PETUNJUK M-file for petunjuk.fig % PETUNJUK, by itself, creates a new PETUNJUK or raises the existing % singleton*. % % H = PETUNJUK returns the handle to a new PETUNJUK or the handle to % the existing singleton*. % % PETUNJUK('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in PETUNJUK.M with the given input arguments. % % PETUNJUK('Property','Value',...) creates a new PETUNJUK or raises the % existing singleton*. Starting from the left, property value pairs are
144
% applied to the GUI before petunjuk_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to petunjuk_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help petunjuk % Last Modified by GUIDE v2.5 12-Nov-2010 01:00:47 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @petunjuk_OpeningFcn, ... 'gui_OutputFcn', @petunjuk_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before petunjuk is made visible. function petunjuk_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to petunjuk (see VARARGIN) % Choose default command line output for petunjuk handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes petunjuk wait for user response (see UIRESUME) % uiwait(handles.figure1);
145
% --- Outputs from this function are returned to the command line. function varargout = petunjuk_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) menuUtama close petunjuk
tentang program function varargout = tentangProgram(varargin) % TENTANGPROGRAM M-file for tentangProgram.fig % TENTANGPROGRAM, by itself, creates a new TENTANGPROGRAM or raises the existing % singleton*. % % H = TENTANGPROGRAM returns the handle to a new TENTANGPROGRAM or the handle to % the existing singleton*. % % TENTANGPROGRAM('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in TENTANGPROGRAM.M with the given input arguments. % % TENTANGPROGRAM('Property','Value',...) creates a new TENTANGPROGRAM or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before tentangProgram_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to tentangProgram_OpeningFcn via varargin. %
146
% *See GUI Options on GUIDE's Tools menu. only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
Choose "GUI allows
% Edit the above text to modify the response to help tentangProgram % Last Modified by GUIDE v2.5 19-Oct-2010 23:30:12 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @tentangProgram_OpeningFcn, ... 'gui_OutputFcn', @tentangProgram_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before tentangProgram is made visible. function tentangProgram_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to tentangProgram (see VARARGIN) % Choose default command line output for tentangProgram handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes tentangProgram wait for user response (see UIRESUME) % uiwait(handles.figure1);
147
% --- Outputs from this function are returned to the command line. function varargout = tentangProgram_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) menuUtama close tentangProgram
14. Profil function varargout = profil(varargin) % PROFIL M-file for profil.fig % PROFIL, by itself, creates a new PROFIL or raises the existing % singleton*. % % H = PROFIL returns the handle to a new PROFIL or the handle to % the existing singleton*. % % PROFIL('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in PROFIL.M with the given input arguments. % % PROFIL('Property','Value',...) creates a new PROFIL or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before profil_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to profil_OpeningFcn via varargin. %
148
% *See GUI Options on GUIDE's Tools menu. only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
Choose "GUI allows
% Edit the above text to modify the response to help profil % Last Modified by GUIDE v2.5 19-Oct-2010 23:41:37 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @profil_OpeningFcn, ... 'gui_OutputFcn', @profil_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before profil is made visible. function profil_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to profil (see VARARGIN) % Choose default command line output for profil handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes profil wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = profil_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure
149
% eventdata MATLAB % handles
reserved - to be defined in a future version of structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) menuUtama close profil