Implementasi Algoritma Knuth-Morris Prattstring Matching Untuk Mencari Kata Atau Istilah Pada Kamus Komputer Berbasis Android
IMPLEMENTASI ALGORITMA KNUTH-MORRIS-PRATH
STRING MATCHING UNTUK MENCARI KATA ATAU
ISTILAH PADA KAMUS KOMPUTER
BERBASIS ANDROID.
INDAH MUSTIKA TANJUNG
121421004
PROGRAM STUDIEKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2015 IMPLEMENTASI ALGORITMA KNUTH-MORRIS-PRATH STRING MATCHING UNTUK MENCARI KATA ATAU ISTILAH PADA KAMUS KOMPUTER BERBASIS ANDROID. SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
Oleh :
INDAH MUSTIKA TANJUNG 121421099
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA KNUTH-MORRIS
PRATTSTRING MATCHING UNTUK MENCARI
KATA ATAU ISTILAH PADA KAMUS KOMPUTER BERBASIS ANDROID. Kategori : SKRIPSI Nama : INDAH MUSTIKA TANJUNG Nomor Induk Mahasiswa : 121421004 Program Studi : EKSTENSI S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Januari 2015
Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Ade Candra, ST, M.Kom Drs. Agus Salim Harahap, M.Si NIP. 19790904 200912 1 002 NIP. 19540828 198103 1 004 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 19620317 199103 1 011
PERNYATAAN
IMPLEMENTASI ALGORITMA KNUTH-MORRIS PRATHSTRING
MATCHING UNTUK MENCARI KATA ATAU ISTILAH PADAKAMUS KOMPUTER 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, Indah Mustika Tanjung 121421004
PENGHARGAAN
Alhamdulillah segala puji dan syukur atas nikmat yang luas kepada Allah Yang Maha Esa sehingga 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.
Ucapan terima kasih Penulis sampaikan kepada semua pihak yang telah membantu Penulis dalam menyelesaikan skripsi ini baik secara langsung maupun tidak langsung, teristimewa orangtua penulis yang sangat mengasihi dan menyayangi penulis dan memberi dukungan tiada henti. Pada kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada: 1.
Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis 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 sebagai Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skrisi ini .
4. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
5. Bapak Drs. Agus Salim Harahap, M.Siselaku Dosen Pembimbing I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
6. Bapak Ade Candra, ST, M.Kom selaku Dosen Pembimbing II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
7. IbuDian Rachmawati, M.Komselaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
8. Semua dosen dan semua pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
9. Keluarga besar penulis, Orang tua yang senantiasa mendoakan dan mendukung serta adik- adik tersayang Habib, Putri, Pipin, Tita
10. Teman-teman seperjuangan mahasiswa Ekstensi S1-Ilmu Komputer stambuk 2012, teman-teman D3 Mipa teruntuk M. Iqbal dalam diskusi pembuatan program. Dan adik-adik junior yang telah memberikan semangat dan
11. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini. Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, kepada pembaca agar kiranya memberikan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Sehingga dapat bermanfaat bagi kita semuanya.
Medan, Februari 2015 Penulis, ( Indah Mustika Tanjung )
IMPLEMENTASI ALGORITMA KNUTH-MORRIS-PRATH STRING
MATCHING UNTUK MENCARI KATA ATAU ISTILAH PADAKAMUS KOMPUTER BERBASIS ANDROID
ABSTRAK
Kamusadalahbukuacuan yang digunakan manusia untuk menerjemahkan suatu bahasa/istilah asing. Pada umumnya disusun menurut abjad berikut keterangan tentangmaknanya, pemakaiannya, atau terjemahannya. Demikian halnya dengan kamus istilah komputer sangat diperlukan dalam menerjemahkan istilah komputer. Begitu banyak metode algoritma yang dapat digunakan dalam pembuatan aplikasi kamus, salah satunya dengan menggunakan algoritma Knuth Morris Pratt (KMP). Dengan algoritma ini, setiap teks yang akan diterjemahkan akan ditinjau kata-kata untuk kemudian dicari kecocokannya dengan kata padanan dalam istilah yang terhadap penerapan algoritma Knuth Morris Pratt ini dalam aplikasi kamus istilah komputer pada smartphone Android. Didapatkan hasil dengan menggunakan Algoritma Knuth Morris Pratt bahwa aplikasi ini dapat membantu pengguna gadget untuk mencari kata atau istilah pada kamus komputer berbasis Android.
Kata-kata Kunci : Algoritma, String Matching, Knuth-Morris-Pratt (KMP), Kamus, Android.
TO FIND THE WORD OR TERM ON ANDROID BASED
COMPUTER DICTIONARY
ABSTRACT
Dictionary is a reference book that we used to translate a language / foreign terms.Generally, the following is alphabetical with description of its meaning, its use, or its translation. Similarly, the dictionary of computer terms is needed in translating the computer term. So many methods of algorithms that can be used in the making of an dictionary application, one of them by using the algorithm of Knuth Morris Pratt then searched for compatibility with the word equivalent in terms desired. In this study the authors will perform an analysis and a tests on the application of this Knuth
Morris Pratt algorithm in computer terms dictionary app on Android smartphone. Is
obtained by using the algorithm of Knuth Morris Pratt that this application can help users gadget to search for words or terms in the dictionary of computer -based
Android .
Keywords: Algoritm, String Matching, Knuth - Morris - Pratt ( KMP ) , Dictionary, Android. halaman Persetujuan ii
Pernyataaan iii
2.4.4. Arsitektur Android
2.2.4. Fungsi Pembanding String
10
2.2.5. Klasifikasi Pencocokan String
12
2.3. Mobile Device
14
2.4. Android
15
2.4.1. Sejarah Android
15
2.4.2. Pengertian Android
16
2.4.3. Versi Android
16
18
2.2.3. Fungsi Pinggiran
2.5. Database
19
2.5.1. Menggunakan Format CSV
19
2.6. Kamus
21 BAB 3. ANALISIS DAN PERANCANGAN SISTEM
22
3.1. Analisis System
22
3.1.1. Analisis kebutuhan Sistem
23
3.2. Analisis Kebutuhan Sistem
23
3.2.1. Kebutuhan Fungsional
8
8
Penghargaan iv
3
Abstrak v
Abstract vi
Daftar isi vii
Daftar tabel ix
Daftar gambar x
BAB 1. PENDAHULUAN
1
1.1. Latar Belakang
1
1.2. Rumusan Masalah
2
1.3. Batasan Masalah
3
1.4. Tujuan Penelitian
1.5. Manfaat Penelitian
2.2.2. Algoritma Knuth Morris Pratt StringMatching
3
1.6. Metodologi Penelitian
4
1.7. Sistematika Penulisan
5 BAB 2. TINJAUAN PUSTAKA
6
2.1. Definisi Algoritma
6
2.1.1. Algoritma
6
2.2. String
7
2.2.1. StringMatching
7
23
3.2.2. Kebutuhan Non-Fungsioanal
4.2.3. Halaman Tambah Kata
43
4.1. Pengujian Sistem
43
4.2. Implementasi Sistem
54
4.2.1. Halaman Utama
55
4.2.2. Halaman Cari kata
55
57
3.5.5. Rancangan Halaman Bantuan
4.2.4. Dataset .csv
58
4.2.5. Halaman Tentang
60
4.2.6. Halaman Bantuan
62 Kompleksitas Waktu Algoritma PROMETHEE
86 BAB 5. KESIMPULAN DAN SARAN
5.1. Kesimpulan
64
5.2. Saran
42 BAB 4. IMPLEMENTASI DAN PENGUJIAN
41
24
3.4.1. Flowchart System
3.3. Pemodelan Sistem
24
3.3.1. Use-Case Diagram
24
3.3.2. Activity Diagram
25
3.3.3. Sequence Diagram
31
3.4. Perancangan Sistem
32
33
3.5.4. Rancangan Halaman Tentang
3.4.2. Flowchart Algoritma Knuth Moriis Pratt
34
3.5. Perancangan Antarmuka Sistem (Interface)
36
3.5.1. Halaman Utama
36
3.5.2. Rancangan Halaman Cari Kata
38
3.5.3. Rancangan Halaman Tambah Kata
40
64 DAFTAR PUSTAKA
DAFTAR TABEL
halaman
Tabel 2.1. Fungsi Pinggiran Untuk Pattern abcabd8 Tabel 2.2 Pengklasifikasian dalam Use Case Diagram
21 Tabel 2.3. Tabel Relasi-relasi dalam Use Case Diagram
21 Tabel 3.1. Keterangan Bagian-Bagian Rancangan Halaman Utama
39 Tabel 3.2. Keterangan Bagian-Bagian Rancangan Pencarian Kata
41 Tabel 3.3. Keterangan Bagian-Bagian Rancangan Tambah Kata
42 Tabel 3.4. Keterangan Bagian-Bagian Rancangan Tentang Aplikasi
43 Tabel 3.5. Keterangan Bagian-Bagian Rancangan Bantuan Aplikasi
44
DAFTAR GAMBAR
43 Gambar 3.15. Rancangan Halaman Bantuan Aplikasi
63 Gambar 4.12 Bantuan Aplikasi Komputer
60 Gambar 4.11. Tentang Aplikasi Komputer
59 Gambar 4.10. Penyimpanan Kata Istilah Komputer
58 Gambar 4.9. Tambah Kata
57 Gambar 4.8. Contoh Fungsi Autocomplete
55 Gambar 4.7. Halaman Utama
50 Gambar 4.6. Hasil Pencarian Menggunakan Algoritma KMP
49 Gambar 4.5. Pergeseran Pola Ketika Ketidakcocokan Pada Posisi j Terjadi
48 Gambar 4.4. Batas Panjang m Dari Awalan x pt
47 Gambar 4.3. Awalan Panjang i Dari Pola Dengan Batas Lebar b[i]
47 Gambar 4.2. Perpanjangan Perbatasan
44 Gambar 4.1. Perbatasan r, s dari a string x
42 Gambar 3.14. Rancangan Halaman Tentang Aplikasi
halaman
40 Gambar 3.13. Rancangan Halaman Tambah Kata
39 Gambar 3.12. Rancangan Halaman Cari Kata
37 Gambar 3.11. Rancangan Halaman Utama
36 Gambar 3.10. Flowchart Proses KMP
33 Gambar 3.9. Flowchart System
32 Gambar 3.7. Activity Diagram System
31 Gambar 3.6. Activity Diagram Membandingkan Karakter Per Karakter
30 Gambar 3.5 Activity Diagram Menghitung Nilai Pergeseran Karakter
29 Gambar 3.4. Activity Diagram Proses Awal Menemukan Karakter
28 Gambar 3.3. Activity Diagram Panjang Teks dan Pattern
28 Gambar 3.2. Use Case Algoritma Knuth Morris Pratt
25 Gambar 3.1. Diagram Ishikawa Untuk Analisis Masalah
Gambar 2.1. AndroidArchitecture63