diagnosa penyakit hepatitis a menggunakan finite state

27
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

Upload: others

Post on 13-May-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 2: Diagnosa penyakit Hepatitis A menggunakan Finite State
Page 3: Diagnosa penyakit Hepatitis A menggunakan Finite State
Page 4: Diagnosa penyakit Hepatitis A menggunakan Finite State
Page 5: Diagnosa penyakit Hepatitis A menggunakan Finite State
Page 6: Diagnosa penyakit Hepatitis A menggunakan Finite State
Page 7: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 8: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 9: Diagnosa penyakit Hepatitis A menggunakan Finite State

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.

Page 10: Diagnosa penyakit Hepatitis A menggunakan Finite State

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].

Page 11: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 12: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 13: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 14: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 15: Diagnosa penyakit Hepatitis A menggunakan Finite State

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).

Page 16: Diagnosa penyakit Hepatitis A menggunakan Finite State

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;

Page 17: Diagnosa penyakit Hepatitis A menggunakan Finite State

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 {

Page 18: Diagnosa penyakit Hepatitis A menggunakan Finite State

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.

Page 19: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 20: Diagnosa penyakit Hepatitis A menggunakan Finite State

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>

Page 21: Diagnosa penyakit Hepatitis A menggunakan Finite State

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.

Page 22: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 23: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 24: Diagnosa penyakit Hepatitis A menggunakan Finite State

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%

Page 25: Diagnosa penyakit Hepatitis A menggunakan Finite State

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

Page 26: Diagnosa penyakit Hepatitis A menggunakan Finite State

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.

Page 27: Diagnosa penyakit Hepatitis A menggunakan Finite State

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