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
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
Diluluskan di
Medan, 2016
Komisi Pembimbing :
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,
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 Universitas Sumatera Utara.
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 Universitas Sumatera Utara.
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,
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.
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
1.7 Sistematika Penulisan 5
BAB 2 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
BAB 3 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.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
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 Patterny2 Dimulai dari Karakter Paling Kiri 9
Gambar 2.5 Pencocokan Patterny1 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 newP2 Algoritma Galil-Seiferas 31
Gambar 3.8 Flowchart void newP1 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.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