Perbandingan Algoritma Boyer Moore dan Brute Force Dalam Pembuatan Kamus Bahasa Mandarin – Indonesia – Inggris Platform Android
PERBANDINGAN ALGORITMA BOYER MOORE DAN ALGORITMA
BRUTE FORCE DALAM PEMBUATAN KAMUS BAHASA MANDARIN –
INDONESIA – INGGRIS PLATFORM ANDROID
SKRIPSI
IVAN GRACE HALIM
101401086
PROGRAM S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
PERBANDINGAN ALGORITMA BOYER MOORE DAN ALGORITMA BRUTE
FORCE DALAM PEMBUATAN KAMUS BAHASA MANDARIN – INDONESIA
– INGGRIS PLATFORM ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer
IVAN GRACE HALIM
1010401086
PROGRAM S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
: Perbandingan Algoritma Boyer Moore dan Brute Force
Dalam Pembuatan Kamus Bahasa Mandarin – Indonesia
– Inggris Platform Android
Kategori
: Skripsi
Nama
: Ivan Grace Halim
Nomor Induk Mahasiswa : 101401086
Program Studi
: S1 Ilmu Komputer
Fakultas
: Ilmu Komputer dan Teknologi Informasi Universitas
Sumatera Utara
Komisi Pembimbing
:
Pembimbing II
Pembimbing I
Dian Rachmawati, S.Si., M.Kom
Dr. Poltak Sihombing, M.Kom
NIP. 198307232009122004
NIP. 196202171991031001
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M.Kom
NIP. 196202171991031001
Universitas Sumatera Utara
iii
PERNYATAAN
PERBANDINGAN ALGORITMA BOYER MOORE DAN BRUTE FORCE
DALAM PEMBUATAN KAMUS BAHASA MANDARIN – INDONESIA –
INGGRIS PLATFORM ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,
Juli 2016
Ivan Grace Halim
101401086
Universitas Sumatera Utara
iv
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas limpahan rahmat,
kasih dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai
syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi ini, penulis menyadari bahwa banyak campur tangan
pihak yang turut membantu dan 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 S Sitompul, M.Si., selaku Dekan Fakultas Ilmu Komputer
dan Teknologi Informas 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.
4. Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera
Utara.
5. Ibu Dian Rachmawati, S.Si., M.Kom selaku Dosen Pembimbing II yang telah
memberikan bimbingan, saran, nasehat dan masukan kepada saya dalam
pengerjaan skripsi ini.
6. Bapak Dr. Syahril Efendi S.Si., M.IT., selaku Dosen Pembanding I yang telah
memberikan kritik dan saran dalam penyempurnaan skripsi ini.
7. Bapak M. Andri Budiman, ST., M.Comp,Sc., M.E.M selaku Dosen Pembanding II
yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini
8. Seluruh dosen Program Studi S1 Ilmu Komputer Fasilkom-TI USU dan semua
pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
9. Ayahanda Kui Hie dan Ibunda Tentri Melinda Pasaribu yang telah memberikan
do‟a, dukungan, perhatian serta kasih sayang yang tulus serta pengorbanan yang
tidak ternilai harganya.
Universitas Sumatera Utara
v
10. Abangda dan Adinda Andy Surya Halim, Hansen Yudha Halim dan Melki Sedek
Hosea Halim yang tidak bosan – bosannya menunggu, memberikan motivasi,
bantuan dan dukungan serta kata – kata pencerahan yang membangun setiap
waktu.
11. Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2010,
Yohannes Silitonga, Gunalan Anggirasa , Andri Agasi, Arief Try Hidayat, Mego
Suntoro, Suhaili Hamdi, Muhammad Pristian, Septy Diana Sari Saragih, dan
teman-teman lain yang telah memberikan motivasi, arahan dan perhatiannya.
12. Teman-teman sepermainan Bang Vavan Setiyo, Roy Alexander Sirait, Yogie
Wiranatha, Jambe Family, Riska Maya Sari, Jatrie Tieta Andini, Lovita Justine,
Uthy Pohan, yang selalu memberikan pencerahan, pengarahan, dan membuat
suasana pengerjaan skripsi lebih menyenangkan.
13. Kepada Yohanes Silitonga, Gunalan Anggirasa, dan adik Rio Sinulingga yang
sangat membantu dalam pengerjaan skripsi dan tidak bosannya memberikan
arahan dan masukkan untuk penyelesaian skripsi.
14. Adik-adik angkatan 2011, 2012, 2013 dan 2014 yang telah membakar semangat
untuk menyelesaikan penyelesaian skripsi ini.
15. Dan yang terakhir, sahabat, adik, kekasih penulis Deby Ratna Sari yang selalu ada
seiring waktu mendampingi serta menjadi penyemangat bagi penulis dalam segala
hal.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, oleh karena itu penulis
menerima saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini,
agar dapat bermanfaat bagi kita semua.
Medan,
Juli 2016
penulis :
Ivan Grace Halim
Universitas Sumatera Utara
vi
ABSTRAK
Kebutuhan Masyarakat terhadap layanan teknologi berbasis IT sangat bervariasi,
ketersediaan suatu perangkat mobile yang dapat membantu
memecahkan
suatu
permasalahan sehari hari adalah salah satu kebutuhan masyarakat, khususnya berbasis
android. Kamus Mandarin yang telah banyak beredar dalam bentuk buku
penggunaannya menyulitkan, karena pengguna harus mencari arti dan istilah secara
manual. Oleh karena itu, dibutuhkan aplikasi perangkat lunak berbasis android untuk
menghasilkan kamus Bahasa Mandarin yang dapat memudahkan semua orang mencari
dan memahami arti kata Bahasa Mandarin. Dalam membuat kamus dibutuhkan
metode pencarian string, metode pencarian string yang digunakan dalam pembuatan
kamus ini adalah Algoritma Boyer Moore dan Algoritma Brute Force , Algoritma
Boyer Moore dan Algoritma Brute Force memiliki cara kerja yang berbeda, Algoritma
Boyer Moore mencocokkan karakter dari sebelah kanan ke kiri pattern, dan Algoritma
Brute Force mencocokkan karakter dengan membandingkan satu per satu karakter dari
kiri ke kanan. Algoritma Boyer Moore memiliki running time yang lebih cepat dari
Brute Force yaitu dengan perbedaan 0.75ms. Algoritma Boyer Moore dan Algoritma
Brute Force sama – sama memiliki fase pencarian kompleksitas waktu Big Ө ( m × n
), namun Algoritma Boyer Moore lebih cepat karena memiliki perbandingan karakter
teks 3n sedangkan Algoritma Brute Force memiliki perbandingan karakter teks 2n.
Kata Kunci : Pencocokan String, Algoritma Boyer Moore , Algoritma Brute Force ,
Kamus Bahasa Mandarin, Android
Universitas Sumatera Utara
vii
ABSTRACT
The needs for IT-based technology is varied, the availability of a mobile application
which can solve any problems a day is one of people need now, especially based on
Android. Mandarin dictionary that has been widely circulated in analog form is
difficult , because users must search for meaning and terms manually . Therefore , it
takes an android software application to produce Mandarin Dictionary to facilitate
what everyone is looking for and to understand the meaning of Mandarin words. In
making the dictionary, string matching methods are needed, the search method strings
used in the making of this dictionary is the Boyer-Moore string search algorithm and
algorithm Brute Force , algorithm Boyer Moore and algorithms Brute Force has a
different way , Boyer-Moore string search algorithm to match characters from the
right to left pattern and Brute Force algorithm matching characters by comparing one
by one character from left to right. Boyer Moore algorithm has a running time that is
faster than the Brute Force, the difference is 0.75ms. Boyer Moore algorithm and the
same algorithm Brute Force - have the same time complexity of the searching phase in
Ө (m × n), but Boyer Moore algorithm has 3n text character comparisons, Brute Force
algorithm has 2n expected text character comparisons.
Keyword : String Matching Boyer Moore Algorithm, Brute Force Algorithm,
Mandarin Dictionary, Android
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
Bab 1
Bab 2
Pendahuluan
1.1 Latar Belakang
1
1.2 Rumusan Masalah
2
1.3 Batasan Masalah
2
1.4 Tujuan Penelitian
3
1.5 Manfaat Penelitian
3
1.6 Metode Penelitian
4
1.7 Sistematika Penulisan
5
Tinjauan Pustaka
2.1 Algoritma Boyer Moore
6
2.1.1 Kelebihan Algoritma Boyer Moore
6
2.1.2 Kelemahan Algoritma Boyer Moore
6
Universitas Sumatera Utara
ix
2.1.3 Pencarian Dengan Algoritma Boyer Moore
2.2 Algoritma Brute Force
10
2.2.1 Kelemahan dan Kelebihan Algoritma Brute Force
Bab 3
8
11
2.3 Bahasa Mandarin
14
2.4 Sejarah Android
15
2.5 Jenis Jenis Android
16
2.6 Eclipse
22
2.7 SQLite
22
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 Analisis Persyaratan Fungsional
24
3.1.2.2 Analisis Persyaratan Non-Fungsional
25
3.2 Pemodelan
25
3.2 1 Use Case Diagram
26
3.2.2 Activity Diagram
27
3.2.2.1 Activity Diagram Pencarian Boyer Moore
27
3.2.2.2 Activity Diagram Pencarian Brute Force
28
3.2.3 Sequence Diagram
29
3.2.3.1 Sequence Diagram Tampil Kamus
3.2.4 Flowchart Sistem
31
3.2.4.1 Flowchart Gambaran Umum Sistem
3.2.4.2 Flowchart Proses Boyer-Moore
3.2.4.3 Flowchart Proses Brute Force
30
31
32
33
Universitas Sumatera Utara
x
3.3 Pseudocode
34
3.3.1 Pseudocode Algoritma Boyer Moore
34
3.3.2 Pseudecode Algoritma Brute Force
35
3.4 ERD (Entitiy Relationship Diagram)
35
3.3 Perancangan Sistem
37
3.3.1 Antarmuka Halaman Utama
37
3.3.2 Antarmuka Pilih Pencarian
39
3.3.3 Antarmuka Pilih Data
40
3.3.4 Antarmuka Pilih Tentang
Bab 4
Implementasi Dan Pengujian Sistem
4.1 Implementasi Sistem
42
4.1.1 Halaman Utama
42
4.1.2 Pilihan Pencarian
43
44
4.1.3 Pilihan Data
45
4.1.4 Pilihan Tentang
4.2 Pengujian Sistem
45
4.2.1 Pengujian Pada 1 Karakter
46
4.2.1.1 Pengujian Boyer-Moore Pada 1 Karakter
46
4.2.1.2 Pengujian Brute Force Pada 1 Karakter
47
4.2.2 Pengujian Pada 2 Karakter
48
4.2.2.1 Pengujian Boyer Moore Pada 2 Karakter
48
4.2.2.2 Pengujian Brute Force Pada 2 Karakter
50
4.3 Hasil Pengujian
52
4.3.1 Pengujian 3 Karakter
52
4.3.2 Pengujian 4 Karakter
53
Universitas Sumatera Utara
xi
Bab 5
Daftar
4.3.3 Pengujian 5 Karakter
53
4.3.4 Pengujian 6 Karakter
54
4.3.5 Hasil Perbandingan Running Time Pencocokan String
55
Kesimpulan Dan Saran
5.1 Kesimpulan
57
5.2 Saran
58
Pustaka
59
Universitas Sumatera Utara
xii
DAFTAR GAMBAR
Hal.
Gambar 2.1 Android versi 1.1
16
Gambar 2.2 Android versi 1.5 Cupcake
16
Gambar 2.3 Android versi 1.6 Donut
17
Gambar 2.4 Android versi 2.0/2.1 Eclair
17
Gambar 2.5 Android versi 2.2 Froyo (Frozen Yogurt)
18
Gambar 2.6 Android versi 2.3 Gingerbeard
18
Gambar 2.7 Android versi 3.0/3.1 HoneyComb
19
Gambar 2.8 Android versi 4.0 Ice Cream Sandwich
19
Gambar 2.9 Android versi 4.1 Jelly Bean
20
Gambar 2.10 Android versi 4.4 KitKat
20
Gambar 2.11 Android versi 5.0 Lolipop
21
Gambar 3.1 Diagram Ishikawa
24
Gambar 3.2 Use Case Diagram
26
Gambar 3.3 Activity Diagram Algoritma Boyer Moore
28
Gambar 3.4 Activity Diagram Algoritma Brute Force
29
Gambar 3.5 Sequence Diagram Tampil Kamus
30
Gambar 3.6 Flowchart Umum Sistem
31
Gambar 3.7 Flowchart Proses Boyer Moore
32
Gambar 3.8 Flowchart Proses Brute Force
33
Gambar 3.9 ERD (Entity Relationship Diagram)
36
Gambar 3.10 Rancangan Antarmuka Halaman Utama
38
Gambar 3.11 Rancangan Antarmuka Pilih Pencarian
39
Gambar 3.12 Rancangan Antarmuka Pilih Data
40
Universitas Sumatera Utara
xiii
Gambar 3.13 Rancangan Antarmuka Pilih Tentang
41
Gambar 4.1 Halaman Utama
43
Gambar 4.2 Form Pencarian
44
Gambar 4.3 Form Data
44
Gambar 4.4 Form Tentang
45
Gambar 4.5 Pengujian Boyer Moore 1 Karakter
46
Gambar 4.6 Pengujian Brute Force 1 Karakter
47
Gambar 4.7 Pengujian Boyer Moore 2 Karakter
48
Gambar 4.8 Pengujian Brute Force 2 Karakter
50
Gambar 4.9 Pengujian 3 Karakter
52
Gambar 4.10 Pengujian 4 Karakter
53
Gambar 4.11 Pengujian 5 Karakter
53
Gambar 4.12 Pengujian 6 Karakter
54
Gambar 4.13 Grafik Perbedaan Running Time Algoritma Boyer
Moore dan Algoritma Brute Force
55
Universitas Sumatera Utara
xiv
DAFTAR TABEL
Hal.
Tabel 2.1
Contoh Algoritma Boyer Moore
7
Tabel 2.2
Contoh Pergeseran Algoritma Boyer-Moore
8
Tabel 2.3 Occurence Heuristic
9
Tabel 2.4
Hasil Pencarian Occurrence Heuristic
10
Tabel 2.5
Hasil Akhir Pencarian Occurrence Heuristic
10
Tabel 3.1 Tabel Words
36
Tabel 3.2 Tabel EkstraWords
37
Tabel 4.1
Database Proses Pencarian 1 Karakter
44
Tabel 4.2
Database Proses Pencarian 2 Karakter
45
Tabel 4.3
Proses Algoritma Boyer Moore
46
Tabel 4.4
Proses Match Algoritma Boyer Moore
47
Tabel 4.5
Proses Awal Algoritma Brute Force
48
Tabel 4.6
Proses Kedua Algoritma Brute Force
48
Tabel 4.7
Proses Akhir Algoritma Brute Force
49
Tabel 4.8
Hasil Perbandingan Dari Segi Running Time
52
Universitas Sumatera Utara
BRUTE FORCE DALAM PEMBUATAN KAMUS BAHASA MANDARIN –
INDONESIA – INGGRIS PLATFORM ANDROID
SKRIPSI
IVAN GRACE HALIM
101401086
PROGRAM S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
PERBANDINGAN ALGORITMA BOYER MOORE DAN ALGORITMA BRUTE
FORCE DALAM PEMBUATAN KAMUS BAHASA MANDARIN – INDONESIA
– INGGRIS PLATFORM ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer
IVAN GRACE HALIM
1010401086
PROGRAM S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016
Universitas Sumatera Utara
ii
PERSETUJUAN
Judul
: Perbandingan Algoritma Boyer Moore dan Brute Force
Dalam Pembuatan Kamus Bahasa Mandarin – Indonesia
– Inggris Platform Android
Kategori
: Skripsi
Nama
: Ivan Grace Halim
Nomor Induk Mahasiswa : 101401086
Program Studi
: S1 Ilmu Komputer
Fakultas
: Ilmu Komputer dan Teknologi Informasi Universitas
Sumatera Utara
Komisi Pembimbing
:
Pembimbing II
Pembimbing I
Dian Rachmawati, S.Si., M.Kom
Dr. Poltak Sihombing, M.Kom
NIP. 198307232009122004
NIP. 196202171991031001
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M.Kom
NIP. 196202171991031001
Universitas Sumatera Utara
iii
PERNYATAAN
PERBANDINGAN ALGORITMA BOYER MOORE DAN BRUTE FORCE
DALAM PEMBUATAN KAMUS BAHASA MANDARIN – INDONESIA –
INGGRIS PLATFORM ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,
Juli 2016
Ivan Grace Halim
101401086
Universitas Sumatera Utara
iv
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas limpahan rahmat,
kasih dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai
syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi ini, penulis menyadari bahwa banyak campur tangan
pihak yang turut membantu dan 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 S Sitompul, M.Si., selaku Dekan Fakultas Ilmu Komputer
dan Teknologi Informas 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.
4. Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera
Utara.
5. Ibu Dian Rachmawati, S.Si., M.Kom selaku Dosen Pembimbing II yang telah
memberikan bimbingan, saran, nasehat dan masukan kepada saya dalam
pengerjaan skripsi ini.
6. Bapak Dr. Syahril Efendi S.Si., M.IT., selaku Dosen Pembanding I yang telah
memberikan kritik dan saran dalam penyempurnaan skripsi ini.
7. Bapak M. Andri Budiman, ST., M.Comp,Sc., M.E.M selaku Dosen Pembanding II
yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini
8. Seluruh dosen Program Studi S1 Ilmu Komputer Fasilkom-TI USU dan semua
pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
9. Ayahanda Kui Hie dan Ibunda Tentri Melinda Pasaribu yang telah memberikan
do‟a, dukungan, perhatian serta kasih sayang yang tulus serta pengorbanan yang
tidak ternilai harganya.
Universitas Sumatera Utara
v
10. Abangda dan Adinda Andy Surya Halim, Hansen Yudha Halim dan Melki Sedek
Hosea Halim yang tidak bosan – bosannya menunggu, memberikan motivasi,
bantuan dan dukungan serta kata – kata pencerahan yang membangun setiap
waktu.
11. Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2010,
Yohannes Silitonga, Gunalan Anggirasa , Andri Agasi, Arief Try Hidayat, Mego
Suntoro, Suhaili Hamdi, Muhammad Pristian, Septy Diana Sari Saragih, dan
teman-teman lain yang telah memberikan motivasi, arahan dan perhatiannya.
12. Teman-teman sepermainan Bang Vavan Setiyo, Roy Alexander Sirait, Yogie
Wiranatha, Jambe Family, Riska Maya Sari, Jatrie Tieta Andini, Lovita Justine,
Uthy Pohan, yang selalu memberikan pencerahan, pengarahan, dan membuat
suasana pengerjaan skripsi lebih menyenangkan.
13. Kepada Yohanes Silitonga, Gunalan Anggirasa, dan adik Rio Sinulingga yang
sangat membantu dalam pengerjaan skripsi dan tidak bosannya memberikan
arahan dan masukkan untuk penyelesaian skripsi.
14. Adik-adik angkatan 2011, 2012, 2013 dan 2014 yang telah membakar semangat
untuk menyelesaikan penyelesaian skripsi ini.
15. Dan yang terakhir, sahabat, adik, kekasih penulis Deby Ratna Sari yang selalu ada
seiring waktu mendampingi serta menjadi penyemangat bagi penulis dalam segala
hal.
Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, oleh karena itu penulis
menerima saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini,
agar dapat bermanfaat bagi kita semua.
Medan,
Juli 2016
penulis :
Ivan Grace Halim
Universitas Sumatera Utara
vi
ABSTRAK
Kebutuhan Masyarakat terhadap layanan teknologi berbasis IT sangat bervariasi,
ketersediaan suatu perangkat mobile yang dapat membantu
memecahkan
suatu
permasalahan sehari hari adalah salah satu kebutuhan masyarakat, khususnya berbasis
android. Kamus Mandarin yang telah banyak beredar dalam bentuk buku
penggunaannya menyulitkan, karena pengguna harus mencari arti dan istilah secara
manual. Oleh karena itu, dibutuhkan aplikasi perangkat lunak berbasis android untuk
menghasilkan kamus Bahasa Mandarin yang dapat memudahkan semua orang mencari
dan memahami arti kata Bahasa Mandarin. Dalam membuat kamus dibutuhkan
metode pencarian string, metode pencarian string yang digunakan dalam pembuatan
kamus ini adalah Algoritma Boyer Moore dan Algoritma Brute Force , Algoritma
Boyer Moore dan Algoritma Brute Force memiliki cara kerja yang berbeda, Algoritma
Boyer Moore mencocokkan karakter dari sebelah kanan ke kiri pattern, dan Algoritma
Brute Force mencocokkan karakter dengan membandingkan satu per satu karakter dari
kiri ke kanan. Algoritma Boyer Moore memiliki running time yang lebih cepat dari
Brute Force yaitu dengan perbedaan 0.75ms. Algoritma Boyer Moore dan Algoritma
Brute Force sama – sama memiliki fase pencarian kompleksitas waktu Big Ө ( m × n
), namun Algoritma Boyer Moore lebih cepat karena memiliki perbandingan karakter
teks 3n sedangkan Algoritma Brute Force memiliki perbandingan karakter teks 2n.
Kata Kunci : Pencocokan String, Algoritma Boyer Moore , Algoritma Brute Force ,
Kamus Bahasa Mandarin, Android
Universitas Sumatera Utara
vii
ABSTRACT
The needs for IT-based technology is varied, the availability of a mobile application
which can solve any problems a day is one of people need now, especially based on
Android. Mandarin dictionary that has been widely circulated in analog form is
difficult , because users must search for meaning and terms manually . Therefore , it
takes an android software application to produce Mandarin Dictionary to facilitate
what everyone is looking for and to understand the meaning of Mandarin words. In
making the dictionary, string matching methods are needed, the search method strings
used in the making of this dictionary is the Boyer-Moore string search algorithm and
algorithm Brute Force , algorithm Boyer Moore and algorithms Brute Force has a
different way , Boyer-Moore string search algorithm to match characters from the
right to left pattern and Brute Force algorithm matching characters by comparing one
by one character from left to right. Boyer Moore algorithm has a running time that is
faster than the Brute Force, the difference is 0.75ms. Boyer Moore algorithm and the
same algorithm Brute Force - have the same time complexity of the searching phase in
Ө (m × n), but Boyer Moore algorithm has 3n text character comparisons, Brute Force
algorithm has 2n expected text character comparisons.
Keyword : String Matching Boyer Moore Algorithm, Brute Force Algorithm,
Mandarin Dictionary, Android
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
Bab 1
Bab 2
Pendahuluan
1.1 Latar Belakang
1
1.2 Rumusan Masalah
2
1.3 Batasan Masalah
2
1.4 Tujuan Penelitian
3
1.5 Manfaat Penelitian
3
1.6 Metode Penelitian
4
1.7 Sistematika Penulisan
5
Tinjauan Pustaka
2.1 Algoritma Boyer Moore
6
2.1.1 Kelebihan Algoritma Boyer Moore
6
2.1.2 Kelemahan Algoritma Boyer Moore
6
Universitas Sumatera Utara
ix
2.1.3 Pencarian Dengan Algoritma Boyer Moore
2.2 Algoritma Brute Force
10
2.2.1 Kelemahan dan Kelebihan Algoritma Brute Force
Bab 3
8
11
2.3 Bahasa Mandarin
14
2.4 Sejarah Android
15
2.5 Jenis Jenis Android
16
2.6 Eclipse
22
2.7 SQLite
22
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 Analisis Persyaratan Fungsional
24
3.1.2.2 Analisis Persyaratan Non-Fungsional
25
3.2 Pemodelan
25
3.2 1 Use Case Diagram
26
3.2.2 Activity Diagram
27
3.2.2.1 Activity Diagram Pencarian Boyer Moore
27
3.2.2.2 Activity Diagram Pencarian Brute Force
28
3.2.3 Sequence Diagram
29
3.2.3.1 Sequence Diagram Tampil Kamus
3.2.4 Flowchart Sistem
31
3.2.4.1 Flowchart Gambaran Umum Sistem
3.2.4.2 Flowchart Proses Boyer-Moore
3.2.4.3 Flowchart Proses Brute Force
30
31
32
33
Universitas Sumatera Utara
x
3.3 Pseudocode
34
3.3.1 Pseudocode Algoritma Boyer Moore
34
3.3.2 Pseudecode Algoritma Brute Force
35
3.4 ERD (Entitiy Relationship Diagram)
35
3.3 Perancangan Sistem
37
3.3.1 Antarmuka Halaman Utama
37
3.3.2 Antarmuka Pilih Pencarian
39
3.3.3 Antarmuka Pilih Data
40
3.3.4 Antarmuka Pilih Tentang
Bab 4
Implementasi Dan Pengujian Sistem
4.1 Implementasi Sistem
42
4.1.1 Halaman Utama
42
4.1.2 Pilihan Pencarian
43
44
4.1.3 Pilihan Data
45
4.1.4 Pilihan Tentang
4.2 Pengujian Sistem
45
4.2.1 Pengujian Pada 1 Karakter
46
4.2.1.1 Pengujian Boyer-Moore Pada 1 Karakter
46
4.2.1.2 Pengujian Brute Force Pada 1 Karakter
47
4.2.2 Pengujian Pada 2 Karakter
48
4.2.2.1 Pengujian Boyer Moore Pada 2 Karakter
48
4.2.2.2 Pengujian Brute Force Pada 2 Karakter
50
4.3 Hasil Pengujian
52
4.3.1 Pengujian 3 Karakter
52
4.3.2 Pengujian 4 Karakter
53
Universitas Sumatera Utara
xi
Bab 5
Daftar
4.3.3 Pengujian 5 Karakter
53
4.3.4 Pengujian 6 Karakter
54
4.3.5 Hasil Perbandingan Running Time Pencocokan String
55
Kesimpulan Dan Saran
5.1 Kesimpulan
57
5.2 Saran
58
Pustaka
59
Universitas Sumatera Utara
xii
DAFTAR GAMBAR
Hal.
Gambar 2.1 Android versi 1.1
16
Gambar 2.2 Android versi 1.5 Cupcake
16
Gambar 2.3 Android versi 1.6 Donut
17
Gambar 2.4 Android versi 2.0/2.1 Eclair
17
Gambar 2.5 Android versi 2.2 Froyo (Frozen Yogurt)
18
Gambar 2.6 Android versi 2.3 Gingerbeard
18
Gambar 2.7 Android versi 3.0/3.1 HoneyComb
19
Gambar 2.8 Android versi 4.0 Ice Cream Sandwich
19
Gambar 2.9 Android versi 4.1 Jelly Bean
20
Gambar 2.10 Android versi 4.4 KitKat
20
Gambar 2.11 Android versi 5.0 Lolipop
21
Gambar 3.1 Diagram Ishikawa
24
Gambar 3.2 Use Case Diagram
26
Gambar 3.3 Activity Diagram Algoritma Boyer Moore
28
Gambar 3.4 Activity Diagram Algoritma Brute Force
29
Gambar 3.5 Sequence Diagram Tampil Kamus
30
Gambar 3.6 Flowchart Umum Sistem
31
Gambar 3.7 Flowchart Proses Boyer Moore
32
Gambar 3.8 Flowchart Proses Brute Force
33
Gambar 3.9 ERD (Entity Relationship Diagram)
36
Gambar 3.10 Rancangan Antarmuka Halaman Utama
38
Gambar 3.11 Rancangan Antarmuka Pilih Pencarian
39
Gambar 3.12 Rancangan Antarmuka Pilih Data
40
Universitas Sumatera Utara
xiii
Gambar 3.13 Rancangan Antarmuka Pilih Tentang
41
Gambar 4.1 Halaman Utama
43
Gambar 4.2 Form Pencarian
44
Gambar 4.3 Form Data
44
Gambar 4.4 Form Tentang
45
Gambar 4.5 Pengujian Boyer Moore 1 Karakter
46
Gambar 4.6 Pengujian Brute Force 1 Karakter
47
Gambar 4.7 Pengujian Boyer Moore 2 Karakter
48
Gambar 4.8 Pengujian Brute Force 2 Karakter
50
Gambar 4.9 Pengujian 3 Karakter
52
Gambar 4.10 Pengujian 4 Karakter
53
Gambar 4.11 Pengujian 5 Karakter
53
Gambar 4.12 Pengujian 6 Karakter
54
Gambar 4.13 Grafik Perbedaan Running Time Algoritma Boyer
Moore dan Algoritma Brute Force
55
Universitas Sumatera Utara
xiv
DAFTAR TABEL
Hal.
Tabel 2.1
Contoh Algoritma Boyer Moore
7
Tabel 2.2
Contoh Pergeseran Algoritma Boyer-Moore
8
Tabel 2.3 Occurence Heuristic
9
Tabel 2.4
Hasil Pencarian Occurrence Heuristic
10
Tabel 2.5
Hasil Akhir Pencarian Occurrence Heuristic
10
Tabel 3.1 Tabel Words
36
Tabel 3.2 Tabel EkstraWords
37
Tabel 4.1
Database Proses Pencarian 1 Karakter
44
Tabel 4.2
Database Proses Pencarian 2 Karakter
45
Tabel 4.3
Proses Algoritma Boyer Moore
46
Tabel 4.4
Proses Match Algoritma Boyer Moore
47
Tabel 4.5
Proses Awal Algoritma Brute Force
48
Tabel 4.6
Proses Kedua Algoritma Brute Force
48
Tabel 4.7
Proses Akhir Algoritma Brute Force
49
Tabel 4.8
Hasil Perbandingan Dari Segi Running Time
52
Universitas Sumatera Utara