Kamus Data Implementasi Algoritma Zhu-Takaoka

Gambar 3.4 ActivityDiagram

3.3 Kamus Data

Kamus data merupakan sebuah daftar yang mengatur semua komponen data yang berhubungan terhadap sistem dengan definisi singkat dan sejelas-jelasnya sehingga pengguna dan analisis sistem dapat sama-sama mengerti tentang data masukan, keluaran, komponen penyimpanan, dan kalkulasi lanjutan. Kamus data pada sistem dapat dilihat pada Tabel 3.4 berikut. Tabel 3.4 Kamus Data Data Kolom Tipe Deskripsi Universitas Sumatera Utara Data Id Integer Identifier Juz Text Teks nomor juz Surat Text Teks nomor surat Ayat Text Teks nomor ayat berdasarkan surat Terjemah Text Teks terjemahan Al-quran

3.4 Flowchartdan Pseudocode

Flowchart adalah bagan yang menunjukkan prosedur dan proses pemecahan masalah sistem. Pseudocode adalah kode semu dari bahasa pemrograman yang digunakan agar dapat dipahami dan dimengerti oleh stakeholder.

3.4.1 Flowchart System

Flowchart dari sistem yang akan dibangun dapat di lihat pada Gambar 3.5 Gambar 3.5 Flowchart System Universitas Sumatera Utara

3.4.2 Flowchart Algoritma

Flowchart algoritma yang di gunakan dapat di lihat pada Gambar dibawah ini: Universitas Sumatera Utara Gambar 3.6 Flowchart Proses Pencarian Algoritma Zhu-Takaoka Universitas Sumatera Utara

3.4.2.1 PseudocodeProses Pencarian Algoritma Zhu-Takaoka

void ZT { preZtBc preBmGs int j = 0 int i = 0 while j = n - m { i = m - 1 while im x[i] == y[i+j] i = m - 1 i f i 0 { j += bmGs[0] } else { j += Math.maxbmGs[i], ztBc[y[j + m - 2]][y[j + m - 1]] } }

3.4.3 Flowchart Pembentukan Tabel ZtBc

Universitas Sumatera Utara Gambar 3.7 Flowchart Pembentukan Tabel ZtBc

3.4.3.1 PseudocodePembentukan Tabel ZtBc

void preZtBc { for int i = 0; i 256; ++i for int j = 0; j 256; ++j ztBc[i][j] = m; for int i = 0; i 256; ++i ztBc[i][int x[0]] = m - 1 for int i = 1; i m - 1; ++i ztBc[int x[i - 1]][int x[i]] = m - 1 - i }

3.4.4 Flowchart Pembentukan Tabel BmGs

Universitas Sumatera Utara Gambar 3.8Flowchart PembentukanTabel BmGs 3.4.4.1 PseudocodePembentukan Tabel BmGs void preBmGs { suffixes for int i = 0; i m; ++i bmGs[i] = m int j = 0 for int i = m - 1; i = 0; --i if suff[i] == i + 1 for ; j m - 1 - i; ++j if bmGs[j] == m bmGs[j] = m - 1 - i for int i = 0; i = m - 2; ++i bmGs[m - 1 - suff[i]] = m - 1 - i Universitas Sumatera Utara }

3.4.5 Flowchart Pembentukan Tabel Suffix

Gambar 3.9 Flowchart PembentukanTabel Suffix

3.4.5.1 PseudocodePembentukan Tabel Suffix

void suffixes { int f = 0 int g suff[m - 1] = m g = m - 1 for int i = m - 2; i = 0; --i { if i g suff[i + m - 1 - f] i - g suff[i] = suff[i + m - 1 - f] else { Universitas Sumatera Utara if i g g = i f = i while g = 0 x[g] == x[g + m - 1 - f] --g suff[i] = f - g } } }

3.5 Perancangan Antarmuka Interface

Perancangan antarmuka digunakan untuk memudahkan penggunaan aplikasi sistem yang ditujukkan kepada pengguna user sehingga sistem dapat berjalan sesuai dengan fungsinya secara optimal berdasarkan instruksi yang diberikan oleh user. Aplikasi yang dibangun pada penelitian ini menggunakan bahasa pemograman java.

3.5.1 Splash Screen

Splash Screen atau tampilan sementara ditunjukkan pada gambar 3.10 adalah tampilan yang digunakan untuk menunjukkanmenampilkan logo dari aplikasi. Gambar 3.10 Rancangan Splash Screen Keterangan: 1. adalah gambar yang menampilkan logo aplikasi 1 Universitas Sumatera Utara

3.5.2 Menu UtamaTerjemahan Al-Quran

Perancangan Menu Utama dapat dilihat pada gambar 3.11 Gambar 3.11 Rancangan Menu Utama Keterangan: 1. adalah Action bar untuk menampilkan judul menu utama 2. adalah Navigation Menu untuk menampilkan Menu Navigasi. 3. adalah Tabhost Juz untuk menampilkan terjemahan Al-Quran berdasarkan juz. 4. adalah Tabhost Surat untuk menampilkan terjemahan Al-Quran berdasarkan surat. 5. adalah Tabhost Ayat untuk menampilkan terjemahan Al-Quran berdasarkan ayat. 6. adalah Logo aplikasi. 7. adalah Custom Listview Juz untuk menampilkan seluruh juz pada terjemahan Al Quran. 8. adalah Custom Listview Surat untuk menampilkan seluruh surat pada terjemahan Al Quran. 9. adalah Custom Listview Ayat untuk menampilkan seluruh ayat pada terjemahan Al Quran.

3.5.3 Menu Navigasi

2 1 3 4 5 7 8 9 6 Universitas Sumatera Utara Perancangan Menu Navigasi dapat dilihat pada gambar di bawah ini Gambar 3.12 Rancangan Menu Navigasi Gambar 3.13 Rancangan Menu Cari Gambar 3.14 Rancangan Menu Loncat Keterangan: 1. adalah Menu cari untuk melakukan pencarian string pada aplikasi 2. adalah Menu loncat untuk melakukan loncat ke surat atau ayat yang ingin dilihat. √ Gambar 3.15 Rancangan Menu Pengaturan Gambar 3.16 Rancangan Menu Log Gambar 3.17 Rancangan Menu Tentang Loncat Pencarian seluruhnya Ketik disini…. Kembali cari Loncat: Masukkan halaman1- 6236 Ketik disini Batal loncat 7 6 8 9 Pengaturan Filter Pencarian Tentang Log 1.Allah Banyak komparasi: Running Time : 10 11 12 13 Universitas Sumatera Utara 3. adalah Menu pengaturan untuk melakukan pengaturan pada aplikasi 4. adalah Menu Log untuk menampilkan log proses pencarian. 5. adalah Menu Tentang untuk menampilkan halaman yang berisi tentang aplikasi. 6. adalah EditText untuk memasukkan string yang ingin dicari 7. adalah Button cari untuk melanjutkan ke proses pencarian. 8. adalah Button untuk kembali ke menu awal. 9. adalah Action Bar untuk menampilkan judul activity yang sedang berjalan. 10. adalah CheckBox untuk melakukan filter pencarian. 11. adalah Logo Aplikasi 12. adalah CostumListView untuk menampilkan listlog pencarian 13. adalah ImageView untuk menampilkan penjelasan tentang aplikasi

3.5.4 Form Hasil

Form Hasil adalah tampilan aplikasi yang menampilkan hasil pencarian string kepada pengguna. Tampilan Form Hasil pencarian dapat ditunjukkan pada Gambar 3.18 Gambar 3.18 Rancangan Form Hasil Keterangan: 1. adalah Button untuk kembali ke menu awal 2. adalah ActionBar untuk menampilkan activity yang sedang berjalan Detail: Pencarian:Allah Komparasi : Running Time: OK 1 2 3 4 Universitas Sumatera Utara 3. adalah DialogBox untuk menampilkan running time dan banyak komparasi 4. adalah Costum List View untuk menampilkan hasil pencarian. Universitas Sumatera Utara BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi Algoritma Zhu-Takaoka

Penerapan algoritma Zhu-Takaoka dalam sistem yang dibuat adalah pada proses pencarian dengan algoritma Zhu-Takaoka dalam mencari data terjemahan Al-Quran . Adapun langkah pertama yang dilakukan adalah melakuakan pembuatan database dalam SQLITE, data yang dimasukkan adalah terjemahan Al-Quran bahasa Indonesia yang dikeluarkan oleh Depag RI. Selanjutnya pencarian pattern pada aplikasi akan diproses dalam database sesuai dengan pencarian algoritma Zhu- Takaoka. Untuk pattern yang sesuai dengan database maka akan dimunculkan hasil berupa ayat yang memiliki pattern yang di inputkan. Jika pattern tidak adadalam database maka ayat tidak ditemukan. 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 shifpergesaran ztBc Zhu-Takaoka Bad CharacterbmGs Boyer-Moore Good Suffixes. Kedua tabel ini diciptakan merujuk kepada pattern yang akan dicari oleh karena itu jika pattern berubah maka tabel juga akan berubah. Hasil preprocessing untuk patternASI terlihat pada tabel 4.1 dan tabel 4.2 Universitas Sumatera Utara Tabel 4.1 Zhu-Takaoka Bad Character Table ZtBc A I S A 2 3 1 3 I 2 3 3 3 S 2 3 3 3 2 3 3 3 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 4.2 Boyer-Moore Good Suffixes Table I 1 2 x[i] A S I suff[i] 3 bmGs[i] 3 3 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. Langkah-langkah pencarian dengan algoritma Zhu-Takaoka adalah sebagai berikut: Universitas Sumatera Utara Langkah 1 Tabel 4.3Pencarian pada Teks Langkah ke- 1 Window A S Text N A S I B A S I S I A S I A Pattern A S I I 1 2 ztBc[ A ][ S ] = 1 bmGs[i] = bmGs[2] = 1 Pergeseran dilakukan sebanyak 1 Langkah 2 Tabel 4.4Pencarian pada Teks Langkah ke- 2 Window Text N A S I B A S I S I A S I A Pattern A S I I 1 2 Karakter cocok semua. Pergeseran dilakukan sebanyak bmGs[0] =3 Langkah 3 Tabel 4.5 Pencarian pada Teks Langkah ke- 3 Window A S Text N A S I B A S I S I A S I A Pattern A S 1 I 1 2 ztBc[ A ][ S ] = 1 bmGs[i] = bmGs[2] = 1 Pergeseran dilakukan sebanyak 1 Langkah 4 Tabel 4.6 Pencarian pada Teks Langkah ke- 4 Universitas Sumatera Utara Window Text N A S I B A S I S I A S I A Pattern A S I I 1 2 Karakter cocok semua. Pergeseran dilakukan sebanyak bmGs[0] =3 Langkah 5 Tabel 4.7 Pencarian pada Teks Langkah ke- 5 Window A S Text N A S I B A S I S I A S I A Pattern A S I I 1 2 ztBc[ A ][ S ] = 1 bmGs[i] = bmGs[0] = 3 Pergeseran dilakukan sebanyak 3 Langkah 6 Tabel 4.8 Pencarian pada Teks Langkah ke- 6 Window Text N A S I B A S I S I A S I A Pattern A S I I 1 2 Karakter cocok semua. Pergeseran dilakukan sebanyak bmGs[0] =3 Terlihat dari hasil langkah enam ditemukan kecocokan pattern dan text maka dilakukan shif sebesar bmGs[0] = 3. Karena panjang teks sudah habis maka proses pencocokan dihentikan. Dari contoh diatas dapat ditarik kesimpulan bahwa dengan text NASIBASI SIASIA dan pattern ASI menggunakan Algoritma Zhu-Takaoka menghasilkan tiga pola yang cocok yaitu pada shif ke 1, 5 dan 11 . Banyak komparasi yang terjadi adalah 14empat belas kali perbandingan karakter.

4.2 Implementasi Sistem