BAB 3 ANALISIS DAN PERANCANGAN
3.1. Analisis Sistem
Analisis sistem dilakukan untuk menghasilkan pemahaman yang menyeluruh terhadap kebutuhan sistem aplikasi kumpulan hadits shahih berbasis android yang
menggunakan algoritma Apostolico-Crochemore sebagai metode pencariannya. Pada penelitian ini, proses utama dilakukan oleh user. User menjalankan aplikasi tersebut
melalui smartphone yang dimiliki untuk mencari kata atau query yang ingin dicari pada aplikasi kumpulan hadits shahih yang mana hadits tersebut dishahihkan oleh
Syaikh Muhammad Nashiruddin Al-Albani dalam kitab terjemahan Shahih At-Targhib Wa At-Tarhib
.
3.1.1. Analisis Kebutuhan Sistem
Analisis kebutuhan sistem meliputi analisis kebutuhan fungsional dan nonfungsional.
a. Analisis Kebutuhan Fungsional Sistem
Kebutuhan fungsional dalam aplikasi kumpulan hadits shahih yang harus dipenuhi adalah sebagai berikut:
1. Sistem dapat menampilkan isi database hadits shahih yang tersedia.
2. Sistem dapat melakukan pencarian hadits shahih menggunakan algoritma
Apostolico-Crochemore. 3.
Sistem memiliki tempat untuk pengetikan kata yang akan dicari.
Universitas Sumatera Utara
b. Analisis Kebutuhan Nonfungsional Sistem
Persyaratan nonfungsional yang akan mendukung kinerja sistem aplikasi kumpulan hadits shahih adalah sebagai berikut:
1. Sistem yang dibangun memiliki interface yang user friendly sehingga pengguna
dapat menggunakan serta mempelajari sistem tersebut dengan mudah. 2.
Sistem yang dibangun tidak memerlukan perangkat tambahan yang dapat merepotkan serta mengeluarkan biaya tambahan pada pengguna.
3. Sistem yang dibangun menyediakan halaman bantuan untuk memberikan
informasi bantuan mengenai aplikasi kepada pengguna.
3.1.2. Pemodelan
Pada tahapan pemodelan sistem ini dilakukan penggambaran cara kerja sistem yang akan dibangun sehingga proses pembangunan sistem dapat berjalan dengan baik. Pada
tugas akhir ini penggambaran cara kerja sistem tersebut akan menggunakan UML Unified Modeling Language
sebagai bahasa pemodelan untuk mendesain dan merancang aplikasi kumpulan hadits shahih dalam mencari data hadits yang dicari.
Model UML yang akan digunakan pada tahap pemodelan ini adalah Usecase diagram, Activity diagram
, dan Sequence diagram.
a. Usecase Diagram
Usecase Diagram adalah diagram yang menggambarkan secara ringkas siapa yang
menggunakan sistem dan apa saja yang dapat dilakukannya. Usecase Diagram dari sistem aplikasi kumpulan hadits shahih dapat dilihat pada gambar 3.1.
Gambar 3.1. Use Case Diagram System
Universitas Sumatera Utara
1. Skenario Usecase Input Kata
Nama Usecase : Input kata
Deskripsi : Usecase yang mendeskripsikan proses input query dari user
Pre-kondisi : Pengguna belum memasukkan query
Tabel 3.1. Skenario usecase input kata
2. Skenario Usecase Pencarian Menggunakan Algoritma Apostolico-Crochemore
Nama Usecase : Pencarian menggunakan algoritma Apostolico-Crochemore
Deskripsi : Usecase yang mendeskripsikan proses pencarian kata
menggunakan algoritma Apostolico-Crochemore Pre-kondisi
: Pengguna telah memasukkan query
Tabel 3.2. Skenario usecase pencarian menggunakan algoritma Apostolico-
Crochemore
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Input kata yang dicari
2. Memeriksa input
3. Melanjutkan
kepada proses
pencocokan kata
Skenario Alternatif
1. Input kata yang dicari
2. Sistem tidak bereaksi apapun karena
tidak ada aksi input oleh pengguna
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Menunggu hasil pencarian
2. Melakukan proses pencocokkan
query yang
dimasukkan oleh
pengguna dengan seluruh teks yang ada pada database
Universitas Sumatera Utara
3. Skenario Usecase Hasil Pencarian
Nama Usecase : Hasil Pencarian
Deskripsi : Usecase yang mendeskripsikan proses yang menampilkan
hasil pencarian Pre-kondisi
: Sistem telah selesai melakukan proses pencarian kata
Tabel 3.3. Skenario usecase hasil pencarian
b. Activity Diagram
Activity Diagram merupakan diagram yang menggambarkan aliran kerja atau aktivitas
dari sebuah sistem. Activity Diagram dari sistem aplikasi kumpulan hadits shahih yang akan dibangun dapat dilihat pada gambar 3.2.
Aksi Aktor Reaksi Sistem
Skenario Normal
1. Melihat hasil pencarian
2. Menampilkan hasil pencarian hadits
pada halaman utama aplikasi 3.
Menampilkan toast “Hadits yang ditemukan sebanyak jumlah hadits
yang ditemukan hadits”.
Skenario Alternatif
1. Melihat hasil pencarian
2. Menampilkan toast “Hadits yang
ditemukan sebanyak 0 hadits”.
Universitas Sumatera Utara
Gambar 3.2. Activity Diagram
c. Sequence Diagram
Sequence Diagram merupakan diagram yang menggambarkan interaksi antar objek-
objek yang melakukan suatu tugas atau aksi tertentu. Sequence Diagram untuk proses pencarian data hadits shahih dengan Algoritma Apostolico-Crochemore dapat dilihat
pada gambar 3.3.
Gambar 3.3. Sequence Diagram
Universitas Sumatera Utara
d. Flowchart Sistem
Flowchart adalah bagan-bagan yang mempunyai arus atau aliran yang
menggambarkan uraian langkah-langkah penyelesaian suatu masalah. Flowchart dari sistem aplikasi kumpulan hadits shahih yang akan dibangun akan diperlihatkan pada
gambar 3.4. yang menggambarkan fase proses awal dan gambar 3.5. yang menggambarkan fase pencarian string.
Gambar 3.4. Flowchart Preprocessing Fase Proses Awal
Universitas Sumatera Utara
Gambar 3.5. Flowchart Fase Pencarian String
Universitas Sumatera Utara
Gambar 3.4. merupakan flowchart mengenai fase proses awal pada algoritma Apostolico-Crochemore dimana pada fase ini akan dihitung fungsi pinggiran yang
mengindikasikan pergeseran x terbesar yang mungkin pada pattern x yang dimasukkan oleh user. Fungsi pinggiran pada algoritma Apostolico-Crochemore
adalah kmpNext. Diketahui nilai awal indeks i adalah 0, dan nilai awal indeks j sama dengan kmpNext[0] yaitu -1. Selama i m, maka akan dilakukan beberapa kondisi
yaitu sebagai berikut: 1.
Selama j -1 dan x[i] tidak sama dengan x[j], maka j = kmpNext[j]. 2.
Kemudian setelah itu nilai i dan j ditambah 1. 3.
Jika x[i] sama dengan x[j] maka kmpNext[i] = kmpNext[j], sedangkan jika x[i] tidak sama dengan x[j] maka kmpNext[i] = j. Kemudian dilakukan perulangan
hingga syarat i m tidak terpenuhi.
Selanjutnya gambar 3.5. merupakan flowchart mengenai fase pencarian string menggunakan algoritma Apostolico-Crochemore dimana pada fase ini dilakukan
proses pencarian pencocokan pattern dengan teks. Dimulai dengan menentukan nilai l ell dimana l adalah posisi karakter
pertama dari x yang berbeda dari x[0]. Selama x[l – 1] sama dengan x[l], maka nilai l
ditambah 1. Kemudian setelah mendapatkan nilai l, jika l sama dengan m, maka l sama dengan 0. Selanjutnya diberikan nilai i sama dengan l dan nilai j dan k sama
dengan 0. Kemudian selama nilai j = n – m, maka akan dilakukan beberapa kondisi
yaitu sebagai berikut: 1.
Selama i m dan x[i] sama dengan y[i + j] maka i ditambah dengan 1. 2.
Setelah itu, jika i = m maka: a.
Selama k l dan x[k] sama dengan y[j + k] maka k ditambah dengan 1. b.
Kemudian setelah itu, jika k = l maka output nilai j yang mana nilai j merupakan indeks dari ytext yang berhasil dicocokkan dengan xpattern.
3. Kemudian nilai j ditambah dengan nilai i – kmpNext[i].
Universitas Sumatera Utara
4. Jika i sama dengan l, maka nilai k sama dengan nilai yang paling besar antara 0
dan k-1, kemudian lewati langkah ke-5 dan lakukan perulangan kembali pada langkah pertama selama kondisi j=n
–m masih terpenuhi. 5.
Jika kmpNext[i] = l, maka nilai k sama dengan nilai yang paling besar antara 0 dan kmpNext[i], dan nilai i sama dengan nilai l. Sedangkan jika kondisi tersebut
tidak terpenuhi maka nilai k = l dan i = kmpNext[i]. Kemudian lakukan perulangan kembali pada langkah satu selama kondisi j=n
–m masih terpenuhi.
3.2. Perancangan Sistem