Jumat, 24 Januari 2020

PHP COde CF dan Forward Chaining







<link rel="stylesheet" href="jsacordeon/jquery-ui.css">
  <link rel="stylesheet" href="resources/demos/style.css">
<script src="jsacordeon/jquery-1.12.4.js"></script>
  <script src="jsacordeon/jquery-ui.js"></script>
  <script>
  $( function() {
    $( "#accordion" ).accordion({
      collapsible: true
    });
  } );
  </script>
 
<div id="accordion">
  <h3>Pilih Gejala</h3>
  <div>

<form action="" method="post" enctype="multipart/form-data">

<table class="table table-striped table-bordered table-hover"  width="100%" border="0">
  <tr bgcolor="#cccccc">
    <th width="3%">No</td>
<th width="3%">IDGejala</td>
    <th width="40%">Nama Gejala</td>
<th width="40%">Deskripsi</td>
    <th width="5%">Pilih</td>
  </tr>
<?php 
$no=1;
  $sql="select * from `$tbgejala` order by `id_gejala` asc";
$arr=getData($conn,$sql);
foreach($arr as $d) {
$id_gejala=$d["id_gejala"];
$nama_gejala=$d["nama_gejala"];
$deskripsi=$d["deskripsi"];
$color="#dddddd";
$i=$no-1;
echo"<input type='hidden' value='$id_gejala' name='id_gejala$i'>";
if($no %2==0){$color="#eeeeee";}
echo"<tr bgcolor='$color'>
<td>$no</td>
<td>$id_gejala</td>
<td><b>$nama_gejala</b></br>
<td>$deskripsi</td>
<td><div align='center'>
<input type='checkbox'  name='pil$i' value='1'>
</td>
</tr>";

$no++;
}//while checked
?>




<tr>
<td>
<td>
<td colspan="3" align="right">
<input type="hidden" value="<?php echo $i;?>" name="i">
<input name="Simpan" type="submit" id="Simpan" value="Simpan" />
            <input name="Reset" type="Reset" id="Reset" value="Reset" />
</td></tr>
</table>
</form>
</div>
</div>

<?php
if(isset($_POST["Simpan"])){
$no=strip_tags($_POST["i"]);

$sql="select * from `$tbpenyakit` order by `id_penyakit` asc";
$arr=getData($conn,$sql);
$i=0;
foreach($arr as $d) {
$adaP[$i]=0;
//$bobotP[$i]=0;
//$rekapP[$i]="";
$listP[$i]="";
$id_penyakit=$d["id_penyakit"];
$nama_penyakit=$d["nama_penyakit"];
$j=0;
$sql2="select * from `$tbrelasi` where `id_penyakit`='$id_penyakit' order by `id_relasi` asc";
$arr2=getData($conn,$sql2);
foreach($arr2 as $d2) {
$id_gejala=$d2["id_gejala"];
$listP[$i].="$id_gejala#";
$sql3="select `bobot` from `$tbgejala` where `id_gejala`='$id_gejala'";
$d3=getField($conn,$sql3);
$bobot=$d3["bobot"];

$arB[$i][$j]=$bobot;
$arG[$i][$j]=$id_gejala;
$j++;
}//arr2
$arJum[$i]=$j;
$arIP[$i]=$id_penyakit;
$arNP[$i]=$nama_penyakit;
$i++;
}//arr

$x=$i;


$pilihan="";
$p=0;
for($m=0;$m<=$no;$m++){
if(isset($_POST["pil$m"]) && $_POST["pil$m"]==1){
$id_gejalapilih=$_POST["id_gejala$m"];
$arPilihan[$p]=$id_gejalapilih;
$p++;
$pilihan.="$id_gejalapilih#";
}
}

for($i=0;$i<$x;$i++){
$jumG=$arJum[$i];
$c=0;
$adagab="";
for($j=0;$j<$jumG;$j++){
for($k=0;$k<$p;$k++){
$id_gejalapilih=$arPilihan[$k];
if($id_gejalapilih==$arG[$i][$j]){
$adagab.="$id_gejalapilih#";
$adaP[$i]++;
if($c<1){
$bobotP[$i][$c]=$arB[$i][$j];
$rekapP[$i][$c]="$i-$j: $id_gejalapilih (".$arB[$i][$j]."),";
$c++;
}
else{
$bbt=$arB[$i][$j];
$old=$bobotP[$i][$c-1];
$CF=$old+$bbt*(1-$old);
$bobotP[$i][$c]=$CF;
$rekapP[$i][$c]="$id_gejalapilih (".$bbt.")=>$old+$bbt*(1-$old)=>$CF";
$c++;
}//CF
}
}//k
}//j
//echo "PIL $i=".$adagab."<hr>";
$arJum2[$i]=$c;
}//i


$gab="Gejala terpilih: $pilihan<hr>";
$fc=false;
for($i=0;$i<$x;$i++){
$no=$i+1;
$jumG=$arJum[$i];
if($adaP[$i]==$jumG && $jumG>0){
$gab.= "$no.<b>".$arNP[$i]."</b>=".$listP[$i];
$fc=true;
$gab.="<font color='red'>Terdiagnosa 100% $arNP[$i]</font><br>";
}
}//for i

if($fc==true){
echo $gab;
}
else{
for($i=0;$i<$x;$i++){
$jumG=$arJum[$i];
$jumG2=$arJum2[$i];
$VCF[$i]=$bobotP[$i][$jumG2-1];
$SCF[$i]=$rekapP[$i][$jumG2-1];
$rgab= "<b>".$arNP[$i]."</b>=".$listP[$i].": dari $jumG terpilih $jumG2<br>";
for($j=0;$j<$jumG2;$j++){
$rgab.="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CF$j =".$rekapP[$i][$j]."=".$bobotP[$i][$j]."<br>";
}
$RCF[$i]=$rgab;
$gab.="<b>$no</b>".$rgab;
}

//echo $gab;

$array_count = $x;
        for($x = 0; $x < $array_count; $x++){
            for($a = 0 ;  $a < $array_count - 1 ; $a++){
                if($a < $array_count ){
                    if($VCF[$a] < $VCF[$a + 1] ){
                            swap($VCF, $a, $a+1);
swap($SCF, $a, $a+1);
swap($arIP, $a, $a+1);
swap($arNP, $a, $a+1);
swap($RCF, $a, $a+1);
                    }
                }
            }
        }

echo"<hr>";
for($i=0;$i<$x;$i++){
$no=$i+1;
echo "$no.<b>".$arNP[$i]."</b><br>".$RCF[$i]."=<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".$VCF[$i]."</b><br>";
}//for i
}//false


}//if isset
?>

<?php
if($_GET["pro"]=="hapus"){
$id_gejala=$_GET["kode"];
$sql="delete from `$tbgejala` where `id_gejala`='$id_gejala'";
$hapus=process($conn,$sql);
if($hapus) {echo "<script>alert('Data $id_gejala berhasil dihapus !');document.location.href='?mnu=gejala';</script>";}
else{echo"<script>alert('Data $id_gejala gagal dihapus...');document.location.href='?mnu=gejala';</script>";}
}


 function swap(&$arr, $a, $b) {
        $tmp = $arr[$a];
        $arr[$a] = $arr[$b];
        $arr[$b] = $tmp;
    }
?>



Tidak ada komentar:

Posting Komentar

global_priv WARNING Selalu

 Jika muncul pesan kesalahan: Warning in .\libraries\classes\Dbal\DbiMysqli.php#209  mysqli::query(): (HY000/1034): Index for table 'glo...