Perbandingan Algoritma Knuth Morris Pratt dan Boyer Moore pada Aplikasi Kamus Bahasa Indonesia-Korea Berbasis Android

PERBANDINGAN ALGORITMA KNUTH MORRIS PRATT DAN BOYER
MOORE PADA APLIKASI KAMUS BAHASA INDONESIA-KOREA
BERBASIS ANDROID

SKRIPSI

VICI INDAH YANA
121401062

PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
2016

PERBANDINGAN ALGORITMA KNUTH MORRIS PRATT DAN BOYER
MOORE PADA APLIKASI KAMUS BAHASA INDONESIA-KOREA
BERBASIS ANDROID

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

ii

PERSETUJUAN

Judul

Kategori
Nama
Nomor Induk Mahasiswa

Program Studi
Departemen
Fakultas

: PERBANDINGAN ALGORITMA KNUTH MORRIS
PRATT DAN BOYER MOORE PADA APLIKASI
KAMUS BAHASA INDONESIA-KOREA
BERBASIS ANDROID
: SKRIPSI
: VICI INDAH YANA
: 121401062
: SARJANA (S1) ILMU KOMPUTER
: ILMU KOMPUTER
: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Diluluskan di
Medan,

Komisi Pembimbing


2016

:

Pembimbing 2

Pembimbing 1

Maya Silvi Lydia, B.Sc, M.Sc
NIP. 19740127 200212 2 001

Dr. Poltak Sihombing, M.Kom
NIP. 19620317 199103 1 001

Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,

Dr. Poltak Sihombing, M.Kom
NIP. 196203171991031001


iii

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,

Vici Indah Yana
121401062

2016


iv

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

v

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,

Vici Indah Yana

vi

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.

vii

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.

viii

DAFTAR ISI

Halaman


Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
Daftar Lampiran

ii
iii
iv
vi
vii
viii
x
xi
xii

Bab 1 Pendahuluan
1.1 Latar Belakang
1.2 Perumusan Masalah
1.3 Ruang Lingkup Penelitian
1.4 Tujuan Penelitian
1.5 Manfaat Penelitian
1.6 Metode Penelitian
1.7 Sistematika Penulisan

1
3
3
3
4
4
5

Bab 2 Landasan Teori
2.1 Definisi Kamus
2.2 Definisi Algoritma
2.2.1 Algoritma String Matching (pencocokan kata)
2.2.1.1 Algoritma Knuth Morris Pratt
2.2.1.2 Algoritma Boyer Moore
2.2.1.2.1 Suffix
2.2.1.2.2 Good-Suffix Shift (Match Heuristic)
2.2.1.2.3 Bad-Character Shift (Occurance Heuristic)
2.3 Definisi Kompleksitas Algoritma
2.4 Definisi Android
2.5 Penelitian yang Relevan

7
7
7
8
13
13
14
16
19
20
21

Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem
3.1.1 Analisis Masalah
3.1.2 Analisis Persyaratan
3.1.2.1 Persyaratan Fungsional
3.1.2.2 Persyaratan Non-Fungsional
3.2. Pemodelan
3.2.1 Use Case Diagram

23
23
24
25
25
26
26

ix

3.2.2 Activity Diagram
3.2.3 Sequance Diagram
3.3 Pseudocode
3.3.1 Pseudocode Algoritma Knuth Morris Pratt
3.3.2 Pseudocode Algoritma Boyer Moore
3.4 Flowchart
3.5 Perancangan Antarmuka Sistem (Interface)
3.5.1 Rancangan Halaman Splash Screen
3.5.2 Rancangan Navigation Drawer
3.5.3 Rancangan Halaman Beranda
3.5.4 Rancangan Halaman Pencarian
3.5.5 Rancangan Halaman Fitur
3.5.6 Rancangan Halaman Bantuan
3.5.7 Rancangan Halaman Tentang
3.5.8 Rancangan Halaman Keluar

29
30
31
31
32
34
37
37
38
39
39
43
43
44
45

Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi
4.1.1 Tampilan Halaman Splash Screen
4.1.2 Tampilan Navigation Drawer
4.1.3 Tampilan Halaman Beranda
4.1.4 Tampilan Halaman Pencarian
4.1.5 Tampilan Halaman Fitur
4.1.6 Tampilan Halaman Bantuan
4.1.7 Tampilan Halaman Tentang
4.1.8 Tampilan Halaman Keluar
4.2 Pengujian Sistem
4.2.1 Pengujian pencarian kata pada Kamus Bahasa Indonesia-Korea
dengan Algoritma Knuth Morris Pratt
4.2.2 Pengujian pencarian kata pada Kamus Bahasa Indonesia-Korea
dengan Algoritma Boyer Moore
4.3 Hasil Pengujian
4.4 Kompleksitas Algoritma
4.4.1 Kompleksitas Algoritma Knuth Morris Pratt
4.4.2 Kompleksitas Algoritma Boyer Moore

59
65
68
68
71

Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan
5.2. Saran

76
77

Daftar Pustaka

78

47
47
48
48
49
50
51
51
52
53
53

x

DAFTAR TABEL

Nomor
Tabel
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

Nama Tabel

Halaman

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 preBmGs Algoritma 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

xi

DAFTAR GAMBAR

Nomor
Gambar
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

Nama Gambar

Halaman

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

xii

DAFTAR LAMPIRAN

Halaman
A. Listing Program
B. Daftar Riwayat Hidup

A-1
B-1