• 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!
67
0
0

Teks penuh

(1)

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();

(2)

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");

(3)

try {

j += Math.max(bmGs[i], ztBc[y[j + m - 2]][y[j + m - 1]]); } catch (Exception e) {

// handle exception }

} } }

(4)

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

(5)

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

(6)

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

(7)

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.

(8)

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.

(9)

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

(10)

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

(11)

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.

(12)

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

(13)

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.

(14)

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

(15)

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

(16)

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

(17)

3.4.2 Flowchart Algoritma

(18)
(19)

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]]) }

}

(20)

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 }

(21)

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

(22)

}

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]

(23)

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:

(24)

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

(25)

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

(26)

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

(27)
(28)

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

(29)

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.

(30)

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]
(31)

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.

(32)

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

(33)
[image:33.595.122.512.81.289.2]

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

(34)
[image:34.595.175.446.83.311.2]

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

(35)

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

(36)
[image:36.595.248.382.84.290.2]

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]
(37)
[image:37.595.255.379.79.273.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.

(38)

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]
(39)

A03 yagn Tidak Ditemukan

(40)

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

(41)

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

(42)

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

(43)

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

(44)
[image:44.595.206.429.185.313.2]

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.

(45)
[image:45.595.109.523.227.364.2]

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]
(46)

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)

(47)

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

(48)

pencarian informasi. Melanjutkan penelitian sebelumnya, penelitian ini

(49)

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

(50)

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.

(51)

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

(52)

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

(53)

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.

(54)

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.

(55)

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

(56)

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

(57)

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,

(58)

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

(59)

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.

(60)

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.

(61)

ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis sendiri pada khususnya dan pembaca pada umumnya.

Medan, 27 April 2016

(62)

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.

(63)

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.

(64)

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

(65)

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

(66)

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

(67)

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

Gambar

Gambar 3.1 Diagram Ishikawa
Gambar 3.2 Diagram Use-Case
Tabel 3.3. Tabel Use Case Proses Hasil
Tabel 3.4 Kamus Data
+7

Referensi

Dokumen terkait

Implikasi manajerial yang harus dilakukan oleh PTPN VII yaitu (1) PTPN VII harus mempromosikan produk binaannya tersebut kepada para tamu PTPN VII yang berkunjung ke

Subbagian Tata Usaha sebagaimana dimaksud dalam Pasal. 60 huruf c mempunyai tugas melakukan

Pembangunan juga diarahkan kepada perwujudan tata kelola pemerintahan yang transparan dan akuntabel, upaya melanjutkan peningkatan jangkauan dan kualitas

Subbagian Tata Usaha sebagaimana dimaksud dalam Pasal 67. huruf c mempunyai tugas melakukan urusan

pernyataan tentang apa yang harus dilakukan sebagai upaya untuk mewujudkan visi. Adapun misi pembangunan Kabupaten Lingga sebagai berikut:.. 1) MENJADIKAN KABUPATEN LINGGA

Tinggi Nomor 4 Tahun 2016 tentang Organisasi dan Tata. Kerja Universitas Brawijaya (Berita Negara

bahwa untuk maksud tersebut pada huruf a dan b perlu menyempurnakan Peraturan Menteri Pendayagunaan Aparatur Negara dan Reformasi Birokrasi Nomor 7 Tahun 2010 tentang Pedoman

Alhamdulillah, penulis telah dapat menyelesaikan skripsi dengan judul Aktivitas Antibakteri Kombinasi Ekstrak Etanol Bunga Cengkeh ( Syzygium aromaticum (L.)