KNUTH-MORRIS-PRATT (KMP) DALAM FITUR WORD COMPLETION PADA SEARCH ENGINE
SKRIPSI
RYAN DHIKA PRIYATNA 131421064
PROGRAM STUDI EKSTENSI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN
2015
WORD COMPLETION PADA SEARCH ENGINE
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
RYAN DHIKA PRIYATNA 131421064
PROGRAM STUDI EKSTENSI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA MEDAN
2015
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA LEVENSTEIN DISTANCE DAN ALGORITMA KNUTH MORRIS PRATT DALAM FITUR WORD COMPLETION PADA SEARCH ENGINE
Kategori : KECERDASAN BUATAN Nama : RYAN DHIKA PRIYATNA Nomor Induk Mahasiswa : 131421064
Program Studi : EKSTENSI S1 ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Agustus 2015
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Maya Silvi Lydia, B.Sc, M.Sc Dr.Poltak Sihombing, M.Kom NIP. 197401272002122001 NIP.196203171991031001
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
iii
PERNYATAAN
IMPLEMENTASI ALGORITMA LEVENSTEIN DISTANCE DAN ALGORITMA KNUTH MORRIS PRATT DALAM FITUR
WORD COMPLETION PADA SEARCH ENGINE
SKRIPSI
Saya mengetahui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Agustus 2015
Ryan Dhika Priyatna 13142106
PENGHARGAAN
Alhamdulillah. Puji dan syukur kehadirat Allah SWT, yang dengan rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Implementasi Algoritma Levenstein Distance dan Algoritma Knuth-Morris-Pratt dalam Fitur Word Completion Pada
Search Engine, penulis menyadari bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan orang-orang terkasih yang memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada:
1. Bapak Prof. Drs. Subhilhar, M.A.,Ph.D selaku Pejabat Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara .
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara sekaligus selaku Dosen Pembimbing I yang telah memberikan arahan dan masukan yang sangat berharga kepada penulis .
4. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembanding I yang telah memberikan arahan serta motivasi kepada penulis dalam pengerjaan skripsi ini. 5. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Dosen Pembimbing II yang telah memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam pengerjaan skripsi ini.
6. Bapak Ade Candra, ST.,M.Kom selaku Dosen Pembanding II yang telah memberikan arahan dan masukan yang sangat berharga kepada penulis.
v
8. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU.
9. Sahabat-sahabat penulis, Wiwin Agustini Lubis, Fera Ferdian, Tiany Dwi Lestari, Nurul Zakya Haque, Tika Puspita Sari , Maha Perdana Tarigan. 10.Sahabat terbaik penulis, Ade Rizka, Teuku Ighfar Hajar, Adli Abdillah
Nababan, Satriyo Wibowo yang telah memberikan nasehat, semangat dan dukungan selama ini dalam keadaan apapun bagi penulis.
11.Teman-teman Kom B stambuk 2013 yang telah banyak memberikan ilmu kepada penulis baik dalam menyusun skripsi ini maupun pada masa perkuliahan. 12.Dan yang terakhir,
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, Juni 2015
Penulis
Ryan Dhika Priyatna
ABSTRAK
Search engine adalah program komputer yang dirancang untuk membantu seseorang menemukan file-file yang disimpan dalam komputer. Dengan adanya mesin pencari setiap orang dapat dengan mudah memperoleh informasi yang diinginkan. Perkembangan teknologi internet mendorong munculnya fitur dan inovasi terbaru untuk meningkatkan pengalaman dan kemudahan pengguna dalam menjelajahi dunia maya. Fitur tersebut dinamakan Word Completion. Fitur Word Completion memberikan pengalaman baru dan kemudahan bagi pengguna untuk memperoleh informasi . Hasil dari penelitian ini dengan menggunakan dua algoritma adalah bahwa algoritma
Levenstein Distance digunakan untuk memperbaiki kesalahan kata dengan cara substitusi, eliminasi,penambahan dan algoritma Knuth Morris Pratt mencari kata dengan cara menggeser string kesebelah kanan sampai kata tersebut dinyatakan cocok.
vi
IMPLEMENTATION OF LEVENSTEIN DISTANCE ALGORITHM AND KNUTT MORRIS PRATT ALGORITHM IN WORD
COMPLETION FEATURE ON SEARCH ENGINE
ABSTRACT
Search engines are computer programs designed to help a person find the files stored in the computer . With the search engine every person can easily obtain the desired information. Development of Internet technology and innovation to encourage the emergence of the latest features to enhance the user experience and ease in navigating cyberspace. The feature is called word completion . Word completion features provide a new experience and convenience for users to obtain the information . Results from this study using two algorithms is that the Levenstein Distance is used repair word by way of substitution , elimination, addition and Knuth Morris Pratt search for words by shifting the string to the right hand until the word is declared fit .
Keyword : Levenstein Distance Algorithm, Knuth-Morris-Pratt Algorithm, Word Completion, Search Engine, String
DAFTAR ISI 2.2.7 Algoritma Knuth-Morris-Pratt (KMP) StringMatching16
viii
4.1.1 Operasi Penghapusan 45 4.1.2 Operasi Penyisipan 45 4.1.3 Operasi Penukaran 46 4.1.3.1 Potongan Program Algoritma LD 46 4.1.3.2 Potongan Program Algoritma KMP 49 4.1.4 Perhitungan Manual Pencarian Kata Algoritma LD
Dan Algoritma KMP 50
4.2 Antar Muka Pengguna (User Interface) 54 4.2.1 Halaman Awal User 54 4.2.2 Halaman Hasil Pencarian Kata Algoritma LD 55 4.2.3 Halaman Hasil Pencarian Kata Algoritma KMP 55 4.2.4 Halaman Tambah Kata 56
4.2.5 Halaman Bantuan 57
4.3 Pengujian Sistem 57 4.3.1 Pengujian Sistem Menggunakan Sampel Data
Kamus Bahasa Sunda 57 4.3.2 Pengujian Sistem Menggunakan Sampel Data
Kamus Bahasa Batak 62 4.3.3 Pengujian Sistem Menggunakan Sampel Data
Istilah Perpustakaan 64 4.3.4 Pengujian Interface Sistem 66 4.3.5 Pengujian Fungsi Dasar Sistem 67 4.3.6 Pengujian Validasi Input kata pada algoritma LD
x
DAFTAR GAMBAR
Hal. Gambar 3.1 Diagram Ishikawa Untuk Analisis Masalah 24 Gambar 3.2 Use Case Diagram Sistem 26 Gambar 3.3 Activity Diagram 28
Gambar 3.4 Squence Diagram 30
Gambar 3.5 Pseudocode Algoritma Levenstein Distance 32 Gambar 3.6 Pseudocode Algoritma Knuth Morris Pratt 35
Gambar 3.7 Flowchart Sistem 36
Gambar 3.8 Rancangan halaman awal User 37 Gambar 3.9 Rancangan halaman hasil saran Levestein Distance 38 Gambar 3.10 Rancangan Hasil Saran Untuk KMP 39 Gambar 3.11 Rancangan Halaman Tambah Kata 40 Gambar 3.13 Rancangan Halaman Tentang 41 Gambar 3.14 Rancangan Halaman Bantuan 42
Gambar 4.1 Halaman Awal User 54
Gambar 4.2 Halaman Hasil Pencarian Kata Algoritma Levenstein Distance 55 Gambar 4.3 Halaman Hasil Pencarian Kata KMP 56 Gambar 4.9 Pergeseran String Knuth Morris Pratt 61 Gambar 4.10 Hasil Pengujian II LD Dan KMP Pada Bahasa Batak 63 Gambar 4.11 Hasil Pengujian III LD Dan KMP Pada Istilah Perpustakaan 65
DAFTAR TABEL
Hal. TABEL 2.1 Tabel Matriks Perhitungan Edit distance 9 TABEL 2.2 Fungsi Tabel Pinggiran Untuk abcd 18 TABEL 3.1 Tabel Use Case Proses Pencarian Kata 27 TABEL 3.2 Keterangan Bagian-Bagian Halaman Utama 29 TABEL 3.3 Sampel Data Kamus Bahasa Sunda 30 TABEL 3.4 Keterangan Rancangan Halaman Awal User 38 TABEL 3.5 Keterangan Rancangan Hasil Saran Levenstein Distance 39 TABEL 3.6 Keterangan Rancangan Hasil Saran Knuth Morris Pratt 40
TABEL 3.7 Rancangan Tambah Kata 41
TABEL 3.8 Keterangan Rancangan Halaman Tentang 42 TABEL 3.9 Keterangan Rancangan Halaman Bantuan 43 TABEL 4.1 Hitung Manual Algoritma Levenstein Distance 50 TABEL 4.2 Hitung Manual Algoritma Levenstein Distance 51 TABEL 4.3 Sampel Data Kamus Bahasa Sunda 58 TABEL 4.4 Hasil Distance Kata Pada Algoritma Levenstein Distance
dalam Kamus Bahasa Sunda 59 TABEL 4.5 Hasil Pergeseran String Kata Pada Algoritma Knuth Morris
Pratt dalam Kamus Bahasa Sunda 61
TABEL 4.6 Sampel Data Kamus Bahasa Batak 62 TABEL 4.7 Sampel Data Istilah Perpusatakaan 64 TABEL 4.8 Hasil Pengujian Interface Sistem 66 TABEL 4.9 Hasil Pengujian Fungsi Dasar Sistem 67 TABEL 4.10 Pengujian Black Box Testing Input Kata Pada Algoritma Levenstein