Belajar Web Programming PHP, HTML, MySQL dan Tutorial

Aplikasi Pengecekan Kata Dengan Fungsi PHP levenshtein

levenshtein distance adalah sebuah metode untuk menghitung jarak/distance dari dua buah string. PHP menyediakan fungsi untuk mendukung hal ini yaitu dengan menggunakan function levenshtein(). Cara penggunaannya pun cukup mudah yaitu seperti contoh berikut ini.


<?php
echo levenshtein("Hello World","Hello World")."<br>";
echo levenshtein("Hello World","Helo World")."<br>";
?>
Kedua baris kode diatas akan menghasilkan nilai distance dari perbandingan kedua string tersebut. Hasilnya keduanya bernilai 1. Hasil ini menunjukan bahwa kedua string tersebut memiliki kemiripan yang hampir sama, sehingga kita dapat memberikan koreksi apabila ada kesalahan dalam penulisan huruf dalam string tersebut. Function levenshtein() memberikan nilai 0 apabila dua buah string tersebut sama, dan akan memberikan nilai lain tergantung dari hasil pengolahan sejauh mana perbedaan dari kedua buah string tersebut.

Dengan adanya function levenshtein() tersebut kita dapat membuat sebuah aplikasi sederhana untuk melakukan pengecekan apakah sebuah kata yang kita inputkan benar atau tidak, hal ini menjadi dasar dalam pembuatan grammer checker dalam suatu aplikasi berdasarkan basis data kata-kata yang sudah tersimpan sebelumnya. Tentu dalam aplikasi ini kita belum menggunakan data yang terlalu banyak, namun dengan prinsip yang sama kita dapat menerapkannya menjadi suatu aplikasi sederhana dengan kemampuan pengecekan kata berdasarkan output dari levenshtein distance. Mari kita coba membuatnya.

1. Buat terlebih dahulu array untuk menyimpan data kata-kata
<?php 
$data[0]="application";
$data[1]="computer";
$data[2]="internet";
$data[3]="linux";
$data[4]="software";
$data[5]="user";
$data[6]="website";
$data[7]="windows";
?>

2. Setelah itu kita buat sebuah antarmuka input
3. Kemudian kita juga membuat output hasil dari pengecekan menggunakan levenshtein function tersebut

Berikut hasil akhir sourcecode dari aplikasi pengecekan kata tersebut.
index.php
<h2>Aplikasi Pengecekan Kata Dengan Fungsi PHP levenshtein </h2>
<hr>
<form action="index.php" method="get">
Input
<input type="text" name="string" placeholder="Insert Word">
<input type="submit" value="Process">
</form>
<hr>
<b>Sample Words</b>
<br>
<?php
$data[0]="application";
$data[1]="computer";
$data[2]="internet";
$data[3]="linux";
$data[4]="software";
$data[5]="user";
$data[6]="website";
$data[7]="windows"; 

for($i=0;$i<=7;$i++) {
 echo $data[$i]."<br>";
}
?>
<hr>
<?php 
$string = isset($_GET['string'])?$_GET['string']:"";
$hasil  = array();

if(!empty($string))
{
 for($i=0;$i<=7;$i++) {
 //calculate distance 
 $hasil[$i]['distance'] = levenshtein($data[$i],$string);
 $hasil[$i]['index']    = $i;
 }

 //sort the result
 usort($hasil, function($a, $b) {
     return $a['distance'] - $b['distance'];
 });

 //first array is the result
 $result = $hasil[0]['distance'];
 $index  = $hasil[0]['index'];

 if($result == 0) {
  echo "Kata yang diinputkan adalah <b>".$string."</b><br>";
  echo "Distance/Jarak adalah <b>".$result."</b><br>";
 }
 if($result > 0) {
  echo "Kata yang diinputkan adalah <b>".$string."</b><br>";
  echo "Distance/Jarak adalah <b>".$result."</b><br>";
  echo "Mungkin kata yang dimaksud adalah <b>".$data[$index]."</b>";
 }


}
?>

Berikut hasil akhirnya

Labels: Function PHP, levenshtein, PHP

Terima kasih telah membaca Aplikasi Pengecekan Kata Dengan Fungsi PHP levenshtein. Bila bermanfaat boleh di share yah :)

1 Comment for "Aplikasi Pengecekan Kata Dengan Fungsi PHP levenshtein"

kalau data diatas kita misalkan didatabase bagaimana kak?

Back To Top