• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
34
0
0

Teks penuh

(1)

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.

(2)

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

(3)

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 tertentu.Sebelum merancang perangkat lunak, maka pada tahap pemodelan ini dilakukan untuk memudahkan perancangan sistem selanjutnya.Bahasa pemodelan yang digunakan pada penelitian ini adalah bahasa Unified Modeling Language

(UML). UML adalah bahasa yang digunakan untuk memberikan penjelasan mengenai komponen-komponen untuk membangun sistem dan interaksi antar komponen sistem (Pressman, 2010). Model diagram UML yang digunakan pada penelitian ini adalah

(4)

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.

(5)

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

(6)

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.

(7)

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 menggunakan notasi nodes. Activity nodes digunakan untuk menjelaskan alur kontrol kerja sistem seperti sinkronisasi dan keputusan dari awal sampai berakhirnya proses.

(8)

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

(9)

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

(10)

3.4.2 Flowchart Algoritma

(11)
(12)

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

}

(13)

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 }

(14)

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

(15)

}

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]

(16)

if (i < 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:

(17)

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

(18)

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

Gambar 3.15 Rancangan Menu Pengaturan

Gambar 3.16 Rancangan Menu Log

(19)

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

(20)
(21)

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).

(22)

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.

(23)

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.

Pergeseran dilakukan sebanyak bmGs[0] =3 Langkah 3

Tabel 4.5 Pencarian pada Teks Langkah ke- 3

Window A S

Pergeseran dilakukan sebanyak 1

Langkah 4

(24)

Pattern A S I

I 0 1 2

Karakter cocok semua.

Pergeseran dilakukan sebanyak bmGs[0] =3 Langkah 5

Tabel 4.7 Pencarian pada Teks Langkah ke- 5

Window A S

Pergeseran dilakukan sebanyak 3 Langkah 6

Tabel 4.8 Pencarian pada Teks Langkah ke- 6 Window

Text N A S I B A S I S I A S I A

Pattern A S I

I 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.

(25)

Sistem ini dibangun dengan menggunakan Android Studio.

4.2.1 Splash Screen

Splash Screen adalah tampilan awal sementara yang menampilkan logo aplikasi. 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

(26)

Gambar 4.2 Menu Utama 4.2.3 Menu Navigasi

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

(27)

Gambar 4.4 Menu Cari Tanpa Filter

Gambar 4.5 Menu Cari Dengan Filter

4.2.5 Menu Loncat

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

(28)

Gambar 4.7 MenuPengaturan 4.2.7 Menu Log

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

(29)

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

(30)

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.

(31)

A01 yang

(32)

A03 yagn Tidak Ditemukan

(33)
(34)

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

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

Anggota yang berpraktek bagi publik harus memperhatikan prinsip-prinsip pada kode etik profesi dalam menentukan. lingkup dan sifat jasa yang

Sehubungan dengan persetujuan para pemegang saham pada tanggal 26 Juni 2006, maka selama tahun 2008, Perusahaan melakukan penerbitan saham baru sejumlah 7.765.155 saham dengan

TK Aisyiyah Bustanul Athfal 12 Kudus merupakan TK yang memuat materi Pendidikan Agama Islam lebih banyak dari TK pada umumnya, kurikulum muatan lokal

dilakukan pengujian senyawa saponin yang diduga ada terdapat pada minyak cincalok, dengan meliputi parameter pengujian indeks busa, indeks ikan, dan indeks

Kadarmanto (2005) mengemukakan bahwa perbedaan pengepresan atau ketebalan papan partikel sekam padi dari campuran sekam padi dan resin padi yang semakin banyak atau sedikit tidak

Berdasarkan definisi stres yang telah dikemukakan oleh Lazarus dan Folkman, maka definisi stres akademis yang digunakan dalam penelitian ini adalah kondisi dimana

62 Dari keluaran pengujian DMT pada tanah residual, selanjutnya dapat dihitung parameter geoteknik melalui persamaan dasar dari Marchetti untuk seluruh kedalaman

Ang huling pagtingin ay ang sistemang legalized prostitution kung saan tinitingnan ng isang estado ang aktibidad na ito hindi bilang krimen , bagkus, ay isang propesyon