Sistem Temu Kembali Informasi (STKI) didefinisikan sebagai pencarian atau penemuan dokumen yang tidak terstruktur yang memenuhi kebutuhan informasi dari data dalam jumlah besar (Manning et al, 2009). Menurut Hasugian (2008) terdapat lima komponen yang memiliki peran penting dalam proses temu kembali informasi. yaitu :
1. Pengguna, yaitu orang yang menggunakan dan sistem
2. Query, yaitu format bahasa yang digunakan oleh pengguna kedalam Sistem Temu Kembali Informasi.
3. Dokumen, yaitu istilah yang digunakan untuk bahan pustaka..
4. Indeks dokumen, yaitu istilah atau kata yang disimpan kedalam database yang berfungsi sebagai representasi sebuah dokumen.
5. Pencocokan, yaitu pembandingan istilah yang dimasukkan oleh pengguna dengan indeks dokumen yang ada.
Pada tahapan pembangunan index dokumen suatu dokumen harus melalui tahapan berikut.
1. Tokenization adalah memecah dokumen menjadi kumpulan kata, dimana dalam proses pemecahan ini dilakukan pengubahan semua huruf kapital menjadi huruf kecil dan juga proses penghilangan tanda baca.
2. Filtering adalah proses penghilangan kata yang tidak relevan dengan suatu artikel, diantaranya adalah kata sambung dan kata tanya.
3. Stemming adalah proses pengembalian suatu kata menjadi kata dasar dengan menggukan algoritma pemecah kata yang berbeda pada tiap bahasa.
4. Term weighting atau pembobotan kata adalah pembobotan dasar penghitungan nilai frekuensi kemunculan suatu kata
(term). Frekuensi kemunculan term adalah petunjuk sejauh manakah suatu term tersebut mewakili suatu dokumen.
Gambar 1. Model ruang vektor
2. Vector space model
Vector space model (VSM) atau model ruang vektor adalah suatu metode untuk merepresentasikan dokumen dan query dalam bentuk vektor pada ruang multidimensional (Singh dkk, 2012). Dimana tiap kata (term)
yang menyusun suatu dokumen menjadi banyak dimensi dari suatu dokumen. Dokumen sendiri diwujudkan dalam bentuk vektor berarah sesuai dengan term yang membentuknya dan nilai kedekatan antar dokumen dihitung dari nilai sudut antar vektor yang berdekatan.
Pada gambar 1 terlihat sudut θ1 yang dibentuk antara Q dan D1 dan θ2 untuk sudut yang dibentuk oleh Q dan D2, sudut inilah yang memperlihatkan nilai kedekatan vektor
query dan vektor dokumen, dimana semaki kecil sudutnya semakin besar pula nilai kedekatannya. Sudut yang dibentuk oleh dua buah vektor dapat dihitung dengan melakukan perkalian dalam (inner product), sehingga rumus relevansinya, adalah:
Dimana : Q = bobot query D = Bobot dokumen |Q| = Panjang query |D| = Panjang dokumen
Dari hasil persamaan diatas didapatkan nilai similarity antara query dan dokumen – dokumen pada koleksi, sehingga akan didapatkan hasil dokumen yang telah
Jurnal Elektronik Ilmu Komputer - Universitas Udayana JELIKU Vol 2 No. 3 Agustus 2013
44 terangking berdasarkan nilai kesamaan tersebut.
3. Stemming Arifin
Steming arifin digunakan untuk pemotongan kata sehingga didapat kata dasar dari kata tersebut. Berikut langkah-langkah steming arifin.
Setiap kata diasumsikan memiliki 2 awalan (prefiks) dan 3 akhiran (sufiks), dengan susunan Prefiks 1 + Prefiks 2 + Kata dasar + Sufiks 3 + Sufiks 2 + Sufiks 1
Pemotongan dilakukan secara berurutan dari awalan (AW), akhiran (AK), dan kata dasar (KD)
Jika sampai pada pemotongan AKIII, belum juga ditemukan di kamus, maka dilakukan proses kombinasi. KD yang dihasilkan dikombinasikan dengan imbuhan-imbuhannya dalam 12 konfigurasi berikut: a. KD b. KD + AK III c. KD + AK III + AK II d. KD + AK III + AK II + AK I e. AW I + AW II + KD f. AW I + AW II + KD + AK III g. AW I + AW II + KD + AK III + AK II h. AW I + AW II + KD + AK III + AKII + AKI i. AW II + KD j. AW II + KD + AK III k. AW II + KD + AK III + AK II l. AW II + KD + AK III + AK II + AK I 4. Pembobotan term
Penulis menggunakan metode pembobotan yang dikembangkan oleh Chisholm (1999) yaitu kombinasi dari square root weighting, global frequency IDF, cosine normalisation, untuk pembobotan pada vektor dokumen, serta
binary weighting dan inverse document frequency, dan non normalisasi untuk pembobotan query. Dimana dalam dari penelitian sebelumnya, kombinasi pembobotan ini, dibuktikan memiliki hasil yang lebih baik dibanding dengan pembobotan yang dilakukan pada umumnya.
4.1 Square root weighting
Square root term weighting (SQRT) adalah pembobotan term yang dikembangkan
oleh Chisholm (1999) yang digunakan untuk pembobotan documen yang bersifat lokal. Dimana L adalah bobot lokal untuk term i pada dokumen j, dan f adalah frekuensi maka pembobotan square root dirumuskan dengan.
√ jika, fij > 0 jika fij = 0
4.2 Global frequencyIDF
Penulis menggunakan pembobotan global IDF untuk menghitung boboy global dari suatu dokumen, dimana jika suatu term muncul sekali pada setiap dokumen atau sekali pada satu dokumen, akan diberikan bobot paling kecil. Sebuah term yang secara relatif muncul pada beberapa dokumen akan mendapat bobot yang besar. Dirumuskan seperti berikut.
Dimana Gi adalah bobot global, Fi adalah frekuensi kemunculan term i pada suatu dokumen, dan ni adalah jumlah dokumen yang memuat term i
4.3 Cosine normalisation
Untuk normalisasi penulis menggunakan normalisasi cosine similarity berikut persamaannya.
√∑
Dimana Nj adalah nilai normalisasi suatu dokumen j, m adalah jumlah term pada dokumen j, Gi adalah bobot global dari term i,
dan Lij adalah bobot lokal dari term i pada
dokumen j.
4.4 Binary weighting
Cara ini, akan menghasilkan nilai boolean berdasarkan kemunculan term pada dokumen tersebut. Akan bernilai 0 apabila term tidak ada pada sebuah dokumen, dan bernilai satu apabila term tersebut ada dalam dokumen. Sehingga banyaknya kemunculan term pada sebuah dokumen tidak berpengaruh dituliskan dalam persamaan dibawah ini.
Jurnal Elektronik Ilmu Komputer - Universitas Udayana JELIKU Vol 2 No. 3 Agustus 2013
45 Inverse document frequency (IDF) adalah pembobotan term yang menghitung seberapa besarkah penaruh suatu term terhadap seluruh koleksi dokumen. Berdasarkan konsep memberikan “nilai diskriminasi” pada term dimana semakin sedikit kemunculan term tersebut pada keseluruhan koleksi dokumen, maka semakin besar nilai diskriminasinya (Chisholm & Kolda, 1999) IDF diajukan oleh Sparck Jones, dimana terdapat dua varian IDF yaitu
Dimana Gi adalah bobot global untuk term i, N adalah jumlah koleksi dokumen keseluruhan, dan ni adalah jumlah dokumen yang terdapat term i didalamnya. Dalam penelitian ini penulis menggunakan IDF pertama dikarenakan persamaan IDF kedua akan menghasilkan nilai negatif jika suatu term muncul lebih pada setengah dari keseluruhan koleksi.
5. Damerau Levenhstein metric
Metode Damereu Levenshtein metric
melakukan operasi perbandingan kata-kata dengan memeperhatikan empat macam kesalahan pengetikan. Sebagai contoh kata SALAH, yaitu :
a. Penyisipan sebuah huruf , sebagai contoh SALKAH.
b. Pengapusan sebuah huruf, sebagai contoh SAAH.
c. Penggantian sebuah huruf dengan huruf lain, sebagai contoh SAKAH.
d. Penukan urutan sebuah huruf, sebagai contoh SALHA
Damereu Levenshtein metric menghitung jumlah kesalahan minumum dari dua buah kata, misalkan terdapat dua buah kata yang dinotasikan sebagai s dan t, dan variabel i dan j menyatakan posisi huruf yang dibandingkan pada suatu kata (Phiefer et al, 1994).
( ) ( ) ( )
Dimana fungsi d merupakan fungsi untuk mengukur jarak huruf.
{
Fungsi f(i,j) menghitung jumlah minimum kesalahan – kesalahan dari perbandingan i karakter kata pertama dengan j karakter pada kata kedua. Jarak antara kedua string adalah f(m,n), dimana m merupakan panjang string pertama, dan n adalah panjang string kedua.
Term Dokumen Id_dokumen
Id_dokumen juduljudul
Isi dokumen Isi dokumen
Lokasi Lokasi
Id_term
Id_term TermTerm
Kata dasar Stopword Id_katadasar Id_katadasar Kata dasar Kata dasar Id_stopword Id_stopword Stopword Stopword Memiliki m n
Gambar 2. ERD Sistem pencari referensi PERANCANGAN
1. Entity Relatinship Diagram(ERD)
Rancangan ERD pada aplikasi ini, memiliki 4 entitas yaitu entitas dokumen, entitas term, entitas kata dasar, dan entitas stopword.
Seperti yang terlihat pada gambar 2, pada entitas dokumen taerdiri dari atribut id_dokumen, judul, isi_dokumen, dan lokasi. Untuk entitas term terdiri atribut id_term dan term. Entitas dokumen dan term memuliki relasi many to many.
Pada entitas kata dasar memiliki atribut id_katadasar dan kata_dasar. Pada entitas memiliki atribut id_stopword dan stopword.
Jurnal Elektronik Ilmu Komputer - Universitas Udayana JELIKU Vol 2 No. 3 Agustus 2013
46
2. Flowchart mesin pencari
Flowchat mesin pencari dapat dilihat pada gambar 3, dimana prosesnya meliputi.
1. Penginputan query kata kunci yang akan dicari.
2. Proses tokenizing, proses dimana string inputan dibaca, dan dipecah kedalam bagian perkata.
3. Filtering, proses dimana tanda baca dan kata hubung dihilangkan.
4. Stemming, proses pencarian kata dasar dari suatu kata.
5. Dari hasil stemming akan dilakukan perbandingan dengan kamus bahasa,
untuk memastikan ketepatan hasil
stemming.
6. Proses sugesti kata dilakukan bila kata query tidak terdapat dalam kamus. 7. Kemudian dilakukan proses
pembobotan untuk mengeetahui bobot
term-term pada query
8. Dilakukan perhitungan nilai similarity, untuk menentukan dokumen mana sajakah yang sesuai dengan kata kunci pencarian.
9. Sorting berdasarkan nilai similarity secara descending.
10. Tampilkan hasil pencarian.
Mulai query Tokenizing Filtering Stemming Ada dalam kamus Penghitungan bobot Similarity Damereu
Levenshtein Kata Usulan
Sorting Hasil Sorting Kamus kata dasar Inverted Indexs Daftar stop words N Y Akhir
Gambar 3. Flowchart aplikasi pencarian
3. Diagram Konteks
Diagram konteks ditunjukan pada gambar 4. Pada gambar tersebut menunjukan bahwa sistem menerima masukan dari 2 entitas yaitu user dan aplikasi client. Entitas user, menginputkan index dokumen yang dijadikan dasar pencarian. Sedangkan perintah
pelaksanaan pencarian datang dari aplikasi client.
Data flow doagram dari aplikas mesin pencari ini dapat dilihat dari gambar 5. Terdapat 11 proses dalam aplikasi ini, dimana proses 1 sampai dengan 4 adalah proses pengunggahan index dokumen pencarian. Sedangkan proses pencarian dokumen
Jurnal Elektronik Ilmu Komputer - Universitas Udayana JELIKU Vol 2 No. 3 Agustus 2013
47
berdasarkan kata kunci dilakukan dari proses 5 sampai dengan proses 11.
User
0 Web service mesin
pencari
Aplikasi client Upload Dokumen
Laporan dokumen terupload Hasil Pencarian
Input query
Gambar 4. Diagram konteks pencarian referensi
4. DFD User 1 Tokenizing 2 Filtering 3 Stemming 4 Pembentukan Index dokumen Db dokumen 9 Pembobotan User 5 Tokenizing 6 Filtering 7 Stemming 8 Perbaikan Kata 10 Hitung cosine similarity 11 Sorting Hasil Kamus Kata Dasar Term Index Kamus Stopword Upload dokumen
Isi dokumen Isi dokumen Term Dokumen
Term
Isi Query
Laporan upload
Query
Isi query Term Term
Frequensi term
Bobot dokumen & query
Nilai Cosine similarity Hasil sorting
Data stopword Data kata dasar Data kata dasar Data stopword
Db dokumen Data dokumen
Data kata dasar
Jurnal Elektronik Ilmu Komputer - Universitas Udayana JELIKU Vol 2 No. 3 Agustus 2013
48