Studi Perbandingan Kinerja Teoretis Dan Rill AlgoritmaExact String Matching Shift-And

STUDI PERBANDINGAN KINERJA TEORETIS DAN RILL ALGORITMA
EXACT STRING MATCHING SHIFT-AND
DAN MORRIS-PRATT
SKRIPSI
AGUSTIN SRI INTAN SINAGA
131401035

PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017

Universitas Sumatera Utara

STUDI PERBANDINGAN KINERJA TEORETIS DAN RILL ALGORITMA
EXACT STRING MATCHING SHIFT-AND
DAN MORRIS-PRATT
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer

AGUSTIN SRI INTAN SINAGA
131401035

PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017

Universitas Sumatera Utara

ii

PERSETUJUAN

Judul

Kategori
Nama
Nomor Induk Mahasiswa

Program Studi
Fakultas

: STUDI PERBANDINGAN KINERJA TEORETIS
DAN RILL ALGORITMA EXACT STRING
MATCHING SHIFT-AND DAN MORRIS-PRATT
: SKRIPSI
: AGUSTIN SRI INTAN SINAGA
: 131401035
: SARJANA (S1) ILMU KOMPUTER
: ILMU
KOMPUTER
DAN
TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, April 2017

Komisi Pembimbing:


Dosen Pembimbing II

Dosen Pembimbing I

Dian Rachmawati, S.Si, M.Kom.

M.Andri Budiman,S.T.,M.Comp.Sc.,M.E.M.

NIP 198307232009122 004

NIP. 1975 1008 2008 0110 11

Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,

Dr. Poltak Sihombing, M.Kom
NIP. 1962 0317 1991 0210 01

Universitas Sumatera Utara


iii

PERNYATAAN
STUDI PERBANDINGAN KINERJA TEORETIS DAN RILL ALGORITMA
EXACT STRING MATCHING SHIFT-AND
DAN MORRIS-PRATT

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan
dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 11 Februari 2017

Agustin Sri Intan Sinaga
131401035

Universitas Sumatera Utara


iv

UCAPAN TERIMA KASIH

Puji, syukur, hormat, serta kemuliaan penulis panjatkan kehadirat Allah Tritunggal
yang telah memberikan kesempatan kepada penulis untuk mengerjakan dan
menyelesaikan skripsi ini. Begitu banyak bantuan yang penulis dapatkan baik itu secara
moral dan materi untuk membantu kelancaran penulisan tugas akhir ini. Pada
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, M.Sc selaku Dekan Fakultas Ilmu
Komputer dan Teknologi Informasi Universitas Sumatera Utara.


3.

Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S-1 Ilmu
Komputer Universitas Sumatera Utara dan Dosen Pembanding I yang telah
memberikan kritik dan saran dalam penyempurnaan skripsi ini.

4.

Ibu Dr. Maya Silvi Lydia, M.Sc. selaku Pembimbing akademik yang telah
memberikan bimbingan dan dukungan kepada penulis.

5.

Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M. selaku Dosen Pembimbing
I yang telah memberikan bimbingan dan dukungan kepada penulis.

6.

Ibu Dian Rachmawati, S.Si, M.Kom. selaku Dosen Pembimbing II yang telah
memberikan bimbingan dan dukungan kepada penulis.


7.

Ibu Amalia, S.T., M.T. selaku Dosen Pembanding II yang telah memberikan kritik
dan saran dalam penyempurnaan skripsi ini.

8.

Seluruh tenaga pengajar dan pegawai pada Fakultas Ilmu Komputer dan Teknologi
Informasi USU, terkhususnya di Program Studi S-1 Ilmu Komputer.

Universitas Sumatera Utara

v

9.

Orangtua penulis, yaitu Bapak Wilfrid Sinaga dan Magdalena Simanjuntak untuk
setiap doa yang dipanjatkan, keringat dan air mata yang harus menetes dalam
perjuangan memberikan pendidikan yang baik kepada penulis, kakak dan abang

penulis yaitu Lasmey Sinaga, Julkifri Sinaga, Kristina Sinaga dan Junita Sinaga,
abang dan kakak ipar penulis yaitu Sumarlin Siregar, Wina Manurung, Harly
Silitonga, keponakan penulis yaitu Petra Siregar, Puspa Siregar, Putri Sinaga,
Grace Sinaga, Immanuel Alvin Sinaga, Philip Leo Siregar, Jeremy Silitongan, dan
Aristades Silitonga, untuk setiap doa, semangat, dorongan dan pengertian yang
diberikan selama penulis menyelesaikan skripsi ini dan untuk Ibunda tercinta yang
telah melahirkan penulis Rosmany Simanjuntak.

10. Sahabat – sahabat terbaik penulis di IOTA, yaitu Endang Tambunan, Evi
Marpaung, Hanna Manullang, Laura Hasibuan, dan Yuni Nainggolan, yang telah
memberikan doa dan dukungan selama penulis menjalani masa perkuliahan dan
pengerjaan skripsi.
11. Kelompok kecil CHARA CHARISSE, yaitu Erwin Sinaga, Ezra Sirait, Daniel
Siregar, Exaudi Naipospos yang telah memberikan doa dan dukungan selama
penulis menjalani masa perkuliahan.
12. Kakak Maya Hartina Hutagalung, Abang Muhammad Miftahul Huda, Mangasa
Manullang, Komunitas Mahasiswa Kristen Ilmu Komputer, rekan-rekan
Pemerintahan Mahasiswa Bidang Agama Kristen dan adik-adik serta teman-teman
Fakultas Ilmu Komputer dan Teknologi Informasi 2016 yang telah memberikan
semangat kepada penulis dalam penyelesaian skripsi ini.

Semoga Allah memberi kelimpahan berkat 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, 11 Februari 2017

Penulis

Universitas Sumatera Utara

vi

STUDI PERBANDINGAN KINERJA TEORETIS DAN RILL ALGORITMA
EXACT STRING MATCHING SHIFT-AND
DAN MORRIS-PRATT

ABSTRAK

Algoritma adalah urutan langkah–langkah komputasi yang mengubah input menjadi
output. Pseudocode adalah langkah-langkah yang mempermudah manusia untuk

memahami suatu algoritma dan mengimplementasikannya. Untuk mempermudah
pengguna dalam mencari pseudocose dari algoritma tertentu, dibuatlah sebuah aplikasi
pencarian string berbasis desktop dengan studi kasus Algoritma-Pseudocode. Penelitian
ini membandingkan kompleksitas waktu (Ө) serta running time untuk fase
preprocessing dan pencarian dari algoritma Shift-And dan Morris-Pratt yang
diimplementasikan di dalam sistem yang dibuat. Shift-And memiliki rata – rata waktu
pencarian yang lebih lama dibandingkan algoritma Morris-Pratt memiliki rata – rata
waktu pencarian yang lebih cepat. Pada fase preprocessing, algoritma Shift-And dan
Morris-Pratt memiliki kompleksitas waktu sebesar Ө(m). Pada fase pencarian,
algoritma Shift-And memiliki kompleksitas waktu sebesar Ө(n), sementara algoritma
Morris-Pratt memiliki kompleksitas waktu sebesar Ө(m+n).

Kata kunci : Algoritma, Pseudocode, Algoritma Exact String Matching, Shift-And,
Morris-Pratt, Notasi Asimptotik.

Universitas Sumatera Utara

vii

COMPARISON STUDY OF THEORETICAL AND REAL

PERFORMANCE OF EXACT STRING MATCHING
SHIFT-AND AND MORRIS-PRATT

ABSTRACT

The algorithm is a sequence of computational steps that transform inputs into outputs.
Pseudocodes are steps that facilitate human to understand and implements. To facilitate
users in finding pseudocose of certain algorithms was built a desktop search application
based string with case studies Algorithm-Pseudocode . This study compares the time
complexity (Ө) and running time for the preprocessing phase and the search algorithm
Shift-And and Morris-Pratt are implemented in the system are made. Shift-And has the
average seek time is more than Morris-Pratt algorithm has. In the preprocessing phase,
Shift-And algorithm and Morris-Pratt has a time complexity of Ө (m). In the search
phase, Shift-And algorithm has a time complexity of Ө (n), while Morris-Pratt
algorithm has a time complexity of Ө (m + n).

Keywords : Algorithm, Pseudocode, Exact String Matching Algorithms,
Morris-Pratt, Asymptotic Notation.

Shift-And,

Universitas Sumatera Utara

viii

DAFTAR ISI

PERSETUJUAN
PERNYATAAN
UCAPAN TERIMA KASIH
ABSTRAK
ABSTRACT
DAFTAR ISI
DAFTAR TABEL
DAFTAR GAMBAR

ii
iii
iv
vi
vii
viii
x
xi

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

1
2
2
3
3
3
4

BAB 2 TINJAUAN PUSTAKA
2.1
Algoritma
2.2
Algoritma Pencocokan String (String Matching Algorithm)
2.3
Algoritma Shift-And
2.3.1 Fase Preprocessing
2.3.2 Fase Pencarian
2.4
Algoritma Morris-Pratt
2.4.1 Fase Preprocessing
2.4.2 Fase Pencarian
2.5
Analisis Algoritma
2.6
Notasi Asimptotik
2.6.1 Notasi O
2.6.2 Notasi Ω
2.6.3 Notasi Ө

6
6
8
8
9
13
13
14
17
18
18
19
19

BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1
Analisis Sistem
3.1.1 Analisis Masalah
3.1.2 Analisis Kebutuhan
3.1.2.1
Kebutuhan Fungsional
3.1.2.2
Kebutuhan Non-Fungsional
3.1.3
Analisis Proses

21
21
23
23
23
24

Universitas Sumatera Utara

ix

3.2

BAB 4

BAB 5

Perancangan Sistem
3.2.1 Pemodelan Sistem
3.2.1.1
Use-case Diagram
3.2.1.2
Activity Diagram
3.2.1.3
Sequence Diagram
3.2.2 Flowchart
3.2.2.1
Flowchart preShift-And
3.2.2.2
Flowchart pre-MP
3.2.2.3
Flowchart Algoritma Shift-And
3.2.2.4
Flowchart Algoritma Morris-Pratt
3.2.3 Perancangan Antarmuka (Interface)
3.2.4 Perancangan Database

IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem
4.1.1 Form Beranda
4.1.2 Form Algoritma String Matching
4.1.3 Form Pseudocode
4.1.4 Form Tentang
4.1.5 Form Bantuan
4.1.6 Database
4.2 Pengujian Sistem
4.2.1 Pengujian Algoritma Shift-And
4.2.2 Pengujian Algoritma Morris-Pratt
4.2.3 Analisis Kompleksitas Algoritma pada Sistem
4.2.3.1
Analisis Kompleksitas Fase Preprocessing
Shift-And
4.2.3.2
Analisis Kompleksitas Fase Pencarian
Shift-And
4.2.3.3
Analisis Kompleksitas Fase Preprocessing
Morris-Pratt
4.2.3.4
Analisis Kompleksitas Fase Pencarian
Morris-Pratt
KESIMPULAN DAN SARAN
5.1
Kesimpulan
5.2
Saran

DAFTAR PUSTAKA

24
25
26
28
30
31
31
32
34
36
38
43

44
44
46
47
48
49
50
51
52
56
59
61
61
62
63

71
71
73

LAMPIRAN

Universitas Sumatera Utara

x

DAFTAR TABEL

Tabel 2.1
Tabel 3.1
Tabel 3.2
Tabel 3.3
Tabel 3.4
Tabel 3.5
Tabel 4.1
Tabel 4.2
Tabel 4.3
Tabel 4.4

Nilai mpNext[i] untuk pattern SINAGA
Dokumentasi Narrative Use-Case Algoritma Shift-And
Dokumentasi Narrative Use-Case Algoritma Morris-Pratt
Dokumentasi Narrative Use-Case Pergeseran bit mask
Dokumentasi Narrative Use-Case Pergeseran Tabel mpNext
Perancangan Database
Sampel Algoritma-Pseudocode pada Database
Nilai bit mask untuk Pattern ‘sort’
Nilai Pergeseran mpNext untuk Pattern ‘sort’
Hasil Pengujian Sistem

14
26
27
27
28
43
51
53
57
63

Universitas Sumatera Utara

xi

DAFTAR GAMBAR

Gambar 2.1
Gambar 2.2
Gambar 2.2
Gambar 2.4
Gambar 3.1
Gambar 3.2
Gambar 3.3
Gambar 3.4
Gambar 3.5
Gambar 3.6
Gambar 3.7
Gambar 3.8
Gambar 3.9
Gambar 3.10
Gambar 3.11
Gambar 3.12
Gambar 3.13
Gambar 3.14
Gambar 4.1
Gambar 4.2
Gambar 4.3
Gambar 4.4
Gambar 4.5
Gambar 4.6
Gambar 4.7
Gambar 4.8
Gambar 4.9
Gambar 4.10
Gambar 4.11
Gambar 4.12
Gambar 4.13
Gambar 4.14
Gambar 4.15
Gambar 4.16
Gambar 4.17
Gambar 4.18

Pergeseran pada algoritma Morris-Pratt: v adalah batasan dari u
Notasi Big-Oh
Notasi Big-omega
Notasi Big-theta
Ishikawa Diagram Sistem
Diagram ilustrasi tahapan penelitian
Use-case Diagram Sistem
Activity Diagram Sistem
Sequence Diagram Sistem
Flowchart preSA
Flowchart pre-MP
Flowchart Algoritma Shift-And
Flowchart Algoritma Morris-Pratt
Rancangan Tampilan Halaman Utama
Rancangan Tampilan Halaman Tentang
Rancangan Tampilan Halaman Bantuan
Rancangan Tampilan Halaman Algoritma String Matching
Rancangan Tampilan Halaman Pseudocode
Form Beranda
Form Algoritma String Matching
Form Lirik Lagu
Form Tentang
Form Bantuan
Struktur Database
Database Algoritma-Pseudocode
Hasil Pencarian untuk Pattern No.1 pada Tabel 4.4.
Hasil Pencarian untuk Pattern No.2 pada Tabel 4.4.
Hasil Pencarian untuk Pattern No.3 pada Tabel 4.4.
Hasil Pencarian untuk Pattern No.4 pada Tabel 4.4.
Hasil Pencarian untuk Pattern No.5 pada Tabel 4.4.
Hasil Pencarian untuk Pattern No.6 pada Tabel 4.4.
Hasil Pencarian untuk Pattern No.7 pada Tabel 4.4.
Hasil Pencarian untuk Pattern No.8 pada Tabel 4.4.
Hasil Pencarian untuk Pattern No.9 pada Tabel 4.4.
Hasil Pencarian untuk Pattern No.10 pada Tabel 4.4.
Perbandingan Running Time untuk Berbagai Panjang Pattern
pada Algoritma Shift-And dan Morris-Pratt

14
19
19
20
22
25
26
29
30
31
33
35
37
39
40
40
41
42
45
46
47
48
49
50
50
65
65
66
66
67
67
68
68
69
69
70

Universitas Sumatera Utara