PADA PLATFORMANDROID
SKRIPSI
ARIEF TRY HIDAYAT 101401080
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PADA PLATFORM ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer
ARIEF TRY HIDAYAT 101401080
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA PENCOCOKAN
STRING KNUTH-MORRIS-PRATT DALAM PEMBUATAN KAMUS KEDOKTERAN PADA PLATFORM ANDROID.
Kategori : SKRIPSI
Nama : ARIEF TRY HIDAYAT
Nomor Induk Mahasiswa : 101401080
Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 2015 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Maya Silvi Lydia, B.Sc, M.Sc. Dr. Poltak Sihombing, M.Kom NIP. 197401272002122001 NIP. 196203171991031001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA PENCOCOKAN STRING KNUTH-MORRIS-PRATTDALAM PEMBUATAN KAMUS
KEDOKTERAN 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.
Medan, 2015
PENGHARGAAN
Alhamdulillahirrabbil’alamin. Puji dan syukur penulis ucapkan atas kehadirat Allah SWT yang telah memberikan limpahan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Shalawat beriring salam penulis juga persembahkan kepada Nabi Besar Muhammad SAW.
Dengan segala kerendahan hati, pada kesempatan ini penulis menyampaikan terima kasih kepada semua pihak yang telah membantu penyelesaian skripsi dengan judul Implementasi Algoritma Pencocokan String Knuth-Morris-Pratt dalam Pembuatan Kamus Kedokteran pada Platform Android. Penulis mengucapkan terima kasih kepada:
1. Bapak Prof. Subhilhar, Ph.D sebagai PJ Rektor Universitas Sumatera Utara (USU).
2. Bapak Prof. Dr. Muhammad Zarlis sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara dan Dosen Pembimbing I yang telah memberikan arahan dan motivasi kepada penulis dalam pengerjaan skripsi ini.
4. Ibu Maya Silvi Lydia, BSc. MSc sebagai Sekretaris Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara dan Dosen Pembimbing II yang telah memberikan arahan dan motivasi kepada penulis dalam pengerjaan skripsi ini.
5. Ibu Dian Rachmawati, S.Si, M.Kom dan Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. selaku Dosen penguji yang telah memberikan saran dan kritik kepada penulis dalam penyempurnaan skripsi ini.
6. Seluruh Dosen serta staf Pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
7. Kedua Orangtua penulis tercinta Ibunda Elva dan Ayahanda Bariza Bachtiar, Abang dan Kakak tercinta Veroza Satria Utama, Azizah, Rendy Mardhika, dan Habibul Ummi yang telah memberikan do’a, dukungan, perhatian, kesabaran serta kasih sayang yang tulus serta pengorbanan yang tidak ternilai harganya.
S.Kom, Ivan Grace Halim, Mego Suntoro, S.Kom, M. Pristian, M. Khairil, Sobirin, S.Kom, Suhaili Hamdi, Safriatullah, S.Kom, Yohanes Armando Silitonga, S.Kom.
9. Teman- teman kuliah, khususnya Muhammad Reza Nasution, S.Kom, Ahmad Rasyidi, S.Kom, Wahyu Eko Putra, Dwi Rizki Ananda, S.Kom, Edo Affan serta Stambuk 2010 yang tidak dapat disebut satu-persatu, yang telah banyak membantu dalam pengerjaan skripsi ini.
10. Rekan-rekan pengurus IMILKOM (Ikatan Mahasiswa S1 Ilmu Komputer) Fasilkom-TI 2013-2014 yang telah memberikan banyak dukungan, tempat belajar berorganisasi yang benar, dan mendapatkan pengalaman yang tak ternilai.
11. Ade Mutiara Kartika Dewi Nasution yang selalu memberikan do’a, dukungan moral, semangat, perhatian yang tak ternilai kepada penulis dalam pengerjaan skripsi ini.
12. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.
Sekali lagi penulis mengucapkan terima kasih kepada semua pihak yang membantu dalam penyelesaian skripsi ini yang tidak dapat disebutkan satu persatu, terima kasih atas ide, saran dan motivasi yang diberikan. Semoga Allah SWT memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian, kasih sayang serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan karena kesempurnaan hanyalah milik Allah SWT semata. Oleh karena itu penulis menerima kritik dan saran dari semua pihak yang bersifat membangun dan menyempurnakan skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya.
Medan, September 2015 Penulis,
ABSTRAK
Kebutuhan masyarakat terhadap layanan teknologi semakin bervariasi. Media penyimpanan serta media pencarian terhadap suatu kamus yang cepat dan efisien menjadi salah satu kebutuhan tersebut. Namun disamping itu jarang ditemukan aplikasi mobile yang dapat memenuhi kebutuhan tersebut. Untuk itu dibuatlah sebuah aplikasi kamus kedokteran yang menerapkan algoritma Knuth-Morris-Pratt sebagai masalah pencariannya dan database SQLite sebagai penyimpanan data. Algoritma Knuth-Morris-Prattmenerapkan informasi pencarian yang disimpan untuk melakukan pergeseran yang lebih jauh, tidak hanya satu karakter agar dapat melakukan pencarian yang lebih cepat. Field yang digunakan dalam pencarian ini adalah istilah penyakit, dengan memasukkan nama istilah penyakit sebagai inputannya dalam pencarian, kemudian akan didapatkan hasil pencarian berupa arti dari istilah tersebut. Hasil dari aplikasi ini menampilkan keseluruhan pattern yang cocok dengan teks, dengan
kecepatan pencarian 0,06 detik.
THE IMPLEMENTATION OF KNUTH-MORRIS-PRATT STRING
MATCHING TO MAKE MEDICAL DICTIONARY IN
ANDROID PLATFORM
ABSTRACT
The needs for technology services more varied. The storage media and search media
for a fast and efficient dictionary is the one those needs. However, is rarely found a
mobile application that can comply those needs. Therefore, it made a medical
dictionary application which applying Knuth-Morris-Pratt algorithm as a matter of
search, and SQLite database as a data storage. Knuth-Morris-Pratt algorithm apply
search information which stored to do a further shift, not just one character in order to
do a faster search. The fields that are used in this quest is a term of the disease by
inserting it as an input in search, then get the results in the form of the meaning from
the term disease. The result of this application show the whole patterns that arematch
with text, with the speed of searching is 0.06 seconds for one character.
DAFTAR ISI
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 Metodologi Penelitian 3
1.7 Sistematika Penulisan 4
Bab 2 Landasan Teori
2.1 Information Retrieval System 5 2.1.1 Pengertian Information Retrieval System 5 2.2 Pencocokan String(String Matching) 7 2.2.1 Pengertian Pencocokan String 7 2.2.2 Kerangka Kerja Pencocokan String 7 2.2.3 Kerangka Pikir Pencocokan String 8 2.2.4 Macam Algoritma Pencocokan String 10 2.3 Algoritma Knuth-Morris-Pratt 11
2.3.1 Fungsi Pinggiran Pada Algoritma
Knuth-Morris-Pratt 12
2.3.2 Pencarian Dengan Algoritma Knuth-Morris-Pratt 12 2.3.3 Kompleksitas Waktu Algoritma
Knuth-Morris-Pratt 15
2.3.4 Kelebihan Algoritma Knuth-Morris-Pratt 15
2.4 Eclipse 16
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 18
3.1.1 Analisis Masalah 18
3.1.2 Analisis Kebutuhan Sistem 20 3.1.2.1 Kebutuhan FungsionalSistem 20 3.1.2.2 Kebutuhan Non FungsionalSistem 20
3.1.3 Pemodelan 20
3.1.3.2Activity Diagram 23 3.1.3.3 SequenceDiagram 24 3.1.3.4Flowchart Sistem 24
3.2 Perancangan Sistem 26
3.2.1 Antarmuka Menu Utama 26 3.2.2 Antarmuka Menu Kosa Kata 27 3.2.3 Antarmuka Menu Tentang 28 3.2.4 Antarmuka Menu Navigation 28
Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi 30
4.1.1 Implementasi Algoritma Knuth-Morris-Pratt 30
4.2 Antarmuka Sistem 33
4.2.1 Tampilan Menu Utama 33 4.2.2 Tampilan Menu Kosa Kata 34 4.2.3 Tampilan Menu Tentang 34 4.2.4 Tampilan Menu Navigation 35
4.3 Pengujian Sistem 36
4.3.1 Pengujian Pencarian data istilah dengan Algoritma
Knuth-Morris-Pratt 36
4.3.2 Pengujian Waktu Pencarian data istilah dengan
Algoritma Knuth-Morris-Pratt 39 4.3.3 Pengujian Proses Tambah Data 41 4.3.4 Pengujian Proses Edit Data 41 4.3.5 Pengujian Proses Delete Data 42
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 44
5.2 Saran 44
Daftar Pustaka 46
Listing Program A-1
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1
Pencarian Kata Menggunakan Algoritma Knuth-Morris-Pratt Pencarian Kata Menggunakan Algoritma Boyer-Moore Pencarian Kata Menggunakan Algoritma Colossi Fungsi Pinggiran
Use Case Pencarian Istilah Kata
Use CaseProses Menginputkan Istilah Kata yang Dicari Use CaseProses Tampil Hasil Pencarian
Hasil Pencarian Data Istilah Dengan Algoritma Knuth-Morris-Pratt
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1
Iterasi metode Knuth-Morris-PrattPertama Iterasi metode Knuth-Morris-PrattKedua Iterasi metode Knuth-Morris-PrattKetiga
Iterasi metode Knuth-Morris-PrattKeempat DiagramIshikawa untuk Analisis Masalah Sistem Use Case DiagramSistem
Activity Diagram Sequence Diagram
FlowchartAlgoritma Knuth-Morris-Pratt Rancangan Antarmuka Menu Utama Rancangan Antarmuka Menu Kosa Kata Rancangan Antarmuka Menu Tentang Rancangan Antarmuka MenuNavigation Contoh Pencarian
Pencarian Kata