SISTEM PENCARIAN PASAL-PASAL PADA KITAB UNDANG-UNDANG HUKUM PIDANA DENGAN MENGGUNAKAN METODE TF-IDF Muh. Alfarisi Ali¹, Moh. Hidayat Koniyo², Abd. Aziz Bouty³ ¹Mahasiswa Teknik Informatika Universitas Negeri Gorontalo email :
[email protected] ²Dosen Teknik Informatika Universitas Negeri Gorontalo email : hidayat.ung.ac.id ³Dosen Teknik Informatika Universitas Negeri Gorontalo email :
[email protected]
Abstrak Melakukan sosialisasi hukum pidana di Indonesia tidaklah mudah, banyaknya pasal didalam KUHP membuat orang malas untuk membacanya. Oleh karena itu diperlukan sebuah sistem pencarian pasal untuk mengatasi masalah ini. Tujuan dari penelitian ini adalah mengembangkan sebuah sistem pencarian pasal-pasal pada KUHP dengan menggunakan metode TF-IDF. Proses pencarian dilakukan dengan cara memasukan kata kunci yang berhubungan dengan pasal yang ingin dicari pada KUHP, maka sistem akan menampilkan pasal yang berhubungan dengan kata kunci tersebut berdasarkan rangking dari perolehan bobot TF-IDF pada masing-masing pasal. Nilai TF-IDF sebuah pasal didapat dari hasil perkalian frekuensi kemunculan suatu kata pada pasal tersebut (TF), dengan logaritma dari hasil pembagian jumlah keseluruhan pasal dengan jumlah pasal yang mengandung kata tersebut (IDF). Tahapan yang dilakukan dalam penelitian ini yaitu tokenizing, stopword, dan term weighting. Hasil dari penelitian ini adalah sebuah aplikasi pencarian pasal yang dapat dijalankan pada platform android sehingga bisa digunakan secara mobile. Adapun kekurangan dalam penelitian ini yaitu tidak adanya proses stemming sehingga sistem tidak bisa melakukan pencarian dengan imbuhan yang berbeda-beda. Kata Kunci : Sistem pencarian, TF-IDF, KUHP
PENDAHULUAN Melakukan sosialisasi atau pemasyarakatan hukum pidana di Indonesia tidaklah mudah, bahkan dengan membagi-bagikan kitab undangundang kepada setiap warga Negara pun belum tentu bisa berjalan efektif. Mengingat banyaknya pasal yang terdapat pada undang-undang hukum pidana sehingga membuat orang malas untuk membaca apalagi memahaminya. Proses pencarian pasalnya pun terbilang rumit karena hanya untuk satu kasus saja, ada beberapa pasal yang menjelaskan kasus tersebut. Sehingga untuk dapat menemukan pasal yang ingin dicari pun sangat membutuhkan ketelitian. Maka dari itu, di perlukan sebuah wadah untuk memudahkan masyarakat dalam mempelajari undangundang hukum pidana di Indonesia dengan memudahkan dan mempercepat proses pencarian pasal tersebut. Pada tahun 2010 sudah dilakukan penelitian yang menghasilkan sebuah sistem pencarian pasal-pasal tindak pidana pelanggaran berdasarkan KUHP dengan menggunakan metode string matching boyer-moore (Sutawijaya, 2010). Dari hasil uji coba pencarian pasal yang telah dilakukan pada penelitian ini cukup memberikan hasil yang efisien. Hal ini dibuktikan dengan proses pencarian yang begitu cepat dengan mencocokan setiap karakter kata pada database berdasarkan query yang dimasukan oleh pengguna. Kelemahan yang ditemukan dalam sistem ini yaitu tidak adanya proses pembobotan pada setiap dokumen sehingga sistem tidak bisa menentukan dokumen yang paling relevan di antara dokumen-dokumen yang mengandung query. Hal ini membuat pengguna sistem masih tetap melakukan pencarian pasal di antara pasal-pasal yang ditampilkan oleh sistem.
Berdasarkan permasalahan yang telah ada sebelumnya, maka penulis akan mengembangkan sebuah sistem pencarian pasal-pasal pada Kitab Undang-undang Hukum Pidana (KUHP) dengan menggunakan metode term frekuensi invers dokumen frekuensi (TFIDF) untuk lebih mendukung proses temu kembali informasi pada sistem ini dengan memperhitungkan bobot pada setiap dokumen dalam hal ini pasal berdasarkan query yang dimasukan oleh pengguna sistem. Pada implementasinya sistem ini akan dijalankan pada platform android, sehingga nantinya sistem pencarian KUHP ini bisa digunakan secara mobile. TINJAUAN PUSTAKA 1. KUHP (Kitab Hukum Pidana)
Undang-undang
KUHP adalah sebuah kitab pedoman pelaksanaan hukum pidana pada sebuah negara, segala masalah mengenai tindak pidana terkandung di dalamnya. Menurut Teguh Prasetyo (dalam Fiandy, 2012), tindak pidana adalah perbuatan yang oleh aturan hukum dilarang dan diancam dengan pidana. Pengertian perbuatan di sini selain perbuatan yang bersifat aktif (melakukan sesuatu yang sebenarnya dilarang oleh hukum) dan perbuatan yang bersifat pasif (tidak berbuat sesuatu yang sebenarnya diharuskan oleh hukum). Sedangkan menurut Jonkers (dalam Fiandy, 2012), merumuskan bahwa Tindak pidana sebagai perisitiwa pidana yang diartikannya sebagai suatu perbuatan yang melawan hukum (wederrechttelijk) yang berhubungan dengan kesengajaan atau kesalahan yang dilakukan oleh orang yang dapat dipertanggung jawabkan. 2. Temu Kembali Informasi
Temu kembali informasi merupakan proses pencarian dokumen berdasarkan query yang dimasukan dengan mengukur tingkat kerelevanan dari suatu dokumen terhadap query tersebut. Menurut Saltea (dalam Kusumawardani, 2013) menjelaskan bahwa secara sederhana temu kembali informasi merupakan suatu sistem yang menyimpan informasi dan menemukan kembali informasi tersebut. Sedangkan menurut Mandala (dalam Zafikri, 2008), Sistem temu kembali informasi (information retrieval system) digunakan untuk menemukan kembali (retrieve) informasi-informasi yang relevan terhadap kebutuhan pengguna dari suatu kumpulan informasi secara otomatis. 3. Metode TF-IDF Pada penelitian ini penulis akan menggunakan metode TF-IDF untuk membantu proses perhitungan bobot dalam setiap dokumen maupun istilah query. Metode TF-IDF (Term Frequncy Inverse Document Frequency) merupakan suatu cara untuk memberikan bobot hubungan suatu kata (term) terhadap dokumen, Robertson (dalam Karmayasa, 2012). Metode pembobotan ini digunakan untuk mengurangi dominasi kata yang sering muncul pada setiap dokumen yang ada dalam database. Karena setiap kata yang sering muncul dalam pada setiap dokumen ini pada umumnya adalah kata yang tidak begitu penting, sebaliknya kata yang hanya muncul pada sedikit dokumen bahkan hanya terdapat pada satu dokumen saja akan mendapatkan bobot yang lebih besar pada perhitungan TF-IDF ini. Seperti yang dikemukakan oleh Mandala dan Setiawan (dalam Karmayasa, 2012), menjelaskan bahwa Faktor lain yang diperhatikan dalam pemberian bobot adalah kejarangmunculan kata (term scarcity) dalam koleksi. Kata yang muncul pada sedikit dokumen harus dipandang
sebagai kata yang lebih penting (uncommon tems) daripada kata yang muncul pada banyak dokumen. Pembobotan akan memperhitungkan faktor kebalikan frekuensi dokumen yang mengandung suatu kata (inverse document frequency). Berikut adalah rumus perhitungan bobot pada algoritma TF-IDF (Zafikri, 2008) : W = tf * log ( d/df) +1..............1 Keterangan : W : Nilai bobot yang diperoleh oleh sebuah dokumen Tf : Jumlah kemunculan term (kata) dalam sebuah dokumen D : Jumlah semua dokumen dalam database Df : Jumlah dokumen yang mengandung term TAHAPAN PENELITIAN 1. Pengumpulan data Pada tahap ini, peneliti mengumpulkan data yaitu mengenai pasal-pasal yang diambil pada kitab undang-undang hukum pidana (KUHP). Selain pasal-pasal pada KUHP, kumpulan stopword juga akan menjadi acuan dalam pengumpulan data ini. 2. Preprocessing Dalam preprocessing ini akan dilakukan pengindeksan dokumen untuk menghasilkan sebuah index database. Pengindeksan ini dilakukan dengan melalui beberapa proses yaitu : a. Tokenizing (pemisahan kata) Pada proses ini setiap elemen teks (string) pada dokumen dipisahkan dengan menggunakan fungsi split dimana pemisahan string dilakukan berdasarkan white space (spasi dan tab) untuk kemudian diletakkan pada array. Tahapan ini juga menghilangkan karakter-karakter tertentu seperti tanda baca dan mengubah semua huruf ke bentuk huruf kecil (lower case). b. Stopword Stopword merupakan proses pembuangan kata-kata yang dianggap
tidak mempunyai makna seperti kata sambung. Pada proses ini digunakan daftar stopword yang disimpan dalam suatu tabel basis data, yang nantinya digunakan sebagai acuan penghilangan kata. c. Term weighting (TF-IDF) Setiap term (kata) diberikan bobot pada masing-masing dokumen sesuai dengan skema pembobotan kombinasi berupa perkalian bobot term frequency dan inverse document frequency (TFIDF). Proses ini memperhitungkan frekuensi kemunculan kata serta mempertimbangkan dominasi kata pada semua dokumen. Kejarang munculan kata pada setiap dokumen akan mempengaruhi perhitungan bobot pada setiap kata dalam dokumen. Bobot dari setiap kata pada masing-masing dokumen ini kemudian akan disimpan ke dalam index database yang nantinya akan digunakan pada proses perangkingan nanti. d. Index database Pada tahap ini semua kata yang sudah diekstrak dengan melalui beberapa tahapan sebelumnya, ditata sebagai sebuah index. Index ini merupakan konversi dari dokumen asli ke dalam daftar kata yang terhubung dengan dokumen terkait dimana katakata tersebut muncul. Inilah yang disebut dengan index database. 3. Desain dan Implementasi Setelah dilakukan analisis sistem maka proses pencarian akan lebih mudah dilakukan. Karena yang dicari oleh sistem bukan lagi dokumen aslinya melainkan sebuah index database. Dalam proses pencarian ini terdapat beberapa tahapan yang dilakukan oleh sistem yaitu : a. Input query Input query merupakan sebuah tempat yang disediakan untuk pengguna sistem dalam memasukkan query. Query tersebut dirumuskan sendiri oleh pengguna berdasarkan apa yang ingin
dicari dan melalui query inilah sistem melakukan proses penelusuran. b. Tokenizing Di dalam proses pencarian ini juga dilakukan Tokenizing untuk memisahkan setiap kata dalam query apabila pengguna memasukan query lebih dari satu kata. c. Stopword Proses stopword juga akan dilakukan untuk mengantisipasi jika pengguna memasukan kata yang tidak penting dalam query. 4. Uji coba Hasil implementasi dari penelitian dalam hal ini sistem pencarian pasal KUHP dengan metode TF-IDF akan dilakukan pengujian apakah sistem ini bisa membantu dalam mencari pasal yang sesuai/relevan dengan query. Dalam uji coba ini terdiri atas : a. Pencocokan string query pada index database Setiap string yang terdapat pada query yang dimasukan oleh user dan telah melewati proses tokenizing dan stopword akan dicocokan dengan string pada setiap term yang ada dalam index database. b. Perangkingan Setiap term pada index database yang memiliki kecocokan string dengan query akan digunakan setiap bobotnya pada masing-masing dokumen yang diperoleh dari perhitungan TF-IDF sebelumnya untuk melakukan pemanggilan dokumen dan diurutkan dari bobot yang tertinggi hingga yang terendah. c. Output Setelah melalui beberapa proses sebelumnya, maka akan ditampilkan hasil dari pencarian yang dilakukan yaitu berupa dokumen-dokumen dalam hal ini pasal-pasal KUHP yang dianggap relevan dengan query.
Desain Dan Implementasi
Preprocessing
Input query Tokenizing Tokenizing
stopword
Term weighting (TF-IDF)
stopword
Index database
Uji Coba Pencocokan string query pada index database
yaitu tokenizing, stopword, dan perhitungan bobot (TF-IDF). Setelah didapatkan bobot pada setiap kata maupun dokumen, maka pencarian pasal ini lebih mudah dilakukan karena perhitungan bobotnya sudah dilakukan terlebih dahulu pada preprocessing. Kelemahan yang ditemukan dalam sistem pencarian pasal ini yakni user diharuskan untuk lebih memperhatikan penggunaan imbuhan kata dalam memasukan kata kunci (query). Karena jika imbuhan katanya tidak sesuai dengan yang ada di dalam database, maka sistem tidak bisa menemukan kata tersebut. a.
Tokenizing
Pada tokenizing ini yang pertama dilakukan adalah case folding, yaitu mengubah semua huruf yang ada pada tabel KUHP menjadi huruf kecil.
Perangkingan
Output Gambar 1 Langkah-langkah eksperimen HASIL DAN PEMBAHASAN Hasil dari penelitian ini adalah sebuah sistem pencarian pasal-pasal pada Kitab Undang-undang Hukum Pidana (KUHP). Dengan menerapkan metode TF-IDF, sistem dapat menentukan dokumen yang paling relevan terhadap query dengan memperhitungkan bobot setiap kata maupun dokumen. Sehingga pengguna sistem lebih terbantu dalam melakukan pencarian pasal. Dengan hanya memasukan kata kunci maka sistem akan menampilkan pasal-pasal yang berkaitan dengan kata kunci tersebut. Sistem ini diawali dengan melakukan preprocessing dengan beberapa tahapan
Gambar 2 Sebelum proses case folding pada pasal 1
Gambar 3 Setelah proses case folding pada pasal 1
Proses selanjutnya yaitu pembersihan karakter-karakter tertentu seperti tanda baca (filter tanda baca).
Gambar 4 Hasil filter tanda baca pada pasal 1
Gambar 6 Tabel kata b.
Proses terakhir pada tokenizing ini yaitu parsing kata, dimana setiap elemen teks (string) pada tabel KUHP dipisahkan dengan menggunakan fungsi split. Pemisahan string dilakukan berdasarkan white space (spasi dan tab) untuk kemudian diletakkan pada array.
Stopword Pada proses ini digunakan daftar stopword yang disimpan pada table stopword untuk mengeliminasi kata-kata yang tidak terlalu penting pada tabel kata (contoh : atau, kemudian, akan, dan lain sebagainya).
Gambar 7 Proses stopword Gambar 5 Hasil parsing kata pada pasal 1
Hasil dari proses tokenizing ini kemudian disimpan pada tabel kata dalam database.
c.
Term weighting Setiap term (kata) diberikan bobot pada masing-masing dokumen sesuai dengan skema pembobotan kombinasi berupa perkalian bobot term frequency dan inverse document frequency (TFIDF). Proses ini diawali dengan menghitung nilai TF (term frequency)
dari setiap kata yang terdapat pada tabel kata. Nilai TF ini dihitung berdasarkan frekuensi kemunculan setiap kata pada masing-masing dokumen.
Gambar 8 Hasil perhitungan TF pada kata “ahli” Nilai TF pada masing-masing kata kemudian disimpan pada tabel NTF.
Gambar 10 Hasil perhitungan IDF pada kata ahli Hasil perhitungan IDF pada setiap kata kemudian disimpan pada tabel IDF.
Gambar 9 Tabel NTF Setelah ditemukan nilai TF maka dihitung nilai IDF masing-masing kata tersebut. Pada proses ini nilai IDF dari setiap kata didapat dari hasil pembagian jumlah semua pasal dalam database dengan jumlah pasal yang mengandung kata tersebut, kemudian dihitung logaritmanya.
Gambar 11 Tabel IDF Setelah ditemukan nilai TF dan IDF pada masing-masing kata maupun dokumen, maka kedua nilai ini dikalikan untuk menghasilkan nilai TF-IDF.
e.
Input query Input query merupakan sebuah tempat yang disediakan untuk pengguna sistem dalam memasukkan query. Query tersebut dirumuskan sendiri oleh pengguna berdasarkan apa yang ingin dicari dan melalui query inilah sistem melakukan proses penelusuran.
Gambar 12 Hasil perhitungan TF-IDF pada kata “ahli” Pada gambar diatas dijelaskan bahwa J merupakan urutan dari idpasal yang mengandung kata “ahli” tersebut yang urutannya disini dimulai dari angka 0. Sehingga untuk posisi J=0 adalah idpasal 257. Frekuensi kemunculan kata “ahli” pada idpasal 257 kemudian dikalikan dengan nilai DIDF sehingga menghasilkan nilai TFIDF. Jadi nilai TF-IDF untuk kata “ahli” pada idpasal 275 adalah 5,334328.
d.
Index database
Hasil dari preprocessing ini kemudian disimpan sebagai sebuah index database yang nantinya akan digunakan pada sistem pencarian pasal. Semua hasil preprocessing mulai dari tokenizing hingga perhitungan bobot TFIDF tersimpan pada index database ini.
Gambar 13 Index database
Gambar 14 Tampilan input query Setelah memasukan query pada tempat yang disediakan, maka selanjutnya menekan tombol search. f.
Pencocokan string String dalam index query akan dicocokan dengan string dalam tabel kata pada index database, jika ditemukan ada kecocokan maka dipanggil nilai TF-IDF kata yang ditemukan pada index database tersebut. Jika dalam satu dokumen pada index database ditemukan kecocokan lebih dari satu kata, maka nilai TF-IDF pada setiap kata tersebut akan dijumlahkan.
Gambar 15 Hasil nilai TF-IDF untuk kata pencurian
g. Perangkingan Dari hasil penjumlahan nilai TFIDF pada setiap dokumen, ditentukan rangking dokumen berdasarkan perolehan bobot pada masing-masing dokumen tersebut.
1.
2.
3.
4.
Gambar 16 Hasil perangkingan pasal h.
Output Setelah melalui beberapa proses sebelumnya, maka ditampilkan hasil dari pencarian yang dilakukan yaitu berupa dokumen-dokumen dalam hal ini pasal-pasal KUHP yang dianggap relevan dengan query.
KESIMPULAN DAN SARAN Kesimpulan dari hasil penelitian tentang “Sistem pencarian pasal-pasal pada KUHP dengan menggunakan metode TF-IDF”, yakni : 1. Proses pencarian pasal-pasal pada KUHP yang terdiri dari 569 pasal dapat dengan mudah dilakukan pada sistem ini, karena dengan hanya memasukan kata kunci (query), sistem dapat menampilkan pasal-pasal yang relevan dengan query. 2. Penggunaan metode TD-IDF dapat membantu sistem dalam menentukan pasal mana yang paling relevan terhadap query dengan menghitung dan menentukan bobot pada masingmasing kata maupun dokumen setelah melalui beberapa tahapan proses preprocessing. 3. Sistem ini dijalankan pada platform android serta dapat dijalankan secara offline. Saran yang diberikan peneliti untuk pengembangan sistem ini pada penelitian selanjutnya yaitu : 1.
2.
3. Gambar 17 Tampilan hasil pencarian
Penggunaan stemming (menghilangkan imbuhan) sangat diharapkan pada penelitian selanjutnya, untuk mempermudah sistem mencocokan kata dalam query dengan kata dalam index database walaupun dengan imbuhan yang berbeda-beda. Sistem ini diharapkan bisa dikembangkan menjadi sistem yang bersifat online dan dinamis, sehingga bisa mengantisipasi jika adanya perubahan pasal pada KUHP dengan ditambahkan peran admin untuk mengatur perubahan tersebut. Untuk lebih melengkapi data dalam sistem ini, diharapkan adanya
penambahan pasal-pasal hukum perdata.
untuk
Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur Surabaya.
REFERENSI Fiandy, Nur Ikhsan. 2012. Tinjauan Yuridis Terhadap Tindak Pidana Penipuan (Studi Kasus Putusan No.337/Pid.B/2011/PN. Mks). [Skripsi]. Fakultas Hukum, Universitas Hasanuddin Makassar. Karmayasa, Oka dan Mahendra, Ida Bagus. 2012. Implementasi Vector Space Model Dan Beberapa Notasi Metode Term Frequency Inverse Document Frequency (TFIDF) Pada Sistem Temu Kembali Informasi. [Jurnal]. Program Studi Teknik Informatika, Jurusan Ilmu Komputer, Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Udayana. Kusumawardani, Devita. 2013. Temu Kembali Informasi dengan keyword (Studi deskriptif tentang sistem temu kembali informasi dengan controlled vocabulary pada field judul, subyek, dan pengarang di Perpustakaan Universitas Airlangga).[Jurnal]. Universitas Airlangga, http://journal.unair.ac.id/filer PDF/jurnal%20Devita%20K. pdf Sutawijaya, Ikhwanul Dawam. 2010. Sistem Pencarian PasalPasal Tindak Pidana Pelanggaran Berdasarkan Kuhp Dengan Metode String Matching Boyer-Moore. [SKRIPSI]. Jurusan Teknik
Zafikri,
Atika. 2008. Implementasi Metode Term Frequency Inverse Document Frequency (TF-IDF) Pada Sistem Temu Kembali Informasi. [skripsi]. Program studi s-1 Ilmu Komputer Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara Medan.