Selasa, 10 Juli 2018

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;
}
?>




Tidak ada komentar:

Posting Komentar

Mencari Tanggal Terakhir Suatu Bulan

  $a_date = "$tahun-$bulan-01"; $lastdate= date('t',strtotime($a_date));//Y-m-t <?php require_once"koneksivar.php&...