• Tidak ada hasil yang ditemukan

Sistem Pakar Penyakit Aids Dengan Menggunakan Certainty Factor

N/A
N/A
Protected

Academic year: 2017

Membagikan "Sistem Pakar Penyakit Aids Dengan Menggunakan Certainty Factor"

Copied!
101
0
0

Teks penuh

(1)

LAMPIRAN A: LISTING PROGRAM

Index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"> <head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Sistem Pakar AIDS</title>

<link type="text/css" href="css/style.css" rel="stylesheet" /> <link type="text/css" href="css/bubble.css" rel="stylesheet" /> </head>

<body>

<div class="wrapper"> <div class="logo_l"> <a href="">

<img src="image/logo.jpg" width="100%" height="100%" /> </a>

</div>

<!-- <div class="logo_r"> <a href="">

<img src="image/aids2.jpg" width="100%" height="100%" /> </a>

</div> -->

<?php include "config/menu.php"; ?> <div class="main">

<div class="header"> <div class="logo">

<h1>Sistem Pakar AIDS</h1>

(2)

untuk dapat menerapkan koreksi. Sistem ini memanfaatkan kapabilitas penalaran untuk mencapai suatu kesimpulan. </p>

<br /><br /> </div>

<?php include "config/footer.php"; ?>

</div> </div> </body> </html>

Daftar.php

<?php require_once "config/settings.php"; ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Sistem Pakar AIDS</title>

<link type="text/css" href="css/style.css" rel="stylesheet" /> </head>

<body>

<div class="wrapper"> <div class="logo_l"> <a href="">

<img src="image/logo.jpg" width="100%" height="100%" /> </a>

</div>

<!-- <div class="logo_r"> <a href="">

<img src="image/aids2.jpg" width="100%" height="100%" /> </a>

</div> -->

<?php include "config/menu.php"; ?> <div class="main">

<div class="header"> <div class="logo">

<h1>Sistem Pakar AIDS</h1>

(3)

<div class="content">

<h1>Pendaftaran Pasien</h1>

<br />

<form method="post" action="config/act_daftar.php?act=add"> <table>

<tr><td align="right"><dt> Email </dt></td><td><input type="text" size="50" name="email" /></td></tr>

<tr><td align="right"><dt> Password </dt></td><td><input type="password" size="50" name="pass1" /></td></tr>

<tr><td align="right"><dt><i> Ulang Password

</i></dt></td><td><input type="password" size="50" name="pass2" /></td></tr>

<tr><td align="right"><dt> Nama Lengkap </dt></td><td><input type="text" size="50" name="nama" /></td></tr>

<tr><td align="right"><dt> Alamat </dt></td><td><textarea name="alamat"></textarea></td></tr>

<tr><td align="right"><dt> Kelamin </dt></td><td><select style="width:410px;" name="kelamin"><option value="Laki-laki">Laki-laki</option>

<option value="Perempuan">Perempuan</option></select> </td></tr>

<tr><td align="right"><dt> Tinggi </dt></td><td><input type="text" size="50" name="tinggi" />

<small><i>Cm</i></small></td></tr>

<tr><td align="right"><dt> Berat </dt></td><td><input type="text" size="50" name="berat" />

<small><i>Kg</i></small></td></tr>

<tr><td align="right" colspan="2"><button type="submit"> Simpan </button> &nbsp;&nbsp; <button type="button"

onclick="window.back()"> Batal </button></td></tr> </table>

</form> </div> </div>

<?php include "config/footer.php"; ?>

</div>

$query = "select * from user_sistem where email = '$_POST[email]' and password = '".md5($_POST[pass])."'";

(4)

$r = mysql_fetch_array($q);

echo "<script> alert('Username & Password tidak valid !'); window.back(); </script>";

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Sistem Pakar AIDS</title>

<link type="text/css" href="css/style.css" rel="stylesheet" /> <link type="text/css" href="css/bubble.css" rel="stylesheet" /> </head>

<body>

<div class="wrapper"> <div class="logo_l"> <a href="">

<img src="image/logo.jpg" width="100%" height="100%" /> </a>

</div>

<!-- <div class="logo_r"> <a href="">

<img src="image/aids2.jpg" width="100%" height="100%" /> </a>

</div> -->

<?php include "config/menu.php"; ?> <div class="main">

<div class="header"> <div class="logo">

<h1>Sistem Pakar AIDS</h1>

<h2>Universitas Sumatera Utara</h2> </div>

(5)

</nav>

<form action="login.php" method="post"> <table>

<tr><td align="right"><dt> Email </dt></td><td><input type="text" size="50" name="email" /></td></tr>

<tr><td align="right"><dt> Password </dt></td><td><input type="password" size="50" name="pass" /></td></tr>

<tr><td></td><td><button type="submit">Login</button> <button type="button"

onclick="window.location='daftar.php'">Daftar</button></td></tr> </table>

<?php else: ?>

<blockquote class="example-obtuse"> <p>Selamat datang <strong><?php echo

getIdentitas($_COOKIE[username],"nama"); ?></strong>, untuk memulai konsultasi silahkan klik <a

href="config/set_konsultasi.php"><b>Next</b></a>. </p> </blockquote>

<p><img src="image/dokter.jpg" width="75" height="75" /></p> <!-- <table>

<tr><td></td><td><button type="submit">Tidak</button> <button type="submit">Sedikit Yakin</button> <button type="submit">Cukup Yakin</button> <button type="submit">Yakin</button> <button type="submit"> Sangat Yakin </button>

</table> -->

<?php include "config/footer.php"; ?>

(6)

echo "<script type='text/javascript'> alert('Anda harus login terlebih dahulu.'); window.location = 'index.php'; </script>";

endif;

require_once "config/settings.php"; ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Sistem Pakar AIDS</title>

<link type="text/css" href="css/style.css" rel="stylesheet" /> <link type="text/css" href="css/bubble.css" rel="stylesheet" />

<script type="text/javascript" src="js/jquery-1.5.2.min.js"></script> <script type="text/javascript" src="js/function.js"></script>

<script type="text/javascript"> function GenPertanyaan(a){

var url = "config/act_tanya.php?act=view_gejala&a="+a; url=url+"&sid="+Math.random();

xmlhttp = GetXmlHttpObject();

xmlhttp.onreadystatechange=function(){

if (xmlhttp.readyState==4 && xmlhttp.status==200){ var hasil = xmlhttp.responseText;

var h = hasil.split("||"); document.frm.tipe.value = h[0];

var a = document.frm.tipe.value; var b = document.frm.indeks.value; var c = c;

var url = "config/generate.php?a="+a+"&b="+b+"&c="+c; url=url+"&sid="+Math.random();

xmlhttp = GetXmlHttpObject();

xmlhttp.onreadystatechange=function(){

if (xmlhttp.readyState==4 && xmlhttp.status==200){ var hasil = xmlhttp.responseText;

(7)

$m('tanya').innerHTML = h[2];

$m('tanya').innerHTML = '<p><strong> ? ? ? ? ? ? ? ? ? ? ? ? ? ? </strong> </p>';

<img src="image/logo.jpg" width="100%" height="100%" /> </a>

</div>

<!-- <div class="logo_r"> <a href="">

<img src="image/aids2.jpg" width="100%" height="100%" /> </a>

</div> -->

<?php include "config/menu.php"; ?> <div class="main">

<div class="header"> <div class="logo"> <h1>Diagnosa AIDS</h1>

<h2><?php echo getIdentitas($_COOKIE[username],"nama"); ?></h2>

<blockquote class="example-obtuse" id="tanya">

<p><strong> ? ? ? ? ? ? ? ? ? ? ? ? ? ? </strong> </p> </blockquote>

(8)

<input type="hidden" name="tipe" value="Mayor" /> <input type="hidden" name="indeks" value="0" /> <table id="navi">

<tr><td></td><td><button type="button"

onclick="GenKeputusan(0)">Tidak</button> <button type="button" onclick="GenKeputusan(1)">Sedikit Yakin</button> <button

type="button" onclick="GenKeputusan(2)">Cukup Yakin</button> <button type="button" onclick="GenKeputusan(3)">Yakin</button> <button

<script type="text/javascript"> GenPertanyaan('0'); </script> <?php include "config/footer.php"; ?>

</div>

(9)

$cfTMP = $cf[$indexCF];

$query = "insert into tmp_gejala values(0,$Noip,$idTMP,'$type',$cfTMP)";

$query = "select * from gejala where ID = $idgejala[$index]";

$query = "select * from tmp_gejala where tipe = '$tipe[0]' and Noip = $Noip";

$q = mysql_query($query); $rmay = mysql_num_rows($q);

$query = "select * from tmp_gejala where tipe = '$tipe[1]' and Noip = $Noip";

$q = mysql_query($query); "</strong>, kemungkinan anda terkena infeksi AIDS berdasarkan gejala fisiologi yang anda rasakan sebesar ".$nilai_cf." %.</p>";

$query2 = "select * from tmp_gejala where Noip = $Noip order by ID asc";

$q2 = mysql_query($query2);

echo "<ul>";

while($r2 = mysql_fetch_array($q2)):

echo "<li><img

src='image/checklist_check.jpg' /> anda ".$ykn[$r2[CF]*10]." mengalami ".getGejala($r2[id_gjl])."</li>";

endwhile; echo "</ul>

<p>Disarankan untuk melakukan pemeriksaan darah demi mendapatkan hasil yang lebih akurat. Agar dapat diketahui jumlah CD4 dalam darah anda.</p>

<br>&nbsp;&nbsp;&nbsp; - - - Terima Kasih - - - -

<p><a

href='config/set_konsultasi.php'>Ulang </a> atau <a

(10)

$sql = "insert into hasil "</strong>, kemungkinan anda terkena infeksi AIDS berdasarkan gejala fisiologi yang anda rasakan sebesar ".$nilai_cf." %.</p>";

$query2 = "select * from tmp_gejala where Noip = $Noip order by ID asc";

$q2 = mysql_query($query2);

echo "<ul>";

while($r2 = mysql_fetch_array($q2)):

echo "<li><img

src='image/checklist_check.jpg' /> anda ".$ykn[$r2[CF]*10]." mengalami ".getGejala($r2[id_gjl])."</li>";

endwhile; echo "</ul>

<p>Disarankan untuk melakukan pemeriksaan darah demi mendapatkan hasil yang lebih akurat. Agar dapat diketahui jumlah CD4 dalam darah anda.</p>

<br>&nbsp;&nbsp;&nbsp; - - - Terima Kasih - - - -

<p><a

href='config/set_konsultasi.php'>Ulang </a> atau <a

href='index.php'>Selesai </a> ?</p> <p><a href='print_detail.php' target='_blank'>Cetak</a></p>||end";

$sql = "insert into hasil

values($Noip,'Kemungkinan terinfeksi HIV/AIDS',$nilai_cf)"; mysql_query($sql);

else:

$sql = "insert into hasil

values($Noip,'Kemungkinan tidak terinfeksi HIV/AIDS',100)"; mysql_query($sql);

echo "$type||$index||<p>Anda tidak terkena infeksi HIV/AIDS.</p>

<p><a href='config/set_konsultasi.php'>Ulang </a> atau <a href='index.php'>Selesai </a> ?</p> ||end";

endif; else:

(11)

echo "$r2[tipe]||$r[gjl_tanya]||<p>Mengalami $r2[nama] ?</p>||";

endif; else:

$query = "select * from pohon where gjl_tanya = $index"; $q = mysql_query($query);

$query = "select * from gejala where ID = $id"; $q = mysql_query($query);

mysql_connect("localhost","root","") or die("Koneksi tidak berhasil");

(12)

$numday =

array("Minggu"=>0,"Senin"=>1,"Selasa"=>2,"Rabu"=>3,"Kamis"=>4,"Jumat" =>5,"Sabtu"=>6);

$tipe = array("Mayor","Minor","Spesifik"); $cf = array(0,0.4,0.6,0.8,1);

$ykn = array(0 => "tidak", 4 => "sedikit yakin", 6 => "cukup yakin", 8 => "yakin", 10 => "sangat yakin");

function getBln($i){ switch($i){

case 1: $bln = "Januari"; break; case 2: $bln = "Februari"; break; case 3: $bln = "Maret"; break; case 4: $bln = "April"; break; case 5: $bln = "Mei"; break; case 6: $bln = "Juni"; break; case 7: $bln = "Juli"; break; case 8: $bln = "Agustus"; break; case 9: $bln = "September"; break; case 10: $bln = "Oktober"; break; case 11: $bln = "November"; break; case 12: $bln = "Desember"; break; }

return $bln; }

function getIdentitas($id,$colom){

$query = "select * from identitas where email = '$id'"; $q = mysql_query($query);

$r = mysql_fetch_array($q); return $r[$colom];

}

function getGejala($id){

$query = "select * from gejala where ID = $id"; $q = mysql_query($query);

$r = mysql_fetch_array($q); return $r[nama];

}

function hitungCF1($Noip){

(13)

$cfold = $cfold2; endwhile;

return round($cfold * 100,2); }

function hitungCF2($Noip){

$query = "select * from tmp_gejala where Noip = $Noip"; $q = mysql_query($query);

return round($cfold * 100,2); }

$query = "select * from tmp_gejala where Noip = $Noip order by ID desc limit 1";

$q = mysql_query($query); $row = mysql_num_rows($q); $r = mysql_fetch_array($q);

$query = "select * from hasil where Noip = $Noip"; $qh = mysql_query($query);

$rowh = mysql_num_rows($qh); if($row <= 0):

$query = "select * from gejala where tipe = 'Mayor' order by ID asc limit 1";

$q = mysql_query($query); $r = mysql_fetch_array($q);

(14)

elseif($rowh > 0):

$query = "select * from hasil where Noip = $Noip"; $q = mysql_query($query);

$rf = mysql_fetch_array($q); $nilai_cf2 = $rf[cf_aids]; $id = $rf[id_peny];

if($rf[cf_aids] == 0 and $r[cf_faktor]==0): $string = "<p>Anda tidak terkena infeksi HIV/AIDS.</p>";

$nilai_cf2 = 100; //<p><a

href='config/set_konsultasi.php'>Ulang </a> atau <a

href='index.php'>Selesai </a> ?</p> <p><a href='print_detail.php' target='_blank'>Cetak</a></p>||end";

elseif($id == 0):

$string = "anda positif terinfeksi HIV/AIDS tetapi stadium klinis AIDS anda tidak diketahui.";

else:

$query = "select * from penyakit where ID = $id"; $q = mysql_query($query);

$r = mysql_fetch_array($q);

$string = "anda terinfeksi $r[nama]."; endif;

echo

"0||0||<p><strong>".getIdentitas($_COOKIE[username],"nama")."</strong >, $string</p>";

$query2 = "select * from tmp_gejala where Noip = $Noip order by ID asc";

$q2 = mysql_query($query2);

echo "<ul>";

while($r2 = mysql_fetch_array($q2)):

echo "<li><img src='image/checklist_check.jpg' /> anda ".$ykn[$r2[CF]*10]." mengalami ".getGejala($r2[id_gjl])."</li>";

endwhile; echo "</ul>

<p>$r[solusi]</p>";

echo "<p>Persentasi keyakinan sistem <b>".$nilai_cf2." %</b></p><p><a href='config/set_konsultasi.php'>Ulang </a> atau <a href='index.php'>Selesai </a> ?</p><p><a href='print_detail.php' target='_blank'>Cetak</a></p>||end";

else:

$query = "select * from gejala where ID = $r[id_gjl]"; $q = mysql_query($query);

(15)

$query = "select * from gejala where tipe != 'Spesifik' order by ID asc";

$q2 = mysql_query($query);

$query = "select * from gejala where ID = $idgejala[$index]";

$query = "select * from tmp_gejala where tipe = 'Mayor' and Noip = $Noip";

$q = mysql_query($query); $rmay = mysql_num_rows($q);

$query = "select * from tmp_gejala where tipe = 'Minor' and Noip = $Noip";

$q = mysql_query($query); $rmin = mysql_num_rows($q); if($rmay>=2 and $rmin>=1):

echo "$type||$index||<p>Anda positif terkena infeksi HIV/AIDS dengan persentasi keyakinan

".hitungCF1($Noip)." %.</p>

<p><a href='#' onclick='GenKeputusan(0)'>Lanjut >></a>||end";

elseif($rmin>=3):

echo "$type||$index||<p>Anda positif terkena infeksi HIV/AIDS dengan persentasi keyakinan

(16)

$query = "select * from pohon where gjl_tanya =

$query = "select * from gejala where ID = $id"; $sql = "insert into hasil values($Noip,0,$nilai_cf2,$nilai_cf1)";

mysql_query($sql);

echo "finish||0||<p>Stadium klinis HIV anda tidak diketahui.</p> <p><a href='#'

onclick='GenKeputusan(0)'>Lihat detail >></a> </p>||end"; endif;

else:

$id = substr($hasil,1);

$query = "select * from penyakit where ID = $id";

$q = mysql_query($query); $r = mysql_fetch_array($q); $nilai_cf1 = hitungCF1($Noip); $nilai_cf2 = hitungCF2($Noip); $sql = "insert into hasil values($Noip,$r[ID],$nilai_cf2,$nilai_cf1)";

mysql_query($sql);

echo "finish||0||<p>Anda terinfeksi $r[nama].</p>

<p>$r[solusi]</p>";

echo "<p>Persentasi keyakinan sistem <b>".$nilai_cf2." %</b></p><p><a href='#'

onclick='GenKeputusan(0)'>Lihat detail >></a> ||end"; endif;

endif; endif;

(17)
(18)

DAFTAR PUSTAKA

Daniel dan Virginia, G. 2010. Implementasi Sistem Pakar untuk Mendiagnosis

Penyakit dengan Gejala Demam menggunakan Metode Certainty Factor.

Jurnal Teknologi, vol 6 No.1 : Universitas Kristen Duta Wacana

Efraim, Turban. 1995. Decision Support System and Expert System. USA:

Prentice-Hall.

Efraim, Turban, Aronson, dan Jay E. 2002. Decision Support Systems and Intelligent

Systems, 6th edition. New Jersey: Prentice-Hall.

Giarratano, Joseph dan Riley, Gary. 2005. Expert Systems: Principle and

Programming, 4th Edition. Boston: Thomson Course Technology.

Heckerman, D. 1986. Probabilistic Interpretations for Mycin’s Certainty Factors,

North-Holland: Elsevier science Publishers B.V.

Kusrini. 2006. Sistem Pakar: Teori dan Aplikasi. Yogyakarta: Andi.

Kusumadewi, S. 2003. Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta:

Graha Ilmu.

Martin, James., Oxman, Steven. 1988. Building Expert Systems: A Tutorial. New

Jersey: Prentice-Hall.

Satyareni, Hernyka Diema. 2011. Sistem Pakar Diagnosis Infeksi penyakit tropis

dengan menggunakan forward dan backward chaining. Jurnal Teknologi, vol

1 No. 2. Jatim : Universitas Pesantren Tinggi Darul ‘Ulum (Unipdu).

Situmeang, Ellys R.. 2011. Sistem Pakar Diagnosa Infeksi Penyakit Tropis Dengan

Menggunakan Metode Forward Chaining. Medan : Universitas Sumatera

(19)

Syahputra, Dedy. 2011. Perancangan Aplikasi Perangkat Lunak Sistem Pakar

Dengan Menggunakan Metode Forward Chaining Dan Certainty Factor

Untuk Mendiagnosis Kerusakan Komputer Pada Warung Internet (Warnet).

Medan : Universitas Sumatera Utara.

Voni, Elpa Armi. 2010. Penggunaan Certainty Factor (CF) Dalam Perancangan

Sistem Pakar Untuk Mendiagnosis Penyakit Atherosklerosis. Medan :

Universitas Sumatera Utara.

Waterman, D.1986. A Guide to Expert Systems. Kanada: Addison-Wesley Publishing

(20)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Certainty Factor dalam Penentuan terinfeksi AIDS atau tidak

Gejala-gejala yang ditimbulkan oleh penyakit AIDS pada umumnya menyerupai

gejala-gejala yang ditimbulkan oleh beberapa penyakit ringan lainnya, seperti diare,

demam, batuk, dan infeksi jamur pada kulit. Untuk membantu masyarakat awam pada

umumnya, maka dirancanglah sebuah sistem yang cukup akurat mengenai

gejala-gejala penyakit AIDS secara lebih spesifik yang kemudian dapat membedakannya dari

penyakit lainnya. Perancangan aplikasi ini dibuat sesederhana mungkin, dan dengan

tampilan yang menarik untuk memudahkan pemakainya dan memberikan manfaat

yang dibutuhkan oleh pemakainya.

Proses penentuan gejala dilakukan oleh user, kemudian selanjutnya akan

dilakukan perhitungan besar certainty factor untuk memperoleh besarnya nilai

keyakinan penyakit berdasarkan gejala-gejala yang dialami oleh user. Proses

perhitungan nilai certainty factor ini didasarkan pada frekuensi gejala yang dialami

oleh user. Certainty factor akan dihitung jika gejala-gejala yang dialami penderita

belum memenuhi syarat dari klasifikasi klinis WHO dan CDC untuk infeksi AIDS.

Syarat yang harus dipenuhi yaitu sekurang-kurangnya terdapat dua gejala mayor dan

satu gejala minor. Jika syarat terpenuhi, maka sistem akan langsung mengeluarkan

persentase kemungkinan terinfeksi AIDS, dan jika gejala-gejala yang ditemukan pada

penderita belum memenuhi syarat klinis WHO dan CDC, maka dapat dilakukan

perhitungan certainty factor, yaitu :

1. Tentukan besar frekuensi gejala yang dialami oleh penderita (dalam kasus ini

(21)

Yakin (0.6), Yakin (0.8), dan Sangat Yakin (1)). Dalam hal ini penentuan

bobot jawaban diambil dari Daniel dan Virginia (2010).

2. Perhitungan besar certainty factor (Turban dan Aronson, 2001) dengan rumus:

CF = CFpakar x CFuser

CFold = CFold + CF1 x (1-CFold)

Presentase keyakinan : CFold x 100%

Dimana :

CFold = Nilai certainty factor.

CF = Hasil pengalian dari CFpakar dan CFuser.

CFpakar = Nilai CF yang telah ditentukan oleh pakar untuk setiap gejala

CFuser = Besar frekuensi gejala yang dialamin oleh user.

3.2 Gejala untuk Penentuan AIDS

Adapun gejala yang dapat ditimbulkan oleh penyakit AIDS terbagi dalam 2 bagian,

yaitu :

A. Gejala Mayor

Karakteristik pada gejala Mayor yang sering terjadi pada penderita AIDS adalah

sebagai berikut:

1. Berat badan menurun lebih dari 10% dalam satu bulan.

2. Diare kronis yang berlangsung lebih dari satu bulan.

3. Demam berkepanjangan lebih dari satu bulan.

4. Penurunan kesadaran dan gangguan neurologis.

5. Ensefalopati HIV.

B. Gejala Minor

Karakteristik pada gejala Minor yang sering terjadi pada penderita AIDS adalah

sebagai berikut :

1. Batuk menetap lebih dari satu bulan.

2. Dermatitis generalisata.

3. Herpes zoster multisegmental berulang.

(22)

5. Herpes simpleks kroniks progresif.

6. Limfadenopati generalisata.

7. Infeksi jamur berulang pada alat kelamin wanita.

8. Retinitis oleh virus situmegalo.

Perhitungan untuk kasus infeksi AIDS fiktif dapat dilihat pada contoh kasus

berikut. Seorang pasien mempunyai gejala yang menunjukkan gejala terinfeksi AIDS

berikut ini :

1. Mengalami penurunan berat badan lebih dari 10% dalam sebulan.

2. Mengalami diare kronis yang berlangsung lebih dari sebulan.

3. Mengalami demam berkepanjangan lebih dari sebulan.

4. Mengalami batuk menetap lebih dari sebulan.

5. Mengalami dermatitis generalisata (penyakit kulit berupa perasaan gatal).

6. Mengalami demam dengan sebab yang tidak jelas (intermittent atau menetap)

lebih dari sebulan.

Gejala-gejala yang diderita pasien tersebut dapat dijabarkan pada tabel 3.2:

Tabel 3.2 Tabel Gejala

Gejala Jawaban

2 Diare kronis yang berlangsung lebih dari sebulan.

Sedikit Yakin 0.4 0.4

3 Demam berkepanjangan lebih dari sebulan.

Cukup Yakin 0.4 0.6

4 Gangguan neurologis seperti kebingungan dan pelupa, mati rasa pada lengan dan kaki.

Sedikit Yakin 0.3 0.4

5 Batuk menetap lebih dari sebulan. Sedikit Yakin 0.4 0.4

6 Dermatitis generalisata (penyakit kulit

berupa perasaan gatal).

Sedikit Yakin 0.4 0.4

7 Herpes simpleks kronis progresif,

merupakan demam yang terjadi berulang-ulang.

(23)

Maka, dari gejala-gejala di atas dapat dihitung besar persentase user terkena HIV

AIDS dengan cara sebagai berikut:

a. Berat badan menurun lebih dari 10% dalam sebulan: Sedikit Yakin.

CFpakar =0.3

CFuser =0.4

CF1 =CFpakar x CFuser

= 0.3 x 0.4

= 0.12

b. Diare kronis yang berlangsung lebih dari sebulan: Sedikit Yakin

CFpakar =0.4

CFuser =0.4

CF2 =CFpakar x CFuser

= 0.4 x 0.4

= 0.16

c. Demam berkepanjangan lebih dari sebulan: Cukup Yakin

CFpakar =0.4

CFuser =0.6

CF3 =CFpakar x CFuser

= 0.4 x 0.6

= 0.24

d. Gangguan neurologis, seperti kebingungan dan pelupa, mati rasa pada lengan dan

kaki : Sedikit Yakin

CFpakar = 0.4

CFuser = 0.4

CF5 = CFpakar x CFuser

= 0.4 x 0.4

= 0.16

e. Batuk menetap lebih dari sebulan: Sedikit Yakin

CFpakar =0.5

(24)

CF4 =CFpakar x CFuser

= 0.5 x 0.4

= 0.2

f. Dermatitis generalisata (penyakit kulit berupa perasaan gatal): Sedikit Yakin

CFpakar =0.3

CFuser =0.4

CF5 =CFpakar x CFuser

= 0.3 x 0.4

= 0.12

g. Herpes simpleks kronis progresif (berupa demam yang terjadi berulang-ulang, dan

disebabkan oleh virus herpes): Sedikit Yakin

(25)

= 0.528094

5. CFold = CFold + CF5 x (1-CFold)

= 0.528094 + 0.2 x (1-0.528094)

= 0.528094 + 0.0943812

= 0.6224752

6. CFold = CFold + CF6 x (1-CFold)

= 0.6224752+ 0.12 x (1-0.6224752)

= 0.6224752 + 0.0453029

= 0.6677781

7. CFold = CFold + CF7 x (1-CFold)

= 0.6677781+ 0.2 x (1-0.6677781)

= 0.6677781 + 0.06644438

= 0.73422248

Maka, Persentase Keyakinan = CFold x 100%

= 0.73422248 x 100%

= 73,42%

3.3 Metode Inferensi

Proses diagnosis pada sistem menggunakan metode inferensi runut maju atau forward

chaining, yaitu suatu proses untuk mengidentifikasi penyakit berdasarkan

gejala-gejala yang dialami oleh user dan besarnya nilai kepercayaan yang dimasukkan oleh

user.

Di bawah ini merupakan gambar yang menjelaskan metode inferensi pada

sistem pakar penyakit AIDS dalam proses identifikasi penyakit:

Gambar 3.1 Metode Inferensi Forward Chaining

Tidak Ada Gejala yang diderita

Observasi 1

2 Gejala Mayor dan 1 Gejala Minor

(26)

Pada metode inferensi ini data yang digunakan adalah jawaban dari

pertanyaan gejala-gejala yang dialami oleh user. Sistem tidak akan memunculkan

pertanyaan yang sama. Setelah user menjawab seluruh pertanyaan gejala, maka

jawaban user akan disimpan. Sehingga, jika suatu waktu dibutuhkan kembali user

tidak perlu melakukan proses ulang.

Dalam proses mengidentifikasi penyakit yang diderita oleh user, ada beberapa

langkah dalam sistem yaitu:

1. Memasukkan semua daftar gejala yang dialami oleh user. Dalam hal ini gejala

yang dimaksud yaitu, gejala mayor dan minor.

2. Setelah didapat gejala-gejala yang dialami oleh user, maka sistem akan

memunculkan hasil dari proses berupa persentase kemungkinan user terinfeksi

AIDS.

3.4 Perancangan Sistem

Pada bagian ini akan diuraikan tentang perancangan sistem yang terdiri dari

perancangan mesin inferensi, perancangan basis data, bentuk tabel sistem informasi

dan perancangan antarmuka.

3.4.1 Perancangan Mesin Inferensi

Untuk lebih jelasnya, perancangan sistem ini dapat dilihat pada bagan flowchart

(27)

Start

Menghitung Gejala Mayor dan Minor

(gejala mayor >=2 and gejala minor >=1) OR (gejala minor>gejala mayor or gejala minor >=3)

Simpan jawaban Ya

Hasil

End

Ya Tidak

Gambar 3.2 Flowchart Sistem

Penjelasan flowchart :

1. Input gejala user.

Pada tahap ini sistem akan mengajukan beberapa gejala yang berkaitan dengan

diagnosis penyakit AIDS, lalu user akan memilih gejala-gejala apa saja yang

dialami oleh penderita, yaitu berupa gejala mayor dan minor. Gejala-gejala

tersebut berdasar pada klasifikasi klinis WHO dan CDC.

2. Hitung jumlah gejala.

Pada tahap ini sistem akan menghitung jumlah gejala yang dialami oleh

penderita. Dengan aturan, sekurang-kurangnya terdapat 2 atau lebih gejala

(28)

tersimpan pada sistem user sebagai history. Namun, jika bernilai Tidak, maka

tidak akan disimpan oleh sistem. Dan sistem akan segera mencetak hasil

diagnosisnya.

3. Untuk data yang bernilai Ya, data kemudian akan tersimpan pada sistem.

4. Cetak hasil, pada tahap ini sistem akan mencetak hasil dari diagnosis yang

dilakukan oleh user.

3.4.2 Perancangan DFD

Diagram Aliran Data/Data Flow Diagram (DFD) adalah alat yang biasa dipakai untuk

mendokumentasi proses dalam sistem atau sebuah teknis grafis yang menggambarkan

aliran informasi dan transformasi yang diaplikasikan pada saat data bergerak dari

input menjadi output.

a. Data flow diagram level 0 pada sistem dapat dilihat pada gambar 3.2.

User Sistem Pakar Admin

- data gejala - data user

- data gejala - lap. Hasil analisa

- data admin - entry gejala - entry aturan

- data gejala - data aturan

Gambar 3.3 Data Flow Diagram Level 0

Keterangan Gambar 3.3 :

1. User melakukan input data, berupa data gejala dan data user itu sendiri ke

dalam sistem. Dan akan menerima output berupa data gejala dan laporan hasil

diagnosis.

2. Admin melakukan input data, berupa data admin, data gejala, dan data aturan.

Selanjutnya admin akan menerima output dari sistem berupa entry gejala dan

(29)

b. Data flow diagram level 1pada sistem dapat dilihat pada gambar 3.3.

Data identitas Entry Data gejala

Data gejala

Gambar 3.4 Data Flow Diagram Level 1

Keterangan Gambar 3.4

1. Proses 1.0

Nama Proses : Proses Menu User

Masukan : Data user berupa identitas, dan gejala.

Keluaran : Hasil pemeriksaan berupa hasil diagnosis dan nilai certainty

factornya.

Simpan data user ke dalam basis data.

Keterangan : Proses untuk mengolah data user.

2. Proses 2.0

Nama Proses : Proses Menu Admin

(30)

Keluaran : Data gejala, dan data aturan.

Simpan data admin ke dalam basis data.

Keterangan : Proses untuk mengolah data admin.

c. Data flow diagram level 2 proses 1 pada sistem dapat dilihat pada gambar 3.4.

User 1.1

Gambar 3.5 Data Flow Diagram Level 2 Proses 1

Keterangan Gambar 3.5

1. Proses 1.1

Nama Proses : Proses Datar User.

Masukan : entry data user dan entry identitas.

Keluaran : Data user dan data identitas.

2. Proses 1.2

Nama Proses : Proses Konsultasi

Masukan : Data gejala.

(31)

d. Data flow diagram level 2 proses 2 pada sistem dapat dilihat pada gambar 3.5.

Entry Data admin Entry Data admin

Data identitas admin

Gambar 3.6 Data Flow Diagram Level 2 Proses 2

Keterangan Gambar 3.6

Masukan : Entry admin, dan Entry identitas admin.

Keluaran : Data admin, dan Data identitas admin.

3. Proses 2.3

Nama Proses : Data Gejala.

Masukan : Entry gejala.

(32)

3.5 Perancangan Antarmuka

Perancangan antarmuka dibuat untuk mempermudah gambaran-gambaran tampilan

sistem ketika sistem dijalankan. Antarmuka merupakan tampilan program aplikasi

yang akan digunakan oleh pengguna untuk dapat berkomunikasi dengan komputer.

Berikut struktur yang akan dirancang pada sistem pakar ini.

3.5.1 Halaman Utama

Halaman ini merupakan halaman yang pertama kali ditampilan ketika user hendak

menggunakan sistem. Pada halaman ini dijelaskan dengan singkat tentang sistem yang

dibangun, yaitu sistem pakar. Halaman ini terdiri dari lima menu, yaitu home, AIDS,

konsultasi dan bantuan.

SISTEM PAKAR PENDETEKSI AIDS HOME AIDS KONSULTASI BANTUAN

PENJELASAN SINGKAT SISTEM

Gambar 3.7 Rancangan Halaman Utama

3.5.2 Halaman AIDS

Halaman ini menampilkan penjelasan singkat tentang penyakit AIDS, sebagai

(33)

SISTEM PAKAR PENDETEKSI AIDS HOME AIDS KONSULTASI BANTUAN

Penjelasan Singkat AIDS

Gambar 3.8 Rancangan Halaman AIDS

3.5.3 Halaman Konsultasi

Pada halaman ini user dapat memulai konsultasi pada sistem. User terlebih dahulu

diminta untuk login dengan menggunakan data diri yang sudah terdaftar pada sistem.

Namun, bagi user yang belum terdaftar, dapat melakukan pendaftaran terlebih dahulu,

seperti pada tampilan berikut:

SISTEM PAKAR PENDETEKSI AIDS HOME AIDS KONSULTASI BANTUAN

LOGIN Email

Password

Login Daftar

(34)

3.5.4 Halaman Pendaftaran Pasien

Pada halaman pendaftaran pasien, user diminta untuk mengisi form yang telah

tersedia. Data-data yang diminta berupa email, password, ulangi password, nama

lengkap, jenis kelamin, tinggi badan, dan berat badan. Setelah user mengisi seluruh

form, maka data-data user akan tersimpan, maka selanjutnya user dapat memulai

proses konsultasi.

Gambar 3.10 Rancangan Halaman Daftar Pasien

Setelah pasien berhasil melakukan pendaftaran, selanjutnya pasien dapat

(35)

SISTEM PAKAR PENDETEKSI AIDS HOME AIDS KONSULTASI BANTUAN

Gambar 3.11 Rancangan Halaman Awal Konsultasi

Pertanyaan yang kemudian diajukan oleh sistem merupakan gejala mayor dan

minor, yang terdiri dari tiga belas pertanyaan.

SISTEM PAKAR PENDETEKSI AIDS HOME AIDS KONSULTASI BANTUAN

Tidak Sedikit Yakin Cukup Yakin Yakin Sangat Yakin

Gambar 3.12 Rancangan Halaman Pertanyaan Gejala Mayor dan Minor

Setelah user menjawab tiga belas pertanyaan sebelumnya, maka sistem akan

mengeluarkan hasil diagnosis yaitu apakah user positif atau negatif terkena AIDS.

Maka seperti inilah rancangan tampilan hasil diagnosis positif yang akan dikeluarkan

oleh sistem.

SISTEM PAKAR PENDETEKSI AIDS HOME AIDS KONSULTASI BANTUAN

Kemungkinan Anda terinfeksi AIDS sebesar 56,39 %

(36)

Apabila user ingin melihat detail hasil diagnosis oleh sistem, maka user

tinggal meng-klik opsi lihat detail. Maka, akan muncul tampilan:

SISTEM PAKAR PENDETEKSI AIDS HOME AIDS KONSULTASI BANTUAN

Gejala-gejala penyakit AIDS yang diderita oleh pasien

Persentase Keyakinan Sistem

Ulang atau Selesai Cetak

Gambar 3.14 Rancangan Halaman Detail Hasil Diagnosis

Sedangkan untuk tampilan hasil diagnosis negatif dapat dilihat pada gambar di

bawah ini:

SISTEM PAKAR PENDETEKSI AIDS HOME AIDS KONSULTASI BANTUAN

Anda Tidak Terkena infeksi AIDS

Ulang atau selesai Cetak

Gambar 3.15 Rancangan Halaman Hasil Diagnosis Negatif

3.5.5 Halaman Bantuan

Halaman ini berisi petunjuk untuk menggunakan sistem. Hal ini membantu user yang

masih asing dengan penggunaan sistem seperti ini. Tampilan rancangan dapat dilihat

(37)

SISTEM PAKAR PENDETEKSI AIDS HOME AIDS KONSULTASI BANTUAN

Petunjuk Penggunaan Sistem

(38)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi

Implementasi merupakan tahap dimana sistem yang telah dirancang, kemudian akan

diimplementasikan dengan menggunakan bahasa pemrograman tertentu. Pada sistem

yang telah dirancang dibagi menjadi dua bagian, yaitu: menu user dan menu admin.

Berikut ini akan dijelaskan hasil implementasi dari rancangan sistem yang telah

dibuat.

4.2 Pengujian Sistem

Pada tahap ini akan dijelaskan proses pengujian dari aplikasi sistem certainty factor

pada saat dijalankan. Sistem akan menghasilkan output berupa persentase

kemungkinan user terinfeksi AIDS berdasarkan gejala mayor dan minor yang dialami

oleh user.

4.2.1 Tampilan Menu User

Form ini merupakan tampilan awal yang akan dilihat user ketika mulai menggunakan

aplikasi sistem ini. Dalam form ini terdapat empat menu yang dapat dipilih oleh user,

(39)

Pada menu home dijelaskan secara singkat pengertian dari sistem pakar, untuk

memperkenalkan kepada user yang belum pernah mengetahui tentang sistem pakar

sebelumnya. Berikut adalah tampilannya:

Gambar 4.1 Tampilan Menu Home

4.2.2 Tampilan Menu AIDS

Pada menu AIDS akan ditampilkan informasi singkat tentang AIDS. Sehingga user

dapat lebih memahami mengenai penyakit AIDS, dan sebagai informasi tambahan

bagi user itu sendiri. Dengan tampilan sebagai berikut:

(40)

4.2.3 Tampilan Menu Konsultasi

Pada menu konsultasi sistem akan meminta user melakukan login terlebih dahulu

dengan data yang telah terdaftar dalam sistem yang berupa, email dan password.

Tampilan tersebut ditunjukkan pada Gambar 4.3 berikut ini:

Gambar 4.3 Tampilan Login User

Gambar 4.4 Tampilan Pendaftaran Pasien/User

Halaman ini berisi delapan form data, yaitu email, password, ulang password,

nama lengkap, alamat, jenis kelamin, tinggi dan berat badan. Setelah user berhasil

melakukan registrasi, maka user dapat langsung melakukan konsultasi dengan

(41)

Gambar 4.5 Tampilan Menu Konsultasi

Untuk memulai konsultasi, user hanya perlu memilih opsi “Next” yang telah

tersedia. Selanjutnya, user akan dibimbing dengan pertanyaan gejala-gejala AIDS

berdasarkan Klasifikasi Klinis WHO (2002) dan CDC (1993). Gejala-gejala tersebut

terdiri dari tiga belas pertanyaan, dan dibagi ke dalam 2 bagian, yaitu: gejala mayor,

dan gejala minor. Berikut adalah tampilan pertanyaan-pertanyaan yang akan diajukan

oleh sistem kepada user:

(42)
(43)
(44)
(45)
(46)

Setelah user menjawab pertanyaan yang sesuai dengan gejala yang

dideritanya, maka akan muncul tampilan yang berisi keseluruhan dari hasil diagnosis

berupa persentase kemungkinan user terinfeksi AIDS dan gejala-gejala yang dialami

oleh user. Tampilan tersebut dapat dilihat seperti gambar berikut:

Gambar 4.8 Tampilan Hasil Diagnosis

Sementara bagi user yang kemungkinan tidak terinfeksi AIDS. Maka akan muncul

(47)

Gambar 4.9 Tampilan Hasil Diagnosis Negatif AIDS

4.2.4 Tampilan Form Cetak dari Database

Untuk mencetak hasil diagnosis, maka user harus memilih opsi cetak dan kemudian

akan muncul tampilan berikut ini:

(48)

Maka seperti inilah cetakan hasil diagnosis:

Gambar 4.11 Tampilan Cetakan Hasil Diagnosis

4.2.5 Tampilan Menu Bantuan

Menu ini berisi tentang petunjuk penggunaan sistem. Hal ini bertujuan untuk

memudahkan user yang sama sekali tidak pernah menggunakan sistem seperti ini

(49)

Gambar 4.12 Tampilan Menu Bantuan

4.3 Tampilan Menu Admin

Form ini adalah dikhususkan untuk admin, artinya form ini hanya dapat diakses oleh

admin. Tampilan utama pada menu admin terdiri dari lima menu, yaitu: gejala,

penyakit, relasi, pohon, dan user. Tampilan utama pada menu user ini sama dengan

tampilan home yang ada pada menu user, yaitu berisi tentang penjelasan singkat

pengertian sistem pakar. Tampilannya adalah sebagai berikut:

.

(50)

4.3.1 Tampilan Menu Gejala

Menu ini memaparkan tentang jenis-jenis gejala pada AIDS, yaitu gejala mayor, dan

gejala minor. Pada menu ini juga terdapat nilai certainty factor yang sebelumnya telah

ditentukan oleh admin. Apabila terjadi kesalahan pengetikan atau penentuan nilai

certainty factor, maka pada menu ini tersedia opsi edit, hapus dan juga opsi tambah

yang disimbolkan dengan tanda tambah di sisi kanan menu. Sehingga jika suatu saat

ada data yang harus diubah, maka admin dapat melakukannya dengan mudah. Maka

tampilan tersebut dapat dilihat pada gambar di bawah ini:

(51)

Ketika admin melakukan pengeditan data, maka akan muncul tampilan seperti berikut:

Gambar 4.15 Tampilan Menu Edit Gejala AIDS

Sedangkan jika admin ingin menambahkan gejala baru pada menu gejala,

dengan memilih opsi tambah di sisi kanan menu. Kemudian akan muncul tampilan

seperti di bawah ini:

(52)

4.3.2 Tampilan Menu Relasi

Menu ini menampilkan hubungan antara jenis penyakit dan gejala. Pada menu ini

tidak terdapat opsi lain seperti pada dua menu sebelumnya. Menu ini memiliki

tampilan seperti di bawah:

Gambar 4.17 Tampilan Menu Relasi

4.3.3 Tampilan Menu Pohon Keputusan

Pada menu ini dijelaskan keterkaitan antara gejala yang satu dengan gejala yang

lainnya. Pada menu ini ditampilkan dengan jelas aturan yang berlaku pada metode

forward chaining yang digunakan dalam membangun sistem tersebut. Tampilan menu

pohon keputusan dapat dilihat pada Gambar 4.18 di bawah ini:

(53)

4.3.4 Tampilan Menu User

Menu ini berisi tentang daftar user admin yang telah tersimpan pada sistem, dengan

tampilan seperti berikut ini:

Gambar 4.19 Tampilan Menu User Admin

(54)

Gambar 4.20 Tampilan Menu Edit User Admin

Sementara jika admin memilih opsi tambah untuk menambah user admin, maka akan

muncul tampilan sebagai berikut:

(55)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan pembahasan yang telah dilakukan pada bab-bab sebelumnya, maka dapat

ditarik kesimpulan sebagai berikut :

1. Aplikasi sistem ini dibuat sebagai alat bantu untuk mendiagnosis penyakit

AIDS menggunakan Certainty Factor dan metode kuantifikasi pertanyaan

yang diajukan berdasarkan Klasifikasi Klinis WHO dan atau CDC.

2. Aplikasi ini dirancang untuk membantu masyarakat awam sebagai diagnosis

awal terinfeksi AIDS.

3. Sistem menggunakan syarat gejala-gejala yang dialami oleh penderita AIDS,

dan perubahan fisik yang terjadi dapat dipantau secara jelas.

4. Sistem pakar dengan metode kuantifikasi pertanyaan dapat digunakan untuk

mendiagnosis gejala-gejala awal AIDS dengan mengeliminasi aturan

lama-gejala.

5. Sistem dapat mengenali gejala-gejala AIDS yang diderita dan dapat

(56)

5.2Saran

Untuk pengembangan lebih lanjut terhadap sistem yang telah dibuat, penulis

menyarankan beberapa pengembangan berikut ini :

1. Sistem ini dapat dikembangan dengan menggunakan server mobile, untuk

semakin mempermudah pemantauan dan pengembangannya.

2. Pembaca dapat mengembangkan sistem ini dengan menggunakan metode

perhitungan yang lain.

(57)

BAB 2

LANDASAN TEORI

2.1. Defenisi Sistem Pakar

Sistem pakar adalah suatu sistem komputer yang bisa menyamai atau meniru

kemampuan seorang ahli (Giarratano dan Riley, 2005). Sistem pakar dapat diartikan

sebagai suatu sistem yang mengambil sebagian pengetahuan manusia ke komputer,

sehingga komputer dapat memecahkan permasalahan yang umumnya dilakukan oleh

ahlinya. Dalam hal ini, manusia yang dimaksud adalah seorang pakar dari bidang

pengetahuan tertentu. Misalnya, dokter adalah seorang pakar yang mampu

mendiagnosis penyakit yang diderita pasien serta dapat memberikan penatalaksanaan

suatu penyakit. Atau seorang ahli mesin yang mengusai segala pengetahuan tentang

mesin.

Menurut Kusrini (2006), masalah-masalah yang dapat diselesaikan sistem

pakar, di antaranya:

1. Interpretasi

Membuat sebuah kesimpulan atau deskripsi dari sekumpulan data mentah.

2. Prediksi

Memproyeksikan akibat-akibat yang dimungkinkan dari situasi-situasi

tertentu.

3. Diagnosis

Menentukan sebab malfungsi dalam situasi kompleks yang didasarkan pada

gejala-gejala yang teramati.

4. Desain

Menentukan konfigurasi komponen-komponen sistem yang cocok dengan

(58)

5. Perencanaan

Merencanakan serangkaian tindakan yang akan dapat mencapai sejumlah

tujuan dengan kondisi awal tertentu.

6. Debugging dan Repair

Menentukan dan menginterpretasikan cara-cara untuk mengatasi malfungsi.

7. Pengendalian

Mengatur tingkah laku suatu environment yang kompleks.

8. Instruksi

Mendeteksi dan mengoreksi defisiensi dalam pemahaman domain subyek.

9. Selection

Mengidentifikasi pilihan terbaik dari sekumpulan (list) kemungkinan.

10. Simulation

Pemodelan interaksi antara komponen-komponen sistem

11. Monitoring

Membandingkan hasil pengamatan dengan kondisi yang diharapkan.

2.1.1 Sejarah Sistem Pakar

Selama abad ke-20, beberapa definisi dari kecerdasan buatan sudah banyak diajukan.

Definisi yang paling populer adalah "membuat komputer yang mampu berpikir

layaknya manusia". Hal ini terbukti dari banyaknya film fiksi ilmiah yang

mempromosikan pandangan tersebut. Sebenarnya definisi ini berakar pada ahli

matematika Inggris terkenal dan uji pelopor komputer Alan Turing, tes Turing yaitu

dimana manusia akan mencoba menentukan apakah mereka (orang) dapat berbicara

melalui keyboard jarak jauh yang merupakan program manusia atau komputer.

Kondisi AI (Artificial Intelligence) yang kuat biasanya dipromosikan oleh

orang-orang yang percaya bahwa AI harus didasarkan pada landasan logis yang kuat

daripada apa yang mereka sebut yaitu AI lemah berbasis jaringan syaraf tiruan,

algoritma genetik, dan metode evolusi. Hal ini terbukti bahwa ada salah satu teknik AI

yang berhasil dalam menangani semua masalah dan mendapatkan kombinasi metode

(59)

Pada pertengahan tahun 1970-an, beberapa sistem pakar mulai muncul. Tujuan

dari sistem pakar adalah untuk mengembangkan program komputer yang dapat

berpikir berdasarkan akal manusia, yaitu memecahkan masalah dengan cara yang

dianggap cerdas jika dilakukan oleh manusia.

Selama tahun 1970-an, peneliti lebih fokus mengembangkan teknik-teknik

seperti representasi “bagaimana untuk memformulasikan masalah sehingga menjadi

lebih mudah untuk dipecahkan” dan pencarian “bagaimana untuk mengontrol

pencarian untuk menemukan solusi secara cerdas”, sehingga proses pencarian yang dilakukan tidak akan menggunakan memori komputer yang berlebihan. Strategi ini

menciptakan beberapa kemajuan, namun tidak mendapatkan terobosan baru. Hal ini

berlangsung sampai akhir dekade 70-an, dimana ilmuwan sistem pakar mulai

menyadari suatu hal yang sangat penting, yaitu kemampuan penyelesaian masalah

dalam suatu program berasal dari pengetahuan yang dimilikinya, bukan dari

formalitas atau skema inferensi yang digunakan. Terobosan konseptual dibuat dan

dapat dinyatakan dengan sederhana. Untuk membuat program yang cerdas, program

tersebut disediakan dengan pengetahuan spesifik yang berkualitas tentang

bidang-bidang masalah tertentu. Program ini kemudian disebut sebagai sistem pakar, dan

memulai bidang baru dalam lingkup ilmu komputer. Proses pembangunan sistem

pakar biasanya disebut dengan rekayasa pengetahuan. Biasanya melibatkan interaksi

yang spesial antara orang yang membangun sistem pakar yang disebut teknisi

pengetahuan. Biasanya terdapat satu atau lebih pakar dalam lingkup masalah tertentu.

Teknisi pengetahuan mengambil informasi dari pakar berupa prosedur, strategi, dan

aturan-aturan untuk menyelesaikan masalah, lalu membangun pengetahuan itu

menjadi sebuah sistem pakar, seperti yang ditunjukkan pada skema di bawah ini.

Gambar 2.1 Fungsi Dasar Sistem Pakar (Giarratano dan Riley, 2005) Knowledge-Base

(60)

Hasilnya adalah sebuah program komputer yang dapat memecahkan masalah

dengan cara yang hampir sama seperti para ahli. Paul E. Johnson, seorang ilmuwan

yang telah menghabiskan bertahun-tahun waktunya untuk mempelajari perilaku ahli

manusia, cukup baik menggambarkan apa yang dimaksud dengan ahli.

“Seorang ahli yaitu orang yang memiliki pengetahuan dan kemampuan untuk melakukan hal-hal yang kebanyakan orang tidak bisa. Seorang ahli bukan hanya

sekedar mahir, tetapi juga lancar mengambil tindakan untuk menyelesaikan masalah.

Seorang ahli mengetahui banyak hal dalam menerapkan apa yang mereka ketahui

dalam menyelesaikan suatu masalah. Mereka juga pandai memilih informasi yang

tidak relevan dalam rangka untuk mendapatkan masalah dasar, dan mereka mengenal

dengan baik permasalahan yang mereka hadapi. Rekayasa pengetahuan sangat

bergantung pada penelitian pakar untuk meningkatkan kecerdasan dan kemampuan

program”. Hal ini serupa dengan yang diutarakan oleh Hayes-Roth dalam bukunya

yang berjudul “Building Expert Sistem”:

Saat ini sudah banyak sistem pakar yang dikembangkan di berbagai bidang,

seperti : kedokteran, pertanian, ekonomi, elektronika, industri, dan masih banyak lagi.

Sistem pakar untuk melakukan diagnosis penyakit telah dikembangkan pada

pertengahan tahun 1970. Sistem pakar untuk diagnosis pertama kali dibuat oleh Bruce

Buchanan dan Edward Shortliffe di Stanford University. Yang kemudian diberi nama

MYCIN (Heckerman, 1986). MYCIN adalah sistem pakar yang dibangun untuk

mendiagnosis infeksi bakteri pada darah, contohnya meningitis dan infeksi bacremia,

dan memberikan rekomendasi terapi antimikrobia. MYCIN mampu memberikan

penjelasan atas penalarannya secara detail. Dalam uji cobanya, MYCIN menunjukkan

kemampuan seperti seorang spesialis. Dengan bertanya dan melakukan

backward-chaining pada basis aturan yang terdiri dari sekitar 500 aturan, MYCIN dapat

mengenali sekitar 100 penyebab infeksi bakteri. Dengan demikian MYCIN dapat

merekomendasi resep obat yang efektif. MYCIN ini dikembangkan di bidang

(61)

2.1.2 Konsep Dasar Sistem Pakar

Menurut Efraim Turban (1995), konsep dasar sistem pakar memiliki arti sebagai

keahlian, ahli, pengalihan keahlian, inferensi, aturan dan kemampuan menjelaskan.

Keahlian adalah suatu kelebihan penguasaan di bidang tertentu yang diperoleh dari

pelatihan, membaca atau pengalaman. Seorang ahli adalah seseorang yang mampu

menjelaskan suatu tanggapan dan dapat mempelajari hal-hal baru seputar topik

permasalahan (domain), menyusun kembali pengetahuan jika diperlukan, memecah

aturan-aturan jika dibutuhkan, dan menentukan relevan tidaknya keahlian mereka.

Pengalihan keahlian dari para ahli ke komputer dan kemudian dialihkan lagi

ke orang lain yang bukan ahli, merupakan tujuan utama dari sistem pakar. Proses ini

membutuhkan empat aktivitas, yaitu : tambahan pengetahuan (dari para ahli atau

sumber-sumber lainnya), representasi pengetahuan (ke komputer), inferensi

pengetahuan, dan pengalihan pengetahuan ke user. Pengetahuan yang disimpan di

komputer disebut dengan nama basis pengetahuan. Ada dua tipe pengetahuan, yaitu :

fakta dan prosedur (biasanya berupa aturan).

Salah satu fitur yang harus dimiliki sistem pakar yaitu kemampuan daya

nalar. Jika keahlian-keahlian sudah tersimpan sebagai basis pengetahuan dan sudah

tersedia diprogram yang mampu mengakses basis data, maka komputer harus dapat

diprogram untuk membuat inferensi. Proses inferensi ini dikemas dalam bentuk motor

inferensi (inference engine).

Sebagian besar sistem pakar komersial dibuat dalam bentuk rule-based

systems, yang mana pengetahuan dapat disimpan dalam bentuk aturan-aturan. Aturan

(62)

2.1.3 Struktur Sistem Pakar

Sistem pakar memiliki beberapa komponen utama, yaitu antarmuka pengguna (user

interface), basis data sistem pakar (expert system database), fasilitas akuisisi

pengetahuan (knowledge acquisition facility), dan mekanisme inferensi (inference

mechanism). Selain itu ada satu komponen yang hanya ada pada beberapa sistem

pakar, yaitu fasilitas penjelasan (explanation facility) (Martin dan Oxman,1988).

Struktur dari Sistem Pakar dapat dilihat pada Gambar 2.2.

Gambar 2.2 Struktur Sistem Pakar (Giarratano dan Riley, 2005)

Komponen-komponen yang terdapat dalam arsitektur/struktur sistem pakar yaitu:

1. Antarmuka Pengguna (User Interface)

Antarmuka merupakan mekanisme yang digunakan oleh pengguna dan sistem

pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan

mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Selain itu

antarmuka akan menerima dari sistem dan menyajikannya ke dalam bentuk yang

dapat dimengerti oleh pemakai.

KNOWLEDGE BASE (RULES)

INFERENCE

ENGINE

WORKING MEMORY

(FACTS)

KNOWLEDGE AQUISITION FACILITY

INTERFACE EXPLANATION

FACILITY

(63)

2. Basis Pengetahuan (Knowledge Base)

Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi, dan

penyelesaian masalah. Ada dua bentuk pendekatan basis pengetahuan yang sangat

umum digunakan, yaitu:

a. Penalaran Berbasis Aturan (Rule-Based Reasoning)

Pada penalaran berbasis aturan, pengetahuan dipresentasikan dengan

menggunakan aturan berbentuk IF-THEN. Bentuk ini digunakan apabila kita

memiliki sejumlah pengetahuan pakar pada suatu permasalahan tertentu, dan si

pakar dapat menyelesaikan masalah tersebut secara berurutan. Disamping itu,

bentuk ini juga digunakan apabila dibutuhkan penjelasan tentang

langkah-langkah pencapaian solusi.

b. Penalaran Berbasis Kasus (Case-Based Reasoning)

Basis pengetahuan akan berisi solusi-solusi yang telah dicapai sebelumnya,

kemudian akan diturunkan suatu solusi untuk keadaan yang terjadi sekarang

(fakta yang ada). Bentuk ini digunakan apabila user menginginkan untuk tahu

lebih banyak lagi pada kasus-kasus yang hampir sama. Selain itu, bentuk ini

juga digunakan apabila kita telah memiliki sejumlah kasus tertentu dalam basis

pengetahuan.

3. Akuisisi Pengetahuan (Knowledge Acquisition)

Akuisisi pengetahuan adalah akumulasi, transfer, dan transformasi keahlian dalam

menyelesaikan masalah dari sumber pengetahuan ke dalam program komputer.

Dalam tahap ini knowledge engineer berusaha menyerap pengetahuan untuk

selanjutnya ditransfer ke dalam basis pengetahuan. Pengetahuan diperoleh dari

pakar, dilengkapi dengan buku, basis data, laporan penelitian, dan pengalaman

pemakai.

4. Mesin/Motor Inferensi (Inference Engine)

Komponen ini mengandung mekanisme pola pikir dan penalaran yang digunakan

oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi adalah program

komputer yang memberikan metodologi untuk penalaran tentang informasi yang

ada dalam basis pengetahuan dan dalam workplace, dan untuk memformulasikan

(64)

5. Workplace/Blackboard

Workplace merupakan area dari sekumpulan memori kerja (working memory),

digunakan untuk merekam kejadian yang sedang berlangsung termasuk keputusan

sementara.

6. Fasilitas Penjelasan (Explanation Facility)

Fasilitas penjelasan adalah komponen tambahan yang akan meningkatkan

kemampuan sistem pakar, digunakan untuk melacak respon dan memberikan

penjelasan tentang kelakuan sistem pakar secara interaktif melalui pertanyaan.

7. Perbaikan Pengetahuan

Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya

serta kemampuan untuk belajar dari kinerjanya. Kemampuan tersebut adalah

penting dalam pembelajaran terkomputerisasi, sehingga program akan mampu

menganalisis penyebab kesuksesan dan kegagalan yang dialaminya dan juga

mengevaluasi apakah pengetahuan-pengetahuan yang ada masih cocok untuk

digunakan di masa mendatang.

2.1.4 Representasi Pengetahuan

Pengetahuan merupakan kemampuan untuk membentuk model mental yang

menggambarkan objek dengan tepat dan mampu mempresentasikannya dalam aksi

yang dilakukan terhadap suatu objek (Martin dan Oxman,1988). Representasi

pengetahuan merupakan metode yang digunakan untuk mengkodekan pengetahuan

dalam sebuah sistem pakar yang berbasis pengetahuan.

Beberapa model representasi pengetahuan yang penting adalah (Kusrini, 2006) :

1. Logika (logic)

2. Jaringan semantic (semantic nets)

3. Object-Atribute-Value (OAV)

4. Bingkai (frame)

(65)

2.1.5 Keuntungan Sistem Pakar

Sistem pakar adalah sistem yang menggunakan pengetahuan manusia yang

dimasukkan ke dalam komputer untuk memecahkan masalah-masalah yang biasanya

diselesaikan oleh pakar (Turban dan Aronson, 2002). Sistem pakar merupakan subset

dari Artificial Intelligence.

Adapun beberapa keuntungan dari sistem pakar adalah sebagai berikut :

1. Menjadikan pengetahuan dan nasehat jadi lebih mudah didapat.

2. Meningkatkan output dan produktifitas.

3. Menyimpan kemampuan dan keahlian pakar.

4. Meningkatkan penyelesaian masalah-menerusi panduan pakar,

penerangan, sistem pakar khas.

5. Meningkatkan reabilitas.

6. Memberikan respons (jawaban) yang cepat.

7. Merupakan panduan yang cerdas.

8. Dapat bekerja dengan informasi yang tidak lengkap dan mengandung

ketidakpastian.

9. Intelligence database (basis data cerdas), bahwa sistem pakar dapat

digunakan untuk mengakses basis data dengan cara cerdas.

2.2 Forward Chaining

Chain adalah suatu perkalian inferesi yang menghubungkan suatu permasalahan

dengan solusinya. Forward chaining adalah strategi penarikan kesimpulan yang

dimulai dari sejumlah fakta-fakta yang telah diketahui, untuk mendapatkan suatu fakta

baru dengan memakai rule-rule yang memiliki ide dasar yang cocok dengan fakta dan

terus dilanjutkan sampai mendapatkan tujuan atau sampai tidak ada rule yang punya

ide dasar yang cocok atau sampai mendapatkan fakta.

Forward chaining disebut bottom-up penalaran karena alasan dari bukti-bukti

tingkat rendah, fakta, ke tingkat atas kesimpulan yang didasarkan pada fakta. Forward

chaining menggunakan pendekatan data driven (berorientasi data). Dalam pendekatan

(66)

menggambarkan kesimpulan. Komputer akan menganalisa permasalahan dengan

mencari fakta yang cocok dengan bagian IF dari aturan IF-THEN.

Cara lain untuk menggambarkan forward chaining adalah suatu teknik untuk

mencari informasi baru, kemudian melihat proses di dalam petunjuk yan ada dari

tanda-tanda yang memisahkan bagian kiri dan kanan dari aturan-aturan tersebut

(Waterman, 1986). Fakta merupakan satuan dasar dari paradigma berbasis

pengetahuan karena mereka tidak bisa diurai ke dalam setiap unit yang lebih kecil

yang memiliki arti.

Kaidah ini digunakan dalam rantai sebab-akibat dari inferensi forward yang

menarik kesimpulan bahwa clyde adalah binatang yang memperlihatkan bahwa clyde

adalah seekor gajah. Rantai inferensi tersebut dapat ditunjukkan pada Gambar 2.3

berikut ini:

Gajah (Clyde)

Gajah (x) Mamalia (x)

Mamalia (x) Binatang (x)

Binatang (Clyde)

Gambar 2.3 Forward Chaining (Giarratano dan Riley, 2005)

Forward chaining :

1. Identifikasi kondisi.

2. Variabel kondisi ditempatkan pada Conclusion Var.Queue dan nilainya dicatat

pada Variable List.

3. Pencarian diarahkan untuk menemukan variabel di Base Variable List dengan

nama yang sama dengan nama variabel dalam daftar pertama antrian.

4. Jika ketemu, rule dan clause number dari variabel disimpan ke clause Variable

Gambar

Gambar 3.5 Data Flow Diagram Level 2 Proses 1
Gambar 3.6  Data Flow Diagram Level 2 Proses 2
Gambar 3.7 Rancangan Halaman Utama
Gambar 3.8 Rancangan Halaman AIDS
+7

Referensi

Dokumen terkait

  Ada beberapa konsep yang digunakan dalam penelitian ini, yaitu frasa, FP, kategori leksikal, komplemen, keterangan, spesifier, dan kaidah struktur frasa.. Konsep-konsep

Pikiran utama dari gagasan politik etis yang dianjurkan oleh Theodorus van Deventer pada tahun 1899 pada majalah Degids yang berjudul Eereschuld (hutang kehormatan) adalah

Aglutinin yang spesifik terhadap salmonella thypi terdapat dalam serum klien dengan typhoid juga terdapat pada orang yang pernah divaksinasikan.. Antigen yang

Dengan diketahui keadaan dokumentasi suatu bahasa, tahap selanjutnya dapat dirancang tugas khusus dan memungkinkan.. untuk mendesain proyek penelitian bersama-sama dengan

[r]

Penelitian ini mengungkapkan praktek pembiayaan mudharabah muqayyadah mulai dari proses pembiayaan, akad yang digunakan, bagi hasil serta langkah yang dilakukan oleh Bank

- Berkenaan dengan hal-hal tersebut diatas dan untuk menghindari pengelolaan lingkungan yang tidak baik dan sembrono dari masyarakat sebagai proses yang dapat

Animasi lypsync ini bertujuan untuk menggabungkan empat proses animasi berupa storyboard, object modeling, animate processing, dan rendering, yang nantinya akan menghasilkan