Perbandingan Algoritma Galil-Seiferas dan Algoritma Not So Naϊve Dalam Aplikasi Kamus Hukum

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

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

Universitas Sumatera Utara

PERSETUJUAN

Judul


: PERBANDINGAN ALGORITMA GALILSEIFERAS 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

NIP. 198307232009122004

Prof. Dr. Iryanto, M.Si
NIP. 194604041971071001

Diketahui / Disetujui oleh
Program Studi Ilmu Komputer
Ketua,

Dr. Poltak Sihombing, M.Kom
NIP. 196203171991031001

Universitas Sumatera Utara

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

Universitas Sumatera Utara

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,

Dhea Agie Wilya, dan teman-teman Kom C Ekstensi Ilkom 2014 yang tidak

Universitas Sumatera Utara

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

Universitas Sumatera Utara

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 GalilSeiferas 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

Universitas Sumatera Utara

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

Universitas Sumatera Utara

DAFTAR ISI
halaman
i
ii
iii
v
vi
vii
x
xi

Persetujuan

Pernyataan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
BAB 1

BAB 2

BAB 3

PENDAHULUAN
1.1 Latar Belakang
1.2 Rumusan Masalah
1.3 Batasan Masalah
1.4 Tujuan
1.5 Manfaat Penelitian
1.6 Metode Penelitian
1.7 Sistematika Penulisan

1
3
3
3
3
4
5

LANDASAN TEORI
2.1 Algoritma
2.2 Algoritma Pencocokan String
2.3 Algoritma Galil-Seiferas
2.4 Algoritma Not So Naϊve
2.5 Kompleksitas Algoritma
2.5.1. Big Ο (Ο)
2.5.2. Big Omega ( )
2.5.3. Big Theta (ϴ)
2.6 Kamus
2.7 Hukum

6
7
9
14
17
18
18
18
18
19

ANALISIS DAN PERANCANGAN
3.1 Analisis
21
3.1.1 Analisis Kebutuhan
3.1.1.1 Analilis Fungsional
3.1.1.2 Analisis Non-Fungsional

22
22
22

3.1.2 Permodelan
3.1.2.1 Permodelan Persyaratan Sistem dengan Use Case

23
23

Universitas Sumatera Utara

3.1.2.2 Activity Diagram
3.1.2.3 Sequence Diagram
3.1.3 Flowchart Algoritma Galil-Seiferas
3.1.4 Flowchart Algoritma Not So Naϊve
3.1.5 Flowchart Sistem
3.1.6 Analisis Data
3.2 Perancangan
3.2.1 Perancangan Database
3.2.1.1 Struktur Tabel
3.2.1.2 Relasi Antar Tabel
3.2.2 Perancangan Antar Muka
3.2.2.1 Perancangan Menu Utama
3.2.2.2 Perancangan Menu List Kamus
3.2.2.3 Perancangan Menu Otoritas
3.2.2.4 Perancangan Login
3.2.2.5 Perancangan Data Kamus
3.2.2.6 Perancangan Data User
3.2.2.7 Perancangan Pencarian
3.2.2.8 Perancangan About
BAB 4

IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
4.1.1 Implementasi Pencarian Kata dengan Algoritma
Galil-Seiferas
4.1.2 Implementasi Pencarian Kata dengan Algoritma
Not So Naϊve
4.1.3 Spesifikasi Perangkat Keras
4.1.4 Spesifikasi Perangkat Lunak
4.1.5 Implementasi Menu Utama
4.1.5.1 Implementasi Data Login
4.1.5.2 Implementasi Menu Otoritas
4.1.5.3 Implementasi Menu Pencarian
4.1.5.4 Implementasi Data Hukum
4.1.5.5 Implementasi Data User
4.1.5.6 Implementasi Menu List Kamus
4.1.5.7 Implementasi About
4.2 Pengujian
4.2.1 Kata Algoritma Galil-Seiferas dan Algoritma
Not So Naϊve
4.3 Kompleksitas Algoritma Galil-Seiferas
4.4 Kompleksitas Algoritma Not So Naϊve

25
27
29
33
35
36
37
37
38
39
39
39
41
42
43
44
45
46
48

49
49
51
53
53
53
54
55
55
56
57
57
58
59
59
65
67

Universitas Sumatera Utara

BAB 5

KESIMPULAN DAN SARAN
5.1 Kesimpulan
5.2 Saran

65
66

DAFTAR PUSTAKA
LAMPIRAN

Universitas Sumatera Utara

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

Universitas Sumatera Utara

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 y2 Dimulai dari Karakter Paling Kiri

9

Gambar 2.5

Pencocokan Pattern y1 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

Universitas Sumatera Utara

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

Universitas Sumatera Utara