LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN...

56
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

Transcript of LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN...

Page 1: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 2: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

ii

Page 3: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 4: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 5: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 6: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 7: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 8: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 9: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 10: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 11: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 12: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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).

Page 13: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 14: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 15: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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).

Page 16: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 17: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 18: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 19: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 20: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 21: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 22: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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,

Page 23: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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 :

Page 24: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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>

Page 25: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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 :

Page 26: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 27: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 28: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 29: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 30: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 31: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 32: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 33: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

25

Gambar 5. 8 Cover prosiding publikasi

Page 34: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

26

Gambar 5. 9 Daftar isi prosiding

Page 35: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

27

Gambar 5. 10 Abstrak prosiding

Page 36: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 37: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 38: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 39: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

31

LAMPIRAN

Page 40: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

32

Lampiran 1 Instrumen Poster

Page 41: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

33

Lampiran 2 Artikel Ilmiah Jurnal

Page 42: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

34

Simple Query Suggestion Untuk Pencarian Artikel

Menggunakan Jaccard Similarity

Komang Rinartha

Program Studi Sistem Komputer

Stikom Bali

Bali, Indonesia

[email protected]

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.

Page 43: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 44: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 45: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 46: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 47: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

39

Lampiran 3 Status Submission Jurnal Nasional

Page 48: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

40

Lampiran 4 Artikel Ilmiah Seminar Internasional

Page 49: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 50: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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:

Page 51: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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

Page 52: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

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.

Page 53: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

45

Lampiran 5 Status Submission Seminar Internasional

Page 54: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

46

Page 55: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

47

Page 56: LAPORAN TAHUN TERAKHIR PENELITIAN DOSEN PEMULAeresearch.stikom-bali.ac.id/admin/files/publikasi_files/b56bd2028eb9… · ditemui pada search engine dan juga form input dalam website.

48

Lampiran 6 Laporan Penggunaan Dana Penelitian