Levenshtein Distance.php

dokumen-dokumen yang mirip
LAMPIRAN A (KODE PROGRAM)

LISTING PROGRAM. brute.php

Halaman Utama. Tampilan Menu. Universitas Sumatera Utara

SEARCHING, EDIT / UPDATE DAN DELETE. PHP & MYSQL Part Two

LAMPIRAN LISTING PROGRAM WEBSITE

BELAJAR WEB UNTUK PEMULA

Lampiran Kode Program

L A M P I R A N. Universitas Sumatera Utara

LAMPIRAN. Lampiran 1 Wawancara dengan Bapak Thoriq Rachmat selaku Manager IT di PT. 1. Apakah perusahaan saat ini membutuhkan sistem server yang baru?

Checkbox dengan Foreach dan MYSQL

LAMPIRAN. Source code halaman utama:

Lampiran 1. Flowchart perancangan sistem

Langkah 1. Asep Tatang S.

Pemrograman Web PRAKTIKUM 6. Query Data 2. TUJUAN BELAJAR Mahasiswa dapat menggunakan PHP dan MySQL untuk mengupdate data

BAB IV HASIL DAN PEMBAHASAN. Sistem Informasi Penjualan dan Pembelian Barang Pada Toko Touring

Praktikum 3 Cookie, Session, dan Database MySQL

LAMPIRAN Source Code Untuk Menampilkan Halaman Home

EFEKTIFITAS TATA KERJA PENDATAAN KEPEGAWAIAN DALAM MEWUJUDKAN GOOD GOVERNANCE

Membuat Login Dengan PHP dan MYSQL

Membuat Sistem Pertemanan Sederhana

BAB X AKSES DAN MANIPULASI DATA

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

Cara Mudah dan Cepat Meyimpan File Gambar. Di dalam DATABASE

Membuat Form login dengan Php dan Mysql

DAFTAR PUSTAKA. Andi, Menguasai Pemerograman Web Dengan Java Script. Wahana Komputer 2010

Dari potongan program pada Gambar 1 dijelaskan bahwa, program

Prak. E-Bussiness & E-Commerce HTML. (HyperText Markup Language) RAHMADY LIYANTANTO liyantanto.wordpress.com

<a href="kontak.php">kontak</a> </li> </ul> </div> </div> <div id="contents"> <div class="box"> <div> <div id="news" class="body"> <div

Gambar 4. 1 Implementasi Tabel Admin 58

PRAKTIKUM I MySQL / phpmyadmin

Berilah tanda cek pada kotak yang sesuai dengan pilihan Anda. Nama :... (boleh tidak diisi) Alamat :... (boleh tidak diisi)

Create Read Update Delete using PHP MySql

Simak baik-baik komentar-komentar dalam setiap skrip. Komentar diawali dengan tanda #, //, atau /* dan */

Tutorial Membuat WEB Dinamis Dengan PHP

Membuat Aplikasi CRUD dengan OOP dan PDO MySQL

LAMPIRAN A : LISTING PROGRAM

echo zine, issue // Pengamanan URL dengan MAC

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

APLIKASI ALGORITMA KNUTH-MORRIS-PRATT PADA MESIN PENCARI KATA UNTUK LINGKUNGAN WEBSITE MAHASISWA INFORMATIKA 2005

Chart Dinamis dengan PHP-XML-JSChart

LAMPIRAN LISTING PROGRAM WEBSITE

BAB IV IMPLEMENTASI SISTEM DAN PENGUJIAN

DAFTAR PUSTAKA. HM, Jogianto, Analisis dan Desain Sistem Informasi Edisi 3 Yogyakarta: Andi

LAMPIRAN. Source Code: Koneksi: <? mysql_connect("localhost","sa","sa"); mysql_select_db("hrd");?> Seleksi Karyawan: <? include("sessionrequest.

LAMPIRAN. 1. Listing Program pada website sekolah. index.php

LAMPIRAN LISTING PROGRAM HALAMAN WEBSITE

window.location='karyawan/homeuser.php'</script>"; }else if($c['level']=="manajer"){

L A M P I R A N. Universitas Sumatera Utara

Membuat Fasilitas Readmore dengan TInyMCE

BAB 4 PERANCANGAN LAYAR

Langkah Cara Membuat Form Login Menggunakan PHP dan MySQL Langkah 1: Membuat Tabel MySQL User/Pengguna

Membuat Paging Ala Google

108

Fungsi-fungsi MySql Fungsi mysql_connect. Bentuk: Membuat hubungan ke database MySQL yang terdapat pada suatu host.

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Konsep Basis Data di Web

Menangani Input dari User

LAMPIRAN. dan informasi yang dibutuhkan dalam pembuatan aplikasi ini. berfokus pada penjualan pakan ternak. Tetapi, untuk produksi lainnya, PT.

TUTORIAL APLIKASI WEB Dengan PHP dan MySQL

LAMPIRAN A : TAMPILAN PROGRAM

BAB V IMPLEMENTASI DAN PENGUJIAN. lingkungan perangkat lunak, implementasi database beserta struktur program dan

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Tutorial Membuat Program Web menggunakan PHP, MySQL, dan PHP

LISTING PROGRAM. Index.php

Modul 1 : Fungsi dalam PHP

Mahasiswa memahami Pengertian Basisdata, Cara membuat basisdata, cara menginput data dan cara menampilkan data.

1. Source Code Implementasi Metode AHP

MANAGEMENT, FORWARDING & AUTO RESPONDER

Upload File dengan Metode AJAX

MODUL PRAKTIKUM SISTEM TERDISTRIBUSI

Modul Pemrograman Web Teori + Praktik PHP, XML, Jquery, Ajax, Yii

?> <html> <head> <link href="data/styles.css" rel="stylesheet" type="text/css"> <title>sumber Ilmu Online Bookstore</title> </head>

Membangun koneksi dari PHP ke MySQL adalah dengan fungsi mysql_connect();

LAPORAN PERTEMUAN 2 PERULANGAN DAN FORM PHP

Sortable Datagrid dengan Paginating Data

Membuat Chart Dengan JSChart

<script type="text/javascript" src="js/cal.js"></script> <link href="css/cal.css" rel="stylesheet" type="text/css">

Cetak Laporan. Script tampil.php dibawah ini akan menampilkan gambar seperti diatas :

DAFTRA PUSTAKA. Raymond McLeod, Jr. (2001). Sistem Informasi Manajemen Jilid 1. Edisi Ketujuh. Jakarta : PT. Prenhallindo.

LAMPIRAN. Universitas Sumatera Utara

MODUL 13 INTERKONEKSI CLIENT-SERVER JQUERY

Pembuatan Database PT. Fanitra Indotama. CREATE DATABASE fanitra; USE fanitra; Table structure for table 'guestbook'

INTRO PHP FORM PHPMYADMIN input update delete TEMPLATE SEDERHANA

?> </span></td> </tr> </table></br></center><hr></br></td></tr> </table> <?php $_SESSION['pertanyaan'] = $pertanyaan; // store session data

BAB IV IMPLEMENTASI SISTEM

Implementasi Algoritma Knuth-Morris-Pratt Pada Fungsi Pencarian Judul Tugas Akhir Repository

2. inputkk.php. 3. tampilkk.php

TUTORIAL MEMBUAT PROGRAM KALKULATOR DENGAN OOP PHP

buat Lightbox mu sendiri dengan jquery

Membuat Chatbox Sederhana dengan Ajax jquery dan PHP PDO

Pemrograman Web Lanjut 2017

AJAX Tutorial. Contoh AJAX Database 4

Modul 1 : HTML dan CSS

LAMPIRAN. A. Source Code Halaman Utama

Pemrograman Web Lanjut 2017

PEMANFAATAN SMS GATEWAY PADA SYSTEM PENDAFTARAN ONLINE (STUDI KASUS UNIVERSITAS MUHAMMADIYAH RIAU) HARUN MUKHTAR

Gambar 1. Tampilan form karyawan

Pemrograman Basis Data Berbasis Web

Pemrograman PHP Lanjut. Ahmad Zainudin, S.ST Pemrograman Internet

BAB III PERANCANGAN ALAT

Transkripsi:

LISTING PROGRAM Levenshtein Distance.php <?php function levenshteind($this = "", $that = "") { // memeriksa apakah kedua kata sama if ($this === $that) return 0; // dimensi matrix $m = strlen($this); $q = strlen($that); // memulai membuat matrix // kiri atas di inisialisasikan dengan nilai 0 $matrix[0][0] = 0; //membuat array dari setiap huruf for ($i = 1; $i <= $m; $i++) { $matrix[$i][0] = $i; if ($i!= $m && substr($this, $i) === substr($that, $i)) return $i; for ($i = 1; $i <= $q; $i++) {

$matrix[0][$i] = $i; if ($i!= $q && substr($this, $i) === substr($that, $i)) return $i; // membandingkan seluruh matrix dimulai dari kiri atas untuk menemukan nilau minimum for ($i = 1; $i <= $m; $i++) { $piece = substr($this, $i - 1, 1); for ($j = 1; $j <= $q; $j++) { $minimum = $m + $q; if ( ($matrix[$i - 1][$j] + 1) < $minimum) $minimum = $matrix[$i - 1][$j] + 1; if ( ($matrix[$i][$j - 1] + 1) < $minimum) $minimum = $matrix[$i][$j - 1] + 1; if ($piece === substr($that, $j - 1, 1)) $extracost = 0; else $extracost = 1; if ( ($matrix[$i - 1][$j - 1] + $extracost) < $minimum) $minimum = $matrix[$i - 1][$j - 1] + $extracost;

$matrix[$i][$j] = $minimum; // memberikan nilai terendah pada elemen paling kanan bawah return $matrix[$m][$q]; echo levenshteind("pemrograman","permograman"); Boyer Moore.php <?php function boyermoore($cari, $kata, $kata2){ $ditemukan=0; //$cari="cari"; //$kata="mengubah kata yang dicari ke bentuk array"; $cari=strtolower($cari); $kata=strtolower($kata); $cari_arr= str_split($cari); //mengubah kata yang dicari ke bentuk array $cari_len= count($cari_arr); // menghitung panjang kata yang dicari $kata_arr= str_split($kata); //mengubah kata yang diperiksa ke bentuk array $kata_len= count($kata_arr); // menghitung panjang kata yang diperiksa

$batas=$kata_len-$cari_len; for ($n=0; $n < $cari_len; $n++) { $nilai=$cari_len-1-$n; $char=$cari_arr[$n]; if($nilai==0) $val[$char]=1; else $val[$char]=$nilai; /* for ($n=0; $n < $cari_len; $n++) { $char=$cari_arr[$n]; echo "$char = ".$val[$char]; */ $x=0; $y=1; while($x<=$batas) // perulangan sebanyak panjang kata yang diperiksa dikurang panjang kata yang di cari { $iterasike=$y; $cocok='';

for ($z=$x; $z < $cari_len+$x; $z++) { $cocok.=$kata_arr[$z]; if ($cocok==$cari) { $ditemukan=1; break; $akhir=$kata_arr[$x+$cari_len-1]; if (in_array($akhir, $cari_arr)) { $x+=$val[$akhir]; else{ $x+=$cari_len; $y++; if ($x>$batas) { //echo "kata tidak ditemukan"; return ""; if ($ditemukan==1) {

//echo "kata ditemukan di iterasi ke $iterasike"; return $kata2; include "koneksi.php"; $cari=trim($_get['cari']); // menangkap variable cari yang dikirim $arr=array(); $result=mysql_query("select id_buku,judul_buku FROM buku",$koneksi) or die(mysql_error()); if(mysql_num_rows($result)>0){ //memuncullkan jika hasil lebih dari 0 while($data=mysql_fetch_row($result)){ $id=$data[0]; $kata=$data[1]; $isi=boyermoore($cari, $kata, $kata); if ($isi!= '') { $arr[]=array("id" => $id, "data" => $isi); //memasukkan data ke erray mysql_close($koneksi); echo json_encode($arr); //decode array kedalam json untuk di tampilkan?>

Detail_buku.php <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>user</title> <link href="css/style.css" rel="stylesheet" type="text/css"/> </head> <body> <?php $id=$_request['id']; include "koneksi.php"; $sql=mysql_query("select * from buku WHERE id_buku=$id",$koneksi)or die(mysql_error()); $data=mysql_fetch_array($sql); $judul_buku=$data['judul_buku']; $pengarang=$data['pengarang']; $penerbit=$data['penerbit']; $tahun_terbit=$data['tahun_terbit']; $edisi=$data['edisi']; $jenis=$data['jenis']; $deskripsi=$data['deskripsi']; $subjek=$data['subjek']; $bahasa=$data['bahasa']; $jumlah_eks=$data['jumlah_eks'];

?> <div id="wrapper"> <h1><?php echo $judul_buku?></h1> <table width='960'> <td class="col1" width='150'>judul Buku :</td> <td class="col2"><?php echo $judul_buku?></td> <td class="col1">pengarang :</td> <td class="col2"><?php echo $pengarang?></td> <td class="col1">penerbit :</td> <td class="col2"><?php echo $penerbit?></td> <td class="col1">tahun Terbit :</td> <td class="col2"><?php echo $tahun_terbit?></td> <td class="col1">edisi :</td> <td class="col2"><?php echo $edisi?></td> <td class="col1">jenis :</td> <td class="col2"><?php echo $jenis?></td>

<td class="col1">deskripsi :</td> <td class="col2"><?php echo $deskripsi?></td> <td class="col1">subjek :</td> <td class="col2"><?php echo $subjek?></td> <td class="col1">bahasa :</td> <td class="col2"><?php echo $bahasa?></td> <td class="col1">jumlah Eks :</td> <td class="col2"><?php echo $jumlah_eks?></td> </table> </div> </body> </html> Index.php <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <html> <head> <title>user</title> <script language="javascript" type="text/javascript" src="js/jquery.js"></script>

<script language="javascript" type="text/javascript" src="js/jquery.coolautosuggest.js"></script> <script language="javascript" type="text/javascript" src="js/jquery.coolfieldset.js"></script> <link rel="stylesheet" type="text/css" href="css/jquery.coolautosuggest.css" /> <link rel="stylesheet" type="text/css" href="css/style.css" /> <?php $cari = $_REQUEST['cari'];?> </head> <body> <div id="wrapper"> <?php set_time_limit(0); if(!isset($cari)) {?> <p align="center"> <img src="images/pintu_aceh.png" height="100"> </p> <img src="images/aceh_timur.png" height="100"> <div id="first_view"> <h3 align="center">implementasi ALGORITMA LEVENSHTEIN DISTANCE DAN BOYER MOORE UNTUK FITUR AUTOCOMPLETE DAN AUTOCORRECT PADA APLIKASI KATALOG PERPUSTAKAAN DAERAH ACEH TIMUR</h1> <form action="index.php"> Buku yang dicari : <input type="text" name="cari" id="text1" value="<?php echo $cari?>"/>

<input type="submit" value="cari" id="button"/> <script language="javascript" type="text/javascript"> $("#text1").coolautosuggest({ url:"data.php?cari=", //mengambil data pada data.php dengan mengirim variable cari else {?> </div> <?PHP <div> </form> ); </script> <!--form pemcarian--> <form action="index.php"> Buku yang dicari : <input type="text" name="cari" id="text1" value="<?php echo $cari?>"/> <input type="submit" value="cari" id="button"/> <script language="javascript" type="text/javascript"> $("#text1").coolautosuggest({ url:"data.php?cari=", //mengambil data pada data.php dengan mengirim variable cari </div> </form> <div id="correct"> ); </script>

<?php include "koneksi.php"; $terkecil = -1; $sql=mysql_query("select * from buku",$koneksi)or die(mysql_error()); //mengambil semua buku di database while($data=mysql_fetch_array($sql)){ //perulangan untuk membandingkan semua buku $kata=$data['judul_buku']; $cari=strtolower($cari); //konversi yang dicari menjadi huruf kecil semua menjadi huruf kecil semua $kata=strtolower($kata); //konversi buku $lev = levenshtein($cari, $kata); //mengambil nilai levenshtein if ($lev == 0) { //pemeriksaan apakah nilai levenshtein sama dengan 0 yang berarti cocok $terdekat = $kata; //mendefenisikan kata yang paling dekat jika lev ==0 $terkecil = 0; // mendefenisikan nilai lev terkecil yang didapat = 0 perulangan break; //menghentikan proses

if ($lev <= $terkecil $terkecil < 0) { // melakukan pemeriksaan apakah nilai lev ini lebih kecil dari sebelumnya $terdekat = $kata; //mendefenisikan kata yang paling dekat jika lev lebih kecil dari sebelumnya $terkecil = $lev; // mendefenisikan nilai lev jika lev lebih kecil dari sebelumnya objek yang di cari if($cari) //kata yang di keluarkan jika ada { if ($terkecil > 0) { $link_terdekat=urlencode($terdekat); echo "Apakah Maksud Anda: <a href='index.php?cari=$link_terdekat'>$terdekat ($terkecil)</a>?\n";?> </div> <div id="hasil"> <div id="kiri"> <h4>boyermoore (Auto Complete)</h4> <?php function boyermoore($cari, $kata, $kata2){ $ditemukan=0; //$cari="cari";

ke bentuk array"; //$kata="mengubah kata yang dicari $cari=strtolower($cari); $kata=strtolower($kata); $cari_arr= str_split($cari); //mengubah kata yang dicari ke bentuk array $cari_len= count($cari_arr); // menghitung panjang kata yang dicari $kata_arr= str_split($kata); //mengubah kata yang diperiksa ke bentuk array $kata_len= count($kata_arr); // menghitung panjang kata yang diperiksa $batas=$kata_len-$cari_len; for ($n=0; $n < $cari_len; $n++) { $nilai=$cari_len-1-$n; $char=$cari_arr[$n]; if($nilai==0) $val[$char]=1; else $val[$char]=$nilai; /* for ($n=0; $n < $cari_len; $n++) { $char=$cari_arr[$n]; echo "$char = ".$val[$char];

*/ $x=0; $y=1; while($x<=$batas) // perulangan sebanyak panjang kata yang diperiksa dikurang panjang kata yang di cari { $iterasike=$y; $cocok=''; $z++) { for ($z=$x; $z < $cari_len+$x; $cocok.=$kata_arr[$z]; if ($cocok==$cari) { $ditemukan=1; break; 1]; $akhir=$kata_arr[$x+$cari_len- $cari_arr)) if (in_array($akhir, { $x+=$val[$akhir];

else{ $x+=$cari_len; $y++; if ($x>$batas) { //echo "kata tidak ditemukan"; return ""; if ($ditemukan==1) { iterasi ke $iterasike"; //echo "kata ditemukan di return $kata2; variable cari yang dikirim $cari=trim($_get['cari']); // menangkap $arr=array(); $result=mysql_query("select id_buku,judul_buku,pengarang,penerbit,tahun_terbit FROM buku",$koneksi) or die(mysql_error()); // melakukan pengambilan dari database dengan nilai levenshtein kurang dari 15 yang diurutkan berdasarkan nilai lev terkecil while($data=mysql_fetch_array($result)){ $id=$data['id_buku'];

$kata= $data['judul_buku']; $kata); $isi=boyermoore($cari, $kata, if ($isi!= '') { $no++; $id=$data['id_buku']; $data['judul_buku']; $data['pengarang']; $data['penerbit']; $data['tahun_terbit']; $judul_buku= $pengarang= $penerbit= $tahun_terbit= echo " class='buku_wrapper'> <div <table> width='40'>$no</td> <td <td> <span ><a href='detail_buku.php?id=$id' class='judul'>$judul_buku</a></span><br/> <span class='pengarang'>$pengarang </span><br/> <span class='penerbit'>$penerbit </span><br/> <span class='tahun'>$tahun_terbit </span> </td>

</div> "; </table> </div>?> <div id="kanan"> <h4>levenshtein (Auto Correct)</h4> <?php if($cari) // hasil pencarian akan dikeluarkan jika ada objek yang di cari include "admin/library/class_paging.php"; { $file = "index.php"; $cari=urlencode($cari); $page = "cari=$cari"; // Memanggil dan menginisiasi class $p = new Paging; // Tentukan limit atau batas $batas = 10; // Cek halaman dan posisi data $posisi = $p->cariposisi($batas); $no=$posisi+1;

$search=$_request['search']; $query="select id_buku,judul_buku,pengarang,penerbit,tahun_terbit,levenshtein('$cari', judul_buku) as lev FROM buku ORDER BY lev"; $sql = mysql_query("$query LIMIT $posisi,$batas", $koneksi) or die (mysql_error()); $sql2 = mysql_query("$query"); $no=0; while($row=mysql_fetch_array($sql)) { $no++; $id=$row['id_buku']; $row['judul_buku']; $judul_buku= $pengarang=$row['pengarang']; $penerbit=$row['penerbit']; $tahun_terbit=$row['tahun_terbit']; echo " <div class='buku_wrapper'> <table> width='40'>$no</td> <td <td> ><a href='detail_buku.php?id=$id' class='judul'>$judul_buku</a></span><br/> class='pengarang'>$pengarang</span><br/> <span <span

class='penerbit'>$penerbit</span><br/> class='tahun'>$tahun_terbit</span> <span <span </td> </table> </div> "; // Dapatkan jumlah data keseluruhan $jmldata = mysql_num_rows($sql2); // Dapatkan jumlah halaman $jmlhalaman = $p- >jumlahhalaman($jmldata, $batas); // Cetak link navigasi halaman $linkhalaman = $p- >navhalaman($_get[halaman], $jmlhalaman, $page); <?php?> </div> </div> </body></html>?> </div> echo $linkhalaman;

DAFTAR RIWAYAT HIDUP Saya yang bertanda tangan dibawah ini : DATA PRIBADI Nama Alamat : Teuku Ighfar Hajar : Jalan Gajah Mada, Gang Makmur 15B, Medan Hp : 0811642809 Email :teukuighfarhajar@yahoo.com Tempat/tanggal lahir : Kuta Binjei/ 28 September 1992 Jenis Kelamin Status : Laki-laki : Belum Menikah PENDIDIKAN 1998-2004 : SD Negeri 1 Kuta Binjei 2004-2007 : MTsN 1 Kuta Binjei 2007-2010 : SMA Negeri Ungul Aceh Timur 2010-2013 : DIII Teknik Informatika 2013-2015 : S-1 Ekstensi Ilmu Komputer SEMINAR Seminar Nasional Literasi Informasi (SENARAI) 2014 Fakultas Ilmu Komputer dan Teknologi Informasi. Demikianlah Daftar Riwayat Hidup ini saya perbuat dengan sebenarnya. Hormat Saya, Teuku Ighfar Hajar