tokenizer.class
tentunya parser.class aja belum cukup. harus ada kelas turunan yang nyambung
yang hasilnya sesuai yang diharapkan.
Sekarang ini adalah class tokenizer yang bertugas menyusun index token-token yang unik
Tentunya dalam ilmu IR index ini harus usdah dibersihkan dari stopwod.
ok selamat menikmati!!
<?php
/************************
Nama : class.Tokenizer.php
Fungsi : Memnyediakan fungsi umum mendapatkan token
ket input : ../dokumen/doc/#.txt->$allstring
ket output : $token ->../dokumen/token/#.txt
*************************/
include “class.Parser.php”;
class Tokenizer extends Parser {
public $pathStopword=”../../dokumen/stopword”;
public $jumlahKata=0;
public $jumlahIstilah=0;
public $jumlahFrekuensi=0;
public $jumlahStopword=0;
//************************
public function remove($array){
for($a=0,$i=0;$i<count($array);){
$panjang=strlen($array[$i]);
$sts=is_numeric($array[$i]);
if($panjang >2 && $sts==false){
if (ereg (“^[a-z]“, $array[$i])) {
$hasil[$a]=$array[$i];
$a++;
}
}
$i++;
}return $hasil;
}//end of fungsi
//************************
protected function getStopword($path) {
if(!is_dir($path)) return filesize($path);
if ($handle = opendir($path)) {
while (false !== ($file = readdir($handle))) {
if($file!=’.’ && $file!=’..’){
$array .= file_get_contents($path.’/’.$file);
}
}
closedir($handle);
}
$stopword=$this->GetTokenAll($array);
$this->jumlahStopword=count($stopword);
return $stopword;
}//end of fungsi
//************************
public function getToken($token) {
$jumlahToken = count($token);
$arr = $this->getStopword($this->pathStopword);
$jumlahArr = count($arr);
$x = 0;
for($i=0;$i<$jumlahToken;$i++)
$z = 0;
for($j=0;$j<$jumlahArr;$j++)
{
if($token[$i] == $arr[$j])
{
$z = $z + 1;
}
}
if($z == 0)
{
$kata[$x] = $token[$i];
$x = $x + 1;
}
}
$this->jumlahKata=count($kata);
return $kata;
}//end of fungsi
//************************
public function getUnix($stemm) {
$kump_stemm = $stemm;
$jumlah_stemm = count($kump_stemm);
// Manipulasi Array Pembanding
$B = “”;
for($k=0;$k<$jumlah_stemm;$k++)
{
$B[$k] = 0;
}
//Menciptakan Array Token Unik
$x = 0;
$result = “”;
for($p=0;$p<$jumlah_stemm;$p++)
{
$jumunix=1;
if($p != ($jumlah_stemm-1))
{
for($q=$p+1;$q<$jumlah_stemm;$q++)
{
if($B[$p] == 0)
{
if($kump_stemm[$p] == $kump_stemm[$q])
{
$B[$q] = 1;
$jumunix++;
}
}
}
}
if($B[$p] == 0)
{
$result[$x] = $kump_stemm[$p];
$x = $x + 1;
$result[$x] = $jumunix;
$x = $x + 1;
$B[$p] = 1;
}
}
return $result;
}//end of fungsi
//************************
public function istilah($drgetunix){
$jumlahResult=count($drgetunix);
$a=0;
for($i=0;$i<$jumlahResult;){
$istilah[$a]=$drgetunix[$i];
$i=$i+1;
$frekuensi[$a]=$drgetunix[$i];
$i=$i+1;
$a++;
}
$this->jumlahIstilah=count($istilah);
return $istilah;
}//end of fungsi
//************************
public function frekuensi($drgetunix){
$jumlahResult=count($drgetunix);
$a=0;
for($i=0;$i<$jumlahResult;){
$istilah[$a]=$drgetunix[$i];
$i+=1;
$frekuensi[$a]=$drgetunix[$i];
$i+=1;
$a++;
}
$this->jumlahFrekuensi=count($frekuensi);
return $frekuensi;
}//end of fungsi
//************************
public function size($array){
$hitung=count($array);
$hitung=$hitung/2;
return $hitung;
}//end of fungsi
//************************
public function tampilkanArray($array){
for($a=0;$a<count($array);){
echo $array[$a];
$a+=1;
echo $array($array[$a].”<br>”);
$a+=1;
}
}//end of fungsi
}//end of class tokenizer
?>
semoga membantu disini
liat
