3. ANALISIS DAN PERANCANGAN
3.1. Gambaran Umum Sistem
Sistem yang dirancang ini terdiri dari dua sub sistem berbeda, yaitu pencarian query to document dan pencarian document to document. Sub sistem pencarian query to document berfungsi untuk mencari pasal-pasal yang terkait dengan kasus pelanggaran hukum, dimana input berupa query. Sedangkan sub sistem pencarian document to document berfungsi untuk mencari pasal dan kasus-kasus yang mirip dengan kasus-kasus yang baru terjadi, dimana input berupa dokumen kasus berekstensi .txt.
Aktor yang terlibat pada sistem ini adalah pengguna dan administrator. Pengguna merupakan aktor yang melakukan pencarian pada sistem ini, sedangkan administrator merupakan aktor yang mempunyai hak akses untuk menambahkan dokumen-dokumen pasal dan kasus ke dalam basis data. Kumpulan dokumen yang digunakan dalam sistem ini yaitu Undang-Undang (1945-2014), dan contoh kasus-kasus yang telah diselesaikan sebelumnya. Kedua jenis dokumen tersebut disimpan dalam file berekstensi .txt, dimana untuk dokumen undang-undang harus dipecah menjadi satuan pasal.
Pada gambar 3.1. berikut ini merupakan gambaran dari sub sistem pencarian
query to document :
Pengguna Administrator
Basis Data Hukum Memasukan kata kunci
berupa query Operasi teks tokenization Operasi teks stopwords Operasi teks stemming Operasi AND Membangun Inverted index Penjumlahan Wij : ntfij * nidfj
Simpan isi tentang
ke tabel Kamus_Hukum Memasukan dok pasal (.txt)
Simpan id_pasal, tentang, dok_pasal, status ke tabel Pasal
Memanggil dok pasal Berstatus 0 Operasi teks tokenization Operasi teks stopwords Operasi teks stemming Perhitungan df_j, nidf_j
Simpan id_term, term, df_j, nidf_j ke tabel Term_Pasal
Perhitungan tf_ij, w_ij, ntf_ij
Simpan ke tabel Indeks_Pasal Term_Pasal Indeks_Pasal rootwords stopwords rootwords stopwords indeks Dokumen pasal
Gambar 3.1 Sub Sistem Pencarian Query to Document
Pada sub sistem pencarian query ke dokumen ini, pengguna memasukan
query (contoh: kekerasan pada anak), kemudian sistem akan melakukan tahap
operasi teks atau text operations yaitu tokenization, stopwords, dan stemming. Pada tahap ini, terlebih dahulu sistem akan melakukan proses tokenization, dimana sistem akan melakukan pemisahan pada query menjadi kata/istilah.
Kemudian, sistem akan melakukan eliminasi stopwords untuk menyaring/membuang kata yang sering muncul pada kumpulan dokumen. Selanjutnya, sistem melakukan proses stemming untuk mencari kata dasar (root
word) dari suatu istilah dengan menggunakan algoritma Nazief dan Adriani pada
teks Bahasa Indonesia (Augusta, 2009).
Tahap selanjutnya adalah operasi query dengan menggunakan operator AND. Sistem akan mencari kata kunci di struktur data inverted index pasal yang telah dibangun. Setelah itu, hasil dari pencarian tersebut akan dibobotkan berdasarkan tingkat kesesuaian query terhadap pasal yang tersimpan di tabel Indeks_Pasal untuk mendapatkan hasil yang paling relevan dengan menggunakan pembobotan TF-IDF menurut Savoy.
Kemudian, untuk proses penambahan data pasal ke koleksi dokumen, pihak administrator memasukan pasal baru ke dalam sistem beserta informasi yang diperlukannya (tahun, nomor, pasal dan tentang). Selanjutnya sistem akan menyimpan informasi tersebut beserta dokumen pasal berekstensi .txt di tabel pasal. Dokumen yang telah tersimpan di tabel pasal akan dipanggil lagi untuk disaring menggunakan operasi teks (tokenization, stopwords, dan stemming).
Term yang dihasilkan dari proses operasi teks tersebut akan disimpan ke tabel
Term_Pasal. Kemudian sistem akan melakukan pembobotan dengan cara menghitung dan menyimpan tf_ij, ntf_ij, dan w_ij ke tabel indeks_pasal serta df_j dan nidf_j ke tabel Term_Pasal.
Selanjutnya, pada gambar 3.2. berikut ini ini merupakan gambaran dari sub sistem pencarian document to document :
Pengguna Administrator
Basis Data Hukum Memasukan kata kunci
berupa dokumen kasus
Operasi teks Pengambilan kata Sesuai dengan isi tentang Yang berada dit abel Kamus_Hukum
Operasi OR Penjumlahan Wij : ntfij * nidfj Membangun Inverted index Memasukan dok kasus (.txt)
Simpan id_kasus, judul, dok_kasus, status ke tabel Kasus
Memanggil dok kasus Berstatus 0
Perhitungan df_j, nidf_j
Perhitungan ntf_ij, w_ij Simpan id_term, term, df_j, nidf_j
ke tabel Term_Kasus
Simpan tf_ij, ntf_ij, w_ij, id_term, id_kasus ke tabel Indeks_Kasus
Operasi teks Pengambilan kata Sesuai dengan isi tentang Yang berada di tabel Kamus_Hukum
Term_Kasus
Indeks_Kasus Kamus_Hukum
Kamus_Hukum
Dokumen kasus dan pasal
Gambar 3.2 Sub Sistem Pencarian Document to Document
Pada sub sistem pencarian dokumen ke dokumen ini, pengguna memasukan dokumen kasus ke dalam sistem. Kemudian sistem akan melakukan tahap operasi teks atau text operations yaitu dengan melakukan proses penyaringan istilah menggunakan tabel Kamus_Hukum yang berisi istilah-istilah dari tentang pada setiap undang-undang. Pada tahap ini, sistem melakukan operasi teks yang berbeda dari sub sistem pertama (query to document), yaitu dengan melakukan pengambilan term yang sesuai dengan kamus_hukum. Hal ini bertujuan dengan
pencocokan kamus hukum yang diambil dari isi tentang pada setiap undang-undang untuk mempercepat proses pencarian tanpa harus membandingkan dengan keseluruhan istilah yang ada di dokumen kasus.
Tahap selanjutnya adalah operasi query dengan menggunakan operator OR. Sistem akan membandingkan dokumen kasus yang ada di struktur data inverted
index kasus yang telah dibangun. Setelah itu, hasil dari pencarian tersebut akan
dibobotkan berdasarkan tingkat kesesuaian dari tabel Indeks_Kasus untuk mendapatkan hasil yang paling relevan dengan menggunakan pembobotan TF-IDF menurut Savoy.
Kemudian, untuk proses penambahan data kasus ke koleksi dokumen, pihak administrator memasukan dokumen-dokumen kasus baru ke dalam sistem beserta informasi yang diperlukannya, yaitu judul dan pasal yang bersangkutan. Selanjutnya sistem akan menyimpan informasi beserta dokumen kasus yang berekstensi .txt tersebut ke tabel Kasus. Dokumen yang telah tersimpan di tabel Kasus akan disaring oleh sistem menggunakan operasi teks berdasarkan term di Kamus_Hukum. Istilah dari hasil penyaringan tersebut akan disimpan ke tabel Term_Kasus. Kemudian sistem akan menghitung dan menyimpan tf_ij, ntf_ij, dan w_ij ke tabel indeks_kasus serta df_j dan nidf_j ke tabel Term_Kasus.
3.1.1. Perancangan Struktur Data Inverted Index
Pada gambar 3.3 berikut ini merupakan model dari struktur data inverted
index yang dibangun :
t
t
t
doc doc doc
doc doc
doc
id dok.
Dictionary /
termList Posting list Linked list
HashMap
doc doc doc
iterator List Iterator Document Term Term Term Document Document Document Document Document
Document Document Document
Gambar 3.3 Model Struktur Data Inverted Index
Pada gambar 3.3 tersebut terdapat 2 komponen utama, yaitu dictionary yang disimpan pada termList untuk menampung term dan postingList menampung informasi term yaitu id dokumen. TermList dan postingList tersebut merupakan objek yang bertipe LinkedListOrderedUnique<Term>. Hash Map digunakan untuk memetakan term. LinkedList digunakan untuk menghubungkan antar id dokumen. Sedangkan untuk menghubungkan masing-masing term dan postingList dengan menggunakan iterator yang disimpan pada iteratorList (kelas bawaan Java).
3.1.2. Contoh Data yang Digunakan
Pada gambar 3.4 berikut ini merupakan contoh dokumen undang-undang yang digunakan sebagai data dari Sistem Pemerolehan Informasi Undang-Undang dan Kasus :
Pada gambar 3.4 tersebut, isi dari tentang yaitu “Perlindungan Konsumen” disimpan per kata ke dalam tabel Kamus_Hukum yang digunakan untuk proses pencarian sub sistem document to document. Kemudian isi dari pasal yaitu “Dalam Undang-Undang ini yang dimaksud dengan : 1. Perlindungan…..” disimpan per pasal ke dalam table Pasal sebagai koleksi dokumen pasal yang digunakan untuk proses pencarian sub sistem query to document. Jumlah dokumen pasal yang digunakan sebagai data di sub sistem query to document yaitu 1942 dokumen (.txt) yang disimpan di tabel Pasal, terdiri dari 2713 terms yang disimpan di tabel Term_Pasal. Sedangkan contoh dokumen kasus disajikan pada gambar 3.5 berikut ini :
Gambar 3.5 Contoh Dokumen Kasus
Pada gambar 3.5 tersebut, informasi kasus yang disimpan pada basis data yaitu judul kasus (di paling atas), pasal-pasal yang terkait (Pasal 45, Pasal 28 UU No. 11 Tahun 2008), dan file dokumen berekstensi .txt itu sendiri. Jumlah dokumen-dokumen kasus yang digunakan sebagai data pada sub sistem document to document yaitu 100 dokumen (.txt) yang tersimpan pada tabel Kasus, terdiri dari 54 terms yang tersimpan pada tabel Term_Kasus. Dokumen-dokumen tersebut berasal dari artikel-artikel kasus di www.hukumonline.com.