PERBANDINGAN ALGORITMA BOYER MOORE DAN ALGORITMA
BRUTE F ORCE DALAM PEMBUATAN KAMUS BAHASA MANDARIN – INDONESIA – INGGRIS PLATF ORM ANDROID
SKRIPSI
IVAN GRACE HALIM 101401086
PROGRAM S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI 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
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,
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
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
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 :
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.
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.
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 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
Bab 2 Tinjauan Pustaka
2.1 Algoritma Boyer Moore 6
2.1.1 Kelebihan Algoritma Boyer Moore 6
2.1.3 Pencarian Dengan Algoritma Boyer Moore 2.2 Algoritma Brute Force
2.2.1 Kelemahan dan Kelebihan Algoritma Brute Force
8 10 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
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 Analisis Persyaratan Fungsional 24 3.1.2.2 Analisis Persyaratan Non-Fungsional 25
3.2 Pemodelan 25
3.2.3.1 Sequence Diagram Tampil Kamus
x
3.3 Pseudocode
3.3.1 Pseudocode Algoritma Boyer Moore 3.3.2 Pseudecode Algoritma Brute Force 3.4 ERD (Entitiy Relationship Diagram)
3.3 Perancangan Sistem
3.3.1 Antarmuka Halaman Utama 37
3.3.2 Antarmuka Pilih Pencarian 39
3.3.3 Antarmuka Pilih Data 3.3.4 Antarmuka Pilih Tentang
40
Bab 4 Implementasi Dan Pengujian Sistem
4.1 Implementasi Sistem 42
4.1.1 Halaman Utama 42
4.1.2 Pilihan Pencarian 4.1.3 Pilihan Data 4.1.4 Pilihan Tentang
43 44 45
4.2 Pengujian Sistem 45
4.2.1 Pengujian Pada 1 Karakter 46
4.3.1 Pengujian 3 Karakter 4.3.2 Pengujian 4 Karakter
4.3.3 Pengujian 5 Karakter 53
4.3.4 Pengujian 6 Karakter 54
4.3.5 Hasil Perbandingan Running Time Pencocokan String 55
Bab 5 Kesimpulan Dan Saran
5.1 Kesimpulan 57
Daftar
5.2 Saran Pustaka
xii
DAFTAR GAMBAR
Hal. Gambar 2.1 Android versi 1.1
Gambar 2.2 Android versi 1.5 Cupcake Gambar 2.3 Android versi 1.6 Donut Gambar 2.4 Android versi 2.0/2.1 Eclair
Gambar 2.5 Android versi 2.2 Froyo (Frozen Yogurt) Gambar 2.6 Android versi 2.3 Gingerbeard
Gambar 2.7 Android versi 3.0/3.1 HoneyComb Gambar 2.8 Android versi 4.0 Ice Cream Sandwich Gambar 2.9 Android versi 4.1 Jelly Bean
Gambar 2.10 Android versi 4.4 KitKat Gambar 2.11 Android versi 5.0 Lolipop Gambar 3.1 Diagram Ishikawa Gambar 3.2 Use Case Diagram
Gambar 3.3 Activity Diagram Algoritma Boyer Moore Gambar 3.4 Activity Diagram Algoritma Brute Force Gambar 3.5 Sequence Diagram Tampil Kamus Gambar 3.6 Flowchart Umum Sistem
Gambar 3.7 Flowchart Proses Boyer Moore Gambar 3.8 Flowchart Proses Brute Force Gambar 3.9 ERD (Entity Relationship Diagram) Gambar 3.10 Rancangan Antarmuka Halaman Utama Gambar 3.11 Rancangan Antarmuka Pilih Pencarian Gambar 3.12 Rancangan Antarmuka Pilih Data
Gambar 3.13 Rancangan Antarmuka Pilih Tentang Gambar 4.1 Halaman Utama
Gambar 4.2 Form Pencarian Gambar 4.3 Form Data Gambar 4.4 Form Tentang
Gambar 4.5 Pengujian Boyer Moore 1 Karakter
41 43 44 44 45 46 Gambar 4.6 Pengujian Brute Force 1 Karakter
Gambar 4.7 Pengujian Boyer Moore 2 Karakter Gambar 4.8 Pengujian Brute Force 2 Karakter Gambar 4.9 Pengujian 3 Karakter
Gambar 4.10 Pengujian 4 Karakter Gambar 4.11 Pengujian 5 Karakter Gambar 4.12 Pengujian 6 Karakter
Gambar 4.13 Grafik Perbedaan Running Time Algoritma Boyer Moore dan Algoritma Brute Force
xiv
DAFTAR TABEL
Hal. Tabel 2.1 Contoh Algoritma Boyer Moore
Tabel 2.2 Contoh Pergeseran Algoritma Boyer-Moore Tabel 2.3 Occurence Heuristic
Tabel 2.4 Hasil Pencarian Occurrence Heuristic Tabel 2.5 Hasil Akhir Pencarian Occurrence Heuristic Tabel 3.1 Tabel Words
Tabel 3.2 Tabel EkstraWords
Tabel 4.1 Database Proses Pencarian 1 Karakter Tabel 4.2 Database Proses Pencarian 2 Karakter Tabel 4.3 Proses Algoritma Boyer Moore
Tabel 4.4 Proses Match Algoritma Boyer Moore Tabel 4.5 Proses Awal Algoritma Brute Force Tabel 4.6 Proses Kedua Algoritma Brute Force Tabel 4.7 Proses Akhir Algoritma Brute Force