59
IMPLEMENTASI DAN PENGUJIAN
4.1 Proses Aplikasi
Pada bab ini akan dibahas implementasi sistem rancang bangun Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching hingga analisa hasil dari aplikasi tersebut. Proses yang terjadi pada penggunaan Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching ini adalah sebagai berikut :
1. User menjalankan aplikasi kemudian loading screen muncul.User masuk ke halaman utama.
2. Didalam halaman ini terdapat 3 tombol yang berbentuk list, yaitu tombol, Cari Pasal Berdasarkan Pasal, Cari Pasal Berdasarkan Isi dan exit.
3. Jika tombol cari pasal berdasarkan pasal dipilih, user akan memasukkan kata kedalam form search, untuk mencari pasal yang diinginkan dengan algoritma pencarian Knuth Morris Pratt, kemudian setelah pasal yang diinginkan muncul, user dapat memilih pasal tersebut untuk memunculkan detail pasal beserta isinya.
4. Jika tombol cari pasal berdasarkan isi dipilih, user akan memasukkan kata kedalam form search, untuk mencari isi pasal yang diinginkan dengan algoritma pencarian Knuth Morris Pratt, kemudian setelah isi pasal yang
diinginkan muncul, user dapat memilih isi pasal tersebut untuk memunculkan detail pasal beserta isinya.
5. Jika user memilih tombol exit, aplikasi akan berhenti.
4.2 Pengembangan Aplikasi
Pengembangan aplikasi Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching ini dapat diinstall pada smartphone yang berbasis android yang sebelumnya di-compile melalui IDE ( Integrated Development Environment ) Eclipse Galileo melalui kode-kode yang kemudian menjadi sebuah file berektensi *.APK (Android PacKage). Untuk pengembangan lebih lanjutnya dalam pendistribusian aplikasi, developer dituntut untuk melakukan package terhadap aplikasi yang telah dibuat. Dalam melakukan packaging, developer dapat menyertakan pula certificate pada aplikasi yang telah dibuat sebagai bukti bahwa aplikasi tersebut adalah aplikasi yang dibuat sendiri. Certificate ini juga berfungsi sebagai kunci yang diberikan oleh Google sebagai cara mengidentifikasi untuk developer aplikasi.
4.3 Implementasi Sistem
Tahap implementasi merupakan tahap mewujudkan hasil perancangan menjadi sebuah program aplikasi yang dapat dioperasikan demi mencapai hasil yang sesuai dengan hasil perancangan.
Setelah melakukan tahap perancangan sistem dan implementasi perangkat lunak, maka tindakan selanjutnya yang dilakukan adalah penerapan hasil perangkat lunak tersebut.
4.3.1 Lingkungan Implementasi
Untuk mendukung dalam proses implementasi, maka dibutuhkan perangkat keras dan perangkat lunak yang menunjang dalam pengembangan Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching.
1. Kebutuhan Perangkat Keras
Perangkat keras yang direkomendasikan untuk menjalankan Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching ini dapat dilihat seperti dibawah.
1. Handphone
2. Kebutuhan Perangkat Lunak
Perangkat lunak yang direkomendasikan untuk menjalankan Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching ini dapat dilihat seperti dibawah
1. Android OS min Versi 2.2.
4.3.2 Implementasi Program
Pada tahapan ini akan dijelaskan mengenai implementasi database dan implementasi user interface.
1. Implementasi Database
Implementasi database menjelaskan mengenai struktur tabel beserta atribut penyusunnya, untuk pembuatan database dilakukan dengan menggunakan fasilitas SQLite. Adapun hasil dari implementasi database yaitu sebagai berikut :
a. Tabel tb_undang_kuhp
Pada tabel tb_undang_kuhp terdiri dari enam field yaitu: _id (primary key), pasal, isi, buku, bab dan tabel. Hasil implementasi database dari tabel tb_undang_kuhp dapat dilihat dari Tabel 4.1.
Tabel 4.1 Tabel tb_undang_kuhp Column
ID
Name Type Not Null Default Value
Primary Key
0 _id integer 1 null 1
1 pasal text 0 null 0
2 isi text 0 null 0
3 buku text 0 null 0
4 bab text 0 null 0
5 tabel text 0 null 0
Gambar 4.1 menggambarkan Query SQL pada tabel tb_undang_kuhp :
CREATE TABLE "tb_undang_kuhp" ("_id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , "pasal" TEXT, "isi" TEXT, "buku" TEXT, "bab" TEXT, "Tabel" TEXT)
Gambar 4.1 Sintak SQL tabel tb_undang_kuhp
b. Tabel tb_undang_kuhap
Pada tabel tb_undang_kuhap terdiri dari tujuh field yaitu: _id (primary key), pasal, isi, paragraf, bab, bagian dan tabel. Hasil implementasi database dari tabel tb_undang_kuhap dapat dilihat dari Tabel 4.2.
Tabel 4.2 Tabel tb_undang_kuhap Column
ID
Name Type Not Null Default Value
Primary Key
0 _id integer 1 null 1
1 pasal text 0 null 0
2 isi text 0 null 0
3 paragraf text 0 null 0
4 bab text 0 null 0
Tabel 4.2 Tabel tb_undang_kuhap (Lanjutan) Column
ID
Name Type Not Null Default Value
Primary Key
6 tabel text 0 null 0
Gambar 4.2 menggambarkan Query SQL pada table tb_undang_kuhap :
CREATE TABLE "tb_undang_kuhap" ("_id" INTEGER PRIMARY KEY NOT NULL ,"pasal" TEXT,"isi" TEXT,"paragraf" TEXT DEFAULT (null) ,"bab" TEXT,"bagian" TEXT, "tabel" TEXT)
Gambar 4.2 Sintak SQL tabel tb_undang_kuhap
c. Tabel tb_undang_kuhper
Pada tabel tb_undang_kuhper terdiri dari enam field yaitu: _id (primary key), pasal, isi, buku, bab, bagian dan tabel. Hasil implementasi database dari tabel tb_undang_kuhper dapat dilihat dari Tabel 4.3.
Tabel 4.3 Tabel tb_undang_kuhper Column
ID
Name Type Not Null Default Value
Primary Key
0 _id integer 1 null 1
1 pasal text 0 null 0
2 isi text 0 null 0
3 buku text 0 null 0
4 bab text 0 null 0
5 bagian text 0 null 0
6 tabel text 0 null 0
Gambar 4.3 menggambarkan Query SQL pada tabel tb_undang_kuhper :
CREATE TABLE "tb_undang_kuhper" ("_id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , "pasal" TEXT, "isi" TEXT, "buku" TEXT, "bab" TEXT, "bagian" TEXT, "tabel" TEXT)
2. Implementasi pencarian dengan KNUTH Morris Pratt
Implementasi pencarian dengan KNUTH Morris Pratt merupakan pengimplementasian algoritma Knuth Morris Pratt. Berikut penerapan knuth Morris Pratt pada pencarian pasal seperti terlihat pada Gambar 4.4 :
Gambar 4.4 Halaman Cari Pasal
Pada Gambar 4.4, kolom Search berfungsi untuk melakukan pencarian pasal yang ada dalam database menggunakan metode pencocokan String dengan algoritma Knuth Morris Pratt. Kolom Search berfungsi sebagai Pattern yang nantinya akan dikirim pada Class KMP yang kemudian akan dibandingkan dengan kumpulan teks yang ada pada database dengan algoritma KMP. Jika hasil ditemukan maka akan ditampilkan dalam bentuk list dibawahnya. Item-item pasal yang ada dalam list dapat di pilih untuk menampilkan detail pasal yang dipilih.
Berikut penerapan knuth Morris Pratt pada pencarian isi pasal seperti terlihat pada Gambar 4.5 :
Gambar 4.5 Halaman Cari Isi
Pada Gambar 4.5, kolom Search berfungsi untuk melakukan pencarian pasal yang ada dalam database menggunakan metode pencocokan String dengan algoritma Knuth Morris Pratt. Kolom Search berfungsi sebagai Pattern yang nantinya akan dikirim pada Class KMP yang kemudian akan dibandingkan dengan kumpulan teks yang ada pada database dengan algoritma KMP. Jika hasil ditemukan maka akan ditampilkan dalam bentuk list dibawahnya. Item-item pasal yang ada dalam list dapat di pilih untuk menampilkan detail pasal yang dipilih.
Gambar 4.6 menunjukkan Script fungsi KMP utama :
public class KMP { /** Failure array **/
private int[] failure;
public static int value; /** Constructor **/
public KMP(String text, String pat) {
/** pre construct failure array for a pattern **/
failure = new int[pat.length()];
fail(pat);
/** find match **/
int pos = posMatch(text, pat); if (pos == -1)
KMP.value = 0; else
KMP.value = 1; }
Gambar 4.7 menggambarkan Script fungsi KMP jika terjadi kesalahan pada pattern :
/** Failure function for a pattern **/
private void fail(String pat) { int n = pat.length(); failure[0] = -1; for (int j = 1; j < n; j++) { int i = failure[j - 1];
while ((pat.charAt(j) != pat.charAt(i + 1)) && i >= 0) i = failure[i]; if (pat.charAt(j) == pat.charAt(i + 1)) failure[j] = i + 1; else failure[j] = -1; } }
Gambar 4.7 Script program Knuth Morris Pratt jika terjadi kesalahan Gambar 4.8 menggambarkan Script fungsi KMP untuk menemukan kecocokan pada pattern :
/** Function to find match for a pattern **/
private int posMatch(String text, String pat) {
int i = 0, j = 0;
int lens = text.length(); int lenp = pat.length(); while (i < lens && j < lenp) { if (text.charAt(i) == pat.charAt(j)) { i++; j++; } else if (j == 0) i++; else j = failure[j - 1] + 1; }
return ((j == lenp) ? (i - lenp) : -1); }
4.4 Pengujian Sistem
Pada proses pengujian ini, metode yang digunakan adalah metode pengujian Black Box. Pengujian Black box adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Data uji dibangkitkan, dieksekusi pada perangkat lunak dan kemudian dari perangkat lunak dicek apakah telah sesuai dengan yang diharapkan.
4.4.1 Rencana Pengujian
Rencana pengujian yang akan digunakan pada Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching yang dapat dilihat pada Tabel 4.4.
Tabel 4.4 Rencana Pengujian
No Data yang Diuji Butir Pengujian Jenis Pegujian
1. Cari pasal Menguji pencarian data pasal Black box 2. Cari isi Menguji pencarian data isi Black box 3. Pilih pasal Menguji tampil detail pasal Black box 4. Pilih isi Menguji tampil detail isi Black box
4.4.2 Pengujian Sistem
Pengujian sistem ini di lakukan dengan melakukan validasi data-data yang akan dimasukkan kedalam sistem. Berikut adalah beberapa pengujian yang telah dilakukan yang dapat dilihat pada Tabel 4.5.
Tabel 4.5 Pengujian Sistem
4.5 Analisa Hasil
Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching yang telah dibangun dengan menggunakan IDE Eclipse Galileo dan juga dengan build target Android 2.2 telah berhasil diuji coba melalui Android Virtual Device sebagai emulator dan bisa berjalan dengan baik.
Kode Requirement Skenario Pengujian
Hasil yang
Diharapkan Keterangan
C-01 Cari pasal Cari pasal Masukan pasal yang ingin dicari pada search box Sistem menampilkan pasal yang ingin dicari.
Sesuai C-02 Cari isi Cari isi Masukan isi
yang ingin dicari pada search box
Sistem
menampilkan isi
yang ingin dicari. Sesuai C-03 Pilih pasal Pilih pasal Pilih pasal yang ingin detampilkan detailnya. Sistem menampilkan detail pasal yang telah dipilih
Sesuai
C-04 Pilih isi Pilih isi Pilih menu data admin
Sistem menampilkan detail isi yang telah dipilih