BAB IV 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
59
60
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.
61
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 :
62
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 0 1 2 3 4 5
Name
Type
Not Null
_id pasal isi buku bab tabel
integer text text text text text
1 0 0 0 0 0
Default Value null null null null null null
Primary Key 1 0 0 0 0 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 0 1 2 3 4 5
Name
Type
Not Null
_id pasal isi paragraf bab bagian
integer text text text text text
1 0 0 0 0 0
Default Value null null null null null null
Primary Key 1 0 0 0 0 0
63
Tabel 4.2 Tabel tb_undang_kuhap (Lanjutan) Column ID 6
Name
Type
Not Null
tabel
text
0
Default Value null
Primary Key 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 0 1 2 3 4 5 6
Name
Type
Not Null
_id pasal isi buku bab bagian tabel
integer text text text text text text
1 0 0 0 0 0 0
Default Value null null null null null null null
Primary Key 1 0 0 0 0 0 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)
Gambar 4.3 Sintak SQL tabel tb_undang_kuhper
64
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 :
65
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.6 Script program Utama Knuth Morris Pratt
66
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); }
Gambar 4.8 Script program Knuth Morris Pratt untuk menemukan kecocokan
67
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
1. 2. 3. 4.
Cari pasal Cari isi Pilih pasal Pilih isi
Menguji pencarian data pasal Menguji pencarian data isi Menguji tampil detail pasal Menguji tampil detail isi
4.4.2
Jenis Pegujian Black box Black box Black box Black box
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.
68
Tabel 4.5 Pengujian Sistem Kode
Requirement
Skenario Pengujian
C-01
Cari pasal
Cari pasal
C-02
Cari isi
Cari isi
C-03
Pilih pasal
Pilih pasal
Masukan pasal yang ingin dicari pada search box Masukan isi yang ingin dicari pada search box Pilih pasal yang ingin detampilkan detailnya.
C-04
Pilih isi
Pilih isi
4.5
Hasil yang Ketera Diharapkan ngan Sistem menampilkan pasal yang ingin Sesuai dicari. Sistem menampilkan isi Sesuai yang ingin dicari.
Sistem menampilkan Sesuai detail pasal yang telah dipilih Pilih menu Sistem data admin menampilkan Sesuai detail isi yang telah dipilih
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.