Analisis Sistem ANALISIS DAN PERANCANGAN

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