ABSTRAK
Pencarian dokumen di dalam sebuah komputer sering menjadi hal yang sulit dilakukan. Pencari hanya dihadapkan dengan metode pencarian yang hanya mencocokkan query pencarian pengguna dengan nama dari file-file yang dicari. Hal ini menyebabkan pencarian menjadi sulit dilakukan jika pengguna tidak mengetahui nama file yang dicari. Sebaliknya pengguna biasanya mengetahui isi dari dokumen apa yang ingin dicari. Tujuan dari pengembangan aplikasi ini adalah membantu memudahkan pencarian dokumen dengan memperhitungkan isi dari suatu dokumen dan juga dapat menyajikan hasil pencarian secara cepat. Aplikasi ini menerapkan metode temu-balik informasi untuk membangun sebuah mesin pencarian di mana untuk setiap dokumen akan dilakukan proses indexing terlebih dahulu dan hasil indexing akan disimpan di dalam suatu basis data. Hasil penelitian menunjukkan bahwa penggunaan metode temu-balik informasi dapat membantu dalam pencarian dokumen dengan mudah dan cepat.
Kata Kunci: Temu-balik informasi, index, inverted index, mesin pencarian, desktop search, Linux, daemon
ABSTRACT
Usually, searching for a document in a personal computer is a difficult task to do. User is faced with a searching method where application only match use query with file name. Because of this, searching become difficult to do if user don't know the name of the file that they were looking for. In the other hand, user usually know the contant or topic of the file that they were looking for. The purpose of developing this application is to help user to search for a document by taking into account the document’s content and produce result quickly. This application implements information retrieval method to build a search engine where each document will be indexed and the index will be stored in a database. Research result showed that using information retrieval can help searching for a document easily and quickly.
Keywords: Information retrieval, index, inverted index, search engine, desktop search, Linux, daemon
DAFTAR ISI
2.1.2 White-Box Testing dan Unit Testing...4
2.2 Unified Modeling Language (UML)...5
2.4.2.1 Vector Space Retrieval Model...15
BAB III ANALISIS DAN DESAIN...19
3.1 Analisis...19
3.2.5.1 Fitur Crawling Dan Indexing...28
3.3.2 Rancangan Antarmuka...40
3.3.2.1 Form Pencarian...40
3.3.2.2 Form Konfigurasi...41
BAB IV PENGEMBANGAN PERANGKAT LUNAK...43
4.1 Form Pencarian...43
4.2 Form Konfigurasi...44
4.3 Potongan Kode Penting...45
4.3.1 Proses Tokenization...45
4.3.2 Proses Perhitungan Kecocokkan Query dan Dokumen...50
BAB V TESTING DAN EVALUASI SISTEM...54
5.1 Rencana Pengujian...54
5.2 Pelaksanaan Pengujian...54
5.2.1 Fitur Pencarian...54
5.2.2 Fitur Indexing...54
5.2.3 Fitur Include Directory...55
5.2.4 Fitur Exclude Directory...56
5.3 Perhitungan Kecepatan Pencarian...56
BAB VI KESIMPULAN DAN SARAN...59
6.1 Kesimpulan...59
6.2 Saran...59
DAFTAR PUSTAKA...61
DAFTAR GAMBAR
Gambar 2.1 Contoh use case diagram...6
Gambar 2.2 Contoh class diagram...7
Gambar 2.3 Contoh activity diagram...9
Gambar 2.4 Proses indexing...11
Gambar 2.5 Proses query...12
Gambar 2.6 Contoh dokumen beserta bentuk vektornya...15
Gambar 3.1 Use case diagram...30
Gambar 3.2 Activity diagram Pencarian...33
Gambar 3.3 Activity diagram Include Direktori...34
Gambar 3.4 Activity diagram Exclude Direktori...35
Gambar 3.5 Activity diagram Start/Stop Indexing...36
Gambar 3.6 Class diagram tokenizer...37
Gambar 3.7 Class diagram dokumen...37
Gambar 3.8 Class diagram indexer...38
Gambar 3.9 Desain Antarmuka Form Pencarian...39
Gambar 3.10 Desain Antarmuka Form Konfigurasi...40
Gambar 4.1 Tampilan pencarian yang masih kosong...41
Gambar 4.2 Tampilan pencarian saat pengguna melakukan pencarian...42
Gambar 4.3 Tampilan konfigurasi aplikasi...43
BAB I
PENDAHULUAN
1.1 Latar Belakang
Kebutuhan informasi yang cepat di era internet sekarang ini sudah menjadi kebutuhan hampir setiap orang. Fenomena ini bisa terlihat dari begitu populernya mesin pencarian (search engine) seperti google search, yang menempati urutan teratas sebagai situs yang paling sering dikunjungi oleh pengguna internet. Kecepatan dan ketepatan memberikan hasil pencarian mungkin merupakan alasan
utama kepopuleran tersebut. Kita bisa melihat bagaimana mesin pencarian memberikan hasil pencarian yang seketika pada saat pengguna mengetikkan kata kunci pencarian. Selain itu, mesin pencarian juga bisa mengurutkan hasil pencarian berdasarkan relevansinya dengan kata kunci yang dimasukkan pengguna.
Sayangnya, kemudahan pencarian informasi seperti mesin pencarian tidak dapat kita manfaatkan untuk melakukan pencarian informasi di dalam komputer pribadi kita sendiri. Untuk hal ini, kita dihadapkan dengan aplikasi pencarian yang mencari berdasarkan nama file dan beberapa kriteria seperti tipe file, tanggal
pembuatan file, serta beberapa metadata file lainnya saja. Dengan metode pencarian seperti ini, kita tidak dapat benar-benar mencari informasi di dalam komputer melainkan kita hanya melakukan pencarian file saja.
Dengan melihat latar belakang ini, kebutuhan akan mesin pencarian di dalam komputer pribadi semakin penting. Dengan mesin pencarian lokal ini,
pengguna bisa melakukan pencarian dengan mengetikkan kata kunci atau informasi yang ingin dicari, bukan hanya nama file saja.
1.2 Rumusan Masalah
Dari latar belakang di atas, dapat dirumuskan beberapa masalah sebagai
berikut:
1. Bagaimana membangun aplikasi pencarian dalam sistem operasi Linux
2
yang dapat memberikan hasil pencarian sesaat setelah pengguna
memasukkan query pencarian?
2. Bagaimana membangun aplikasi pencarian yang juga mencari di dalam isi dari dokumen pada sistem operasi Linux?
3. Bagaimana membangun aplikasi pencarian yang yang disusun
berdasarkan tingkat relevansi dengan query?
1.3 Tujuan Pembahasan
Adapun tujuan dari tugas akhir ini adalah:
1. Membangun aplikasi pencarian yang dapat menampilkan hasil
pencarian sesaat setelah pengguna memasukkan query pencarian. 2. Membangun aplikasi pencarian yang tidak hanya mencari berdasarkan
nama file tetapi juga isi dari file/dokumen yang dicari.
3. Membangun aplikasi pencarian yang menampilkan hasil pencarian yang disusun berdasarkan tingkat kecocokkan dengan query.
1.4 Ruang Lingkup Kajian
Aplikasi ini dikembangkan secara umum untuk menangani hal-hal sebagai berikut:
1. Pengindeksan yang selalu berjalan selama sistem beroperasi, yang juga
mengamati perubahan pada file sehingga dapat melakukan pengindeksan ulang.
2. Antarmuka pengguna untuk melakukan pencarian.
3
dalam laporan ini:
BAB I PENDAHULUAN
Bab ini berisikan tentang latar belakang, perumusan masalah, tujuan batasan masalah, sumber data dan sistematika penulisan yang digunakan dalam penulisan Tugas Akhir ini.
BAB II KAJIAN TEORI
Bab ini berisi tentang landasan teori yang digunakan, teori-teori, dan prinsip-prinsip dalam perancangan program.
BAB III ANALISIS DAN RANCANGAN SISTEM
Bab ini berisi tentang analisis dan juga perancangan aplikasi yang dibuat
dalam pembuatan aplikasi dalam bentuk class diagram, activity diagram, dan rancangan antarmuka.
BAB IV HASIL PENELITIAN
Bab ini berisi tentang hasil yang telah dicapai lewat aplikasi.
BAB V PEMBAHASAN DAN UJI COBA HASIL PENELITIAN
Bab ini berisi mengenai evaluasi dari aplikasi yang dikerjakan. BAB VI SIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran untuk “Implementasi Mesin Pencarian untuk pembuatan Desktop Search di Sistem operasi Linux”
yang dapat digunakan untuk pengembangunan aplikasi ini.
BAB VI
KESIMPULAN DAN SARAN
Berdasarkan penelitian yang telah dilakukan, maka pada bab ini penulis
akan memberikan saran dan simpulan tentang “Implementasi Mesin Pencari untuk
pembuatan Desktop Search di Sistem operasi Linux”.
6.1 Kesimpulan
Simpulan yang didapat setelah melakukan perancangan dan implementasi
pada program yang dibuat adalah sebagai berikut:
1. Pencarian dokumen di dalam komputer dengan cepat dapat memanfaatkan
metode temu-balik informasi (information retrieval) dengan melakukan
indexing pada setiap dokumen dan disimpan di dalam basis data sebelum
melakukan pencarian, dengan begini dokumen tidak perlu lagi di-scan
setiap kali pengguna melakukan pencarian.
2. Pencarian dokumen dengan melihat isi dari dokumen dapat dilakukan
dengan merekam setiap kata-kata di dalam dokumen dan menyimpannya
ke dalam sebuah basis data dalam bentuk inverted index sebelum
pengguna melakukan pencarian.
3. Menghitung nilai relevansi antara query pencarian yang dimasukkan oleh
pengguna dengan dokumen yang ada di dalam komputer dapat dilakukan
dengan menggunakan penghitungan cosine similarity antara query dan
index dari dokumen yang telah disimpan sebelumnya.
6.2 Saran
Saran sangat diperlukan bagi aplikasi ini agar dapat berkembang dengan
lebih baik. Tujuannya agar aplikasi ini dapat lebih informatif dan lebih
bermanfaat. Saran-saran pengembangan aplikasi ini, antara lain:
1. Aplikasi bisa membedakan setiap bagian di dalam suatu dokumen. Bagian
dokumen seperti judul topik, sub-topik, serta kata-kata yang bercetak
61
miring atau tebal bisa dianggap lebih penting dari kata-kata lainnya.
2. Dokumen-dokumen yang duplikat atau hampir duplikat dapat
dikelompokkan ke dalam suatu kelompok dokumen sehingga query
pencarian tertentu tidak menghasilkan semua dokumen-dokumen
duplikat atau hampir duplikat tersebut.
3. Aplikasi mendukung lebih banyak tipe file lagi sehingga pengguna
dapat memiliki dokumen dengan tipe file sesuai keinginannya.
DAFTAR PUSTAKA
Baeza-Yates, Ricardo. 1990. “Modern Information Retrieval”. USA:
Addison-Wesley.
Croft, W. Bruce. 2010. “Search Engines Information Retrieval in Practice”.
Pearson Education Inc.
Davis, M. 2014. “Unicode Standard Annex #29 Unicode Text Segmentation”
Retrieved 30 Desember 2014 from: http://www.unicode.org/reports/tr29/
Manning, Christopher D. 2009. “An Introduction to Information Retrieval”.
Cambridge University Press.
Schmuller, Joseph. 2004. “Sams Teach Yourself UML in 24 Hours, Complete
Starter Kit (3rd Edition)”. Sams Publishing.
Smith, Bob. Hardin, John. Philips, Graham. Pierce, Bill. 2007. “Linux Appliance
Design”. William Pollock.