BERBASIS ANDROID
SKRIPSI
VICI INDAH YANA 121401062
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh gelar Sarjana Komputer
VICI INDAH YANA 121401062
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2016
PERSETUJUAN
Judul : PERBANDINGAN ALGORITMA KNUTH MORRIS
PRATT DAN BOYER MOORE PADA APLIKASI KAMUS BAHASA INDONESIA-KOREA
BERBASIS ANDROID
Kategori : SKRIPSI
Nama : VICI INDAH YANA
Nomor Induk Mahasiswa : 121401062
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Diluluskan di
Medan, 2016
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Maya Silvi Lydia, B.Sc, M.Sc Dr. Poltak Sihombing, M.Kom NIP. 19740127 200212 2 001 NIP. 19620317 199103 1 001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
PERNYATAAN
PERBANDINGAN ALGORITMA KNUTH MORRIS PRATT DAN BOYER MOORE PADA APLIKASI KAMUS BAHASA INDONESIA-KOREA
BERBASIS ANDROID
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 2016
Vici Indah Yana 121401062
PENGHARGAAN
Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Perbandingan Algoritma Knuth Morris Pratt dan Boyer-Moore pada Aplikasi Kamus Bahasa Indonesia-Korea berbasis Android, 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. Dr. Runtung Sitepu, SH, M.Hum selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc 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 Universitas Sumatera Utara dan selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
5. Bapak Prof. Dr. Iryanto, M.Si selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
6. Bapak Ade Candra, S.T, M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
7. Bapak M.Andri Budiman, ST, M.Comp. Sc, M.E.M dan Ibu Dian Rachmawati, S.Si, M.Kom yang telah memberikan ilmu bermanfaat kepada penulis dalam pengerjaan skripsi ini
8. Wakil Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar, seluruh staff
akademik serta pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
9. Ayahanda Gama Solihin dan Ibunda Elfina Septi, yang selalu memberikan doa dan dukungan serta kasih sayang kepada penulis, Adik tersayang Ega yang terus memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan skripsi ini.
10.Teman-teman kuliah, kepada Akhiruddin, Novi, Ricky, Rizky, Ila, Nurmardiah, Novita, Boris, Siti, Evelin, Neno, Dian, Ica, Zahra, Arif Maulana dan seluruh anak Kom B yang tidak bisa disebutkan satu-persatu, yang telah berbagi suka dan duka, semangat dan dorongan sehingga penulis dapat menyelesaikan skripsi ini.
11.Teman-teman stambuk 2012 dan para Senior 2010 - 2011 yang telah banyak membagi ilmu dan membantu pengerjaan skripsi ini
12.Teman-teman belajar bahasa korea, kepada Achmad Gadavi, Cici Henny Mauliza yang telah membantu penulis untuk mempelajari bahasa Korea pada pengerjaan skripsi ini
13.Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan satu-persatu.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, 2016 Penulis,
ABSTRAK
Penelitian ini membahas tentang bagaimana melakukan pencarian kata pada Kamus Bahasa Asing dengan menggunakan Algoritma pencocokan kata. Penelitian ini bertujuan untuk mengetahui Algoritma yang lebih baik diantara Algoritma Knuth Morris Pratt dan Algoritma Boyer Moore untuk proses pencocokan kata. Pencocokan kata merupakan bagian penting dari sebuah proses pencarian kata dalam sebuah dokumen. Algoritma pencocokan kata yang digunakan dalam penelitian ini adalah Algoritma Knuth Morris Pratt dan Boyer Moore. Algoritma Knuth Morris Pratt melakukan perbandingan teks dan pola dimulai dari kiri ke kanan sedangkan Algoritma Boyer Moore melakukan perbandingan teks dan pola dimulai dari kanan ke kiri, tetapi pergeseran window tetap dari kiri ke kanan. Hasil dari penelitian ini menunjukkan bahwa Algoritma Knuth Morris Pratt lebih cepat dibandingkan Algoritma Boyer Moore untuk proses pencarian kata. Hasil rata-rata Running Time Algoritma Knuth Morris Pratt adalah 132.1 ms dan Algoritma Boyer Moore adalah 134.6 ms.
Kata kunci : Pencocokan kata, Algoritma Knuth Morris Pratt, Algoritma Boyer Moore.
THE COMPARISON BETWEEN KNUTH MORRIS PRATT
ALGORITHM AND BOYER MOORE ALGORITHM IN INDONESIAN - KOREAN DICTIONARY APPLICATION ON ANDROID
ABSTRACT
This research discusses about how to do a word searching in foreign language dictionary using string matching algorithm. This research is aimed to know which algorithm is better between Knuth Morrish Pratt algorithm and Boyer Moore algorithm in string matching process. String matching is an important parts of string searching process in a document. String matching algorithm that is used in this research are Knuth Morris Pratt algorithm and Boyer Moore algorithm. Knuth Morris Pratt algorithm performs the comparisons of the text and the pattern from left to right. Whereas Boyer Moore algorithm performs the comparisons of the text and the pattern from right to left, but the shifting of the window remains from left to right.The result of this research shows that Knuth Morris Pratt algorithm is faster than Boyer Moore algorithm in word searching process. The running time average of Knuth Morris Pratt algorithm is 132.1 ms and Boyer Moore algorithm is 134.6 ms
Keywords: String Matching, Knuth Morris Pratt Algorithm, Boyer Moore Algorithm.
DAFTAR ISI Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak vi Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xii
Bab 1 Pendahuluan
1.1Latar Belakang 1
1.2Perumusan Masalah 3
1.3Ruang Lingkup Penelitian 3
1.4Tujuan Penelitian 3
1.5Manfaat Penelitian 4
1.6Metode Penelitian 4
1.7Sistematika Penulisan 5
Bab 2 Landasan Teori
2.1 Definisi Kamus 7
2.2 Definisi Algoritma 7
2.2.1 Algoritma String Matching (pencocokan kata) 7
2.2.1.1 Algoritma Knuth Morris Pratt 8
2.2.1.2 Algoritma Boyer Moore 13
2.2.1.2.1 Suffix 13
2.2.1.2.2 Good-Suffix Shift (Match Heuristic) 14 2.2.1.2.3 Bad-Character Shift (Occurance Heuristic) 16
2.3 Definisi Kompleksitas Algoritma 19
2.4 Definisi Android 20
2.5 Penelitian yang Relevan 21
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 23 3.1.1 Analisis Masalah 23 3.1.2 Analisis Persyaratan 24 3.1.2.1 Persyaratan Fungsional 25 3.1.2.2 Persyaratan Non-Fungsional 25 3.2. Pemodelan 26
3.2.2 Activity Diagram 29
3.2.3 Sequance Diagram 30
3.3 Pseudocode 31
3.3.1 Pseudocode Algoritma Knuth Morris Pratt 31 3.3.2 Pseudocode Algoritma Boyer Moore 32
3.4 Flowchart 34
3.5 Perancangan Antarmuka Sistem (Interface) 37
3.5.1 Rancangan Halaman Splash Screen 37
3.5.2 Rancangan Navigation Drawer 38
3.5.3 Rancangan Halaman Beranda 39
3.5.4 Rancangan Halaman Pencarian 39
3.5.5 Rancangan Halaman Fitur 43
3.5.6 Rancangan Halaman Bantuan 43
3.5.7 Rancangan Halaman Tentang 44
3.5.8 Rancangan Halaman Keluar 45
Bab 4 Implementasi dan Pengujian Sistem
4.1Implementasi 47
4.1.1 Tampilan Halaman Splash Screen 47
4.1.2 Tampilan Navigation Drawer 48
4.1.3 Tampilan Halaman Beranda 48
4.1.4 Tampilan Halaman Pencarian 49
4.1.5 Tampilan Halaman Fitur 50
4.1.6 Tampilan Halaman Bantuan 51
4.1.7 Tampilan Halaman Tentang 51
4.1.8 Tampilan Halaman Keluar 52
4.2 Pengujian Sistem 53
4.2.1 Pengujian pencarian kata pada Kamus Bahasa Indonesia-Korea dengan Algoritma Knuth Morris Pratt 53 4.2.2 Pengujian pencarian kata pada Kamus Bahasa Indonesia-Korea
dengan Algoritma Boyer Moore 59
4.3 Hasil Pengujian 65
4.4 Kompleksitas Algoritma 68
4.4.1 Kompleksitas Algoritma Knuth Morris Pratt 68
4.4.2 Kompleksitas Algoritma Boyer Moore 71
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 76
5.2. Saran 77
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1 2.2 2.3 2.4 2.5 2.6 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28
Hasil Perhitungan kmpNext[i] dan shift[i]
Hasil Perhitungan Suffix
Hasil Perhitungan bmGs
Hasil Perhitungan bmBc
Pergeseran karakter untuk bmBc
Pergeseran posisi untuk bmGs
Use Case Proses Menentukan tipe terjemahan
Use Case Proses Input kata
Use Case Proses Algoritma Knuth Morris Pratt
Use Case Proses Algoritma Boyer Moore
Pseudecode preKmp Pseudecode KMP Pseudecode suffix Pseudecode bmGs Pseudecode bmBc Pseudecode BM
Hasil Pencarian kata “a” dengan Algoritma Knuth Morris Pratt
Hasil Pencarian kata “an” dengan Algoritma Knuth Morris Pratt
Hasil Pencarian kata “ma” dengan Algoritma Knuth Morris Pratt
Hasil Pencarian kata “perempuan” dengan Algoritma Knuth Morris Pratt
Hasil Pencarian kata “komput” dengan Algoritma Knuth Morris Pratt
Hasil Pencarian kata “ch” dengan Algoritma Knuth Morris Pratt
Hasil Pencarian kata “imnida” dengan Algoritma Knuth Morris Pratt
Hasil Pencarian kata “keopyuteogong” dengan Algoritma Knuth Morris Pratt
Hasil Pencarian kata “xy” dengan Algoritma Knuth Morris Pratt
Hasil Pencarian kata “samuso” dengan Algoritma Knuth Morris Pratt
Hasil Pencarian kata “a” dengan Algoritma Boyer Moore
Hasil Pencarian kata “an” dengan Algoritma Boyer Moore
Hasil Pencarian kata “ma” dengan Algoritma Boyer Moore
Hasil Pencarian kata “perempuan” dengan Algoritma Boyer Moore
Hasil Pencarian kata “komput” dengan Algoritma Boyer Moore
Hasil Pencarian kata “ch” dengan Algoritma Boyer Moore
Hasil Pencarian kata “imnida” dengan Algoritma Boyer Moore
Hasil Pencarian kata “keopyuteogong” dengan Algoritma Boyer Moore
Hasil Pencarian kata “xy” dengan Algoritma Boyer Moore
Hasil Pencarian kata “samuso” dengan Algoritma Boyer Moore
Hasil Pengujian Algoritma Knuth Morris Pratt
Hasil Pengujian Algoritma Boyer Moore
Kompleksitas fungsi preKmp Algoritma Knuth Morris Pratt
Kompleksitas fungsi KMP Algoritma Knuth Morris Pratt
Kompleksitas fungsi preBmBc Algoritma Boyer Moore
Kompleksitas fungsi suffixes Algoritma Boyer Moore
Kompleksitas fungsi preBmGsAlgoritma Boyer Moore
Kompleksitas fungsi BM Algoritma Boyer Moore
9 14 15 17 18 18 27 27 28 28 31 31 32 32 33 33 53 54 54 55 55 56 56 57 57 58 59 60 60 61 61 62 62 63 63 64 65 66 68 69 71 71 72 73
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 13.16 13.17 13.18 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 Diagram Ishikawa
Use Case Diagram Sistem Activity Diagram Sistem Sequence Diagram Sistem
Flowchart Gambaran Umum Sistem Kamus Flowchart Algoritma Knuth Morris Pratt Flowchart Algoritma Boyer Moore Rancangan Splash Screen
Rancangan Navigation Drawer Rancangan Beranda
Rancangan Pencarian Rancangan Hasil Pencarian
Rancangan Alert dialog Terjemahan Rancangan Alert dialog Hasil Rancangan Fitur
Rancangan Bantuan Rancangan Tentang Rancangan Keluar Halaman Splash Screen Halaman Navigation Drawer Halaman Beranda
Halaman Pencarian Alert dialog Hasil Alert dialog Terjemahan Halaman Fitur
Halaman Bantuan Halaman Tentang Halaman Keluar
Perbandingan hasil Running Time Algoritma Knuth Morris Pratt dan Algoritma Boyer Moore
Perbandingan total Running Time Algoritma Knuth Morris Pratt dan Algoritma Boyer Moore
24 26 29 30 34 35 36 37 38 39 40 41 42 42 43 44 45 45 47 48 48 49 49 50 50 51 51 52 67 67
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1