Perbandingan Algoritma Boyer Moore dan Brute Force Dalam Pembuatan Kamus Bahasa Mandarin – Indonesia – Inggris Platform Android

PERBANDINGAN ALGORITMA BOYER MOORE DAN ALGORITMA
BRUTE FORCE DALAM PEMBUATAN KAMUS BAHASA MANDARIN –

INDONESIA – INGGRIS PLATFORM ANDROID

SKRIPSI

IVAN GRACE HALIM
101401086

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

Universitas Sumatera Utara

PERBANDINGAN ALGORITMA BOYER MOORE DAN ALGORITMA BRUTE
FORCE DALAM PEMBUATAN KAMUS BAHASA MANDARIN – INDONESIA
– INGGRIS PLATFORM ANDROID


SKRIPSI

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

IVAN GRACE HALIM
1010401086

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

Universitas Sumatera Utara

ii

PERSETUJUAN


Judul

: Perbandingan Algoritma Boyer Moore dan Brute Force
Dalam Pembuatan Kamus Bahasa Mandarin – Indonesia
– Inggris Platform Android

Kategori

: Skripsi

Nama

: Ivan Grace Halim

Nomor Induk Mahasiswa : 101401086
Program Studi

: S1 Ilmu Komputer


Fakultas

: Ilmu Komputer dan Teknologi Informasi Universitas
Sumatera Utara

Komisi Pembimbing

:

Pembimbing II

Pembimbing I

Dian Rachmawati, S.Si., M.Kom

Dr. Poltak Sihombing, M.Kom

NIP. 198307232009122004

NIP. 196202171991031001


Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,

Dr. Poltak Sihombing, M.Kom
NIP. 196202171991031001

Universitas Sumatera Utara

iii

PERNYATAAN

PERBANDINGAN ALGORITMA BOYER MOORE DAN BRUTE FORCE
DALAM PEMBUATAN KAMUS BAHASA MANDARIN – INDONESIA –
INGGRIS PLATFORM ANDROID

SKRIPSI


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

Medan,

Juli 2016

Ivan Grace Halim
101401086

Universitas Sumatera Utara

iv

PENGHARGAAN

Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Esa atas limpahan rahmat,
kasih dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai
syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi Ilmu Komputer
Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Pada pengerjaan skripsi ini, penulis menyadari bahwa banyak campur tangan
pihak yang turut membantu dan memotivasi dalam pengerjaannya. Dalam kesempatan
ini, penulis mengucapkan terima kasih kepada:

1. Bapak Prof. Dr. Runtung Sitepu, SH., M.Hum., selaku Rektor Universitas
Sumatera Utara
2. Bapak Prof. Dr. Opim S Sitompul, M.Si., selaku Dekan Fakultas Ilmu Komputer
dan Teknologi Informas Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu
Komputer Universitas Sumatera Utara dan selaku Dosen Pembimbing I.
4. Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu
Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera
Utara.
5. Ibu Dian Rachmawati, S.Si., M.Kom selaku Dosen Pembimbing II yang telah
memberikan bimbingan, saran, nasehat dan masukan kepada saya dalam
pengerjaan skripsi ini.
6. Bapak Dr. Syahril Efendi S.Si., M.IT., selaku Dosen Pembanding I yang telah
memberikan kritik dan saran dalam penyempurnaan skripsi ini.
7. Bapak M. Andri Budiman, ST., M.Comp,Sc., M.E.M selaku Dosen Pembanding II
yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini

8. Seluruh dosen Program Studi S1 Ilmu Komputer Fasilkom-TI USU dan semua
pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
9. Ayahanda Kui Hie dan Ibunda Tentri Melinda Pasaribu yang telah memberikan
do‟a, dukungan, perhatian serta kasih sayang yang tulus serta pengorbanan yang
tidak ternilai harganya.

Universitas Sumatera Utara

v

10. Abangda dan Adinda Andy Surya Halim, Hansen Yudha Halim dan Melki Sedek
Hosea Halim yang tidak bosan – bosannya menunggu, memberikan motivasi,
bantuan dan dukungan serta kata – kata pencerahan yang membangun setiap
waktu.
11. Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2010,
Yohannes Silitonga, Gunalan Anggirasa , Andri Agasi, Arief Try Hidayat, Mego
Suntoro, Suhaili Hamdi, Muhammad Pristian, Septy Diana Sari Saragih, dan
teman-teman lain yang telah memberikan motivasi, arahan dan perhatiannya.
12. Teman-teman sepermainan Bang Vavan Setiyo, Roy Alexander Sirait, Yogie
Wiranatha, Jambe Family, Riska Maya Sari, Jatrie Tieta Andini, Lovita Justine,

Uthy Pohan, yang selalu memberikan pencerahan, pengarahan, dan membuat
suasana pengerjaan skripsi lebih menyenangkan.
13. Kepada Yohanes Silitonga, Gunalan Anggirasa, dan adik Rio Sinulingga yang
sangat membantu dalam pengerjaan skripsi dan tidak bosannya memberikan
arahan dan masukkan untuk penyelesaian skripsi.
14. Adik-adik angkatan 2011, 2012, 2013 dan 2014 yang telah membakar semangat
untuk menyelesaikan penyelesaian skripsi ini.
15. Dan yang terakhir, sahabat, adik, kekasih penulis Deby Ratna Sari yang selalu ada
seiring waktu mendampingi serta menjadi penyemangat bagi penulis dalam segala
hal.

Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, oleh karena itu penulis
menerima saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini,
agar dapat bermanfaat bagi kita semua.
Medan,

Juli 2016

penulis :


Ivan Grace Halim

Universitas Sumatera Utara

vi

ABSTRAK

Kebutuhan Masyarakat terhadap layanan teknologi berbasis IT sangat bervariasi,
ketersediaan suatu perangkat mobile yang dapat membantu

memecahkan

suatu

permasalahan sehari hari adalah salah satu kebutuhan masyarakat, khususnya berbasis
android. Kamus Mandarin yang telah banyak beredar dalam bentuk buku
penggunaannya menyulitkan, karena pengguna harus mencari arti dan istilah secara
manual. Oleh karena itu, dibutuhkan aplikasi perangkat lunak berbasis android untuk
menghasilkan kamus Bahasa Mandarin yang dapat memudahkan semua orang mencari

dan memahami arti kata Bahasa Mandarin. Dalam membuat kamus dibutuhkan
metode pencarian string, metode pencarian string yang digunakan dalam pembuatan
kamus ini adalah Algoritma Boyer Moore dan Algoritma Brute Force , Algoritma
Boyer Moore dan Algoritma Brute Force memiliki cara kerja yang berbeda, Algoritma
Boyer Moore mencocokkan karakter dari sebelah kanan ke kiri pattern, dan Algoritma
Brute Force mencocokkan karakter dengan membandingkan satu per satu karakter dari

kiri ke kanan. Algoritma Boyer Moore memiliki running time yang lebih cepat dari
Brute Force yaitu dengan perbedaan 0.75ms. Algoritma Boyer Moore dan Algoritma
Brute Force sama – sama memiliki fase pencarian kompleksitas waktu Big Ө ( m × n

), namun Algoritma Boyer Moore lebih cepat karena memiliki perbandingan karakter
teks 3n sedangkan Algoritma Brute Force memiliki perbandingan karakter teks 2n.

Kata Kunci : Pencocokan String, Algoritma Boyer Moore , Algoritma Brute Force ,
Kamus Bahasa Mandarin, Android

Universitas Sumatera Utara

vii


ABSTRACT

The needs for IT-based technology is varied, the availability of a mobile application
which can solve any problems a day is one of people need now, especially based on
Android. Mandarin dictionary that has been widely circulated in analog form is
difficult , because users must search for meaning and terms manually . Therefore , it
takes an android software application to produce Mandarin Dictionary to facilitate
what everyone is looking for and to understand the meaning of Mandarin words. In
making the dictionary, string matching methods are needed, the search method strings
used in the making of this dictionary is the Boyer-Moore string search algorithm and
algorithm Brute Force , algorithm Boyer Moore and algorithms Brute Force has a
different way , Boyer-Moore string search algorithm to match characters from the
right to left pattern and Brute Force algorithm matching characters by comparing one
by one character from left to right. Boyer Moore algorithm has a running time that is
faster than the Brute Force, the difference is 0.75ms. Boyer Moore algorithm and the
same algorithm Brute Force - have the same time complexity of the searching phase in
Ө (m × n), but Boyer Moore algorithm has 3n text character comparisons, Brute Force
algorithm has 2n expected text character comparisons.

Keyword : String Matching Boyer Moore Algorithm, Brute Force Algorithm,
Mandarin Dictionary, Android

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

Bab 1

Bab 2

Pendahuluan
1.1 Latar Belakang

1

1.2 Rumusan Masalah

2

1.3 Batasan Masalah

2

1.4 Tujuan Penelitian

3

1.5 Manfaat Penelitian

3

1.6 Metode Penelitian

4

1.7 Sistematika Penulisan

5

Tinjauan Pustaka
2.1 Algoritma Boyer Moore

6

2.1.1 Kelebihan Algoritma Boyer Moore

6

2.1.2 Kelemahan Algoritma Boyer Moore

6

Universitas Sumatera Utara

ix

2.1.3 Pencarian Dengan Algoritma Boyer Moore
2.2 Algoritma Brute Force

10

2.2.1 Kelemahan dan Kelebihan Algoritma Brute Force

Bab 3

8

11

2.3 Bahasa Mandarin

14

2.4 Sejarah Android

15

2.5 Jenis Jenis Android

16

2.6 Eclipse

22

2.7 SQLite

22

Analisis Dan Perancangan Sistem
3.1 Analisis Sistem

23

3.1.1 Analisis Masalah

23

3.1.2 Analisis Persyaratan

24

3.1.2.1 Analisis Persyaratan Fungsional

24

3.1.2.2 Analisis Persyaratan Non-Fungsional

25

3.2 Pemodelan

25

3.2 1 Use Case Diagram

26

3.2.2 Activity Diagram

27

3.2.2.1 Activity Diagram Pencarian Boyer Moore

27

3.2.2.2 Activity Diagram Pencarian Brute Force

28

3.2.3 Sequence Diagram

29

3.2.3.1 Sequence Diagram Tampil Kamus
3.2.4 Flowchart Sistem

31

3.2.4.1 Flowchart Gambaran Umum Sistem
3.2.4.2 Flowchart Proses Boyer-Moore
3.2.4.3 Flowchart Proses Brute Force

30

31
32
33

Universitas Sumatera Utara

x

3.3 Pseudocode

34

3.3.1 Pseudocode Algoritma Boyer Moore

34

3.3.2 Pseudecode Algoritma Brute Force

35

3.4 ERD (Entitiy Relationship Diagram)

35

3.3 Perancangan Sistem

37

3.3.1 Antarmuka Halaman Utama

37

3.3.2 Antarmuka Pilih Pencarian

39

3.3.3 Antarmuka Pilih Data

40

3.3.4 Antarmuka Pilih Tentang

Bab 4

Implementasi Dan Pengujian Sistem
4.1 Implementasi Sistem

42

4.1.1 Halaman Utama

42

4.1.2 Pilihan Pencarian

43
44

4.1.3 Pilihan Data

45

4.1.4 Pilihan Tentang
4.2 Pengujian Sistem

45

4.2.1 Pengujian Pada 1 Karakter

46

4.2.1.1 Pengujian Boyer-Moore Pada 1 Karakter

46

4.2.1.2 Pengujian Brute Force Pada 1 Karakter

47

4.2.2 Pengujian Pada 2 Karakter

48

4.2.2.1 Pengujian Boyer Moore Pada 2 Karakter

48

4.2.2.2 Pengujian Brute Force Pada 2 Karakter

50

4.3 Hasil Pengujian

52

4.3.1 Pengujian 3 Karakter

52

4.3.2 Pengujian 4 Karakter

53

Universitas Sumatera Utara

xi

Bab 5

Daftar

4.3.3 Pengujian 5 Karakter

53

4.3.4 Pengujian 6 Karakter

54

4.3.5 Hasil Perbandingan Running Time Pencocokan String

55

Kesimpulan Dan Saran
5.1 Kesimpulan

57

5.2 Saran

58

Pustaka

59

Universitas Sumatera Utara

xii

DAFTAR GAMBAR

Hal.
Gambar 2.1 Android versi 1.1

16

Gambar 2.2 Android versi 1.5 Cupcake

16

Gambar 2.3 Android versi 1.6 Donut

17

Gambar 2.4 Android versi 2.0/2.1 Eclair

17

Gambar 2.5 Android versi 2.2 Froyo (Frozen Yogurt)

18

Gambar 2.6 Android versi 2.3 Gingerbeard

18

Gambar 2.7 Android versi 3.0/3.1 HoneyComb

19

Gambar 2.8 Android versi 4.0 Ice Cream Sandwich

19

Gambar 2.9 Android versi 4.1 Jelly Bean

20

Gambar 2.10 Android versi 4.4 KitKat

20

Gambar 2.11 Android versi 5.0 Lolipop

21

Gambar 3.1 Diagram Ishikawa

24

Gambar 3.2 Use Case Diagram

26

Gambar 3.3 Activity Diagram Algoritma Boyer Moore

28

Gambar 3.4 Activity Diagram Algoritma Brute Force

29

Gambar 3.5 Sequence Diagram Tampil Kamus

30

Gambar 3.6 Flowchart Umum Sistem

31

Gambar 3.7 Flowchart Proses Boyer Moore

32

Gambar 3.8 Flowchart Proses Brute Force

33

Gambar 3.9 ERD (Entity Relationship Diagram)

36

Gambar 3.10 Rancangan Antarmuka Halaman Utama

38

Gambar 3.11 Rancangan Antarmuka Pilih Pencarian

39

Gambar 3.12 Rancangan Antarmuka Pilih Data

40

Universitas Sumatera Utara

xiii

Gambar 3.13 Rancangan Antarmuka Pilih Tentang

41

Gambar 4.1 Halaman Utama

43

Gambar 4.2 Form Pencarian

44

Gambar 4.3 Form Data

44

Gambar 4.4 Form Tentang

45

Gambar 4.5 Pengujian Boyer Moore 1 Karakter

46

Gambar 4.6 Pengujian Brute Force 1 Karakter

47

Gambar 4.7 Pengujian Boyer Moore 2 Karakter

48

Gambar 4.8 Pengujian Brute Force 2 Karakter

50

Gambar 4.9 Pengujian 3 Karakter

52

Gambar 4.10 Pengujian 4 Karakter

53

Gambar 4.11 Pengujian 5 Karakter

53

Gambar 4.12 Pengujian 6 Karakter

54

Gambar 4.13 Grafik Perbedaan Running Time Algoritma Boyer
Moore dan Algoritma Brute Force

55

Universitas Sumatera Utara

xiv

DAFTAR TABEL
Hal.
Tabel 2.1

Contoh Algoritma Boyer Moore

7

Tabel 2.2

Contoh Pergeseran Algoritma Boyer-Moore

8

Tabel 2.3 Occurence Heuristic

9

Tabel 2.4

Hasil Pencarian Occurrence Heuristic

10

Tabel 2.5

Hasil Akhir Pencarian Occurrence Heuristic

10

Tabel 3.1 Tabel Words

36

Tabel 3.2 Tabel EkstraWords

37

Tabel 4.1

Database Proses Pencarian 1 Karakter

44

Tabel 4.2

Database Proses Pencarian 2 Karakter

45

Tabel 4.3

Proses Algoritma Boyer Moore

46

Tabel 4.4

Proses Match Algoritma Boyer Moore

47

Tabel 4.5

Proses Awal Algoritma Brute Force

48

Tabel 4.6

Proses Kedua Algoritma Brute Force

48

Tabel 4.7

Proses Akhir Algoritma Brute Force

49

Tabel 4.8

Hasil Perbandingan Dari Segi Running Time

52

Universitas Sumatera Utara