NOT SO NAIVE
DAN
SKIP SEARCH
PADA PLATFORM ANDROID
SKRIPSI
RICKY WIJAYA
121401081
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PADA PLATFORM ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh gelar Sarjana Komputer
RICKY WIJAYA 121401081
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : PERBANDINGAN ALGORITMASTRING MATCHING NOT SO NAIVEDANSKIP SEARCHPADA PLATFORM ANDROID
Kategori : SKRIPSI
Nama : RICKY WIJAYA
Nomor Induk Mahasiswa : 121401081
Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 25 Oktober 2016
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dr. Maya Silvi Lydia, M.Sc Prof. Dr. Muhammad Zarlis, M.Sc NIP. 19740127 200212 2 001 NIP. 19570701 198601 1 003
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
PERBANDINGAN ALGORITMASTRING MATCHING NOT SO NAIVEDANSKIP SEARCH
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, 25 Oktober 2016
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa, karena rahmat dan izin-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. Banyak bantuan berupa kebaikan, buah pikiran dan kerjasama yang telah penulis peroleh selama menjalani studi sampai dengan penyelesaian skripsi ini. Oleh karena itu, sudah sepantutnya penulis menyampaikan ucapan terimakasih kepada pihak-pihak yang telah membantu.
Ucapan terima kasih penulis sampaikan kepada:
1. Bapak Prof. Dr. 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 Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
4. Ayahanda Oei Jian Min, Ibu tercinta Merry, dan kepada adik Cindy Wijaya yang selalu memberikan perhatian dan dukungan serta kasih sayang kepada penulis. 5. Bapak Prof. Dr. Muhammad Zarlis selaku Dosen Pembimbing I yang telah
memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
6. Ibu Dr. Maya Silvi Lydia, M.Sc selaku Wakil Dekan I Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara sekaligus Dosen Pembimbing II yang telah memberikan bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
7. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
9. Bapak Ade Candra, S.T, M.Kom selaku Dosen Pembimbing Akademik yang telah memberikan bimbingan, saran dan perhatian selama penulis menjalani studi di S1 Ilmu Komputer Universitas Sumatera Utara.
10. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU.
11. Teman - teman kuliah, kepada Johan, Boris, S.Kom, Vici, S.Kom, Ade Mutiara, S.Kom dan seluruh anak Kom B yang tidak bisa disebutkan satu-persatu, yang telah berbagi suka dan duka, semangat dan dorongan selama kuliah di S1 Ilmu Komputer hingga penulis dapat menyelesaikan skripsi ini
12. Stambuk 2012 yang telah memberikan semangat, teman diskusi dan teman seperjuangan dalam menggapai gelar Sarjana Komputer, terutama Jeklin, S.Kom, Maya, S.Kom, dan Nurhasbiah, S.Kom yang membagi ilmu dan membantu pengerjaan skripsi ini.
13. Teman – teman CBT Family (Khusuma, S.T, Melinda S.Psi, Conan, S.T, Ferani,
Stephanie dan Stanley) dan Stephanie Regina yang selalu memberikan semangat, dorongan, kesabaran dan hiburan sehingga penulis dapat menyelesaikan skripsi ini. 14. Senior 2011 terutama kepada Bang Satya, S.Kom dan Bang Andrus, S.Kom, Junior
013, teman – teman KTI dan teman – teman PAILITONG USU yang selalu menemani penulis mengerjakan revisi skripsi, memberikan saran dan bimbingan, serta hiburan agar penulis dapat menyelesaikan skripsi dengan lancar.
15. Semua pihak yang terlibat langsung atau tidak langsung yang penulis tidak dapat tuliskan satu per satu.
Semoga Tuhan Yang Maha Esa memberikan berkah kepada semua pihak yang telah memberikan bantuan, semangat, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini. Semoga skripsi ini dapat bermanfaat bagi pribadi, keluarga, masyarakat, organisasi dan negara.
Medan, 25 Oktober 2016 Penulis,
ABSTRAK
Ilmu psikologi mempunyai fungsi untuk menjelaskan apa, bagaimana, dan mengapa suatu tingkah laku bisa terjadi. Berdasarkan fungsi ilmu psikologi tersebut muncul istilah-istilah psikologi, media yang digunakan untuk memperkenalkan istilah psikologi adalah melalui kamus. Namun, diperlukan sebuah media baru yang praktis dan efektif seperti media Smartphone yang mendukung berbagai macam aplikasi seperti aplikasi kamus. Penelitian ini membahas tentang bagaimana melakukan pencarian kata pada Kamus Istilah Psikologi dengan menggunakan Algoritma String Matching. String matching merupakan bagian penting dari sebuah proses pencarian string (string searching) dalam sebuah dokumen. Algoritma string matching yang digunakan dalam penelitian ini adalah Algoritma Not So Naive danSkip Search. Penelitian ini bertujuan untuk membandingkan kompleksitas waktu (O) sertarunning timeuntuk AlgoritmaNot So Naive dan Skip Search yang diimplementasikan di dalam Aplikasi Kamus Istilah Psikologi yang dibuat. Hasil dari penelitian ini menunjukkan bahwa Algoritma Not So Naivelebih lambat dibanding AlgoritmaSkip Searchuntuk proses pencarian kata. Hasil rata-rataRunning TimeAlgoritmaNot So Naiveadalah 38msdan AlgoritmaSkip Search hanya 33 ms, dimana Algoritma Not So Naivedan Skip Searchsama – sama memiliki kompleksitasO(mn).
THE COMPARISON OF STRING MATCHING ALGORITHM
NOT SO NAIVE AND SKIP SEARCH
ON ANDROID PLATFORM
ABSTRACT
The Science of Psychology have a function to explain what, how and why a certain desired behavior can happen. Based on the function of the science of psychology appear term psychology, the medium used to introduce term psychology is through a dictionary. However, we required a new media that is pratical and efficient such as Smartphone that support various application such as dictionary application. This research discusses about how to search word on Term Psychology Dictionary with String Matching Algorithm. String matching is an important part of string searching process on a document. String Matching Algorithm used in this research is Not So Naive Algorithm and Skip Search Algorithm. This research attempts to compare Complexity Time (O) and Running time for Not So Naive Algorithm and Skip Search Algorithm which implemented in the Term Psychology Dictionary. The results of this research indicate that Not So Naive Algorithm is slower than Skip Search Algorithm in searching word. The average yield Running Time for Not So Naive Algorithm is 38 ms and Skip Search algorithm only 33 ms, where Not So Naive Algortihm and Skip Search Algortihm complexity isO(mn)
Keywords : Dictionary, String Matching, Skip Search Algorithm, Not So Naive
DAFTAR ISI
2.1.1 AlgoritmaString Matching (pencocokan string) 6 2.1.1.1 AlgoritmaNot So Naive 8 2.1.1.1.1 Pencarian AlgoritmaNot So Naive 8 2.1.1.2 AlgoritmaSkip Search 10
2.1.1.2.1 FasePreprocessingAlgoritmaSkip Search 11 2.1.1.2.2 Fase Pencarian AlgoritmaSkip Search 12
2.2 Kompleksitas Algoritma 13
2.3 Kamus 14
2.4 Android 15
2.4.1 Versi Android 15
2.5 Penelitian yang Relevan 17
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 18
3.1.1 Analisis Masalah 18
3.1.2 Analisis Persyaratan 19
3.1.3.1Use CaseDiagram 21
3.1.3.2ActivityDiagram 24
3.1.3.3SequanceDiagram 26
3.2Flowchart 27
3.2.1FlowchartGambaran Umum Sistem 28 3.2.2FlowchartAlgoritmaNot So Naive 29 3.2.3FlowchartAlgoritmaSkip Search 30
3.3 Kamus Data 31
3.4 Perancangan Antarmuka Sistem (Interface) 32 3.4.1 Rancangan HalamanSplash Screen 32 3.4.2 RancanganNavigation Drawer 33
3.4.3 Rancangan HalamanHome 34
3.4.4 Rancangan HalamanAbout 37
3.4.5 Rancangan HalamanHelp 37
Bab 4 Implementasi dan Pengujian
4.1 Implementasi 39
4.1.1 Tampilan HalamanSplash Screen 39 4.1.2 TampilanNavigation Drawer 40
4.1.3 Tampilan HalamanHome 41
4.1.4 Tampilan HalamanAbout 42
4.1.5 Tampilan HalamanHelp 43
4.1.6 Tampilan HalamanExit 44
4.2 Pengujian Sistem 44
4.2.1 Pengujian pencarian kata pada Kamus Istilah Psikologi
dengan AlgoritmaNot So Naive 44 4.2.2 Pengujian pencarian kata pada Kamus Istilah Psikologi
dengan AlgoritmaSkip Search 51
4.3 Hasil Pengujian 56
4.4 Kompleksitas Algoritma 60
4.4.1 Kompleksitas AlgoritmaNot So Naive 60 4.4.2 Kompleksitas AlgoritmaSkip Search 62
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 64
5.2. Saran 65
DAFTAR TABEL
Halaman
Tabel 2.1 Proses Pencocokan Algoritma Not So Naive di Percobaan Pertama 9 Tabel 2.2 Proses Pencocokan AlgoritmaNot So Naivedi Percobaan Kedua 9 Tabel 2.3 Proses Pencocokan AlgoritmaNot So Naivedi Percobaan Ketiga 9 Tabel 2.4 Proses Pencocokan AlgoritmaNot So Naivedi Percobaan Keempat 9 Tabel 2.5 Proses Pencocokan AlgoritmaNot So Naivedi Percobaan Kelima 10 Tabel 2.6 Proses Pencocokan algoritmaNot So Naivedi Percobaan Keenam 10 Tabel 2.7 Tabel Teks dan Pola yang akan Dijadikan Contoh Kasus 11 Tabel 2.8 Tabel Hasilpreprocessingdari AlgoritmaSkip Search 12
Tabel 2.9 Versi–Versi Android 15
Tabel 3.1 TabelUse CaseMemilihModeuntuk kata yang akan diartikan 22 Tabel 3.2 TabelUse CaseProsesInputkata 23 Tabel 3.3 TabelUse CaseProses AlgoritmaNot So Naive 23 Tabel 3.4 TabelUse CaseProses AlgoritmaSkip Search 24
Tabel 3.5 Kamus Data 32
DAFTAR GAMBAR
Halaman
Gambar 2.1 Penentuan Panjangwindowdan Karakter Tengah
yang akan Digunakan dalam Proses Pencocokan 1 12 Gambar 2.2 Penentuan Panjangwindowdan Karakter Tengah
yang akan Digunakan dalam Proses Pencocokan 2 13 Gambar 2.3 Logo-logo android dari versi 1.0–6.0 16
Gambar 3.1 DiagramIshikawa 19
Gambar 3.2 Use Case DiagramSistem 21
Gambar 3.3 Activity DiagramSistem 25
Gambar 3.4 Sequence DiagramSistem 26
Gambar 3.5 FlowchartGambaran Umum Sistem Kamus Istilah Psikologi 28 Gambar 3.6 FlowchartAlgoritmaNot So Naïve 29 Gambar 3.7 FlowchartAlgoritmaSkip Search 30 Gambar 3.8 Pre-processing Algoritma Skip Search 31 Gambar 3.9 Rancangan TampilanSplash Screen 33 Gambar 3.10 Rancangan TampilanNavigation Drawer 34 Gambar 3.11 Rancangan TampilanHome 35 Gambar 3.12 RancanganIntentdariList View Mode
Istilah Psikologi–Definisi 36
Gambar 3.13 Rancangan HalamanAbout 37
Gambar 3.14 Rancangan HalamanHelp 38
Gambar 4.1 Tampilan HalamanSplash Screen 40 Gambar 4.2 Tampilan HalamanNavigation Drawer 40
Gambar 4.3 Tampilan HalamanHome 41
Gambar 4.3.1 TampilanToast Message 42 Gambar 4.3.2 Tampilan HalamanIntentSaat Salah Satu
Kata diList Viewdi Klik 42
Gambar 4.4 Tampilan HalamanAbout 43
Gambar 4.5 Tampilan HalamanHelp 43
Gambar 4.6 Tampilan HalamanExit 44
Gambar 4.7 Perbandingan HasilRunning Time
AlgoritmaNot So Naivedan AlgoritmaSkip Search 59 Gambar 4.8 Perbandingan TotalRunning Time
DAFTAR LAMPIRAN
Halaman
A.ListingProgram A-1