diagnosa penyakit hepatitis a menggunakan finite state
TRANSCRIPT
Diagnosa penyakit Hepatitis A
menggunakan Finite State Automata
Artikel Ilmiah
Peneliti :
Melan Afri Harmusial (672016168)
Suprihadi, S.Si., M.Kom.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Januari 2021
Diagnosa Penyakit Hepatitis AMenggunakan
Finite State Automata
1) Melan Afri Harmusial,
2)Suprihadi, S.Si., M.Kom.
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
E-mail: 1)
[email protected],2)[email protected]
Abstract
Hepatitis A is a liver disease caused by the hepatitis A virus. typical symptoms of
diarrhea, nausea, and vomiting. Hepatitis A is often diagnosed late. The study aims for
the diagnosis of hepatitis A using finite state automata to help the user diagnose
symptoms and act against their disease. The hepatitis A diagnosis system was designed
using a basis for problem solving. This experts system will show the symptoms to be
selected by the user, when the choice is consistent with the rule then the system will
provide the final result. This research system will produce symptoms selected by the user,
a disease it suffered and give the user a percentage of confidence.
Keywords: Hepatitis A, disease diagnostic system, Finite State Automata (FSA)
Abstrak
Hepatitis A adalah penyakit hati yang disebabkan oleh virus hepatitis A. Gejala yang
umum dirasakan yaitu diare, mual, dan muntah. Penyakit Hepatitis A seringkali terlambat
didiagnosa. Penelitian ini bertujuan untuk Diagnosa penyakit Hepatitis A menggunakan
Finite State Automata agar user dapat mendiagnosa gejala dan melakukan tindakan
pencegahan terhadap penyakit yang dideritanya. Sistem Diagnosa penyakit Hepatitis A
dirancang dengan menggunakan Basis pengetahuan untuk penyelesaian masalah. sistem
pakar ini akan menampilkan gejala yang akan dipilih user, ketika pilihan sesuai dengan
rule maka sistem akan memberikan hasil akhir. Hasil Penelitian ini sistem akan
menampilkan gejala yang dipilih user, penyakit yang diderita dan memberikan hasil
persentase keyakinan kepada user.
Kata Kunci : Hepatitis A, Sistem Diagnosa penyakit, Finite State Automata
1)
Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen
Satya Wacana.
2) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana
1. Pendahuluan
Perkembangan teknologi mengalami kemajuan yang sangat pesat di era
moderen ini dan berdampak hampir di berbagai aspek kehidupan. Di bidang
kesehatan merupakan salah satu contohnya.Teknologi digunakan oleh para dokter
ahli untuk menemukan solusi baru mengenai kesehatan manusia. Adanya
teknologi tersebut dapat membantu mempermudah segala aktivitas manusia.
Penyakit Hepatitis merupakan masalah kesehatan masyarakat di dunia
termasuk di Indonesia. Hepatitis adalah istilah umum penyakit yang merujuk pada
peradangan yang terjadi di hati dan umumnya disebabkan oleh infeksi virus,
namun tidak semua kasus hepatitis menimbulkan gejala, atau jika pun ada,
gejalanya cukup samar pada tahapan awal. Penyakit Hepatitis terdiri dari beberapa
jenis salah satunya Hepatitis A. Hepatitis A adalah penyakit liver yang disebabkan
oleh hepatitis A virus (HAV). Virus ini dapat menyebar melalui air atau makanan
yang terkontaminasi dengan tinja penderita. Penggunaan air bersih yang kurang,
kebersihan dan sanitasi lingkungan yang buruk dapat menjadi penyebaran virus
Hepatitis A. Berbeda dengan hepatitis B dan C, infeksi hepatitis A dapat
mengakibatkan gagal hati akut dan gejala-gejala yang melemahkan tubuh. Namun
tidak menyebabkan penyakit hati kronis[1].
Kasus Hepatitis A diperkirakan ada sekitar 1,4 juta setiap tahun di seluruh
dunia. Hepatitis A menjadi wabah bagi seluruh dunia dan cenderung untuk
kambuh siklik. Salah satu penyebab paling sering yaitu virus Hepatitis A. Wabah
bersumber dari air atau makanan yang terkontaminasi dapat meletus eksplosif,
seperti wabah di Shanghai yang mempengaruhi sekitar 300.000 orang pada tahun
1988 [1].
Menurut Puspa R berdasarkan data yang berasal dari rumah sakit Di
Indonesia, Hepatitis A merupakan kasus terbesar dari kasus Hepatitis akut yang
dirawat yaitu berkisar dari 39,8 - 68,3% dan beberapa daerah seperti Makassar,
Jakarta, dan Bandung berkisar antara 35%-45% pada usia 5 tahun[2].
Sistem pakar adalah suatu cabang dari Artificial Intelligence yang
berusaha menirukan atau mensimulasikan pengetahuan manusia ke sistem
komputer, agar sistem dapat menyelesaikan permasalahan tertentu seperti yang
dilakukan oleh para ahli. Dengan sistem pakar, pengguna dapat memecahkan
masalah, mendapatkan informasi ataupun dapat mendiagnosa gejala penyakit dan
melakukan tindakan pencegahan.
Berdasarkan latar belakang yang ada, maka dilakukan penelitian yang
berjudul Diagnosa penyakit Hepatitis A menggunakan Finite State Automata.
Finite State Automata digunakan sebagai alur logis untuk melakukan proses
perancangan sistem diagnosa penyakit. Aplikasi yang dibuat berbasis web
menggunakan bahasa pemrograman PHP (Hypertext Prepocessor) digunakan
untuk pembuatan dan pengembangan sebuah situs web serta dilengkapi MySQL
yang nantinya digunakan dalam manajemen basis data yang akan mengakses dan
memproses data secara online di website. Adapun tujuan dari penelitian ini untuk
mendiagnosa penyakit Hepatitis A dengan menggunakan Finite State Automata.
Sistem ini diharapkan dapat memberi manfaat bagi masyarakat untuk
mendapatkan informasi ataupun dapat mendiagnosa gejala secara online dimana
saja dan kapan saja sehingga dapat melakukan tindakan pencegahan untuk
berkonsultasi dengan dokter ahli sebelum terlambat.
2. Tinjauan Pustaka
Dalam penelitian yang berjudul ”Sistem Pakar Diagnosis Penyakit
Hepatitis Menggunakan Metode Dempster Shafer”. Penelitian ini membahas
tentang implementasi metode Dempster Shafer untuk mendeteksi penyakit
Hepatitis agar nantinya para petugas kesehatan atau para orang tua bisa
mengetahui seberapa besar kemungkinan penyakit Hepatitis ini terjadi pada
pasien atau keluarga mereka. Sistem ini menghasilkan informasi terhadap suatu
hipotesa penyakit[3].
Dalam penelitian yang berjudul “Diagnosa Penyakit Hepatitis
Menggunakan Metode Weighted Product”. Penelitian ini membahas tentang
Sistem pakar yang dikembangkan dapat melakukan penelusuran lebih cepat
sehingga dapat meningkatkan efisiensi dan efektifitas kerja dengan menggunakan
metode weighted product memudahkan pengurutan penyakit hepatitis berdasarkan
gejala-gejala yang dialami pasien berdasarkan tingkat kepentingan pada setiap
kriteria. Sistem ini menghasilkan sistem yang dapat membantu pasien mengetahui
jenis penyakit hepatitis yang diderita dan diberikan solusi pengobatannya [4].
Dalam penelitian berjudul "Sistem Pakar Untuk Mendiagnosa Penyakit
Hepatitis Dengan Metode Fuzzy Tsukamoto”. Penelitian ini membahas tentang
sistem prediksi penderita penyakit hepatitis dapat mengkonsultasikan untuk
memastikan jenis penyakit hepatitis apa yang diderita berdasarkan dengan gejala-
gejala yang sering dialami. Penelitian ini menggunakan metode Fuzzy Tsukamoto.
Metode ini digunakan untuk mencari nilai kepastian dari inputan yang berupa
gejala dan presentase kemungkinan jenis penyakit hepatitis. Sistem ini
menghasilkan sistem yang dapat digunakan mendiagnosa hepatitis [5].
Dengan berdasarkan perbandingan penelitian-penelitian sebelumnya
terkait sistem pakar dan metode yang digunakan untuk mendiagnosa penyakit
hepatitis, maka dilakukan penelitian yang membahas Diagnosa Penyakit Hepatitis
A Menggunakan Finite State Automata. Sistem ini dirancang untuk
mempermudah user menentukan gejala penyakit dan memberikan hasil diagnosa
kepada user sebagai hasil akhir.
Sistem pakar adalah suatu cabang dari artificial Intelligence yang berusaha
menirukan atau mensimulasikan pengetahuan manusia ke sistem komputer, agar
sistem dapat menyelesaikan permasalahan tertentu seperti yang dilakukan oleh
para ahli. Dengan sistem pakar, pengguna dapat memecahkan masalah,
mendapatkan informasi ataupun dapat mendiagnosa gejala penyakit dan
melakukan tindakan pencegahan.
Finite State Automata (FSA) merupakan tool yang sangat berguna untuk
mengenaldan menangkap pola dalam data. Finite State Automata (FSA) adalah
model matematika yang dapat menerima input dan mengeluarkan output yang
memiliki state yang berhingga banyaknya dan dapat berpindah dari satu state ke
state lainnya berdasarkan input dan fungsi transisi[6].
Secara formal Finite State Automata dinyatakan oleh 5 tupel, dimana[6]:
Q = Himpunan State / kedudukan
Ʃ = himpunan simbolinput/masukan
δ = fungsi transisi
S = state awal /kedudukan awal (initial state)
F = himpunan state akhir
Gambar 1 Diagram State [6]
Keterangan dari Gambar 1, sebagai berikut:
Q = {q0, q1, q2}
S = q0
F = {q1}
δ = { ((q0, a), q0), ((q0, b), q1), ((q1, a), q1), ((q1, b), q2), ((q2, a), q1), ((q2, b),
q2)}
Finite State Automata yang apabila menerima setiap simbol masukan dan
memiliki satu state berikutnyadisebut Deterministic Finite Automata. Berbeda
halnya dengan Non Deterministic Finite Automata (N-DFA). Pada N-DFA, dari
suatu input mungkin saja bisa menuju ke beberapa state berikutnya.
Penyakit Hepatitis merupakan masalah kesehatan masyarakat di dunia
termasuk di Indonesia. Hepatitis adalah istilah umum penyakit yang merujuk pada
peradangan yang terjadi di hati. Penyakit Hepatitis umumnya disebabkan oleh
infeksi virus, namun tidak semua kasus hepatitis menimbulkan gejala, atau jika
pun ada, gejalanya cukup samar pada tahapan awal. Penyakit Hepatitis terdiri dari
beberapa jenis salah satunya Hepatitis A. Hepatitis A adalah penyakit liver yang
disebabkan oleh virus hepatitis A (HAV). Gejala penyakit Hepatitis A adalah
demam, kelelahan, anoreksia (kehilangan nafsu makan),diare, gangguan
pencernaan atau ketidaknyamanan terutama di hati, mual, muntah, urine berwarna
gelap, serta warna kekuningan pada kulit dan bagian putih mata[1][7].
Penyakit Hepatitis A sendiri dapat digolongkan menjadi 2 golongan yaitu
Hepatitis A Fase pra-ikterik dan Hepatitis A Fase ikterik. Fase pra-ikterik
merupakan fase dimana muncul gejala awal yang dirasakan seperti demam, mual,
muntah, kehilangan nafsu makan, berat badan menurun dan nyeri otot dapat
berlangsung 2-7 hari. Sedangkan Fase ikterik merupakan fase dimana warna
kuning mulai muncul ditubuh penderita seperti urin berwarna kuning pekat seperti
air teh, mata dan kulit berwarna kekuning-kuningan. Fase ini dapat berlangsung 1-
2 minggu[8][9].
3. Metode Penelitian
Tahap-tahap yang dilakukan untuk penyelesaian penelitian ini, terdiri dari
5 (lima) tahapan, yaitu: (1) identifikasi masalah, (2) pengumpulan data, (3)
metode dan perancangan sistem, (4) implementasi dan pengujian sistem, (5)
penulisan laporan hasil penulisan.
Gambar 2 Tahapan penelitian
Tahap-tahap dari penelitian pada Gambar 2 dapat dijelaskan sebagai
berikut: tahap identifikasi masalah yaitu mengidentifikasi permasalahan terkait
dengan mengembangkan pemahaman tentang gambaran implementasi Diagnosa
Penyakit Hepatitis A menggunakan Finite State Automata. Tahap berikutnya
adalah tahap pengumpulan data, tahap ini dilakukan untuk mengumpulkan data–
data terkait dengan penyakit Hepatitis A guna untuk membangun sistem, platform
yang digunakan untuk membangun system adalah PHP dan MySql. Pada tahap
perancangan sistem, Perancangan sistem dilakukan penerapan Finite State
Automata untuk diagnosa penyakit Hepatitis A.
Tahap implementasi dan pengujian sistem, tahap implementasi dilakukan
setelah melakukan analisis dan perancangan sistem untuk mendeteksi penyakit
Hepatitis A ke dalam bentuk program. Kemudian menguji program, apakah fitur
sudah sesuai dengan fungsi-fungsi yang terdapat dalam sistem diagnosa penyakit
Hepatitis A menggunakan Finite State Automata, apabila ada kesalahan maka
akan dilakukan perbaikan yang diperlukan supaya memperoleh hasil yang lebih
baik. Tahap akhir yaitu penulisan laporan, tahap ini merupakan pembuatan
laporan mengenai hasil uji sistem yang telah dilakukan.
Dalam penelitian ini, Pengumpulan data untuk penyakit hepatitis A
diperoleh melalui studi literatur di mana literasi tersebut digunakan untuk
membantu penelitian.Untuk mendiagnosa penyakit Hepatitis A dibagi menjadi 2
Fase dan gejalanya masing-masing seperti terlihat pada Tabel 1
Tabel 1 Gejala-Gejala Penyakit Hepatitis A
Kode Gejala Gejala Hepatitis A
Hepatitis A
Fase pra-ikterik
Hepatitis A
Fase ikterik
G01 Diare
G02 Demam
G03 Sakit kepala, Mual dan ingin
muntah
G04 nyeri perut
G05 lelah, lesu, nyeri otot
G06 Nafsu makan menurun
G07 Perubahan warna kulit, mata
dan kuku menjadi kuning
G08 urin berwarna kuning pekat
seperti air teh
G09 Penurunan berat badan
G10 Air seni berwarna gelap
G11 Tinja berwarna pucat
Tabel 2 Pengetahuan
id_pengetahuan id_penyakit id_gejala mb md
1 1 1 0.8 0.02
2 1 2 0.6 0.01
3 1 3 0.8 0.01
4 2 4 0.6 0.01
5 1 5 0.6 0.02
6 1 6 0.8 0.01
7 2 7 0.8 0.01
8 2 8 0.8 0.02
9 1 9 0.8 0.01
10 1 10 0.6 0.01
11 1 11 0.8 0.02
12 2 9 0.8 0.01
13 2 6 0.8 0.01
14 2 2 0.6 0.01
Gambar 3 Proses Diagnosa Penyakit Hepatitis A
Gambar 3 merupakanproses perancangan untuk diagnosa penyakit
Hepatitis A menggunakan finite state automata dalam bentuk flowchart.
Flowchart digunakan untuk menggambarkan alur proses gejala yang ditampilkan
hingga menghasilkan output yaitu hasil diagnosa.
Perancangan analisa sistem Diagnosa penyakit Hepatitis A dibuat dalam
bentuk diagram UML (Unified Modeling Language) yang akan dijelaskan sebagai
berikut:
Use case diagram merupakan diagram yang menjelaskan gambaran dari
sebuah rangkaian tindakan antara satu actor atau lebih dengan sistem yang akan
dibuat sehingga user dapat memahami cara kerja sistem. Use case diagram sistem
ditunjukkan pada Gambar 4.
Gambar 4 use case diagram
Gambar 4 merupakan use case diagram dari aplikasi untuk user pasien
yang akan dibangun. Padaaplikasi ini user pasien melakukan registrasi,
melakukan login ke halaman konsutasi, melakukan konsutasi, kemudian dapat
melihat hasil diagnosa.
4. Hasil dan Pembahasan
Hasil rancangan diagram Finite StateAutomata untuk Sistem Diagnosa
Penyakit Hepatitis A dapat dilihat pada Gambar 5.
Gambar 5 Rancangan Diagram Finite StateAutomata N-DFA
Pada diagram N-DFA sistem diagnosa penyakit Hepatitis A abjad
{q1,q2,q3,q4} simbol, q1 untuk ya melanjutkan dan q2 untuk tidak dan
melanjutkan ke pertanyaan selanjutnya, q3 untuk ya mengalami Hepatitis A Fase
pra-ikterik dan q4 untuk Hepatitis A Fase ikterik. Simbol G01-G10 merupakan
state gejala penyakit Hepatitis A yang ada. Untuk simbol P1,P2,P3 merupakan
state hasil diagnosa penyakit Hepatitis A.
G01 : Diare
G02 : Demam
G03 : Sakit kepala, Mual dan ingin muntah
G04 : nyeri perut
G05 : lelah, lesu, nyeri otot
G06 : Nafsu makan menurun
G07 : Perubahan warna kulit, mata dan kuku menjadi kuning
G08 : urin berwarna kuning pekat seperti air teh
G09 : Penurunan berat badan
G10 : Air seni berwarna gelap
G11 : Tinja berwarna pucat
P1 : Cek (MB-MD*100)
P2 : Hepatitis A Fase pra-ikterik
P3 : Hepatitis A Fase ikterik
N-DFA pada Gambar 5 dinyatakan dalam 5 tupel atau M= (Q,
∑, δ, S, F) dimana:
Q = himpunan state / kedudukan
∑= himpunan simbol input / masukan / abjad
Δ = relasi transisi
S = state awal / kedudukan awal (initial state)
F = himpunan state akhir
Q = {G01, G02, G03, G04, G05, G06, G07, G08, G09, G10, G11}
∑ = {q1,q2,q3,q4}
S= {G01}
F = {P2,P3}
Δ= {((G01, q1), G02), ((G01, q2,) G02), ((G02, q1), G03), ((G02, q2), G03),
((G03, q1), G04), ((G03, q2), G04), ((G04, q1), G05), ((G04, q2), G05),
((G05, q1), G06), ((G05, q2), G06), ((G06, q1), G07), ((G06, q2), G07),
((G07, q1), G08), ((G07, q2) , G08), ((G08,q1), G09), ((G08, q2), G09),
(G09, q1), G10), ((G09, q2), G10), ((G10, q1), G11), ((G10, q2), G11),
((G11,q1), P1), ((G11,q2), P1), ((P1,q3), P2), ((P1,q4), P3).
Hasil perancangan dari penelitian yang dilakukan berupa website sistem
pakar, berikut tampilan dari website yang telah dibuat:
1. Halaman Login Pasien
Halaman login pasien mengharuskan user untuk melakukan proses login.
Halaman login pasiendapat dilihat pada Gambar 6.
Gambar 6 Halaman login pasien
Sebelum masuk kedalam sistem, user diharuskan untuk mengisi username
dan password pada halaman login pasien terlebih dahulu, untuk memastikan
username dan password sesuai dengan data yang ada di database. Jika username
dan password pada user benar maka user akan masuk ke tampilan halaman
berikutnya, jika username dan password pada user salah maka terdapat
pemberitahuan jika username atau password salah. Sourcode login pasien dapat
dilihat pada kode program 1.
Kode program 1 Kode program untuk login pasien
1. <?php
2. error_reporting(0);
3. session_start();
4. require_once 'config.php';
5. if(isset($_POST['login'])){
6. if(empty($_POST['username']) || empty($_POST['password'])){
7. exit("<script>window.alert('Masukkan username dan password
8. anda');window.history.back();</script>");}
9. $username=$_POST['username'];
10. $password=$_POST['password']; 11. $q=mysql_query("SELECT * FROM `member` WHERE 12. username='".$username."' AND password='".$password."'"); 13. if(mysql_num_rows($q)==0){ 14. exit("<script>window.alert('Username dan password 15. salah');window.history.back();</script>");} 16. $h=mysql_fetch_array($q); 17. $id_user=$h['id']; 18. $_SESSION['LOGIN_MEMBER']=$id_user;
19. exit("<script>window.location='index.php?hal=diagnosa&id=$id_u 20. ser';</script>");} 21. ?>
Kode Program 1 baris 5 sampai baris 8 adalah proses memerikasa apakah
telah melakukan login. Jika username atau password belum diisi maka akan
mendapat mendapat pesan kesalahan. Baris 9 sampai 15 adalah kode untuk
mengecek username atau password sesuai dengan yang ada pada tabel member.
Baris 18 sampai 21 adalah kode untuk mengecek id sesuai dengan id yang ada
pada tabel member. Jika id sesuai maka akan lanjut ke halaman konsutasi.
2. Halaman Konsultasi
Halaman konsultasi mengharuskan user untuk menjawab pertanyaan yang
ada. Halaman konsultasi dapat dilihat pada Gambar 7.
Gambar 7 Halaman konsultasi
Gambar 7 merupakan tampilan pertanyaan diagnosa penyakit Hepatitis A.
User memberikan jawaban sesuai dengan gejala yang dialami dengan mencentang
gejala tersebut, jika sudah pilih diagnosa untuk melihat hasil diagnosa. Sourcode
halaman konsultasi dapat dilihat pada kode program 2.
Kode Program 2 Kode program untuk Halaman Konsultasi
1. <?php
2. error_reporting(0);
3. $id = '$_GET[id]';
4. $link_list = '?hal=diagnosa&id=$id';
5. if (isset($_POST['submit'])) {
6. $gejala = '';
7. if (isset($_POST['gejala'])) {
8. $gejala = $_POST['gejala'];}
9. if (empty($gejala)) {
10. $error = 'Silahkan pilih gelaja terlebih dahulu.';}
11. else {
12. $_SESSION['GEJALA'] = $gejala;
13. $id = $_SESSION['LOGIN_MEMBER'];
14. exit("<script>location.href='?hal=hasil&id=$id';</script>");}}
15. $list_gejala = '';
16. $no = 0;
17. $sqll = mysql_query("select * from gejala order by kode");
18. if (mysql_num_rows($sqll) > 0) {
19. while ($h = mysql_fetch_array($sqll)) {
20. $qp = mysql_query("select * from pengetahuan where
21. id_gejala='$h[id_gejala]'");
22. $hp = mysql_fetch_array($qp);
23. $no++;
24. $list_gejala .= '
25. <tr><td style="text-align:center;" width="30">' . $no . '</td>
26. <td>Apakah ' . $h['nama'] . ' ?</td>
27. <td style="text-align:center;" width="30"><input name="gejala[]"
28. type="checkbox" class="checkboxes" ' . $c . ' value="' .
29. $h['id_gejala'] . '" /></td>
30. </tr>
31. ';}}
32. ?>
Kode Program 2 baris 5 sampai baris 14 adalah proses memeriksa apakah
telah melakukan pemilihan gejala. Jika gejala belum diisi maka akan mendapat
mendapat pesan kesalahan, Jika telah memilih gejala maka akan menampilkan
halaman hasil konsultasi. Baris 15 sampai 19 adalah kode untuk menampilkan
tabel gejala berdasarkan kode. Jika nilai atribut tabel gejala tidak boleh ada nilai
yang sama. Baris 20 sampai 32 adalah kode untuk menampilkan pertanyaan
berdasarkan id_gejala yang diambil dari tabel pengetahuan. Pertanyaan akan dicek
berdasarkan gejala yang dialami.
3. Halaman Hasil Diagnosa
Halaman hasil diagnosa menampilkan penyakit dari pemilihan gejala yang
dilakukan sebelumnya. Halaman hasil diagnosa dapat dilihat pada Gambar 8.
Gambar 8 Halaman Hasil Diagnosa Penyakit Hepatitis A
Gambar 8 merupakan tampilan hasil diagnosa penyakit Hepatitis A. hasil
diagnosa diperoleh berdasarkan gejala yang dipilih oleh user. Sourcode halaman
hasil diagnosa penyakit Hepatitis A dapat dilihat pada kode program 3.
Kode Program 3 Kode program untuk Halaman Hasil Diagnosa
1. $sql = mysql_query("select * from penyakit");
2. if (mysql_num_rows($sql) > 0) {
3. while ($hasil = mysql_fetch_array($sql)) {
4. $id = $hasil['id_penyakit'];
5. $penyakitt[$id] = array($hasil['kode'], $hasil['nama']);
6. $pengendalian[$id] = array($hasil['kode'],
7. $hasil['pengendalian']);
8. $mbold = 0;
9. $mdold = 0;
10. $mbnew = 0;
11. $mdnew = 0;
12. $mbcom = 0;
13. $mdcom = 0;
14. $gejalake = 0;
15. $sqll = mysql_query("select * from pengetahuan where
16. id_penyakit='" . $id . "' order by id_pengetahuan");
17. while ($hasill = mysql_fetch_array($sqll)) {
18. if (in_array($hasill['id_gejala'], $gejala)) {
19. $gejalake++;
20. if ($gejalake == 1) {
21. $mbold = 0;
22. $mdold = 0;
23. $mbnew = $hasill['mb'];
24. $mdnew = $hasill['md'];
25. $mbcom = $hasill['mb'];
26. $mdcom = $hasill['md'];
27. } else {
28. $mbold = $mbcom;
29. $mdold = $mdcom;
30. $mbnew = $hasill['mb'];
31. $mdnew = $hasill['md'];
32. $mbcom = $mbold + ($mbnew * (1 - $mbold));
33. $mdcom = $mdold + ($mdnew * (1 - $mdold));}}}
34. if ($gejalake > 0) {
35. $nilaii = round($mbcom - $mdcom, 3);
36. $nilaii_penyakit[$id] = $nilaii;
37. $cff[] = array($nilaii, $id);}}}
38. sort($cff);
39. $nm_penyakit = '';
40. $daftarr = '';
41. $no = 0;
42. for ($j = count($cff) - 1; $j >= 0; $j--) {
43. if ($nm_penyakit == '') {
44. $nm_penyakit = $penyakitt[$cff[$j][1]][1];}
45. $no++;
46. $nilaii = ($cff[$j][0] * 100);
47. $kpp = $penyakitt[$cff[$j][1]][0];
48. $pp = $penyakitt[$cff[$j][1]][1];
49. $daftarr .= '
50. <tr>
51. <td style="text-align:center;">' . $no . '</td>
52. <td>' . $penyakitt[$cff[$j][1]][0] . '</td>
53. <td>' . $penyakitt[$cff[$j][1]][1] . '</td>
54. <td style="text-align:center;">' . ($cff[$j][0] * 100) .
55. ' %</td>
56. <td style="text-align:center;">' . $no . '</td>
57. </tr>
58. '; }
Kode Program 3 baris 1 sampai baris 7 adalah proses menampikan gejala
yang telah dipilih oleh user. Baris 15 sampai 58 adalah kode untuk menampilkan
penyakit berdasarkan id_pengetahuan pada tabel pengetahuan. Serta menghitung
nilai presentase penyakit dari gejala yang dialami berdasarkan niai mb dan md
yang telah ditentukan pada tabel pengetahuan.
4. Halaman Admin
Admin harus melakukan login terlebih dahulu untuk masuk ke halaman
beranda admin.
Gambar 8 Halaman Beranda Admin
Gambar 8 merupakan halaman beranda Admin, Dimana Adminmemiliki
hak akses penuh terhadap sistem yaitu melihat serta mengelola gejala, penyakit,
basis pengetahuan, dan rule solusi (menambah, mengubah dan menghapus).
Admin juga dapat melihat informasi mengenai Laporan Pengguna dan Laporan
Konsultasi serta mengubah password admin.
Kode Program 4 Kode program untuk Halaman Admin
1. <div id="menu">
2. <ul>
3. <li><a href="?hal=homadmin">Home </a></li>
4. <li><a href="?hal=data_gejala">Gejala</a></li>
5. <li><a href="?hal=data_penyakit">Penyakit</a></li>
6. <li><a href="?hal=data_solusi">Solusi</a></li>
7. <li><a href="?hal=data_pengetahuan">Basis Pengetahuan</a></li>
8. <li><a href="?hal=data_rule_solusi">Rule solusi</a></li>
9. <li><a href="?hal=lpasien">Laporan Pengguna</a></li>
10. <li><a href="?hal=lkonsultasi">Laporan Konsultasi</a></li>
11. <li><a href="?hal=ubah_password">Ubah Password</a></li>
12. <li class="last-item"><a href="logout.php">Logout</a></li>
13. </ul>
14. </div>
15. <div id="page">
16. <div class="box">
17. <?php eval($CONTENT_["main"]);?>
18. </div>
Kode Program 4 baris 3 sampai baris 12 adalah pemanggilan alamat link
menu admin tentang pengolahan gejala, penyakit, solusi, basis pengetahuan, rule
solusi, serta melihat laporan Pengguna, laporan konsultasi, dan mengubah
password.
Pengujian Sistem
Pengujian Sistem dilakukan untuk menguji fitur dan fungsi yang terdapat
pada aplikasi diagnosa penyakit Hepatitis A. Pengujian yang dilakukan terdiri dari
blackbox testing. Blackbox testing dilakukan untuk mengetahui apakah fitur-fitur
dan fungsi yang terdapat pada aplikasi sudah berkerja secara benar sesuai
fungsinya. Hasil pengujian metode blackbox testing dapat dilihat pada tabel 3.
Tabel 3 Hasil Pengujian blackbox testing
No Spesifikasi Input Output Status
1 Login -username dan
password benar
- username dan
password salah
- Sukses Login
- Muncul Pesan error
Valid
2 Halaman
Diagnosa
-pertanyaan gejala
-Mencetak Hasil
diagnosa
-Muncul hasil diagnosa
-Muncul hasil cetak diagnosa
Valid
3 Halaman
Admin
-Kelola Penyakit - Menambah, mengedit, menghapus
data penyakit
Valid
-Kelola Gejala - Menambah, mengedit, menghapus
data gejala
Valid
-Kelola Basis
pengetahuan
- Menambah, mengedit, menghapus
data basis pengetahuan
Valid
-Kelola Rule solusi - Menambah, mengedit, menghapus
data Rule solusi
Valid
-Melihat laporan
pengguna
- Memunculkan data pengguna Valid
-Melihat laporan
konsultasi
- Memunculkan data konsultasi Valid
-Password baru - password telah diubah Valid
4 Logout -klik logout - Sukses logout Valid
Tabel 3 merupakan hasil pengujian blackbox testing yang dilakukan pada
aplikasi web maka disimpulkan bahwa aplikasi ini berjalan sesuai yang
diharapkan, dimana setiap fitur dapat berjalan dengan baik sesuai fungsinya
dilihat status pengujian dari setiap fungsi adalah valid.
Uji Akurasi Nilai Kepastian
Dari pertanyaan-pertanyaan yang telah ada, jika user memilih 4 gejala
seperti di bawah ini :
Penyakit Hepatitis A Fase pra-ikterik
IF Demam
And Sakit kepala, Mual dan ingin muntah
And nyeri perut
And Nafsu makan menurun
Then Hepatitis A Fase pra-ikterik
Maka sistem akan melakukan perhitungan nilai MB dan MD berdasarkan data
yang ada di tabel basis pengetahuan, berikut ini contoh perhitungan manual:
Gejala 1 (G02) Demam (MB= 0.6 , MD= 0.01)
MBold = 0
MDold = 0
MBnew = 0.6
MDnew = 0.01
MBcom = 0.6
MDcom = 0.01
Gejala 2 (G03) Sakit kepala, Mual dan ingin muntah (MB=0.8 , MD=0.01)
MBold = 0.6
MDold = 0.01
MBnew = 0.8
MDnew = 0.01
MBcom = MBold + (MBnew *(1- MBold ))
= 0.6 + (0.8 *(1-0.6))
= 0.6 + (0.8 * 0.4)
= 0.6 + 0.32
= 0.92
MDcom = MDold + (MDnew *(1- MDold ))
= 0.01 + (0.01 *(1-0.01))
= 0.01 + (0.01 * 0.99)
= 0.01 + 0.0099
= 0.0199
Gejala 3 (G04) Nyeri perut (MB=0.6 , MD=0.01)
MBold = 0.92
MDold = 0.0199
MBnew = 0.6
MDnew = 0.01
MBcom = MBold + (MBnew *(1- MBold ))
= 0.92 + (0.6 *(1-0.92))
= 0.92 + (0.6 * 0.08)
= 0.92 + 0.048
= 0.968
MDcom = MDold + (MDnew *(1- MDold ))
= 0.0199 + (0.01 *(1-0.0199))
= 0.0199 + (0.01 * 0.9801)
= 0.0199 + 0.009801
= 0.0297
Gejala 4 (G06) Nafsu makan menurun (MB=0.8 , MD=0.01)
MBold = 0.968
MDold = 0.0297
MBnew = 0.8
MDnew = 0.01
MBcom = MBold + (MBnew *(1- MBold ))
= 0.968 + (0.8 *(1-0.968))
= 0.968 + (0.8 * 0.032)
= 0.6 + 0.0256
= 0.9936
MDcom = MDold + (MDnew *(1- MDold ))
= 0.0297 + (0.01 *(1-0.0297))
= 0.0297 + (0.01 * 0.9703)
= 0.0297 + 0.009703
= 0.0394
Akurasi Nilai Kepastian = (MBcom - MDcom)*100
= (0.9936 - 0.0394)*100
= 0.954*100
= 95.4%
Penyakit Hepatitis A Fase ikterik
IF Demam
And nyeri perut
And Nafsu makan menurun
Then Hepatitis A Fase ikterik
Gejala 1 (G02) Demam (MB= 0.6 , MD= 0.01)
MBold = 0
MDold = 0
MBnew = 0.6
MDnew = 0.01
MBcom = 0.6
MDcom = 0.01
Gejala 3 (G04) Nyeri perut (MB=0.6 , MD=0.01)
MBold = 0.6
MDold = 0.01
MBnew = 0.6
MDnew = 0.01
MBcom = MBold + (MBnew *(1- MBold ))
= 0.6 + (0.6 *(1-0.6))
= 0.6 + (0.6 * 0.4)
= 0.6 + 0.24
= 0.84
MDcom = MDold + (MDnew *(1- MDold ))
= 0.01 + (0.01 *(1-0.01))
= 0.01 + (0.01 * 0.99)
= 0.01 + 0.0099
= 0.0199
Gejala 4 (G06) Nafsu makan menurun (MB=0.8 , MD=0.01)
MBold = 0.84
MDold = 0.0199
MBnew = 0.8
MDnew = 0.01
MBcom = MBold + (MBnew *(1- MBold ))
= 0.84 + (0.8 *(1-0.84))
= 0.84 + (0.8 * 0.16)
= 0.84 + 0.128
= 0.968
MDcom = MDold + (MDnew *(1- MDold ))
= 0.0199 + (0.01 *(1-0.0199))
= 0.0199 + (0.01 * 0.009801)
= 0.0199 + 0.009703
= 0.0297
Akurasi Nilai Kepastian = (MBcom - MDcom)*100
= (0.968- 0.0297)*100
= 0.938*100
= 93.8%
Dari hasil perhitungan manual yang telah dilakukan dari 4 gejala yang
dipilih oleh user, ada 2 penyakit yang sesuai dengan gejala tersebut, namun
didapatkan Nilai Akurasi kepastian tertinggi mengarah ke penyakit Hepatitis A
Fase pra-ikterik adalah 95.4%.
Uji Nilai Keakuratan Sistem
Pengujian ini dilakukan untuk mengetahui keakuratan sistem memberikan
hasil diagnosa. Ada 11 sampel data yang diuji. Sistem ini memiliki nilai
keakuratan yaitu 1 dan 0. Jika bernilai 1 maka hasil diagnosa sistem sesuai
dengan perancangan, dan jika bernilai 0 maka hasil diagnosa sistem tidak sesuai
dengan perancangan.
Tabel 4 Hasil Pengujian Sistem
No Pengujian Sistem Nilai
1 Hepatitis A Fase pra-ikterik Hepatitis A Fase pra-ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
2 Hepatitis A Fase pra-ikterik Hepatitis A Fase pra-ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
3 Hepatitis A Fase pra-ikterik Hepatitis A Fase pra-ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
4 Hepatitis A Fase pra-ikterik Hepatitis A Fase pra-ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
5 Hepatitis A Fase pra-ikterik Hepatitis A Fase pra-ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
6 Hepatitis A Fase pra-ikterik Hepatitis A Fase pra-ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
7 Hepatitis A Fase pra-ikterik Hepatitis A Fase pra-ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
8 Hepatitis A Fase pra-ikterik Hepatitis A Fase pra-ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
9 Hepatitis A Fase pra-ikterik Hepatitis A Fase pra-ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
10 Hepatitis A Fase ikterik Hepatitis A Fase ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
11 Hepatitis A Fase pra-ikterik Hepatitis A Fase pra-ikterik 1
Silahkan konsultasi ke dokter untuk Silahkan konsultasi ke dokter untuk
Dilakukan pemerikasaan lebih lanjut Dilakukan pemerikasaan lebih lanjut
Jumlah 11
Jika dihitung nilai probabilitasnya, maka:
Nilai Akurasi =
=
= 100%
Berdasarkan hasil pengujian akurasi yang dilakukan dengan 11 data yang
diuji adalah 100%, maka kesimpulan yang dapat diperoleh dari sistem diagnosa
penyakit Hepatitis A menggunakan finite state automata dapat berfungsi dengan
baik sesuai hasil perancangan sistem.
5. Simpulan
Berdasarkan hasil penelitian yang dilakukan, kesimpulan yang dapat
diperoleh dari Sistem Diagnosa Penyakit Hepatitis A menggunakan finite state
automata dapat digunakan dengan baik. Aplikasi ini dapat digunakan untuk
membantu mendiagnosa penyakit Hepatitis A. Diagnosa penyakit Hepatitis A
dilakukan berdasarkan gejala yang dialami user, beberapa gejala yang
dimasukkan oleh user dapat menyimpulkan jenis penyakit Hepatitis A
berdasarkan akurasi nilai kepastian tertinggi. Hasil pengujian yang dilakukan
menunjukkan bahwa sistem diagnosa penyakit Hepatitis A yang dibuat berjalan
sesuai yang diharapkan, dimana setiap fitur dapat berjalan sesuai fungsinya
dengan baik. Aplikasi ini kedepannya dapat dikembangkan lagi dengan
menambah fitur yang lebih meningkatkan penggunaannya dan aplikasi ini dapat
dikembangkan kedalam aplikasi berbasis mobile.
6. Daftar Pustaka
[1] WorldHealthOrganization, “Hepatitis A,” WHO, 2019. . Diakses tanggal
25 Juli 2020
[2] Rika Puspa, “PENDEKATAN DIAGNOSTIK DAN
PENATALAKSANAAN HEPATITIS AKUT,” no. 11150331000034, pp.
1–147, 2011. Diakses tanggal 16 Juni 2020
[3] A. T. Novarina, E. Santoso, and Indriati, “Sistem Pakar Diagnosis Penyakit
Hepatitis Menggunakan Metode Dempster Shafer,” J. Pengemb. Teknol.
Inf. dan Ilmu Komput., vol. 2, no. 6, pp. 2252–2258, 2018. Diakses 02
November 2019
[4] P. Sihaloho and W. Ginting, “Diagnosa Penyakit Hepatitis Menggunakan
Metode Weighted Product,” Inf. dan Teknol. Ilm., vol. 02, no. 1, p. 5, 2017.
Diakses 05 November 2019
[5] P. Soepomo, “Sistem Pakar Untuk Mendiagnosa Penyakit Hepatitis
Dengan Metode Fuzzy Tsukamoto,” JSTIE (Jurnal Sarj. Tek. Inform., vol.
2, no. 2, pp. 85–91, 2014, doi: 10.12928/jstie.v2i2.2724. Diakses 12
November 2019
[6] A. S. Nugroho, Teori bahasa dan otomata, Pertama. Yogyakarta, 2013.
[7] I. D. Gust and S. M. Feinstone, “Hepatitis A,” Hepat. A, pp. 1–239, 2018,
doi: 10.1201/9781351073172. Diakses 23 November 2020
[8] W. Heri, “HEPATITIS,” Conv. Cent. Di Kota Tegal, no. 2013, p. 6, 2017.
Diakses 25 November 2020
[9] D. Wicaksono and M. Gasem, “Angka Kejadian Infeksi Hepatitis a Virus
Pada Pasien Dengan Leptospirosis,” J. Kedokt. Diponegoro, vol. 3, no. 1,
p. 116875, 2014. Diakses 25 November 2020