diagnosa penyakit ispa pada bayi dan anak menggunakan finite … · 2018. 1. 26. · i . diagnosa...
TRANSCRIPT
i
Diagnosa Penyakit ISPA pada Bayi dan Anak
Menggunakan Finite State Automata
Artikel Ilmiah
Peneliti :
Regie Wibhiyanto (672013157)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
ii
Diagnosa Penyakit ISPA pada Bayi dan Anak
Menggunakan Finite State Automata
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti :
Regie Wibhiyanto (672013157)
Magdalena A. Ineke Pakereng, M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
November 2016
iii
iv
v
vi
vii
1
Diagnosa Penyakit ISPA pada Bayi dan Anak
Menggunakan Finite State Automata
Regie Wibhiyanto
1, Magdalena A. Ineke Pakereng
2
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50771, Indonesia
Email: [email protected], [email protected]
2
Abstract
System disease diagnosis is a computer program that trying to diagnose a disease of the
questions in the form of the symptomps suffered by the user. Finite State Automata used to
accommodate the possibility of that happening and then used to mapping how to diagnose the
disease runs. Research was completed through four phases, namely requirements analysis
and data collection, System planning, System Implemetation and Testing and Analysis.
Research counducted to produce applications for the diagnosis of diseases that can be to
used to diagnose wheter the user undiagnosed disease and provide information types of
illness.
Keywords : System Disease Diagnosis, Finite State Automata, Research Stage
Abstrak
Sistem diagnosa penyakit adalah sebuah program komputer yang mencoba untuk
mendiagnosa suatu penyakit dari pertanyaan berupa gejala yang diderita si pengguna.
Finite State Automata digunakan untuk mengakomodir kemungkinan yang terjadi
serta memetakan bagaimana proses diagnosa penyakit berjalan. Penelitian yang
dilakukan, diselesaikan melalui empat tahapan penelitian yaitu, Analisis kebutuhan
dan pengumpulan data, Perancangan sistem, Implementasi Sistem, Pengujian dan
Analisis. Penelitian yang dilakukan menghasilkan aplikasi diagnosa penyakit yang
dapat digunakan untuk mendiagnosa apakah user terdiagnosa penyakit serta memberi
informasi jenis penyakit yang diderita.
Kata Kunci : Sistem Diagnosa Penyakit, Finite State Automata, Tahapan Penelitian
1Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen
Satya Wacana Salatiga
2Staf Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga
2
1. Pendahuluan
Pada era modern ini, perkembangan teknologi mengalami kemajuan yang
pesat. Teknologi dapat mempermudah segala aktivitas manusia. Perkembangan
teknologi berpengaruh pada hampir seluruh bidang kehidupan. Salah satu contohnya
adalah bidang kesehatan. Para dokter ahli menggunakan teknologi untuk menemukan
solusi baru mengenai kesehatan manusia. Kesehatan merupakan hal yang berharga
bagi manusia, karena siapa saja dapat mengalami gangguan kesehatan.
ISPA (Infeksi Saluran Pernapasan Akut) merupakan penyakit infeksi saluran
pernapasan yang disebabkan oleh virus atau bakteri yang dapat menyerang siapa saja
termasuk bayi dan anak. Bayi dan anak sangat rentan terhadap kuman penyakit dan
kurangnya kepekaan terhadap gejala suatu penyakit merupakan ketakutan tersendiri
bagi orang tua. Apabila terjadi gangguan kesehatan terhadap anak maka mereka lebih
dulu mempercayakannya kepada pakar atau dokter ahli yang sudah mengetahui lebih
banyak tentang kesehatan, tanpa memperdulikan apakah gangguan tersebut masih
dalam tingkat rendah atau kronis [1].
Teori dan Bahasa Automata merupakan salah satu bagian ilmu komputer yang
didasari oleh model dan gagasan mendasar mengenai komputer, dengan
menggunakan metode ini akan dirancang sistem Diagnosa Penyakit.
Berdasarkan latar belakang tersebut, maka dilakukan penelitian untuk
Diagnosa Penyakit ISPA pada Bayi dan Anak Menggunakan Finite State Automata.
Adanya sistem ini diharapkan dapat memberi kemudahan bagi para orang tua anak
untuk mendapatkan informasi ataupun diagnosa penyakit ISPA (Infeksi Saluran
Pernapasan Akut) sehingga para orang tua dapat melakukan pencegahan lebih awal
yang sekiranya membutuhkan waktu jika harus berkonsultasi dengan dokter ahli.
2. Tinjauan Pustaka
Sudah banyak penelitian tentang pembuatan sistem diagnosa suatu penyakit
dan penggunaan Finite State Automata untuk merancang sebuah sistem maupun
aplikasi, salah satu penelitian yang menggunakan Finite State Automata adalah pada
penelitian yang berjudul “Perancangan dan Implementasi Finite Automata pada
Simulasi Vending Machine”, kesimpulan yang didapat penelitian ini adalah Finite
Automata dapat dijadikan sebagai logika dasar untuk membuat simulasi vending
machine. Lewat rancangan state diagram berdasarkan konsep Mealy machine yang
telah dibuat, maka apliksi simulasi vending machine dapat dibuat dan hasil dari setiap
input yang dipilih oleh user pada aplikasi sesuai dengan hasil rancangan tersebut [2].
Pada Penelitian yang berjudul Sistem Pakar untuk Mendiagnosa Penyakit
Ginjal dengan Metode Backward Chaining, membahas tentang penggunaan sistem
pakar yang digunakan untuk mendeteksi gejala-gejala penyakit ginjal. Sistem yang
dibangun menghasilkan output berupa kemungkinan penyakit ginjal yang diderita
berdasarkan gejala yang dirasakan oleh user. Sistem ini juga manampilkan
besarnya kepercayaan gejala tersebut terhadap kemungkinan penyakit ginjal yang
diderita oleh user. Besarnya nilai persentase tersebut merupakan hasil perhitungan
dengan menggunakan metode Backward Chaining [3].
Pada Penelitian yang berjudul “Penerapan Teori Bahasa dan Automata untuk
3
Mengecek Kebenaran Format SMS pada SMS Premium”, kesimpulan yang
didapatkan melalui penelitian ini adalah algoritma teori bahasa dan automata cocok
untuk mengatasi permasalahan terhadap pengecekan format SMS premium. Ini telah
dibuktikan dengan tiga hal yang menjadi ciri-ciri algoritma yang baik telah dipenuhi
oleh algoritma teori bahasa dan automata untuk pengecekan tersebut, yaitu pertama
algoritma teori bahasa dan automata memberikan output yang benar terhadap hasil
yang diinginkan, kedua algoritma teori bahasa dan automata memberikan hasil yang
pasti terhadap string yang diberikan, dan yang ketiga adalah dengan menggunakan
algoritma teori bahasa dan automata diperoleh efisiensi waktu dan efisiensi memori
[4].
Berdasarkan penelitian-penelitian yang pernah dilakukan terkait penerapan
Finite State Automata, maka akan dilakukan penelitian yang membahas aplikasi
Diagnosa Penyakit ISPA Pada Bayi dan Anak Menggunakan Finite State Automata.
Sistem ini dirancang untuk memudahkan user melakukan pemeriksaan gejala
penyakit ISPA dengan mudah dan cepat.
Finite State Automata adalah mesin abstrak berupa sistem model matematika
dengan masukan dan output diskrit yang dapat mengenali bahasa paling
sederhana (bahasa reguler) dan dapat diimplementasikan secara nyata dimana
sistem dapat berada di salah satu dari sejumlah berhingga konfigurasi internal
disebut state. Finite State Automata mempunyai sekumpulan state dan aturan-aturan
untuk berpindah dari state yang satu ke state yang lain, tergantung dari simbolnya.
Finite automata mempunyai state awal, sekumpulan state dan state akhir. Finite
automata merupakan kumpulan dari lima elemen atau dalam bahasa matematis
dapat disebut sebagai 5 tuple, yaitu (Q, ∑, δ, S, F), dimana :
Q = himpunan state / kedudukan
∑ = himpunan simbol input / masukan / abjad
δ = fungsi transisi
S = state awal / kedudukan awal (initial state)
F = himpunan state akhir
Gambar 1 Contoh Diagram State untuk Finite State Automata [5]
Keterangan Gambar 1 : (1) Gambar lingkaran menyatakan state, (2) Label
pada lingkaran adalah nama state tersebut, (2) Busur panah menyatakan transisi atau
perpindahan state, (4) Gambar lingkaran yang didahului sebuah busur panah tanpa
lebih menyatakan state awal, (5) Gambar lingkaran ganda menyatakan final state.
Q = {q0, q1, q2}
∑ = {a, b}
4
S = {q0}
F = {q1}
δ = relasi transisi
δ (q0, a) = q0
δ (q0, b) = q1
δ (q1, a) = q1
δ (q1, b) = q2
δ (q2, a) = q1
δ (q2, b) = q2
Berdasarkan fungsi transisi tersebut , dapat dibuat tabel transisi seperti pada Tabel 1.
Tabel 1 Tabel Transisi Berdasarkan Gambar 1 [5]
Δ A B
q0 q0 q1
q1 q1 q2
q2 q1 q2
Pada Tabel 1, apabila state q0 mendapat masukan berupa string „a‟ maka q0
akan tetap berada di state q0 kemudian apabila yang dibaca adalah string „b‟ maka q0
akan bergeser ke state q1. Selanjutnya pada state q1 apabila membaca string „a‟ maka
q1 akan tetap berada di state q1 dan jika q1 membaca input berupa string „b‟ maka q1
akan bergeser ke q2 yang merupakan final state. Untuk q2 akan kembali ke q1 jika
membaca input string „a‟ dan tetap pada q2 apabila membaca string „b‟.
3. Metode dan Perancangan Sistem
Penelitian yang dilakukan, diselesaikan melalui tahapan yang terbagi dalam
empat tahapan, yaitu : (1) Analisis kebutuhan dan pengumpulan data berupa gejala
penyakit ISPA, (2) Perancangan sistem (3) Implementasi Sistem, (4) Pengujian
Sistem dan analisis hasil pengujian.
5
Gambar 2 Tahapan Penelitian
Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai berikut. Tahap
pertama: analisis kebutuhan dan pengumpulan data, yaitu mengumpulkan serta
menganalisis gejala-gejala yang ditimbulkan oleh penyakit ISPA serta mengurutkan
setiap gejala mulai dari gejala umum hingga ke gejala khusus; Tahap kedua:
perancangan sistem yang meliputi perancangan proses diagnosa penyakit ISPA dalam
bentuk flowchart; Tahap ketiga: implementasi sistem, yaitu mengimplementasikan
automata yang sudah dirancang ke dalam program; Tahap keempat: pengujian dan
analisis hasil pengujian, yaitu melakukan pengujian sistem serta analisis hasil
pengujian sistem untuk melihat apakah aplikasi yang telah dibuat sudah sesuai
dengan yang diharapkan atau tidak ada error.
6
Gambar 3 Proses Diagnosa Penyakit ISPA
Rancangan Proses Diagnosa Penyakit ISPA pada Gambar 3 dirancang dengan
mengambil segala kemungkinan yang dapat terjadi saat proses Diagnosa Penyakit
ISPA. Proses pada Gambar 3 akan berguna dalam merancang desain finite state
automata karena segala kemungkinan yang ada sudah diwakilkan.
Berdasarkan Rancangan Proses Diagnosa Penyakit ISPA pada Gambar 3,
maka dapat dibuat rancangan finite state automata secara bertahap. Setiap proses
yang terjadi adalah sebuah state/kondisi pada finite state automata.
7
4. Hasil dan Pembahasan
Untuk mendiagnosa suatu penyakit perlu diketahui terlebih dahulu gejala-
gejala yang ditimbulkan. Meskipun hanya dari gejala klinis (gejala-gejala yang
terlihat langsung maupun yang dirasakan oleh penderita), dokter dapat mengambil
suatu kesimpulan berupa penyakit yang diderita. Tetapi ada kalanya diperlukan
pemeriksaan lebih lanjut melalui pemeriksaan laboratorium untuk penyakit tertentu.
ISPA merupakan penyakit infeksi saluran pernapasan yang secara anatomi
dibedakan atas saluran napas atas mulai dari hidung sampai dengan faring dan saluran
napas bawah mulai dari laring sampai dengan alveoli, akibat invasi infecting agents
yang mengakibatkan reaksi inflasi saluran napas yang terlibat. Infeksi tersebut
disebabkan oleh virus dan bakteri, seperti bakteri streptococcus. Berdasarkan
klasifikasi anatomi dibedakan atas :
1. Infeksi saluran napas terbagi atas rhinitis, faringitis, tonsillitis.
2. Infeksi saluran napas bawah terbagi atas laringitis, trakheitis, bronkhitis,
bronkhiolitis, pneumonioa, abses pulmonum dan empiema.
3. Namun dari beberapa klasifikasi tersebut hanya tonsillitis, laringitis, bronkhitis,
bronkiolitis yang dapat didiagnosa secara klinis [6].
Gambar 4 Rancangan Diagram State Diagnosa Penyakit ISPA
Gambar 4 menunjukkan rancangan diagram state Diagnosa Penyakit ISPA Pada Bayi
dan Anak dengan tuple sebagai berikut:
8
Q = {Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, F1, F2, F3, F4, F5, F6}
∑ = {Yes, No, Q, R, S, T}
S = {Q1}
F = {F1, F2, F3, F4, F5, F6}
δ = Relasi Transisi
Relasi Transisi untuk positif ISPA dan terdiagnosa terkena Laringitis:
Δ = {((Q1, Yes),Q2), (Q1, No),Q2), (Q2, Yes),Q3), (Q2, No),Q3), (Q3, Yes),Q4), (Q5,
Yes),Q6), (Q5, No),Q6), (Q6, Yes),Q7), (Q6, No),Q7), (Q7, Yes),Q8),
(Q7,No),Q8), (Q8,Yes),F2, (F2, Yes),Q9),(Q9, Q), F3).
Relasi Transisi untuk positif ISPA dan terdiagnosa Bronkhitis:
Δ = {((Q1, Yes),Q2), (Q1, No),Q2), (Q2, Yes),Q3), (Q2, No),Q3), (Q3, Yes),Q4), (Q5,
Yes),Q6), (Q5, No),Q6), (Q6, Yes),Q7), (Q6, No),Q7), (Q7, Yes),Q8),
(Q7,No),Q8), (Q8,Yes),F2, (F2, Yes),Q9),(Q9, R), F4).
Relasi Transisi untuk positif ISPA dan terdiagnosa Bronkhiolitis:
Δ = {((Q1, Yes),Q2), (Q1, No),Q2), (Q2, Yes),Q3), (Q2, No),Q3), (Q3, Yes),Q4), (Q5,
Yes),Q6), (Q5, No),Q6), (Q6, Yes),Q7), (Q6, No),Q7), (Q7, Yes),Q8),
(Q7,No),Q8), (Q8,Yes),F2, (F2, Yes),Q9),(Q9, S), F5).
Relasi Transisi untuk positif ISPA dan jenis penyakit belum terdiagnosa:
Δ = {((Q1, Yes),Q2), (Q1, No),Q2), (Q2, Yes),Q3), (Q2, No),Q3), (Q3, Yes),Q4), (Q5,
Yes),Q6), (Q5, No),Q6), (Q6, Yes),Q7), (Q6, No),Q7), (Q7, Yes),Q8),
(Q7,No),Q8), (Q8,Yes),F2, (F2, Yes),Q9),(Q9, T), F6).
Relasi Transisi untuk negatif (belum terdiagnosa) terkena ISPA:
Δ = {((Q1, Yes),Q2), (Q1, No),Q2), (Q2, Yes),Q3), (Q2, No),Q3), (Q3, Yes),Q4), (Q5,
Yes),Q6), (Q5, No),Q6), (Q6, Yes),Q7), (Q6, No),Q7), (Q7, Yes),Q8), (Q7,
No),Q8), (Q8, No),F1).
Ada 15 (lima belas) state yaitu Balita Anda demam? (Q1), Balita Anda
terlihat kelelahan (dehidrasi) (Q2), Hidung tersumbat dan berair? (Q3), Balita Anda
batuk-batuk? (Q4), Susah menelan karena tenggorokan terasa sakit? (Q5), Suara
balita Anda serak? (Q6), Balita Anda sesak atau sulit untuk bernafas? (Q7), Cek
syarat diagnosa melalui skor, apakah skor >= 10 (Q8), Bagaimana karakteristik batuk
dan pernafasannya? (Q9), Belum terdiagnosa terkena ISPA (F1), Terdiagnosis
terkena ISPA (F2), Terdiagnosis Laringitis (F3), Terdiagnosa bronkhitis (F4),
Terdiagnosis bronkhiolitis (F5), Jenis penyakit belum terdiagnosa (F6). Sedangkan
input yang ada adalah Yes dan No, Batuk kuat serta kering dan suara serak disertai
tarikan nafas (inspirasi) berbunyi Stridor dan kasar dan hembusan nafas berbunyi (Q),
Batuk kering kemudian menjadi berdahak disertai nafas terengah-engah dan
hembusan nafas berbunyi (R), Batuk kering disertai dengan pernafasan dangkal dan
cepat dan hembusan nafas berbunyi (S), Karakteristik batuk berbeda dari yang
disebutkan (T). Untuk lebih lengkapnya lihat Tabel 2 dan Tabel 3.
9
Tabel 2 Himpunan State
Himpunan State Deskripsi
Q1 Balita Anda Demam?
Q2 Balita Anda terlihat kelelahan?
Q3 Hidung tersumbat dan berair?
Q4 Balita Anda batuk-batuk?
Q5 Susah menelan karena tenggorokan
terasa sakit?
Q6 Suara balita Anda Serak?
Q7 Balita Anda sesak atau sulit untuk
bernafas?
Q8 Apakah skor >= 10
Q9 Bagaimana karakteristik batuk dan
pernafasannya?
F1 Belum terdiagnosa terkena ISPA.
F2 Terdiagnosis terkena ISPA
F3 Terdiagnosis Laringitis
F4 Terdiagnosis bronchitis
F5 Terdiagnosis bronchiolitis
F6 Jenis penyakit belum terdiagnosis
Tabel 3 Abjad Sebagai Simbol Input
Abjad Deskripsi
Yes Yes adalah input yang digunakan user untuk
menjawab pertanyaan yang diberikan
No No adalah input yang digunakan user untuk
menjawab pertanyaan yang diberikan
Q Batuk kuat serta kering dan suara serak
disertai tarikan nafas (inspirasi) berbunyi
Stridor dan kasar dan hembusan nafas
berbunyi
R Batuk kering kemudian menjadi berdahak
disertai nafas terengah-engah dan hembusan
nafas berbunyi
S Batuk kering disertai dengan pernafasan
dangkal dan cepat dan hembusan nafas
berbunyi
T Karakteristik batuk berbeda dari yang
disebutkan
Sistem dimulai dari state awal yaitu Q1 yang merupakan pertanyaan awal dari
gejala penyakit ISPA yang akan membaca input dari user berupa Yes atau No
sehingga state akan berpindah ke pertanyaan lanjutan yaitu state Q2, sistem akan
10
melakukan hal yang sama, membaca input dari user lalu bergeser ke state berikutnya
sampai pada final state. Untuk mendiagnosa apakah user positif terkena penyakit
ISPA maka user harus memiliki skor lebih dari atau sama dengan 10 (sepuluh). Skor
didapatkan dari setiap jawaban user terhadap pertanyaan yang merupakan gejala
penyakit, setiap pertanyaan mempunyai skor masing-masing yang hanya didapat jika
user menjawab Yes, untuk Q1, Q2, Q3 dan Q7 mempunya skor 1 (satu) dan untuk Q4,
Q5 dan Q6 mempunyai skor 3 (tiga), jadi semakin khusus gejala yang dirasakan user
semakin besar peluang user terkena penyakit ISPA. Jika skor user kurang dari 10
(sepuluh) maka user didiagnosa negatif terkena ISPA.
Gambar 5 Proses Pengecekan Syarat Untuk Diagnosa
Gambar 5 adalah sebuah proses untuk melakukan pengecekan apakah user
positif terdiagnosa penyakit ISPA atau user belum negatif terkena ISPA. Pada
Gambar 5 terdapat 3 (tiga) buah state, yaitu Apakah skor >= 10 (Q8), belum
terdiagnosa terkena ISPA (F1) dan terdiagnosa terkena ISPA (F2). Apabila Q9
membaca abjad input No maka Q8 akan bergeser ke final state F1 dan jika Q9
membaca abjad input Yes maka Q8 akan bergeser ke final state F2.
Gambar 6 Proses Diagnosa Jenis Penyakit
Gambar 6 menunjukkan proses untuk mendiagnosa jenis penyakit ISPA apa
yang diderita user, disini apabila Bagaimana karakteristik batuk dan pernafasannya?
11
(Q9) membaca input string Batuk kuat serta kering dan suara serak disertai tarikan
nafas (inspirasi) berbunyi Stridor dan kasar dan hembusan nafas berbunyi (Q) maka
state Q10 akan bergeser ke final state Terdiagnosa Laringitis (F3), kemudian jika
Bagaimana karakteristik batuk dan pernafasannya? (Q9) membaca input string Batuk
kering kemudian menjadi berdahak disertai nafas terengah-engah dan hembusan nafas
berbunyi (R) maka Q9 akan bergeser ke final state Terdiagnosa bronkhitis (F4), jika
Bagaimana karakteristik batuk dan pernafasannya? (Q10) membaca input string
Batuk kering disertai dengan pernafasan dangkal dan cepat dan hembusan nafas
berbunyi (S), maka state Q9 akan bergeser ke final state Terdiagnosa Bronkhiolitis
(F5), namun apabila Bagaimana karakteristik batuk dan pernafasannya? (Q9)
membaca input string Karakteristik batuk berbeda dari yang disebutkan (T) maka Q9
akan bergeser ke final state Jenis penyakit belum terdiagnosa (F6).
Pseudo-code Proses Untuk Mendiagnosa Penyakit 1. Integer skor1, skor2, skor3, skor4, skor5, skor6, skor7; 2. prompt the user E for input the Answer of the Quetions 1 3. save input to Q1 4. check to see if Q1 = "Yes"; if it is, skor1 = 1; 5. else if Q1 = "No" if it is, skor1 = 0; 6. prompt the user for input the Answer of the Question 2 7. save input to Q2 8. check to see if Q2 = "Yes"; if it is, skor2 = 1; 9. else if Q2 = "No" if it is, skor2 = 0; 10. prompt the user for input the Answer of the Questions 3 11. save input to Q3 12. check to see if Q3 = "Yes"; if it is, skor3 = 1; 13. else if Q3 = "No" if it is, skor3 = 0; 14. prompt the user for input the Answer of the Questions 4 15. save input to Q4 16. check to see if Q4 = "Yes"; if it is, skor4 = 3; 17. else if Q4 = "No" if it is, skor4 = 0; 18. prompt the user for input the Answer of the Questions 5 19. save input to Q5 20. check to see if Q5 = "Yes"; if it is, skor5 = 3; 21. else if Q5 = "No" if it is, skor5 = 0; 22. prompt the user for input the Answer of the Questions 6 23. save input to Q6 24. check to see if Q6 = "Yes"; if it is, skor6 = 3; 25. else if Q6 = "No" if it is, skor6 = 0; 26. prompt the user for input the Answer of the Questions 7 27. save input to Q7 28. check to see if Q7 = "Yes"; if it is, skor7 = 1; 29. else if Q7 = "No" if it is, skor7 = 0; 30. integer totalSkor = skor1 + skor2 + skor3 + skor4 + skor5 + skor6 + skor7; 31. 32. check to see if totalSkor >= 10 then print "Terdiagnosa Penyakit ISPA"; 33. if it is Not, print "Belum terdiagnosa terkena ISPA"; 34. prompt the user for input the Answer of the Questions 9 35. save input to Q9 36. check to see if Q9 = "Q" if it is, print "Terdiagnosis laringitis";
12
37. check to see if Q9 = "R" if it is, print "Terdiagnosis Bronkhitis"; 38. check to see if Q9 = "S" if it is, "Terdiagnosis Bronkhiolitis"; 39. if it is Not, print "Jenis Penyakit ISPA belum terdiagnosa";
Rancangan pseudo-code akan mempermudah proses pembuatan aplikasi atau
program diagnosa penyakit ISPA. Pseudo-code merupakan rancangan yang
mendekati bahasa pemrograman namun masih dapat dimengerti oleh manusia
sehingga dapat digunakan sebagai dasar perancangan berbagai bahasa pemrograman
ataupun digunakan sebagai dasar pengembangan untuk perancangan lebih lanjut.
Program yang dibuat berdasarkan pseudocode, ditunjukkan pada Kode Program 1.
Kode Program 1 Perintah untuk Mendiagnosa Positif ISPA 1. private void btnYes_Click(object sender, EventArgs e)
2. {
3. if (nomor != maxNomor)
4. {
5. totalSkor += skor;
6. Pertanyaan pertanyaan = new Pertanyaan(nomor + 1, totalSkor);
7. this.Hide();
8. pertanyaan.Show();
9. }
10. else 11. { 12. if (totalSkor>=10) 13. { 14. Keadaan keadaan = new Keadaan(); 15. this.Hide(); 16. keadaan.Show(); 17. } 18. else 19. { 20. Diagnosa diagnosa = new Diagnosa("Anda belum terdiagnosa terkena ISPA"); 21. this.Hide(); 22. diagnosa.Show(); 23. } 24. }
25. }
Kode Program 1 merupakan perintah untuk menentukan diagnosa user
terhadap penyakit ISPA, user akan diminta menjawab 7 (tujuh) pertanyaan berupa
gejala-gejala yang sudah disediakan dan setiap jawaban user mempunyai skor untuk
menentukan diagnosa apakah user terkena penyakit ISPA, jika skor lebih dari atau
sama dengan 10 maka user akan terdiagnosa terkena penyakit ISPA namun apabila
skor kurang dari 10 maka user akan belum terdiagnosa terkena ISPA.
Kode Program 2 Perintah untuk Menentukkan Jenis Penyakit Yang Diderita User 1. public Keadaan()
2. {
3. string keadaan="";
4. InitializeComponent();
5. try
6. {
7. string koneksi =
"datasource=localhost;port=3306;username=root;password=";
8. MySqlConnection myKoneksi = new MySqlConnection(koneksi);
9. MySqlDataReader myReader;
10. string query = "select keadaan from regie.tb_terdiagnosa where nomor=1";
11. MySqlCommand myCommand = new MySqlCommand(query, myKoneksi);
13
12. myKoneksi.Open(); 13. myReader = myCommand.ExecuteReader(); 14. while (myReader.Read()) 15. { 16. keadaan = (string)myReader["keadaan"]; 17. lblKeadaan1.Text = keadaan; 18. } 19. myKoneksi.Close(); 20. }
Kode Program 2 merupakan perintah untuk menentukan jenis penyakit ISPA,
user akan diminta menjawab pertanyaan tentang karakteristik penyakit yang dialami
oleh user.
Gambar 7 Tampilan Ketika Aplikasi Dijalankan
Gambar 7 merupakan tampilan pada saat aplikasi dijalankan, di tampilan ini
terdapat satu buah tombol yang apabila dipilih akan masuk ke dalam menu diagnosa.
Gambar 8 Tampilan Pertanyaan Gejala
14
Gambar 8 merupakan tampilan pertanyaan berupa gejala seputar penyakit
ISPA, untuk mendiagnosa apakah user terdiagnosa ISPA atau belum terdiagnosa
ISPA maka user harus menjawab pertanyaan yang muncul di dalam sistem ini.
Gambar 9 Tampilan Hasil Diagnosa
Gambar 9 merupakan tampilan hasil diagnosa, apabila user terdiagnosa ISPA
maka akan muncul pertanyaan lanjutan untuk mendiagnosa jenis penyakit yang
diderita oleh user.
Gambar 10 Tampilan User Belum Terdiagnosa ISPA
15
Gambar 10 merupakan tampilan apabila user belum terdiagnosa terkena
penyakit ISPA, terdapat dua buah tombol di dalam tampilan ini, apabila user memilih
tombol Diagnosa Ulang maka sistem akan kembali berjalan dan apabila user memilih
tombol Exit maka user secara otomatis akan keluar dari sistem.
Hasil pengujian dari implementasi sistem Diagnosa Penyakit ISPA pada Bayi
dan Anak Menggunakan Finite State Automata dilakukan dengan menganalisis sistem
untuk mengetahui kemampuan sistem dalam memberikan hasil deteksi. Data yang
diuji berjumlah 30 sampel data analisa pakar. Hasil rekomendasi yang diperoleh dari
perhitungan di sistem pakar, dicocokkan dengan hasil analisa dari automata. Hasil
pengujian akurasi sistem pakar dari 30 sampel yang telah diuji.
Nilai keakuratan sistem memiliki dua level yaitu 0 dan 1. Bernilai 0 apabila
diagnosa akhir sistem tidak sesuai dengan automata, dan bernilai 1 jika diagnosa
akhir sesuai dengan automata.
Tabel 4 Tabel Perbandingan Hasil Diagnosa Sistem dan Automata
No
kasus Diagnosa Pakar Diagnosa Sistem
Nilai
Keakuratan
1 Laringitis Laringitis 1
2 Bronchitis Bronchitis 1
3 Bronchiolitis Bronchiolitis 1
4 Laringitis Laringitis 1
5 Bronchiolitis Bronchiolitis 1
6 Laringitis Laringitis 1
7 Laringitis Laringitis 1
8 Bronchiolitis Bronchiolitis 1
9 Laringitis Laringitis 1
10 Bronchitis Bronchitis 1
11 Laringitis Laringitis 1
12 Bronchiolitis Bronchiolitis 1
13 Laringitis Laringitis 1
14 Bronchitis Bronchitis 1
15 Laringitis Laringitis 1
16 Bronchiolitis Bronchiolitis 1
17 Laringitis Laringitis 1
18 Bronchitis Bronchitis 1
19 Laringitis Laringitis 1
20 Bronchitis Bronchitis 1
21 Laringitis Laringitis 1
22 Bronchiolitis Bronchiolitis 1
23 Laringitis Laringitis 1
24 Bronchitis Bronchitis 1
25 Laringitis Laringitis 1
26 Bronchiolitis Bronchiolitis 1
27 Laringitis Laringitis 1
28 Bronchitis Bronchitis 1
16
29 Laringitis Laringitis 1
30 Laringitis Laringitis 1
Jumlah 30
Jika dihitung probabilitasnya :
X 100% =
X 100% = 100%
Jadi, dapat disimpulkan dari 30 data yang diuji mendapatkan nilai akurasi 100% yang
menunjukkan bahwa sistem diagnosa penyakit ISPA pada bayi dan anak dapat
bekerja dengan baik sesuai dengan pakar.
5. Simpulan
Berdasarkan hasil penelitian, dan pembahasan yang dilakukan ditarik
kesimpulan sebagai berikut (1) Finite State Automata dapat diimplementasikan dalam
program deteksi gejala penyakit/gangguan kesehatan; (2) Sistem Diagnosa Penyakit
ISPA Pada Bayi dan Anak membantu user untuk mendapatkan informasi ataupun
diagnosa penyakit ISPA (Infeksi Saluran Pernapasan Akut) sehingga para orang tua
dapat melakukan pencegahan lebih awal (3) Aplikasi yang dibangun mempunyai nilai
akurasi sampai 100% yang artinya bekerja dengan baik sesuai denagn pakar. Saran
pengembangan yang dapat diberikan untuk penelitian lebih lanjut adalah sebagai
berikut : (1) Penambahan state untuk langkah awal pencegahan jika user positif
terdiagnosa penyakit ISPA; (2) Pengembangan sistem seperti menambahkan jenis
penyakit yang sering terjadi pada bayi dan anak, agar orang tua anak lebih mudah
mendapatkan informasi tentang berbagai macam penyakit.
6. Daftar Pustaka
[1] Gilbert, P. 1986. Penyakit yang Lazim pada Anak-anak. Jakarta: Arcan.
[2] Irawan, J. C., Perancangan dan Implementasi Finite Automata pada Simulasi
Vending Machine, Skripsi, Salatiga: Universitas Kristen Satya Wacana.
[3] Tarigan, F., 2014. Sistem Pakar Untuk Mendiagnosa Penyakit Ginjal Dengan
Metode Backward Chaining, Skripsi: Medan: Sekolah Tinggi Manajemen
Informatika Komputer.
[4] Sugiono, B., 2010. Penerapan Teori Bahasa dan Automata untuk Mengecek
Kebenaran Format SMS pada SMS Premium, Skripsi, Salatiga: Universitas
Kristen Satya Wacana.
[5] Utdirartatmo, F., 2001. Teori Bahasa dan Otomata. Yogyakarta: J & J
Learning.
[6] Staf Pengajar Ilmu Kesehatan Anak Fakultas Kedokteran Universitas
Indonesia. 1985. Ilmu Kesehatan Anak. Jilid 1. Jakarta: Infomedika.