IMPLEMENTASI ALGORTIMA PENCOCOKAN STRING COLUSSI PADA APLIKASI KAMUS BIOLOGI BERBASIS ANDROID SKRIPSI DIAN SARTINI 121401053 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
IMPLEMENTASI ALGORTIMA PENCOCOKAN STRING COLUSSI PADA APLIKASI KAMUS BIOLOGI BERBASIS ANDROID Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer Dian Sartini 121401053 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
ii PERSETUJUAN Judul : IMPLEMENTASI ALGORITMA PENCOCOKAN STRING COLUSSI PADA APLIKASI KAMUS BIOLOGI BERBASIS ANDROID. Kategori : SKRIPSI Nama : DIAN SARTINI Nomor Induk Mahasiswa : 121401053 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen Fakultas : ILMU KOMPUTER : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, 2016 Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Amer Sharif, S.Si.,M.Kom Prof. Dr. Muhammad Zarlis,M.Sc NIP. 195707011986011003 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
iii PERNYATAAN IMPLEMENTASI ALGORITMA PECOCOKAN STRING COLUSSI PADA APLIKASI KAMUS BIOLOGI 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, 2016 Dian Sartini 121401053
iv PENGHARGAAN Alhamdulillah. Penulis panjatkan Puji dan syukur kehadirat Allah SWT, yang dengan rahmat dan kasih sayang-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 Colussi Dalam Pembuatan Kamus Biologi pada Aplikasi Android, penulis menyadari bahwa banyak pihak yang turut membantu, baik dari pihak keluarga, sahabat dan orang-orang terkasih yang memotivasi dalam pengerjaannya. Dalam kesempatan ini, penulis mengucapkan terima kasih kepada: 1. Bapak Prof. Runtung Sitepu, SH, M.Hum selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Opim Salim Sitompul M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi. 3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. 4. Bapak Prof. Muhammad Zarlis selaku serta Dosen Pembimbing I yang telah memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam pengerjaan skripsi ini. 5. Bapak Amer Sharif, S. Si., M.Kom selaku Dosen Pembimbing II yang telah memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam pengerjaan skripsi ini. 6. Bapak Dr. Syahril Efendi, S.Si., M.IT selaku Dosen Pembanding I yang telah banyak memberikan arahan dan masukan yang sangat berharga kepada penulis.
v 7. Bapak Ade Candra, ST, M.Kom selaku Dosen Pembanding II yang telah banyak memberikan arahan dan masukan yang sangat berharga kepada penulis. 8. Ayahanda Syarifuddin, Ibunda Ngatini, Abang dan Adik Tercinta Fitri Susanto, Shinta Abadi, dan Widodo Azaba Ilham yang mana telah banyak memberikan kasih sayang, semangat, serta dorongan kepada penulis. 9. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU, terkhususnya kepada bapak Andri Budiman, ibu Maya Silvi Lydia, ibu Dian Rachmawati yang telah menjadi orang tua kedua bagi penulis. 10. Grup CKR yang selama ini telah menjadi keluarga kedua penulis selama mengikuti perkuliahan, tempat berbagi suka dan duka dalam pengerjaan skripsi ini, kepada Dewi Zahra, Nurhaliza, Vici Indah Yana, Neno Rama Dhianita, Zuhru Finty, Nurmardiah. 11. Teman-teman kuliah, khususnya Akhiruddin Nur, Nurhasbiah, Rio Sinulingga, serta Stambuk 2012 yang tidak dapat disebut satu-persatu, yang telah banyak membantu dalam selesainya pengerjaan skripsi ini. 12. Rekan-rekan pengurus UKMI AL-KHUWARIZMI (Unit Kegiatan Mahasiswa Islam) Fasilkom-TI 2013-2014 yang telah memberikan banyak dukungan, tempat belajar berorganisasi yang benar, dan menimba pengalaman. 13. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat penulis ucapkan satu demi satu yang telah membantu penyelesaian laporan ini. Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Medan, 2016 Penulis, Dian Sartini
vi ABSTRAK Ilmu Biologi adalah ilmu yang membahas tentang kehidupan didunia dari segala aspek, baik itu makhluk hidup dan lingkungan. Dalam ilmu biologi banyak sekali pembendaharaan istilah yang mempunyai arti khusus yang sulit dimengerti, serta kemampuan seseorang yang terbatas dalam mengingat banyaknya istilah dalam ilmu biologi, dan seiring perkembangan teknologi sangat jarang masyarakat suka membawa kamus yang tebal dan merepotkan. Maka sangat dibutuhkan sebuah media pembelajaran yang bersifat praktis mudah dibawa dan bisa digunakan kapanpun dan dimanapun. Adapun media yang cocok digunakan untuk menjawab semua permasalahan diatas adalah dengan membangun aplikasi kamus berbasis android dengan menerapkan algoritma Colussi sebagai metode pencariannya dan database SQLite sebagai media penyimpanan data istilah biologi. Algoritma Colussi, menerapkan prinsip pencarian dengan melakukan pembagian pola menjadi dua himpunan, pada proses pencarian pertama dilakukan dari kiri kekanan, dan jika tidak ditemukan, maka melakukan proses kedua yaitu dari kanan kekiri. Field yang ingin dicari dalam proses pencarian adalah istilah biologi, dengan memasukkan istilah sebagai inputannya, kemudian akan mengetahui arti dari istilah tersebut. Hasil dari aplikasi ini menampilkan keseluruhan pattern yang cocok dengan teks. Kata Kunci : Desain dan Analisis Algoritma, Algoritma Colussi, Kamus Biologi.
vii AN IMPLEMENTATION OF STRING MATCHING COLUSSI ALGORITHM ON DICTIONARY OF BIOLOGY APPLICATION BASED ON ANDROID ABSTRACT Biological Sciences is a science which deals with all aspects of life on earth, both living beings and the environment. In the biological sciences a lot of terms that have special meaning is difficult to understand, as well as the ability of a person who is limited in considering the number of terms in the biological sciences, and as technology develops very rarely people like to carry a thick and cumbersome dictionaries. So desperately needed a medium of learning that is both practical easy to carry and can be used anytime, anywhere. The media are suitable to address all the above problems is to build a dictionary application based on Android by applying Colussi algorithm as a method of search and SQLite database as a data storage medium biological terms. Colussi algorithm, applying the principles of search by simply dividing the pattern into two sets, the first search process is done from left to right, and if not found, then perform a second process that is of the right-left. Field to search in the search process is biological terms, by entering a term as input, then will know the meaning of the term. The results of this application show the entire pattern that matches the text. Biology. Keywords: Design and Analysis of Algorithms, Colussi Algorithm, Dictionary of
viii DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Daftar Lampiran ii iii iv vi vii viii x xi xii 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 Metodologi Penelitian 3 1.7 Sistematika Penulisan 4 Bab 2 Landasan Teori 2.1 Kamus 6 2.2 Android 6 2.3 Sejarah Android 6 2.4 Visual Basic 6 2.6 Basic4Android 7 2.7 Definisi Algoritma 7 2.7.1 AlgoritmaString Mathcing 7 2.7.1.1 Pentingnya Algoritma String Matching 7 2.7.1.1 Pengertian String Matching 8 2.7.2 Algoritma Colussi 9 2.7.3 Proses pencarian Pattern dengan Algoritma Colussi 9 Bab 3 Analisis dan Perancangan Sistem 3.1 Analisis Sistem 17 3.1.1 Analisis Masalah 17 3.1.2 Analisis Kebutuhan Sistem 18 3.1.2.1 Kebutuhan Fungsional Sistem 18 3.1.2.2 Kebutuhan Non-Fungsional Sistem 19 3.1.3 Pemodelan 19 3.1.3.1 Use Case Diagram 19 3.1.3.2 Activity Diagram 22 3.1.3.3 Sequence Diagram 23 3.1.3.4 Kamus Data 24 3.1.3.5 Flowchart Sistem dan Algoritma 24
ix 3.2 Perancangan Sistem 32 3.2.1 Menu Kamus 32 3.2.2 Menu Navigasi 33 3.2.3 Menu Bantuan 33 3.2.4 Menu Tentang 35 3.2.5 Menu Proses Pencarian 36 Bab 4 Implementasi dan Pengujian Sistem 4.1 Implementasi 37 4.1.1 Implementasi Algoritma Colussi 37 4.2 Antarmuka Sistem 38 4.2.1 Menu Flash 39 4.2.2 Menu Utama 40 4.2.3 Menu Navigasi 40 4.2.4 Menu Bantuan dan Tentang 41 4.2.5 Menu Proses Pencarian 42 4.2.6 Menu Keluar 43 4.3 Pengujian 44 4.3.1 Pengujian Data Kamus dengan Algoritma Colussi 44 Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 48 5.2 Saran 49 Daftar Pustaka 50
x DAFTAR TABEL Nomor Tabel 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.3.1 Nama Tabel Tabel Precolussi Proses Perhitungan hmax [1] Proses Perhitungan kmin Proses Perhitungan rmin Proses perhitungan nilai h[i] Proses perhitungan nilai shift[i] Langkah pertama pergeseran dan pencocokan karakter Langkah kedua pergeseran dan pencocokan karakter Langkah ketiga pergeseran dan pencocokan karakter Langkah keempat pergeseran dan pencocokan karakter Langkah kelima pergeseran dan pencocokan karakter& cocok Deskripsi Use Case menampilkan Field pencarian Deskripsi Use Casemenginputkan istilah Deskripsi Use Case menampilkan hasil pencarian Kamus Data Keterangan gambar rancangan interfacemenu Kamus Keterangan gambar rancangan interface Menu Navigasi Keterangan gambar rancangan interface Menu Bantuan Keterangan gambar rancangan interface Menu Tentang Keterangan gambar rancangan interfacemenu Proses Pengujian Pencarian Data Kamus Menggunakan Algoritma Colussi Halaman 10 11 11 12 13 13 14 14 15 15 15 20 21 21 24 32 33 34 35 36 44
xi Nomor Gambar 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 DAFTAR GAMBAR Nama Gambar Diagram Ishikawa Use Case Diagram Activity Diagram Sequence Diagram Flowchart sistem pencarian istilah dengan Algoritma Colussi Flowchart Algoritma Colussi Flowchart proses perhitungan hmax Flowchart proses perhitungan kmin Flowchart proses perhitungan rmin Flowchart proses perhitungan h Flowchart proses perhitungan shift Rancangan Interface Menu Kamus Rancangan Interface Menu Navigasi Rancangan Interface Menu Bantuan Rancangan Interface Menu Tentang Rancangan Interface Menu Pencarian Contoh pencarian Tampilan Menu Splash Screen Tampilan Menu Awal Tampilan Menu Navigasi Tampilan Menu Tentang Tampilan Menu Bantuan Tampilan Menu Proses Pencarian Tampilan pesan Data Ditemukan & waktu pencarian Tampilan Detail arti dari istilah Tampilan Menu Keluar Pencarian Halaman 18 20 22 23 25 26 27 28 29 30 31 31 32 33 34 35 36 38 39 40 40 41 41 42 43 43 43
xii DAFTAR LAMPIRAN A.Listing Program A-1 B.CurriculumVitae B-1