PERBANDINGAN ALGORITMA GALIL-SEIFERAS DAN ALGORITMA NOT SO NAΪVE DALAM APLIKASI KAMUS HUKUM SKRIPSI IRVI OKTANISA 141421057 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
PERBANDINGAN ALGORITMA GALIL-SEIFERAS DAN ALGORITMA NOT SO NAΪVE DALAM APLIKASI KAMUS HUKUM SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer OLEH : IRVI OKTANISA 141421057 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
PERSETUJUAN Judul : PERBANDINGAN ALGORITMA GALIL- SEIFERAS DAN ALGORITMA NOT SO NAΪVE DALAM APLIKASI KAMUS HUKUM. Kategori : SKRIPSI Nama : IRVI OKTANISA Nomor Induk Mahasiswa : 141421057 Program Studi : EKSTENSI S1 ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Diluluskan di Medan, 2016 Pembimbing 2 Pembimbing 1 Dian Rachmawati, S.Si., M.Kom Prof. Dr. Iryanto, M.Si NIP. 198307232009122004 NIP. 194604041971071001 Diketahui / Disetujui oleh Program Studi Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
PERNYATAAN PERBANDINGAN ALGORITMA GALIL-SEIFERAS DAN ALGORITMA NOT SO NAΪVE DALAM APLIKASI KAMUS HUKUM SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, Irvi Oktanisa 141421057
PENGHARGAAN Alhamdulillah. Puji dan syukur atas kehadirat Allah SWT yang telah memberikan rahmat dan karunia-nya kepada penulis untuk dapat menyelesaikan skripsi ini dalam waktu yang telah ditetapkan. Selama penyelesaian skripsi ini, banyak bantuan dan kerja sama serta doa dan dukungan dari berbagai pihak. Dalam kesempatan ini penulis ingin mengucapkan terima kasih kepada : 1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum. selaku Rektor Universitas Sumatera Utara 2. Bapak Prof. Dr. Opim Salim Sitompul, S.Si., 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 sekaligus selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam pengerjaan skripsi ini. 4. Ibu Maya Silvy Lydia, B.Sc. selaku Sekretaris Program Studi S1 Ilmu Komputer. 5. Bapak Prof. Dr. Iryanto, M.Si. selaku Dosen Pembimbing I yang telah memberikan motivasi, arahan serta masukan yang sangat penulis butuhkan dalam pengerjaan skripsi ini. 6. Ibu Dian Rachmawati, S.Si., M.Kom. selaku Dosen Pembimbing II yang telah memberikan arahan, kritik dan saran serta motivasi kepada penulis dalam pengerjaan skripsi ini. 7. Bapak Muhammad Andri Budiman selaku Dosen Pembanding II yang telah memberikan arahan, kritik serta masukan yang sangat penulis butuhkan dalam pengerjaan skripsi ini. 8. Ayahanda Irawan,B.E dan Ibunda Juriah Siregar,S.Pd.M.Pd., serta keluarga yang selalu memberikan kasih sayang dan dukungannya kepada penulis. 9. Rekan-rekan kuliah Iqbal Habibie, Dwi Suciani Putri, Fauziah Rosi, Monalisa, Dhea Agie Wilya, dan teman-teman Kom C Ekstensi Ilkom 2014 yang tidak
dapat dituliskan satu per satu yang selalu memberikan semangat dan dorongan, serta motivasi kepada penulis selama menyelesaikan skripsi ini. 10. Teman terdekat saya Adriansyah Pami R. Siregar, Rufina Pramudita, Alyssa Fitri, Deanita Deslia Sari, Eka Rismi Ayu yang telah memberikan dukungan moril dalam penyelesaian tugas akhir ini. 11. Seluruh tenaga pengajar dan pegawai pada Fakultas Ilmu Komputer dan Teknologi Informasi USU, terkhususnya di Program Studi S-1 Ilmu Komputer. Semoga Allah SWT. melimpahkan berkah dan kasih sayang-nya kepada semua pihak yang telah memberikan bantuan, semangat, dukungan dan perhatian kepada penulis dalam menyelesaikan skripsi ini. Semoga skripsi ini bermanfaat bagi penulis, pendidikan, masyarakat, organisasi atau negara. Medan, Juli 2016 Penulis Irvi Oktanisa
ABSTRAK Kamus hukum merupakan daftar atau istilah-istilah yang terdapat pada bidang hukum yang menjelaskan tentang defenisi dari istilah hukum. Penggunan kamus cetak dinilai kurang efisien, maka dari itu diperlukan aplikasi yang menjadikannya lebih praktis dari segi penggunaan space dan efisien dari segi tingkat kesulitan dalam mencari istilah. Aplikasi kamus hukum ini menggunakan dua metode string matching yaitu algoritma Galil-Seiferas dan algoritma Not So Naϊve. Pada algoritma Galil-Seiferas fase pencarian dilakukan dari kiri ke kanan dengan melakukan inisialisasi yang dimulai dari indeks pertama sampai indeks terakhir dari pola, sedangkan pada algoritma Not So Naϊve fase pencarian dimulai dari indeks kedua dari pola sampai indeks terakhir. Dalam penelitian ini penulis mendapatkan hasil dari algoritma Galil- Seiferas dan algoritma Not So Naϊve yaitu hasil pencarian dan waktu proses rata-rata untuk algoritma Galil-Seiferas adalah 2,087 ms dan algoritma Not So Naϊve adalah 2,456 ms. Kata Kunci : searching, Algoritma Galil-Seiferas, Algoritma Not So Naϊve, kamus hukum
COMPARRISON OF GALIL-SEIFERAS ALGORITHM AND NOT SO NAΪVE ALGORITHM ON THE APPLICATION OF LAW DICTIONARY ABSTRACT Law dictionaries are lists of the terminology on the law term explained about definition from terminology of law. Using analog dictionary is unefficient, so it is required an application to make it is useful by seiing from the using space and efficient by seiing the adversity to search the term. This dictionary of law application uses two string matching methods are Galil-Seiferas algorithm and Not So Naϊve algorithm. On Galil-Seiferas algorithm the processing phase do from left to the right to do the initialization to start from the first index until the last index from the pattern, but on Not So Naϊve algorithm the processing phase start from the second index of the pattern until the last index. In this research it is proven that Galil-Seiferas algorithm and Not So Naϊve algorithm have the result of search and the average time of process from Galil-Seiferas algorithm is 2,087 ms and Not So Naϊve algorithm is 2,456 ms. Keywords: searching, Galil-Seiferas algorithm, Not So Naϊve algorithm, law dictionary
DAFTAR ISI Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar halaman i ii iii v vi vii x xi BAB 1 BAB 2 BAB 3 PENDAHULUAN 1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Batasan Masalah 3 1.4 Tujuan 3 1.5 Manfaat Penelitian 3 1.6 Metode Penelitian 4 1.7 Sistematika Penulisan 5 LANDASAN TEORI 2.1 Algoritma 6 2.2 Algoritma Pencocokan String 7 2.3 Algoritma Galil-Seiferas 9 2.4 Algoritma Not So Naϊve 14 2.5 Kompleksitas Algoritma 17 2.5.1. Big Ο (Ο) 18 2.5.2. Big Omega (Ω) 18 2.5.3. Big Theta (ϴ) 18 2.6 Kamus 18 2.7 Hukum 19 ANALISIS DAN PERANCANGAN 3.1 Analisis 21 3.1.1 Analisis Kebutuhan 22 3.1.1.1 Analilis Fungsional 22 3.1.1.2 Analisis Non-Fungsional 22 3.1.2 Permodelan 23 3.1.2.1 Permodelan Persyaratan Sistem dengan Use Case 23
3.1.2.2 Activity Diagram 25 3.1.2.3 Sequence Diagram 27 3.1.3 Flowchart Algoritma Galil-Seiferas 29 3.1.4 Flowchart Algoritma Not So Naϊve 33 3.1.5 Flowchart Sistem 35 3.1.6 Analisis Data 36 3.2 Perancangan 37 3.2.1 Perancangan Database 37 3.2.1.1 Struktur Tabel 38 3.2.1.2 Relasi Antar Tabel 39 3.2.2 Perancangan Antar Muka 39 3.2.2.1 Perancangan Menu Utama 39 3.2.2.2 Perancangan Menu List Kamus 41 3.2.2.3 Perancangan Menu Otoritas 42 3.2.2.4 Perancangan Login 43 3.2.2.5 Perancangan Data Kamus 44 3.2.2.6 Perancangan Data User 45 3.2.2.7 Perancangan Pencarian 46 3.2.2.8 Perancangan About 48 BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi 49 4.1.1 Implementasi Pencarian Kata dengan Algoritma Galil-Seiferas 49 4.1.2 Implementasi Pencarian Kata dengan Algoritma Not So Naϊve 51 4.1.3 Spesifikasi Perangkat Keras 53 4.1.4 Spesifikasi Perangkat Lunak 53 4.1.5 Implementasi Menu Utama 53 4.1.5.1 Implementasi Data Login 54 4.1.5.2 Implementasi Menu Otoritas 55 4.1.5.3 Implementasi Menu Pencarian 55 4.1.5.4 Implementasi Data Hukum 56 4.1.5.5 Implementasi Data User 57 4.1.5.6 Implementasi Menu List Kamus 57 4.1.5.7 Implementasi About 58 4.2 Pengujian 59 4.2.1 Kata Algoritma Galil-Seiferas dan Algoritma Not So Naϊve 59 4.3 Kompleksitas Algoritma Galil-Seiferas 65 4.4 Kompleksitas Algoritma Not So Naϊve 67
BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan 65 5.2 Saran 66 DAFTAR PUSTAKA LAMPIRAN
DAFTAR TABEL halaman Tabel 3.1 Dokumentasi Naratif Use Case 25 Tabel 3.2 Keterangan Bagian-bagian Rancangan Form Pencarian 27 Tabel 3.3 Sampel Data Kamus 36 Tabel 3.4 Tabel User 38 Tabel 3.5 Tabel Kamus 38 Tabel 3.6 Keterangan Bagian-bagian Rancangan Menu Utama 40 Tabel 3.7 Keterangan Bagian-bagian Rancangan menu List Kamus 41 Tabel 3.8 Keterangan Bagian-bagian Rancangan Menu Otoritas 42 Tabel 3.9 Keterangan Bagian-bagian Rancangan Data Login 43 Tabel 3.10 Keterangan Bagian-bagian Rancangan Data Kamus 44 Tabel 3.11 Keterangan Bagian-bagian Rancangan Data User 45 Tabel 3.12 Keterangan Bagian-bagian Rancangan Pencarian 46 Tabel 3.13 Keterangan Bagian-bagian Perancangan About 48 Tabel 4.1 Inisialisasi Algoritma Galil-Seiferas 49 Tabel 4.2 Contoh Kata dalam Pengujian 60 Tabel 4.3 Analisis Hasil dan Waktu Proses Algoritma Galil-Seiferas dan Algoritma Not So Naϊve 62 Tabel 4.4 Kompleksitas Algoritma Galil-Seiferas Waktu Big-ϴ(n) 65 Tabel 4.5 Kompleksitas Algoritma Not So Naϊve Waktu Big-ϴ(m x n) 67
DAFTAR GAMBAR halaman Gambar 2.1 Mekanisme Sliding Windows 8 Gambar 2.2 Pencocokan dari Karakter Paling kiri ke Paling Kanan Pattern 8 Gambar 2.3 Pencocokan dari Karakter Paling Kanan ke Paling Kiri Pattern 8 Gambar 2.4 Pencocokan Pattern y 2 Dimulai dari Karakter Paling Kiri 9 Gambar 2.5 Pencocokan Pattern y 1 Dimulai dari Karakter Paling Kanan 9 Gambar 2.6 Faktorisasi Sempurna x 10 Gambar 2.7 Fase Pencarian dengan Algoritma Galil-Seiferas 14 Gambar 2.8 Fase Pencarian dengan Algoritma Not So Naive 16 Gambar 3.1 Diagram Ishikawa 21 Gambar 3.2 Use Case Diagram 24 Gambar 3.3 Activity Diagram 26 Gambar 3.4 Sequence Diagram Sistem 28 Gambar 3.5 Flowchart void search Algoritma Galil-Seiferas 29 Gambar 3.6 Flowchart void parse Algoritma Galil-Seiferas 30 Gambar 3.7 Flowchart newp 2 Algoritma Galil-Seiferas 31 Gambar 3.8 Flowchart void newp 1 Algoritma Galil-Seiferas 32 Gambar 3.9 Flowchart Algoritma Not So Naive 34 Gambar 3.10 Flowchart Sistem 35 Gambar 3.11 Relasi Antar Tabel 39 Gambar 3.12 Rancangan Menu Utama 40 Gambar 3.13 Rancangan Menu List Kamus 41 Gambar 3.14 Rancangan Menu Otoritas 42 Gambar 3.15 Rancangan Data Login 43 Gambar 3.16 Rancangan Data Kamus 44 Gambar 3.17 Rancangan Data User 45 Gambar 3.18 Rancangan Pencarian 46 Gambar 3.19 Rancangan About 48 Gambar 4.1 Implementasi Menu Utama 54 Gambar 4.2 Implementasi Login 54 Gambar 4.3 Implementasi Menu Otoritas 55
Gambar 4.4 Implementasi Menu Pencarian 56 Gambar 4.5 Implementasi Data Kamus 56 Gambar 4.6 Implementasi Data User 57 Gambar 4.7 Implementasi Menu List Kamus 58 Gambar 4.8 Implementasi About 59 Gambar 4.9 Grafik Hasil Waktu Proses Algoritma Galil-Seiferas dan Algoritma Not So Naϊve 63 Gambar 4.10 Grafik Total dan Rata-rata Waktu Proses Algoritma Galil-Seiferas dan Algoritma Not So Naϊve 64