Perbandingan Algoritma Morris - Pratt dan Algoritma Horspool Pada Aplikasi Kamus Istilah Telekomunikasi Berbasis Android
PERBANDINGAN ALGORITMA MORRIS - PRATT DAN ALGORITMA
HORSPOOL PADA APLIKASI KAMUS ISTILAH
TELEKOMUNIKASI BERBASIS ANDROID
SKRIPSI
LAURA ANGELINA HASIBUAN
131401047
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017
1
Universitas Sumatera Utara
ii
PERBANDINGAN ALGORITMA MORRIS - PRATT DAN ALGORITMA
HORSPOOL PADA APLIKASI KAMUS ISTILAH
TELEKOMUNIKASI BERBASIS ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer
LAURA ANGELINA HASIBUAN
131401047
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
: PERBANDINGAN ALGORITMA MORRIS – PRATT
DAN ALGORITMA HORSPOOL PADA APLIKASI
KAMUS ISTILAH TELEKOMUNIKASI BERBASIS
ANDROID
Kategori
: SKRIPSI
Nama
: LAURA ANGELINA HASIBUAN
Nomor Induk Mahasiswa : 131401047
Program Studi
: SARJANA (S-1) ILMU KOMPUTER
Departemen
: ILMU KOMPUTER
Fakultas
: FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan,
Juli 2017
Komisi Pembimbing :
Pembimbing 2
Pembimbing 1
Herriyance, S.T., M.Kom
Dr. Poltak Sihombing, M.Kom.
NIP. 198010242010121002
NIP. 196203171991031001
Diketahi/disetujui oleh
Program Studi S-1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M.Kom.
NIP. 196203171991031001
Universitas Sumatera Utara
iii
PERNYATAAN
PERBANDINGAN ALGORITMA MORRIS - PRATT DAN ALGORITMA
HORSPOOL PADA APLIKASI KAMUS ISTILAH
TELEKOMUNIKASI BERBASIS ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing – masing telah disebutkan sumbernya.
Medan, 12 Juni 2017
Laura Angelina Hasibuan
131401047
Universitas Sumatera Utara
iv
UCAPAN TERIMA KASIH
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa yang telah
memberikan rahmat dan berkat-Nya, sehingga penulis dapat menyelesaikan
penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer
pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
Penulis ingin menyampaikan rasa hormat dan terima kasih yang
sebesar–besarnya kepada :
1. Bapak Prof. Dr. Runtung Sitepu, S.H., 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 Dosen Pembimbing I yang telah
memberikan
bimbingan,
kritik
,
saran
dan
dukungan
dalam
penyempurnaan skripsi ini.
4. Bapak Herriyance, S.T., M.Kom selaku Dosen Pembimbing II yang telah
memberikan bimbingan, saran, dan masukan kepada penulis dalam
pengerjaan skripsi ini.
5. Ibu Dr. Elviawaty Muisa Zamzami, ST, MT, MM selaku Dosen
Pembanding I yang memberikan kritik dan saran untuk penyempurnaan
skripsi ini
6. Bapak M. Andri Budiman, S.T.,M.Comp.Sc.M.E.M selaku Dosen
Pembanding II yang memberikan kritik dan saran untuk penyempurnaan
skripsi ini.
7. Seluruh tenaga pengajar dan pegawai Program Studi S1 Ilmu Komputer
Fasilkom-TI USU .
8. Ayahanda Edison Hasibuan dan Ibunda Linda Sinambela yang selalu
memberikan doa dan dukungan serta kasih sayang kepada penulis, serta
adik tersayang Erik Robson Hasibuan, Emerson Elbano Hasibuan, Lolita
Angelista Hasibuan, dan
Ladyska Angela
Hasibuan
yang terus
memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan
skripsi ini.
Universitas Sumatera Utara
v
9. Sahabat penulis, IOTA (Agustin Sri Intan Sinaga, S.Kom, Yuni M.K
Nainggolan, S.Kom, Evi P. Marpaung, Endang Pranata Tambunan, dan
Hanna Saraswaty Manullang) yang telah banyak memberikan doa,
dukungan dan semangat selama proses menyelesaikan skripsi ini.
10. Kelompok Tumbuh Bersama Chara Charisse (Evi dan Agustin) dan
Hosana (Exa, Daniel, Ezra, Adit) serta PKK yaitu Erwin Sinaga yang telah
mendukung dalam doa maupun semangat dalam penyelesaian skripsi ini.
11. Keluarga KMKI yang telah banyak memberikan doa dan semangat kepada
penulis dalam penyelesaian skripsi ini.
12. Teman – teman kuliah Ilmu Komputer Stambuk 2013 khususnya untuk
KOM B yang telah banyak memberikan motivasi dan semangat dalam
menyelesaikan skripsi ini.
13. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan
satu-persatu.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan
kepada penulis mendapatkan pahala yang melimpah dari Tuhan Yang Maha Esa
Medan, 20 Juli 2017
Penulis
Universitas Sumatera Utara
vi
ABSTRAK
Indonesia mengalami kemajuan teknologi yang cukup baik saat ini. Seiring
perkembangan teknologi di Indonesia ternyata banyak munculnya istilah –istilah
dalam telekomunikasi. Untuk dapat memahami istilah – istilah dalam telekomunikasi
tersebut, kamus dapat dijadikan sebagai acuan. Namun, kurangnya minat membaca
buku dalam masyarakat membuat kamus kurang diminati karena tidak praktis. Oleh
karena itu, di zaman canggih ini perlu untuk membuat aplikasi kamus berbasis android
ataupun web agar masyarakat semakin mudah memahami istilah – istilah
telekomunikasi secara praktis dengan menggunakan gadget. Dalam membuat aplikasi
kamus, string matching dapat diimplementasikan untuk proses pencarian katanya dan
tentunya setiap algoritma string matching memiliki keefektifan masing-masing dan
perlu dilakukan perbandingan algoritma untuk mengetahui algoritma yang efisien.
String matching memiliki beberapa algoritma, beberapa algoritmanya adalah
algoritma Morris- Pratt dan Horspool yang akan diimplementasikan pada aplikasi
kamus tersebut. Algoritma Morris - Pratt merupakan algoritma yang terdiri dari dua
fase yaitu fase preprocessing yang dilakukan fungsi pinggiran untuk menentukan
jumlah langkah pergeseran pattern terbesar dengan menggunakan perbandingan
sebelum pencarian string. Perbandingan karakter dilakukan dengan mencocokkan
pattern ke dalam teks yang dicari dari kiri ke kanan. Algoritma Horspool merupakan
algoritma yang melakukan dan menghitung nilai pergeseran bad-character dengan
melihat karakter paling kanan pada window. Hasil dari penelitian ini adalah algoritma
Morris-Pratt lebih efisien dari algoritma Horspool dan aplikasi dapat berjalan dengan
baik. Pada penelitian ini dapat diketahui bahwa saat proses pencarian, total rata-rata
running time untuk algoritma Morris - Pratt adalah 46,6 ms dan algoritma Horspool
adalah 50,5 ms.
Kata Kunci : String Matching, Android, Morris - Pratt, Horspool.
Universitas Sumatera Utara
vii
COMPARISON OF MORRIS-PRATT ALGORITHM AND HORSPOOL
ALGORITHM ON TERM OF TELECOMMUNICATION
ANDROID BASED DICTIONARY APPLICATION
ABSTRACT
Indonesia has a good progress on technology today. Along with the development of
technology in Indonesia, there are many emergence of the term in telecommunication.
In order to understand the terms in the telecommunication, the dictionary may serve as
a reference. However, the lack of interest in reading books in society makes the
dictionary less desirable because it is not practical. Therefore, in advanced times it is
necessary to create a dictionary application based on android or web so that people
more easily understand the terms telecommunication terms practically by using
gadgets. In creating a dictionary application, string matching can be implemented for
the search process and of course, each string matching algorithm has its own
effectiveness and needs to be done comparison algorithm to find efficient algorithm.
String matching has several algorithms, some algorithms are Morris-Pratt and
Horspool algorithms that will be implemented in the dictionary application. Morris Pratt algorithm is an algorithm consisting of two phases preprocessing phase by
peripheral function to determine the largest number of step shifting pattern by using
comparison before string search. Character comparison is done by matching the
pattern into the text searched from left to right. Horspool algorithm is an algorithm
that performs and calculates the value of bad-character shift by looking at the
rightmost character in the window. The result of this research is the Morris-Pratt
algorithm is more efficient than Horspool algorithm and the application can run well.
In this study it can be seen that during the search process, the total running time for
the Morris - Pratt algorithm is 46.6 ms and the Horspool algorithm is 50.5 ms.
Keywords : String Matching, Android, Morris - Pratt, Horspool.
Universitas Sumatera Utara
viii
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.1 Latar Belakang
1
1.2 Rumusan Masalah
2
1.3 Batasan Masalah
3
1.4 Tujuan Penelitian
3
1.5 Manfaat Penelitian
3
1.6 Metode Penelitian
4
1.7 Sistematika Penelitian
5
Bab 2 Landasan Teori
2.1 Algoritma
6
2.2 Android
6
2.3 Pencocokan String (String Matching)
7
2.4 Algoritma Morris-Pratt
8
2.4.1 Fase Preprocessing
8
2.4.2 Fase Pencarian
8
2.5 Algoritma Horspool
9
2.5.1 Pencarian Dengan Algoritma Horspool
2.5.2 Tahap Pencarian
9
10
2.6 Notasi Asimptotik
11
2.6.1 Notasi O
11
2.6.2 Notasi Ω
11
2.6.2 Notasi Ө
12
Universitas Sumatera Utara
ix
2.7 Penelitian yang Relevan
12
Bab 3 Analisis dan Perancangan
3.1 Analisis Sistem
13
3.1.1 Analisis Masalah
13
3.1.2 Analisis Kebutuhan
14
3.1.3 Analisis Proses
16
3.2 Perancangan Sistem
16
3.2.1 General Arsitektur Perancangan Sistem
17
3.2.2 Use – Case Diagram
19
3.2.3 Activiy Diagram
22
3.2.4 Sequence Diagram
22
3.2.5 Pseudocode
23
3.2.6 Diagram Alir (Flowchart)
26
3.2.7 Perancangan Antarmuka (Interface)
30
Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi Sistem
34
4.1.1 Antarmuka Utama
34
4.1.2 Antarmuka Hasil Pencarian
36
4.1.3 Antarmuka Tentang (About)
37
4.1.4 Antarmuka Bantuan
38
4.2 Pengujian Sistem
39
4.2.1 Pengujian Pencarian Kata dengan Algoritma Morris-Pratt
39
4.2.2 Pengujian Pencarian Kata dengan Algoritma Horspool
44
4.2 Hasil Pengujian Sistem
48
4.2.1 Kompleksitas Algoritma Morris-Pratt
52
4.2.2 Kompleksitas Algoritma Horspool
54
Bab 5 Penutup
57
5.1 Kesimpulan
57
5.2 Saran
58
Daftar Pustaka
Lampiran
59
A-1
Universitas Sumatera Utara
x
DAFTAR TABEL
Nomor
Nama Tabel
Halaman
Tabel
3.1
Tabel skenario Use-case memilih algoritma pencarian
21
3.2
Tabel skenario Use-case masukkan kata
21
4.1
Nilai mpNext[i] untuk pattern HASIBUAN
39
4.2
Pengujian sistem pencocokan string dengan Algoritma Morris-
41
4.3
Pratt
44
4.4
Bad Match Praproses
45
4.5
Inisialisasi awal bad-match
45
4.6
Pembuatan bad-match
45
4.7
Iterasi algoritma Horspool pertama
46
Iterasi algoritma Horspool kedua
4.8
Pengujian sistem pencocokan string dengan algoritma Horspool
46
4.9
Hasil pengujian algoritma Morris-Pratt
49
4.10
Hasil pengujian algoritma Horspool
49
4.11
Hasil pengujian kata terpanjang
50
4.12
Hasil pengujian kata terpendek
50
4.13
Kompleksitas algoritma Morris-Pratt
53
4.14
Kompleksitas fungsi fase pencarian algortima Morris-Pratt
54
4.15
Kompleksitas funsi fase preprocessing algoritma Horspool
55
4.16
Kompleksitas fungsi pencarian algoritma Horspool
56
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Nomor
Gambar
Nama Gambar
Halaman
2.1
Pergeseran pada algoritma Morris-Pratt
9
3.1
Diagram Ishikawa
15
3.2
General Arsitektur Perancangan Sistem
17
3.3
Use-case Diagram
20
3.4
Activity Diagram
22
3.5
Sequence Diagram
23
3.6
Pseudocode Fase Pencarian Algoritma Morris-Pratt
24
3.7
Pseudocode Fase Pencarian Algoritma Horspool
25
3.8
Flowchart Gambaran Umum Sistem
26
3.9
Flowchart Algoritma Morris-Pratt
27
3.10
Flowchart Algoritma Horspool
28
3.11
Flowchart Sisem Pencarian Istilah dengan Algoritma Horspool
29
3.12
Halaman Utama Aplikasi Kamus
30
3.13
Antarmuka Hasil Pencarian
31
3.14
Halaman About
34
3.15
Menu Help
33
4.1
Tab Morris- Pratt
35
4.2
Tab Horspool
35
4.3
Antarmuka hasil pencarian ditemukan
36
4.4
Hasil pencarian tidak ditemukan
37
4.5
Menu About
37
4.6
Menu Help
38
4.7
Menu Source
38
4.8
Perbandingan hasil running rime algoritma Morris-Pratt &
51
Horspool
4.9
Perbandingan hasil running time pencarian kata terpanjang
51
4.10
Perbandingan hasil running time pencarian kata terpendek
52
Universitas Sumatera Utara
xii
DAFTAR LAMPIRAN
Lampiran 1
Listing Program
A-1
Lampiran 2
Curriculum Vitae
B-1
Universitas Sumatera Utara
HORSPOOL PADA APLIKASI KAMUS ISTILAH
TELEKOMUNIKASI BERBASIS ANDROID
SKRIPSI
LAURA ANGELINA HASIBUAN
131401047
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017
1
Universitas Sumatera Utara
ii
PERBANDINGAN ALGORITMA MORRIS - PRATT DAN ALGORITMA
HORSPOOL PADA APLIKASI KAMUS ISTILAH
TELEKOMUNIKASI BERBASIS ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer
LAURA ANGELINA HASIBUAN
131401047
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
: PERBANDINGAN ALGORITMA MORRIS – PRATT
DAN ALGORITMA HORSPOOL PADA APLIKASI
KAMUS ISTILAH TELEKOMUNIKASI BERBASIS
ANDROID
Kategori
: SKRIPSI
Nama
: LAURA ANGELINA HASIBUAN
Nomor Induk Mahasiswa : 131401047
Program Studi
: SARJANA (S-1) ILMU KOMPUTER
Departemen
: ILMU KOMPUTER
Fakultas
: FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan,
Juli 2017
Komisi Pembimbing :
Pembimbing 2
Pembimbing 1
Herriyance, S.T., M.Kom
Dr. Poltak Sihombing, M.Kom.
NIP. 198010242010121002
NIP. 196203171991031001
Diketahi/disetujui oleh
Program Studi S-1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M.Kom.
NIP. 196203171991031001
Universitas Sumatera Utara
iii
PERNYATAAN
PERBANDINGAN ALGORITMA MORRIS - PRATT DAN ALGORITMA
HORSPOOL PADA APLIKASI KAMUS ISTILAH
TELEKOMUNIKASI BERBASIS ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing – masing telah disebutkan sumbernya.
Medan, 12 Juni 2017
Laura Angelina Hasibuan
131401047
Universitas Sumatera Utara
iv
UCAPAN TERIMA KASIH
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa yang telah
memberikan rahmat dan berkat-Nya, sehingga penulis dapat menyelesaikan
penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer
pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
Penulis ingin menyampaikan rasa hormat dan terima kasih yang
sebesar–besarnya kepada :
1. Bapak Prof. Dr. Runtung Sitepu, S.H., 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 Dosen Pembimbing I yang telah
memberikan
bimbingan,
kritik
,
saran
dan
dukungan
dalam
penyempurnaan skripsi ini.
4. Bapak Herriyance, S.T., M.Kom selaku Dosen Pembimbing II yang telah
memberikan bimbingan, saran, dan masukan kepada penulis dalam
pengerjaan skripsi ini.
5. Ibu Dr. Elviawaty Muisa Zamzami, ST, MT, MM selaku Dosen
Pembanding I yang memberikan kritik dan saran untuk penyempurnaan
skripsi ini
6. Bapak M. Andri Budiman, S.T.,M.Comp.Sc.M.E.M selaku Dosen
Pembanding II yang memberikan kritik dan saran untuk penyempurnaan
skripsi ini.
7. Seluruh tenaga pengajar dan pegawai Program Studi S1 Ilmu Komputer
Fasilkom-TI USU .
8. Ayahanda Edison Hasibuan dan Ibunda Linda Sinambela yang selalu
memberikan doa dan dukungan serta kasih sayang kepada penulis, serta
adik tersayang Erik Robson Hasibuan, Emerson Elbano Hasibuan, Lolita
Angelista Hasibuan, dan
Ladyska Angela
Hasibuan
yang terus
memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan
skripsi ini.
Universitas Sumatera Utara
v
9. Sahabat penulis, IOTA (Agustin Sri Intan Sinaga, S.Kom, Yuni M.K
Nainggolan, S.Kom, Evi P. Marpaung, Endang Pranata Tambunan, dan
Hanna Saraswaty Manullang) yang telah banyak memberikan doa,
dukungan dan semangat selama proses menyelesaikan skripsi ini.
10. Kelompok Tumbuh Bersama Chara Charisse (Evi dan Agustin) dan
Hosana (Exa, Daniel, Ezra, Adit) serta PKK yaitu Erwin Sinaga yang telah
mendukung dalam doa maupun semangat dalam penyelesaian skripsi ini.
11. Keluarga KMKI yang telah banyak memberikan doa dan semangat kepada
penulis dalam penyelesaian skripsi ini.
12. Teman – teman kuliah Ilmu Komputer Stambuk 2013 khususnya untuk
KOM B yang telah banyak memberikan motivasi dan semangat dalam
menyelesaikan skripsi ini.
13. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan
satu-persatu.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan
kepada penulis mendapatkan pahala yang melimpah dari Tuhan Yang Maha Esa
Medan, 20 Juli 2017
Penulis
Universitas Sumatera Utara
vi
ABSTRAK
Indonesia mengalami kemajuan teknologi yang cukup baik saat ini. Seiring
perkembangan teknologi di Indonesia ternyata banyak munculnya istilah –istilah
dalam telekomunikasi. Untuk dapat memahami istilah – istilah dalam telekomunikasi
tersebut, kamus dapat dijadikan sebagai acuan. Namun, kurangnya minat membaca
buku dalam masyarakat membuat kamus kurang diminati karena tidak praktis. Oleh
karena itu, di zaman canggih ini perlu untuk membuat aplikasi kamus berbasis android
ataupun web agar masyarakat semakin mudah memahami istilah – istilah
telekomunikasi secara praktis dengan menggunakan gadget. Dalam membuat aplikasi
kamus, string matching dapat diimplementasikan untuk proses pencarian katanya dan
tentunya setiap algoritma string matching memiliki keefektifan masing-masing dan
perlu dilakukan perbandingan algoritma untuk mengetahui algoritma yang efisien.
String matching memiliki beberapa algoritma, beberapa algoritmanya adalah
algoritma Morris- Pratt dan Horspool yang akan diimplementasikan pada aplikasi
kamus tersebut. Algoritma Morris - Pratt merupakan algoritma yang terdiri dari dua
fase yaitu fase preprocessing yang dilakukan fungsi pinggiran untuk menentukan
jumlah langkah pergeseran pattern terbesar dengan menggunakan perbandingan
sebelum pencarian string. Perbandingan karakter dilakukan dengan mencocokkan
pattern ke dalam teks yang dicari dari kiri ke kanan. Algoritma Horspool merupakan
algoritma yang melakukan dan menghitung nilai pergeseran bad-character dengan
melihat karakter paling kanan pada window. Hasil dari penelitian ini adalah algoritma
Morris-Pratt lebih efisien dari algoritma Horspool dan aplikasi dapat berjalan dengan
baik. Pada penelitian ini dapat diketahui bahwa saat proses pencarian, total rata-rata
running time untuk algoritma Morris - Pratt adalah 46,6 ms dan algoritma Horspool
adalah 50,5 ms.
Kata Kunci : String Matching, Android, Morris - Pratt, Horspool.
Universitas Sumatera Utara
vii
COMPARISON OF MORRIS-PRATT ALGORITHM AND HORSPOOL
ALGORITHM ON TERM OF TELECOMMUNICATION
ANDROID BASED DICTIONARY APPLICATION
ABSTRACT
Indonesia has a good progress on technology today. Along with the development of
technology in Indonesia, there are many emergence of the term in telecommunication.
In order to understand the terms in the telecommunication, the dictionary may serve as
a reference. However, the lack of interest in reading books in society makes the
dictionary less desirable because it is not practical. Therefore, in advanced times it is
necessary to create a dictionary application based on android or web so that people
more easily understand the terms telecommunication terms practically by using
gadgets. In creating a dictionary application, string matching can be implemented for
the search process and of course, each string matching algorithm has its own
effectiveness and needs to be done comparison algorithm to find efficient algorithm.
String matching has several algorithms, some algorithms are Morris-Pratt and
Horspool algorithms that will be implemented in the dictionary application. Morris Pratt algorithm is an algorithm consisting of two phases preprocessing phase by
peripheral function to determine the largest number of step shifting pattern by using
comparison before string search. Character comparison is done by matching the
pattern into the text searched from left to right. Horspool algorithm is an algorithm
that performs and calculates the value of bad-character shift by looking at the
rightmost character in the window. The result of this research is the Morris-Pratt
algorithm is more efficient than Horspool algorithm and the application can run well.
In this study it can be seen that during the search process, the total running time for
the Morris - Pratt algorithm is 46.6 ms and the Horspool algorithm is 50.5 ms.
Keywords : String Matching, Android, Morris - Pratt, Horspool.
Universitas Sumatera Utara
viii
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.1 Latar Belakang
1
1.2 Rumusan Masalah
2
1.3 Batasan Masalah
3
1.4 Tujuan Penelitian
3
1.5 Manfaat Penelitian
3
1.6 Metode Penelitian
4
1.7 Sistematika Penelitian
5
Bab 2 Landasan Teori
2.1 Algoritma
6
2.2 Android
6
2.3 Pencocokan String (String Matching)
7
2.4 Algoritma Morris-Pratt
8
2.4.1 Fase Preprocessing
8
2.4.2 Fase Pencarian
8
2.5 Algoritma Horspool
9
2.5.1 Pencarian Dengan Algoritma Horspool
2.5.2 Tahap Pencarian
9
10
2.6 Notasi Asimptotik
11
2.6.1 Notasi O
11
2.6.2 Notasi Ω
11
2.6.2 Notasi Ө
12
Universitas Sumatera Utara
ix
2.7 Penelitian yang Relevan
12
Bab 3 Analisis dan Perancangan
3.1 Analisis Sistem
13
3.1.1 Analisis Masalah
13
3.1.2 Analisis Kebutuhan
14
3.1.3 Analisis Proses
16
3.2 Perancangan Sistem
16
3.2.1 General Arsitektur Perancangan Sistem
17
3.2.2 Use – Case Diagram
19
3.2.3 Activiy Diagram
22
3.2.4 Sequence Diagram
22
3.2.5 Pseudocode
23
3.2.6 Diagram Alir (Flowchart)
26
3.2.7 Perancangan Antarmuka (Interface)
30
Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi Sistem
34
4.1.1 Antarmuka Utama
34
4.1.2 Antarmuka Hasil Pencarian
36
4.1.3 Antarmuka Tentang (About)
37
4.1.4 Antarmuka Bantuan
38
4.2 Pengujian Sistem
39
4.2.1 Pengujian Pencarian Kata dengan Algoritma Morris-Pratt
39
4.2.2 Pengujian Pencarian Kata dengan Algoritma Horspool
44
4.2 Hasil Pengujian Sistem
48
4.2.1 Kompleksitas Algoritma Morris-Pratt
52
4.2.2 Kompleksitas Algoritma Horspool
54
Bab 5 Penutup
57
5.1 Kesimpulan
57
5.2 Saran
58
Daftar Pustaka
Lampiran
59
A-1
Universitas Sumatera Utara
x
DAFTAR TABEL
Nomor
Nama Tabel
Halaman
Tabel
3.1
Tabel skenario Use-case memilih algoritma pencarian
21
3.2
Tabel skenario Use-case masukkan kata
21
4.1
Nilai mpNext[i] untuk pattern HASIBUAN
39
4.2
Pengujian sistem pencocokan string dengan Algoritma Morris-
41
4.3
Pratt
44
4.4
Bad Match Praproses
45
4.5
Inisialisasi awal bad-match
45
4.6
Pembuatan bad-match
45
4.7
Iterasi algoritma Horspool pertama
46
Iterasi algoritma Horspool kedua
4.8
Pengujian sistem pencocokan string dengan algoritma Horspool
46
4.9
Hasil pengujian algoritma Morris-Pratt
49
4.10
Hasil pengujian algoritma Horspool
49
4.11
Hasil pengujian kata terpanjang
50
4.12
Hasil pengujian kata terpendek
50
4.13
Kompleksitas algoritma Morris-Pratt
53
4.14
Kompleksitas fungsi fase pencarian algortima Morris-Pratt
54
4.15
Kompleksitas funsi fase preprocessing algoritma Horspool
55
4.16
Kompleksitas fungsi pencarian algoritma Horspool
56
Universitas Sumatera Utara
xi
DAFTAR GAMBAR
Nomor
Gambar
Nama Gambar
Halaman
2.1
Pergeseran pada algoritma Morris-Pratt
9
3.1
Diagram Ishikawa
15
3.2
General Arsitektur Perancangan Sistem
17
3.3
Use-case Diagram
20
3.4
Activity Diagram
22
3.5
Sequence Diagram
23
3.6
Pseudocode Fase Pencarian Algoritma Morris-Pratt
24
3.7
Pseudocode Fase Pencarian Algoritma Horspool
25
3.8
Flowchart Gambaran Umum Sistem
26
3.9
Flowchart Algoritma Morris-Pratt
27
3.10
Flowchart Algoritma Horspool
28
3.11
Flowchart Sisem Pencarian Istilah dengan Algoritma Horspool
29
3.12
Halaman Utama Aplikasi Kamus
30
3.13
Antarmuka Hasil Pencarian
31
3.14
Halaman About
34
3.15
Menu Help
33
4.1
Tab Morris- Pratt
35
4.2
Tab Horspool
35
4.3
Antarmuka hasil pencarian ditemukan
36
4.4
Hasil pencarian tidak ditemukan
37
4.5
Menu About
37
4.6
Menu Help
38
4.7
Menu Source
38
4.8
Perbandingan hasil running rime algoritma Morris-Pratt &
51
Horspool
4.9
Perbandingan hasil running time pencarian kata terpanjang
51
4.10
Perbandingan hasil running time pencarian kata terpendek
52
Universitas Sumatera Utara
xii
DAFTAR LAMPIRAN
Lampiran 1
Listing Program
A-1
Lampiran 2
Curriculum Vitae
B-1
Universitas Sumatera Utara