• Tidak ada hasil yang ditemukan

BAB 4 HASIL DAN PEMBAHASAN

4.1 Prosedur Pengujian

Prosedur pengujian dilakukan dengan mengimplementasikan metode yang digunakan dalam penelitian web service discovery berdasarkan sistematika yang sudah peneliti susun sehingga diperoleh hasil uji coba yang terukur tingkat akurasinya. Adapun langkah-langkah dalam pengujian sistem yang dilakukan untuk mengetahui tingkat akurasinya, adalah sebagai berikut:

4.1.1 Pengindeksan

Pengindeksan dokumen web service dilakukan dalam beberapa tahapan. Tahap pertama yaitu mengambil data indeks web service dari hasil parsing dekomposisi web service yang selanjutnya tersimpan di repository. Tahap selanjutnya adalah preprocessing. Preprocessing dilakukan melalui empat tahapan yaitu, case folding, tokenisasi, stopword, dan stemming. Hasil preprocessing adalah term atau meta dari seluruh dokumen web service yang

terkait. Setelah itu dilakukan tahap pembobotan. Pembobotan menggunakan TF.IDF terhadap masing-masing term web service tersebut.

4.1.2 Pemanggilan Dokumen Web Service dari Repository

Dokumen web service yang digunakan sebagai data pada penelitian ini tersimpan di dalam repository web service. Repository tersimpan di dalam MysQL terdiri dari beberapa tabel yang diproses pada yaitu tabel operation, index operation, vector, cache, stopword, dan kata dasar. Untuk memanggil

data dari repository tersebut dibutuhkan koneksi php dengan nama file koneksi.php. File koneksi ini terhubung di setiap proses fungsi PHP, seperti fungsi select, insert, update, dan delete.

Semua fungsi menggunakan bahasa pemrograman PHP. PHP adalah singkatan dari Hypertext Prepocessor, digunakan secara luas untuk penanganan pembuatan dan pengembangan aplikasi berbasis situs web dan digunakan bersamaan dengan HTML.

Di dalam file koneksi terdapat atribut connect untuk menjalankan query pada setiap fungsi manajemen basis data. Beberapa method pada koneksi yang sering digunakan untuk memproses database yaitu, method new mysqli(), digunakan untuk membuat sebuah koneksi. Method mysqli_query() digunakan untuk memproses perintah pada database MySQL seperti select, update, insert, dan delete. Method mysqli_num_rows() digunakan untuk

menghitung jumlah data yang dipanggil. Method mysqli_fetch_array() digunakan untuk menyajikan data yang sudah dipanggil dari basis data. Pada file koneksi terdapat beberapa parameter yaitu alamat host, nama database,

60

4.1.3 Preprocessing

Dokumen web service sebelum dibuat indeks datanya diproses dahulu melalui tahapan preprocessing untuk menghasilkan sebuah set term index yang bisa mewakili dokumen. Proses preprocessing dilakukan melalui beberapa tahapan yaitu, case folding, tokenizing, stopword dan stemming. Berikut adalah proses rinci pada preprocessing:

a. Case Folding

Mengubah semua huruf dalam dokumen menjadi huruf kecil (lowercase). Dalam tahap ini juga karakter selain huruf dihilangkan.

b. Tokenizing

Memotong tiap kata dalam kalimat atau parsing dengan menggunakan spasi sebagai delimiter yang akan menghasilkan token berupa kata.

c. Filtering (Stopword)

Menyaring kata yang didapat dari proses tokenizing yang dianggap tidak penting atau tidak memiliki makna dalam proses text mining yang disebut stoplist. Stoplist atau stopword berisi kata-kata umum yang sering muncul

dalam sebuah dokumen dalam jumlah banyak namun tidak memiliki kaitan dengan dengan tema tertentu. Tiap kata yang diperoleh dari tokenizing akan dicocokkan dalam kamus stopword di dalam database, jika kata tersebut cocok dengan salah satu kata dalam stopword maka kata tersebut akan dihilangkan, sementara yang tidak cocok akan dianggap cocok dan diproses ke tahap selanjutnya.

d. Stemming

Mengembalikan kata-kata yang diperoleh dari hasil filtering ke bentuk dasarnya, menghilangkan imbuhan awal (prefix) dan imbuhan akhir (sufix) sehingga di dapat kata dasar. Metode stemming memerlukan masukan berupa kata yang terdapat dalam suatu dokumen, dengan menghasilkan keluaran berupa root word.

Proses preprocessing diatas tersebut hasilnya disimpan ke dalam repository dalam bentuk database MySQL seperti pada gambar 4.1.

Gambar 4.1 Hasil preprocessing

4.1.4 Pembobotan TF.IDF

Pembobotan TF.IDF merupakan tahapan setelah preprocessing. Pada tahap ini dilakukan analisa terkait dokumen web service dengan query yang di-input-kan user. Peneliti menggunakan faktor pembobotan untuk tiap kata (term) dalam dokumen didefinisikan sebagai kombinasi term frequency dan inverse document frequency. TF/IDF digunakan untuk menghitung nilai bobot

kata. Hasil dari pembobotan disimpan pada repository pada tabel index_opt di database MySQL seperti gambar 4.2:

62

Gambar 4.3 Jumlah nilai bobot per term_keyword

Diambil setiap record dalam tabel tb_index_opt. Setelah diketahui nilai ter_keyword yaitu count_keyword pada setiap dokumen (id_operation) web

service selanjutnya dihitung bobot untuk setiap term_keyword pada setiap

dokumen (id_operation). Dan hasilnya disimpan pada bobot_keyword.

4.1.5 Implementasi Cosine Similarity

Discovery terhadap query dihitung menggunakan cosine similarity antara

query dengan seluruh dokumen web service. Perhitugngan cosine similarity

mengacu pada nilai pembobotan TF.IDF. Kemudian, untuk menghitung nilai similarity dilakukan dengan cara membandingkan nilai kemiripan antara nilai

vector query dan vector tiap dokumen pada repository web service. VSM

menghitung kemiripan dengan mendefinisikan sebuah vector yang mempresentasikan tiap dokumen web service, dan sebuah vector yang mempresentasikan query dari keyword untuk menemukan web service tersebut di dalam repository.

Kata-kata dalam dokumen web service direpresentasikan dalam vector, sehingga sangat dimungkinkan untuk membandingkan dokumen web service dengan query untuk menunjukkan kemiripan konten keduanya. Sebuah query dianggap mirip dengan sebuah dokumen web service, maka koefesien kemiripan yang mengukur kemiripan antara dokumen web service dan query

dapat dihitung. Dokumen web service yang kontennya paling mirip dengan konten pada query dianggap paling relevan.

Pencocokan ini memerlukan pembentukan vector yang merepresentasikan kata-kata dalam dokumen web service dan vector lain yang merepresentasikan kata-kata dalam query. Kemudian, sebuah metode harus dipilih untuk mengukur kedekatan vector dokumen dan vector query, yaitu cosine similarty.

Sebelum menghitung nilai similarity menggunakan cosine similarity antara query dengan dokumen web service, dilakukan tahapan preprocessing terhadap query yang dimasukkan oleh user dan diberikan bobot tiap kata dalam query tersebut, sama seperti tahapan preprocessing pada dokumen web service.

Hasil preprocessing dan perhitungan nilai similarity disimpan pada tabel tb_cache. Misalkan query yang dimasukkan oleh user adalah: “Referensi

angkatan yang aktif.”. Selanjutnya kalimat tersebut akan diproses melalui beberapa tahapan dalam preprocessing dan term/kata yang dihasilkan dari proses tersebut adalah “referens angkat aktif” dengan masing-masing nilai similarity-nya yang diurutkan berdasarkan nilai similarity terbesar. Sehingga

hasil disajikan berdasarkan dokumen web service yang paling relevan. Berikut adalah hasil perhitungan similarity antara dokumen dengan query yang tersimpan pada tabel tb_cache. Tabel tb_cache tersimpan di database MySQL seperti pada gambar 4.4:

64

Gambar 4.4 Hasil similarity query dengan dokumen

Dokumen terkait