Indeks dan pencarian Chained Hash Table pada pemerolehan informasi menggunakan Hash Function Knuth`s Multiplication Method dan Division Method : studi kasus Perpustakaan Universitas Sanata Dharma - USD Repository
INDEKS DAN PENCARIAN CHAINED HASH TABLE PADA
PEMEROLEHAN INFORMASI MENGGUNAKAN HASH
FUNCTION : KNUTH’S MULTIPLICATION METHOD DAN
DIVISION METHOD STUDI KASUS : PERPUSTAKAAN
UNIVERSITAS SANATA DHARMA
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Komputer (S.Kom.)
Program Studi Teknik Informatika Oleh:
Linardi NIM : 085314057
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJICHAINED HASH TABLE INDEX AND SEARCHING IN
INFORMATION RETRIEVAL WITH HASH FUNCTION : KNUTH’S MULTIPLICATION METHOD DAN DIVISION METHOD CASE STUDY :
LIBRARY OF SANATA DHARMA UNIVERSITY THESIS
Presented as Partial Fullfilment of the Requirements To Obtain the Computer Bachelor Degree
In Informatics Engineering By:
Linardi NIM : 085314057
FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA
HALAMAN PERSETUJUAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PENGESAHAN
PERNYATAAN KEASLIAN KARYA
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN MOTO
Tetapi carilah dahulu Kerajaan Allah dan
kebenarannya, maka semuanya itu akan ditambahkan
kepadamu.
( Matius 6:33 )
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Skripsi ini saya persembahkan kepada Tuhan YME yang selalu
menjadi sandaran dan topangan saat menghadapi masalah, dan
menyertaiku dalam menyelesaikan skripsi.
Untuk Ibu , Ayah, kakak, dan keponakan saya atas dukungan
kalian semua.
Buat yang tercinta, Silvia Natalia, atas support, dukungan dan
doa dalam menyelesaikan skripsi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAKSI
Perpustakaan Universitas Sanata Dharma ( USD ) menggunakan sebuah sistem pencarian koleksi yang mengharuskan pemustaka untuk memiliki informasi yang memadai seperti judul, pengarang, dll. Pemustaka akan mengalami kesulitan dalam menemukan koleksi apabila hanya memiliki sedikit informasi mengenai isi koleksi yang ingin ditemukan. Sistem IR (Information Retrieval) dapat menjadi salah satu solusi penyelesaiannya. Terdapat beberapa permasalahan dalam pengembangan
IR, salah satunya yaitu bagaiman melakukan pencarian yang cepat dan hemat sumber daya. Hal ini berkaitan dengan bentuk dan struktur data yang digunakan sebagai indeks. Salah satu struktur data yang dapat digunakan untuk menyelesaikannya adalah struktur data Hash table.
Dari latar belakang tersebut, dikembangkan sebuah sistem untuk menguji unjuk kerja Division method dan Knuth’s multiplication method sebagai hash function pada index dalam bentuk inverted index yang menggunakan struktur data hash table. Sistem dikembangkan dengan bahasa pemrograman JAVA. Hasil akhir penelitian berupa data-data pengukuran waktu pemrosesan indeks, persebaran data dalam hash
table, penggunaan memori, dan waktu pencarian. Diperoleh bahwa untuk waktu
pembentukan dan penggunaan memori, division method lebih unggul, dan Knuth’s
multiplication method memiliki persebaran data yang lebih merata tetapi memiliki
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
Library of Sanata Dharma University (USD) uses a collection searching system that requires the user to have adequate information such as title, author, etc.
Users will have difficulty in finding the collection if they just have little information about the contents of the collection. This problem can be solved by an IR (Information retrieval) system. In developing IR, there are some problem such as how to do a fast and efficient searching. This relates to the form and data structure that used for the index. Hash table data structure can be used to solve this problems.
From these background, a system was developed to measure the performance of Division method and Knuth’s multiplication method as a hash function in inverted index with hash table data structure. The system was developed with the JAVA programming language. The final results is measurement of time for index processing, distribution of data in hash table, memory usage and searching time. The results provide that division method is superior in processing time and memory usage, and Knuth's multiplication method has a more equitable distribution of the data but it has more empty buckets in the hash table.
LEMBAR PENYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Puji dan syukur saya panjatkan pada Tuhan YME yang telah melimpahkan berkatnya sehingga saya dapat menyelesaikan tugas akhir ini.
Pada kesempatan ini saya ingin mengucapkan terima kasih pada pihak-pihak yang telah membantu saya dalam menyelesaikan skripsi ini, baik dalam hal bimbingan, perhatian, kasih sayang, semangat, kritik dan saran yang diberikan. Ucapan terima kasih ini saya sampaikan antara lain kepada :
1. Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.
2. Ibu Ridowati Gunawan, S.Kom, M.T. selaku ketua jurusan Teknik Informatika Sanata Dharma.
3. Bapak Eko Hari Parmadi S.Si., M.Kom. selaku Dosen Pembimbing Akademik Teknik Informatika angkatan 2008.
4. Ibu Sri Hartati Wijono, S.Si., M.Kom. selaku Dosen Pembimbing TA, terima kasih atas bimbingannya selama saya mengerjakan skripsi ini.
5. Bapak JB. Budi Darmawan, S.T, M.Sc. dan Albertus Agung Hadhiatma S.T.,
M.T. selaku Dosen Penguji Pendadaran skripsi saya, terima kasih atas masukkan dalam memperbaiki skripsi ini.
6. Ibu, kakak dan kekasih saya terima kasih atas dukungan, semangat dan kasih
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
HALAMAN JUDUL INDONESIA............................................................................... i HALAMAN JUDUL INGGRIS ................................................................................... ii HALAMAN PERSETUJUAN.....................................................................................iii HALAMAN PENGESAHAN...................................................................................... iv PERNYATAAN KEASLIAN KARYA ....................................................................... v HALAMAN MOTO .................................................................................................... vi HALAMAN PERSEMBAHAN .................................................................................vii ABSTRAKSI .............................................................................................................viii ABSTRACT................................................................................................................. ix LEMBAR PENYATAAN PERSETUJUAN ................................................................ x KATA PENGANTAR .................................................................................................xi DAFTAR ISI..............................................................................................................xiii DAFTAR GAMBAR .................................................................................................xix DAFTAR TABEL...................................................................................................... xxi DAFTAR LISTING ..................................................................................................xxii DAFTAR LAMPIRAN ............................................................................................xxiii
BAB I PENGANTAR ................................................................................................... 1
2.1. Perpustakaan............................................................................................... 8
2.3.3. Stemming .................................................................................................. 11
2.3.2. Stopword Removal.................................................................................... 10
2.3.1. Tokenizing ................................................................................................ 10
2.3. Data Preprocessing .................................................................................. 10
2.2. Information Retrieval ( IR ) ....................................................................... 9
2.1.1. Perpustakaan Universitas Sanata Dharma.................................................. 8
BAB II LANDASAN TEORI ....................................................................................... 8
1.1. Latar Belakang ........................................................................................... 1
1.8. Sistematika Penulisan................................................................................. 7
1.7. Metodologi Penelitian ................................................................................ 5
1.6. Luaran......................................................................................................... 5
1.5. Manfaat Penelitian...................................................................................... 5
1.4. Batasan Permasalahan ................................................................................ 4
1.3. Tujuan Penelitian........................................................................................ 4
1.2. Rumusan Masalah ...................................................................................... 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.5. Indexing and Searching ............................................................................ 16
2.6. Hash Table ............................................................................................... 17
2.6.1. Chained Hash Table................................................................................. 17
2.6.2. Hash Function .......................................................................................... 19
2.6.2.1. Mixing Step ....................................................................................... 19
2.6.2.2. Division Method................................................................................ 21
2.6.2.3. Knuth’s Multiplication Method ......................................................... 21
2.7. Metodologi FAST .................................................................................... 22
BAB III ANALISIS DESAIN..................................................................................... 26
3.1. Analisis Sistem......................................................................................... 26
3.1.1. Fase Definisi Ruang Lingkup (Scope Definition Phase) ......................... 26
3.1.2. Fase Analisis Masalah (Problem Analysis Phase) ................................... 27
3.1.2.1. Gambaran Sistem Lama .................................................................... 27
3.1.2.2. Gambaran Sistem Penelitian ............................................................. 27
3.2. Perancangan Penelitian ............................................................................ 28
3.2.1. Data Penelitian ......................................................................................... 28
3.2.2. Diagram Blok Penelitian .......................................................................... 28
3.2.4. Flowchart Proses...................................................................................... 30
3.2.5.4. Pengujian Waktu Pencarian Koleksi ................................................. 39
4.1.1.3. Tahap Stemming ................................................................................ 44
4.1.1.2. Tahap Stopword Removal.................................................................. 43
4.1.1.1. Tahap Scanning dan Tokenizing........................................................ 41
4.1.1. Implementasi Preprocessing .................................................................... 40
4.1. Implementasi Proses................................................................................. 40
BAB IV IMPLEMENTASI ........................................................................................ 40
3.2.5.3. Pengujian Persebaran Data dalam Hash Table.................................. 38
3.2.4.1. Flowchart Scanning dan Tokenizing ................................................. 31
3.2.5.2. Pengujian Sumberdaya Memori ........................................................ 38
3.2.5.1. Pengujian Waktu Pemrosesan Index ................................................. 38
3.2.5. Skenario Pengujian................................................................................... 38
3.2.4.5. Flowchart Searching .......................................................................... 37
3.2.4.4. Flowchart Indexing............................................................................ 34
3.2.4.3. Flowchart Porter Stemmer................................................................. 33
3.2.4.2. Flowchart Stopword Removal ........................................................... 32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.1.3. Implementasi Searching ........................................................................... 66
5.1.3.5. Grafik Persebaran Division Method ( 6143 Bucket )......................... 79
5.2.1. Analisa Pengujian Waktu Pemrosesan Indeks ......................................... 85
5.2. Analisa Hasil Pengujian ........................................................................... 85
5.1.4. Hasil Pengujian Waktu Pencarian ............................................................ 83
5.1.3.8. Grafik Persebaran Knuth’s Multiplication Method ( 24571 Bucket ) 82
5.1.3.7. Grafik Persebaran Division Method ( 24571 Bucket )....................... 81
5.1.3.6. Grafik Persebaran Knuth’s Multiplication Method ( 6143 Bucket ).. 80
5.1.3.4. Grafik Persebaran Knuth’s Multiplication Method ( 1531 Bucket ).. 78
BAB V HASIL PENGUJIAN DAN ANALISA......................................................... 72
5.1.3.3. Grafik Persebaran Division Method ( 1531 Bucket )......................... 77
5.1.3.2. Grafik Persebaran Knuth’s Multiplication Method ( 383 Bucket ).... 76
5.1.3.1. Grafik Persebaran Division Method ( 383 Bucket )........................... 75
5.1.3. Hasil Pengujian Persebaran Data dalam Hash Table ............................... 75
5.1.2. Hasil Pengujian Sumber Daya Memori.................................................... 74
5.1.1. Hasil Pengujian Waktu Pemrosesan Index............................................... 73
5.1. Hasil Pengujian ........................................................................................ 72
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5.2.3. Analisa Pengujian Persebaran Data dalam Hash Table ........................... 87
5.2.4. Analisa Pengujian Waktu Pencarian ........................................................ 88
BAB VI KESIMPULAN DAN SARAN .................................................................... 93
6.1. Kesimpulan............................................................................................... 93
6.2. Saran......................................................................................................... 94 DAFTAR PUSTAKA ................................................................................................. 95 LAMPIRAN................................................................................................................ 97
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Gambar 2.1. Komponen Inverted Index...................................................................... 16Gambar 2.2. Ilustrasi struktur chained hash table ...................................................... 18Gambar 2.3. Algoritma PJWHash............................................................................... 20Gambar 3.1. Diagram Blok Penelitian ........................................................................ 29Gambar 3.2. Diagram Kelas UML.............................................................................. 30Gambar 3.3. Flowchart Scanning dan Tokenizing ...................................................... 31Gambar 3.4. Flowchart Stopword Removal ................................................................ 32Gambar 3.5. Flowchart Porter Stemmer (Porter, 1980) ............................................. 33Gambar 3.6. Flowchart Indexing dengan Knuth’s multiplication method.................. 35Gambar 3.7. Flowchart Indexing dengan Division Method ........................................ 36Gambar 3.8. Flowchart Searching .............................................................................. 37Gambar 5.1. Grafik Persebaran Data untuk Division Method dengan ukuran 383 Bucket ................................................................................................ 76Gambar 5.2. Grafik Persebaran Data untuk Knuth’s Multiplication Method dengan ukuran 383 Bucket ....................................................................... 77Gambar 5.3. Grafik Persebaran Data untuk Division Method dengan ukuran 1531 Bucket .............................................................................................. 78Gambar 5.4. Grafik Persebaran Data untuk Knuth’s Multiplication MethodPLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 5.5. Grafik Persebaran Data untuk Division Method dengan ukuran 6143 Bucket .............................................................................................. 80Gambar 5.6. Grafik Persebaran Data untuk Knuth’s Multiplication Method dengan ukuran 6143 Bucket ..................................................................... 81Gambar 5.7. Grafik Persebaran Data untuk Division Method dengan ukuran 24571 Bucket ............................................................................................ 82Gambar 5.8. Grafik Persebaran Data untuk Knuth’s Multiplication Method dengan ukuran 24571 Bucket ................................................................... 83Gambar 5.9. Grafik Perbandingan Waktu Pembentukan Hash Table ......................... 86Gambar 5.10. Grafik Perbandingan Penggunaan Memori .......................................... 87Gambar 5.15. Grafik Perbandingan Standar Deviasi Persebaran Data dalamHash Table ............................................................................................... 88
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 5.1. Hasil Pengukuran Waktu Pembentukan Indeks ......................................... 73Tabel 5.2. Hasil Pengukuran Jumlah Memori Pembentukan Indeks .......................... 74Tabel 5.3. Hasil Pengukuran Pengujian Waktu Pencarian pada HashFunction : Division Method...................................................................... 84
Tabel 5.4. Hasil Pengukuran Pengujian Waktu Pencarian pada HashFunction : Knuth’s Multiplication Method............................................... 84
Tabel 5.5. Tabel Persebaran Data kedua Hash Function ............................................ 90
DAFTAR LISTING
Listing 4.1. Scanning dan Tokenizing ......................................................................... 43 Listing 4.2. Stopword Removal ................................................................................... 44 Listing 4.3. Stemming.................................................................................................. 45 Listing 4.4. Pengindeksan kedalam HashTable .......................................................... 49
Listing 4.4.1. Variabel pencatat waktu pengindeksan ............................................ 50 Listing 4.4.2. Pengecekan status pemanggilan method .......................................... 50 Listing 4.6.3. Penentuan mixing step...................................................................... 51 Listing 4.4.4. Pengubahan Mixing code negatif menjadi positif............................ 51 Listing 4.6.5. Penghitungan Hash code.................................................................. 51 Listing 4.4.6. Pengisian objek koleksi kedalam Hash table................................... 53 Listing 4.4.7. Pencatatan dan perhitungan total waktu pengindeksan.................... 54
Listing 4.5. Penyimpanan hasil indeks........................................................................ 56 Listing 4.6. Pembuatan indeks dari file text................................................................ 59 Listing 4.7. Penyimpanan LOG HashTable................................................................ 65 Listing 4.8. PJWHash.................................................................................................. 66 Listing 4.9. Pencarian data koleksi ............................................................................. 71
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR LAMPIRAN
Lampiran 1 Listing PreProcessing .............................................................................. 97 Lampiran 2 Listing IndexingProcess ........................................................................ 100 Lampiran 3 Listing SearchingProcess....................................................................... 108 Lampiran 4 Listing Koleksi ...................................................................................... 110 Lampiran 5 Listing Stemmer .................................................................................... 111 Lampiran 6 Listing PJWHash ................................................................................... 121
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENGANTAR
1.1. Latar Belakang
Perpustakaan Universitas Sanata Dharma (USD) yang terletak di Yogyakarta merupakan salah satu Perpustakaan Perguruan Tinggi. Perpustakaan terdiri dari 2 (dua) unit perpustakaan yaitu Perpustakaan USD yang terletak di Mrican dan Paingan yang dikelola secara sentralisasi. Koleksi yang terdapat dalam Perpustakaan USD dibagi kedalam beberapa kategori yaitu : koleksi buku, tugas akhir, majalah, artikel majalah, suara (audio), gambar (image), gambar bergerak (video), dan e-book.
Terdapat lebih dari 350.000 judul koleksi yang siap digunakan pada Perpustakaan USD. Dalam melakukan pelayanannya, Perpustakaan USD mengunakan sebuah "sistem terbuka" yang memungkinkan pemustaka untuk dapat memilih dan mencari sendiri koleksi yang diinginkannya.
Sistem yang digunakan pada hakekatnya bertujuan untuk mempermudah pencarian koleksi perpustakaan oleh para pemustaka. Sistem pencarian koleksi Perpustakaan USD sekarang ini memiliki sebuah antar-muka yang nantinya meminta pengguna untuk terlebih dahulu menentukan jenis koleksi yang ingin ditemukan.
Kemudian koleksi dapat dicari dengan memasukkan satu atau lebih kata kunci. Kata kunci yang terdapat pada sistem berupa judul buku, pengarang, penerbit, nomor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
informasi yang memadai mengenai kata kunci yang dibutuhkan. Contohnya, seorang pemustaka ingin mencari koleksi yang mengandung informasi mengenai pertumbuhan bakteri, maka pemustaka harus mengetahui kata kunci pencarian yang dapat dikenal oleh sistem, misalnya kata “mikrobiologi” sebagai kata kunci judul buku atau kata “Gemilang” sebagai kata kunci penerbit. Jika pemustaka hanya mengetahui penggalan kalimat yang terdapat pada pustaka tanpa mengetahui kata kunci yang terdapat pada sistem, maka pemustaka akan kesulitan untuk menemukan koleksi yang dibutuhkan. Hal ini menjadi keterbatasan sistem pencarian Perpustakaan USD karena pemustaka harus mengetahui kata kunci yang tepat agar pemustaka menemukan koleksi yang diinginkan.
Salah satu pendekatan yang dapat digunakan untuk menyelesaikan permasalahan tersebut adalah dengan menggunakan Information Retrieval System (Sistem Pemerolehan Informasi). Sebuah Sistem Pemerolehan Informasi memungkinkan untuk dilakukannya pencarian bukan hanya pada kata kunci (judul, penerbit, dan lainnya) tertentu melainkan juga pada keseluruhan isi atau teks yang terdapat dalam pustaka koleksi. Beberapa tahapan dalam pengembangan sebuah Sistem Pemerolehan Informasi yaitu : pengumpulan data, tokenizing, stemming, indexing, searching, dan pemodelan hasil pencarian.
Sebagian besar kajian pengembangan sebuah Sistem Pemerolehan Informasi ditujukan untuk meningkatkan efisiensi dan efektifitas sistem. Dalam hal efisiensi, kajian lebih ditekankan pada bagaimana melakukan pencarian (retrieval) yang cepat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
pengaruh besar dalam hal efisiensi Information Retrieval System adalah pada proses pembuatan index dan pencarian informasi (searching). Menurut (Loudon, 1999), struktur data yang dapat mengakomodasi kebutuhan dalam pembuatan index dan pencarian (searching) adalah Hash Table.
Terdapat beberapa permasalahan yang kerap muncul dalam pengembangan sebuah Hash Table yaitu : menentukan jenis hash table, fungsi hash (hash function) yang optimal untuk bentuk data tertentu, panjang hash table yang optimal dalam penggunaan sumber daya memori dan kecepatan akses. Sebuah hash table yang baik apabila diterapkan kedalam sebuah Information Retrieval System akan mendukung efisiensi dalam pencarian informasi (Bell, Harries, McKenzie, 1990). Dalam penelitian ini, penulis akan menganalisa unjuk kerja Knuth’s multiplication method dan Division Method sebagai hash function pada Chained Hash Table dengan mixing
step PJWHash sebagai proses indexing untuk data berupa data teks koleksi
Perpustakaan Universitas Sanata Dharma yang berupa teks berbahasa Indonesia.Diharapkan penelitian ini dapat memberikan dukungan positif dalam pengembangan sebuah mesin Pencarian Koleksi Perpustakaan berbasis Information Retrieval System yang lebih handal dalam sisi pengindeksan dan pencarian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1.2. Rumusan Masalah
Adapun masalah-masalah yang dapat dirumuskan dalam penelitian ini antara lain :
1. Bagaimanakah unjuk kerja Knuth’s multiplication method dan Division
method sebagai hash function pada Chained Hash Table dengan mixing step
PJWHash pada data berupa data teks berbahasa Inggris?
1.3. Tujuan Penelitian
Tujuan-tujuan yang ingin dicapai penulis dalam penelitian ini adalah sebagai berikut :
1. Mengetahui unjuk kerja Knuth’s multiplication method dan Division method sebagai hash function pada Chained Hash Table dengan mixing step PJWHash pada data berupa data teks berbahasa Inggris.
1.4. Batasan Permasalahan
Beberapa batasan permasalahan dalam penelitian ini adalah sebagai berikut : 1. Kategori data teks yang akan digunakan yaitu : data e-book.
2. Data teks koleksi Perpustakaan USD yang akan digunakan akan melalui melalui proses scanning, tokenizing, stemming, dan indexing (inverted
index).
3. Data teks yang akan melalui proses stemming berupa data teks Bahasa Inggris.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4. Pengujian hash table yang akan dilakukan adalah berupa pengujian persebaran data dalam hash table, penggunaan sumberdaya memori,
processing time (waktu pemrosesan), dan searching time (waktu pencarian).
5. Pengujian sistem pada penelitian dilakukan dengan bahasa pemrograman Java.
6. Proses stemming dilakukan dengan menggunakan algoritma Porter Stemmer.
1.5. Manfaat Penelitian
Penelitian ini diharapkan dapat membantu pengembangan Sistem Pencarian Koleksi Perpustakaan USD berbasis Information Retrieval System yang lebih efisien dalam melakukan proses indexing dan pencarian koleksi.
1.6. Luaran
Luaran yang diharapkan penulis melalui penelitian ini adalah diperolehnya informasi mengenai unjuk kerja Knuth’s multiplication method dan Division method sebagai hash function pada Chained Hash Table untuk studi kasus Perpustakaan Universitas Sanata Dharma.
1.7. Metodologi Penelitian
Metode yang digunakan penulis dalam melaksanakan penelitian ini adalah
Framework for the Application of Sistem Thinking (FAST). Adapun tahapan-tahapan
yang dilakukan dijabarkan sebagai berikut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1. Analisis Ruang Lingkup Menganalisis ruang lingkup permasalahan baik mengenai sistem sebelumnya dan solusi yang ditawarkan.
2. Analisis Permasalahan Melakukan analisis dari permasalahan yang muncul pada sistem sebelumnya.
3. Perancangan Penelitian Melakukan perancangan penelitian yang akan dilakukan dan metode pengujian yang akan diterapkan pada hasil penelitian.
4. Pelaksanaan Penelitian Melakukan penelitian yang telah dirancang sebelumnya untuk mengetahui unjuk kerja indexing dan pencarian menggunakan Knuth’s multiplication
method dan Division method sebagai hash function pada chained hash table.
5. Analisis Hasil Penelitian Melakukan analisis pada hasil yang diperoleh dari penelitian yang telah dilaksanakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1.8. Sistematika Penulisan
Sistematika penulisan pada penelitian ini dibagi kedalam beberapa bagian sebagai berikut : BAB I : Berisi latar belakang munculnya permasalahan yang akan diteliti, rumusan permasalahan, tujuan penelitian, batasan masalah, metodologi penelitian, dan sistematika penulisan.
BAB II : Berisi landasan-landasan teori yang digunakan penulis dalam penyusunan penulisan penelitian ini. BAB III : Berisi analisis permasalahan dan perancangan penelitian yang akan dilaksanakan. BAB IV : Berisi implementasi sistem pengujian. BAB V : Berisi hasil dan pembahasan penelitian yang telah dilaksanakan. BAB VI : Berisi kesimpulan dan saran dari hasil analisis peneltian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II LANDASAN TEORI Pada bagian ini, penulis akan membahas mengenai dasar-dasar teori yang
digunakan dalam penulisan penelitian. Dasar-dasar teori tersebut dapat dipaparkan sebagai berikut :
2.1. Perpustakaan
Menurut Undang-undang Nomor 43 Tahun 2007 tentang Perpustakaan, dtuliskan bahwa Perpustakaan adalah institusi pengelola koleksi karya tulis, karya cetak, dan/atau karya rekam secara profesional dengan sistem yang baku guna memenuhi kebutuhan pendidikan, penelitian, pelestarian, informasi, dan rekreasi para pemustaka. Seperti yang diketahui, Perpustakaan dibedakan menjadi : Perpustakaan Nasional, Umum, Sekolah / Madrasah, Perguruan Tinggi, dan Khusus. Perpustakaan Sekolah dan Perguruan Tinggi harus mengikuti Standar Nasional Perpustakaan sebagai acuan penyelenggaraan, pengelolaan, dan pengembangannya (Indonesia, 2007).
2.1.1. Perpustakaan Universitas Sanata Dharma
Perpustakaan Universitas Sanata Dharma merupakan salah satu Perpustakaan yang cukup berkembang di wilayah Yogyakarta. Perpustakaan terdiri
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kampus Paingan. Kedua Perpustakaan Universitas Sanata Dharma (USD) dikelola secara sentralisasi. Perpustakaan kampus Mrican merupakan perpustakaan Pusat, sedangkan Perpustakaan Kampus Paingan merupakan perpustakaan cabang. Perpustakaan Kampus Paingan berkonsentrai pada pelayanan pengguna bagi civitas akademika Universitas Sanata Dharma (USD) yang berada di Kampus Paingan.
Sebuah jaringan komputer digunakan untuk menghubungkan Perpustakaan Mrican dan Paingan agar dapat melayani penggunanya secara online.
2.2. Information Retrieval ( IR )
Sistem Pemerolehan Informasi adalah sebuah sistem yang dapat melakukan penyimpanan, peneriamaan, dan pemeliharaan informasi. Informasi yang dimaksud dalam konteks ini dapat terdiri dari teks (termasuk numerik dan data tanggal), citra, audio, video, dan objek multimedia lainnya (Kowalsky, 1997). Terdapat beberapa tahap dalam pengembangan sebuah Sistem Pemerolehan Informasi yaitu : pemotongan setiap kata dari data teks hasil scan (Tokenizing), penghilangan kata sambung dan lain sebagainya (Stop-word Removal), pengubahan setiap kata kedalam bentuk dasarnya (Stemming), penataan data guna mempermudah proses pencarian (Indexing), pencarian kembali koleksi oleh pengguna sistem (Searching), dan menampilkan hasil pencarian (Modeling). Tahap-tahap yang dilalui sebelum mencapai tahap Modeling sering disebut Data Preprocessing.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.3. Data Preprocessing
Data preprocessing merupakan tahap awal dalam pengembangan sebuah Sistem Pemerolehan Informasi. Adapun tahap-tahap yang dikerjakan meliputi : scanning data, tokenizing, stop-word removal, dan proses stemming.
2.3.1. Tokenizing
Teks dalam bentuk asli nya, berupa rangkaian karakter tanpa informasi eksplisit mengenai batas-batas kata dan kalimat. Sebelum proses lebih lanjut dapat diterapkan, teks perlu untuk dipotong ke dalam bentuk kata-kata. Proses pemotongan ini disebut tokenization atau tokenizing. Hasil pemotongan biasa disebut sebagai tokens. Tidak hanya kata-kata yang dianggap sebagai tokens, tetapi juga angka, tanda baca, tanda kurung, tanda kutip, dan lainnya (Schmid, 2008).
Sebagai contoh terdapat sebuah kalimat : Andi bermain bola bersama Koko di lapangan. Kalimat tersebut apabila dikenakan proses tokenizing maka akan diperoleh hasil berupa potongan-potongan kata yaitu : Andi; bermain; bola; bersama; Koko; di; lapangan. Dari hasil proses tokenizing, masih diperlukan beberapa langkah sebelum data dapat di proses kedalam bentuk index. Langkah berikut setelah data teks melalui proses tokenizing ini adalah proses stopword removal.
2.3.2. Stopword Removal
Beberapa kata umum yang sering muncul dalam jumlah besar dan tidak memiliki makna yang berarti dalam sebuah kalimat disebuat sebagai stopword
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
(Manning, Raghavan, Schutze, 2008). Contoh-contoh stopword dalam bahasa Inggris seperti : is, am, a, at, the, in, on, dan lain sebagainya.
Salah satu strategi umum yang sering digunakan dalam menentukan kata- kata stopword dalam koleksi kata (dictionary) yang didapatkan adalah dengan mengurutkan kata-kata pada koleksi berdasarkan collecction frequency yaitu frekuensi kemunculan kata bersangkutan didalam seluruh koleksi dokumen. Pada umumnya kata-kata yang termasuk kedalam stopword adalah kata-kata yang memiliki frekuensi kemunculan tertinggi. Pembuangan stopword ini disebut sebagai proses
stopword removal. Proses stopword removal ini memberikan sedikit banyak
sumbangan kedalam hal efisiensi dalam penyimpanan dan pembuatan index dari koleksi kata yang didapatkan melalui proses tokenizing (Manning, 2008).
2.3.3. Stemming
Untuk alasan ketatabahasaan dalam sebuah dokumen teks, akan digunakan berbagai bentuk berbeda dari sebuah kata seperti kata “compute” dapat diubah kedalam beberapa bentuk lain seperti : “computer”, “computing”, “computation”, dan lain sebagainya. Dalam tata bahasa Inggris, hal ini dikenal sebagai penambahan akhiran. Tugas dari proses stemming ini adalah untuk mengubah kembali kata-kata dalam koleksi yang memiliki imbuhan kedalam bentuk kata dasarnya atau kata unik yang sudah pasti menggambarkan kata dasarnya. Salah satu algoritma stemming bahasa Inggris yaitu algoritma Porter Stemmer. Berikut penjelasan mengenai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1. Langkah 1 : menghilangkan kejamakan kata, akhiran –ed dan –ing caresses -> caress ponies -> poni ties -> ti caress -> caress cats -> cat feed -> feed agreed -> agree disabled -> disable matting -> mat mating -> mate meeting -> meet milling -> mill messing -> mess meetings -> meet
2. Langkah 2 : mengubah huruf “y” pada akhir kata menjadi “i” apabila terdapat huruf vokal didalam kata yang stem.
(m>0) ATIONAL → ATE relational → relate (m>0) TIONAL → TION conditional → condition (m>0) ENCI → ENCE valenci → valence (m>0) ANCI → ANCE hesitanci → hesitance
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
(m>0) ABLI → ABLE conformabli → conformable (m>0) ALLI → AL radicalli → radical (m>0) ENTLI → ENT differentli → different (m>0) ELI → E vileli vile (m>0) OUSLI → OUS analogousli → analogous (m>0) IZATION → IZE vietnamization → vietnamize (m>0) ATION → ATE predication → predicate (m>0) ATOR → ATE operator → operate (m>0) ALISM → AL feudalism → feudal (m>0) IVENESS → IVE decisiveness → decisive (m>0) FULNESS → FUL hopefulness → hopeful (m>0) OUSNESS → OUS callousness → callous (m>0) ALITI → AL formaliti → formal (m>0) IVITI → IVE sensitiviti → sensitive (m>0) BILITI → BLE sensibiliti → sensible
3. Langkah 3 : menghilangkan akhiran ganda (double suffix) seperti kata yang berakhiran –ization (mangandung akhiran –ize dan –ation) diubah misal menjadi –ize. (m>0) ICATE → IC triplicate → triplic (m>0) ATIVE → formative → form (m>0) ALIZE → AL formalize → formal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
(m>0) ICAL → IC electrical → electric (m>0) FUL → hopeful → hope (m>0) NESS → goodness → good
4. Langkah 4 : menangani beberapa imbuhan seperti -ic-, -full, -ness dan sebagainya.
(m>1) AL → revival → reviv (m>1) ANCE → allowance → allow (m>1) ENCE → inference → infer (m>1) ER → airliner → airlin (m>1) IC → gyroscopic → gyroscop (m>1) ABLE → adjustable → adjust (m>1) IBLE → defensible → defens (m>1) ANT → irritant → irrit (m>1) EMENT → replacement → replac (m>1) MENT → adjustment → adjust (m>1) ENT → dependent → depend (m>1 and (*S or *T)) ION → adoption → adopt (m>1) OU → homologou → homolog (m>1) ISM → communism → commun (m>1) ATE → activate → activ (m>1) ITI → angulariti → angular
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
(m>1) IVE → effective → effect (m>1) IZE → bowdlerize → bowdler 5. Langkah 5 : menghilangkan akhiran seperti -ant, -ence dan sebagainya.
(m>1) E → probate -> probat, rate -> rate (m=1 and not *o) E → cease → ceas (m > 1 and *d and *L) → single letter controll → control roll → roll 1. Langkah 6 : menghilangkan akhiran terakhir yaitu –e.
Untuk setiap langkah algoritma diatas, terdapat implementasi tertentu yang dilakukan oleh porter, seperti variabel “m” yang merupakan variabel yang menandakan jumlah pasangan vokal-konsonan ditengah kata. Contoh : m=0 TR, EE, TREE, Y, BY. m=1 TROUBLE, OATS, TREES, IVY. m=2 TROUBLES, PRIVATE, OATEN, ORRERY.
2.4. Index
Pengindeksan merupakan bagian yang ditujukan untuk mempercepat pencarian informasi pada sebuah Information Retrieval System. Salah satu bentuk pengindeksan yang kerap digunakan yaitu inverted index / inverted file (Kowalski, 2011). Bentuk dari struktur inverted index dapat dilihat pada gambar 2.2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 2.1. Komponen Inverted IndexSebuah inverted index terdiri dari tiga komponen utama yaitu document file (data pada hasil proses dokumen), dictionary (kamus yang berisi daftar kata unik yang didapat), dan inversion list (daftar letak atau posisi terdapatnya kata tersebut) (Kowalsky, Maybury, 2002).
2.5. Indexing and Searching
Indexing dan Searching merupakan proses yang cukup krusial didalam
sebuah Information Retrieval System dikarenakan kedua hal inilah yang nantinya akan membawa pengaruh besar pada sisi efisiensi (Borko, 1977). Seperti yang diketahui, ukuran sebuah index pada Information Retrieval System akan berpengaruh dalam besarnya sumber daya yang digunakan dan waktu pencarian (retrieval) akan informasi yang diinginkan. Salah satu struktur data yang dapat mengakomodasi kebutuhan tersebut adalah struktur data hash table.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2.6. Hash Table Hash table merupakan sebuah struktur data berbentuk array yang
pengaksesan isinya dilakukan melalui sebuah key value (nilai kunci). Gagasan utama dari stuktur data hash table ini adalah untuk membentuk sebuah pemetaan data dan posisi data tersebut terletak. Sebuah hash table yang baik akan memiliki persebaran data yang merata. Hash value yang digunakan untuk mengakses posisi data dalam
array dihasilkan melalui sebuah hash function.