Implementasi Algoritma Pencocokan String Boyer – Moore Dalam Pembuatan Contact Manager Pada Platform Android
IMPLEMENTASI ALGORITMA PENCOCOKAN STRING BOYER-MOORE DALAM PEMBUATAN CONTACT MANAGER PADA PLATFORM ANDROID
SKRIPSI
MEGO SUNTORO
101401004 Judul : IMPLEMENTASI ALGORITMA PENCOCOKAN STRING BOYER
Kategori : SKRIPSI Nama : MEGO SUNTORO Nomor Induk Mahasiswa : 101401004 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
PERSETUJUAN
- – MOORE DALAM PEMBUATAN CONTACT MANAGER PADA PLATFORM ANDROID.
UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, 16 April 2015
PERNYATAAN
IMPLEMENTASI ALGORITMA PECOCOKAN STRING BOYER-MOORE DALAM PEMBUATAN CONTACT MANAGER
PADA PLATFORM ANDROID SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
PENGHARGAAN
Alhamdulillah. Puji dan syukur kehadirat Allah SWT, yang dengan rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Implementasi Algoritma Pencocokan String
Boyer-Moore Dalam Pembuatan Contact Manager Pada Platform Android, penulis
menyadari bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan orang-orang terkasih yang memotivasi dalam pengerjaannya. Dalam
7. Ayahanda Sumingkir, Ibunda Leginem, Abang dan Kakak Tercinta Sumariono, Suhelmi Daniati, dan Sri rahayu, yang mana telah banyak memberikan kasih sayang, semangat, serta dorongan kepada penulis.
8. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU.
9. RHF yang selama ini telah menjadi keluarga kedua penulis selama mengikuti perkuliahan, tempat berbagi suka dan duka dalam pengerjaan skripsi ini, kepada Ali Huseini, Andri Agasi, Arief Try Hidayat, Dani Rizki, Suhaili Hamdi, Safriatullah, M.Khairil, M.Pristian, Sobirin, Gunalan, Fadli Herdika, Ivan Grace Halim, Yohanes Silitonga.
10. Teman-teman kuliah, khususnya Muhammad Reza Nasution, Dwi Rizki Ananda, Ahmad Rasydi, Umri Herdiansyah, Rudiansyah, Wahyu Eko Putra dan Novri Pramana, Hayatun Nufus, serta Stambuk 2010 yang tidak dapat disebut satu-persatu, yang telah banyak membantu dalam selesainya
ABSTRAK
Kebutuhan masyarakat terhadap layanan teknologi berbasis IT sangat bervariasi, penyimpanan serta pencarian identitas dengan cepat dan mendetail adalah salah satu kebutuhan tersebut, namun disamping itu masih jarang ditemukan aplikasi mobile yang dapat memenuhi kebutuhan tersebut, maka dibuatlah sebuah aplikasi contact
manager yang menerapkan algoritma Boyer-Moore sebagai masalah pencariannya
dan database SQLite sebagai penyimpanan data contact. Algoritma Boyer-Moore menerapkan prinsip good suffix dimana karakter yang dicari sejajar dengan karakter yang menyerupainya serta prinsip bad character dimana jika karakter tidak memiliki kemiripan maka langsung dieliminasi. Field yang dipakai dalam pencarian ini adalah nama contact, dengan memasukan nama sebagai inputannya dalam pencarian, kemudian kita dapat mengetahui data yang mendetail dari nama tersebut. Hasil dari aplikasi ini menampilkan keseluruhan pattern yang match dengan teks, dengan kecepatan pencarian 0,9 detik.
KataKunci : Rekayasa Perangkat Lunak, Algoritma Boyer-Moore, Contact Manager
THE IMPLEMENTATION OF BOYER-MOORE STRING MATCHING TO
MAKE 'CONTACT MANAGER' IN ANDROID PLATFORM
ABSTRACTThe needs for IT-based technology is varied, Storing and fast detailed-identity search is one of the needs. But mobile application is hard to find, to solve this problem this contact manager application is built, using Boyer - Moore algorithm as the searching problem and SQLite as the contact data storage. Boyer - Moore uses good suffix principle which the searched-character has similarity with the stored - character and bad suffix principle will eliminated the character which has no similarity with any stored character. The field used in this process is contact name, the users use name as input in searching process, then detailed-data from the stored-name will be found. The result from this application is the whole pattern which is match with the text, with searching speed is 0.9 s.
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 Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem
19
3.1.1 Analisis Masalah
19
3.1.2 Analisis Persyaratan
20
3.1.2.1 Kebutuhan Fungsional
20
3.1.2.2 Kebutuhan Non Fungsional
21
3.1.3 Pemodelan
21
3.1.3.1 Use Case Diagram
21
3.1.3.2 Activity Diagram
23
3.1.3.3 Sequence Diagram
24
3.1.3.4 Kamus Data
25
3.1.3.5 Flowchart Sistem
26
3.2 Perancangan Sistem
28
3.2.1 Menu Utama
28
3.2.2 Menu New Contact
29
3.2.3 Menu Edit Contact
30
3.2.4 Menu View Contact
31
3.2.5 Menu Navigation
32
3.2.6 Menu Help
34
3.2.7 Menu About
35
DAFTAR TABEL Nomor Tabel Nama Tabel Halaman
Hasil akhir pencarian Match Heuristic Nilai Occurence Heuristic dan Match Heuristic
24
24
23
17
16
15
15
14
14
12
12
7
Kamus Data
Use Case Pencarian data contact dengan Algoritma Boyer-Moore Use Case Proses Pencarian Use Case Proses Hasil
Match Heuristic
2.1
Hasil pencarian Occurence Heuristic Hasil akhir pencarian Occurence Heuristic
Occurence Heuristic
3.4 Versi-versi Android Contoh Algoritma Boyer-Moore Contoh Pergeseran Algoritma Boyer-Moore
3.3
3.2
3.1
2.9
2.8
2.7
2.6
2.5
2.4
2.3
2.2
26
DAFTAR GAMBAR Nomor Gambar Nama Gambar Halaman
Rancangan Interface Menu Utama Rancangan Interface New Contact Rancangan Interface Menu Edit Contact Rancangan Interface Menu View Contact Rancangan Interface Menu Navigation Rancangan Interface Menu Help Rancangan Interface Menu About Contoh pencarian Menu Awal
38
35
34
33
31
30
29
28
27
25
24
22
20
Use Case Diagram Sistem Activity Diagram Sequence Diagram Flowchart Algoritma Boyer-Moore
3.1
4.2 Diagram Ishikawa
4.1
3.12
3.11
3.10
3.9
3.8
3.7
3.6
3.5
3.4
3.3
3.2
42