IMPLEMENTASI ALGORITMA LEVENSHTEIN DISTANCE DAN ALGORITMA KNUTH-MORRIS-PRATT (KMP) DALAM FITUR WORD COMPLETION PADA SEARCH ENGINE SKRIPSI RYAN DHIKA PRIYATNA 131421064
IMPLEMENTASI ALGORITMA LEVENSHTEIN DISTANCE DAN ALGORITMA
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
IMPLEMENTASI ALGORITMA LEVENSHTEIN DISTANCE DAN ALGORITMA KNUTH-MORRIS-PRATT (KMP) DALAM FITUR
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, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
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.
7. Ayahanda Ir. H .M.Joni Priyatna dan Ibunda Astrida Rani Fauliza yang telah banyak memberikan kasih sayang, semangat, serta dorongan dan dukungan kepada penulis.
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.
Kata Kunci : Algoritma Levenstein Distance, Algoritma Knuth-Morris-Pratt,
Word Completion, Search Engine, String
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
Hal.PERSETUJUAN ii
PERNYATAAN iii
PENGHARGAAN iv
ABSTRAK vi
DAFTAR ISI viii
DAFTAR TABEL x
DAFTAR GAMBAR xi
BAB 1 Pendahuluan
1
1.1 Latar Belakang
1
1.2 Rumusan Masalah
2
1.3 Batasan Ruang Lingkup Penelitian
2
1.4 Tujuan Penelitian
3
1.5 Manfaat Penelitian
3
1.6 Metodologi Penelitian
3
1.7 Sistematika Penulisan
4 BAB 2 Landasan Teori
6
2.1 Defenisi Algoritma
6
2.1.1 Algoritma
6
2.2 String
7
2.2.1 String Matching
7
2.2.2 Levenshtein Distance
8
2.2.3 Operasi Penghapusan
9
2.2.4 Operasi Penyisipan
10
2.2.5 Operasi Penukaran
11
2.2.6 Algoritma Knuth-Morris-Pratt (KMP)
11
2.2.7 Algoritma Knuth-Morris-Pratt (KMP) String Matching16
2.2.8 Fungsi Pinggiran
17
2.2.9 Fungsi Pembanding String
19
2.2.10 Klasifikasi Pencocokan String
21
2.3 Penelitian yang Relevan
23 BAB 3 Analisis dan Perancangan Sistem
24
3.1 Analisis Masalah
25
3.2 Analisis Persyaratan
25
3.2.1 Persyaratan Fungsional
25
3.2.2 Persyaratan Nonfungsional
25
3.3 Pemodelan Sistem
26
3.3.1 Use Case Diagram
26
3.3.2 Activity Diagram
28
3.3.3 Sequence Diagram
29
3.4 Analisis Data
31
3.5 Analisis Pencarian Fitur Word Completion
31
3.5.1 Cara Kerja Pencarian String Algoritma LD dan KMP 32
3.5.2 Pseudocode Algoritma LD
33
3.5.3 Analisis Algoritma KMP pada fitur Word Completion 34
3.5.4 Cara Kerja Algoritma KMP pada fitur Word Completion
35
3.5.5 Pseudocode Algoritma KMP
36
3.6 Perancangan Sistem
36
3.6.1 Flowchart Sistem
37
3.7 Perancangan Antar Muka (Interface)
38
3.7.1 Rancangan Halaman Awal User
38
3.7.2 Rancangan Halaman Hasil Saran LD
39
3.7.3 Rancangan Halaman Hasil Saran KMP
40
3.7.4 Rancangan Halaman Tambah Kata
41
3.7.5 Rancangan Halaman Tentang
42
3.7.6 Rancangan Halaman Bantuan
43 BAB 4 Implementasi dan Pengujian
44
4.1 Implementasi
44
4.1.1 Operasi Penghapusan
4.3.4 Pengujian Interface Sistem
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
66
4.2.5 Halaman Bantuan
4.3.5 Pengujian Fungsi Dasar Sistem
67
4.3.6 Pengujian Validasi Input kata pada algoritma LD Dan algoritma KMP
67 BAB 5 Kesimpulan dan Saran
69
5.1 Kesimpulan
69
5.2 Saran
57
56
45
4.1.4 Perhitungan Manual Pencarian Kata Algoritma LD Dan Algoritma KMP
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
50
4.2.4 Halaman Tambah Kata
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
69 DAFTAR PUSTAKA LAMPIRAN
DAFTAR GAMBAR
Hal.41 Gambar 3.14 Rancangan Halaman Bantuan
63 Gambar 4.11 Hasil Pengujian III LD Dan KMP Pada Istilah Perpustakaan
61 Gambar 4.10 Hasil Pengujian II LD Dan KMP Pada Bahasa Batak
60 Gambar 4.9 Pergeseran String Knuth Morris Pratt
60 Gambar 4.8 Pengujian KMP Pada Kamus Bahasa Sunda
59 Gambar 4.7 Pergeseran String Levenstein Distance
57 Gambar 4.6 Pengujian Levenstein Distance
56 Gambar 4.5 Halaman Bantuan
56 Gambar 4.4 Halaman Tambah Kata
55 Gambar 4.3 Halaman Hasil Pencarian Kata KMP
54 Gambar 4.2 Halaman Hasil Pencarian Kata Algoritma Levenstein Distance
42 Gambar 4.1 Halaman Awal User
40 Gambar 3.13 Rancangan Halaman Tentang
Gambar 3.1 Diagram Ishikawa Untuk Analisis Masalah39 Gambar 3.11 Rancangan Halaman Tambah Kata
38 Gambar 3.10 Rancangan Hasil Saran Untuk KMP
37 Gambar 3.9 Rancangan halaman hasil saran Levestein Distance
36 Gambar 3.8 Rancangan halaman awal User
35 Gambar 3.7 Flowchart Sistem
32 Gambar 3.6 Pseudocode Algoritma Knuth Morris Pratt
30 Gambar 3.5 Pseudocode Algoritma Levenstein Distance
28 Gambar 3.4 Squence Diagram
Diagram
Activity
26 Gambar 3.3
24 Gambar 3.2 Use Case Diagram Sistem
65
DAFTAR TABEL
Hal.50 TABEL 4.2 Hitung Manual Algoritma Levenstein Distance
67 TABEL 4.10 Pengujian Black Box Testing Input Kata Pada Algoritma Levenstein Distance Dan Algoritma Knuth Morris Pratt
66 TABEL 4.9 Hasil Pengujian Fungsi Dasar Sistem
64 TABEL 4.8 Hasil Pengujian Interface Sistem
62 TABEL 4.7 Sampel Data Istilah Perpusatakaan
61 TABEL 4.6 Sampel Data Kamus Bahasa Batak
Pratt dalam Kamus Bahasa Sunda
59 TABEL 4.5 Hasil Pergeseran String Kata Pada Algoritma Knuth Morris
58 TABEL 4.4 Hasil Distance Kata Pada Algoritma Levenstein Distance dalam Kamus Bahasa Sunda
51 TABEL 4.3 Sampel Data Kamus Bahasa Sunda
43 TABEL 4.1 Hitung Manual Algoritma Levenstein Distance
TABEL 2.1 Tabel Matriks Perhitungan Edit distance42 TABEL 3.9 Keterangan Rancangan Halaman Bantuan
41 TABEL 3.8 Keterangan Rancangan Halaman Tentang
40 TABEL 3.7 Rancangan Tambah Kata
TABEL 3.6 Keterangan Rancangan Hasil Saran Knuth Morris Pratt38 TABEL 3.5 Keterangan Rancangan Hasil Saran Levenstein Distance 39
30 TABEL 3.4 Keterangan Rancangan Halaman Awal User
29 TABEL 3.3 Sampel Data Kamus Bahasa Sunda
27 TABEL 3.2 Keterangan Bagian-Bagian Halaman Utama
18 TABEL 3.1 Tabel Use Case Proses Pencarian Kata
9 TABEL 2.2 Fungsi Tabel Pinggiran Untuk abcd
67