• Tidak ada hasil yang ditemukan

Sistem pemerolehan informasi undang-undang dan kasus menggunakan struktur data inverted index dengan pembobotan TF-IDF.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Sistem pemerolehan informasi undang-undang dan kasus menggunakan struktur data inverted index dengan pembobotan TF-IDF."

Copied!
211
0
0

Teks penuh

(1)

viii

ABSTRAK

Sejak tahun 1945, pertambahan dokumen Undang-Undang dan kasus pelanggaran yang semakin banyak sehingga menyebabkan kesulitan dalam menemukan pasal-pasal maupun kasus sesuai dengan informasi yang dibutuhkan. Berdasarkan hal tersebut, maka diperlukannya suatu sistem Pemerolehan Informasi untuk memudahkan pencarian. Pada Pemerolehan Informasi, proses pencarian menggunakan struktur data inverted index dan pembobotan kata-kata menggunakan metode pembobotan TF-IDF. Sejauh ini belum ada penerapan metode tersebut dalam pencarian pasal-pasal yang relevan, selain itu umumnya input sebagai kata kunci berupa query bukan sebuah dokumen.

Percobaan query to document menggunakan data contoh sejumlah 1942 dokumen pasal yang terdiri dari 2713 terms dan nilai rata-rata precision mencapai 0,9219. Sedangkan untuk document to document menggunakan 100 dokumen kasus yang terdiri dari 54 terms dan nilai rata-rata precision mencapai 0,614.

(2)

ix

ABSTRACT

Since 1945, the law of documents and cases of violation’s additional have been getting high continuously causing difficulties to retrieve the relevant pasal as well as cases in accordance with the information needed. Hence based on this problem, we need an information retrieval system to facilitate the search processes. On the information retrieval field, the search processes using the data structure of inverted index and weighting of words using TF-IDF weighting method. So far there has been no application of such methods in the search for relevant pasal, in addition to the general input as keyword is a query instead of the document.

The experiments of query to document sub-system using 1942 pasal documents consisting of 2713 terms as a data sample. The average value of precision obtained is 0.9291. As for the document to document sub-system using the 100 case files consists of 54 terms as a data sample. The average value of precision obtained is 0.614.

(3)

i

SISTEM PEMEROLEHAN INFORMASI UNDANG-UNDANG

DAN KASUS MENGGUNAKAN STRUKTUR DATA INVERTED INDEX

DENGAN PEMBOBOTAN TF-IDF

SKRIPSI

Diajukan untuk memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Informatika (S.Kom)

Program Studi Teknik Informatika

Oleh :

Fredes Winda Oktaviani Puspitaningrum NIM : 115314005

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

(4)

ii

INFORMATION RETRIEVAL SYSTEM OF THE LAWS

AND CASES USING INVERTED INDEX DATA STRUCTURE

WITH TF-IDF WEIGHTING

A FINAL PROJECT

Presented as Partial Fullfilment of the Requirements To Obtain the Sarjana Komputer Degree

In Informatics Engineering

By :

Fredes Winda Oktaviani Puspitaningrum Student Number : 115314005

INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY

(5)
(6)
(7)
(8)

vi

HALAMAN MOTO

(9)

vii

HALAMAN PERSEMBAHAN

Kupersembahkan skripsi ini kepada :

Tuhan Yesus Kristus atas berkat dan perlindungan-Nya.

Keluargaku Yustinus Siswanto (Bapak), Yovita Murtini (Ibu), Veronika Ika Puspita Kusumawati (Kakak), Yustina Novita Puspitawati (Kakak), Ferdinand Vinsent Yoga Kusuma Pandya (Keponakan) yang selalu memberikan dukungan, kasih sayang dan masukan dalam proses pengerjaan skripsi ini.

Abd Manan yang telah memberikan ide untuk skripsi ini.

Untuk teman-teman :

- Fenti dan Salma yang slalu dengerin aku curhat hal-hal konyol dan nggak penting, thanks ya udah sabar juga aku jailin :P

- Renia, Ari, Ronald : thanks untuk kodoknya yaaaa…besar banget sumpah…! :D

- Teman-teman TI 2011 khususnya Renia, Ari, Ronald, Elsa, Orin, Danik, Lita, Kezia, Meity, Benny, Pandu, Monic, Drajad, Wisnu, Adi, Anggit, dan teman-teman TI lainnya atas dukungannya 

- Mbak Tika, Mbak Velly, Monic dan teman-teman Kost Alma atas dukungannya.

- Vano, Brent : thanks ya udah nemenin ngelembur :P

Yang special untuk :

- Babon Poule : cepatlah menetasss … :D

- C.L. Homer yang selalu dengerin curhat dan kasih dukungan, thanks yaa … je t’aime mon amour.

(10)

viii ABSTRAK

Sejak tahun 1945, pertambahan dokumen Undang-Undang dan kasus pelanggaran yang semakin banyak sehingga menyebabkan kesulitan dalam menemukan pasal-pasal maupun kasus sesuai dengan informasi yang dibutuhkan. Berdasarkan hal tersebut, maka diperlukannya suatu sistem Pemerolehan Informasi untuk memudahkan pencarian. Pada Pemerolehan Informasi, proses pencarian menggunakan struktur data inverted index dan pembobotan kata-kata menggunakan metode pembobotan TF-IDF. Sejauh ini belum ada penerapan metode tersebut dalam pencarian pasal-pasal yang relevan, selain itu umumnya input sebagai kata kunci berupa query bukan sebuah dokumen.

Percobaan query to document menggunakan data contoh sejumlah 1942 dokumen pasal yang terdiri dari 2713 terms dan nilai rata-rata precision mencapai 0,9219. Sedangkan untuk document to document menggunakan 100 dokumen kasus yang terdiri dari 54 terms dan nilai rata-rata precision mencapai 0,614.

(11)

ix ABSTRACT

Since 1945, the law of documents and cases of violation’s additional have been getting high continuously causing difficulties to retrieve the relevant pasal as well as cases in accordance with the information needed. Hence based on this problem, we need an information retrieval system to facilitate the search processes. On the information retrieval field, the search processes using the data structure of inverted index and weighting of words using TF-IDF weighting method. So far there has been no application of such methods in the search for relevant pasal, in addition to the general input as keyword is a query instead of the document.

The experiments of query to document sub-system using 1942 pasal documents consisting of 2713 terms as a data sample. The average value of precision obtained is 0.9291. As for the document to document sub-system using the 100 case files consists of 54 terms as a data sample. The average value of precision obtained is 0.614.

(12)
(13)

xi

KATA PENGANTAR

Puji dan Syukur saya panjatkan kepada Tuhan Yesus Kristus YME, atas berkat dan kuasa-Nya yang diberikan sehingga saya dapat menyelesaikan Tugas Akhir ini. Tugas Akhir ini adalah salah syarat memperolah gelar Sarjana Teknik Informatika (S.Kom) Program Studi Teknik Informatika, Universitas Sanata Dharma.

Dalam penyelesaian skripsi ini ada begitu banyak pihak atau pribadi yang selalu membantu saya sampai dengan akhir pengerjaan. Oleh kerena itu saya ingin mengucapkan rasa terima kasih kepada :

1. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc. selaku dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.

2. Ibu Dr. Anastasia Rita Widiarti selaku ketua jurusan Teknik Informatika Universitas Sanata Dharma.

3. Bapak JB. Budi Darmawan, S.T., M.Sc. selaku dosen pembimbing skripsi. Beliau dengan sabar selalu membimbing dan memberikan banyak kontribusi dalam pengerjaan.

4. Ibu Sri Hartati Wijono, S.Si., M.Kom. dan Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T.sebagai dosen penguji skripsi, atas saran dan kritik yang diberikan untuk menunjang skripsi ini.

(14)
(15)

xiii DAFTAR ISI

HALAMAN PERSETUJUAN ... III HALAMAN PENGESAHAN ... III PERNYATAAN KEASLIAN KARYA ... V HALAMAN MOTO ... VI HALAMAN PERSEMBAHAN ... VII ABSTRAK ... VIII ABSTRACT ... IX LEMBAR PERNYATAAN PERSETUJUAN ... X KATA PENGANTAR ... XI DAFTAR ISI ... XIII DAFTAR GAMBAR ... XVIII DAFTAR TABEL ... XXII DAFTAR KODE PROGRAM ... XXV

BAB I ... 1

1. PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Rumusan Masalah ... 2

1.3. Tujuan ... 3

1.4. Batasan Masalah ... 3

1.5. Sistematika Penulisan ... 3

BAB II ... 5

2. TINJAUAN PUSTAKA ... 5

2.1. Konsep Pemerolehan Informasi (Information Retrieval) ... 5

2.1.1. Logical View dari Dokumen ... 6

2.1.1.1. Stopwords ... 7

2.1.1.2. Stemming ... 8

(16)

xiv

2.1.2. Inverted Index ... 11

2.1.2.1. Membangun Inverted Index ... 12

2.1.2.2. Boolean Query pada Inverted Index ... 14

2.1.3. Metode Pembobotan TF-IDF ... 17

2.2. Evaluasi Pemerolehan ... 18

BAB III ... 20

3. ANALISIS DAN PERANCANGAN ... 20

3.1. Gambaran Umum Sistem ... 20

3.1.1. Perancangan Struktur Data Inverted Index ... 25

3.1.2. Contoh Data yang Digunakan ... 26

3.2. Analisa Kebutuhan ... 28

3.4. Perancangan Sistem ... 29

3.4.1. Diagram Use Case ... 29

3.4.2. Narasi Use Case ... 30

3.4.2.1. Login ... 30

3.4.2.2. Menambah Dokumen Pasal... 32

3.4.2.3. Menambah Dokumen Kasus ... 34

3.4.2.4. Mencari Dokumen Pasal Berdasarkan Query ... 35

3.4.2.5. Mencari Dokumen Kasus dan Pasal Berdasarkan Dokumen Kasus 38 3.4.2.6. Melihat Isi Pasal ... 40

3.5. Perancangang Diagram Aktivitas ... 42

3.5.1. Diagram Aktivitas Login ... 42

3.5.2. Diagram Aktivitas Menambah Dokumen Pasal... 43

3.5.3. Diagram Aktivitas Menambah Dokumen Kasus ... 44

3.5.4. Diagram Aktivitas Mencari Pasal (Query to Document) ... 45

3.5.5. Diagram Aktivitas Mencari Kasus dan Pasal (Document to Document) 46 3.5.6. Diagram Aktivitas Melihat Isi Pasal ... 47

3.6. Perancangan Diagram Kolaborasi ... 48

3.6.1. Diagram Kolaborasi Login... 48

3.6.2. Diagram Kolaborasi Menambah Dokumen Pasal ... 49

3.6.3. Diagram Kolaborasi Menambah Dokumen Kasus ... 50

3.6.4. Diagram Kolaborasi Mencari Pasal (Query to Document) ... 51

(17)

xv

3.6.6. Diagram Kolaborasi Melihat Isi Pasal ... 53

3.7. Perancangan Diagram Sekuensial ... 54

3.7.1. Diagram Sekuensial Login ... 54

3.7.2. Diagram Sekuensial Menambah Dokumen Pasal ... 55

3.7.3. Diagram Sekuensial Menambah Dokumen Kasus ... 59

3.7.4. Diagram Sekuensial Mencari Pasal (Query to Document) ... 60

3.7.5. Diagram Sekuensial Mencari Kasus dan Pasal (Document to Document) ... 63

3.7.6. Diagram Sekuensial Melihat Isi Pasal ... 65

3.8. Perancangan Basis Data ... 66

3.8.1. Desain Konseptual Basis Data ... 66

3.8.2. Desain Logikal Basis Data ... 67

3.8.3. Desain Fisikal Basis Data ... 68

3.8. Perancangan Antarmuka ... 75

3.8.1. Desain Form Utama ... 75

3.8.2. Desain Form Login ... 76

3.8.3. Desain Form Tambah Dokumen ... 76

3.8.4. Desain Form Pencarian ... 77

3.8.5. Desain Form Lihat Isi Pasal ... 78

3.9. Perancangan Diagram Kelas ... 78

3.9.1. Package Model ... 79

3.9.2. Package View ... 80

3.9.3. Package Control ... 83

3.9.4. Package Stemming ... 84

3.9.5. Package TF_IDF... 85

3.9.6. Package inverted index ... 85

3.9.7. Package conn ... 85

3.9.8. Package Thread ... 85

BAB IV ... 86

4. IMPLEMENTASI ... 86

4.1. Spesifikasi Software yang Digunakan ... 86

4.2. Implementasi Basis Data ... 86

4.3. Implementasi Operasi Teks ... 92

(18)

xvi

4.3.1.1. Tokenization ... 92

4.3.1.2. Stopwords ... 93

4.3.1.3. Stemming ... 94

4.3.2. Operasi Teks pada Document to Document ... 99

4.3.2.1. Pengambilan Term ... 99

4.4. Implementasi Pembobotan TF-IDF... 100

4.5. Implementasi Pencarian Melalui Inverted Index ... 102

4.5.1. Pencarian pada Pasal (query to document) ... 103

4.5.1.1. Operator AND ... 107

4.5.2. Pencarian pada Kasus (document to document) ... 113

4.5.2.1. Operator OR ... 115

4.6. Implementasi Antarmuka ... 118

4.6.1. Form Utama ... 118

4.6.2. Form Login ... 119

4.6.3. Form Tambah Dokumen ... 120

4.6.4. Form Pencarian ... 122

4.6.5. Form Lihat Undang-Undang ... 124

BAB V ... 125

5. ANALISIS HASIL ... 125

5.1. Analisa Hasil Sistem ... 125

5.1.1. Hasil Uji Coba Query to Document ... 125

5.1.1.1. Uji Coba Pertama Query to Document... 126

5.1.1.2. Uji Coba Kedua Query to Document ... 130

5.1.1.3. Uji Coba Ketiga Query to Document ... 135

5.1.1.4. Uji Coba Keempat Query to Document ... 138

5.1.1.5. Uji Coba Kelima Query to Document ... 142

5.1.2. Hasil Uji Coba Document to Document ... 148

5.1.2.1. Uji Coba Pertama Document to Document ... 149

5.1.2.2. Uji Coba Kedua Document to Document ... 153

5.1.2.3. Uji Coba Ketiga Document to Document ... 156

5.1.2.4. Uji Coba Keempat Document to Document ... 160

5.1.2.5. Uji Coba Kelima Document to Document ... 164

5.1.3. Rata-Rata Precision ... 168

5.1.3.1. Query to Document ... 168

5.1.3.2. Document to Document ... 171

(19)

xvii

5.2.1. Kelebihan Sistem ... 176

5.2.2. Kekurangan Sistem ... 176

BAB VI ... 177

KESIMPULAN DAN SARAN ... 177

6.1. Kesimpulan ... 177

6.2. Saran ... 178

DAFTAR PUSTAKA ... 179

(20)

xviii

DAFTAR GAMBAR

Gambar 2.1 Proses Pemerolehan Informasi (Baeza-Yates, 1999) ... 5

Gambar 2.2 Logical View dari Dokumen (Baeza-Yates, 1999) ... 7

Gambar 2.3 Contoh Proses Tokenization (Deitel, 2004)... 11

Gambar 2.4 Inverted Index (Manning, 2008) ... 13

Gambar 2.5 Membangun Inverted Index (Manning, 2008) ... 13

Gambar 2.6 Representasi Boolean Query (Manning, 2008) ... 15

Gambar 2.7 Pemotongan (Intersection) Posting List (Manning, 2008) ... 15

Gambar 3.1 Sub Sistem Pencarian Query to Document ... 21

Gambar 3.2 Sub Sistem Pencarian Document to Document ... 23

Gambar 3.3 Model Struktur Data Inverted Index... 25

Gambar 3.4 Contoh Dokumen Undang-Undang ... 26

Gambar 3.5 Contoh Dokumen Kasus ... 27

Gambar 3.6 Diagram Use Case ... 29

Gambar 3.7 Diagram Aktivitas Login ... 42

Gambar 3.8 Diagram Aktivitas Menambah Dokumen Pasal ... 43

Gambar 3.9 Diagram Aktivitas Menambah Dokumen Kasus ... 44

Gambar 3.10 Diagram Aktivitas Mencari Pasal (Query to Document) ... 45

Gambar 3.11 Diagram Aktivitas Mencari Kasus dan Pasal (Document to Document) ... 46

Gambar 3.12 Diagram Aktivitas Melihat Isi Pasal ... 47

(21)

xix

Gambar 3.14 Diagram Kolaborasi Menambah Dokumen Pasal ... 49

Gambar 3.15 Diagram Kolaborasi Menambah Dokumen Kasus ... 50

Gambar 3.16 Diagram Kolaborasi Mencari Pasal (Query to Document) ... 51

Gambar 3.17 Diagram Kolaborasi Mencari Kasus dan Pasal (Document to Document ... 52

Gambar 3.18 Diagram Kolaborasi Melihat Isi Pasal ... 53

Gambar 3.19 Diagram Sekuensial Login ... 54

Gambar 3.20 Diagram Sekuensial Menambah Dokumen Pasal Bagian 1 ... 55

Gambar 3.21 Diagram Sekuensial Menambah Dokumen Pasal Bagian 2 ... 56

Gambar 3.22 Diagram Sekuensial Menambah Dokumen Pasal Bagian 3 ... 57

Gambar 3.23 Diagram Sekuensial Menambah Dokumen Pasal Bagian 4 ... 58

Gambar 3.24 Diagram Sekuensial Menambah Dokumen Kasus ... 59

Gambar 3.25 Diagram Sekuensial Mencari Pasal (Query to Document) Bagian 1 ... 60

Gambar 3.26 Diagram Sekuensial Mencari Pasal (Query to Document) Bagian 2 ... 61

Gambar 3.27 Diagram Sekuensial Mencari Pasal (Query to Document) Bagian 3 ... 62

Gambar 3.28 Diagram Sekuensial Mencari Kasus dan Pasal (Document to Document) Bagian 1 ... 63

Gambar 3.29 Diagram Sekuensial Mencari Kasus dan Pasal (Document to Document) Bagian 2 ... 64

Gambar 3.30 Diagram Sekuensial Melihat Isi Pasal ... 65

Gambar 3.31 Desain Konseptual Basis Data ... 66

Gambar 3.32 Desain Logikal Basis Data ... 67

(22)

xx

Gambar 4.2 Antarmuka Form Login ... 119 Gambar 4.3 Antarmuka Form Tambah Dokumen Undang-Undang ... 120 Gambar 4.4 Antarmuka Form Tambah Dokumen Kasus... 121 Gambar 4.5 Antarmuka Form Pencarian Pasal (Query to Document) ... 122 Gambar 4.6 Antarmuka Form Pencarian Kasus dan Pasal (Document to

(23)

xxi

(24)

xxii

DAFTAR TABEL

(25)

xxiii

(26)

xxiv

(27)

xxv

DAFTAR KODE PROGRAM

(28)

xxvi

Kode Program 4.22 Implementatsi Pengambilan List Indeks_Pasal ... 104 Kode Program 4.23 Implementasi Pencarian Term_Pasal ... 104 Kode Program 4.24 Implementasi Pengindeksan ... 105 Kode Program 4.25 Implementasi Pengurutan Posting List ... 105 Kode Program 4.26 Implementasi Cetak Inverted Index ... 106 Kode Program 4.27 Implementasi Pencarian Bobot W_ij ... 107 Kode Program 4.28 Implementasi Pengurutan Dokumen Pasal Berdasarkan W_ij

... 111 Kode Program 4.29 Implementasi Intersection ... 111 Kode Program 4.30 Implementasi Pengurutan List secara Descending ... 112 Kode Program 4.31 Implementasi Pencarian Dokumen Pasal di Basis Data ... 112 Kode Program 4.32 Implementasi Pembangunan Inverted Index Kasus ... 113 Kode Program 4.33 Implementasi Membaca Dokumen sebagai Kata Kunci ... 113 Kode Program 4.34 Implementasi Pengambilan Term sesuai Kamus Hukum ... 114 Kode Program 4.35 Implementasi Pengambilan W_ij pada Pencarian Kasus.... 115 Kode Program 4.36 Implementasi Penghilang Duplikasi ... 116 Kode Program 4.37 Implementasi Pencarian Dokumen Kasus Pada Tabel Kasus

(29)

1 BAB I

1. PENDAHULUAN

1.1. Latar Belakang Masalah

Hukum menurut Aristoteles (1963) merupakan sumber dari kekuasaan, dimana negara membutuhkan hukum untuk mengatur nafsu dan keinginan jahat manusia. Hukum merupakan kecerdasan yang paling cerdas, bahkan bisa dalam tingkat dewa atau lebih tinggi daripada pemimpin karena seorang pemimpin akan mengambil suatu keputusan berdasarkan undang-undang yang berlaku (Rapar, 2002). Ada pula yang mengatakan bahwa hukum merupakan “himpunan petunjuk-petunjuk hidup tata tertib suatu masyarakat dan seharusnya ditaati oleh anggota masyarakat yang bersangkutan” (Utrecht, 1953).

Sumber hukum dari Negara Indonesia itu sendiri terdapat pada Undang-Undang Dasar 1945 yang merupakan hukum dasar tertulis yang mengatur masalah kenegaraan dan merupakan dasar ketentuan-ketentuan lainnya yang harus ditaati. Tetapi pada kenyataanya sampai saat ini masih banyak kasus pelanggaran hukum yang terjadi baik di dalam rumah tangga, masyarakat, dan sebagainya. Misalnya saja dalam lingkup rumah tangga, yaitu pembatasan hak-hak anak, kekerasan dalam rumah tangga, atau dalam lingkup masyarakat, yaitu korupsi, pencemaran nama baik dan lain-lain.

(30)

Hal tersebut akan memerlukan waktu yang lama. Oleh sebab itu, dibutuhkannya suatu sistem yang dapat membantu pihak-pihak berwenang dalam memperoleh informasi pasal-pasal secara cepat dan tepat. Sistem yang akan digunakan ini memerlukan konsep Pemerolehan Informasi (Information Retrieval), yaitu aktivitas mendapatkan sumber informasi yang relevan untuk kebutuhan informasi dari suatu koleksi sumber informasi.

Sistem pemerolehan informasi ini akan melakukan pencarian pasal pada undang-undang (1946-2014) berupa dokumen (.txt) yang tersimpan di basis data. Sistem ini akan menggunakan struktur data inverted index untuk mempercepat proses pencarian serta metode pembobotan TF-IDF untuk menemukan dokumen yang relevan dengan kasus pelanggaran. Kata kunci yang dimasukan tidak hanya berupa query melainkan juga berupa dokumen kasus (.txt). Selanjutnya, untuk membuat pemerolehan informasi ini menjadi efisien, diperlukan pula metode untuk mencari kata dasar dari term, yaitu stemming yang dibuat oleh Bobby Nazief dan Mirna Adriani, dan metode untuk menghilangkan term yang tidak terlalu penting, yaitu eliminasi stopwords. Kemudian setelah dilakukan proses pencarian, akan dilakukan evaluasi menggunakan metode recall dan precision untuk mengetahui keefektifan sistem dalam memperoleh undang-undang yang relevan.

1.2. Rumusan Masalah

(31)

2. Apakah penggunaan metode pembobotan TF-IDF ini efektif pada sub sistem query to document dan document to document dalam memperoleh pasal-pasal yang relevan terhadap kasus pelanggaran hukum ?

1.3. Tujuan

1. Untuk menerapkan konsep pemerolehan informasi pada sub sistem query to document dan document to document.

2. Untuk mengetahui keefektifan dari metode pembobotan TF-IDF pada sub sistem query to document dan document to document dalam memperoleh pasal-pasal yang relevan terhadap kasus pelanggaran hukum.

1.4. Batasan Masalah

Batasan Masalah tugas akhir ini adalah :

1. Diasumsikan kata kunci dari pengguna adalah benar.

2. Sumber informasi : Undang-Undang tahun 1945-2014 dan dokumen kasus.

1.5. Sistematika Penulisan

BAB I : PENDAHULUAN

(32)

BAB II : TINJAUAN PUSTAKA

Bab ini berisi konsep dasar dari pembobotan TF-IDF, struktur data inverted index, algoritma stemming, eliminasi stopwords, dan metode evaluasi recall precision.

BAB III : ANALISIS DAN PERANCANGAN

Bab ini berisi analisis kebutuhan sistem, dan rancangan database serta tampilan (interface) dari sistem.

BAB IV : IMPLEMENTASI

Bab ini berisi penjelasan dan fungsi dari program pencarian.

BAB V : ANALISIS HASIL

Bab ini berisi analisi hasil pengujian berupa kelebihan dan kekurangan dari sistem pencarian.

BAB VI : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan saran dari pembuatan sistem pencarian pasal-pasal yang relevan terhadap kasus pelanggaran hukum.

DAFTAR PUSTAKA

(33)

5 BAB II

2. TINJAUAN PUSTAKA

2.1. Konsep Pemerolehan Informasi (Information Retrieval)

Pemerolehan Informasi merupakan proses yang terlibat dalam representation, storage, pencarian, dan mendapatkan informasi yang relevan untuk kebutuhan informasi yang diperlukan oleh pengguna (Ingwersen, 1992, 2002). Tipe dari informasi tersebut dapat berupa dokumen, halaman web, online catalogs, structured records, dan objek multimedia. Tujuan awal dari pemerolehan informasi ini adalah indexing text dan pencarian yang berguna pada suatu koleksi. Sekarang ini pemerolehan informasi telah melibatkan pemodelan, pencarian web, visualisasi data, penyaringan dan bahasa dalam memperoleh informasi yang relevan (Baeza-Yates, 1999). Proses pemerolehan informasi disajikan pada gambar 2.1. :

(34)

Dari gambar 2.1 tersebut, terdapat 5 langkah utama dalam proses pemerolehan informasi. Tahap pertama yaitu operasi teks (text operations) contohnya proses eliminasi stopwords (penghilangan kata umum), proses stemming (pencarian kata dasar), dan sebagainya. Tahap kedua yaitu query operations contohnya penggunaan operator AND, OR, dan NOT pada query. Tahap ketiga yaitu pengindeksan (indexing) untuk mempercepat proses pencarian dimana term diindeksan dengan id document. Tahap keempat yaitu pencarian (searching) yang dilakukan pada inverted file yang sudah dibangun. Tahap kelima yaitu pembobotan (ranking) terhadap dokumen yang diperoleh dari proses pencarian.

2.1.1. Logical View dari Dokumen

Dalam kaitannya dengan historikal, dokumen-dokumen pada suatu koleksi tertentu sering digambarkan secara langsung melalui kumpulan index terms atau kata kunci (keywords). Kata kunci tersebut dapat diekstraksi langsung dari teks pada dokumen atau dibuat manual (dispesifikasikan) oleh manusia. Kata kunci atau index terms ini menyediakan logical view dari dokumen.

(35)

operation, yang merupakan pengurangan kompleksitas dari representasi dokumen serta pemindahan logical view dari full text ke sekumpulan index terms. (Baeza-Yates, 1999). Pada gambar 2.2 berikut ini merupakan gambaran logical view :

Gambar 2.2 Logical View dari Dokumen (Baeza-Yates, 1999)

2.1.1.1. Stopwords

(36)

Contoh stopwords dalam Bahasa Inggris yaitu “the”, “a”, “an”, “that”, “those”. Contoh stopwords dalam Bahasa Indonesia yaitu kata ganti orang (“mereka”, “dia”, “beliau”, “kami”), kata penghubung (“lalu”, “padahal”,

“namun”). Namun, penentuan stopwords itu sendiri berdasarkan frekuensi

kata-kata dari suatu koleksi dokumen tertentu.

2.1.1.2. Stemming

Konsep dari stemming adalah menghapus variasi kata untuk mendapatkan kata dasar sebagai term pembeda, yang mengacu pada morfologi kata. Pada umumnya kata dasar Bahasa Indonesia terdiri dari kombinasi berikut ini (Agusta, 2009) :

Perfiks 1 + Perfiks 2 + kata dasar + Sufiks 3 + Sufiks 2 + Sufiks 1 ... (2.1)

Berikut ini merupakan algoritma dari Stemming yang dibuat oleh Bobby Nazief dan Mirna Adriani (1996) :

1. Pertama cari kata yang akan di-stem dalam kamus kata dasar. Jika ditemukan maka diasumsikan kata tersebut adalah root word maka algoritma berhenti.

2. Inflection Suffixes (-lah, -kah, -ku, -mu, atau –nya) dibuang. Jika berupa particles (-lah, -kah, -tah, atau –pun) maka langkah ini diulangi lagi untuk menghapus Possesive Pronouns (-ku, -mu, atau –nya) jika ada.

(37)

a. Jika –an telah dihapus dan huruf terakhir dari kata tersebut adalah –k, maka –k juga ikut dihapus. Jika kata tersebut ditemukan dalam kamus maka algoritma berhenti. Jika tidak ditemukan maka lakukan langkah 3b. b. Akhiran yang dihapus (-i, -an, atau –kan) akan dikembalikan dan lanjut

ke langkah 4.

4. Hapus Derivation Prefix. Jika pada langkah 3 ada sufiks yang dihapus maka pergi ke langkah 4a, jika tidak pergi ke langkah 4b.

a. Periksa tabel kombinasi awalan-akhiran yang tidak diijinkan. Jika ditemukan maka algoritma berhenti, jika tidak maka :

- Pergi ke langkah 4b.

b. For i = 1 to 3, tentukan tipe awalan kemudian hapus awalan. Jika root word belum juga ditemukan lakukan langkah 5, jika sudah maka algoritma berhenti. Catatan : jika awalan kedua sama dengan awalan pertama algoritma berhenti.

5. Melakukan Recording.

6. Jika semua langkah telah selesai tetapi tidak juga berhasil maka kata awal diasumsikan sebagai root word. Proses selesai.

Untuk aturan di atas, ditambahkan pula aturan-aturan berikut ini : 1. Aturan untuk reduplikasi

(38)

b. Kata lain, misalnya “bolak-balik”, “berbalas-balasan”, “seolah-olah”. Untuk mendapatkan root word-nya, kedua kata diartikan secara terpisah. Jika keduanya memiliki root word yang sama maka diubah menjadi bentuk tunggal. Contoh: kata “berbalas-balasan”, “berbalas”, dan “balasan” memiliki root word yang sama yaitu “balas”, maka root word “berbalas-balasan” adalah “balas”. Sebaliknya, pada kata “bolak-balik”, “bolak” dan “balik” memiliki root word yang berbeda, maka root word-nya adalah “bolak-balik”

2. Tambahan bentuk awalan dan akhiran serta aturannya.

a. Untuk tipe awalan “mem-”, kata yang diawali dengan awalan “memp-” memiliki tipe awalan “mem-”.

b. Tipe awalan “meng-”, kata yang diawali dengan awalan “mengk-” memiliki tipe awalan “meng-”

2.1.1.3. Tokenization

Tokenization merupakan proses dari pengenalan/pembentukan kata-kata dari serangkaian karakter pada suatu dokumen (Croft-Metzler-Strohman, 2010). Proses ini juga menyertakan pengasingan kata satu sama lain (word segmentation) dan dari tanda baca (Goker-Davies, 2009).

(39)

keyword, identifier, operator, dan elemen lain dari suatu bahasa pemrograman. Token dipisahkan dari satu sama lain dengan pembatas (whitespace seperti space, tab, newline). Karakter lain juga bisa digunakan sebagai pembatas (Deitel, 2004). Berikut ini pada gambar 2.3. merupakan contoh dari proses tokenization :

Gambar 2.3 Contoh Proses Tokenization (Deitel, 2004)

Pada gambar 2.3 terdapat kalimat yang terdiri dari 7 kata yaitu “This is a sentence with seven tokens.” Dengan menggunakan proses tokenization sistem

tersebut dapat menguraikan kalimat tersebut menjadi per kata.

2.1.2. Inverted Index

Ada beberapa struktur data yang diterapkan dalam konsep pemerolehan informasi yaitu digital tree hibrida, inverted index, struktur data utama dll. Pada Sistem Pemerolehan Undang-Undang dan Kasus ini penulis memilih struktur data inverted index.

(40)

Inverted index digunakan untuk mempercepat proses pencarian terms pada koleksi dokumen (Grossman-Frieder, 2004). Inverted index memiliki dua komponen pokok yaitu dictionary dan postings lists. Untuk setiap term dalam koleksi, terdapat posting list yang mengandung informasi mengenai term’s occurences di koleksi. Informasi yang ditemukan oleh posting list akan digunakan oleh sistem untuk memproses query pencarian (Büttcher-Clarke-Cormack, 2010).

2.1.2.1. Membangun Inverted Index

Tujuan dari membangun inverted index ini adalah untuk memperoleh kecepatan dalam pengindeksan saat melakukan pemerolehan (retrieval). Langkah utama dalam membangun inverted index (Manning, 2008) yaitu :

1. Kumpulkan dokumen-dokumen untuk diindekskan :

2. Lakukan proses tokenization pada text, kemudian kembalikan setiap dokumen ke dalam list :

3. Lakukan proses berdasarkan ilmu bahasa, kemudian menghasilkan suatu list dari tokens yang sudah ternormalisasi, yang mengindekskan istilah-istilah :

(41)

Gambar 2.4 Inverted Index (Manning, 2008)

Pada gambar 2.5 berikut ini merupakan gambaran secara keseluruhan dari proses membangun inverted index (Manning, 2008). :

Gambar 2.5 Membangun Inverted Index (Manning, 2008)

(42)

kolom “docID” menyimpan dokumen yang mengandung istilah (term) tersebut. Kemudian kumpulan istilah yang ada di kolom “term” dan “docID” tersebut akan

dipisahkan ke dalam “term”, dan “document frequency” seperti yang digambarkan

pada gambar 2.5 sisi kanan. Term dan document frequency tersebut akan disimpan di dictionary.

Dictionary berfungsi untuk menyimpan istilah-istilah dan mempunyai pointer untuk menuju ke posting list pada setiap istilah. Informasi (term dan document frequency) yang terdapat dalam dictionary dapat digunakan untuk meningkatkan efisiensi waktu query dan melakukan pembobotan pada model ranked retrieval.

Sedangkan posting list berfungsi untuk menyimpan list dari dokumen yang mengandung suatu istilah tertentu. Selain itu, posting list juga dapat menyimpan informasi lain seperti frekuensi istilah atau posisi istilah atau posisi istilah dalam setiap dokumen (Manning, 2008).

2.1.2.2. Boolean Query pada Inverted Index

(43)

Gambar 2.6 Representasi Boolean Query (Manning, 2008)

Pada gambar 2.6 terdapat query = “Brutus AND Calpurnia” (Manning, 2008), maka langkah dari proses pencarian di inverted index yaitu :

1. Cari Brutus pada kamus (dictionary). 2. Dapatkan posting list milik Brutus. 3. Cari Calpurnia pada kamus (dictionary). 4. Dapatkan posting list milik Calpurnia.

5. Lakukan pemotongan (intersection) pada kedua posting list tersebut.

Operasi pemotongan ini sangat penting agar dapat menemukan dokumen yang mengandung istilah dari keduanya (Brutus dan Calpurnia) dengan cepat yang direpresentasikan pada gambar 2.7. :

(44)

Berikut ini merupakan algoritma untuk pemotongan kedua posting lists di atas menurut Manning (2008) :

INTERSECT(p1, p2) 1. answer

2. while p1 ≠ NIL and p2 ≠ NIL 3. do if docID(p1) = docID(p2)

4. then ADD(answer, docID(p1)) 5. p1 next(p1)

6. p2 next(p2)

7. else if docID(p1) < docID(p2) 8. then p1 ← next(p1) 9. else p2 ← next(p2) 10. return answer

Kemudian, di bawah ini pada gambar 2.8 merupakan contoh dokumen untuk operator OR :

(45)

Dari contoh dokumen tersebut, terdapat query = "information or

retrieval" dengan menggunakan contoh dokumen pada Gambar2.8., maka hasilnya adalah :

{doc1, doc3} {doc1, doc2, doc4} = {doc1, doc2, doc3, doc4}

Jadi semua dokumen yang mengandung kata “information” atau “retrieval”

akan ditampilkan, yaitu doc1,doc2,doc3, dan doc4, sedangkan doc5 tidak ditampilkan karena tidak mengandung salah satu kata dari query tersebut.

Operator AND akan diimplementasikan pada kasus query to document, dimana input dari pengguna merupakan kata kunci. Sedangkan operator OR diimplementasikan pada kasus document to document, dimana input dari pengguna merupakan dokumen kasus.

2.1.3. Metode Pembobotan TF-IDF

TF-IDF atau Term Frequency (TF) dan Inverse Document Frequency (IDF) merupakan dasar dari skema pembobotan istilah yang paling populer di pemerolehan informasi (Baeza-Yates, 1999). Teknik pembobotan TF-IDF menurut Savoy (1993):

Wij

=

ntfij * nidfj ..…. (2.2)

dimana : ntfij=

Ma dan nidfj =

m dfj

..…. (2.3)

Keterangan :

 Wij adalah bobot istilah Tj pada dokumen Di.

(46)

 m adalah jumlah dokumen Di pada kumpulan dokumen.

 dfj adalah jumlah dokumen yang mengandung istilah Tj.

 idfj adalah kebalikan dari frekuensi dokumen (inverse document frequency)

 Max tfi adalah frekuensi istilah terbesar pada satu dokumen

Pada teknik pembobotan TF-IDF ini, bobot istilah telah dinormalisasi, sehingga tidak perlu melakukan tahap normalisasi lagi. Penentuan bobot dari suatu istilah tidak hanya berdasarkan frekuensi kemunculan istilah pada satu dokumen, tetapi juga perlu memperhatikan frekuensi terbesar pada suatu istilah yang dimiliki oleh dokumen bersangkutan. Hal ini untuk menentukan posisi relatif bobot dari istilah dibanding dengan istilah-istilah lain di dokumen yang sama. Selain itu teknik pembobotan ini juga memperhitungkan jumlah dokumen. Hal ini berguna untuk mengetahui posisi relatif bobot istilah bersangkutan pada suatu dokumen dibandingkan dengan dokumen-dokumen lain yang memiliki istilah yang sama. Sehingga jika sebuah istilah mempunyai frekuensi kemunculan yang sama pada dua dokumen belum tentu mempunyai bobot yang sama (Hasibuan, 2001).

2.2. Evaluasi Pemerolehan

(47)

mengukur seberapa baik sistem tersebut menolak atau mengeliminasi dokumen-dokumen yang tidak relevan (Croft-Metzler-Strohman, 2010).

������ = a a a a a .… (2.4)

� ��� � = a a a

(48)

20 BAB III

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.

(49)

Pada gambar 3.1. berikut ini merupakan gambaran dari sub sistem pencarian query to document :

Pengguna Administrator

ke tabel Kamus_Hukum Memasukan dok pasal (.txt)

Simpan id_pasal, tentang, dok_pasal, status ke tabel Pasal

Simpan id_term, term, df_j, nidf_j ke tabel Term_Pasal

Gambar 3.1 Sub Sistem Pencarian Query to Document

(50)

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.

(51)

Selanjutnya, pada gambar 3.2. berikut ini ini merupakan gambaran dari sub sistem pencarian document to document :

Pengguna Administrator Yang berada dit abel Kamus_Hukum

Operasi OR

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

(52)

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.

(53)

3.1.1. Perancangan Struktur Data Inverted Index

Pada gambar 3.3 berikut ini merupakan model dari struktur data inverted index yang dibangun :

t

Gambar 3.3 Model Struktur Data Inverted Index

(54)

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 :

(55)

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

(56)

3.2. Analisa Kebutuhan

Kebutuhan yang dibutuhkan oleh pengguna Sistem Pemerolehan Informasi Undang-Undang dan Kasus ini adalah sebagai berikut :

Tabel 3.1 Analisa Kebutuhan

Pengguna

Sistem

Kebutuhan

Administrator 1. Dapat melakukan login sebagai administrator.

2. Dapat melakukan penambahan data dokumen pasal dan kasus.

Pengguna 1. Dapat melakukan pencarian pasal berdasarkan query 2. Dapat melakukan pencarian kasus dan pasal berdasarkan

(57)

3.4. Perancangan Sistem

3.4.1. Diagram Use Case

Diagram use case berfungsi untuk memperjelas kebutuhan-kebutuhan dari pengguna sistem (administrator dan pengguna). Administrator dapat menambahkan dokumen baru ke basis data. Sedangkan pengguna dapat melakukan pencarian pasal dan kasus serta melihat isi dari masing-masing pasal pada undang-undang tahun 1945-2014. Pada gambar 3.6 berikut ini merupakan diagram use case :

Administrator

Pengguna

Menambah dokumen pasal

Mencari pasal (query to document) Login

Logout

Otorisasi Tambah Dokumen

Pencarian

<<depends on>>

Menambah dokumen kasus <<depends on>>

Mencari kasus dan pasal (document to document)

Lihat Pasal

Melihat isi pasal

(58)

3.4.2. Narasi Use Case

3.4.2.1. Login

Pada tabel 3.2 berikut ini merupakan langkah-langkah saat administrator melakukan login :

Tabel 3.2 Narasi Use Case Login

Nama Use Case Login Tipe Use Case

Nomor Use Case XXX001

Prioritas Tinggi Persyaratan Bisnis

Sumber -

Aktor Utama Administrator

Keterlibatan Aktor Lain -

Deskripsi Administrator harus melakukan login terlebih dahulu untuk dapat menambah dokumen.

Kondisi Awal Form Utama

Kondisi Akhir Masuk ke Form Tambah Dokumen.

Typical Course of Events Tindakan Aktor Tanggapan Sistem

Langkah 1 :

Klik menu Administrator pada pojok kiri bawah

Langkah 2 :

Menampilkan Form Login

Langkah 3 :

(59)

Langkah 4:

Klik tombol Masuk

Langkah 5 :

Mengecek username dan password di tabel User.

Langkah 6 :

Menampilkan Form Tambah Dokumen.

Cara Alternatif : Alternatif Langkah 6 :

(60)

3.4.2.2. Menambah Dokumen Pasal

Pada tabel 3.3 berikut ini merupakan langkah-langkah saat administrator menambah dokumen pasal :

Tabel 3.3 Narasi Use Case Menambah Dokumen Pasal

Nama Use Case Menambah Dokumen Pasal Tipe Use Case

Nomor Use Case XXX002

Prioritas Tinggi Persyaratan Bisnis

Sumber -

Aktor Utama Administrator

Keterlibatan Aktor Lain -

Deskripsi Administrator dapat menambah dokumen Pasal ke tabel Pasal.

Kondisi Awal Form Tambah Dokumen.

Kondisi Akhir Dokumen Pasal baru dapat dimasukan ke tabel Pasal.

Typical Course of Events Tindakan Aktor Tanggapan Sistem

Langkah 1 :

Memilih tab Undang-Undang

Langkah 2 :

(61)

Langkah 3 : Masukan tentang. Langkah 4 :

Browse dokumen di folder komputer untuk disimpan ke tabel Pasal.

Langkah 5 :

Klik tombol Simpan

Langkah 6 :

Insert data ke tabel Hukum_pasal jika UU tersebut belum terdaftar. Langkah 7 :

Insert data ke

Kamus_Hukum jika isi tentang dari UU tersebut belum terdaftar.

Langkah 8 :

Insert data ke tabel Pasal

(62)

3.4.2.3. Menambah Dokumen Kasus

Pada tabel 3.4 berikut ini merupakan langkah-langkah saat administrator menambah dokumen kasus :

Tabel 3.4 Narasi Use Case Menambah Dokumen Kasus

Nama Use Case Menambah Dokumen Kasus Tipe Use Case

Nomor Use Case XXX003

Prioritas Tinggi Persyaratan Bisnis

Sumber -

Aktor Utama Administrator

Keterlibatan Aktor Lain -

Deskripsi Administrator dapat menambah dokumen kasus ke tabel Kasus.

Kondisi Awal Form Tambah Dokumen.

Kondisi Akhir Dokumen kasus baru dapat dimasukan ke tabel Kasus.

Typical Course of Events Tindakan Aktor Tanggapan Sistem

Langkah 1 :

Memilih tab Kasus. Langkah 2 :

(63)

Langkah 3 :

Klik tombol Simpan.

Langkah 4 :

Menambahkan dokumen kasus baru ke tabel Kasus. Langkah 5 :

Menyimpan id_kasus dan id_pasal ke tabel Kasus_Pasal.

Cara Alternatif :

(64)

3.4.2.4. Mencari Pasal (Query to Document)

Pada tabel 3.5 berikut ini merupakan langkah-langkah saat pengguna mencari dokumen pasal berdasarkan query :

Tabel 3.5 Narasi Use Case Mencari Pasal (Query to Document)

Nama Use Case Mencari Pasal (Query to Document)

Tipe Use Case

Nomor Use Case XXX004

Prioritas Tinggi Persyaratan Bisnis

Sumber -

Aktor Utama Pengguna

Keterlibatan Aktor Lain -

Deskripsi Pengguna dapat mencari pasal berdasarkan dengan query.

Kondisi Awal Form Utama

Kondisi Akhir Pasal-pasal relevan dapat ditemukan kembali oleh sistem.

Typical Course of Events Tindakan Aktor Tanggapan Sistem

Langkah 1 :

Klik menu Pencarian di Form Utama.

Langkah 2 :

Menampilkan Form Pencarian.

Langkah 3 :

(65)

Ketik kata kunci yang dibutuhkan.

Langkah 5 : Klik tombol Cari

Langkah 6 :

Operasi teks terhadap kata kunci

Langkah 7 : Operasi AND Langkah 8 :

Pembobotan TF-IDF Langkah 9 :

Menampilkan dokumen pasal diurutkan dari bobot tertinggi

Cara Alternatif :

(66)

3.4.2.5. Mencari Kasus dan Pasal (Document to Document)

Pada tabel 3.6 berikut ini merupakan langkah-langkah saat pengguna mencari pasal berdasarkan dokumen kasus :

Tabel 3.6 Narasi Use Case Mencari Kasus dan Pasal (Document to Document)

Nama Use Case Mencari Kasus dan Pasal (Document to Document)

Tipe Use Case

Nomor Use Case XXX005

Prioritas Tinggi Persyaratan Bisnis

Sumber -

Aktor Utama Pengguna

Keterlibatan Aktor Lain -

Deskripsi Pengguna dapat mencari pasal yang terkait dengan kasus pelanggaran hukum berdasarkan kasus.

Kondisi Awal Form Utama

Kondisi Akhir Pasal – pasal yang bersangkutan dapat ditemukan.

Typical Course of Events Tindakan Aktor Tanggapan Sistem

Langkah 1 :

Klik menu Pencarian di Form Utama

Langkah 2 :

Sistem menampilkan Form Pencarian.

(67)

Langkah 4 :

Memilih dokumen yang akan dibandingkan

Langkah 5 : Klik tombol Cari

Langkah 6 :

Operasi teks pengambilan term sesuai dengan Kamus_hukum.

Langkah 7 : Operasi OR Langkah 8 : Pembobotan W_ij Langkah 9 :

Menampilkan dokumen kasus dan pasal diurutkan dari bobot tertinggi.

Cara Alternatif :

(68)

3.4.2.6. Melihat Isi Pasal

Pada tabel 3.7 berikut ini merupakan langkah-langkah saat pengguna melihat isi pasal :

Tabel 3.7 Narasi Use Case Melihat Isi Pasal

Nama Use Case Melihat Isi Pasal Tipe Use Case

Nomor Use Case XXX006

Prioritas Sedang Persyaratan Bisnis

Sumber -

Aktor Utama Pengguna

Keterlibatan Aktor Lain -

Deskripsi Pengguna dapat melihat isi dari setiap pasal pada setiap Undang-Undang.

Kondisi Awal Form Utama.

Kondisi Akhir Sistem dapat menampilkan isi dari pasal yang diperlukan oleh pengguna.

Typical Course of Events Tindakan Aktor Tanggapan Sistem

Langkah 1 :

Klik menu Undang-Undang di Form Utama

Langkah 2 :

Sistem menampilkan Form Undang-Undang

Langkah 4 :

(69)

Langkah 5 : Klik tombol Lihat

Langkah 6 :

Sistem menampilkan list pasal yang sesuai dengan tahun, nomor maupun pasal masukan dari pengguna. Langkah 7 :

Klik pada row tabel yang menampilkan pasal.

Langkah 8 :

Sistem menampilkan isi dari pasal yang dituju.

(70)

3.5. Perancangang Diagram Aktivitas

3.5.1. Diagram Aktivitas Login

Administrator dapat melakukan login berdasarkan username dan password yang sudah ditentukan, tetapi jika username dan passoword salah maka akan kembali ke halaman login.

Memasukkan username dan password.

Klik tombol Login Mengecek username dan password di tabel User.

Menampilkan

Form Tambah Dokumen. pesan peringatan

Administrator Sistem

benar salah

(71)

3.5.2. Diagram Aktivitas Menambah Dokumen Pasal

Administrator dapat menambahkan dokumen pasal (.txt) ke dalam tabel Pasal dengan memasukan tahun, nomor, pasal, tentang, dan file pasal (.txt).

Memilih tab Undang-Undang

Memilih tahun, nomor, pasal, dan tentang

Cari dokumen di folder untuk disimpan ke basis data

Klik tombol Simpan Menambahkan pasal yang baru

ke koleksi dokumen Undang-Undang

Administrator Sistem

(72)

3.5.3. Diagram Aktivitas Menambah Dokumen Kasus

Administrator dapat menambahkan dokumen kasus (.txt) ke dalam tabel Kasus dengan memasukan judul, dokumen kasus (.txt), dan pasal-pasal yang terkait pada Form Tambah Dokumen di kategori Kasus.

Memilih kategori Kasus

Klik tombol Simpan Menambahkan kasus yang baru

ke koleksi dokumen Kasus

Administrator Sistem

input data

Masukan judul, dokumen, dan pasal-pasal yang terkait

(73)

3.5.4. Diagram Aktivitas Mencari Pasal (Query to Document)

Pengguna dapat melakukan pencarian pasal berdasarkan query atau kata kunci yang diketikan langsung oleh pengguna. Kemudian sistem akan mencocokan kata kunci dengan kata-kata yang telah diindekskan.

Klik menu Pencarian Menampilkan Form Pencarian.

Pilih tab Undang-Undang

Masukan kata kunci yang diperlukan.

Klik tombol Cari Mencari pasal-pasal yang berhubungan dengan kata kunci yang dimasukkan oleh pengguna.

Pengguna Sistem

(74)

3.5.5. Diagram Aktivitas Mencari Kasus dan Pasal (Document to Document)

Pengguna dapat melakukan pencarian pasal berdasarkan dokumen kasus sebagai kata kunci. Sistem akan menampilkan dokumen kasus yang relevan dengan kata kunci serta pasal-pasal yang bersangkutan dengan kasus tersebut.

Klik menu Pencarian Menampilkan Form Pencarian

Pilih tab Kasus

Masukan dokumen kasus

Klik tombol Cari Mencari kasus-kasus yang berhubungan dengan Dokumen kasus yang dimasukkan oleh pengguna.

Pengguna Sistem

(75)

3.5.6. Diagram Aktivitas Melihat Isi Pasal

Pengguna dapat melihat isi pasal dengan memilih tahun, nomor, dan pasal pada Form Undang-Undang.

Klik menu Undang-Undang Sistem menampilkan Form Undang-Undang

Sistem menampilkan isi pasal yang terdapat dalam Undang-Undang Klik tombol Lihat

Pilih tahun, nomor, dan pasal

Pengguna Sistem

(76)

3.6. Perancangan Diagram Kolaborasi

3.6.1. Diagram Kolaborasi Login

Pada use case ini melibatkan 5 kelas yaitu FormUtama.java, FormTambahDokumen.java dan FormLogin.java sebagai kelas view, LoginControl.java sebagai kelas controller, dan User.java sebagai kelas model. Pada gambar 3.13 berikut ini merupakan diagram kolaborasi dari use case Login :

FormUtama.java FormLogin.java LoginControl.java User.java Administrator

FormTambah Dokumen.java

(77)

3.6.2. Diagram Kolaborasi Menambah Dokumen Pasal

Pada use case ini melibatkan 7 kelas yaitu FormTambahDokumen.java sebagai kelas view, Control.java, StopwordsControl.java sebagai kelas controller, dan KamusHukum.java, Pasal.java, Hukum_Pasal.java, Stopwords.java sebagai kelas model. Pada gambar 3.14 berikut ini merupakan diagram kolaborasi dari use case Menambah Dokumen Pasal :

Administrator

FormTambah

Dokumen.java Control.java

Pasal.java Kamus_Hukum.java

Hukum_Pasal.java

Stopwords Control.java Stopwords.java

(78)

3.6.3. Diagram Kolaborasi Menambah Dokumen Kasus

Pada use case ini melibatkan 4 kelas yaitu FormTambahDokumen.java sebagai kelas view, Control.java sebagai kelas controller, dan Kasus.java, Kasus_Pasal.java sebagai kelas model. Pada gambar 3.15 berikut ini merupakan diagram kolaborasi dari use case Menambah Dokumen Kasus :

Administrator

FormTambah

Dokumen.java Control.java

Kasus_Pasal.java

Kasus.java

(79)

3.6.4. Diagram Kolaborasi Mencari Pasal (Query to Document)

Pada use case ini melibatkan 11 kelas yaitu FormUtama.java, FormPencarian.java sebagai kelas view, OperatorAND_OR.java, InvertedIndex.java, Control.java, StemmingBobbyNazief.java, StopwordsControl.java sebagai kelas controller, dan Term_Pasal.java, Indeks_Pasal.java, Stopwords.java, Pasal.java sebagai kelas model. Pada gambar 3.16 berikut ini merupakan diagram kolaborasi dari use case Mencari Pasal (Query to Document) :

Pengguna

FormUtama.java

Stopwords.java FormPencarian.java

InvertedIndex.java Operator

AND_OR.java Term_Pasal.java

Pasal.java

Indeks_Pasal.java

Stemming BobbyNazief.java Control.java

Stopwords Control.java

(80)

3.6.5. Diagram Kolaborasi Mencari Kasus dan Pasal (Document to

Document)

Pada use case ini melibatkan 10 kelas yaitu FormUtama.java, FormPencarian.java sebagai kelas view, OperatorAND_OR.java, InvertedIndex.java, Control.java, StemmingBobbyNazief.java, StopwordsControl.java sebagai kelas controller, dan Term_Kasus.java, Indeks_Kasus.java, Kamus_Hukum.java, Kasus.java sebagai kelas model. Pada gambar 3.17 berikut ini merupakan diagram kolaborasi dari use case Mencari Kasus dan Pasal (Document to Document) :

Pengguna

FormUtama.java

Kasus.java FormPencarian.java

InvertedIndex.java Operator

AND_OR.java Term_Kasus.java

Kamus_Hukum.java Indeks_Kasus.java

Control.java

Stopwords Control.java

(81)

3.6.6. Diagram Kolaborasi Melihat Isi Pasal

Pada use case ini melibatkan 4 kelas yaitu FormUtama.java, FormLihatUU.java sebagai kelas view, Control.java sebagai kelas controller, dan Pasal.java sebagai kelas model. Pada gambar 3.18 berikut ini merupakan diagram kolaborasi dari use case Melihat Isi Pasal :

FormLihatUU.java Pasal.java

FormUtama.java Control.java

Pengguna

(82)

54 3.7.1. Diagram Sekuensial Login

Sistem melakukan proses validasi dengan cara mencocolan username dan password ke table User, jika sesuai maka sistem akan menampilkan FormTambahDokumen. Pada gambar 3.19 berikut ini merupakan diagram sekuensial Login :

Administrator

<<interface>> FormUtama.java

<<interface>> FormLogin.java

<<controller>> LoginControl.java

<<model>> User.java

Klik menu Administrator

Memasukan username dan password

Klik tombol Masuk

CekLogin(String username)

setUsername(String)

String password

<<interface>> FormTambahDokumen.java

setVisible(true)

(83)

55

Administrator memilih tab Undang-Undang pada FormTambahDokumen kemudian memasukan dokumen pasal. Proses tersebut disajikan pada gambar 3.20 berikut ini :

Administrator

<<interface>> FormTambahDokumen.java

<<controller>> Control.java

<<model>> Kamus_Hukum.java

<<model>> Hukum_Pasal.java

<<model>> Pasal.java

Pilih tab Undang-Undang

Pilih tahun, nomor, pasal

Masukan tentang

Browse dokumen Di folder komputer

<<controller>> StopwordsControl

<<model>> Stopwords

(84)

56

yang disajikan pada gambar 3.21 berikut ini :

<<model>>

(85)

57

(86)

58

Pada gambar 3.23 berikut ini merupakan proses sistem melakukan penambahan dokumen pasal ke table Pasal :

<<model>>

(87)

59

Sistem melakukan proses penambahan dokumen kasus ke tabel Kasus dan menyimpan id_kasus dan id_pasal ke tabel Kasus_Pasal. Pada gambar 3.24 berikut ini merupakan diagram sekuensial Menambah Dokumen Kasus :

Administrator

<<interface>> FormTambahDokumen.java

<<controller>> Control.java

<<model>> Kasus.java

<<model>> Kasus_Pasal.java

Pilih tab Kasus

Input Dok kasus, judul,

Pasal-pasal

Klik Tombol Simpan

InsertKasus(Kasus k)

InsertKP(Kasus_Pasal kp)

(88)

60

Pengguna memasukan query untuk memperoleh dokumen pasal yang bersangkutan dengan query. Pada tahap awal, sistem melakukan pembuangan stopwords yang disajikan pada gambar 3.25 berikut ini :

<<controller>>

(89)

61

Pada gambar 3.26 berikut ini merupakan proses operasi AND dan perhitungan DF_j dari kata yang telah didapat :

Pengguna

(90)

62

(91)

63

Pada gambar 3.28 berikut ini merupakan proses pengambilan term yang sesuai dengan tabel Kamus_Hukum kemudian sistem melakukan operasi OR pada masing-masing term yang didapat :

Pengguna

Pilih dokumen yang akan dibandingkan Klik tombol Cari

TF_IDF_OR(Control koneksi, InvertedIndexBasic ii, String cari)

setTermKasus(String)

(92)

64

serta pasal-pasal yang bersangkutan :

Pengguna

(93)

65

Pada gambar 3.30 berikut ini merupakan proses pemanggilan isi dokumen pasal yang dibutuhkan pengguna :

Pengguna

<<interface>> FormUtama.java

<<interface>> FormLihatUU.java

<<controller>> Control.java

<<model>> Pasal.java

Klik menu Undang-Undang

Pilih tahun, nomor, Dan pasal

Klik

Tombol Lihat ListLihatPasal_thn

(String tahun)

setId_pasal(String)

List<Pasal> List<Pasal>

(94)

66 3.8.1. Desain Konseptual Basis Data

user stopwords

(95)

67 3.8.2. Desain Logikal Basis Data

stopwords

(96)

3.8.3. Desain Fisikal Basis Data

1. Tabel User

Tabel User digunakan untuk menyimpan username dan password administrator agar dapat menambahkan dokumen ke basis data. Pada tabel 3.8 berikut ini merupakan desain fisikal Tabel User :

Tabel 3.8 Desain Tabel User

Nama Field Tipe Data Ukuran Keterangan

Username Varchar 100 primary key tabel user

Password Varchar 100 Kata sandi dari

pengguna

2. Tabel Rootwords

Tabel Rootwords ini menyimpan kata dasar yang digunakan untuk proses stemming. Pada tabel 3.9 berikut ini merupakan desain fisikal dari Tabel Rootwords :

Tabel 3.9 Desain Tabel Rootwords

Nama Field Tipe Data Ukuran Keterangan

Id_rootword Varchar 10 primary key tabel rootwords

(97)

3. Tabel Stopwords

Tabel Stopwords digunakan untuk menyimpan kata umum Bahasa Indonesia. Pada tabel 3.10 berikut ini merupakan desain fisikal dari Tabel Stopwords :

Tabel 3.10 Desain Tabel Stopwords

Nama Field Tipe Data Ukuran Keterangan

Id_stopword varchar 10 Primary key tabel stopwords

Stopword varchar 100 Stopword Bahasa

Indonesia

4. Tabel Pasal

Tabel Pasal ini menyimpan dokumen pasal .txt sebagai data dari sub sistem query to document. Pada tabel 3.11 berikut ini merupakan desain fisikal dari Tabel Pasal :

Tabel 3.11 Desain Tabel Pasal

Nama Field Tipe Data Ukuran Keterangan

Id_pasal varchar 15 Primary key tabel pasal Tentang varchar 1000 Gambaran umum dari isi

pasal

Dok_pasal blob - Dokumen pasal

(98)

5. Tabel Termpasal

Tabel Termpasal ini menyimpan term atau istilah dari dokumen pasal. Pada tabel 3.12 berikut ini merupakan desain fisikal dari Tabel Termpasal :

Tabel 3.12 Desain Tabel Termpasal

Nama Field Tipe Data Ukuran Keterangan

Id_term_pasal varchar 15 Primary key tabel termpasal

Term_pasal varchar 100 Istilah dari pasal

DF_j double - Jumlah dokumen pasal

yang mengandung suatu istilah tertentu

Nidf_j double - Normalisasi dari kebalikan df_j

6. Tabel Indeks_pasal

Tabel Indeks_Pasal ini menyimpan pengindeksan dari term terhadap id_pasal. Pada tabel 3.13 berikut ini merupakan desain fisikal dari Tabel Pasal :

Tabel 3.13 Desain Tabel Indeks_Pasal

Nama Field Tipe Data Ukuran Keterangan

Tf_ij varchar 15 Jumlah istilah pada suatu dokumen pasal

(99)

W_ij double - Bobot dari istilah pada suatu dokumen pasal Id _pasal varchar 15 Foreign key dari tabel

Pasal

Id_term_pasal varchar 15 Foreign key dari tabel TermPasal

7. Tabel Kasus

Tabel Kasus ini menyimpan dokumen kasus .txt sebagai data dari sub sistem document to document. Pada tabel 3.14 berikut ini merupakan desain fisikal dari Tabel Kasus :

Tabel 3.14 Desain Tabel Kasus

Nama Field Tipe Data Ukuran Keterangan

Id_kasus varchar 15 Primary key tabel Kasus Judul varchar 3000 Judul dari kasus

Dok_kasus blob - Dokumen kasus

status varchar 1 Status dari pengindeksan kasus

8. Tabel Termkasus

(100)

Tabel 3.15 Desain Tabel Termkasus

Nama Field Tipe Data Ukuran Keterangan

Id_term_kasus varchar 15 Primary key tabel Termkasus

Term_kasus varchar 100 Istilah dari kasus

Df_j int 11 Jumlah dokumen kasus

yang mengandung suatu istilah tertentu

Nidf_j double - Normalisasi dari

kebalikan df_j

9. Tabel Indeks_kasus

Tabel Indeks_kasus ini menyimpan pengindeksan dan bobot dari term kasus. Pada tabel 3.16 berikut ini merupakan desain fisikal dari Tabel Kasus :

Tabel 3.16 Desain Tabel Indeks_Kasus

Nama Field Tipe Data Ukuran Keterangan

Tf_ij double 15 Jumlah istilah pada suatu dokumen kasus

Ntf_ij double 3000 Normalisasi dari tf_ij W_ij double - Bobot dari istilah pada

(101)

Id_term_kasus varchar 15 Foreign key dari tabel Termkasus.

Id_kasus varchar 15 Foreign key dari tabel Kasus

10.Tabel Kasus_pasal

Tabel Kasus_pasal ini menyimpan id_kasus dan id_pasal. Pada tabel 3.17 berikut ini merupakan desain fisikal dari Tabel Kasus_pasal :

Tabel 3.17 Desain Tabel Kasus_Pasal

Nama Field Tipe Data Ukuran Keterangan

Id_kasus varchar 15 Foreign key dari tabel Kasus

Id_pasal varchar 15 Foreign key dari tabel Pasal

11.Tabel Kamus_hukum

Tabel Kasus_hukum ini menyimpan isi tentang pada masing-masing undang-undang. Pada tabel 3.18 berikut ini merupakan desain fisikal dari Tabel Kamus_hukum :

Tabel 3.18 Desain Tabel Kamus_Hukum

Nama Field Tipe Data Ukuran Keterangan

(102)

Term_hukum varchar 100 Istilah/term hukum yang sering muncul pada setiap dokumen pasal.

12.Tabel Hukum_pasal

Tabel Hukum_pasal ini menyimpan keterkaitan antara isi dari tabel Kamus_Hukum dengan masing-masing pasal. Pada tabel 3.18 berikut ini merupakan desain fisikal dari Tabel Hukum_pasal :

Tabel 3.19 Desain Tabel Hukum_Pasal

Nama Field Tipe Data Ukuran Keterangan

Id_no_psl varchar 10 Foreign key dari tabel Pasal

(103)

3.8. Perancangan Antarmuka

3.8.1. Desain Form Utama

Pada gambar 3.24 di bawah ini merupakan desain dari Form Utama :

Gambar

Gambar 2.1 Proses Pemerolehan Informasi (Baeza-Yates, 1999)
Gambar 2.2 Logical View dari Dokumen (Baeza-Yates, 1999)
Gambar 2.3 Contoh Proses Tokenization (Deitel, 2004)
Gambar 3.9 Diagram Aktivitas Menambah Dokumen Kasus
+7

Referensi

Dokumen terkait

Jumlah term yang memiliki posting list yang harus di interseksikan adalah sama dengan jumlah kata kunci yang dapat ditemukan oleh. sistem di dalam Hashtable

Jumlah term yang memiliki posting list yang harus di interseksikan adalah sama dengan jumlah kata kunci yang dapat ditemukan oleh. sistem di dalam Hashtable

[r]

[r]

BAB VI KESIMPULAN DAN SARAN 6.1 Kesimpulan Kesimpulan yang didapat dari perbandingan antara sistem pencarian judul buku yang dimiliki oleh Perpustakaan Universitas Sanata Dharma

Sistem Aplikasi chatbot juga membutuhkan suatu metode yaitu metode Tf-Idf, dengan menggunakan metode Tf-Idf, Sistem aplikasi chatbot dapat mencari kata kunci dari

4.1 Samakan kata atau frase dengan kata-kata di dalam kamus dimana jika ditemukan maka diasumsikan kata tersebut adalah kata dasar atau root word, jika tidak

Pada penerapan inverted index ke dalam struktur data klasik dan ORDBMS untuk mendukung model pemerolehan informasi tfidf dengan operasi dasar AND menggunakan corpus 286 dokumen