LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN...
Transcript of LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN...
i
LAPORAN TAHUN
TERAKHIR
PENELITIAN DOSEN PEMULA
STUDI KOMPARASI DYNAMIC QUERY SUGGESTION BERBASIS STRING
SIMILARITY
Tahun ke- 1 dari rencana 1 tahun
TIM PENGUSUL :
Jabatan Nama NIDN
Ketua I Komang Rinartha Yasa
Negara, ST., MT
0806058502
Anggota I Wayan Suryasa, S.S.,
M.Hum
0805078101
SEKOLAH TINGGI MANAJEMEN INFORMATIKA
(STMIK) STIKOM BALI
OKTOBER 2017
ii
iii
DAFTAR ISI
HALAMAN PENGESAHAN .......................................................................................... ii
DAFTAR ISI ................................................................................................................... iii
DAFTAR TABEL ............................................................................................................ v
DAFTAR GAMBAR ....................................................................................................... vi
DAFTAR LAMPIRAN .................................................................................................. vii
RINGKASAN ................................................................................................................ viii
BAB I PENDAHULUAN ................................................................................................ 1
1.1 Latar Belakang ................................................................................................... 1
1.2 Perumusan Masalah ........................................................................................... 2
1.3 Luaran Penelitian ............................................................................................... 2
1.4 Kontribusi Keilmuan .......................................................................................... 3
BAB II TINJAUAN PUSTAKA ...................................................................................... 4
2.1 Penelitian Terdahulu .......................................................................................... 4
2.2 Dynamic Query Suggestion ............................................................................... 5
2.3 Levenshtein Distance ......................................................................................... 5
2.4 Jaccard Algorithm .............................................................................................. 6
2.5 MySQL pattern matching .................................................................................. 7
2.6 MySQL Fulltext Index ....................................................................................... 7
BAB III TUJUAN DAN MANFAAT PENELITIAN ...................................................... 8
3.1 Tujuan Penelitian ............................................................................................... 8
3.2 Manfaat Penelitian ............................................................................................. 8
BAB IV METODE PENELITIAN ................................................................................... 9
4.1 Tahapan Penelitian ............................................................................................. 9
4.2 Tempat dan Waktu Penelitian .......................................................................... 10
4.3 Bahan dan Alat ................................................................................................. 10
BAB V HASIL DAN LUARAN YANG DICAPAI ...................................................... 12
5.1 Analisis Query Suggestion Berbasis Jaccard Similarity .................................. 12
5.2 Data Yang Digunakan ...................................................................................... 13
5.3 Implementasi Jaccard Similarity ...................................................................... 13
5.4 Perbandingan Jaccard Similarity Dengan MySQL Pattern Matching ............. 18
iv
5.5 Perbandingan Jaccard Similarity, MySQL Pattern Matching, Levenshtein
Distance dan MySQL Fulltext Index .......................................................................... 19
5.6 Luaran yang dicapai ......................................................................................... 23
BAB VI KESIMPULAN DAN SARAN ........................................................................ 28
6.1 Kesimpulan ...................................................................................................... 28
6.2 Saran ................................................................................................................ 28
DAFTAR PUSTAKA ..................................................................................................... 29
LAMPIRAN ................................................................................................................... 31
v
DAFTAR TABEL
Tabel 5. 1 Potongan kode program untuk menampilkan saran ...................................... 14
Tabel 5. 2 Potongan kode program ajax menampilkan saran ......................................... 16
Tabel 5. 3 Potongan kode program untuk menampilkan informasi ............................... 16
Tabel 5. 4 Potongan kode program ajax menampilkan informasi .................................. 17
Tabel 5. 5 Perbandingan waktu proses ........................................................................... 21
Tabel 5. 6 Tabel waktu proses MySQL Pattern Matching dengan jumlah data yang
berbeda............................................................................................................................ 21
Tabel 5. 7 Tabel waktu proses Jaccard Similarity dengan jumlah data yang berbeda ... 21
Tabel 5. 8 Tabel waktu proses Levenshtein distance dengan jumlah data yang berbeda22
Tabel 5. 9 Tabel waktu proses MySQL Fulltext Index dengan jumlah data yang berbeda
........................................................................................................................................ 22
Tabel 5. 10 Kedekatan pencarian dan kekuatan pencarian dari suggestion dan ............. 22
Tabel 5. 11 perangkingan score pada masing-masing metode ....................................... 23
vi
DAFTAR GAMBAR
Gambar 5. 1 Proses Query Suggestion ........................................................................... 12
Gambar 5. 2 Perancangan database ................................................................................ 13
Gambar 5. 3 Jumlah data uji ........................................................................................... 13
Gambar 5. 4 Simulasi query suggestion ......................................................................... 14
Gambar 5. 5 Ketika user memilih artikel ....................................................................... 18
Gambar 5. 6 Perbandingan MySQL Pattern matching dan Jaccard Similarity .............. 18
Gambar 5. 7 Bukti publikasi artikel ilmiah .................................................................... 24
Gambar 5. 8 Cover prosiding publikasi .......................................................................... 25
Gambar 5. 9 Daftar isi prosiding .................................................................................... 26
Gambar 5. 10 Abstrak prosiding .................................................................................... 27
vii
DAFTAR LAMPIRAN
Lampiran 1 Instrumen Poster ................................................................................... 32
Lampiran 2 Artikel Ilmiah Jurnal ............................................................................. 33
Lampiran 3 Status Submission Jurnal Nasional ....................................................... 39
Lampiran 4 Artikel Ilmiah Seminar Internasional ................................................... 40
Lampiran 5 Status Submission Seminar Internasional ............................................. 45
Lampiran 6 Laporan Penggunaan Dana Penelitian .................................................. 48
viii
RINGKASAN
Pencarian informasi melalui website merupakan sesuatu hal yang tidak asing lagi.
Dalam perkembangannya, pencarian data dapat dilakukan dengan menggunakan kata
kunci pencarian berdasarkan pencarian sebelumnya. Selain dengan menggunakan
pencarian sebelumnya, pencarian data juga dapat menggunakan acuan data yang
terdapat di database sehingga data yang dicari sesuai dengan data yang terdapat pada
database. Dynamic query suggestions sudah banyak diterapkan pada website pencarian
informasi untuk mempermudah proses pencarian informasi yang diinginkan. Beberapa
metode yang dapat digunakan dalam query suggestion yaitu MySQL Pattern Matching,
MySQL Fulltext Index, Levenshtein Distance, Jaccard Similarity dan akan
dibandingkan dalam hal waktu proses, kedekatan pencarian data dengan suggestion,
menghitung peringkat kedekatan data dan diurut dari data terdekat, kekuatan pencarian
data berdasarkan dari jumlah kata yang dimasukkan, kekuatan pencarian data dari
jumlah data yang dapat disarankan. Dari beberapa konsep sederhana dynamic query
suggestion, perlu diketahui metode yang lebih baik digunakan dalam dynamic query
suggestion. Metode Dynamic query suggestion diimplementasikan dalam bentuk
website artikel menggunakan bahasa pemrograman PHP, database MySQL, responsive
web design dan juga menggunakan AJAX. Dari perbandingan antara jaccard similarity
dengan MySQL pattern matching didapatkan bahwa MySQL Fulltext Index
menghasilkan data saran yang paling akurat dibandingkan dengan metode lainnya
namun memerlukan waktu proses yang lebih lama daripada jaccard similarity. Jaccard
similarity memerlukan waktu yang singkat untuk memberikan saran namun memiliki
tingkat akurasi yang kurang baik dibandingkan dengan MySQL Fulltext Index.
Levenshtein distance kurang sesuai digunakan dalam query suggestion karena
memerlukan waktu proses yang lama dan hasil suggestion yang kurang akurat.
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pencarian data melalui internet sudah sangat berkembang seiring dengan dukungan
perkembangan hardware. Dalam perkembangannya, pencarian data dapat dilakukan
dengan menggunakan kata kunci pencarian berdasarkan pencarian sebelumnya. Selain
dengan menggunakan pencarian sebelumnya, pencarian data juga dapat menggunakan
acuan data yang terdapat di database sehingga data yang dicari sesuai dengan data yang
terdapat pada database.
Dynamic query suggestions sudah banyak diterapkan pada website pencarian informasi
untuk mempermudah proses pencarian informasi yang diinginkan. Dynamic query
suggestion tidak lepas dari form autocomplete pada sebuah form input data pada web.
Autocomplete merupakan pola yang pertama kali muncul dalam bantuan fungsi aplikasi
dekstop, dimana pengguna mengentrikan teks ke dalam kotak kemudian saran
pengetikan akan muncul secara otomatis (Primadani, 2014). Form autocomplete
merupakan fitur dalam sebuah form input untuk menampilkan data-data sesuai dengan
data yang diketik oleh pengguna. Fitur autocomplete dengan query suggestion sering
ditemui pada search engine dan juga form input dalam website.
Selama beberapa tahun terakhir, Google, Bing dan Yahoo! secara konsisten dilaporkan
sebagai tiga mesin pencari web utama. Mereka berbagi sekitar 96% dari search market,
yaitu Google (66,9%) Bing (18,1%) dan Yahoo! (11,1%). Selama beberapa tahun
terakhir, tiga mesin pencari ini telah memperkenalkan istilah dynamic term/query
suggestions untuk mendukung pengguna dalam perumusan query, reformulasi atau
perluasan query (Shiri & Zvyagintseva, 2014). Beberapa metode yang dapat digunakan
dalam query suggestion yaitu MySQL Pattern Matching, MySQL Fulltext Index,
Levenshtein Distance, Jaccard Similarity dan masih banyak lagi metode yang dapat
diimplementasikan. Dari beberapa konsep sederhana dynamic query suggestion, perlu
diketahui metode yang lebih baik digunakan dalam dynamic query suggestion.
Website merupakan salah satu teknologi yang digunakan untuk memberikan simulasi
form autocomplete. Teknologi web yang banyak berkembang saat ini adalah teknologi
web responsive. Web responsive adalah desain web yang dapat digunakan secara
fleksibel dibuka dari komputer dengan berbagai resolusi layar. Selain dengan teknologi
2
responsive, website juga dibangun dengan menggunakan teknologi AJAX dan bahasa
pemrograman PHP serta database MySQL. Web konvensional pada umumnya tidak
dapat dilihat dengan baik pada resolusi display yang berbeda-beda.
Ajax merupakan teknologi yang menggabungkan beberapa teknik pemrograman
javascript, PHP dan MySQL yang ditampilkan dengan menggunakan HTML sebagai
desain user interface. AJAX dapat merubah sebagian halaman website tanpa harus
merubah keseluruhan halaman website seperti yang website konvensional lakukan
sehingga permintaan terhadap halaman website dapat dilakukan kapan saja tanpa
menggunakan waktu tunggu untuk meminta halaman website secara keseluruhan.
1.2 Perumusan Masalah
Berdasarkan pada permasalahan yang telah dijelaskan pada bagian latar belakang, maka
rumusan masalah dikhususkan pada :
1. Bagaimana mengimplementasikan konsep dynamic query suggestion pada
aplikasi web pencarian.
2. Bagaimana proses kerja dari masing-masing metode yang dapat digunakan
dalam dynamic query suggestion.
3. Bagaimana mengimplementasikan dynamic query suggestion menggunakan
metode MySQL pattern matching, MySQL Fulltext Index, Levenshtein Distance
dan Jaccard Similarity.
4. Bagaimana perbandingan antara metode MySQL pattern matching, MySQL
Fulltext Index, Levenshtein Distance dan Jaccard Similarity pada dynamic query
suggestion.
5. Bagaimana tingkat efektifitas (waktu proses, kedekatan pencarian data dengan
suggestion, menghitung peringkat kedekatan data dan diurut dari data terdekat,
kekuatan pencarian data berdasarkan dari jumlah kata yang dimasukkan,
kekuatan pencarian data dari jumlah data yang dapat disarankan) dari metode
yang dibandingkan.
1.3 Luaran Penelitian
Adapun luaran dari penelitian ini adalah sebagai berikut :
No Jenis Luaran Indikator Capaian
1 Publikasi ilmiah di jurnal nasional (ber ISSN) Submitted
2 Pemakalah dalam temu ilmiah Nasional Terdaftar
3
Lokal
3 Bahan ajar Tidak ada
4 Luaran lainnya jika ada (Teknologi Tepat Guna,
Model/Purwarupa/Desain/Karya seni/ Rekayasa Sosial)
Penerapan
5 Tingkat Kesiapan Teknologi (TKT) 5
1.4 Kontribusi Keilmuan
Dalam bidang keilmuan, penelitian dynamic query suggestion dapat menambah
pengetahuan tentang konsep query suggestion yang banyak digunakan pada website
pencarian data dengan responsive web design dan juga teknologi AJAX dalam web
programming. Perbandingan metode sederhana pada dynamic query suggestion
dilakukan untuk mengetahui metode yang sebaiknya digunakan sebagai query
suggestion sesuai dengan karakteristik data yang akan dicari.
4
BAB II
TINJAUAN PUSTAKA
2.1 Penelitian Terdahulu
Lintang dkk pada tahun 2014 dalam penelitiannya tentang analisis fitur autocomplete
suggestion dan semantik pada pencarian di mesin pencari google menyatakan bahwa
Fitur autocomplete suggestion merupakan fitur yang diimplementasikan pada web
browser dan mesin pencari yang memungkinkan web browser atau mesin pencari untuk
memberikan saran pencarian ketika baru beberapa kata diketikan dalam kolom
pencarian atau address bar. Fitur-fitur pada autocomplete Google menampilkan
beberapa sugesti pencarian berdasarkan pada: letak geografis dan bahasa yang
digunakan dalam pencarian, kata kunci populer yang sering dicari, dan riwayat
pencarian dari pengguna yang bersangkutan. Autocomplete Google juga dapat
membetulkan ejaan yang salah saat pengguna memasukkan kata kunci dengan adanya
fitur spelling correction (Banowosari, Darmawan, Kurniawan, & Mitchell, 2014).
Suthira P dan John Q Gan pada tahun 2015 dalam penelitiannya tentang query
suggestion menggunakan metode TF-IDF dan Jaccard pada web search menyatakan
bahwa query expansion adalah sebuah teknik untuk memperluas query dengan kata
yang berrelasi dan secara luas digunakan untuk query suggestion. Query expansion
bertujuan untuk meningkatkan pemanggilan dokumen yang relevan. Query
reformulation atau dynamic query suggestion lebih kompleks dibandingkan dengan
qquery expansion, yang membentuk query baru menggunakan model-model tertentu
(Plansangket & Gan, 2015).
Yang JM dkk pada tahun 2008 dalam penelitiannya search based query suggestion
menyatakan bahwa Query suggestion telah dianggap fitur yang harus dimiliki oleh
search engine. Query suggestion yang ada saat ini dapat dibagi menjadi dua kategori
berdasarkan data yang digunakan, yang pertama menggunakan data data log dan yang
kedua menggunakan data pencarian. Query suggestion berdasar pada data log dan data
pencarian memiliki kelebihan dan kekurangan masing-masing sehingga mereka dapat
dijalankan pada query yang berbeda (Yang, et al., 2008).
5
2.2 Dynamic Query Suggestion
Dynamic query suggestion yang juga dikenal sebagai pre-query submission query
suggestion atau query auto completion yang merujuk sebuah system atau paradigm
pemrograman yang mengijinkan user mengetik beberapa huruf yang akan menjadi
acuan serangkaian saran yang akan dapat dipilih oleh user. Hasil dari seluruh saran yang
diberikan oleh dynamic query suggestion merupakan versi lengkap dari yang diketik
oleh user dan ketika user memilih salah satu saran yang diberikan, maka system akan
memberikan hasil pencarian sesuai dengan kata kunci lengkap yang dimasukkan
(Hawking & Griffiths, 2013). Dynamic query suggestion biasanya digunakan pada
search engine yang banyak terdapat di internet. Dynamic query suggestion
menggunakan AJAX sebagai pola programming untuk mengubah sebagian halaman
web tanpa harus mengubah keseluruhan halaman web.
Gambar 2.1 contoh query suggestion
2.3 Levenshtein Distance
Dalam terori informasi dan computer science, levenshtein distance merupakan metric
yang digunakan untuk mengukur keterbedaaan jarak antara dua string. Levenshtein
distance antara dua string ditentukan berdasarkan jumlah minimum perubahan yang
diperlukan untuk melakukan transformasi dari satu bentuk string ke bentuk string yang
6
lain. Operasi yang dilakukan dan diperbolehkan digunakan dalam menentukan
levenshtein distance ini ada 3 macam operasi yaitu (Andhika, 2010) :
a. Insertion
Insertion adalah operasi melakukan penyisipan sebuah karakter ke dalam sebuah
string tertentu. Misalnya, penulis ingin menyisipkan sebuah karakter „a‟ ke dalam
sebuah string “kenpa” tepat setelah karakter „n‟. Dengan dilakukannya insertion,
string yang tadinya “kenpa” akan menjadi “kenapa”
b. Deletion
Deletion adalah operasi melakukan penghilangan atau penghapusan sebuah karakter
tertentu dari sebuah string. Misalnya, penulis ingin menghapus karakter „n‟ pada
string “kenpa”. Setelah dilakukan deletion, string akan menjadi “kepa”.
c. Substitution
Substitution adalah operasi menukarkan sebuah karakter pada string tertentu
dengan karakter lain. Misalnya, penulis ingin menukarkan karakter „n‟ pada string
“kenpa” dengan karakter baru „m‟. Setelah dilakuannya substitution, string akan
menjadi “kempa”.
Algoritma levensthein yang digunakan ini merupakan aloritma buatan Vladimir
Levenshtein yang berhasil beliau temukan pada tahun 1965. Pada saat itu, beliau
berhasil menemukan “distance” antara dua string masukan. Yang dimaksud dengan
distance, seperti yang telah disebutkan di atas, adalah jumlah modifikasi yang
dibutuhkan untuk mengubah suatu bentuk string ke bentuk string yang lain. Sebagai
contoh hasil penggunaan algoritma ini, string “apabila” dan “pabila” memiliki distance
1 karena hanya perlu dilakukan satu operasi saja untuk mengubah satu string ke string
yang lain. Dalam kasus dua string di atas, string “pabila” dapat menjadi “apabila” hanya
dengan melakukan satu sisipan karakter „a‟ sebelum string “pabila” (Andhika, 2010).
2.4 Jaccard Algorithm
Jaccard Algorithm atau juga disebut dengan Jaccard Index dan juga dikenal dengan
Jaccard Coefficient adalah sebuah nilai yang didapatkan dari membandingkan kemiripan
ataupun perbedaan dari sebuah data set. Perhitungan koefisien Jaccard similarity antara
dua kumpulan data adalah didapat dari hasil pembagian antara jumlah data yang sama
dengan keseluruhan data yang ada. Jaccard index dapat dirumuskan sebagai berikut
7
(Niwattanakul, Singthongchai, Naenudorn, & Wanapu, 2013) (Vorontsov, Kulakovskiy,
& Makeev, 2013):
Jaccard Distance adalah perhitungan ketidaksamaan antara data set. Hal tersebut dapat
disebut sebagai invers Jaccard Coefficient yang mengurangkan 1 dengan nilai Jaccard
Similarity. Jaccard distance dapat dirumuskan sebagai berikut (Niwattanakul,
Singthongchai, Naenudorn, & Wanapu, 2013):
2.5 MySQL pattern matching
MySQL memberikan standar SQL pattern matching yang mirip dengan pattern
matching yang menggunakan extended regular expressions pada unix utility. SQL
pattern matching menggunakan “_” untuk mencocokkan satu buah karakter dan “%”
untuk mencocokkan beberapa buah karakter (termasuk karakter nol). MySQL pattern
matching bersifat case-sesitive dan menggunakan operator “like” atau “not like” (Oracle
Corporation, 2016). Operator “like” digunakan untuk mencari kesamaan pattern antara
data yang dimasukkan dengan data yang terdapat di database, sedangkan operator “not
like” digunakan untuk mencari data yang berbeda dengan data yang diberikan.
2.6 MySQL Fulltext Index
Fulltext index atau juga disebut sebagai fulltext search merupakan metode untuk
memberikan index pada data yang berada dalam database untuk mempermudah proses
pencarian data. Data yang di-index dapat diatur sesuai dengan kolom data yang
diinginkan dalam proses pencarian. Fulltext index dalam implementasinya
menggunakan perintah “MATCH() … AGAINST”. Perintah “MATCH()” mengambil
nama dari kolom yang akan diikutkan dalam proses pencarian, sedangkan “AGAINST”
mengambil string yang akan dicari di dalam database. Terdapat beberapa cara yang
dapat digunakan untuk mengimplementasikan fulltext index, yaitu dengan model
natural language, model Boolean, maupun model query expansion (Oracle Corporation,
2016).
8
BAB III
TUJUAN DAN MANFAAT PENELITIAN
3.1 Tujuan Penelitian
Tujuan dari penelitian ini adalah untuk menganalisis proses yang terjadi pada dynamic
query suggestion yang sederhana dan mengetahui perbandingan antara metode-metode
dalam implementasi dynamic query suggestion pada aplikasi web. Adapun detail dari
tujuan penelitian adalah :
a. Menganalisis proses yang terjadi pada dynamic query suggestion
b. Menganalisis metode-metode string similarity yang digunakan dalam query
suggestion
c. Mengimplementasikan metode-metode string similarity kedalam program
berbasis web sebagai query suggestion
d. Membandingkan hasil implementasi string similarity pada query suggestion
3.2 Manfaat Penelitian
Dalam bidang keilmuan, penelitian dynamic query suggestion dapat menambah
pengetahuan tentang konsep query suggestion yang banyak digunakan pada website
pencarian data dengan responsive web design dan juga teknologi AJAX dalam web
programming. Perbandingan metode sederhana pada dynamic query suggestion
dilakukan untuk mengetahui metode yang sebaiknya digunakan sebagai query
suggestion sesuai dengan karakteristik data yang akan dicari.
9
BAB IV
METODE PENELITIAN
Sebelum melakukan penelitian, perlu ditetapkan metode penelitian yaitu hal-hal yang
terkait dengan tahapan penelitian, waktu-tempat dan bahan serta alat yang digunakan
dalam penelitian.
4.1 Tahapan Penelitian
Untuk mempermudah proses penelitian, maka diperlukan adanya perencanaan
penelitian dari persiapan penelitian hingga pengambilan kesimpulan dan saran. Dari
tahap awal penelitian, penelitian dilakukan dengan identifikasi permasalahan yang ada
yang kemudian dalam hal ini adalah mengetahui konsep dynamic query suggestion yang
banyak digunakan oleh website pencarian data. Dari konsep dan beberapa algoritma
sederhana yang ada diperlukan adanya pengetahuan tentang algoritma yang lebih baik
digunakan dalam proses dynamic query suggestion. Setelah melakukan identifikasi
permasalahan, tahapan selanjutnya adalah menetapkan tujuan penlitian yaitu
membandingkan beberapa metode yang digunakan dalam proses dynamic query
suggestion. Setelah mengetahui tujuan penelitian, langkah selanjutnya adalah
melakukan analisa teori terhadap beberapa metode yang digunakan dalam dynamic
query suggestion. Setelah melakukan analisa teori dari metode yang digunakan, langkah
selanjutnya adalah melakukan perancangan terhadap aplikasi yang akan dibangun.
Setelah perancangan selesai, maka dilakukan implementasi perangkat lunak dengan
menggunakan bahasa pemrograman PHP dan database MySQL dalam bentuk
responsive web design. Setelah implementasi dari program dengan beberapa metode
tersebut, maka dilakukan pengujian terhadap metode yang digunakan, apabila program
tidak sesuai dengan analisa teori yang ada, maka kembali ke proses perancangan, jika
program sudah sesuai dengan teori yang ada, maka dilanjutkan dengan analisa hasil
perbandingan antara beberapa teori tersebut. Setelah mendapatkan hasil dari analisa
perbandingan, maka diambil kesimpulan atas penelitian yang telah dibuat.
10
Mulai
Selesai
Identifikasi masalah
Penetapan tujuan penelitian
Analisa teori
Perancangan program aplikasi
Implementasi dynamic query suggestion dengan MySQL Pattern Matching
Pengujian program aplikasi
Program sesuai
Analisa perbandingan metode
Y
T
Kesimpulan dan saran
Implementasi dynamic query suggestion dengan
MySQL Fulltext Index
Implementasi dynamic query suggestion dengan
Levenshtein Distance
Implementasi dynamic query suggestion dengan
Jaccard Similarity
Gambar 3.1 Tahap-tahap pelaksanaan penelitian.
4.2 Tempat dan Waktu Penelitian
Penelitian dilakukan di STMIK STIKOM Bali, Jl. Raya Puputan No. 86 Renon,
Denpasar-Bali
4.3 Bahan dan Alat
Bahan-bahan dan peralatan yang diperlukan dalam pelaksanaan penelitian ini adalah
sebagai berikut :
Bahan :
➢ Data yang digunakan sebagai pangkalan data dalam aplikasi ini adalah data
penelitian yang telah di publikasi pada KNS&I yang dikelola oleh STMIK
11
STIKOM Bali. Data dimasukkan satu per satu ke dalam system informasi artikel
ilmiah.
Perangkat keras :
➢ 1 unit PC yang digunakan untuk menjalankan program aplikasi.
Perangkat lunak :
➢ XAMPP software package
12
BAB V
HASIL DAN LUARAN YANG DICAPAI
5.1 Analisis Query Suggestion Berbasis Jaccard Similarity
Fitur query suggestion pada form pencarian data dibutuhkan untuk membantu pengguna
system mencari informasi yang ingin didapatkan. Proses pencarian informasi
berdasarkan informasi yang dimasukkan oleh pengguna. Dalam implementasinya, query
suggestion menggunakan teknologi AJAX untuk menampilkan saran yang diberikan
kepada pengguna.
Adapun fitur query suggestion yang menggunakan Jaccard Similarity ditunjukkan pada
gambar 5.1. Keseluruhan proses dijalankan dalam fungsi realtime sehingga ketika
pengguna memasukkan sebagian kata kunci pencarian, maka system akan memberikan
suggestion secara otomatis tanpa harus merubah seluruh halaman website menggunakan
javascript.
Start
Input data
Membaca data dari database(Jaccard
Similarity)
Mengulang hingga user berhenti
Cetak data
Finish
Gambar 5. 1 Proses Query Suggestion
13
5.2 Data Yang Digunakan
Adapun database yang digunakan dalam sistem ini hanyalah menggunakan satu buah
tabel, hal ini dikarenakan data yang digunakan sebagai data uji hanyalah data artikel
yang terdapat pada prosiding KNS&I di STIKOM Bali.
Gambar 5. 2 Perancangan database
Data yang digunakan dalam simulasi query suggestion ini adalah sebanyak 492
data yaitu data artikel KNS&I mulai dari tahun 2009 hingga tahun 2015.
Gambar 5. 3 Jumlah data uji
5.3 Implementasi Jaccard Similarity
Aplikasi pencarian informasi menggunakan website sebagai bentuk aplikasi yang
menggunakan Bahasa pemrograman javascript, PHP dan database MySQL dengan
menggunakan teknologi AJAX.
14
Gambar 5. 4 Simulasi query suggestion
Pada tampilan program aplikasi untuk simulasi query suggestion dihasilkan bahwa
ketika user memasukkan satu atau beberapa kata tidak secara berurutan, maka sistem
akan memberikan saran pencarian untuk mempercepat proses pencarian data dengan
waktu yang relatif cepat yaitu 0,007 detik untuk pencarian dengan menggunakan jaccard
similarity. Selain dapat memperlihatkan waktu proses, pada pemberian saran pencarian
diberikan pula nilai kesamaan antara data yang dicari dengan data yang terdapat
didalam database yaitu dengan nilai kesamaan 0,6, sedangkan nilai maksimal yang
tingkat kesamaan data adalah 1. Adapun potongan kode program ditunjukkan pada tabel
5.1.
Tabel 5. 1 Potongan kode program untuk menampilkan saran
$queryString = strtolower($_GET['q']);
$start = microtime(true);
$stringArray = explode( " ", $queryString );
$tambahQuery="";
for ($i=0; $i<count($stringArray);$i++)
{
$tambahQuery = $tambahQuery."if
(locate('".$stringArray[$i]."', judulMakalah)>0,1,0)+";
}
$tambahQuery = $tambahQuery. "0";
$tambahQuery1="";
for ($i=0; $i<count($stringArray);$i++)
{
$tambahQuery1 = $tambahQuery1."if
(locate('".$stringArray[$i]."', judulMakalah)>0,0,1)+";
}
$tambahQuery1 = $tambahQuery1. "0";
$totalKata = "LENGTH(judulMakalah) - LENGTH(REPLACE(judulMakalah,
15
' ', '')) + 1 +" .$tambahQuery1;
$queryText = "SELECT *, (".$tambahQuery.")/(".$totalKata.") as
score FROM makalah order by score desc LIMIT 0, 10";
$query = mysql_query($queryText);
if($query)
{
echo '<ul>';
while ($result = mysql_fetch_array($query))
{
$judulMakalah = $result['judulMakalah'];
$score = $result['score'];
$hasil = $judulMakalah;
if ($score > 0)
{
for ($i=0; $i<count($stringArray);$i++)
{
if (strpos(strtolower($hasil), $stringArray[$i])
> -1)
{
$highlight =
substr($hasil,strpos(strtolower($hasil), $stringArray[$i]),
strlen($stringArray[$i]));
$left =
substr($hasil,0,strpos(strtolower($hasil), $stringArray[$i]));
$right =
substr($hasil,strpos(strtolower($hasil),
$stringArray[$i])+strlen($stringArray[$i]));
$hasil = $left.'<strong style="font-
size:16px;">'.$highlight.'</strong>'.$right;
}
else
{
$hasil = $hasil;
}
}
$end = microtime(true);
$waktu = $end - $start;
echo '<li onClick="fill(\''.$judulMakalah.'\');">'.$hasil
.' waktu '.$waktu. ' score '.$score. '</li>';
}
}
echo '</ul>';
}
Kode program untuk menampilkan data artikel didukung dengan program ajax yang
digunakan untuk memberikan data secara langsung tanpa harus menunggu user
menekan tombol pencarian. Adapun potongan kode program ajax ditunjukkan sebagai
berikut :
16
Tabel 5. 2 Potongan kode program ajax menampilkan saran
function showArticle(str) {
if (str.length > 0)
{
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
//document.getElementById("suggestionsList").disable=false;
//alert(1);
$('#suggestions').fadeIn();
document.getElementById("suggestionsList").innerHTML=xmlhttp.responseT
ext;
}
}
xmlhttp.open("GET","content/result.php?q="+str,true);
xmlhttp.send();
}
}
Setelah user memasukkan data yang akan dicari dan system telah memberikan saran
pencarian, maka user dapat memilih data yang akan dicari dan ketika userm memilih
data yang dicari, maka sistem akan memberikan informasi tentang artikel yang dicari
tersebut. Adapun potongan kode program untuk menampilkan informasi artikel yang
dicari adalah sebagai berikut :
Tabel 5. 3 Potongan kode program untuk menampilkan informasi
$queryText = "SELECT * FROM makalah WHERE judulMakalah =
'$queryString'";
$query = mysql_query($queryText);
if($query)
{
while ($result = mysql_fetch_array($query))
{
$judulMakalah = $result['judulMakalah'];
$keyword = $result['kataKunci'];
$abstrakMakalah = $result['abstrakMakalah'];
$tahunMakalah = "20".substr($result['kodeMakalah'],0,2);
}
}
?>
<div class="well">
<div class="text-left">
<h4><?php echo $judulMakalah ?></h4>
17
</div>
<hr>
<div class="text-left">
<p>keyword : <?php echo $keyword ?></p>
<p>tahun : <?php echo $tahunMakalah ?></p>
</div>
<div class="row">
<div class="col-md-12">
<p><?php echo $abstrakMakalah ?></p>
</div>
</div>
</div>
Sama halnya dengan pemberian suggestion, pemberian hasil pencarian juga
menggunakan AJAX untuk menampilkan informasi tanpa harus mengubah keseluruhan
halaman website. Adapun potongan kode program AJAX adalah sebagai berikut :
Tabel 5. 4 Potongan kode program ajax menampilkan informasi
function fill(thisValue) {
$('#article').val(thisValue);
setTimeout("$('#suggestions').fadeOut();", 600);
if (thisValue.length > 0)
{
document.getElementById("article").disabled="disabled";
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("complete").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","content/searchresult.php?q="+thisValue,true);
xmlhttp.send();
}
}
Sehingga ketika user memilih judul artikel yang dicari, maka aplikasi akan
menampilkan informasi sebagai berikut :
18
Gambar 5. 5 Ketika user memilih artikel
5.4 Perbandingan Jaccard Similarity Dengan MySQL Pattern Matching
Dua buah aplikasi pencarian artikel dibuat dengan menggunakan MySQL pattern
matching dan jaccard similarity kemudian hasil dari aplikasi tersebut dibandingkan
antara satu dengan yang lainnya. Parameter yang akan dibandingkan adalah dalam hal
waktu proses, kedekatan pencarian data dengan suggestion, menghitung peringkat
kedekatan data dan diurut dari data terdekat, kekuatan pencarian data berdasarkan dari
jumlah kata yang dimasukkan, kekuatan pencarian data dari jumlah data yang dapat
disarankan.
Gambar 5. 6 Perbandingan MySQL Pattern matching dan Jaccard Similarity
Penelitian ini menghasilkan kesimpulan bahwa mysql pattern matching dan jaccard
similarity dapat digunakan sebagai query suggestion degan waktu proses adalah 2,5
19
miliseconds untuk mysql pattern matching dan 7 miliseconds untuk jaccard similarity
dengan menggunakan 492 data. Pengujian pencarian data dengan sebagian dari kata
yang dicari akan menghasilkan hasil pencarian yang sesuai dengan data yang dicari
untuk kedua algoritma. Pengujian pencarian data untuk satu kata sudah mendekati
dengan data yang ingin dicari. Pengujian untuk mencari data dengan kumpulan kata
yang berurutan akan data yang kurang sesuai pada mysql pattern matching dan
menghasilkan data yang sesuai pada jaccard similarity, hal ini disebabkan pada mysql
pattern matching data hanya diurut berdasarkan kodedata sedangkan untuk jaccard data
diurut dengan jaccard similarity index. Untuk pencarian data dengan menggunakan
mysql pattern matching membutuhkan waktu rata-rata 1.8 millidetik untuk 100 data, 2
millidetik untuk 200 data, 2.175 millidetik untuk 300 data. Sedangkan waktu yang
dibutuhkan untuk jaccard similarity 3.175 millidetik untuk 100 data, 4.025 millidetik
untuk 200 data, 5.05 millidetik untuk 300 data. Waktu proses pada MySQL pattern
matching sangat dipengaruhi oleh posisi urutan data dalam database sedangkan jaccard
similarity dipengaruhi oleh jumlah kata kunci dan jumlah kata yang terdapat pada hasil
pencarian. Hasil query suggestion dengan menggunakan Jaccard similarity dapat
menghasilkan data yang dicari lebih akurat daripada MySQL Pattern Matching.
5.5 Perbandingan Jaccard Similarity, MySQL Pattern Matching, Levenshtein
Distance dan MySQL Fulltext Index
Seluruh sistem yang dibangun dengan menggunakan keempat metode tersebut telah
dibangun dengan baik dan dapat berjalan dengan baik. Kemudian hasil dari aplikasi
tersebut dibandingkan antara satu dengan yang lainnya. Parameter yang akan
dibandingkan adalah dalam hal waktu proses, kedekatan pencarian data dengan
suggestion, menghitung peringkat kedekatan data dan diurut dari data terdekat, kekuatan
pencarian data berdasarkan dari jumlah kata yang dimasukkan, kekuatan pencarian data
dari jumlah data yang dapat disarankan. Pembuatan aplikasi pencarian artikel
menggunakan satu konsep perancangan yang sama dengan mengganti metode yang
digunakan dalam pencarian.
Untuk implementasi Jaccard similarity menggunakan pengolahan query sesuai dengan
rumusan dari metode Jaccard itu sendiri pada saat pengambilan data. Untuk
implementasi MySQL Pattern Matching menggunakan clausa “like” pada query
MySQL. Implementasi Levenshtein distance menggunakan perhitungan distance antara
20
kata-kata yang dimasukkan dengan judul makalah yang ada di dalam database.
Perhitungan distance setiap kata dilakukan karena apabila dihitung distance dari kalimat
maka akan menghasilkan hasil yang kurang sesuai. Sehingga Levenshtein distance lebih
sesuai untuk menghitung perbedaan antara dua buah kata dan bukan kalimat. Semakin
kecil nilai dari Levenshtein distance, maka semakin sesuai kata yang dimasukkan
dengan judul makalah yang terdapat di dalam database.
Untuk implementasi MySQL Fulltext Index dimungkinkan dengan menggunakan
beberapa cara, antara lain : model natural language, model Boolean, maupun model
query expansion. Dalam implementasinya, MySQL Fulltext index menggunakan model
boolean sehingga hasil yang didapatkan lebih sesuai.
21
Adapun hasil yang didapatkan dari penelitian ini adalah sebagai berikut :
Tabel 5. 5 Perbandingan waktu proses
Input Waktu proses (milidetik)
MySQL
Pattern
Matching
Jaccard
Similarity
Levenshtein
Distance
MySQL
Fulltext
Index
Part of word 1.6 6.8 48 9
One word 3.7 6.8 57 8
Sequence of words (sentence) 2.2 7.8 92 9
Words not in sequence form 2.6 6.5 79 9
Tabel 5. 6 Tabel waktu proses MySQL Pattern Matching dengan jumlah data yang
berbeda
Input Processing time (milliseconds)
100 data 200 data 300 data 492 data
Part of word 0.5 0.7 0.8 1.6
One word 1.8 2 2.6 3.7
Sequence of words (sentence) 2.4 2.6 2.7 2.2
Words not in sequence form 2.5 2.7 2.6 2.6
Average 1.8 2 2.175 2.525
Tabel 5. 7 Tabel waktu proses Jaccard Similarity dengan jumlah data yang berbeda
Input Processing time (milliseconds)
100 data 200 data 300 data 492 data
Part of word 1.6 1.2 2.1 6.8
One word 3.1 4.1 4.8 6.8
22
Sequence of words (sentence) 4.1 5.5 6.6 7.8
Words not in sequence form 3.9 5.3 6.7 6.5
Average 3.175 4.025 5.050 6.975
Tabel 5. 8 Tabel waktu proses Levenshtein distance dengan jumlah data yang berbeda
Input Processing time (milliseconds)
100 data 200 data 300 data 492 data
Part of word 10 18 25 48
One word 10 19 27 57
Sequence of words (sentence) 20 32 54 92
Words not in sequence form 20 32 48 79
Average 15 25,25 38,5 69
Tabel 5. 9 Tabel waktu proses MySQL Fulltext Index dengan jumlah data yang berbeda
Input Processing time (milliseconds)
100 data 200 data 300 data 492 data
Part of word 3 5 6 9
One word 4 5 6 8
Sequence of words (sentence) 4 6 7 9
Words not in sequence form 4 6 7 9
Average 3,75 5,5 6,5 8,75
Tabel 5. 10 Kedekatan pencarian dan kekuatan pencarian dari suggestion dan
Input Kesesuaian hasil pencarian (5 Terbaik)
MySQL
Pattern
Matching
Jaccard
Similarity
Levenshtein
Distance
MySQL
Fulltext
Index
23
Part of word 5 saran dan
sesuai
5 saran dan
sesuai
5 saran dan
kurang
sesuai
5 saran dan
sesuai
One word 2 saran dan
sesuai
2 saran dan
sesuai
5 saran dan
ada 2 saran
yang sesuai
2 saran dan
sesuai
Sequence of words (sentence) 5 saran dan
kurang sesuai
5 saran dan
ada 1 saran
yang sangat
sesuai
5 saran dan
ada 1 saran
yang sangat
sesuai
2 saran dan
ada 1 saran
yang sangat
sesuai
Words not in sequence form 5 saran dan
kurang sesuai
5 saran dan
ada 1 saran
yang sangat
sesuai
5 saran dan
ada 1 saran
yang sangat
sesuai
2 saran dan
ada 1 saran
yang sangat
sesuai
Tabel 5. 11 perangkingan score pada masing-masing metode
Input Perhitungan score
MySQL
Pattern
Matching
Jaccard
Similarity
Levenshtein
Distance
MySQL
Fulltext
Index
Part of word - Berdasarkan
tingkat
kesamaan
Berdasarkan
string
distance
Berdasarkan
similarity
One word - Berdasarkan
tingkat
kesamaan
Berdasarkan
string
distance
Berdasarkan
similarity
Sequence of words (sentence) - Berdasarkan
tingkat
kesamaan
Berdasarkan
string
distance
Berdasarkan
similarity
Words not in sequence form - Berdasarkan
tingkat
kesamaan
Berdasarkan
string
distance
Berdasarkan
similarity
5.6 Luaran yang dicapai
Adapun luaran yang telah dicapai adalah
a. Publikasi ilmiah di jurnal nasional
24
Publikasi jurnal ilmiah di jurnal nasional telah dilaksanakan yaitu pada jurnal
Rekayasa dan Manajemen Sistem Informasi Vol. 3 edisi 1 bulan Februari 2017.
Gambar 5. 7 Bukti publikasi artikel ilmiah
b. Pemakalah dalam seminar internasional
Publikasi pada seminar internasional telah dilaksanakan pada seminar CITSM
25
Gambar 5. 8 Cover prosiding publikasi
26
Gambar 5. 9 Daftar isi prosiding
27
Gambar 5. 10 Abstrak prosiding
28
BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Dari hasil penelitian studi komparasi query suggestion berbasis string similarity yang
telah dicapai, dapat ditarik kesimpulan bahwa :
1. Metode string similarity dapat digunakan sebagai query suggestion dalam
pencarian data atau informasi.
2. Jaccard similarity, MySQL pattern matching, Levenshtein distance dan MySQL
Fulltext Index dapat digunakan sebagai metode dalam query suggestion berbasis
web dan memberikan hasil yang baik.
3. Perbandingan metode Jaccard similarity, MySQL pattern matching, Levenshtein
distance dan MySQL Fulltext Index dengan parameter perbandingan waktu
proses, kedekatan pencarian data dengan suggestion, menghitung peringkat
kedekatan data dan diurut dari data terdekat, kekuatan pencarian data
berdasarkan dari jumlah kata yang dimasukkan, kekuatan pencarian data dari
jumlah data yang dapat disarankan menunjukkan MySQL Fulltext Index
menghasilkan saran pencarian yang lebih akurat dibandingkan dengan metode
lainnya namun memerlukan waktu proses yang tidak terlalu cepat. Metode
Jaccard similarity memiliki tingkat akurasi yang cukup baik namun memerlukan
waktu proses yang tidak terlalu lama. Metode Levenshtein distance merupakan
metode yang kurang tepat digunakan untuk sebagai query suggestion karena
kurang akurat untuk saran dan juga memerlukan waktu yang cukup lama.
6.2 Saran
Adapun beberapa saran yang dapat diberikan dalam penelitian ini, adalah sebagai
berikut:
1. Query suggestion sederhana dapat dikembangkan dengan menggunakan metode
string similarity lainnya.
2. Metode query suggestion sederhana dapat dikombinasikan untuk menghasilkan
hasil yang lebih akurat dengan waktu proses yang singkat.
29
DAFTAR PUSTAKA
Banowosari, L. Y., Darmawan, A., Kurniawan, K., & Mitchell, M. (2014). Analisis
Pada Fitur Autocomplete Suggestion Dan Semantik Pada Pencarian Di Mesin
Pencari Google. Prosiding KOMMIT. Jakarta.
Hawking, D., & Griffiths, K. (2013). An enterprise search paradigm based on extended
query auto-completion. Do we still need search and navigation? ADCS '13
Proceedings of the 18th Australasian Document Computing Symposium (pp. 18-
25). New York, USA: Association for Computing Machinery New York.
Kadlec, T. (2013). Implementing Responsive Design: Building Sites For An Anywhere,
Everywhere Web. Berkeley: New Riders.
Lane, D., & Williams, H. (2004). Web Database Application with PHP and MySQL,
2nd Edition. United States of America: O'Reilly Media, Inc.
Niwattanakul, S., Singthongchai, J., Naenudorn, E., & Wanapu, S. (2013). Using of
Jaccard Coefficient for Keywords Similarity. Proceedings of the International
MultiConference of Engineers and Computer Scientists 2013 Vol I, IMECS
2013. Hong Kong.
Oracle Corporation. (2016). MySQL 5.7 Reference Manual. Oracle Corporation and/or
its affiliates.
Plansangket, S., & Gan, J. Q. (2015). A query suggestion method combining TF-IDF
and Jaccard Coefficient for interactive web search. Artificial Intelligence
Research, Volume 4.
Primadani, Y. (2014). Simulasi Algoritma Levenshtein Distance Untuk Fitur
Autocomplete Pada Aplikasi Katalog Perpustakaan. Medan: Universitas
Sumatera Utara.
Rinartha, K. (2013). Sistem Informasi E-Krs Berbasis Responsive Web Design (Studi
Kasus Politeknik Nasional Denpasar). Denpasar, Bali: Stikom Bali.
Rizky, A. F. (2010). Penerapan String Suggestion dengan Algoritma Levenshtein
Distance dan Alternatif Algoritma Lain dalam Aplikasi. Bandung: Institut
Teknologi Bandung.
Shiri, A., & Zvyagintseva, L. (2014). Dynamic Query Suggestion in Web Search
Engines: A Comparative Examination. 42nd Annual Conference of the
30
Canadian Association of Information Science & Inaugural Librarians' Research
Institute Symposium Brock University. St. Catharines, Ontario.
Solichin, A. (2010). MySQL 5 Dari Pemula Hingga Mahir. Jakarta: Universitas Budi
Luhur.
Vaswani, V. (2005). How to do Everything with PHP & MySQL. United States of
America: McGraw-Hill.
Vorontsov, I. E., Kulakovskiy, I. V., & Makeev, V. J. (2013). Jaccard Index Based
Similarity Measure To Compare Transcription Factor Binding Site Models.
Algorithms for Molecular Biology.
Yang, J.-M., Cai, R., Jing, F., Wang, S., Zhang, L., & Ma, W.-Y. (2008). Search-based
query suggestion. Proceedings of the 17th ACM conference on Information and
knowledge management. New York, NY, USA.
31
LAMPIRAN
32
Lampiran 1 Instrumen Poster
33
Lampiran 2 Artikel Ilmiah Jurnal
34
Simple Query Suggestion Untuk Pencarian Artikel
Menggunakan Jaccard Similarity
Komang Rinartha
Program Studi Sistem Komputer
Stikom Bali
Bali, Indonesia
Abstrak – pencarian artikel merupakan sebuah proses yang
digunakan untuk mencari artikel yang relevan sesuai dengan
kata kunci yang dimasukkan oleh pengguna. Konsep sederhana
dari pencarian artikel adalah pengguna memasukkan kata
kunci, kemudian menekan tombol pencarian sehingga
memberikan hasil pencarian. Proses pencarian dengan
menggunakan konsep sederhana tersebut memerlukan waktu
dan pencarian yang diberikan terkadang kurang sesuai dengan
artikel yang dicari. Makalah ini merupakan penerapan dari
Jaccard Similarity dalam contoh simple query suggestion.
Jaccard similarity digunakan sebagai query suggestion karena
sistem dapat membandingkan kata kunci yang diberikan
dengan data yang terdapat didalam database yang disebut
sebagai Jaccard Index. Sistem yang dibangun memberikan
suggestion setiap kali user mengetikkan kata kunci dan hasil
pencarian akan tampil secara akurat dengan waktu proses 7
mili detik dengan nilai Jaccard Similarity antara 0 hingga 1
pada 492 data artikel yang diambil dari Prosiding KNS&I
STIKOM Bali.
Keyword : Simple Query Suggestion, Pencarian Artikel,
Jaccard Similarity
Abstract - Article searching is the process to find the
appropriate article based on user description or keywords. For
the traditional article searching, user type keywords then press
the button and the result present, but unfortunately the process
need more time and the searching result is not accurate based
on user keywords. This paper present the proof of Jaccard
Similarity concept as a simple query suggestions on article
searching. Jaccard Similarity use in the system because it can
compare each of user keywords with the data in the database
named Jaccard Index. The developed system/prototype system
gives suggestions each time user type keywords and the result
present accurately with processing time about 7 milliseconds
and the Jaccard Similarity from 0 to 1 with 492 articles taken
form KNS&I of STIKOM Bali as data.
Keyword : Simple Query Suggestion,Article Searching,
Jaccard Similarity
I. Pendahuluan
Perkembangan pencarian data di internet sangat pesat
didukung dengan perkembangan perangkat keras. Google, Bing
dan Yahoo secara konsisten dilaporkan sebagai website yang
digunakan sebagai mesin pencari. Mereka menguasai pasar
pencarian data sebanyak 96%. Google menguasai 66,9%, Bing
18,1% dan Yahoo 11,1%. Dalam beberapa tahun terakhir
ketiganya mengenalkan tentang dynamic term/query
suggestions untuk mendukung pengguna dalam query
formulation, reformulation atau query expansion. [1]
Query suggestion banyak digunakan pada website
pencarian informasi untuk mempermudah mencari informasi
yang relevan. Query suggestion berhubungan erat dengan form
autocompletion pada input form sebuah website. Fitur
autocomplete dikenal pertama kali pada aplikasi desktop
dengan cara user mengetikkan sesuatu dan suggestion akan
tampil secara otomatis. [2]
Gambar 1. Query suggestion
Jaccard similarity adalah sebuah algoritma yang digunakan
untuk membandingkan dokumen yang satu dengan yang
lainnya berdasarkan kata yang dimilikinya. Jaccard similarity
biasanya digunakan untuk membandingkan dokumen dan
menghitung nilai kemiripan dari dokumen tersebut. Dengan
kemampuan inilah jaccard similarity digunakan dalam dynamic
query suggestion untuk memberikan saran-saran pencarian
dalam hal pencarian artikel.
35
Website merupakan salah satu teknologi yang digunakan
untuk memberikan simulasi form autocomplete. Teknologi web
yang banyak berkembang saat ini adalah teknologi web
responsive. Web responsive adalah desain web yang dapat
digunakan secara fleksibel dibuka dari komputer dengan
berbagai resolusi layar. Selain dengan teknologi responsive,
website juga dibangun dengan menggunakan teknologi AJAX
dan bahasa pemrograman PHP serta database MySQL. Web
konvensional pada umumnya tidak dapat dilihat dengan baik
pada resolusi display yang berbeda-beda.
AJAX merupakan teknologi yang menggabungkan
beberapa teknik pemrograman javascript, PHP dan MySQL
yang ditampilkan dengan menggunakan HTML sebagai desain
user interface. AJAX dapat merubah sebagian halaman website
tanpa harus merubah keseluruhan halaman website seperti yang
website konvensional lakukan sehingga permintaan terhadap
halaman website dapat dilakukan kapan saja tanpa
menggunakan waktu tunggu untuk meminta halaman website
secara keseluruhan.
II. Tinjauan Pustaka
Autocomplete, atau yang lebih dikenal dengan word
completion, adalah fitur yang disediakan oleh banyak web
browser, surel, antarmuka mesin pencari, source code editor,
tools pada query database, pengolah kata (word processor), dan
interpreter pada command line. Autocomplete juga terdapat dan
sudah terintegrasi dalam teks editor yang umum digunakan.
Kegunaan dari fitur autocomplete ini adalah menampilkan
perkiraan kata atau frase yang akan dimasukkan tanpa harus
mengetikkan keseluruhan kata. [2] [3]
Autocomplete melibatkan program yang dapat melakukan
prediksi terhadap sebuah kata atau frasa yang pengguna ingin
tulis tanpa harus menulis keseluruhan kata atau frasa secara
lengkap. Autocomplete bekerja ketika pengguna menulis huruf
pertama atau beberapa huruf/karakter dari sebuah kata,
program yang melakukan prediksi akan mencari satu atau lebih
kemungkinan kata sebagai pilihan. Jika kata yang dimaksud
ada dalam pilihan kata prediksi maka kata yang dipilih tersebut
akan disisipkan pada teks. [2]
Dynamic Query Suggestion juga dikenal sebagai pre-
submission query suggestion atau query autocompletion
mengacu pada sebuah system atau pradigma dimana sebagian
keyword yang diketik oleh pengguna mengarah pada kumpulan
saran yang ditampilkan secara otomatis yang memungkinkan
dipilih oleh user. Hasil dari dynamic query suggestion
merupakan bagian lengkap dari keyword yang dimasukkan
oleh pengguna dan ketika pengguna memilih salah satu dari
saran suggestion tersebut, maka system akan memberikan hasil
yang sesuai. [4]
Jaccard Algorithm atau juga disebut dengan Jaccard Index
dan juga dikenal dengan Jaccard Coefficient adalah sebuah
nilai yang didapatkan dari membandingkan kemiripan ataupun
perbedaan dari sebuah data set. Perhitungan koefisien Jaccard
similarity antara dua kumpulan data adalah didapat dari hasil
pembagian antara jumlah data yang sama dengan keseluruhan
data yang ada. Jaccard index dapat dirumuskan sebagai berikut
[5] [6] :
Jaccard Distance adalah perhitungan ketidaksamaan antara
data set. Hal tersebut dapat disebut sebagai invers Jaccard
Coefficient yang mengurangkan 1 dengan nilai Jaccard
Similarity. Jaccard distance dapat dirumuskan sebagai berikut
[5]:
Dalam sebuah artikel berjudul “AJAX: A New Approach to
Web Applications”, Jesse James Garret menjelaskan dengan
lengkap mengenai teknologi AJAX (Asynchronous JavaScript
And XML) yang diyakini dapat menutup gap antara aplikasi
berbasis desktop dan web. AJAX memiliki perbedaan dengan
model web tradisional. [7]
Istilah AJAX (Asynchronous JavaScript And XML) dalam
pengembangan web menjadi populer. AJAX ini sendiri bukan
merupakan bahasa pemrograman baru, AJAX hanya
merupakan sebuah teknik pemanfaatan object
XMLHttpRequest dengan javascript untuk berkomunikasi
dengan server secara Asynchronous, dengan pemanfaatan
object XMLHttpRequest ini kita dapat membuat proses
berjalan secara background atau bekerja dibelakang layar
sementara user dapat tetap berinteraksi dengan halaman web
yang ada. Pemanfaatan tehnik Asynchronous ini jugalah yang
telah mendorong pengembangan web menjadi lebih kaya atau
banyak yang menulisnya dengan istilah pengembangan Rich
Internet Application (RIA) atau WEB 2.0. [8]
III. Metode Penelitian
Jaccard similarity diimplementasikan sebagai sebuah
algoritma untuk memberikan suggestion kepada pengguna
sesuai dengan diagram pada gambar 2.
Simple query suggestion dengan menggunakan jaccard
algorithm dimulai dari pengguna mengetikkan sesuatu pada
bagian text field, kemudian system akan mencari artikel dari
database dengan menghitung nilai jaccard similarity dan
system akan menampilkan hasilnya. Hasil dari query
suggestion mungkin satu atau lebih sesuai dengan data yang
terdapat di database yang berhubungan dengan keyword yang
dimasukkan oleh pengguna. System akan berhenti melakukan
pencarian ketika pengguna berhenti mengetik atau ketika
pengguna memilih salah satu query suggestion yang diberikan.
36
Start
Input data(user type some keywords)
Read data from database(Jaccard
Similarity)
Repeat until user stop typing
Display result
Finish
Gambar 2. proses query suggestion
Bentuk matematis Jaccard similarity diubah menjadi bentuk
SQL untuk membaca data dari database. Ketika pengguna
memasukkan “signal indera pro”, system akan mencari dan
menghitung nilai dari jaccard index dan jika hasil yang
diharapkan adalah “SIGNAL PROCESSING OF RADAR
INDERA” maka hasil dari jaccard index adalah 0,6 sesuai
dengan rumusan berikut
Hasil konversi bentuk matematis menjadi bentuk SQL
adalah sebagai berikut :
SELECT *, (if (locate('signal', judulMakalah)>0,1,0)+if
(locate('indera', judulMakalah)>0,1,0)+if (locate('processing',
judulMakalah)>0,1,0)+if (locate('radar',
judulMakalah)>0,1,0)+if (locate('of',
judulMakalah)>0,1,0)+0)/(LENGTH(judulMakalah) -
LENGTH(REPLACE(judulMakalah, ' ', '')) + 1 +if
(locate('signal', judulMakalah)>0,0,1)+if (locate('indera',
judulMakalah)>0,0,1)+if (locate('processing',
judulMakalah)>0,0,1)+if (locate('radar',
judulMakalah)>0,0,1)+if (locate('of', judulMakalah)>0,0,1)+0)
as score FROM makalah order by score desc LIMIT 0, 10
IV. Hasil dan Pembahasan
Aplikasi dibangun dengang menggunakan Bahasa
pemrograman PHP dalam bentuk website dan MySQL sebagai
databasenya dan juga menggunakan AJAX sebagai teknik
dalam memberikan suggestion. Data yang digunakan didalam
aplikasi ini adalah data prosiding KNS&I STIKOM Bali
dengan 492 data artikel. Nilai Jaccard similarity didapatkan
dari pembagian jumlah kata kunci dengan jumlah semua data
yang digunakan. Ketika pengguna mengetikkan kata “fuzzy”
system akan mencari dan menghitung jaccard index dan data
yang ada adalah “SIGNAL PROCESSING OF RADAR
INDERA” sehingga menghasilkan nilai Jaccard index sama
dengan 0 sesuai dengan perhitungan sebagai berikut :
Ketika pengguna memasukkan “signal indera processing of
radar”, system akan mencari dan menghitung jaccard index dan
hasil yang diharapkan adalah “SIGNAL PROCESSING OF
RADAR INDERA” maka nilai jaccard index adalah 1 sesuai
dengan perhitungan berikut :
Gambar 3. aplikasi query suggestion
Gambar menunjukkan hasil dari query suggestion ketika
user memasukkan “signal indera pro” dan system akan
37
menampilkan suggestion, waktu proses dan juga nilai dari
jaccard index. System membutuhkan waktu sekitar 7 milidetik
untuk mencari artikel yang sesuai dengan kata kunci dari
pengguna dengan nilai jaccard index sebesar 0,6. Ketika salah
satu suggestion dipilih oleh pengguna maka system akan
menampilkan informasi detail dari artikel tersebut.
Gambar 4. pengguna memilih salah satu suggestion
Tabel 1. pengujian aplikasi
Process Input Result
Proses pencarian Sebagian dari kata
kunci
System
menampilkan hasi
yang sesuai
Proses pencarian Satu kata kunci System
menampilkan hasi
yang sesuai
Proses pencarian Kata kunci yang
berurutan
System
menampilkan hasi
yang sesuai
Proses pencarian Beberapa kata
kunci yang tidak
berurutan
System
menampilkan hasi
yang sesuai
Tabel 2. waktu proses pada 492 data
Input Processing time
Sebagian dari kata kunci 2.0 milidetik
Satu kata kunci 6.5 milidetik
Kata kunci yang berurutan 7.4 milidetik
Beberapa kata kunci yang
tidak berurutan
7.6 milidetik
Gambar 5. grafik perbadingan jumlah data dengan waktu
proses
Gambar 6. waktu proses rata-rata
V. Kesimpulan
Paper ini mengimplementasikan jaccard algorithm untuk
membuat simple query suggestion dan mencari data yang
sesuai berdasarkan kata kunci yang dimasukkan oleh
pengguna. Query suggestion berjalan dengan baik dengan PHP,
MySQL dan AJAX untuk membantu pengguna dalam mencari
artikel yang dibutuhkan pada website. Berdasarkan hasil
pengujian, aplikasi memberikan hasil yang akurat sebagai
query suggestion sesuai dengan kata kunci yang dimasukkan
pengguna baik sebagian kata kunci, satu buah kata kun ci
maupun beberapa kata kunci. Aplikasi pencarian membutuhkan
waktu sekita 7 mili detik untuk mengasilkan suggestion pada
492 data artikel.
Daftar Pustaka
[1] A. Shiri dan L. Zvyagintseva, “Dynamic Query
Suggestion in Web Search Engines: A Comparative
Examination,” dalam 42nd Annual Conference of the
Canadian Association of Information Science & Inaugural
Librarians' Research Institute Symposium Brock
University. St. Catharines, Ontario, 2014.
[2] Y. Primadani, “Simulasi Algoritma Levenshtein Distance
Untuk Fitur Autocomplete Pada Aplikasi Katalog
38
Perpustakaan,” Universitas Sumatera Utara, Medan, 2014.
[3] L. Y. Banowosari, A. Darmawan, K. Kurniawan dan M.
Mitchell, “Analisis Pada Fitur Autocomplete Suggestion
Dan Semantik Pada Pencarian Di Mesin Pencari Google,”
dalam Prosiding Seminar Ilmiah Nasional Komputer dan
Sistem Intelijen (KOMMIT 2014), Jakarta, 2014.
[4] D. Hawking dan K. Griffiths, “An enterprise search
paradigm based on extended query auto-completion. Do
we still need search and navigation?,” dalam ADCS '13
Proceedings of the 18th Australasian Document
Computing Symposium (pp. 18-25), New York, 2013.
[5] S. Niwattanakul, J. Singthongchai, E. Naenudorn dan S.
Wanapu, “Using Jaccard Coefficient For Keywords
Similarity,” dalam Proceedings of the International
MultiConference of Engineers and Computer Scientists
2013 Vol I,, Hong Kong, 2013.
[6] I. E. Vorontsov, I. V. Kulakovskiy dan a. V. J. Makeev,
“Jaccard index based similarity measure to compare
transcription factor binding site models,” dalam
Algorithms for Molecular Biology 2013, 2013.
[7] S. Handayaningsih dan W. Pujiyono, “istem Konsultasi
Dan Laporan Pembimbingan Tugas Akhir,” Yogyakarta,
2010.
[8] H. Kurniawan, “Pengembangan Sistem Manajemen
Reservasi Ruangan Online Dengan Zk Ajax Framework,”
Universitas Islam Negeri Syarif Hidayatullah, Jakarta,
2011.
[9] S. Plansangket dan J. Q. Gan, “A query suggestion
method combining TF-IDF and Jaccard Coefficient for
interactive web search,” Artificial Intelligence Research 4,
vol. 4, p. 119, 2015.
[10] Sugiyamto, B. Surarso dan A. Sugiharto, “Analisa
Performa Metode Cosine dan Jaccard Pada Pengujian
Kesamaan Dokumen,” Jurnal Masyarakat Informatika,
vol. 5, pp. 1-8, 2014.
[11] J.-M. Yang, R. Cai, F. Jing, S. Wang, L. Zhangy dan W.-
Y. Ma, “Search-based Query Suggestion,” dalam
Proceedings of the 17th ACM conference on Information
and knowledge management. ACM 2008, California,
2008.
39
Lampiran 3 Status Submission Jurnal Nasional
40
Lampiran 4 Artikel Ilmiah Seminar Internasional
41
Comparative Study for Better Result on Query
Suggestion of Article Searching with MySQL Pattern
Matching and Jaccard Similarity
Komang Rinartha1, Wayan Suryasa2
Departement of Computer System
STIKOM Bali
Bali, Indonesia [email protected], [email protected]
Abstract- Article searching is the process to find the
appropriate article based on user description or keywords.
For the traditional article searching, user types keywords
then press the button and the result presents, but
unfortunately the process needs more time and the search
result is not accurate based on user keywords. Query
suggestion makes it easy to search the data without
submitting the data in a traditional way. There are several
methods that can be used in query suggestion thus it is
necessary to know which method should be used. This
paper describes the comparison between MySQL pattern
matching and Jaccard similarity for query suggestion with
the parameters, they are processing time, the proximity of
keywords with the suggestion, the proximity ratings and
sorted from nearest data, the strength of data retrieval
based on the number of words entered, and the strength of
data retrieval from a number of data that can be suggested.
MySQL pattern matching and Jaccard similarity can be
used as query suggestion with the processing time is 2.5
milliseconds for MySQL pattern matching and 7
milliseconds for Jaccard similarity with 492 articles. Query
suggestion using MySQL pattern matching takes an
average of 1.8 milliseconds for 100 articles, 2 milliseconds
for 200 articles, 2.175 milliseconds for 300 articles, while
Jaccard similarity 3.175 milliseconds for 100 articles, 4.025
milliseconds for 200 articles, 5.05 milliseconds for 300
articles. Proximity ratings for MySQL Pattern Matching
cannot be calculated since there is no counting process, but
in Jaccard similarity the system displays 0.8 for jaccard
index and display 1 for jaccard index if the keywords are
100% similar to the data on database. The result of this
study is Jaccard similarity query suggestion produces more
accurate search result but has a longer processing time
than MySQL pattern matching.
Keywords: Article searching, query suggestions, MySQL
Pattern Matching, Jaccard Similarity
I. Introduction
Searching the data through the Internet expand along with the
hardware developments support. Data searching can be done
using some keywords based on previous searches. In addition,
the search process can also use reference data in the database
so that the data sought in accordance with the data in the
database.
Dynamic query suggestions have been widely applied to
information retrieval website to facilitate the process of finding
the desired information. Dynamic query suggestion cannot be
separated from the form autocomplete on a input form on the
web. Autocomplete is a pattern which first appeared in the help
function of desktop applications, where users enter text into the
box and then suggestions will appear automatically; [1] Form
autocomplete is featured in an input form to display data in
accordance with the data typed by the user. Autocomplete
query suggestion feature is often found in the search engines
and also the input form is found in the website.
Google, Bing, and Yahoo! have consistently been reported as
the three major web search engines. Together, they share
around 96% of the search market, namely Google (66.9%),
Bing (18.1%) and Yahoo! (11.1%). Over the past few years,
these three search engines have introduced dynamic term/query
suggestions functionalities to support user in query
formulation, reformulation or query expansion; [2] Several
methods can be used in a query suggestions, they are MySQL
Pattern Matching, Jaccard Similarity and many more methods
that can be implemented. From a few simple concept of
dynamic query suggestion, need to know a better method used
in dynamic query suggestion.
Jaccard similarity is an algorithm to compare one document
to another based on string that they have. Jaccard similarity is
usually used in document comparison to find the similarity
value of the documents. Based on this ability, Jaccard
similarity is used in dynamic query suggestions to give some
suggestions to user in article searching process.
with :
J(A,B) = jaccard similarity
42
A = document/set of words
B = document/set of words
This paper will discuss about the introduction on the first
chapter, then the related works in the second chapter, research
method in the third chapter, result and analysis in the fourth
chapter and in the fifth chapter will discuss about conclusion.
II. Related Work
Banowosari et al in 2014 in his research, [3] stating that the
feature autocomplete suggestion is a feature that is
implemented on a web browser and a search engine that allows
web browsers or search engines to provide search suggestions
when just a few words typed in the search field or the address
bar. The features in the Google autocomplete display some
search suggestions based on: the location of the geographic and
language used in the search, popular keywords that are often
searched, and the search history of the user. Google
Autocomplete also can correct the incorrect spelling when a
user enters a keyword in the presence of spelling correction
feature.
Yang JM et al in 2008 in his research, [4] stated that the
query suggestion feature has been considered to be possessed
by the search engines. Existing query suggestion approaches
can be classified into two categories based on the data they
used, the first one is log based and the second one is search
result-based. Query suggestion based on query log approach
and search result approach have their own merits and
weaknesses, which make them suitable for different kind of
queries.
S Plansangket and J Q Gan in 2015 in his research, [5] stated
that query expansion is a technique to expand the query with
the related words and is widely used for query suggestion.
Query expansion aims to improve the overall recall of the
relevant documents. Query reformulation or dynamic query
suggestion is more complex than query expansion, which
forms a new query using specific models.
Sugiyamto, B Surarso, A Sugiharto in his research, [6] stated
that Cosine and Jaccard, indicating that both have high
performance on average, but when compared to the level of
accuracy, the Cosine method has higher accuracy than Jaccard
method with the accuracy rate 0.949808 for Cosine method and
accuracy rate 0.949077 for Jaccard method.
S. Niwattanakul, et al in 2013 in his research, [7] stated that
Jaccard similarity used in information retrieval and calculation
of similarity coefficient by using the prologue language using a
level of precision, recall and F-measure. The results showed
that the test method by Jaccard coefficient can perform well in
measuring the similarity of words when comparing with each
letter of the word. Particularly, each letter can switch positions
and counted as the same words. Nevertheless, this method is
not able to detect the over-type the words in the data sets. In
conclusion, Jaccard similarity coefficient is suitable
sufficiently to be employed in the word similarity
measurement. In efficiency measurement, the program
performance can deal appropriately with high stability and
when the failure occurred spelling mistake.
III. Research method
Two article search applications are created using MySQL
pattern matching and Jaccard similarity then the result of the
application is compared with each other. Parameters to be
compared are in terms of processing time, the proximity of
keywords with the suggestion, the proximity ratings and sorted
from nearest data, the strength of data retrieval based on the
number of words entered, and the strength of data retrieval
from a number of data that can be suggested.
Figure 1. The concept of study comparation
The use of MySQL pattern matching uses clause "like" while
Jaccard similarity changes the mathematical formula Jaccard
into a query on MySQL. The MySQL pattern matching that is
used is ;
SELECT * FROM makalah where judulMakalah like
'%signal%' LIMIT 0, 10
And the Jaccard similarity is shown as follow ;
SELECT *, (if (locate('signal',
judulMakalah)>0,1,0)+0)/(LENGTH(judulMakalah) -
LENGTH(REPLACE(judulMakalah, ' ', '')) + 1 +if
(locate('signal', judulMakalah)>0,0,1)+0) as score FROM
makalah order by score desc LIMIT 0, 10
Implementation of these two algorithms is in accordance with
the flow diagram below:
43
Start
Input data(user type some keywords)
Read data from database(MySQL pattern
matching or Jaccard Similarity)
Repeat until user stop typing
Display result
Finish
Figure 2. Simulation method
IV. Result and analysis
When using MySQL pattern matching and Jaccard similarity,
users only need to enter a few letters or words to search and
then the system will provide search suggestions that can be
used by the user automatically. System will stop providing
search when the user stops typing in the input field area or
when the user selects the suggestion given.
SELECT * FROM makalah where judulMakalah like
'%signal%' or judulMakalah like '%processing%' LIMIT 0, 10
When a user enters the word "signal processing", then the
system looking for a title of the paper containing the word
"signal" both the signal in front of, behind, or in the middle or
"processsing" whether it be in front, middle and behind. As for
the Jaccard similarity, it will search for words that have a
member of the set in accordance with the "signal processing"
by the similarity values derived from calculating the Jaccard
similarity index as follows
Figure 3. Graph of processing time
Tabel III.
Proximity of searching suggestions based on keyword entered
Input
Top 5 result
MYSQL pattern
matching
Jaccard similarity
Sig 5 suggestions with
“sig”
5 suggestions with
“sig”
Signal 2 suggestions with
“signal”
2 suggestions with
“signal”
Signal processing
of radar
5 suggestions with
“of”
1 suggestion with
“Signal processing
of radar” and 4
suggestions with
“of”
Processing signal
radar of
5 suggestions with
“of”
1 suggestion with
“Signal processing
of radar” and 4
suggestions with
“of”
Tabel IV.
Strength of suggestion rank based on keyword entered
Input
Top 5 result
MYSQL pattern
matching
Jaccard similarity
Sig - 0.2
Signal - 0.2
Signal processing
of radar
- 0.8
Processing signal
radar of
- 0.8
44
Figure 4. Strength of searching process based on numbers of data
V. Conclusion
This research concludes that MySQL pattern matching and
Jaccard similarity can be used as query suggestion with the
processing time is 2.5 milliseconds for MySQL pattern
matching and 7 milliseconds to Jaccard similarity with 492
articles. The application tested with part of word will produce
results that correspond to the data sought for both algorithms.
The application tested for one word has been approached with
the data that want to be searched. Testing to find sequence
words will produce data that is not relevant to the MySQL
pattern matching and generates the appropriate data on Jaccard
similarity. This is due to the MySQL pattern matching only
sorts data by the data index while Jaccard data is sorted by the
Jaccard similarity index. To search article using MySQL
pattern matching, it takes an average of 1.8 milliseconds for
100 articles, 2 milliseconds for 200 articles, 2.175 milliseconds
for 300 articles. While the time required for Jaccard similarity
is 3.175 milliseconds for 100 articles, 4.025 milliseconds for
200 articles, 5.05 milliseconds for 300 articles. Processing time
on MySQL pattern matching is affected by the position of the
data in the database while Jaccard similarity affected by the
number of keywords and the number of words contained in the
input field. Suggestion rank for MySQL Pattern Matching
cannot be calculated since there is no counting process, but in
Jaccard similarity the system displayed 0.8 for jaccard index
and will display 1 if the search text is 100 % similar to the data
on database. The entire results of the Jaccard similarity query
suggestion produce more accurate search result but has a
longer processing time than MySQL pattern matching.
References
[1] Y. Primadani, "Simulasi Algoritma Levenshtein Distance
Untuk Fitur Autocomplete Pada Aplikasi Katalog
Perpustakaan," Universitas Sumatera Utara, Medan, 2014.
[2] A. Shiri and L. Zvyagintseva, "Dynamic Query Suggestion
in Web Search Engines: A Comparative Examination," in
42nd Annual Conference of the Canadian Association of
Information Science & Inaugural Librarians' Research
Institute Symposium Brock University. St. Catharines,
Ontario, 2014.
[3] L. Y. Banowosari, A. Darmawan, K. Kurniawan and M.
Mitchell, "Analisis Pada Fitur Autocomplete Suggestion
Dan Semantik Pada Pencarian Di Mesin Pencari Google,"
in Prosiding Seminar Ilmiah Nasional Komputer dan
Sistem Intelijen (KOMMIT 2014), Jakarta, 2014.
[4] J.-M. Yang, R. Cai, F. Jing, S. Wang, L. Zhangy and W.-Y.
Ma, "Search-based Query Suggestion," in Proceedings of
the 17th ACM conference on Information and knowledge
management. ACM 2008, California, 2008.
[5] S. Plansangket and J. Q. Gan, "A query suggestion method
combining TF-IDF and Jaccard Coefficient for interactive
web search," Artificial Intelligence Research 4, vol. 4, p.
119, 2015.
[6] Sugiyamto, B. Surarso and A. Sugiharto, "Analisa
Performa Metode Cosine dan Jaccard Pada Pengujian
Kesamaan Dokumen," Jurnal Masyarakat Informatika, vol.
5, pp. 1-8, 2014.
[7] S. Niwattanakul, J. Singthongchai, E. Naenudorn and S.
Wanapu, "Using Jaccard Coefficient For Keywords
Similarity," in Proceedings of the International
MultiConference of Engineers and Computer Scientists
2013 Vol I,, Hong Kong, 2013.
[8] D. Hawking and K. Griffiths, "An enterprise search
paradigm based on extended query auto-completion. Do we
still need search and navigation?," in ADCS '13
Proceedings of the 18th Australasian Document Computing
Symposium (pp. 18-25), New York, 2013.
45
Lampiran 5 Status Submission Seminar Internasional
46
47
48
Lampiran 6 Laporan Penggunaan Dana Penelitian