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