Selasa, 10 Juli 2018

TF-IDF Mencari Kata Kunci dari Kalimat

jika kita adiminta u merangkum kalimat....aplikasi ini cuocok banget




HASIL PERHITUNGAN

HASIL PERHITUNGAN
 Nah ini rumusnya:



    <?php

if(isset($_POST['STEM'])){
require_once __DIR__ . '/vendor/autoload.php';


$jumlahcari=$_POST["jumlah"];

if(isset($_POST["isidokumen"])){
$bacapdf=$_POST["isidokumen"];
$bacapdf=strtolower($bacapdf);
}
else{

echo"<script>alert('Silakan isi dokumen uji Anda');document.location.href='steming.php';</script>";
}

error_reporting(0);

 $initos = new \Sastrawi\Stemmer\StemmerFactory();
 $bikinos = $initos->createStemmer();

$stemming=$bikinos->stem($bacapdf);
$stemming=strtolower($stemming);
$arAsli=explode(".",$bacapdf);
$jumk=count($arAsli);

$AR=explode(" ",$stemming);
$AR=array_unique($AR);

$m=0;
for($i=0;$i<count($AR);$i++){
if(strlen($AR[$i])>1){
$arUnix[$m]=$AR[$i];
$m++;
}
}

for($i=0;$i<$jumk-1;$i++){
$TOT[$i]=0;
$kalimat=strtolower($arAsli[$i]);
$stemsatuan= $bikinos->stem($kalimat);
$arStem[$i]=$stemsatuan;
$no=$i+1;
echo"<b>Kalimat $no.</b><br><b>ASLI :</b>".$arAsli[$i]."<br><b>STEM:</b>".$arStem[$i]."<hr>";
}

echo"<table width='300%' border='1'>";
echo"<tr><td>Kata";
for($i=0;$i<$jumk;$i++){
$u=$i+1;
echo"<td>D".$u;
}
echo"<td>df<td>IDF";
for($i=0;$i<$jumk;$i++){
$u=$i+1;
echo"<td>IDF".$u;
}
echo"</tr>";

for($i=0;$i<count($arUnix);$i++){
$kata=$arUnix[$i];
echo"<tr><td>".$kata."</td>";
$jumada=0;
for($j=0;$j<$jumk;$j++){
$ada=getHit($kata,$arStem[$j]);
$M[$i][$j]=$ada;
$jumada+=$ada;
echo"<td>".$ada;
}
$log=log($jumk,10)/$jumada;
$log=log($jumk/$jumada,10);
$log=round($log,2);
echo"<td>$jumada<td>log($jumk/$jumada)=$log";

for($j=0;$j<$jumk;$j++){
$N[$i][$j]=round($M[$i][$j] * $log,2);
$TOT[$j]=$TOT[$j]+$N[$i][$j];
echo "<td>".$N[$i][$j];
}
echo"</tr>";
}//for i

//------------------------------------
echo"<tr><td>";
for($i=0;$i<$jumk;$i++){
$u=$i+1;
echo"<td>";
}
echo"<td><td>Total";
for($i=0;$i<$jumk;$i++){
$IN[$i]=$i;
echo"<td>".$TOT[$i];
}
echo"</tr>";
echo"</table>";


    $size = count($TOT);
    for ($i=0; $i<$size; $i++) {
        for ($j=0; $j<$size-1-$i; $j++) {
            if ($TOT[$j+1] > $TOT[$j]) {
                swap($TOT, $j, $j+1);
  swap($IN, $j, $j+1);
            }
        }
    }

echo"<h3>Hasil Peringkasan Dokumen Prioritas</h3>";
for($i=0;$i<$jumlahcari;$i++){
$index=$IN[$i];
$bobot=$TOT[$i];
echo ($i+1).".". $arAsli[$index]." ".$bobot."<hr>";
}

}//isset
?>



                </div>             
            </div>
        </div>
</br>
</br>
</br>
    <?php

function getHit($kal,$kalimat){
$ar=explode(" ",$kalimat);
$ada=0;
for($i=0;$i<count($ar);$i++){
if($kal==$ar[$i]){$ada++;}
}//for
return $ada;
}
?>
 
    <?php
function swap(&$arr, $a, $b) {
    $tmp = $arr[$a];
    $arr[$a] = $arr[$b];
    $arr[$b] = $tmp;
}
?>


HASH AND K GRAM






KGRAM 5 BASE 7




uhmm....kodenya lumayan juga yaaa

<?php
ini_set('memory_limit', '256M');

$tanggal=WKT(date("Y-m-d"));
$gambar0="default.pdf";

$gram="";
$base="";
$gambar="";

if(isset($_POST["Proses"])){
$gram=strip_tags($_POST["gram"]);
$base=strip_tags($_POST["base"]);
$gambar=strip_tags($_POST["gambar"]);
$gambar0=strip_tags($_POST["gambar0"]);


}

if(isset($_POST["Proses2"])){
$gram=strip_tags($_POST["gram"]);
$base=strip_tags($_POST["base"]);
$gambar=strip_tags($_POST["gambar"]);
$gambar0=strip_tags($_POST["gambar0"]);


}

?>
 <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>
</head>
<body>

<div id="accordion">
  <h3>Form Input</h3>
  <div>

<form action="" method="post" enctype="multipart/form-data">
<table width="90%" class="table table-hover rable-striped table-bordered" >

<tr>
  <td height="24"><label>Choose File (To Compare)</label>
    <td>:<td >
        <input name="gambar" type="file" id="gambar" size="20" />
    </td>
</tr>


<tr>
<td>
<label>K-gram</label> <select name="gram" id="gram" />
<option <?php if($gram=="choose"){echo"selected";}?>>Pilih Angka</option>
<option value="1" <?php if($gram=="1"){echo"selected";}?>>1</option>
<option value="2" <?php if($gram=="2"){echo"selected";}?>>2</option>
<option value="3" <?php if($gram=="3"){echo"selected";}?>>3</option>
<option value="4" <?php if($gram=="4"){echo"selected";}?>>4</option>
<option value="5" <?php if($gram=="5"){echo"selected";}?>>5</option>
<option value="6" <?php if($gram=="6"){echo"selected";}?>>6</option>
<option value="7" <?php if($gram=="7"){echo"selected";}?>>7</option>
<option value="8" <?php if($gram=="8"){echo"selected";}?>>8</option>
<option value="9" <?php if($gram=="9"){echo"selected";}?>>9</option>
<option value="10" <?php if($gram=="10"){echo"selected";}?>>10</option>
</select>
<label>Base</label> <select name="base" id="base" />
<option <?php if($base=="choose"){echo"selected";}?>>Pilih Angka</option>
<option value="1" <?php if($base=="1"){echo"selected";}?>>1</option>
<option value="2" <?php if($base=="2"){echo"selected";}?>>2</option>
<option value="3" <?php if($base=="3"){echo"selected";}?>>3</option>
<option value="4" <?php if($base=="4"){echo"selected";}?>>4</option>
<option value="5" <?php if($base=="5"){echo"selected";}?>>5</option>
<option value="6" <?php if($base=="6"){echo"selected";}?>>6</option>
<option value="7" <?php if($base=="7"){echo"selected";}?>>7</option>
<option value="8" <?php if($base=="8"){echo"selected";}?>>8</option>
<option value="9" <?php if($base=="9"){echo"selected";}?>>9</option>
<option value="10" <?php if($base=="10"){echo"selected";}?>>10</option>
</select>
<td>
:
<td colspan="2"><input name="Proses" type="submit" id="Proses" value="Directory" />
<input name="Proses2" type="submit" id="Proses2" value="Database" />
             <input name="gambar0" type="hidden" id="gambar0" value="<?php echo $gambar0;?>" />
          <a href="?mnu=pengujian"><input name="Batal" type="button" id="Batal" value="Clear" /></a>
</td>

</tr>
<?php
$q="";
if(isset($_POST["Proses"])){
$q=$_GET["q"];

}
?>
<form id="form1" name="form1" method="get" action="http://www.google.ca/search?">
<table width="90%" class="table table-hover rable-striped table-bordered  ">

<td>
  <label for="q">Copy Link URL</label>
  </td>
  <td>:</td>
  <td><input type="text" name="q" id="q" value="<?php echo $q;?>" />
  <input type="submit" name="ProsesGoogle" id="button" value="Search Database" /></td>
  </tr>
  </table>
</form>
<hr>
</td>

</tr>
</table>
</form>
<?php
//http://www.gunadarma.ac.id/library/articles/graduate/computer-science/2009/Artikel_11104533.pdf


if(isset($_POST["Proses"])){
//$base=7;
$gram=strip_tags($_POST["gram"]);
$base=strip_tags($_POST["base"]);
$gambar0=strip_tags($_POST["gambar0"]);
if ($_FILES["gambar"] != "") {
@copy($_FILES["gambar"]["tmp_name"],"$YPATH/".$_FILES["gambar"]["name"]);
$gambar=$_FILES["gambar"]["name"];
}
else {$gambar=$gambar0;}
if(strlen($gambar)<1){$gambar=$gambar0;}


$gambar="ypathfile/$gambar";
//$ar1=prosesRK($gambar,$gram,$base);
$array = prosesRK($gambar,$gram,$base);
$ars1 = $array[0];
$arv1 = $array[1];


$dir    = 'mypdf/';
$files2 = scandir($dir, 1);

for($ii=0;$ii<count($files2);$ii++){
if(strlen($files2[$ii])>3){
echo "<h1>".($ii+1). ". Perbandingan dengan ==> ".$files2[$ii]."</h1>";

//print_r($files2);
echo"<hr>";


//dataLatih
$gambar2=$dir.$files2[$ii];
//$ar2=prosesRK($gambar2,$gram,$base);
$array = prosesRK($gambar2,$gram,$base);
$ars2 = $array[0];
$arv2 = $array[1];

$sama=0;
$gabs="";
$gabv="";
$H1=count($arv1);
$H2=count($arv2);
for($i=0;$i<$H1;$i++){
for($j=0;$j<$H2;$j++){
if($arv1[$i]==$arv2[$j]){
$sama=$sama+1;
$gabv.="{".$arv2[$j]."} ";
$gabs.="{".$ars2[$j]."} ";
break;
}
}
}

echo"<hr>SAMA: $sama<br>";
echo"HASH SAMA: $gabs<br>";
echo"HASH SAMA: $gabv<br>";

//if(($sama*2)>($H1+$H2)){$H1=$sama;$H2=$sama;}

//452/(455+369-452) x 100% = 121.505 %
//455/(455+824-455) x 100% = 55.218 %

$PN=($H1+$H2-$sama);
if($PN<$sama){
$hmin=$H1;
if($H2<$H1){$hmin=$H2;}
$sama=$hmin;
$PN=($H1+$H2-$sama);
$sim=$sama/$PN * 100;
$sim=round($sim,3);
$ssim="$sama/($H1+$H2-$sama) x 100%";
}
else{
$sim=$sama/$PN * 100;
$sim=round($sim,3);
$ssim="$sama/($H1+$H2-$sama) x 100%";
}
//48+54-240

echo"<h1>$ssim = $sim %</h1>";

}//>3
}//for ii

}//if

elseif(isset($_POST["Proses2"])){
//$base=7;
$gram=strip_tags($_POST["gram"]);
$base=strip_tags($_POST["base"]);
$gambar0=strip_tags($_POST["gambar0"]);
if ($_FILES["gambar"] != "") {
@copy($_FILES["gambar"]["tmp_name"],"$YPATH/".$_FILES["gambar"]["name"]);
$gambar=$_FILES["gambar"]["name"];
}
else {$gambar=$gambar0;}
if(strlen($gambar)<1){$gambar=$gambar0;}
error_reporting(0);
if(empty($gambar) ||strlen($gambar)<1){
echo "<script>alert('file dipilih terlebih dahulu');document.location.href='?mnu=pengujian';</script>";
}

if($gram+0<1){
echo("<H1><CENTER>-------Pilih Data K-Gram Terlebih Dahulu------<CENTER></H1><br />");
}
if($base+0<1){
echo("<H1><CENTER>-------Pilih Data Basis Terlebih Dahulu------<CENTER></H1><br />");
}



$gambar="ypathfile/$gambar";
//$ar1=prosesRK($gambar,$gram,$base);
$array = prosesRK($gambar,$gram,$base);
$ars1 = $array[0];
$arv1 = $array[1];

 $sql="select * from `$tbdokumen` order by `id_dokumen` desc";
  $jum=getJum($conn,$sql);
if($jum > 0){
$arr=getData($conn,$sql);
foreach($arr as $d) {
$id_dokumen=$d["id_dokumen"];
$judul=$d["judul"];
$nim=getMhs($conn,$d["nim"]);
$deskripsi=$d["deskripsi"];
$dokumen=$d["dokumen"];
//$dokumen1=$d["dokumen1"];
//$dokumen2=$d["dokumen2"];
//$kgram=$d["kgram"];
//$base=$d["base"];
//$sim=$d["keterangan"];
echo "<h1>".($ii+1). ". Perbandingan Dokumen <br /> ".$dokumen."/Mhs $nim</h1>";

//print_r($files2);
//echo"<hr>";


//dataLatih
$gambar2="ypathfile/".$dokumen;
//$ar2=prosesRK($gambar2,$gram,$base);
$array = prosesRK($gambar2,$gram,$base);
$ars2 = $array[0];
$arv2 = $array[1];

$sama=0;
$gabs="";
$gabv="";
$H1=count($arv1);
$H2=count($arv2);
for($i=0;$i<$H1;$i++){
for($j=0;$j<$H2;$j++){
if($arv1[$i]==$arv2[$j]){
$sama=$sama+1;
$gabv.="{".$arv2[$j]."} ";
$gabs.="{".$ars2[$j]."} ";
break;
}
}
}

echo"<hr>Jumlah Hash Sama Pada Dokumen: $sama<br>";
echo "K-gram Yang Di Masukan : $gram<br>";
echo "Base Yang Di Masukan : $base<br>";
echo "Jumlah Hash Dokumen Asli : $H1<br>";
echo "Jumlah Hash Dokumen Uji : $H2<br>";
//echo"K-gram Sama: $gabs<br>";
//echo"Hash Sama: $gabv<br>";

$sql="delete from `hasil` where `dokumen1`='$gambar' and `dokumen2`='$dokumen'";
$hapus=process($conn,$sql);

$sql=" INSERT INTO `hasil` (`id`, `dokumen1`, `dokumen2`, `bobot`, `status`, `kgram`, `base`, `keterangan` )
VALUES ('', '$gambar', '$dokumen', '$gabv', '$sama', '$gram', '$base', 'Persentase Kemiripan : $sim %');";

$simpan=process($conn,$sql);

$PN=($H1+$H2-$sama);
if($PN<$sama){
$hmin=$H1;
if($H2<$H1){$hmin=$H2;}
$sama=$hmin;
$PN=($H1+$H2-$sama);
$sim=$sama/$PN * 100;
$sim=round($sim,3);
$ssim="$sama/($H1+$H2-$sama) x 100%";
}
else{
$sim=$sama/$PN * 100;
$sim=round($sim,3);
$ssim="$sama/($H1+$H2-$sama) x 100%";
}
//48+54-240


//48+54-240
echo "<h1><center>Persentase Kemiripan : $sim %</center></h1>";
//--------komen dibawah jika di hapus memunculkan perhitungan Simmilarity
echo"<h1>$ssim = $sim %</h1>";
echo "<hr>";

}//>3
}//for ii

}//if




elseif(isset($_POST["ProsesGoogle"])){
//$base=7;
$gram=strip_tags($_POST["gram"]);
$base=strip_tags($_POST["base"]);

$gambar=$_POST["q"];
//$ar1=prosesRK($gambar,$gram,$base);
$array = prosesRK($gambar,$gram,$base);
$ars1 = $array[0];
$arv1 = $array[1];

 $sql="select * from `$tbdokumen` order by `id_dokumen` desc";
  $jum=getJum($conn,$sql);
if($jum > 0){
$arr=getData($conn,$sql);
foreach($arr as $d) {
$id_dokumen=$d["id_dokumen"];
$judul=$d["judul"];
$nim=getMhs($conn,$d["nim"]);
$deskripsi=$d["deskripsi"];
$dokumen=$d["dokumen"];
//$dokumen1=$d["dokumen1"];
//$dokumen2=$d["dokumen2"];
//$kgram=$d["kgram"];
//$base=$d["base"];
//$sim=$d["keterangan"];
echo "<h1>".($ii+1). ". Perbandingan Web Browser dengan ==> ".$dokumen."/Mhs $nim</h1>";




//print_r($files2);
//echo"<hr>";


//dataLatih
$gambar2="ypathfile/".$dokumen;
//$ar2=prosesRK($gambar2,$gram,$base);
$array = prosesRK($gambar2,$gram,$base);
$ars2 = $array[0];
$arv2 = $array[1];

$sama=0;
$gabs="";
$gabv="";
$H1=count($arv1);
$H2=count($arv2);
for($i=0;$i<$H1;$i++){
for($j=0;$j<$H2;$j++){
if($arv1[$i]==$arv2[$j]){
$sama=$sama+1;
$gabv.="{".$arv2[$j]."} ";
$gabs.="{".$ars2[$j]."} ";
break;
}
}
}

echo"<hr>Jumlah Hash Sama Pada Dokumen: $sama<br>";
echo "K-gram Yang Di Masukan : $gram<br>";
echo "Base Yang Di Masukan : $base<br>";
echo "Jumlah Hash Dokumen Asli : $H1<br>";
echo "Jumlah Hash Dokumen Uji : $H2<br>";


$PN=($H1+$H2-$sama);
if($PN<$sama){
$hmin=$H1;
if($H2<$H1){$hmin=$H2;}
$sama=$hmin;
$PN=($H1+$H2-$sama);
$sim=$sama/$PN * 100;
$sim=round($sim,3);
$ssim="$sama/($H1+$H2-$sama) x 100%";
}
else{
$sim=$sama/$PN * 100;
$sim=round($sim,3);
$ssim="$sama/($H1+$H2-$sama) x 100%";
}
//48+54-240


//48+54-240

echo"<h1><center>Persentase Kemiripan : $sim %</center></h1>";
echo "<hr>";

}//>3
}//for ii

}//if

?>

  </div>
</div>



<?php
function prosesRK($gambar,$gram,$base){
//echo"<h3>Proses File $gambar Gram:$gram, Base: $base</h3>";
require_once __DIR__ . '/vendor/autoload.php';
$cari=strstr($gambar,".txt");
    $p=strlen($cari);
    if($p>0){
$fh = fopen($gambar,'r');
while ($line = fgets($fh)) {
$bacapdf.=$line;
}
fclose($fh);
    }
else{//pdf
$initop = new \Smalot\PdfParser\Parser();
$ekstrakpdf = $initop->parseFile($gambar);
$bacapdf = $ekstrakpdf->gettext();
    }//echo $bacapdf;

//error_reporting(0);
$bacapdfnew=($bacapdf);

$initos = new \Sastrawi\Stemmer\StemmerFactory();
$bikinos = $initos->createStemmer();


$stemming=$bikinos->stem($bacapdfnew);


$stemmingnew=strtolower($stemming);

//echo "<table width = '100%' border ='1'><th>Sebelum Stemming</th><th>Sesudah Stemming</th><tr><td>$bacapdfnew </td><td>$stemmingnew </td></tr></table>";
$ak=getStopNumber();

$ar=getStopWordsq();
$wordStop=$stemmingnew;
for($i=0;$i<count($ar);$i++){
$wordStop =str_replace($ar[$i]." ","", $wordStop);
}

for($i=0;$i<count($ak);$i++){
$wordStop =str_replace($ak[$i],"", $wordStop);
}


$wordStop=str_replace("  "," ", $wordStop);
echo"<hr><b>WordStop: </b><br>$wordStop";



$gab1s="";
$gab1v="";
$n=0;
for($i=0;$i<strlen($wordStop);$i=$i+$gram){
$mulai=$i;
$kgram=substr($wordStop,$mulai,$gram);

/////X
$M[$i]=$kgram;
for($j=0;$j<$gram;$j++){
$pangkat=$gram-1-$j;
$ch=substr($kgram,$j,1);
$in=ord($ch);
$v=$in * pow($base,$pangkat);
$tot+=$v;
//echo "------->$ch : $in x pow($base,$pangkat)=$v<br>";
}
//echo"-------------->Total: $tot<br>";
$gab1s.="{".$kgram."} ";
$gab1v.="{".$tot."} ";
$ars1[$n]=$kgram;
$arv1[$n]=$tot;

echo "$kgram:$tot, ";
$n++;
}
$ARM=getUnix($M);
for($i=0;$i<count($ARM);$i++){
$kgram=$ARM[$i];
/////X
$tot=0;
//echo "No.".($n+1)." =>".$mulai." s/d ". ($mulai+$gram-1)."={".$kgram."}<br>";


}

//echo"<hr><b>Kgram $ram Base $base:</b><br>";
//----------pada koding dibawah jika dihapus komen maka muncul k-gramnya
//echo $gab1s."<br>";
//echo"<hr><b>Hash $ram Base $base:</b><br>";
//----------pada koding dibawah jika dihapus komen maka muncul hashnya
//echo $gab1v."<hr>";

//return $arv1;
return array($ars1,$arv1);
}


function getStopWordsq()
    {
        return array(
            'yang', 'untuk', 'pada', 'ke', 'para', 'namun', 'menurut', 'antara', 'dia', 'dua',
            'ia', 'seperti', 'jika', 'jika', 'sehingga', 'kembali', 'dan', 'tidak', 'ini', 'karena',
            'kepada', 'oleh', 'saat', 'harus', 'sementara', 'setelah', 'belum', 'kami', 'sekitar',
            'bagi', 'serta', 'di', 'dari', 'telah', 'sebagai', 'masih', 'hal', 'ketika', 'adalah',
            'itu', 'dalam', 'bisa', 'bahwa', 'atau', 'hanya', 'kita', 'dengan', 'akan', 'juga',
            'ada', 'mereka', 'sudah', 'saya', 'terhadap', 'secara', 'agar', 'lain', 'anda',
            'begitu', 'mengapa', 'kenapa', 'yaitu', 'yakni', 'daripada', 'itulah', 'lagi', 'maka',
            'tentang', 'demi', 'dimana', 'kemana', 'pula', 'sambil', 'sebelum', 'sesudah', 'supaya',
            'guna', 'kah', 'pun', 'sampai', 'sedangkan', 'selagi', 'sementara', 'tetapi', 'apakah',
            'kecuali', 'sebab', 'selain', 'seolah', 'seraya', 'seterusnya', 'tanpa', 'agak', 'boleh',
            'dapat', 'dsb', 'dst', 'dll', 'dahulu', 'dulunya', 'anu', 'demikian', 'tapi', 'ingin',
            'juga', 'nggak', 'mari', 'nanti', 'melainkan', 'oh', 'ok', 'seharusnya', 'sebetulnya',
            'setiap', 'setidaknya', 'sesuatu', 'pasti', 'saja', 'toh', 'ya', 'walau', 'tolong',
            'tentu', 'amat', 'apalagi', 'bagaimanapun'
        );
    }


function getStopNumber()
    {
        return array(
            '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '@', '#', '$', '%'
        );
    }



function getUnix($array){
error_reporting(0);
$unique = array_flip(array_flip($array));
//print_r($unique);
$jd=count($array);
//echo $jd."#<br>";
$m=0;
for($i=0;$i<$jd;$i++){
if(strlen($unique[$i])>0){
//echo "$m =".$unique[$i]."<br>";
$M[$m]=$unique[$i];
$m++;
}
}
return $M;
}
?>




Konversi .txt atau .pdf ke Text




<?php
if(isset($_POST["UPLOADFILE"])){
     
      $gambar0=strip_tags($_POST["gambar0"]);
if ($_FILES["gambar"] != "") {
@copy($_FILES["gambar"]["tmp_name"],"$YPATH/".$_FILES["gambar"]["name"]);
$gambar=$_FILES["gambar"]["name"];
}
else {$gambar=$gambar0;}
if(strlen($gambar)<1){$gambar=$gambar0;}


$gambar="ypathfile/$gambar";


require_once __DIR__ . '/vendor/autoload.php';
$cari=strstr($gambar,".txt");
    $p=strlen($cari);
    if($p>0){
$fh = fopen($gambar,'r');
while ($line = fgets($fh)) {
$bacapdf.=$line;
}
fclose($fh);
    }
else{//pdf
$initop = new \Smalot\PdfParser\Parser();
$ekstrakpdf = $initop->parseFile($gambar);
$bacapdf = $ekstrakpdf->gettext();
    }//echo $bacapdf;

//error_reporting(0);

$HASILBACAFILE=$bacapdf;



?>


Membuat Soal Random menggunakan SESSION

Teman2 ...mungkin sering dapat kode random.....
btw ini ada share sedikit ttg membuat soal random.....yang beda disini adalah sy menggunakan session sebagai alat perekam soal random, ybs....
keutungannya :
+SOAL BISA RANDOM
+SOAL MUNCUL SATU DEMI SATU
+MESKIPUN PENGGUNA BERPINDAH TAB BROWSER / REFRESH BERULANG TAPI SOAL TETAP STABIL


Nah itu .............


<?php

session_start();
$_SESSION["selesai"]=0;
if(!isset($_SESSION["ckat"])){
$kat=$_GET["kat"];
$_SESSION["chasil"]=0;
$_SESSION["crekap"]="";
$_SESSION["ckat"]=$kat;
$_SESSION["cawal"]="";
  $sql="select * from `tb_soal` where matapelajaran='$kat'";
$jumsoal=getJum($conn,$sql);
$_SESSION["jumsoal"]=$jumsoal;
$_SESSION['student']=array();

$i=0;
$sqlc="select * from `$tbsoal` where  matapelajaran='$kat' order by rand()";
    $jumc=getJum($conn,$sqlc);
$arr=getData($conn,$sqlc);
foreach($arr as $d) {
$id_soal=$d["id_soal"];
$M[$i]=$id_soal;
//echo "$i=".$id_soal."<br>";
$i++;
}
$_SESSION["student"]=$M;
}
//-----------
for($i = 0 ; $i < count($_SESSION["student"]) ; $i++) {
     //echo $i.'==='.$_SESSION["student"][$i].'<br>';
     }


if(!isset($_SESSION["m"])){
$_SESSION["m"]=0;
}

if(isset($_GET["Pilih"])){
$kat=$_SESSION["ckat"];
$sql="select * from `tb_soal` where matapelajaran='$kat'";
$jumsoal=getJum($conn,$sql);

$x=$_SESSION["m"];
if($x==0){
$_SESSION["cawal"]=WKT(date("Y-m-d"))." ". date("H:i:s");
}
$id_soal=$_SESSION["student"][$x];
$_SESSION["m"]++;
//jawaban=A&id_soal=27&jawab_benar=B&Pilih=Pilih&mnu=soal
$jawaban=$_GET["jawaban"];
$id_soal=$_GET["id_soal"];
$jawab_benar=$_GET["jawab_benar"];
$hasil="Salah";
if($jawab_benar==$jawaban){
$hasil="Benar";$_SESSION["chasil"]=$_SESSION["chasil"]+1;
$_SESSION["crekap"].="Soal ".$_SESSION["m"]." (ID:$id_soal):Benar,";
}
else{
$_SESSION["crekap"].="Soal ".$_SESSION["m"]." (ID:$id_soal):Salah,";
}

if($_SESSION["m"]>=($jumsoal)){
//if($_SESSION["m"]>=99){//artinya dari 1000soal hanya 100 yg ditampilkan
$ahir=WKT(date("Y-m-d"))." ". date("H:i:s");
$waktu="Jumlah Soal: ".$_SESSION["jumsoal"].", Waktu Pengerjaan: ".$_SESSION["cawal"]." s/d ".$ahir." WIB";
$sql="INSERT INTO `tb_hasil` (`id`, `kode_user`, `id_soal`, `rekapitulasi`, `hasil`, `keterangan`)
VALUES ('', '".$_SESSION["cid"]."', '".$_SESSION["ckat"]."', '".$_SESSION["crekap"]."', '".$_SESSION["chasil"]."', '$waktu')";
$simpan=process($conn,$sql);



$_SESSION["selesai"]=1;
}
}

if($_SESSION["selesai"]==1){
unset($_SESSION["selesai"]);
unset($_SESSION["m"]);
unset($_SESSION["student"]);
unset($_SESSION["crekap"]);
unset($_SESSION["chasil"]);
unset($_SESSION["jumsoal"]);
$_SESSION["student"]=array();

unset($_SESSION["student"]);
unset($_SESSION["m"]);
unset($_SESSION["ckat"]);
session_destroy();
echo "<script>alert('terimakasih atas partisipasinya.......See You Later...');
document.location.href='index.php';</script>";
}
else{

$m=$_SESSION["m"];
$id_soal=$_SESSION["student"][$m];
//echo"M=$m==$id_soal<br>";
$no=$m+1;

 $sql="select * from `tb_soal` where id_soal='$id_soal'";
$d=getField($conn,$sql);
$id_soal=$d["id_soal"];
$mata_pelajaran=$d["mata_pelajaran"];
$soal=$d["soal"];
$jawab_a=$d["jawab_a"];
$jawab_b=$d["jawab_b"];
$jawab_c=$d["jawab_c"];
$jawab_d=$d["jawab_d"];
$jawab_benar=$d["jawab_benar"];
$gambar=$d["gambar"];


$kat=$_SESSION["ckat"];
?>

<form name='form1' method='get' action=''>
  <table width='100%' border='0'>
    <tr>
      <td colspan='4'>&nbsp;</td>
    </tr>
    <tr>
      <td width='23%' rowspan='3' align='center' valign='middle'>
  <a href='#' onclick='buka(\"soal/zoom.php?id=$id_soal\")'><img src='graduation.jpg' width='150' height='180' /></a>
  </td>
      <td colspan='3'><h1><?php echo $no.". ".$soal;?> </h1><hr></td>
    </tr>

    <tr>
      <td colspan="3"><font size="+2">
  <input type="radio" id="pil" name="jawaban" value="A">A. <?php echo $jawab_a;?><br>
  <input type="radio" id="pil" name="jawaban" value="B">B. <?php echo $jawab_b;?><br>
  <input type="radio" id="pil" name="jawaban" value="C">C. <?php echo $jawab_c;?><br>
  <input type="radio" id="pil" name="jawaban" value="D">D. <?php echo $jawab_d;?><br>
  <input type="hidden" id="id_soal" name="id_soal" value="<?php echo $id_soal;?>"><br />
  <input type="hidden" id="jawab_benar" name="jawab_benar" value="<?php echo $jawab_benar;?>">
   
   
      </font><br /><br /><br />
<input type="submit" value="Pilih" name="Pilih">
    <input type="hidden" value="soal" name="mnu">
    <input type="hidden" value="<?php echo $kat;?>" name="kat">
  </td>
    </tr>
    <tr>
      <td width="20%">&nbsp;</td>
      <td width="28%">&nbsp;</td>
      <td width="29%" colspan='2'>&nbsp;</td>
    </tr>
  </table>
</form>

<?php
}
?>

login pengguna...
'
tampilan memilih kategori soal yang dibuka/aktif

menikmati soal2 yang aneh....

Walau di refresh...id soal tetap konstan...





Selasa, 03 Juli 2018

Forecasting HMM, Double exponential smoothing,fuzzy mamdani,

Exponential Smoothing adalah suatu prosedur yang secara terus menerus memperbaiki peramalan dengan cara menghitung nilai rata-rata .

Yaitu dengan cara menghaluskan /smoothing nilai sebelumnya dengan cara exponential.
caranya dengan memberi nilai pembobot pada serangkaian pengamatan sebelumnya untuk memprediksi nilai masa depan.


MACAM-MACAM METODE

1.      Single Exponentials Smoothing

 Model mengasumsikan bahwa data berfluktuasi di sekitar nilai mean yang tetap, tanpa trend atau pola pertumbuhan konsisten berdasarkan time series , yaitu melalui penggunaan sebuah konstanta smoothing (penghalus).

Konstanta smoothing mungkin berkisar dari 0 ke 1. Nilai yang dekat dengan 1 memberikan penekanan terbesar pada nilai saat ini sedangkan nilai yang dekat dengan 0 memberi penekanan pada titik data sebelumnya.

Rumus untuk Simple exponential smoothing adalah sebagai berikut:

St = α * Xt + (1 – α) * St-1

dimana:
St = peramalan untuk periode t.
Xt + (1-α) = Nilai aktual time series
Ft-1 = peramalan pada waktu t-1 (waktu sebelumnya)
α = konstanta perataan antara 0 dan 1


2.Double Exponentials Smoothing

Metode ini digunakan ketika berbentuk data trend.
Ada dua metode dalam Double Exponential Smoothing, yaitu :

a)      Metode Linier Satu Parameter dari Brown’s
Metode ini dikembangkan oleh Brown’s untuk mengatasi perbedaan yang muncul antara data aktual dan nilai peramalan apabila ada trend pada poltnya. Dasar pemikiran dari pemulusan eksponensial linier dari Brown’s adalah serupa dengan rata-rata bergerak linier (Linier Moving Average), karena kedua nilai pemulusan tunggal dan ganda ketinggalan  dari data yang sebenarnya bilamana terdapat unsur trend, perbedaan antara nilai pemulusan tunggal dan ganda ditambahkan kepada nilai pemulusan dan disesuaikan untuk trend. Persamaan yang digunakan pada metode ini adalah :




Minggu, 01 Juli 2018

PHP AUTO CODE



<?php
  $sql="select `kode_paket` from `$tbpaket` order by `kode_paket` desc";
   $q=mysqli_query($conn, $sql);
  $jum=mysqli_num_rows($q);
  $kd="PKT";
if($jum > 0){
$d=mysqli_fetch_array($q);
$idmax=$d["kode_paket"];
$urut=substr($idmax,3,2)+1;//01
if($urut<10){$idmax="$kd"."0".$urut;}
else{$idmax="$kd".$urut;}
}
else{$idmax="$kd"."01";}
  $kode_paket=$idmax;
?>



<?php
$sql="select `kode_customer` from `$tbcustomer` order by `kode_customer` desc";
$q=mysqli_query($conn, $sql);
  $jum=mysqli_num_rows($q);
  $th=date("y");
  $bl=date("m")+0;if($bl<10){$bl="0".$bl;}

  $kd="CUS".$th.$bl;//KEG1610001
  if($jum > 0){
   $d=mysqli_fetch_array($q);
   $idmax=$d["kode_customer"];
 
   $bul=substr($idmax,5,2);
   $tah=substr($idmax,3,2);
    if($bul==$bl && $tah==$th){
     $urut=substr($idmax,7,3)+1;
     if($urut<10){$idmax="$kd"."00".$urut;}
     else if($urut<100){$idmax="$kd"."0".$urut;}
     else{$idmax="$kd".$urut;}
    }//==
    else{
     $idmax="$kd"."001";
     } 
   }//jum>0
  else{$idmax="$kd"."001";}
  $kode_customer=$idmax;
?>






Sabtu, 30 Juni 2018

Belajar Dasar Proses Stemming






    <?php
$isidokumen="Jokowi Minta Kasus Beras Plastik Jangan Dibesar-besarkan
SOLO, KOMPAS.com — Presiden Joko Widodo (Jokowi) meminta masyarakat sabar dan tidak gegabah dalam menanggapi kasus beras sintetis. Jokowi juga meminta media untuk tidak membesar-besarkan masalah beras sintetis karena masih dalam tahap penelitian para ahli.
mnu=orderdetailKamu enggak usah gede-gedein, wong di satu tempat saja kok. Ini baru dilihat di labnya IPB, di labnya BPOM. Kalau sudah kami simpulkan, baru kita bicara. Jangan semua bicara, semua bicara, tetapi membesarkan masalah saja,mnu=orderdetail kata Jokowi saat mengikuti car free day di Solo, Minggu (24/5/2015).
Jokowi menegaskan akan mencari akar masalah beras sintetis tersebut. (Baca: Wapres JK: Beras Plastik Bukan Masalah Besar)
mnu=orderdetailYang paling penting, akar masalahnya apa? Dicek bener. Apakah hanya di Bekasi atau hanya di satu warung saja? Motivasinya apa?mnu=orderdetail katanya.
Jokowi meragukan peredaran beras plastik tersebut dilatarbelakangi mencari keuntungan karena harga plastik lebih mahal daripada beras. (Baca: Ada yang Janggal di Kasus Beras Plastik, Pengusaha Duga Ada Persaingan Tak Sehat)
mnu=orderdetailSecara logika, enggak masuk kalau motifnya mencari untung karena harga plastik lebih mahal dari beras,mnu=orderdetail katanya.
Direktur Jenderal Pengolahan dan Pemasaran Hasil Pertanian Kementerian Pertanian Yusni Emilia Harahap, seperti dikutip harian Kompas, mengatakan, kasus beras sintetis perlu dituntaskan agar tidak meresahkan masyarakat dan pedagang. (Baca: Bahaya Jangka Pendek dan Jangka Panjang Beras Plastik)
Kasus ini juga menunjukkan bahwa keamanan dan tata niaga pangan perlu diperbaiki. Asal-usul semua beras yang beredar harus bisa ditelusuri melalui pendaftaran merek dan pelaku usaha. Lokasi pengemasan beras pun harus terdaftar sehingga terkontrol.
Ketua Persatuan Penggilingan Padi dan Beras Indonesia Wilayah DKI Jakarta Nellys Soekidi serta Sekjen Asosiasi Pedagang Pasar Seluruh Indonesia Ngadiran mengatakan, kasus beras sintetis menyebabkan pendapatan pedagang beras turun sekitar 30 persen. Banyak konsumen yang memilih membeli beras hanya di toko modern daripada di pasar tradisional.
";
if(isset($_POST["STEM"])){
$isidokumen=$_POST["isidokumen"];
}
?>

 <div class="container">
    <form action="" method="post" enctype="multipart/form-data">
    <p align="center">
    <label for="kata"></label>
    <h3 align="center"> Masukan Kata</h3>
    <div align="center">
        <textarea name="isidokumen" cols="85" rows="15" id="isidokumen"><?php echo $isidokumen;?>
</textarea>
        </p>
<input type="submit" value="Stem" name="STEM" />
   </div>
   </form>
 
 
   <div class="row">
   <div class="col-lg-4 col-lg-offset-1">
   
    <?php
if(isset($_POST['STEM'])){
require_once __DIR__ . '/vendor/autoload.php';

$bacapdf=$_POST["isidokumen"];
$initos = new \Sastrawi\Stemmer\StemmerFactory();
$bikinos = $initos->createStemmer();
$stemming=$bikinos->stem($bacapdf);
$stemming=strtolower($stemming);
echo $stemming;

}//isset

?>
</div>
</div>
</div>


Sweet Alert

Download library weetalert.min.js, letakkan dalam satu folder sejajar index !  https://drive.google.com/drive/folders/1uXhLjQv998HlVhtzObOPC...