53
IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM PENCARIAN KATA PADA KAMUS KEDOKTERAN BERBASIS WEB Skripsi Oleh: SI ILMU KOMPUTER JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG 2019 DIVKA AYU DITHA

IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM

PENCARIAN KATA PADA KAMUS KEDOKTERAN BERBASIS WEB

Skripsi

Oleh:

SI ILMU KOMPUTER

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

2019

DIVKA AYU DITHA

Page 2: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

ABSTRACT

Implementation of The Boyer-Moore Algorithm in a Word Search

Systems On a Web-Based Medical Dictionary

by

DIVKA AYU DITHA

Medical study is one of the fields in health that has many terms in Latin. The process

of term search takes a long time, so word search system is needed by applying string

matching algorithm, Boyer-Moore Algorithm. The Boyer-Moore algorithm is a

search solution that can compare patterns from right to left. If there is a mismatch

string from the right pattern, that mismatch will help us to change the pattern further

with a jumping motion. This jump will provide information about how many patterns

that must be shifted to fit the last character that match with the beginning pattern. The

waterfall method is used to develop this system, which begins with analysis, design,

implementation, and using black box testing. System accuracy testing was also

carried out with an accuracy of 96%. From this study, word search system in medical

dictionary can be function and used by medical students.

Keywords: Algorithm, Black Box Testing, Boyer-Moore, String Matching, Text

Searching.

Page 3: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

ABSTRAK

Implementasi Algoritma Boyer-Moore Dalam Sistem Pencarian Kata

Pada Kamus Kedokteran Berbasis Web

Oleh

Ilmu Kedokteran adalah salah satu bidang ilmu kesehatan yang memiliki banyak

istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan waktu yang

lama sehingga diperlukan sistem pencarian kata dengan menerapkan salah satu

algoritma pencocokan string, yaitu Algoritma Boyer-Moore. Algoritma Boyer-Moore

adalah solusi pencarian yang dapat membandingkan pola dari kanan ke kiri. Jika ada

ketidakcocokan string dari kanan pola, maka ketidakcocokan akan membantu kita

untuk memindahkan pola lebih lanjut dengan gerakan melompat. Gerakan lompat ini

akan memberikan informasi tentang berapa banyak pola yang harus digeser agar

sesuai dengan karakter terakhir yang cocok dari keadaan diawal pola. Metode

Waterfall digunakan dalam pengembangan sistem ini dimulai dengan Analisis,

Desain, Implementasi, dan Pengujian sistem menggunakan Black Box. Pengujian

akurasi sistem juga dilakukan dengan hasil akurasi sebesar 96%. Dari penelitian ini,

sistem pencarian kata dalam kamus medis ini dapat berfungsi dan dapat digunakan

untuk mahasiswa kedokteran.

Kata Kunci: Algoritma, Black Box Testing, Boyer-Moore, String Matching, Text

Searching.

DIVKA AYU DITHA

Page 4: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM

PENCARIAN KATA PADA KAMUS KEDOKTERAN BERBASIS WEB

Oleh:

DIVKA AYU DITHA

Sebagai Salah Satu Syarat untuk Memperoleh Gelar

SARJANA KOMPUTER

Pada

Jurusan Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

SI ILMU KOMPUTER

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

2019

Page 5: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan
Page 6: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan
Page 7: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan
Page 8: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

RIWAYAT HIDUP

Penulis dilahirkan pada tanggal 17 April 1996 di Pringsewu.

Penulis merupakan anak pertama dari Ayah bernama Yonis

dan Ibu bernama Nini Apriyanti. Penulis memiliki adik yang

bernama Nadila Fathya Novariyanti yang saat ini sedang

menjalankan perkuliahan sebagai perawat.

Penulis menyelesaikan pendidikan sekolah dasar di SD Negeri 1 Banding Agung,

Kecamatan Talang Padang, dan lulus pada tahun 2008. Kemudian melanjutkan

pendidikan menengah pertama di SMP Negeri 1 Talang Padang dan selesai pada

tahun 2011. Pendidikan menengah atas di SMA Negeri 1 Gadingrejo yang

diselesaikan penulis pada tahun 2014. Pada tahun 2014, penulis terdaftar sebagai

mahasiswa Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan

Alam Universitas Lampung.

Pada bulan januari tahun 2017, penulis melakukan kerja praktik di PT. Roxy

Prameswari Lampung dan pada bulan Juli 2017 melaksanakan Kuliah Kerja Nyata di

Desa Legundi, Kecamatan Ketapang, Kabupaten Lampung Selatan.

Page 9: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

MOTTO

“Bersama kesulitan, terdapat kemudahan”

(Al-Insyirah:5)

“Barang siapa yang bersungguh sungguh, sesungguhnya kesungguhan

tersebut untuk kebaikan dirinya sendiri"

(Al-Ankabut:6)

“Allah tidak membebani seseorang melainkan sesuai kesanggupannya”

(Al-Baqarah:286)

"Apabila Anda berbuat kebaikan kepada orang lain, maka Anda telah

berbuat baik terhadap diri sendiri."

(Benyamin Franklin)

”No matter who you are, where you’re from, your skin color, your gender

identity, just speak yourself”.

(Kim Namjoon, BTS)

Page 10: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

PERSEMBAHAN

Puji syukur saya ucapkan kepada Allah SWT atas segala berkah Nya

sehingga skripsi ini dapat terselesaikan.

Mamaku, Bundaku, dan Papaku, kupersembahkan skripsi ini.

Terimakasih atas limpahan kasih sayang, dukungan moril maupun materi,

motivasi, serta do’a-do’a yang tiada henti demi kesuksesanku.

Adikku Nadila, Tante Wati, dan adik-adikku Riski dan Rafa yang sudah

memberi semangat, dan menghiburku.

Seluruh dosen-dosenku, terkhusus dosen pembimbingku yang tak pernah

lelah dan dengan sabar selalu memberi motivasi serta bimbingan kepadaku.

Teruntuk teman-temanku, terimakasih untuk canda tawa, tangis, dan

perjuangan yang kita lewati bersama dan terima kasih untuk setiap

kenangan yang kita ukir selama ini selama diperkuliahan atau di luar

perkuliahan.

Almamater yang kubanggakan

Universitas Lampung

Page 11: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

SANWACANA

Puji syukur Penulis ucapkan kehadirat Allah subhanahu wa ta’ala atas berkat rahmat,

hidayah, dan kesehatan yang diberikan kepada Penulis sehingga dapat menyelesaikan

penulisan skripsi ini. Skripsi ini disusun sebagai syarat untuk memperoleh gelar

Sarjana Komputer di Jurusan Ilmu Komputer Universitas Lampung. Judul dari skripsi

ini adalah “Implementasi Algoritma Boyer-Moore Dalam Sistem Pencarian Kata

Pada Kamus Kedokteran Berbasis Web”.

Dalam penyusunan skripsi ini, penulis banyak menghadapi kesulitan. Berkat bantuan

dan dorongan dari berbagai pihak, akhirnya penulis dapat menyelesaikannya. Untuk

itu pada kesempatan ini, penulis mengucapkan terimakasih kepada:

1. Mama, Bunda, Papa, dan adik tersayang yang tidak pernah berhenti

mendoakan, mendukung, dan menyemangati Penulis selama ini.

2. Tante Wati dan seluruh keluarga yang ikut mendukung dan mendoakan

penulis menyelesaikan skripsi ini.

3. Bapak Ir. Machudor Yusman , M. Kom. Sebagai Pembimbing I yang telah

memberikan ide, bimbingan, serta motivasi di tengah kesibukan beliau untuk

penulis sehingga dapat menyelesaikan skripsi ini.

Page 12: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

4. Bapak Favorisen R. Lumbanraja, S. Kom., M. Si., Ph. D. sebagai Pembimbing

II, yang telah memberikan kritik, saran, ide, bantuan, dan meluangkan waktu

bimbingan selama proses penulisan skripsi.

5. Bapak Drs. Rd. Irwan Adi Pribadi, M.Kom. sebagai Pembahas yang telah

memberikan kritik, saran, dan motivasi dalam perbaikan skripsi ini.

6. Teman terbaikku Desy Kartika Sari yang selalu memberi semangat serta

dengan sabar mengajari penulis dalam menyelesaikan skripsi ini.

7. Teman terbaikku Hanifatussadi’ah, Siti Sari, Cici Linda, dan Nur Indriani

yang selalu memberi dukungan, semangat, dan sebagai tempat bertukar

pikiran, dan teman curhat penulis.

8. Teman terbaikku Nenok Loriana dan Hanan yang selalu membuat canda tawa.

9. Teman terbaikku Sholgun Squad ( Deka, Ipeh, Indri, Sitsar, Cici, Yushar, Ela,

Putri, Hanan, Titin, Rafi, Luski, Riza, Dea, Shasa, Rijana, Depi, dan Syintia)

yang memberi masukkan, dukungan mental, bantuan, saran, dan tim sukses

saat seminar penulis.

10. Para kucing FMIPA yang selalu membuat penulis senang setiap penulis

berada di kampus.

11. Manjolita Squad (Karinia, Kak Isyraf, Ko Julianser, Kak Sena, dan Kak Iki)

yang memberi dukungan, semangat, dan menghibur penulis selama

menyelesaikan skripsi dan sebagai partner main.

12. Adikku Cynthia dan Icha yang menemani penulis saat-saat terakhir

menyelesaikan skripsi ini.

Page 13: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

13. Bapak dan Ibu Dosen, beserta staff Jurusan Ilmu Komputer yang telah

memberikan ilmu pengetahuan dan pengalaman dalam hidup untuk menjadi

lebih baik.

14. Seluruh teman Ilmu Komputer 2014.

15. Almamater tercinta, Universitas Lampung.

Semoga skripsi ini dapat memberikan banyak manfaat bagi semua pihak.

Bandar Lampung, 25 Juli 2019

Divka Ayu Ditha

NPM. 1417051044

Page 14: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

i

DAFTAR ISI

Halaman

I. PENDAHULUAN .......................................................................................... 1

A. Latar Belakang ............................................................................................... 1

B. Rumusan Masalah .......................................................................................... 2

C. Batasan Masalah ............................................................................................. 3

D. Tujuan............................................................................................................. 3

E. Manfaat........................................................................................................... 4

II. TINJAUAN PUSTAKA ................................................................................ 5

A. Sistem Pencarian ............................................................................................ 5

B. Definisi Kamus ............................................................................................... 5

C. Jenis-jenis Kamus ........................................................................................... 6

1. Berdasarkan Penggunaan Bahasa ............................................................. 6

2. Berdasarkan Isi ......................................................................................... 7

3. Kamus Istimewa ....................................................................................... 8

D. Algoritma ..................................................................................................... 10

E. String Matching ............................................................................................ 11

F. Algoritma Boyer-Moore ............................................................................... 11

G. PHP( PHP:Hypertext Preprocessor) ............................................................ 12

H. HTML(Hypertext Markup Language) ......................................................... 13

I. Penelitian Terdahulu .................................................................................... 14

III. METODE PENELITIAN ........................................................................... 16

A. Waktu dan Tempat Penelitian ...................................................................... 16

Page 15: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

ii

B. Kerangka Penelitian ..................................................................................... 16

C. Spesifikasi Hardware dan Software yang digunakan .................................. 18

D. Metode Pengembangan Sistem .................................................................... 19

1. Analisa Kebutuhan .................................................................................. 19

2. System Design .......................................................................................... 20

3. Implementasi ........................................................................................... 22

4. Testing/Pengujian .................................................................................... 31

IV. PEMBAHASAN .......................................................................................... 33

A. Analisis Kelemahan dan Keunggulan .......................................................... 33

B. Implementasi Sistem .................................................................................... 33

1. Kode Program Sistem............................................................................. 33

2. Tampilan Sistem ..................................................................................... 40

3. Algoritma Boyer Moore ......................................................................... 46

4. Pengujian Sistem .................................................................................... 51

V. KESIMPULAN ............................................................................................ 66

A. Simpulan....................................................................................................... 66

B. Saran ............................................................................................................. 67

DAFTAR PUSTAKA .............................................................................................. 68

Page 16: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

DAFTAR TABEL

Tabel Halaman

1. Rencana Pengujian .............................................................................................. 51

2. Pengujian Login .................................................................................................. 52

3. Pengujian Tambah Data Istilah ........................................................................... 53

4. Pengujian Edit Data Istilah.................................................................................. 54

5. Pengujian Hapus Data Istilah .............................................................................. 54

6. Pengujian Pengolahan Saran ............................................................................... 55

7. Pengujian Pencarian Istilah Kedokteran (User) .................................................. 56

8. Pengujian Saran Data .......................................................................................... 57

9. Data Uji Akurasi Sistem...................................................................................... 58

Page 17: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

DAFTAR GAMBAR

Gambar Halaman

1. Kerangka Penelitian ............................................................................................ 17

2. Metode Waterfall ................................................................................................ 19

3. Use Case sistem pencarian kata .......................................................................... 20

4. Class Diagram Sistem Pencarian Kata ............................................................... 21

5. Contoh Pengimplementasian Algoritma Boyer Moore ....................................... 22

6. Contoh Implementasi Algoritma Boyer Moore................................................... 23

7. Penyelesaian Nilai OH dan MH .......................................................................... 24

8. Langkah 1 Pergeseran pattern ............................................................................. 24

9. Posisi Pergeseran Langkah 1 ............................................................................... 25

10. Akhir Pergeseran Pattern .................................................................................... 25

11. Tampilan Awal Saat Sistem Diakses .................................................................. 40

12. Tampilan Hasil Pencarian Sistem ....................................................................... 40

13. Tampilan Saran Sistem ....................................................................................... 41

14. Tampilan Login Sistem Sebagai Hak Akses Bagi Admin .................................. 42

15. Tampilan Sesudah Admin Login ke Dalam Sistem ............................................ 43

16. Tampilan Tambah Data Istilah ........................................................................... 43

17. Tampilan Edit Data ............................................................................................. 44

18. Tampilan Halaman Bantuan ................................................................................ 45

19. Tampilan Halaman Tentang ................................................................................ 45

20. Tampilan Saran Data Admin ............................................................................... 46

Page 18: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

1

I. PENDAHULUAN

A. Latar Belakang

Bidang ilmu kedokteran memiliki banyak istilah bahasa latin di dalamnya.

Mahasiswa kedokteran, biasanya kesulitan dalam mencari arti dari istilah-

istilah dalam bahasa latin tersebut yang sering muncul dalam pelaksanaan

ujian, praktik, dan tugas hariannya. Mereka harus membawa kamus

kedokteran yang sangat tebal serta berat saat sedang kuliah maupun sedang

praktikum. Dari masalah yang sering dihadapi, mahasiswa membutuhkan

solusi yang dapat membantu permasalahan tersebut. Dibutuhkan suatu sistem

yang berfokus pada sistem pencarian kata dengan menerapkan salah satu

algoritma string matching yang dapat membantu mengefisiensikan waktu

pencarian kata karena kamus kedokteran berisi banyak istilah latin.

String Matching adalah suatu algoritma yang digunakan untuk memecahkan

masalah pencocokkan suatu teks terhadap suatu pola. Banyak sekali algoritma

yang digunakan untuk memecahkan masalah string matching ini, salah

satunya adalah Algoritma Boyer-Moore. Algoritma Boyer-Moore adalah

salah satu algoritma pencarian pola, dipublikasikan oleh Robert S. Boyer, dan

J. Strother Moore pada tahun 1977. Tidak seperti algoritma pencarian string

Page 19: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

2

yang ditemukan sebelumnya, Algoritma Boyer-Moore dimulai dengan

mencocokkan karakter dari sebelah kanan pattern.

Dalam pencarian string, algoritma digunakan untuk mencocokkan string yang

dicari dengan semua string yang terdapat dalam dokumen teks tersebut.

Pencocokan string atau string matching adalah proses pencarian semua

kemunculan string pendek P[0..n-1] yang disebut pattern di string yang lebih

panjang T[0..m-1] yang disebut teks (Kumara, 2008). Pada penelitian ini,

algoritma digunakan untuk mencocokkan istilah dalam Bahasa Latin pada

kamus kedokteran dengan data yang sudah dimasukkan ke dalam database.

Pencarian istilah dalam kamus kedokteran yang banyak memperlambat proses

penggunaannya dan menjadi kurang efektif sehingga enggan dibawa kemana-

mana karena cukup berat dan memakan waktu dalam proses pencarian

katanya. Berdasarkan masalah yang ada, peneliti mengajukan penelitian

dengan membuat suatu sistem pencarian kata dengan mengimplementasikan

Algoritma Boyer-Moore dalam proses pencarian pada kamus kedokteran

berbasis web yang dapat memaksimalkan proses pencarian tersebut. Dengan

menerapkan Algoritma Boyer-Moore, dapat mempermudah penggunaan

kamus dengan waktu pencarian yang lebih efektif dan singkat.

B. Rumusan Masalah

Berdasarkan latar belakang tersebut, masalah dalam penelitian ini adalah

sebagai berikut:

Page 20: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

3

1. Mengimplementasikan Algoritma Boyer-Moore pada sistem pencarian

kata pada kamus kedokteran berbasis web.

2. Sistem menemukan arti kata yang di-input dari istilah-istilah kedokteran

dalam Bahasa Latin.

C. Batasan Masalah

Batasan masalah dalam penelitian ini adalah sebagai berikut:

1. Penelitian ini dibuat untuk membantu user menemukan arti kata yang

terdapat dalam kamus kedokteran.

2. Penelitian ini dibuat menggunakan Algoritma String Matching yaitu

Algoritma Boyer-Moore.

3. Penelitian ini menggunakan Kamus Kedokteran Dr. Med. Ahmad Ramali

dan K. St. Pamoentjak yang disempurnakan oleh dr. Hendra T. Laksman,

mantan lektor kepala pada Universitas Indonesia.

4. Penelitian ini menggunakan 2600 data istilah dengan masing-masing 100

data istilah menurut Abjad.

D. Tujuan

Tujuan dalam penelitian ini adalah sebagai berikut:

1. Mengimplementasikan Algoritma Boyer-Moore dalam sistem pencarian

kata pada kamus kedokteran.

Page 21: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

4

2. Mengetahui akurasi pada saat melakukan pencocokan string pada istilah-

istilah yang ada dalam kamus kedokteran oleh Algoritma Boyer-Moore.

E. Manfaat

Manfaat dalam penelitian ini adalah sebagai berikut:

1. Memudahkan user dalam menemukan kata yang dicari pada istilah-

istilah dalam kamus kedokteran.

2. Memudahkan peneliti lain untuk melakukan penelitian sejenis pada

Algoritma Boyer-Moore dalam mencari referensinya.

Page 22: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

5

II. TINJAUAN PUSTAKA

A. Sistem Pencarian

Sistem adalah kumpulan elemen yang saling berinteraksi dalam suatu

kesatuan untuk menjalankan suatu proses pencapaian suatu tujuan utama

(Sutarman, 2009). Menurut Murdick (2003), sistem adalah seperangkat

elemen yang membentuk kegiatan atau suatu prosedur atau bagian

pengolahan yang mencari suatu tujuan-tujuan bersama dengan

mengoperasikan data atau barang pada waktu tertentu untuk menghasilkan

informasi atau energi atau barang.

Terdapat beberapa fungsi dari sistem, salah satunya sistem pencarian yang

terfokus pada pencarian data yang ada untuk mendapat informasi dari data

yang dicari tersebut. Sistem akan mengolah data dari masukkan berupa kata

dengan menghasilkan informasi dari kata tersebut. Penelitian ini merupakan

penelitian dengan menggunakan fungsi sistem sebagai pencarian kata dalam

database pada kamus kedokteran.

B. Definisi Kamus

Kamus adalah sejenis buku acuan yang tersusun berdasarkan abjad dan berisi

tentang istilah-istilah beserta maknanya. Kamus sangat dibutuhkan dalam

Page 23: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

6

dunia pendidikan untuk mencari tahu kata atau istilah yang ingin diketahui

maknanya (Merpaung, 2013).

C. Jenis-jenis Kamus

Menurut Chaer (2007), kamus dapat dikategorikn menjadi beberapa jenis,

yaitu:

1. Berdasarkan penggunaan bahasa

Kamus bisa ditulis dalam satu atau lebih dari satu bahasa. Dengan itu kamus

bisa dibagi menjadi beberapa jenis, yaitu:

i. Kamus Ekabahasa

Kamus ini hanya menggunakan satu bahasa (misal dalam satu kamus hanya

terdapat bahasa Indonesia saja atau bahasa Inggris saja). Kata-kata (entri) yang

dijelaskan dan penjelasannya adalah terdiri dari bahasa yang sama. Kamus ini

mempunyai perbedaan yang jelas dengan kamus Dwibahasa karena

penyusunan dibuat berdasarkan pembuktian data. Ini bermaksud

mendefinisikan makna atas kata-kata berdasarkan makna yang diberikan

dalam contoh kalimat yang mengandung kata-kata berhubungan. Contoh bagi

kamus Eka Bahasa ialah Kamus Besar Bahasa Indonesia (di Indonesia) dan

Kamus Dewan di (Malaysia).

Page 24: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

7

ii. Kamus Dwibahasa

Kamus ini menggunakan dua bahasa, yakni kata masukan dari bahasa yang

dikamuskan diberi padanan dengan menggunakan bahasa yang lain.

Contohnya: Kamus Inggris-Indonesia, Kamus Dwibahasa Oxford Fajar

(Inggris-Melayu; Melayu-Inggris).

Pada penelitian ini, peneliti menerapkan Kamus Dwibahasa dalam

mengimplementasikan algoritma Boyer-Moore pada Kamus Kedokteran ini

karena sistem mencari arti kamus dalam bahasa Latin/Kedokteran ke bahasa

Indonesia.

iii. Kamus Aneka Bahasa

Kamus Aneka Bahasa merupakan kamus yang menterjemahkan lebih dari

satu bahasa. Kamus ini sekurang-kurangnya menggunakan tiga bahasa atau

lebih. Misalnya, kata Bahasa Melayu Bahasa Inggris dan Bahasa Mandarin

secara serentak. Contoh bagi kamus aneka bahasa adalah Kamus Melayu-

Cina-Inggris pelangi yang disusun oleh Yuen Boon Chan.

2. Berdasarkan Isi

Kamus bisa muncul dalam berbagai isi. Ini adalah karena kamus diterbitkan

dengan tujuan memenuhi keperluan gologan tertentu. Contohnya, golongan

pelajar sekolah memerlukan kamus berukuran kecil untuk memudahkan

mereka membawa kamus ke sekolah. Secara umumnya kamus dapat dibagi

kepada 3 jenis ukuran (Chaer, 2007):

Page 25: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

8

i. Kamus Mini

Pada zaman sekarang sebenarnya susah untuk menjumpai kamus ini. Kamus

Mini juga dikenali sebagai kamus saku karena ia dapat disimpan dalam saku.

Tebalnya kurang dari 2 cm. Kamus mini ini memiliki tidak lebih dari 2000

kosa kata dan tentunya kosa kata yang ada di dalam kamus ini lebih umum

digunakan masyarakat.

ii. Kamus Kecil

Kamus Kecil biasa dijumpai berukuran kecil. Kamus Kecil merupakan kamus

yang mudah dibawa karena ukurannya yang kecil dapat menghemat tempat.

Contoh dari Kamus Kecil ini salah satunya Kamus Dwibahasa Oxford Fajar

(Inggris-Melayu; Melayu-Inggris).

iii. Kamus Besar

Kamus Besar memuatkan segala makna kata yang terdapat dalam satu bahasa.

Setiap perkataannya dijelaskan maksud secara lengkap. Biasanya, ukurannya

besar dan tidak sesuai untuk dibawa ke sana sini. Contoh dari kamus ini salah

satunya Kamus Besar Bahasa Indonesia.

3. Kamus Istimewa

Kamus istimewa merujuk kepada kamus yang mempunyai fungsi yang

khusus. Contoh dari kamus ini adalah sebagai berikut:

Page 26: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

9

i. Kamus Istilah

Kamus Istilah berisi istilah-istilah khusus dalam bidang tertentu. Fungsinya

adalah untuk kegunaan ilmiah. Contohnya ialah Kamus Istilah Kedokteran.

ii. Kamus Etimologi

Kamus Etimologi adalah kamus yang menerangkan asal usul sesuatu

perkataan dan maksud asalnya. Biasanya kamus ini hanya memiliki satu

bahasa atau yang biasa disebut kamus ekabahasa. Contoh bagi kamus

Etimologi ialah Kamus Besar Bahasa Indonesia (di Indonesia) dan Kamus

Dewan di (Malaysia).

iii. Kamus Tesaurus (Sinonim)

Kamus Tesaurus adalah kamus yang menerangkan maksud sesuatu perkataan

dengan memberikan kata-kata searti (sinonim) dan dapat juga kata-kata yang

berlawanan arti (antonim). Kamus ini dapat membantu para penulis untuk

meragamkan penggunaan diksi. Contohnya, Tesaurus Bahasa Indonesia.

iv. Kamus Peribahasa/Simpulan Bahasa

Kamus Peribahasa/Simpulan Bahasa adalah kamus yang menerangkan

maksud sesuatu peribahasa/simpulan bahasa. Selain daripada digunakan

sebagai rujukan, kamus ini juga sesuai untuk dibaca dengan tujuan keindahan.

Page 27: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

10

v. Kamus Kata Nama Khas

Kamus yang hanya menyimpan kata nama khas seperti nama tempat, nama

tokoh, dan juga nama bagi institusi. Tujuannya adalah untuk menyediakan

rujukan bagi nama-nama ini.

vi. Kamus Terjemahan

Kamus yang menyediakan kata searti bahasa asing untuk satu bahasa sasaran.

Kegunaannya adalah untuk membantu para penerjemah. Kamus ini lebih mirip

dengan kamus Dwi bahasa, dimana di dalam kamus ini berisikan lebih dari 1

bahasa yang digunakan sebagai bahasa penerjemah dan yang satu lagi

digunakan sebagai bahasa terjemahan.

vii. Kamus Kolokasi

Kamus yang menerangkan tentang padanan kata. Contohnya kata 'terdiri' yang

selalu berpadanan dengan 'dari' atau 'atas', kata „sebagian‟ yang selalu

berpadanan dengan „besar‟ atau „kecil‟.

D. Algoritma

Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang

digunakan untuk memecahkan suatu permasalahan (Utami, 2005). Algoritma

adalah urutan langkah-langkah logis penyelesaian masalah yang disusun

secara sistematis (Munir, 2007). Berdasarkan definisi tersebut dapat

dikatakan bahwa Algoritma merupakan ilmu yang mempelajari cara

Page 28: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

11

menyelesaikan masalah dengan langkah-langkah yang disusun dengan

sistematis dan menggunakan bahasa yang logis untuk tujuan tertentu.

E. String Matching

String matching adalah proses pencarian semua kemunculan query yang

selanjutnya disebut pattern ke dalam string yang lebih panjang (Sarno, 2012).

String matching dirumuskan dengan :

x = x [0....m-1] ............................................................................................... (1)

y = y [0.....n-1] ............................................................................................... (2)

dimana :

x = pattern

m = panjang pattern

y = Teks

n = Panjang teks.

F. Algoritma Boyer-Moore

Algoritma Boyer-Moore dianggap sebagai algoritma pencocokkan string

yang paling efisien. Algoritma ini melakukan pencocokkan pola dari kanan ke

kiri tetapi pergeseran tetap dari kiri ke kanan (Charras dkk, 2004). Langkah-

langkah yang dilakukan algoritma Boyer Moore pada saat mencocokkan

string adalah (Soleh, 2011):

Page 29: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

12

1. Algoritma Boyer-Moore mulai mencocokan bentuk karakter pada awal

teks.

2. Dari kanan ke kiri, algoritma ini mencocokkan karakter per karakter

pattern dengan karakter di teks yang bersesuaian, sampai salah satu

kondisi berikut dipenuhi :

i. Karakter per karakter di pattern dan karakter di teks yang

dibandingkan dalam database tidak cocok.

ii. Semua karakter di pattern cocok dengan yang ada dalam teks.

Kemudian algoritma memberitahukan penemuan di posisi ini.

3. Algoritma kemudian menggeser karakter dengan memaksimalkan nilai

pergeseran good-suffix dan pergeseran bad-character, lalu mengulangi

langkah 2 sampai pattern berada di ujung teks.

G. PHP (PHP: Hypertext Preprocessor)

PHP adalah bahasa scripting yang paling mudah karena referensi yang

banyak. PHP adalah bahasa open source yang dapat digunakan di berbagai

mesin (linux, unix, windows) dan dapat dijalankan secara runtime melalui

console serta bahasa pemrograman server side yang sudah banyak digunakan

pada saat ini, terutama untuk pembuatan website dinamis (Andre, 2014).

PHP (PHP:Hypertext Preporocessor) merupakan sebuah bahasa

pemrograman yang hanya dapat berjalan pada sisi server (Server Side

Scripting). Artinya proses yang dibuat dengan PHP tidak berjalan tanpa

menggunakan web server. PHP digunakan untuk membangun aplikasi

Page 30: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

13

berbasis web agar web tersebut dapat digunakan secara dinamis, seperti

menambah, mengubah, membaca, serta menghapus suatu konten. PHP

menyatu dengan kode HTML. PHP tidak menggantikan peran utama HTML

sebagai pondasi kerangka web, namun untuk melengkapi kekosongan. HTML

merupakan bahasa pemrograman yang digunakan untuk membangun

kerangka atau pondasi web. Sedangkan PHP merupakan bahasa pemrograman

yang digunakan untuk proses aksi yang terdapat dalam konten web (Saputra,

2013).

H. HTML (Hypertext Markup Language)

HTML (Hypertext Markup Language) merupakan jenis bahasa yang

digunakan untuk membuat halaman website yaitu dengan menggunakan tag-

tag yang telah dideklarasikan pada halaman notepad dan dapat saling

berhubungan dengan dokumen HTML yang lainnya yang sering dikenal

dengan istilah link. HTML (Hypertext Markup Language) merupakan sebuah

bahasa pemrograman markup yang berisi kode-kode tag sehingga informasi

tersebut dapat ditampilkan di halaman web sehingga dapat dibuka

menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet

Explorer (Saputra, 2013).

Page 31: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

14

I. Penelitian Terdahulu

Penelitian terdahulu yang dijadikan oleh peneliti sebagai pembanding yang

berhubungan dengan pengimplementasian algoritma Boyer-Moore yang

pernah ada, yaitu:

1. Argakusumah dan Hansun (2014) melakukan penelitian tentang

“Implementasi Algoritma Boyer-Moore pada Aplikasi Kamus

Kedokteran Berbasis Android”. Penelitian ini dilakukan dengan

melakukan survei dan diperoleh yaitu keberadaan kamus kedokteran

dengan bentuk yang tebal dapat mempersulit dan memperlambat

penggunaan kamus kedokteran itu sehingga dibutuhkan suatu aplikasi

kamus kedokteran yang dapat mempermudah dan mempersingkat waktu

penggunaannya. Aplikasi ini memisahkan istilah-istilah yang ada dalam

kedokteran menjadi beberapa kategori.

2. Kejora, Astuti, dan Rozi (2011) melakukan penelitian tentang “Kamus

Penyakit Hewan Peliharaan dengan Metode Boyer-Moore Berbasis

Android”. Penelitian ini diperuntukkan bagi para mahasiswa kedokteran

hewan untuk mengetahui berbagai macam penyakit hewan terutama

anjing dan kucing. Pada aplikasi ini, tidak terdapat fitur tambah data yang

dapat digunakan untuk menambah atau memasukkan kata istilah baru ke

dalam sistem untuk melengkapi data dalam istilah kedokteran.

Sistem yang dibuat dalam penelitian ini untuk melengkapi kekurangan dari

kedua contoh pengimplementasian Algoritma Boyer-Moore di atas, untuk

mempermudah dan mempersingkat pencarian dengan menggabungkan semua

Page 32: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

15

kategori menjadi satu. Saat sistem ini digunakan, user langsung mengetikkan

kata yang dicari dari bidang manapun dengan menambahkan fitur login bagi

admin untuk mengubah, menambah, atau menghapus data.

Page 33: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

16

III. METODE PENELITIAN

A. Waktu dan Tempat Penelitian

Penelitian ini dilakukan pada Semester Ganjil Tahun Ajaran 2018/2019 yang

bertempat di Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu

Pengetahuan Alam Universitas Lampung. Penelitian ini dimulai dengan

menganalisis kebutuhan mahasiswa kedokteran terhadap kamus kedokteran

yang tebal dan agak repot dibawa karena memiliki beban yang berat dengan

memilih salah satu Algoritma String Matching yang dapat membantu proses

pencocokan data, yaitu Algoritma Boyer-Moore. Dari hasil analisis tersebut,

penulis mengembangkan sistem pencarian kata dalam kamus kedokteran

menggunakan Algoritma Boyer-Moore dan membuat database yang berisi

kumpulan istilah-istilah kedokteran dalam Bahasa Latin.

B. Kerangka Penelitian

Kerangka penelitian yang dilakukan dalam pembuatan sistem pencarian kata

pada kamus kedokteran ini dapat dilihat pada Gambar 1.

Page 34: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

17

Gambar 1. Kerangka Penelitian.

Gambar 1 menjelaskan kerangka penelitian dimulai dari adanya permasalahan

yang terjadi pada saat mencari data pada kamus kedokteran yang dilakukan

menggunakan kamus-kamus kedokteran yang sangat tebal serta berat jika

dibawa kemana-mana serta memakan waktu yang lama dalam pencariannya.

Selanjutnya dilakukan pendekatan pada sistem dengan menggunakan

algoritma string matching yaitu Algoritma Boyer-Moore. Setelah melakukan

pendekatan, proses selanjutnya yaitu identifikasi, dimana tahap ini

menjelaskan hal-hal yang ingin dikembangkan dengan menggunakan

Algoritma Boyer-Moore sebagai algoritma yang membantu memaksimalkan

proses pencarian data pada kamus kedokteran. Selanjutnya, yaitu tujuan dari

penelitian ini yaitu membuat sistem informasi pencarian kata pada kamus

kedokteran dengan mengimplementasikan Algortima Boyer-Moore dan

kemudian divalidasi dengan menguji sistem terhadap algoritma yang sudah

diimplementasikan. Setelah sistem divalidasi, maka didapatkan hasil yaitu

Pencarian

data istilah

kamus

kedokteran

Proses pencarian data

secara manual, sehingga

membutuhkan waktu yang

lama

Problem Approach

Penggunaan

Algoritma

String

Matching

Algoritma

pencarian

Boyer-

Moore

Identification

Pencarian data

kamus

menggunakan

algortima Boyer-

Moore

Proposed

Menerapkan

algortima

Boyer-Moore

pada

pencarian data

Validation

Uji

Algoritma

Result

Sistem pencarian

data pada kamus

kedokteran

menggunakan

algoritma Boyer-

Moore

Page 35: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

18

sebuah sistem pencarian data berupa kata pada kamus kedokteran

menggunakan Algoritma Boyer-Moore tersebut.

C. Spesifikasi Hardware dan Software yang Digunakan

Penelitian ini menggunakan hardware dan software sebagai sarana penunjang

dan pendukung pelaksanaan penelitian, yaitu:

1. Perangkat Keras (Hardware)

Perangkat keras (hardware) yang digunakan dalam penelitian ini adalah 1

unit laptop dengan spesifikasi:

-Processor 1,70 GHz , Core 2, Threads 4

-Memory RAM 4 GB, DDR 3

-Harddisk 500 GB, 5400 RPM

2. Perangkat Lunak (Software)

Perangkat lunak (software) yang digunakan dalam penelitian ini yaitu:

-Sistem Operasi: Windows 10 64 bit

-Web Browser : Mozilla Firefox, Google Chrome, dan Baidu Browser

-Program editor : Sublime Text Versi 2

-DBMS : MySQL versi 10.1.36

-Bahasa Pemrograman: PHP Versi 7.2.10

- XAMPP Versi 3.2.2

Page 36: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

19

D. Metode Pengembangan Sistem

Metode pemecahan masalah dalam penelitian yang dilakukan yaitu Metode

Waterfall ditunjukkan pada pada Gambar 2.

Gambar 2. Metode Waterfall (Pressman, 2011).

Pada Gambar 2, pengembangan sistem dimulai dengan menganalisa

kebutuhan. Setelah dianalisis, maka tahap selanjutnya adalah mendesain serta

mengimplementasikan sistem dan kemudian melakukan pengujian sistem.

1. Analisa Kebutuhan

Analisa kebutuhan yaitu dimulai dengan mengidentifikasi, mengumpulkan

studi literatur berkaitan dengan Algoritma String Matching yaitu Algoritma

Boyer-Moore. Data yang dibutuhkan dalam penelitian ini adalah kamus

kedokteran. Setelah proses identifikasi terhadap permasalahan selesai,

Page 37: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

20

ditemukan permasalahan yaitu bagaimana sistem pencarian kata pada Kamus

Kedokteran ini menjadi lebih efektif dengan waktu proses pencarian yang

singkat serta mudah digunakan dengan mengimplementasikan Algoritma

String Matching, yaitu Algoritma Boyer-Moore.

2. System Design

Pada tahapan ini, dilakukan perancangan sistem yang akan

diimplementasikan dengan memakai Use Case Diagram dan Class Diagram

sebagai berikut:

-Use Case Diagram

Use Case Diagram merupakan gambaran dari seluruh aktifitas yang

dilakukan sistem. Use Case Sistem Pencarian Kata ini ditunjukkan pada

Gambar 3.

Gambar 3. Use Case Diagram Sistem Pencarian Kata Pada Kamus

Kedokteran.

Page 38: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

21

Pada Gambar 3, User dapat mencari istilah dengan mengetikkan kata yang

dicari dan sistem mencari kata tersebut di dalam database dan

menampilkannya serta menambahkan saran kata. Terdapat login bagi Admin

dalam sistem untuk menambahkan data istilah, mengedit, menghapus data,

dan menyimpan saran yang diusulkan user.

-Class Diagram

Class Diagram mendeskripsikan jenis-jenis obyek dalam sistem dan berbagai

macam hubungan yang terjadi. Class Diagram ditunjukkan oleh Gambar 4.

Gambar 4. Class Diagram Sistem Pencarian Kata Pada Kamus Kedokteran.

Page 39: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

22

3. Implementasi

Pada proses implementasi dilakukan pembuatan pembuatan sistem yang telah

didesain. Pembuatan sistem ini menggunakan perangkat lunak yang

digunakan dalam pembuatan sistem yaitu menggunakan bahasa pemrograman

PHP (Hypertext Preprocessor) dan database MySQL, dan Algoritma Booyer-

Moore.

Algoritma Boyer-Moore adalah salah satu algoritma untuk mencari suatu

string di dalam teks, dibuat oleh R.M Boyer dan J.S Moore. Algoritma Boyer-

Moore melakukan perbandingan dimulai dari kanan ke kiri, tetapi pergeseran

window tetap dari kiri ke kanan. Jika terjadi kecocokkan maka dilakukan

perbandingan karakter teks dan karakter pola yang sebelumnya, yaitu dengan

sama-sama mengurangi indeks teks dan pola masing-masing sebanyak satu.

Dengan mengunakan algoritma ini, secara rata-rata proses pencarian akan

menjadi lebih cepat jika dibandingkan dengan algoritma lainnya. Contoh

penerapan Algoritma boyer-moore ditunjukkan pada Gambar 5.

Gambar 5.Contoh Pengimplementasian Algoritma Boyer-Moore.

Dari gambar tersebut, dilakukan perbandingan dari sebelah kanan yaitu string

yang paling akhir. Dapat dilihat bahwa karakter „R‟ yang ada pada string

“SAYUR” tidak cocok dengan karakter „H‟ yang ada pada string “LODEH”

dan karakter „H‟ tidak ditemukan pada string “SAYUR” sehingga terjadi

S A Y U R L O D E H

L O D E H

Page 40: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

23

pergeseran string “LODEH” melewati string “SAYUR” sehingga posisi

pergeserannya sebagai ditunjukkan oleh Gambar 6.

Gambar 6. Contoh Implementasi Algoritma Boyer-Moore.

Dari contoh pada Gambar 6 dapat dilihat bahwa pergeseran pada Algoritma

boyer-moore memiliki loncatan karakter yang besar sehingga dapat

mempercepat waktu pencarian string hanya dengan memeriksa sedikit

karakter karena langsung diketahui bahwa string yang dicari tidak ditemukan

sehingga dapat langsung bergeser ke posisi berikutnya.

-Langkah Algoritma Boyer-Moore

Secara sistematis, langkah-langkah yang dilakukan Algoritma Boyer-Moore

pada saat mencocokkan string adalah:

1. Algoritma Boyer-Moore mulai mencocokkan pattern pada awal teks.

2. Dari kanan ke kiri, algoritma ini mencocokkan karakter per karakter

pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi

berikut dipenuhi:

a. Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch).

b. Semua karakter di pola cocok. Kemudian algoritma memberitahukan

penemuan di posisi ini.

S A Y U R L O D E H

L O D E H

Page 41: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

24

3. Algoritma kemudian menggeser pattern dengan memaksimalkan nilai

penggeseran good-suffix (MH) dan penggeseran bad-character (OH), lalu

mengulangi langkah 2 sampai pattern berada di ujung teks.

-Penerapan Algoritma Boyer-Moore

Contoh penggunaan algoritma Boyer-Moore dalam melakukan pencarian

pattern dalam teks:

Teks (S) = ARTHRITIS

Pattern (P) = RITIS

Tahapan pencarian pattern (P) dalam Teks (S) ditunjukkan pada Gambar 7.

Gambar 7. Penyelesaian Nilai OH dan MH

Langkah 1 penyelesaian pergeseran Pattern ditunjukkan pada Gambar 8.

Gambar 8. Langkah 1 Pergeseran Pattern.

Pada Gambar 8 karakter “S” pada pattern tidak cocok dengan karakter “R”

pada teks. Pergeseran algoritma Boyer-Moore memiliki loncatan karakter

sebanyak 3 dilihat dari tabel OH yaitu sebanyak 3 dimana pergeseran tersebut

ditunjukkan pada Gambar 9.

Pattern (P) R I T I S

Occurence Heuristic (OH) 3 1 2 1 0

Match Heuristic (MH) 5 5 5 5 1

Posisi Teks 1 2 3 4 5 6 7 8 9

Teks A R T H R I T I S

Pattern R I T I S

Page 42: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

25

Gambar 9. Posisi Pergeseran Langkah 1.

Pada Gambar 9 pergeseran yang terjadi dimana karakter “S” pada pola tidak

cocok dengan karakter “I” yang ada pada teks. Pergeseran selanjutnya perlu

melihat nilai pergeseran dari OH yang terdapat dalam Gambar 7 Karakter “I”

dengan jumlah pergeseran sebanyak 1.

Gambar 10. Akhir Pergeseran Pattern.

Pergeseran terakhir yang ditunjukkan oleh Gambar 10. menunjukkan bahwa

karakter “S” yang ada pada pola cocok dengan karakter “S” yang ada dalam

teks.

-Kode Program Algoritma Boyer-Moore

Berikut adalah Kode Program algoritma Boyer-Moore pada fase pra-

pencarian ditunjukkan pada Kode Program 1.

Posisi Teks 1 2 3 4 5 6 7 8 9

Teks A R T H R I T I S

Pattern R I T I S

Posisi Teks 1 2 3 4 5 6 7 8 9

Teks A R T H R I T I S

Pattern R I T I S

Page 43: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

26

Kode Program 1. Bad-Character Shift (OH).

Pada Kode Program 1, i merupakan panjang keyword yang dimasukkan

dalam variabel i dengan berbentuk array dari indeks 0..n-1 dari karakter yang

ada pada keyword. Selanjutnya, algoritma me-looping dari i=0 sampai

panjang keyword -1 untuk menentukan nilai bmBc[i] nilainya i nya berapa

dan di-looping untuk menentukan nilai pola ke-I nya sampai m-2 dengan

rumus bmBc[P[i]] := m - i – 1.

Berikut merupakan Kode Program Good-Suffix Shift (MH) yang masuk ke

dalam fase pra pencarian ditunjukkan pada Kode Program 2.

procedure preBmBc(

input P : array[0..n-1] of char,

input n : integer,

input/output bmBc : array[0..n-1] of

integer

)

Deklarasi:

i: integer

Algoritme:

for (i := 0 to ASIZE-1)

bmBc[i] := m;

endfor

for (i := 0 to m - 2)

bmBc[P[i]] := m - i - 1;

endfor

Page 44: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

27

Kode Program 2. Good-Suffix Shift (MH).

procedure preSuffixes(

input P : array[0..n-1] of char,

input n : integer,

input/output suff : array[0..n-1] of

integer

)

Deklarasi:

f, g, i: integer

Algoritme:

suff[n - 1] := n;

g := n - 1;

for (i := n - 2 downto 0) {

if (i > g and (suff[i + n - 1 - f] < i -

g))

suff[i] := suff[i + n - 1 - f];

else

if (i < g)

g := i;

endif

f := i;

while (g >= 0 and P[g] = P[g + n - 1 -

f])

--g;

endwhile

suff[i] = f - g;

endif

endfor

Page 45: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

28

Pada Kode Program 2, f merupakan huruf yang berada di sebelah kiri [i],

menentukan ketidakcocokkan terdapat pada posisi berapa. Suff [n-1]=

n mencocokkan mulai dari sebelah kanan dimana g=n-1 merupakan

panjang dari karakter keyword. Pada for (i := n - 2 downto

0),akan di-looping dan mengecek kecocokan string keyword dari kanan ke

kiri dan mengecek kecocokan string keyword per posisi pada (if (i > g

and (suff[i + n - 1 - f] < i - g). Setelah dicek

kecocokannya, digeser pada posisi ke i, dan jika tidak sesuai dengan kondisi

yang di atas, maka g:=i sampai f := i yaitu inisialisasi nilai f.

Kemudian me-looping lagi dengan while (g >= 0 and P[g] =

P[g + n - 1 - f]) memeriksa kecocokan keyword per posisi dengan

berjalan ke kiri (--g;).

Pada Kode Program 3, suff: array merupakan nilai pergeseran yang

dihasilkan dengan parameter preSuffixes(x, n, suff);.for

(i := 0 to m-1) me-looping dari 0 sampai panjang teks -1 sampai

didapati nilai bmGs[i] := n. Pada j=0 menginisialisasi nilai j dengan

looping mudur (decrease) kanan ke kiri (for (i := n - 1 downto

0)). Selanjutnya mengecek kondisi dengan if (suff[i] = i + 1)

akan memeriksa kondisi yaitu posisi pertama dan me-looping nilai j, yaitu

for (j:=j to n - 2 - i) hingga dalam kondisi posisi setelahnya

yaitu if (bmGs[j] = n), maka bmGs[j], maka nilainya

bmGs[j]= n-1-i dan jika nilainya true, maka nilai nya bmGs[j]= n-

1-i, dan jika nilainya tidak sesuai, maka masuk ke looping (i = 0 to

Page 46: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

29

n - 2) yang selanjutnya menentukan nilai bmGs[n - 1 -

suff[i]] := n - 1 - i;. Berikut Kode Program perhitungan suffix.

Kode Program 3. Perhitungan Suffix.

procedure preBmGs(

input P : array[0..n-1] of char,

input n : integer,

input/output bmBc : array[0..n-1] of integer

)

Deklarasi:

i, j: integer

suff: array [0..RuangAlpabet] of integer

preSuffixes(x, n, suff);

for (i := 0 to m-1)

bmGs[i] := n

endfor

j := 0

for (i := n - 1 downto 0)

if (suff[i] = i + 1)

for (j:=j to n - 2 - i)

if (bmGs[j] = n)

bmGs[j] := n - 1 - i

endif

endfor

endif

endfor

for (i = 0 to n - 2)

bmGs[n - 1 - suff[i]] := n - 1 - i;

endfor

Page 47: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

30

Kode Program Algoritma Boyer-Moore pada fase pencarian yang ditunjukkan

pada Kode Program 4.

Kode Program 4. Fase Pencarian.

procedure BoyerMooreSearch(

input m, n : integer,

input P : array[0..n-1] of char,

input T : array[0..m-1] of char,

output ketemu : array[0..m-1] of boolean

)

Deklarasi:

i, j, shift, bmBcShift, bmGsShift: integer

BmBc : array[0..255] of interger

BmGs : array[0..n-1] of interger

Algoritme:

preBmBc(n, P, BmBc)

preBmGs(n, P, BmGs)

i:=0

while (i<= m-n) do j:=n-1

while (j >=0 n and T[i+j] = P[j]) do j:=j-1

endwhile

if(j < 0) then

ketemu[i]:=true;

endif

bmBcShift:= BmBc[chartoint(T[i+j])]-n+j+1

bmGsShift:= BmGs[j]

shift:= max(bmBcShift, bmGsShift)

i:= i+shift

Page 48: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

31

Pada Kode Program 4, m merupakan panjang teks dan n merupakan panjang

keyword dimana P merupakan array keyword dan T merupakan array teks

dengan kondisi output ketemu atau tidak ketemu (Boolean). Selanjutnya

pendeklarasian variabel integer yaitu nilai pergeseran. BmBc dan BmGs

sebagai array sudah didapati nilainya pada prosedur sebelumnya. Prosedur

preBmBc memiliki parameter (n, P, BmBc) dan prosedur preBmGs

memiliki parameter (n, P, BmGs) dan inisialisasi i=0

kemudian di-looping (i<= m-n) untuk mencocokkan teks dengan

keywordnya. Selanjutnya menentukan nilai j nya (j >=0 n and T[i+j]

= P[j]) do j:=j-1 sampai bertemu karakter apa yang tidak cocok

bmBcShift:=BmBc[chartoint(T[i+j])]-n+j+1 dan posisi

berapa yang tidak cocok. Pada bmGsShift:= BmGs[j] berisi [j]

yaitu posisi berapa yang tidak cocok dengan nilai pergeserannya

max(bmBcShift, bmGsShift), yaitu nilai maksimal saat ditemukan

yang tidak cocok maka jumlah pergeseran langsung dalam jumlah besar.

4. Testing/Pengujian

Proses pengujian, yaitu dengan melakukan pencarian dengan memasukkan

keyword pencarian secara acak dari database. Kemudian melihat jumlah yang

ditemukan dalam pencarian dengan jumlah yang ada dalam database sama

atau tidak.

Penelitian ini menggunakan Black Box Testing sebagai metode pengujian

yang dilakukan hanya mengamati hasil eksekusi melalui data uji yang dapat

Page 49: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

32

diketahui hasil dari pola yang dicari sama dengan yang ada di dalam

database. Untuk mengetahui tingkat relevansi dan ketepatan sistem dalam

melakukan pencarian informasi yang diminta oleh pengguna, maka dilakukan

pula pengujian akurasi sistem.

Page 50: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

66

V. KESIMPULAN

A. Simpulan

Berdasarkan uraian penelitian, dapat disimpulkan bahwa:

1. Algoritma Boyer-Moore dapat diimplementasikan ke dalam Kamus

Kedokteran berbasis web dan dapat berguna untuk menemukan arti

dari istilah kedokteran yang dicari.

2. Menggunakan Bahasa Pemrograman PHP, dan database MySQL.

3. Data yang disediakan yaitu dari kamus kedokteran dengan jumlah data

2600 istilah kedokteran.

4. Sistem dapat mencari kata berdasarkan istilah maupun berdasarkan

arti katanya.

5. User dapat menambahkan saran kata berupa istilah kedokteran ke

dalam sistem.

6. Admin memiliki kuasa menambahkan saran yang diajukan oleh user

ke dalam sistem atau menghapusnya.

7. Dalam sistem terdapat Admin yang dapat menambahkan, mengedit,

dan menghapus kata berupa istilah kedokteran dan sistem berhasil

menyimpannya ke dalam database.

Page 51: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

67

8. Dari hasil pengujian sistem dengan Black Box Testing, semua fungsi

dapat berjalan dengan baik.

9. Dapat diketahui dari hasil perhitungan akurasi dalam sistem pencarian

kata pada kamus kedokteran ini sebesar 96%.

B. Saran

Berdasarkan penelitian yang sudah dilakukan, terdapat beberapa saran

pengembangan sistem untuk penelitian selanjutnya:

1. Penambahan fitur word suggestion pada sistem.

2. Melengkapi data istilah-istilah dalam bidang kedokteran pada

database.

Page 52: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

68

DAFTAR PUSTAKA

Andre. 2014. Pengertian PHP. www.duniailkom.com. Diakses pada 13 Oktober

2017.

Argakusumah, K. dan Hansun, S. 2014. Implementasi Algoritma Boyer-Moore

pada Aplikasi Kamus Kedokteran Berbasis Android. ULTIMATICS, Vol.

VI, No. 2.

Chaer, A. 2007. Leksikologi dan Leksikografi Bahasa Indonesia. Jakarta: Rineka

Cipta.

Charras, C. dan Lecroq, T. 2004. Handbook of Exact String Matching Algorithms.

College Publications: England.

Hutahean, J. 2014. Konsep Sistem Informasi. Konsep Sistem Informasi (Vol.53).

Kejora, F, Astuti, Ely, dan Rozi, I. 2011. Kamus Penyakit Hewan Peliharaan

dengan Metode Boyer-Moore Berbasis Android. Politeknik Negeri Malang.

Kumara, G. 2008. Visualisasi Beberapa Algoritma Pencocokan String dengan

Java. Jurnal Ilmiah Institut Teknologi Bandung.

Merpaung, I. 2013. Implementasi Algoritma String Matching Pada Kamus

Kedokteran Berbasis Android. Pelita Informatika Budi Darma, Volume : V,

Nomor: 3.

Munir, R. 2007. Strategi Algoritma . Teknik Informatika: Bandung.

Pendit, PL. 2008. Perpustakaan digital dari A sampai Z, Jakarta: Cita Karyakarsa

Mandiri

Pradhana, F. 2012. Penerapan String Matching pada Fitur Auto Correct dan Fitur

Auto Text di Smart Phones. Bandung. Institut Teknologi Bandung.

Pressman, R. 2011. Sof w e Enginee ing: P i ione ’ pp o h, Fif h Ed.

New York: McGraw-Hill Book Company.

Page 53: IMPLEMENTASI ALGORITMA BOYER-MOORE DALAM SISTEM …digilib.unila.ac.id/58345/3/SKRIPSI TANPA BAB PEMBAHASAN.pdf · istilah dalam bahasa Latin. Proses pencarian istilah kata membutuhkan

69

Robert G Murdick. 2003. Analisis dan Desain Sistem Informasi. Yogyakarta:

Andi.

Saputra, A. 2013. Membangun Aplikasi Toko Online dengan PHP dan SQL

Server. Jakarta: PT Elex Media Komputindo.

Sarno. 2012. Semantic Search Pencarian Berdasarkan Konten. Yogyakarta. Andi

offset.

Soleh. 2011. Implementasi Algoritma KMP dan Boyer-Moore dalam Aplikasi

Search Engine Sederhana. Dimuat dalam makalah Strategi Algoritma.

Sutarman. (2009). Pengantar Teknologi Informasi. Jakarta: Bumi Aksara

Utami, E. (2005). 10 Langkah Belajar Menggunakan Logika dan Algoritma,

Menggunakan Bahasa C dan C++ di GNU/LINUX. Yogyakarta: Andi.