Posted by: sepri18 | February 13, 2007

source code pakar

// simpan di session diagnosa
if (!isset($_POST[‘diagnosa’])) {
$_SESSION[‘diagnosa’]= array();
$_SESSION[‘diagnosa_penyakit’] = array();
$data[‘gejala’] = getAll($sql[‘select_diagnosa_awal’],array());
$penyakit = array();

} else {
// tambahkan gejala juga
$_SESSION[‘diagnosa’][] = $_POST[‘diagnosa’];
$s_diag = join(“‘,'”,$_SESSION[‘diagnosa’]);
$s_diag =”‘$s_diag'”;

// lihat sesi penyakit
if(!empty($_SESSION[‘diagnosa_penyakit’])) {
// sudah ada penyakit sebelumnya
$to_diag = join(“‘,'”,$_SESSION[‘diagnosa_penyakit’]);
$to_diag =”‘$to_diag'”;

$query = str_replace(‘%p’,$to_diag,$sql[‘select_penyakit_lanjut’]);
//echo $query;

$penyakit = getAll($query,array($_POST[‘diagnosa’]));
$sql[‘data_penyakit_detail_lanjut’] = str_replace(‘%p’,$to_diag,$sql[‘data_penyakit_detail_lanjut’]);

$data_penyakit = getAll($sql[‘data_penyakit_detail_lanjut’],array($_POST[‘diagnosa’]));

// kosongkan diagnosa berikutnya
$_SESSION[‘diagnosa_penyakit’] = array();
if(!empty($penyakit)) {
foreach ($penyakit as $k => $v ) {
$_SESSION[‘diagnosa_penyakit’][] = $v[‘KODE’];
}
}

} else {
$penyakit = getAll($sql[‘select_penyakit_awal’],array($_POST[‘diagnosa’]));
$data_penyakit = getAll($sql[‘data_penyakit_detail_awal’],array($_POST[‘diagnosa’]));

// list kode penyakit di session
if(!empty($penyakit)) {
foreach ($penyakit as $k => $v ) {
$_SESSION[‘diagnosa_penyakit’][] = $v[‘KODE’];
}
}
}

// cari berdasarkan penyakit
$to_diag = join(“‘,'”,$_SESSION[‘diagnosa_penyakit’]);
$to_diag =”‘$to_diag'”;

$query = str_replace(‘%p’,$to_diag,$sql[‘select_diagnosa_lanjut’]);
$query = str_replace(‘%s’,$s_diag,$query);

//echo $query;
// get gejala
$data[‘gejala’] = getAll($query,array());

}

// kalkulasikan perobabilitas berdasarkan gejala
if(!empty($penyakit)) {
for($x=0;$x<sizeOf($penyakit);$x++) {
if ($penyakit[$x][‘PROBABILITAS’] ==”) {
$penyakit[$x][‘PROBABILITAS’] =0.00;
}
if(!empty($_SESSION[‘diagnosa’])) {
$start_d = 0;
foreach ($_SESSION[‘diagnosa’] as $key => $value) {
// cek setiap evidence
// kumpulkan data semua penyakit dengan gejala x
//$data_penyakit = getAll($sql[‘data_penyakit’],array($value));

// kalkulasikan berdasarkan data
$jumlah =0.00;
$jumlah_total =0.00;

if(!empty($data_penyakit)) {
foreach ($data_penyakit as $k => $v) {
$jumlah_total = $jumlah_total + ($v[‘PROBABILITAS_AWAL’]*$v[‘PROBABILITAS_KHUSUS’]);

if($v[‘KODE’] == $penyakit[$x][‘KODE’]) {
$jumlah = ($v[‘PROBABILITAS_AWAL’]*$v[‘PROBABILITAS_KHUSUS’]);
}
}
}

// kalkulasikan, jika masih nol tambahkan jika tidak kalikan aja

if($penyakit[$x][‘PROBABILITAS’]==0.00) {
$penyakit[$x][‘PROBABILITAS’] = $jumlah/$jumlah_total;
$_SESSION[‘probabilitas’][$penyakit[$x][‘KODE’]] = $penyakit[$x][‘PROBABILITAS’];
} else {
$penyakit[$x][‘PROBABILITAS’] = $_SESSION[‘probabilitas’][$penyakit[$x][‘KODE’]]+($jumlah/$jumlah_total);
$_SESSION[‘probabilitas’][$penyakit[$x][‘KODE’]] = $penyakit[$x][‘PROBABILITAS’];

}

$start_d++;

}

}
}
}

// set up for rata2
if(!empty($penyakit)) {
$jumlah_penyakit =0;
for($i=0;$i<sizeOf($penyakit);$i++) {
$jumlah_penyakit = $jumlah_penyakit + $penyakit[$i][‘PROBABILITAS’];
}

for($i=0;$i<sizeOf($penyakit);$i++) {
$penyakit[$i][‘PROBABILITAS’] = $penyakit[$i][‘PROBABILITAS’]/$jumlah_penyakit;
$_SESSION[‘probabilitas’][$penyakit[$i][‘KODE’]] = $penyakit[$i][‘PROBABILITAS’];
}
}


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: