getBar1, String getBar2) { txt = getTxt;
pat = getPat; bar1 = getBar1; bar2 = getBar2;
x = pat.toCharArray(); y = txt.toCharArray(); n = txt.length();
m = pat.length();
//Log.d("ooo", "Masuk ZT"); ZT();
}
public 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;
}
public 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 { if (i < g)
g = i; f = i;
while (g >= 0 &&x[g] == x[g + m - 1 - f]) --g;
suff[i] = f - g; }
} }
public void preBmGs() { suffixes();
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;
}
public void ZT() { preZtBc(); preBmGs(); int j = 0; int i = 0;
while (j <= n - m) { i = m - 1; try {
while (i <m &&comp++ >= 0 &&x[i] == y[i + j]) --i;
try {
pDialog.setMessage(Html.fromHtml("Mencari...di " + penjelas + "<br>" +
"<font color='#2bfdbb'><b>" + jum + "</b></font> ditemukan<br>" +
"<font color='#2bfdbb'><b>" + comp + "</b></font> komparasi"));
} catch (Exception e) { // handle exception
}
} catch (Exception e) { // handle exception
}
if (i < 0) {
Quran q = new Quran();
q.setBaris1("Q.S. " +
nama_srt[Integer.valueOf(bar1)] + " : " + bar2); //movie.setThumbnailUrl("image");
try {
j += Math.max(bmGs[i], ztBc[y[j + m - 2]][y[j + m - 1]]); } catch (Exception e) {
// handle exception }
} } }
Nama Panggilan : Faaizah
Tempat/Tanggal Lahir: Situjuah / 15 Mei 1994 Jenis Kelamin : Wanita
Agama : Islam
Warga Negara : Indonesia
Alamat : Jl. Kenanga Sari no 19 Medan Mobile Phone : 0852 1575 2623
E-mail : f.syuhada15@gmail.com
PENDIDIKAN
Perguruan Tinggi
Universitas Sumatera Utara
Fakultas Ilmu Komputer dan Teknologi Informasi Program Studi S1 Ilmu Komputer
IPK 3.66 2012 – 2016
Sekolah Menengah Atas
MA Perguruan Islam Ar-Risalah 2008-2011
Sekolah Menengah Pertama
SMP Perguruan Islam Ar-Risalah 2005-2008
Sekolah Dasar
SD Negeri 01 Situjuah Batua 1999-2005
Programming: C++, Java, C# Database : MySQL
IDE : Android Studio
Software : Ms. Office, Adobe Photoshop
OS : Windows
Sistem Informasi Akademik- Php,Html, MySQL Tugas Mata Kuliah Sistem Database lanjutan
Aplikasi Kamus Minang-Indonesia –Java, Sqlite Tugas Mata Kuliah Mobile Programing
Aplikasi Terjemahan Al-Quran denganAlgoritma Zhu-Takaoka – Java, Sqlite Tugas Akhir Skripsi
PENGALAMAN KERJA
No Instansi/Lembaga Jabatan/Posisi Tahun
1 Program Studi S1 Ilmu Komputer Fasilkom-TI USU -IKLC (Ilmu Komputer Laboratory Center)-
Asisten Laboratorium :
- Pengajaran Berbantuan Komputer
- Probabilitas dan statistika - Komunikasi data dan
Jaringan
2014-2016
PENGALAMAN PELATIHAN
No Organisasi Jabatan Tahun
1 Badan Eksekutif Siswi
Ar-Risalah (BES-AR) Staff Mendagri 2009
2 LSM Komunitas Sahabat Quran
Medan Sekretaris Divisi PSDM 2012-2014
3 UKMI Al-Khuwarizmi Anggota LSO-IT 2012
4 UKMI Al-Khuwarizmi Ketua Bidang Keputrian 2014-2015 5 LSM Komunitas Sahabat Quran Anggota Divisi Humas 2014-2016 No
.
Pelatihan Tahun
1 Training Islami Ceria dan Kreatif (TRICK) 2012
2 Pelatihan Master Of Trainer Pemko Payakumbuh 2014
7 UKMI AD-Dakwah USU
Kemuslimahan 2015
SEMINAR
No .
Seminar Tahun
1 Seminar Open BTS 2016
2 Seminar Kemuslimahan 2015
Demikian riwayat hidup ini saya perbuat dengan sebenar-benarnya.
Medan, 27 April 2016
Asmono. C. R. D. 2013. Perancangan Aplikasi Belajar Hijaiyah Pada Android Menggunakan Metode Rectangles Collision Detection. Skripsi. Universitas Sumatera Utara
Bhandari, J & Kumar, A. 2014. String Matching Rules Used by Variant of Boyer-Moore Algorithm. Journal of Global Research in Computer Science 5(1):8- 11.(Online)http://www.rroij.com/open-access/string-matching-rules-used-by-variants-of-boyermoore-algorithm-8-11.pdf (4 Januari 2016)
Charras. C. & Lecroq. T. 2004. Handbook of Exact String Matching Algorithms (E-Book). English. College Publications.
Gonzalez. T, Herrera. J. D. & Tucker. A. (Editors). 2014. Computing Handbook,Third Edition: Computer Sains and Software Engineering. 3th Edition. CRC Press: Boca Raton.
Hume and Sunday. 1991. “Fast String Searching” SOFTWARE—PRACTICE AND EXPERIENCE, VOL. 21(11), 1221–1248.
Michailidis. P. D., Margiritis. G. K. 2009. Experimental Study on Variants of the Zhu-Takaoka String Matching Algorithm. University of Macedonia: Thessaloniki. Panggabean. A. I. R. 2015. Implementasi Hybrid Cryptosystem Dengan Algoritma
One Time Pad dan Algoritma Rabin Cryptosystem Dalam Pengamanan Data Teks. Skripsi. Universitas Sumatera utara
Pressman, R. S. 2010. Software Engineering: A Practitioner’s Approach. 7th Edition.
McGraw-Hill: New York.
Ramdhani, P. P. 2012. Analisis Perbandingan Performansi Algoritma Zhu-Takaoka dan Karp-Rabin pada Pencarian Kata di Rumah Buku Baca Sunda. Skripsi. Universitas Komputer Indonesia.
Safaat. N. 2012. Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika Bandung.
BAB III
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Analisis sistem adalah tahapan untuk memahami sistem dan komponen-komponen bagian dalam sistem dengan maksud mengidentifikasi dan mengevaluasi permasalahan serta hambatan yang terjadi. Ada dua tahapan analisis dalam tugas akhir ini yaitu: analisis masalah dan analisis kebutuhan. Tahap analisis masalah adalah tahap untuk memahami dan mempelajari penyebab masalah dari sistem yang digunakan. Kemudian dilanjutkan dengan tahap analisis kebutuhan yang menjelaskan proses kerja fungsi-fungsi yang digunakan sistem.
3.1.1 Analisis Masalah
Permasalahan utama pada penelitian ini adalah banyaknya dokumen Al-Quran menyebabkan umat islam di Indonesia kesulitan untuk mencari surah dan ayat yang berhubungan dengan kata kunci yang sedang menjadi pusat perhatiannya pada terjemahan Al-Quran secara manual.
Masalah-masalah pada penelitian ini diidentifikasikan dengan menggunakan
diagram Ishikawa. Diagram Ishikawa atau yang sering dikenal dengan Cause and Effect Diagram adalah diagram yang digunakan untuk memahami dan
mengidentifikasi serta menggambarkan beberapa masalah yang terjadi pada sistem
dan akibat yang ditimbulkan oleh masalah.
Gambar 3.1 Diagram Ishikawa
3.1.2 Analisis Kebutuhan
Analisis kebutuhan sistem ini meliputi analisis persyaratan fungsional dan analisis persyaratan nonfungsional.
3.1.2.1 Kebutuhan Fungsional
Kebutuhan fungsional adalah kebutuhan dimana sistem harus dapat melakukan proses-proses termasuk dalam melakukan pelayanan yang disediakan sistem dan reaksi sistem untuk mendapatkan hasil berdasarkan instruksi yang diberikan. Terdapat beberapa hal yang menjadi syarat kebutuhan fungsional yang harus dipenuhi: (Panggabean,2015)
1. Fungsi Pencarian Kata
Sistem dapat melakukan pencarian string pada aplikasi Terjemahan Al-Quran
agar mendapatkan terjemahan ayat yang mengandung string tersebut dengan mengimplementasikan algoritma Zhu-Takaoka
Dalam proses pencarian kata yang di inputkan, lama proses dan banyak komparasi akan dicatat dan ditampilkan kepada user untuk memperlihatkan kepada user seberapa cepat algoritma Zhu-Takaoka dalam menyelesaikan proses kerja.
3.1.2.2 Kebutuhan Nonfungsional
Kebutuhan nonfungsional adalah kebutuhan yang mendeskripsikan sistem dari segi karakterisitik, fitur dan batasan lainnya seperti performa, penggunaan, dan ekonomi. Terdapat beberapa hal yang menjadi syarat kebutuhan nonfungsional antara lain: (Panggabean, 2015)
1. Performa
Sistem yang akan dibangun harus dapat menampilkan hasil pencarian yang sesuai dengan apa yang dicari.
2. Mudah dipelajari dan digunakan
Sistem yang akan dibangun harus memiliki interface yang user friendly sehingga pengguna dapat mengakses sistem dengan mudah
3. Hemat biaya
Sistem yang dibangun tidak memerlukan perangkat tambahan ataupun
perangkat pendukung lainnya yang dapat mengeluarkan biaya.
3.2 Pemodelan
Pemodelan merupakan konsep penyederhanaan suatu masalah dalam suatu bahasa
3.3.1 Use-Case Diagram
Use-case Diagram adalah gambaran skenario penggunaan aplikasi sistem tentang
bagaimana cara sistem bekerja dengan pengguna (Pressman, 2010). Use-case Diagram membutuhkan identifikasi siapakah pengguna yang akan menggunakan sistem tersebut. Pengguna tersebut dinamakan actor. Actor berperan untuk melakukan komunikasi dengan sistem, dimana actor bekerja diluar dari sistem itu sendiri. Pada penelitian ini actor menginputkan string yang ingin dicari kemudian sistem akan melakukan pencarian dan menampilkan hasil pencarian.Hubungan antar actor dengan use-case dihubungkan dengan garis lurus. Sedangkan hubungan dimana satu use-case
digunakan untuk meredudansi use-case lainnya digunakan garis putus-putus dengan keterangan include. Untuk extend digunakan untuk mensimplifikasi satu use-case dengan use-case lainnya
Gambar 3.2 Diagram Use-Case
Proses pencarian string pada aplikasi terjemahan Al-Quran, dapat dinyatakan dalam Tabel 3.1.
Name Pencarian string pada terjemahan Al-Quran dengan algoritma Zhu-Takaoka
Actors User
Description Use Case ini mendeskripsikan proses pencarian dengan
Algoritma Zhu-Takaoka
Basic Flow User memasukkan string berupa satu kata atau lebih
Alternate Flow User dapat melakukan pengaturan,loncat dan melihat log pencarian serta tentang pada aplikasi terjemahan Al-Quran
Pre Condition -
Post Condition User mengetahui hasil pencarian string pada terjemahan Al-Quran
Pada Proses Pencarian, dapat dinyatakan dalam Tabel 3.2.
Tabel 3.2. Tabel Use Case Proses Pencarian
Name Proses Pencarian
Actors User
Description Use Case ini mendeskripsikan proses pencarian seluruh
string yang dicari
Basic Flow User memasukkan satu kata atau lebih yang menjadi
perhatian
Alternate Flow User dapat melihat terjemahan Al-Quran yang tersimpan di database
Pre Condition User dapat melihat menu awal
Post Condition Sistem mendapatkan hasil pencarian
Pada Proses Hasil, dapat dinyatakan dalam Tabel 3.3.
Tabel 3.3. Tabel Use Case Proses Hasil
Actors User
Description Use Case ini mendeskripsikan proses menampilkan hasil
pencarian string pada aplikasi terjemahan Al-Quran
Basic Flow User memilih menu caripada menu navigasi
Alternate Flow User dapat melakukan pencarian, pengaturan,loncat dan melihat log pencarian serta tentang pada aplikasi
terjemahan Al-Quran
Pre Condition User dapat melihat menu awal lagi untuk kembali ke terjemahan Al-Quran
Post Condition User mengetahui hasil pencarian pada Terjemahan Al-Quran tersebut tersebut
3.2.2 Sequence Diagram
Sequence Diagram adalah diagram yang menunjukkan hubungan yang terjadi antara
satu objek dengan objek lain. Diagram Sequences digunakan untuk mendekripsikan pola komunikasi antar objek, dimana diagram Sequences ini menggambarkan urutan waktu dari aliran pemanggilan pada suatu metode. Berikut diagram Sequence pada
penelitian ini dapat dilihat pada Gambar 3.3.
Pada tahap ini, yang dilakukan adalah pengguna memasukkan string yang akan dicari,
kemudian menyimpan data yang dimasukkan ke database, kemudian database membaca seluruh data dan proses pencarian dengan algoritma Zhu-Takaoka, sehingga menampilkan hasil berupa terjemahan ayat yang memiliki string yang di masukkan.
3.2.3 Activity Diagram
Activity Diagram adalah diagram yang menggambarkan alur kerja proses sistem
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 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
3.4.2 Flowchart Algoritma
3.4.2.1PseudocodeProses Pencarian Algoritma Zhu-Takaoka
void ZT() { preZtBc() preBmGs() int j = 0 int i = 0
while (j <= n - m) { i = m - 1
while (i<m&& x[i] == y[i+j]) i = m - 1
if (i < 0) { j += bmGs[0] }
else {
j += Math.max(bmGs[i], ztBc[y[j + m - 2]][y[j + m - 1]]) }
}
Gambar 3.7 Flowchart Pembentukan Tabel ZtBc
3.4.3.1PseudocodePembentukan 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 }
Gambar 3.8Flowchart PembentukanTabel BmGs
3.4.4.1PseudocodePembentukan 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
}
3.4.5 Flowchart Pembentukan Tabel Suffix
Gambar 3.9 Flowchart PembentukanTabel Suffix
3.4.5.1PseudocodePembentukan 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]
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 menunjukkan/menampilkan logo dari aplikasi.
Gambar 3.10 Rancangan Splash Screen
Keterangan:
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
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 halaman(1-6236)
Ketik disini
Batal loncat
7 6 8 9 Pengaturan Filter Pencarian Tentang Log 1.Allah Banyak komparasi: Running Time : 10
11
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
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 shif/pergesaran ztBc (Zhu-Takaoka Bad Character)&bmGs (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
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 0 1 2
x[i] A S I
suff[i] 0 0 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.
Text N A S I B A S I S I A S I A
Pattern A S I
I 0 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 0 1 2
Karakter cocok semua.
[image:30.595.108.510.106.245.2]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 0 1 2
ztBc[ A ][ S ] = 1
bmGs[i] = bmGs[2] = 1
Pergeseran dilakukan sebanyak 1
Langkah 4
[image:30.595.108.513.462.602.2]Pattern A S I
I 0 1 2
Karakter cocok semua.
[image:31.595.108.516.86.178.2]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 0 1 2
ztBc[ A ][ S ] = 1
bmGs[i] = bmGs[0] = 3
Pergeseran dilakukan sebanyak 3
[image:31.595.109.515.423.543.2]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 0 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 14(empat belas) kali perbandingan karakter.
Sistem ini dibangun dengan menggunakan Android Studio.
4.2.1 Splash Screen
Splash Screen adalah tampilan awal sementara yang menampilkan logo aplikasi.
[image:32.595.258.375.311.508.2]Waktu lama tampilan Splash Screen adalah 1000 milidetik. Setelah itu, secara otomatis Splash Screen akan berpindah ke MenuUtama. Splash Screen ditunjukkan pada gambar 4.1.
Gambar 4.1 Splash Screen
4.2.2 Menu Utama
Gambar 4.2 Menu Utama
4.2.3 Menu Navigasi
[image:33.595.253.378.415.608.2]Pada menu navigasi menampikan menu pilihan yaitu menu Cari, Loncat, Pengaturan, Log dan Tentang. Menu navigasi akan muncul ketika icon navigasi pada menu utama dipilih. Menu navigasi dapat dilihat pada gambar 4.3
Gambar 4.3 Menu Navigasi 4.2.4 Menu Cari
Gambar 4.4 Menu Cari Tanpa Filter
Gambar 4.5 Menu Cari Dengan Filter
4.2.5 Menu Loncat
[image:34.595.255.377.439.622.2]Pada menu Loncat menampikan dialog box untuk memasukkan halaman yang ingin dituju.Tiap halaman berisi terjemahan satu ayat Al-Quran. Menu Loncat dapat dilihat pada gambar 4.6
Gambar 4.6 MenuLoncat
4.2.6 Menu Pengaturan
Pada menu Pengaturan terdapat check box untuk melakukan filter pencarian, jika di centang maka pencarian akan di filter berdasarkan juz atau surat, sebaliknya maka
Gambar 4.7 MenuPengaturan
4.2.7 Menu Log
[image:35.595.251.380.384.582.2]Pada menu Log terdapat Listview untuk menampilkan log hasil pencarian yang telah dilakukan sebelumya, Menu Log dapat dilihat pada gambar 4.8
Gambar 4.8 Menu Log
4.2.8 Menu Tentang
Gambar 4.9 MenuTentang
4.2.9 Hasil Pencarian
Pada hasil pencarian akan ditampilkan detail hasil pencarian seperti hasil yang di dapat, running time dan banyak komparasi dalam dialog box. Pada form ini hasil pencarian akan di tampilkan dalam bentuk listview kepada pengguna. Detail hasil dan hasil pencarian dapat di lihat pada gambar 4.10 dan 4.11
[image:36.595.257.376.428.606.2]Gambar 4.11 Hasil Pencarian
4.3 Pengujian
Pengujian sistem dilakukan untuk memastikan sistem setelah dibangun dapat berjalan
dengan baik sesuai dengan analisis dan perancangan yang telah dirancang. Fokus utama pada pengujian penilitian ini adalah mengetahui bagaimana kinerja sistem dalam pencarian string pada terjemahan Al-Quran menggunakan algoritma Zhu-Takaoka.
4.3.1 Pengujian Pencarian string pada terjemahan Al-Quran dengan algoritma Zhu-Takaoka.
Pada Tabel dibawah terlihat hasil pencarian string pada terjemahan Al-Quran menggunakan algoritma Zhu-Takaoka.
A01 yang
Ditemukan Jumlah : 276 Hasil
Banyak
komparasi:1095 2 kali
Waktu proses: 53647.0
milidetik
Pencarian di juz
1
A02 jalan yang lurus
Ditemukan Jumlah : 50 Hasil Banyak
komparasi:7711 7 kali
Waktu proses: 501702.0 milidetik
[image:38.595.113.519.79.746.2]A03 yagn Tidak Ditemukan
A05 Maryam
Jumlah : 43 Hasil Banyak
komparasi:1974 03 kali
Waktu proses: 952616.0 milidetik Pencarian di seluruhnya.
A06 maka
Ditemukan
Jumlah : 126 Hasil Banyak
komparasi:26567 kali
5.1Kesimpulan
Berdasarkan pembahasan dan hasil dari penelitian, maka didapatkan kesimpulan sebagai berikut:
1. Dengan mengimplementasikan algoritma pencarian string Zhu-Takaoka pada aplikasi terjemahan Al-Quran dapat mempermudah pengguna untuk menemukan seluruh ayat yang berhubungan dengan kata kunci yang sedang menjadi pusat perhatiannya.
2. Algoritma Zhu-Takaoka sangat efisien untuk pencarian multiple pattern karna pencocokan patterndimulai dari akhir pattern yang disesuaikan dengan karakter teks. Jika terjadi ketidakcocokan pada karakter maka langsung dieliminasi, jadi semakin panjang pattern yang di inputkan maka semakin besar pergeseran yang dilakukan dan semakin sedikit waktu proses yang di butuhkan.
5.2 Saran
Untuk pengembangan selanjutnya, diharapkan aplikasi ini menyediakan menu pilihan algoritma pencarian string dalam proses pencarian seperti Turbo, Knuth-Morris-Pratt, dan Rabin-Karp sehingga memberi pengetahuan pengguna tentang algoritma
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
Dalam Algoritma ini, terdapat algoritma Boyer-Moore yang dianggap
merupakan salah satu algoritma yang utama dan algoritma standar dalam
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). BM‟ Algorithm 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
Tabel 2.1 Zhu-Takaoka Bad Character Table
ztBc A M T *
A 4 3 1 4
M 2 3 4 4
T 4 3 4 4
* 4 3 4 4
[image:44.595.152.480.440.545.2]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.
Langkah 1
Tabel 2.3Pencarian pada Teks Langkah ke- 1
Window A C
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
ztBc[ A ][ C ] = 4
bmGs[i] = bmGs[2] = 2
Pergeseran dilakukan sebanyak 4
[image:45.595.106.527.435.546.2]Langkah 2
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
Window F
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
ztBc[ ][ F ] = 4
[image:45.595.107.523.619.759.2]Pergeseran dilakukan sebanyak 4
[image:46.595.107.524.227.363.2]Langkah 4
Tabel 2.4Pencarian pada Teks Langkah ke- 4
Window I Z
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
ztBc[ I ][ Z ] = 4
bmGs[i] = bmGs[3] = 1
Pergeseran dilakukan sebanyak 4
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)
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
pencarian informasi. Melanjutkan penelitian sebelumnya, penelitian ini
BAB I
PENDAHULUAN
1.1 Latar Belakang
Al-Quran merupakan kitab suci umat Islam yang berisikan ilmu pengetahuan, hukum-hukum Islam, dan kisah umat terdahulu. Sebagai seorang muslim mempelajari Al-Quran adalah suatu kewajiban. Al-Quran diturunkan dalam bahasa Arab. Bagi umat muslim di Indonesia mempelajari Al-Quran dilakukan dengan merujuk kepada terjemahan ke Bahasa Indonesia.
Kitab Suci Al-Quran terdiri dari 30 Juz, 114 surah dan 6236 ayat. Dengan dokumen yang begitu banyak, pencarian surat, ayat atau kata yang dilakukan secara manual cukup menyulitkan. Seiring dengan perkembangan jaman, kemajuan teknologi dapat dimanfaatkan untuk mengatasi masalah tersebut. Dengan teknik komputasi pencarian surat, ayat, atau kata pada Al-Qur’an dapat dilakukan dengan mudah.
Para pengembang perangkat lunak di dunia telah mencoba mendigitalkan dokumen Al-Qur’an, membuat transliterasi dan terjemahannya ke dalam berbagai bahasa. Beberapa aplikasi, seperti Quran Android juga sudah menyertakan fitur pencarian terhadap terjemahan ayat Al-Qur’an sesuai dengan masalah yang akan didalami. Namun hasil pencarian nya masih terbatas,hanya menampilkan maksimal 150 hasil pencarian.
Dalam jurnal Jurusan Teknik Informatika, Fakultas Sains dan Teknologi, UIN Sultan Syarif Kasim Riau, Surya Agustian dan Imelda Sukma Wulandari meneliti sistem
Berdasarkan hal diatas penulis ingin membuat sebuah aplikasi terjemahan Al-Quran berbasis mobile (Android) yang mampu melakukan pencocokan dan pencarian surah dan ayat yang berhubungan dengan kata kunci yang menjadi pusat perhatian. serta menampilkan waktu proses dan banyak komparasi yang dibutuhkan dalam proses pencarian dengan mengimplementasikan Algoritma Zhu-Takaoka.
1.2 Rumusan Masalah
Berdasarkan latar belakang diketahui bahwa umat Islam di Indonesia kesulitan untuk mencari surah dan ayat yang berhubungan dengan kata kunci yang sedang menjadi pusat perhatiannya pada terjemahan Al-Quran secara manual, dari permasalahan tersebut rumusan suatu permasalahan yang ada pada penelitian ini adalah bagaimana mencari surah dan ayat pada terjemahan Al-Quran yang berhubungan dengan kata kunci yang menjadi sedang pusat perhatian.
1.3 Ruang Lingkup Masalah
Ruang Lingkup masalah dalam tugas akhir ini adalah sebagai berikut:
1. Terjemahan Al-Quran yang digunakan adalah terjemahan Al-Quran dari
Departemen Agama Republik Indonesia.
2. Terjemahan Al-Quran yang dijadikan bahan acuan sebanyak 30 Juz.
3. Terjemahan Al-Quran yang dijadikan bahan acuan disimpan dalam database manajemen system SQLite Android.
1.4 Tujuan Penelitian
Tujuan penelitian ini adalah menerapkan algoritma pencocokan string Zhu-Takaoka pada aplikasi terjemahan Al-Quran digital offline berbasis android sehingga user bisa melakukan pencarian langsung kata yang menjadi perhatiannya berdasarkan juz, surat, atau Al-Quran secara keseluruhan dan mengetahui berapa lama waktu proses dan banyak komparasi yang di perlukan dalam proses pencarian.
1.5 Manfaat Penelitian
Manfaat dari penelitian ini diharapkan aplikasi terjemahan Al-Quran yang dibuat dapat mempermudah umat muslim di Indonesia untuk mempelajari Al-Quran dan penelitian ini dapat menjadi bahan referensi bagi peneliti lain yang memiliki keterkaitan topik.
1.6 Metodologi Penelitian
Metode penelitian yang dilakukan dalam penelitian ini adalah:
1. Studi Literatur
Pada tahap ini penelitian dimulai dengan peninjauan pustaka dari beberapa sumber berupa buku–buku, dan hasil penelitian-penelitian yang terkait dengan algoritma string matching Zhu-Takaoka.
2. Analisis dan Perancangan
3. Implementasi
Pada tahap ini hasil dari perancangan akan diimplementasikan kedalam bentuk aplikasi mobile.
4. Pengujian
Pada tahap ini prototipe sistem yang telah diimplementasikan dilakukan pengujian.
5. Dokumentasi
ABSTRAK
Al-Quran merupakan kitab suci umat islam yang berisikan ilmu pengetahuan, hukum-hukum islam, dan kisah umat terdahulu. Sebagai seorang muslim mempelajari Al-Quran adalah suatu kewajiban. Kitab Suci Al-Quran terdiri dari 30 Juz, 114 surah dan 6236 ayat. Dengan dokumen yang begitu banyak, pencarian surat, ayat atau kata yang dilakukan secara manual cukup menyulitkan. Untuk mempermudah pengguna menemukan ayat yang sedang menjadi perhatiannya maka dibuatlah sebuah aplikasi Terjemahan Al-Quran digital offline berbasis android yang menerapkan algoritma pencocokan string Zhu-Takaoka sebagai masalah pencariannya dan database SQLite sebagai penyimpanan data terjemahan Al-Quran. Algoritma Zhu-Takaoka memilliki kinerja yaitu data yang dicari dimulai dari akhir pola yang disesuaikan dengan karakter teks. Jika terjadi ketidakcocokan pada karakter maka langsung dieliminasi. Pola yang dipakai adalah kata yang dicari, sedangkan data yang ada di database adalah karakter teks. Hasil yang diperoleh dari penelitian ini adalah sebuah aplikasi terjemahan Al-Quran berbasis android offlineyang mampu melakukan pencarian stringdan menampilkan hasil berupa terjemahan Al-Quran yang memiliki stringyang di inputkan.
AN IMPLEMENTATION OF ZHU-TAKAOKA ALGORITHM IN QURAN TRANSLATION APPLICATION BASE ON ANDROID
ABSTRACT
Al-Quran is a holy book of muslem which consist knowledge, law of islam, and storn of human earlier. As a muslem, studying Quran is a duty. The holy Quran is composed of 30 juz, 144 surah and 6236 ayat. Searching surah, ayat, or word manually is something troublesome, because of many documents. For facilitating user in searching ayat that interesting him/her, so that an application of Quran translation digital offline based on android appliying string matching algorithm Zhu-Takaoka is made for problem solving and SQLite databases for data saving of Quran translation. Zhu-Takaoka algorithm has performe the data which is searched starting from the last pattern matching with the character, if there is incompatibility with character, it will be eliminated immediately. The pattern which is used is the word which is searched, while data in databases is the text character. The result from this research is an application of Quran translation based on android that can do a string searching and displaying the result of Quran translation that posses a searched string.
IMPLEMENTASI ALGORITMA ZHU-TAKAOKA PADA APLIKASI TERJEMAHAN AL-QURAN BERBASIS ANDROID
SKRIPSI
FAAIZAH ASY SYUHADA
121401109
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
IMPLEMENTASI ALGORITMA ZHU-TAKAOKA PADA APLIKASI TERJEMAHAN AL-QURAN BERBASIS ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
FAAIZAH ASY SYUHADA
121401109
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA ZHU-TAKAOKA PADA APLIKASI TERJEMAHAN AL-QURAN BERBASIS ANDROID
Kategori : SKRIPSI
Nama : FAAIZAH ASY SYUHADA
Nomor Induk Mahasiswa : 121401109
Program Studi : SARJANA(S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (Fasilkom-TI)
Komisi Pembimbing:
DosenPembimbing II Dosen Pembimbing I
Elviwani, ST, S.Kom, M.Kom M. Andri Budiman, S.T., M.Comp.Sc,MEM
NIP. NIP. 19751008 2008 011011
Diketahui/Disetujuioleh
Program Studi S1 IlmuKomputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA ZHU-TAKAOKA PADA APLIKASI TERJEMAHAN AL-QURAN BERBASIS ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 27 April 2016
PENGHARGAAN
Puji dan syukur kehadirat Allah SWT, yang hanya dengan rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Shalawat beriring salam penulis juga sampaikan kepada Nabi Besar Muhammad SAW. Skripsi ini penulis persembahkan teruntuk kedua Orangtua penulis tercinta Ibunda Desfiwati,S.Pd, M.Si dan Ayahanda Drs. Zul’Aidi yang telah memberikan do’a, dukungan, perhatian serta kasih sayang yang tulus serta pengorbanan yang tidak ternilai harganya kepada penulis.
Ucapan terima kasih penulis sampaikan kepada:
1. Prof. Dr. Runtung Sitepu, SH., M.Hum selaku Rektor Universitas Sumatera Utara (USU).
2. Prof. Opim Salim Sitompul, M.Sc sebagai Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara sekaligus dosen penguji I yang telah memberikan saran dan kritik kepada penulis dalam penyempurnaan skripsi ini.
3. Dr. Poltak Sihombing, M.Kom sebagai Ketua Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
4. Ibu Maya Silvi Lydia, B.Sc. M.Sc sebagai Sekretaris Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
5. Bapak M.Andri Budiman, S.T., M.Comp.Sc, M.E.M selaku dosen pembimbing I yang telah memberikan arahan dan motivasi kepada penulis dalam pengerjaan skripsi ini.
6. Ibu Elviwani ST., S.kom, M.Kom selaku dosen pembimbing II yang telah memberikan arahan dan motivasi kepada penulis dalam pengerjaan skripsi ini.
7. Ibu Dian Rachmawati, S.Si., M.Kom sebagai dosen penguji II yang telah memberikan saran dan kritik kepada penulis dalam penyempurnaan skripsi ini.
9. Ikhwan dan Akhwat LSM Komunitas Sahabat Quran Medan yang telah menularkan ruh untuk membersamai Al-Quran.
10.Ikhwan dan Akhwat UKMI Al-Khuwarizmi Fasilkom-TI USU yang telah membimbing ruhiyah penulis.
11.Teman-teman asisten laboratorium (IKLC) yang telah memberikan perhatian dan do’anya dan tempat diskusi penulis.
12.Saudara-saudaraku tercinta, Drg. Munadiyah Asy Syahidah, Fatinah Faradise, Rafiqah Majida, Muhammad Izzuddin dan Muhammad Faris Attaqi yang telah memberikan do’a, dukungan, perhatian serta kasih sayang yang tulus kepada penulis dan teruntuk pemilik tulang rusukku, siapapun kamu yang akan menjadi pelengkap hidupku kelak, yang akan membagi kisahnya denganku, yang akan membagi waktunya denganku bahkan membagi hatinya untukku kelak, terimakasih sudah membiarkan pintumu terbuka untukku dan menutupnya rapat untuk orang lain.
13.Teman-teman dan adik-adik seperantauan di medan juang, Honesty Fadhilah, Zakiyatul Muthi’ah,Fadhila Ramadhani dan Sarah Izzaty untukdukungan, doa dan perhatiannya.
14.Teman-teman dalam lingkaran cinta, Rumaisha ‘Afifatul Hafizhah, Khairunnaili, Ummu Athifah, Hazyratul Rahman untuk nasihat, motivasi dan keceriaannya.
15.Teman-teman generasi dua Ar-Risalah (RADAR) untuk persahabatan, keceriaan dan gossip yang tak pernah usai.
16.Teman-teman seperjuangan mahasiswa S1-Ilmu Komputer stambuk 2012 yang telah memberikan do’a dan motivasi.
17.Adik-adik praktikan dan mantan praktikan yang telah memberikan semangat, perhatian dan do’anya.
18.Abang-abang dan kakak-kakak senior serta Adik-adik angkatan 2013, 2014 dan 2015 yang telah memberikan semangat untuk menyelesaikan penyelesaian skripsi ini.
19.Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini.
ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya.
Medan, 27 April 2016
ABSTRAK
Al-Quran merupakan kitab suci umat islam yang berisikan ilmu pengetahuan, hukum-hukum islam, dan kisah umat terdahulu. Sebagai seorang muslim mempelajari Al-Quran adalah suatu kewajiban. Kitab Suci Al-Quran terdiri dari 30 Juz, 114 surah dan 6236 ayat. Dengan dokumen yang begitu banyak, pencarian surat, ayat atau kata yang dilakukan secara manual cukup menyulitkan. Untuk mempermudah pengguna menemukan ayat yang sedang menjadi perhatiannya maka dibuatlah sebuah aplikasi Terjemahan Al-Quran digital offline berbasis android yang menerapkan algoritma pencocokan string Zhu-Takaoka sebagai masalah pencariannya dan database SQLite sebagai penyimpanan data terjemahan Al-Quran. Algoritma Zhu-Takaoka memilliki kinerja yaitu data yang dicari dimulai dari akhir pola yang disesuaikan dengan karakter teks. Jika terjadi ketidakcocokan pada karakter maka langsung dieliminasi. Pola yang dipakai adalah kata yang dicari, sedangkan data yang ada di database adalah karakter teks. Hasil yang diperoleh dari penelitian ini adalah sebuah aplikasi terjemahan Al-Quran berbasis android offlineyang mampu melakukan pencarian stringdan menampilkan hasil berupa terjemahan Al-Quran yang memiliki stringyang di inputkan.
AN IMPLEMENTATION OF ZHU-TAKAOKA ALGORITHM IN QURAN TRANSLATION APPLICATION BASE ON ANDROID
ABSTRACT
Al-Quran is a holy book of muslem which consist knowledge, law of islam, and storn of human earlier. As a muslem, studying Quran is a duty. The holy Quran is composed of 30 juz, 144 surah and 6236 ayat. Searching surah, ayat, or word manually is something troublesome, because of many documents. For facilitating user in searching ayat that interesting him/her, so that an application of Quran translation digital offline based on android appliying string matching algorithm Zhu-Takaoka is made for problem solving and SQLite databases for data saving of Quran translation. Zhu-Takaoka algorithm has performe the data which is searched starting from the last pattern matching with the character, if there is incompatibility with character, it will be eliminated immediately. The pattern which is used is the word which is searched, while data in databases is the text character. The result from this research is an application of Quran translation based on android that can do a string searching and displaying the result of Quran translation that posses a searched string.
DAFTAR ISI
PERSETUJUAN ii
PERNYATAAN iii
PENGHARGAAN iv
ABSTRAK vi
ABSTRACT vii
DAFTAR ISI viii
DAFTAR TABEL x
DAFTAR GAMBAR xi
BAB 1 PENDAHULUAN
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 2
1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 3
BAB 2 TINJAUAN PUSTAKA
2.1 Algoritma Pencocokan String 4
2.2 Algoritma Zhu-Takaoka 5
2.3 Android 8
2.4 Penelitian yang Relevan 9
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem 10
3.1.1 Analisis Masalah 10
3.1.2 Analisis Kebutuhan 11
3.1.2.1 Kebutuhan Fungsional 11
3.1.2.2 Kebutuhan Non-Fungsional 12
3.2 Pemodelan 12
3.2.1 Use Case Diagram 12
3.2.2 Sequence Diagram 15
3.2.3 Activity Diagram 16
3.4 Flowchart dan Pseudocode 17
3.4.1 Flowchart Sistem 17
3.4.2 Flowchart Algoritma 18
3.5 Perancangan Antarmuka (Interface) 22
3.5.1 Splash Screen 22
3.5.2 Menu Utama 23
3.5.3 Menu Navigasi 23
3.5.4 Form Hasil 25
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Algoritma Zhhu-Takaoka 26
4.2 Implementasi Sistem 30
4.2.1 Splash Screen 30
4.2.2 Menu Utama 30
4.2.3 Menu Navigasi 31
4.2.4 Menu Cari 31
4.2.5 Menu Loncat 32
4.2.6 Menu Pengaturan 32
4.2.7 Menu Log 33
4.2.8 Menu tentang 34
4.2.9 Hasil pencarian 34
4.3 Pengujian 35
4.3.1 Pengujian pencarian string pada terjemahan 35 Al-Quran dengan algoritma Zhu-Takaoka
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 40
5.2 Saran 40
DAFTAR PUSTAKA 41
DAFTAR TABEL
Tabel 2.1 Zhu-Takaoka Bad Character Table 7
Tabel 2.2 Boyer-Moore Good Suffixes Table 7
Tabel 2.3 Pencarian pada Teks Langkah ke- 1 8
Tabel 2.4 Pencarian pada Teks Langkah ke- 2 8
Tabel 2.5 Pencarian pada Teks Langkah ke- 3 8
Tabel 2.6 Pencarian pada Teks Langkah ke- 4 9
Tabel 3.1 Use Case Pencarian string pada aplikasi terjemahan Al-Quran
menggunakan algoritma Zhu-Takaoka 14
Tabel 3.2 Use Case Proses Pencarian 15
Tabel 3.3 Use Case Proses Hasil 15
Tabel 3.4 Kamus Data 18
Tabel 4.1 Zhu-Takaoka Bad Character Table 27
Tabel 4.2 Boyer-Moore Good Suffixes Table 27
Tabel 4.3 Pencarian pada Teks Langkah ke- 1 28
Tabel 4.4 Pencarian pada Teks Langkah ke- 2 28
Tabel 4.5 Pencarian pada Teks Langkah ke- 3 28
Tabel 4.6 Pencarian pada Teks Langkah ke- 4 29
Tabel 4.7 Pencarian pada Teks Langkah ke- 5 29
Tabel 4.8 Pencarian pada Teks Langkah ke- 6 29
Tabel 4.9 Hasil Pencarian String pada Terjemahan Al-Quran dengan Algoritma
DAFTAR GAMBAR
Gambar 3.1 Diagram Ishikawa 12
Gambar 3.2 Diagram Use-Case 14
Gambar 3.3 Diagram Sequence 16
Gambar 3.4 Activity Diagram 17
Gambar 3.5 Flowchart Sistem 19
Gambar 3.6 Flowchart Pembentukan Tabel ZtBc 20
Gambar 3.7 Flowchart Pembentukan Tabel Suffix 21
Gambar 3.8 Flowchart Pembentukan Tabel BmGs 22
Gambar 3.9 Flowchart Proses Pencarian Algoritma Zhu-Takaoka 23
Gambar 3.10 Rancangan Splash Screen 24
Gambar 3.11 Rancangan Menu Utama 25
Gambar 3.12 Rancangan Menu Navigasi 26
Gambar 3.13 Rancangan Menu cari 26
Gambar 3.14 Rancangan Menu Loncat 26
Gambar 3.15 Rancangan Menu Pengaturan 26
Gambar 3.16 Rancangan Menu Log 26
Gambar 3.17 Rancangan Menu Tentang 26
Gambar 3.18 Rancangan Form Hasil 27
Gambar 4.1 Splash Screen 28
Gambar 4.2 Menu Utama 29
Gambar 4.3 Menu Navigasi 30
Gambar 4.4 Menu Cari Tanpa Filter 30
Gambar 4.5 Menu Cari dengan Filter 30
Gambar 4.6 Menu Loncat 31
Gambar 4.7 Menu Pengaturan 32
Gambar 4.8 Menu Log 32
Gambar 4.9 Menu tentang 33
Gambar 4.10 Detail Hasil 34