• Tidak ada hasil yang ditemukan

Implementasi Algoritma Zhu-Takaoka Pada Aplikasi Terjemahan Al-Quran Berbasis Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Zhu-Takaoka Pada Aplikasi Terjemahan Al-Quran Berbasis Android"

Copied!
7
0
0

Teks penuh

(1)

BAB II

TINJAUAN PUSTAKA

2.1. Algoritma Pencocokan String

Algoritma pencocokan string merupakan komponen dasar dalam pengimplementasian berbagai perangkat lunak praktis yang sudah ada. String matching digunakan untuk menemukan satu atau lebih string yang disebut dengan pattern (string yang akan dicocokkan ke dalam text) dalam string yang disebut dengan text (string yang diinput) (Charras & Lecroq 2004).

Pencocokan string adalah permasalahan untuk menemukan satu atau lebih umum semua kejadian dari pola dalam teks. Suatu pola dan teks keduanya merupakan string

yang dibangun di atas alphabet yang terbatas (satu set simbol yang terbatas) (Gonzalez,et

al. 2014)

Menurut cara pembacaan teks, algoritma pencocokan string dapat dibedakan atas dua cara pembacaan :

1. Dari kiri ke kanan

Algoritma pencarian dengan teknik ini sangat banyak. Hampir sebagian besar algoritma pencarian menggunakan cara pembacaan teks dari kiri ke kanan.

2. Dari kanan ke kiri

(2)

2.2. Algoritma Zhu-Takaoka

Algoritma Zhu-Takaoka merupakan algoritma pencocokan string (String Matching) yang dipublikasikan oleh Zhu Rui Feng dan Tadao Takaoka pada tahun 1986. Dalam makalahnya, Zhu dan Takaoka menyebut algoritma pencocokan string ini sebagai BM‟ Algorithm (Boyer-Moore‟ Algorithm). BMAlgorithm merupakan algoritma modifikasi dari algoritma pencocokan stringBoyer-Moore Algorithm yang dibuat oleh Boyer R.S dan Moore J.S. Algoritma BM‟ (Algoritma Zhu-Takaoka) yang merupakan modifikasi dari Algoritma BM mempunyai ciri-ciri yang sama dalam proses pencarian string. Ciri-ciri tersebut yaitu adanya tahap Preprocessing, Right-to-left scan, Bad

character rule, dan Good-suffix rule. Perbedaan antara Algoritma Boyer-Moore dan

Algoritma Zhu-Takaoka yaitu terletak pada tahap penentuan bad character rule. Dalam Boyer-Moore, bad character hanya terdiri array satu dimensi, sedangkan dalam Zhu-Takaoka dimodifikasi menjadi array dua dimensi (Ramdhani,2012).

Pada tahap preprocessing algoritma Zhu-Takaoka membangun tabel bad character 2 dimensi karena algoritma tersebut menghitung untuk pasangan karakter. Kompleksitas waktu dari fase preprocessing adalah O(m+o2) dankompleksitas waktu fase pencarian adalah O(mn) (Bhandari & Kumar 2014).

Proses inti pencarian Algoritma Zhu-Takaoka yaitu dilakukan dengan teknik right-to-left scan rule. Teknik ini membandingkan pattern yang dicari dengan sumber

teks dimulai dari kanan ke kiri (Michailidis & Margaritis 2009).

Langkah pertama yang dilakukan adalah tahapan preprocessing yaitu meciptakan dua buah tabel shif/pergesaran ztBc (Zhu-Takaoka Bad Character)&bmGs (Boyer-Moore Good Suffixes). Kedua tabel ini diciptakan merujuk

(3)

Tabel 2.1 Zhu-Takaoka Bad Character Table

Tabel ztBc berbentuk array dua dimensi yang baris dan kolom diisi sesuai dengan karakter yang ada pada pattern, tanda *(star) mewakili seluruh karakter yang tidak ada pada pattern. Tabel inilah yang merupakan hasil modifikasi dari algoritma Boyer Moore yang memiliki table bad character hanya terdiri dari array satu dimensi.

Tabel 2.2 Boyer-Moore Good Suffixes Table

I 0 1 2 3

x[i] M A T A

suff[i] 0 1 0 4

bmGs[i] 4 4 2 1

Tahapan selanjutnya adalah tahapan pencarian yaitu dengan menggunakan teknik right-to-left scan rule. Pencarian dilakukan dengan membandingkan karakter demi karakter dari mulai karakter paling kanan menuju karakter paling kiri. Jika terjadi ketidakcocokan karakter, pergeseran akan dilakukan dengan mencari nilai max antara ztBc dan bmGs, dan apabila semua pattern cocok pergeseran menggunakan nilai dari bmGs[0]. Indeks dari ztBc diambil dari dua karakter terakhir teks yang bersesuaian dengan window, sedangkan indeks bmGs diambil dari indeks pattern pada posisisi karakter yang tidak cocok.

(4)

Langkah 1

Tabel 2.3Pencarian pada Teks Langkah ke- 1

Window A C

Tabel 2.4Pencarian pada Teks Langkah ke- 2 Window

Text K A C A M A T A F A A I Z A H

Pattern M A T A

i 0 1 2 3

Karakter cocok semua.

Pergeseran dilakukan sebanyak bmGs[0] =2

Langkah 3

Tabel 2.4Pencarian pada Teks Langkah ke- 3

(5)

Pergeseran dilakukan sebanyak 4

Langkah 4

Tabel 2.4Pencarian pada Teks Langkah ke- 4

Window I Z

Terlihat dari hasil langkah empat tidak ditemukan kecocokan pattern dan text maka dilakukan shif sebesar ztBc[ I ][ Z ] = 4. Karena panjang teks sudah habis maka proses pencocokan dihentikan. Dari contoh diatas dapat ditarik kesimpulan bahwa dengan text KACAMATA FAAIZAH dan pattern MATA menggunakan Algoritma

Zhu-Takaoka menghasilkan satu pola yang cocok yaitu pada shif ke 4. Banyak komparasi yang terjadi adalah 8(delapan) kali perbandingan karakter.

2.3. Android

Android adalah suatu sistem operasi yang didesain sebagai platform open source untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Android menyediakan semua tools dan framework untuk mengembangkan aplikasi dengan mudah dan cepat. Dengan adanya

Android SDK pengembang aplikasi dapat memulai pembuatan aplikasi pada platform Android menggunakan bahasa pemrograman Java (Asmono,2013)

(6)

1. Lengkap artinya para desainer dapat melakukan pendekatan yang komprehensif ketika mereka sedang mengembangkan platform android. Sistem operasinya aman dan banyak menyediakan tools dalam membangun software dan memungkinkan peluang untuk pengembangan aplikasi

2. Terbuka artinya platform android disediakan melalui lisensi terbuka (open source) sehingga pengembang dapat dengan bebas mengembangkan aplikasi.

3. Bebas artinya tidak ada lisensi atau biaya royalti untuk dikembangkan pada platform android. Tidak ada biaya keanggotaan diperlukan. Tidak diperlukan

biaya pengujian. Aplikasi android dapat didistribusikan dan diperdagangkan dalam bentuk apapun.

4. Aplikasi android sendiri dikembangkan pada sistem operasi berikut : a. Windows XP.

b. Vista/Seven.

c. Mac OS X (Mac OS X 10.4.8 atau lebih baru). d. Linux.

2.4 Penelitian yang Relevan

Berikut ini beberapa penelitian yang relevan dengan penelitian ini:

1. Puji Pra Ramdhani (2012) dalam skripsi yang berjudul Analisis Perbandingan Performansi Algoritma Zhu-Takaoka dan Karp-Rabin pada Pencarian Kata di Rumah Buku Baca Sunda. Dengan melakukan analisis perbandingan performansi dari algoritma Karp-Rabin dan algoritma Zhu-Takaoka maka akan dapat

diketahui cara kerja dan performansi dalam kecepatan dan ketepatan dari kedua algoritma tersebut. Agar selanjutnya algoritma yang lebih mangkus dapat digunakan pada perangkat lunak pencocokan kata.

2. Abraham Khrisnandi Wicaksono (2015) dalam skripsi yang berjudul

Perbandingan Algoritma Horspool dan Agoritma Zhu-Takaoka Dalam Pencarian String Berbasis Desktop. Pencarian string adalah proses pencarian dengan

(7)

pencarian informasi. Melanjutkan penelitian sebelumnya, penelitian ini

Gambar

Tabel 2.2 Boyer-Moore Good Suffixes Table
Tabel 2.3Pencarian pada Teks Langkah ke- 1
Tabel 2.4Pencarian pada Teks Langkah ke- 4

Referensi

Dokumen terkait

3 Proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk kedalam proses untuk dihasilkan arus

Berdasarkan penelitian, pembahasan, pengujian, dan analisis terhadap sistem, maka dapat diambil kesimpulan sebagai berikut : (1) sistem keamanan data dokumen (

Beberapa isu yang muncul dalam Journal of Qur’anic Studies adalah komparasi translasi Qur’an ke dalam bahasa Inggris karya Yusuf Ali dan Muhammad Asad, studi translasi literal

faktor proses yang menurut Raymond dan Richard Mansbach dapat mendukung integrasi. Dorongan secara Ekonomi

Dalam menyusun skripsi ini, digunakan metode penelitian hukum normatif yang bersifat deskriptif, dimana penelitian hukum normatif yaitu penelitian yang menganalisis

Sekali-sekali pasien akan mengalami rasa napas yang pendek (seperti orang yang kelelahan) dan bukanya tekanan pada substernal.Sekali-sekali bisa pula

Dispensasi adalah ketetapan untuk memperkenankan diadakan suatu perkecualian terhadap larangan tersebut, misalnya : pegawai honorer berbeda status hukumnya dengan PNS, tetapi

Tujuan sistem pentanahan adalah untuk membatasi tegangan pada bagian-bagian peralatan yang tidak dialiri arus antara bagian- bagian tersebut dengan tanah, hingga tercapai