Perbandingan Algoritma Morris - Pratt dan Algoritma Horspool Pada Aplikasi Kamus Istilah Telekomunikasi Berbasis Android

PERBANDINGAN ALGORITMA MORRIS - PRATT DAN ALGORITMA
HORSPOOL PADA APLIKASI KAMUS ISTILAH
TELEKOMUNIKASI BERBASIS ANDROID

SKRIPSI
LAURA ANGELINA HASIBUAN
131401047

PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2017

1

Universitas Sumatera Utara

ii

PERBANDINGAN ALGORITMA MORRIS - PRATT DAN ALGORITMA

HORSPOOL PADA APLIKASI KAMUS ISTILAH
TELEKOMUNIKASI BERBASIS ANDROID

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer

LAURA ANGELINA HASIBUAN
131401047

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

Universitas Sumatera Utara

ii


PERSETUJUAN

Judul

: PERBANDINGAN ALGORITMA MORRIS – PRATT
DAN ALGORITMA HORSPOOL PADA APLIKASI
KAMUS ISTILAH TELEKOMUNIKASI BERBASIS
ANDROID

Kategori

: SKRIPSI

Nama

: LAURA ANGELINA HASIBUAN

Nomor Induk Mahasiswa : 131401047
Program Studi


: SARJANA (S-1) ILMU KOMPUTER

Departemen

: ILMU KOMPUTER

Fakultas

: FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di
Medan,

Juli 2017

Komisi Pembimbing :
Pembimbing 2


Pembimbing 1

Herriyance, S.T., M.Kom

Dr. Poltak Sihombing, M.Kom.

NIP. 198010242010121002

NIP. 196203171991031001

Diketahi/disetujui oleh
Program Studi S-1 Ilmu Komputer
Ketua,

Dr. Poltak Sihombing, M.Kom.
NIP. 196203171991031001

Universitas Sumatera Utara

iii


PERNYATAAN

PERBANDINGAN ALGORITMA MORRIS - PRATT DAN ALGORITMA
HORSPOOL PADA APLIKASI KAMUS ISTILAH
TELEKOMUNIKASI BERBASIS ANDROID

SKRIPSI

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

Medan, 12 Juni 2017

Laura Angelina Hasibuan
131401047

Universitas Sumatera Utara

iv


UCAPAN TERIMA KASIH

Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa yang telah
memberikan rahmat dan berkat-Nya, sehingga penulis dapat menyelesaikan
penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer
pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
Penulis ingin menyampaikan rasa hormat dan terima kasih yang
sebesar–besarnya 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 S1 Ilmu
Komputer Universitas Sumatera Utara dan Dosen Pembimbing I yang telah
memberikan

bimbingan,

kritik


,

saran

dan

dukungan

dalam

penyempurnaan skripsi ini.
4. Bapak Herriyance, S.T., M.Kom selaku Dosen Pembimbing II yang telah
memberikan bimbingan, saran, dan masukan kepada penulis dalam
pengerjaan skripsi ini.
5. Ibu Dr. Elviawaty Muisa Zamzami, ST, MT, MM selaku Dosen
Pembanding I yang memberikan kritik dan saran untuk penyempurnaan
skripsi ini
6. Bapak M. Andri Budiman, S.T.,M.Comp.Sc.M.E.M selaku Dosen
Pembanding II yang memberikan kritik dan saran untuk penyempurnaan

skripsi ini.
7. Seluruh tenaga pengajar dan pegawai Program Studi S1 Ilmu Komputer
Fasilkom-TI USU .
8. Ayahanda Edison Hasibuan dan Ibunda Linda Sinambela yang selalu
memberikan doa dan dukungan serta kasih sayang kepada penulis, serta
adik tersayang Erik Robson Hasibuan, Emerson Elbano Hasibuan, Lolita
Angelista Hasibuan, dan

Ladyska Angela

Hasibuan

yang terus

memberikan dukungan dan dorongan bagi penulis untuk menyelesaikan
skripsi ini.

Universitas Sumatera Utara

v


9. Sahabat penulis, IOTA (Agustin Sri Intan Sinaga, S.Kom, Yuni M.K
Nainggolan, S.Kom, Evi P. Marpaung, Endang Pranata Tambunan, dan
Hanna Saraswaty Manullang) yang telah banyak memberikan doa,
dukungan dan semangat selama proses menyelesaikan skripsi ini.
10. Kelompok Tumbuh Bersama Chara Charisse (Evi dan Agustin) dan
Hosana (Exa, Daniel, Ezra, Adit) serta PKK yaitu Erwin Sinaga yang telah
mendukung dalam doa maupun semangat dalam penyelesaian skripsi ini.
11. Keluarga KMKI yang telah banyak memberikan doa dan semangat kepada
penulis dalam penyelesaian skripsi ini.
12. Teman – teman kuliah Ilmu Komputer Stambuk 2013 khususnya untuk
KOM B yang telah banyak memberikan motivasi dan semangat dalam
menyelesaikan skripsi ini.
13. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan
satu-persatu.

Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan
kepada penulis mendapatkan pahala yang melimpah dari Tuhan Yang Maha Esa

Medan, 20 Juli 2017


Penulis

Universitas Sumatera Utara

vi

ABSTRAK

Indonesia mengalami kemajuan teknologi yang cukup baik saat ini. Seiring
perkembangan teknologi di Indonesia ternyata banyak munculnya istilah –istilah
dalam telekomunikasi. Untuk dapat memahami istilah – istilah dalam telekomunikasi
tersebut, kamus dapat dijadikan sebagai acuan. Namun, kurangnya minat membaca
buku dalam masyarakat membuat kamus kurang diminati karena tidak praktis. Oleh
karena itu, di zaman canggih ini perlu untuk membuat aplikasi kamus berbasis android
ataupun web agar masyarakat semakin mudah memahami istilah – istilah
telekomunikasi secara praktis dengan menggunakan gadget. Dalam membuat aplikasi
kamus, string matching dapat diimplementasikan untuk proses pencarian katanya dan
tentunya setiap algoritma string matching memiliki keefektifan masing-masing dan
perlu dilakukan perbandingan algoritma untuk mengetahui algoritma yang efisien.

String matching memiliki beberapa algoritma, beberapa algoritmanya adalah
algoritma Morris- Pratt dan Horspool yang akan diimplementasikan pada aplikasi
kamus tersebut. Algoritma Morris - Pratt merupakan algoritma yang terdiri dari dua
fase yaitu fase preprocessing yang dilakukan fungsi pinggiran untuk menentukan
jumlah langkah pergeseran pattern terbesar dengan menggunakan perbandingan
sebelum pencarian string. Perbandingan karakter dilakukan dengan mencocokkan
pattern ke dalam teks yang dicari dari kiri ke kanan. Algoritma Horspool merupakan
algoritma yang melakukan dan menghitung nilai pergeseran bad-character dengan
melihat karakter paling kanan pada window. Hasil dari penelitian ini adalah algoritma
Morris-Pratt lebih efisien dari algoritma Horspool dan aplikasi dapat berjalan dengan
baik. Pada penelitian ini dapat diketahui bahwa saat proses pencarian, total rata-rata
running time untuk algoritma Morris - Pratt adalah 46,6 ms dan algoritma Horspool
adalah 50,5 ms.
Kata Kunci : String Matching, Android, Morris - Pratt, Horspool.

Universitas Sumatera Utara

vii

COMPARISON OF MORRIS-PRATT ALGORITHM AND HORSPOOL
ALGORITHM ON TERM OF TELECOMMUNICATION
ANDROID BASED DICTIONARY APPLICATION

ABSTRACT

Indonesia has a good progress on technology today. Along with the development of
technology in Indonesia, there are many emergence of the term in telecommunication.
In order to understand the terms in the telecommunication, the dictionary may serve as
a reference. However, the lack of interest in reading books in society makes the
dictionary less desirable because it is not practical. Therefore, in advanced times it is
necessary to create a dictionary application based on android or web so that people
more easily understand the terms telecommunication terms practically by using
gadgets. In creating a dictionary application, string matching can be implemented for
the search process and of course, each string matching algorithm has its own
effectiveness and needs to be done comparison algorithm to find efficient algorithm.
String matching has several algorithms, some algorithms are Morris-Pratt and
Horspool algorithms that will be implemented in the dictionary application. Morris Pratt algorithm is an algorithm consisting of two phases preprocessing phase by
peripheral function to determine the largest number of step shifting pattern by using
comparison before string search. Character comparison is done by matching the
pattern into the text searched from left to right. Horspool algorithm is an algorithm
that performs and calculates the value of bad-character shift by looking at the
rightmost character in the window. The result of this research is the Morris-Pratt
algorithm is more efficient than Horspool algorithm and the application can run well.
In this study it can be seen that during the search process, the total running time for
the Morris - Pratt algorithm is 46.6 ms and the Horspool algorithm is 50.5 ms.
Keywords : String Matching, Android, Morris - Pratt, Horspool.

Universitas Sumatera Utara

viii

DAFTAR ISI
Halaman
Persetujuan

ii

Pernyataan

iii

Penghargaan

iv

Abstrak

vi

Abstract

vii

Daftar Isi

viii

Daftar Tabel

x

Daftar Gambar

xi

Daftar Lampiran

xii

Bab 1 Pendahuluan
1.1 Latar Belakang

1

1.2 Rumusan Masalah

2

1.3 Batasan Masalah

3

1.4 Tujuan Penelitian

3

1.5 Manfaat Penelitian

3

1.6 Metode Penelitian

4

1.7 Sistematika Penelitian

5

Bab 2 Landasan Teori
2.1 Algoritma

6

2.2 Android

6

2.3 Pencocokan String (String Matching)

7

2.4 Algoritma Morris-Pratt

8

2.4.1 Fase Preprocessing

8

2.4.2 Fase Pencarian

8

2.5 Algoritma Horspool

9

2.5.1 Pencarian Dengan Algoritma Horspool
2.5.2 Tahap Pencarian

9
10

2.6 Notasi Asimptotik

11

2.6.1 Notasi O

11

2.6.2 Notasi Ω

11

2.6.2 Notasi Ө

12

Universitas Sumatera Utara

ix

2.7 Penelitian yang Relevan

12

Bab 3 Analisis dan Perancangan
3.1 Analisis Sistem

13

3.1.1 Analisis Masalah

13

3.1.2 Analisis Kebutuhan

14

3.1.3 Analisis Proses

16

3.2 Perancangan Sistem

16

3.2.1 General Arsitektur Perancangan Sistem

17

3.2.2 Use – Case Diagram

19

3.2.3 Activiy Diagram

22

3.2.4 Sequence Diagram

22

3.2.5 Pseudocode

23

3.2.6 Diagram Alir (Flowchart)

26

3.2.7 Perancangan Antarmuka (Interface)

30

Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi Sistem

34

4.1.1 Antarmuka Utama

34

4.1.2 Antarmuka Hasil Pencarian

36

4.1.3 Antarmuka Tentang (About)

37

4.1.4 Antarmuka Bantuan

38

4.2 Pengujian Sistem

39

4.2.1 Pengujian Pencarian Kata dengan Algoritma Morris-Pratt

39

4.2.2 Pengujian Pencarian Kata dengan Algoritma Horspool

44

4.2 Hasil Pengujian Sistem

48

4.2.1 Kompleksitas Algoritma Morris-Pratt

52

4.2.2 Kompleksitas Algoritma Horspool

54

Bab 5 Penutup

57

5.1 Kesimpulan

57

5.2 Saran

58

Daftar Pustaka
Lampiran

59
A-1

Universitas Sumatera Utara

x

DAFTAR TABEL

Nomor

Nama Tabel

Halaman

Tabel
3.1

Tabel skenario Use-case memilih algoritma pencarian

21

3.2

Tabel skenario Use-case masukkan kata

21

4.1

Nilai mpNext[i] untuk pattern HASIBUAN

39

4.2

Pengujian sistem pencocokan string dengan Algoritma Morris-

41

4.3

Pratt

44

4.4

Bad Match Praproses

45

4.5

Inisialisasi awal bad-match

45

4.6

Pembuatan bad-match

45

4.7

Iterasi algoritma Horspool pertama

46

Iterasi algoritma Horspool kedua
4.8

Pengujian sistem pencocokan string dengan algoritma Horspool

46

4.9

Hasil pengujian algoritma Morris-Pratt

49

4.10

Hasil pengujian algoritma Horspool

49

4.11

Hasil pengujian kata terpanjang

50

4.12

Hasil pengujian kata terpendek

50

4.13

Kompleksitas algoritma Morris-Pratt

53

4.14

Kompleksitas fungsi fase pencarian algortima Morris-Pratt

54

4.15

Kompleksitas funsi fase preprocessing algoritma Horspool

55

4.16

Kompleksitas fungsi pencarian algoritma Horspool

56

Universitas Sumatera Utara

xi

DAFTAR GAMBAR

Nomor
Gambar

Nama Gambar

Halaman

2.1

Pergeseran pada algoritma Morris-Pratt

9

3.1

Diagram Ishikawa

15

3.2

General Arsitektur Perancangan Sistem

17

3.3

Use-case Diagram

20

3.4

Activity Diagram

22

3.5

Sequence Diagram

23

3.6

Pseudocode Fase Pencarian Algoritma Morris-Pratt

24

3.7

Pseudocode Fase Pencarian Algoritma Horspool

25

3.8

Flowchart Gambaran Umum Sistem

26

3.9

Flowchart Algoritma Morris-Pratt

27

3.10

Flowchart Algoritma Horspool

28

3.11

Flowchart Sisem Pencarian Istilah dengan Algoritma Horspool

29

3.12

Halaman Utama Aplikasi Kamus

30

3.13

Antarmuka Hasil Pencarian

31

3.14

Halaman About

34

3.15

Menu Help

33

4.1

Tab Morris- Pratt

35

4.2

Tab Horspool

35

4.3

Antarmuka hasil pencarian ditemukan

36

4.4

Hasil pencarian tidak ditemukan

37

4.5

Menu About

37

4.6

Menu Help

38

4.7

Menu Source

38

4.8

Perbandingan hasil running rime algoritma Morris-Pratt &

51

Horspool
4.9

Perbandingan hasil running time pencarian kata terpanjang

51

4.10

Perbandingan hasil running time pencarian kata terpendek

52

Universitas Sumatera Utara

xii

DAFTAR LAMPIRAN

Lampiran 1

Listing Program

A-1

Lampiran 2

Curriculum Vitae

B-1

Universitas Sumatera Utara