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