• Tidak ada hasil yang ditemukan

1. mampu menampilkan bobot dari data yang ada sehingga hasil pencarian lebih akurat dan cepat

N/A
N/A
Protected

Academic year: 2021

Membagikan "1. mampu menampilkan bobot dari data yang ada sehingga hasil pencarian lebih akurat dan cepat"

Copied!
5
0
0

Teks penuh

(1)

1

Sistem informasi perpustakaan berbasis web pada perpustakaan

Humaniora dan Budaya UIN Maliki Malang menggunakan Algoritma

Wighted Directed Acyclic Graph

Angga Debby Frayudha

ʾ

Idhar Firmansyah

ʾ

Mohammad Nadzif Abdullah

ʾ

1)

Jurusan Teknik Informatika UIN, Malang 65144, email:

mpyenk@gmail.com

2)

Jurusan Teknik Informatika UIN, Malang 65144,email:

interisty91@gmail.com

3)

Jurusan Teknik Informatika UIN, Malang 65144,email:

mohammadnadzif@gmail.com

Abstrack – pada pengimplementasian algoritma wighted Directed Acyclic Graph pada sistem informasi perpustakaan untuk mencari jarak node terpanjang dapat memanfaatkan algoritma ini dikarenakan WDAG sebagai representasi utama dari metadata yang berguna untuk mengkalkulasi kemiripan melalui perhitungan berbasis taksonomi root concept maka sangat berguna jika digunakan sebagai smart search engine.kelebihan dari WDAG adalah:

1. mampu menampilkan bobot dari data yang ada sehingga hasil pencarian lebih akurat dan cepat 2. wdag sangat berguna pada smart search enggine

Pada proses pengimplementasian metode WDAG ini ditemui kendala dimana kemungkinan pencarian kurangbegitu akurat

Kata Kunci: WDAG, metadata, taksonomi, root concept, smart search engine

1. PENDAHULUAN

Weighted Directed Acyclic Graph merupakan sebuah graph berarah dan memiliki bobot pada arc, yang umumnya merupakan bentuk penyimpanan metadata dari sesuatu. Wdag sangat potensial untuk memunculkan penggabungan node yang identik pada non-leaf. In degree dari root node sebuah DAG adalah 0. Sebuah node disebut leaf jika out –degree adalah 0. Dengan demikian bahwa tree merupakan subset khusus dari DAG. Algoritma wdag similarity membandingkan dan menghitung kemiripan antara dua arc-labeled dan acr-weighted DAG. Dua masukan wDAG diserialkan pertama kali dan dibaca oleh algoritma wDAG, setelah algoritma

membandingkan dua wDAG, hasil yang diberikan adalah nilai kemiripan keduanya dan kemiripan akan diurutkan berdasarkan kemiripan tertinggi.

Pada bab ini memperkenalkan mengenai cara kerja WDAG pada smart search engine perpustakaan dan kemudian melihat tingkatan keberhasilan Algoritma tersebut, WDAG lebih sering digunakan

dalam optimasi pencarian dan untuk menemukan data yang dicari kita akan membahasnya di sini secara penuh untuk algoritma WDAG.

2. PEMBAHASAN

4.1 Tahapan Algoritma

Pada tahapan ini WDAG memiliki beberapa tahapan yang harus dilewati karena pada proses pencarian yang menggunakan metode ini sangat sensitive terhadap hasil pencarian membantu untuk hasil yang dicari tahapan yang harus dilalui adalah pelabelan dan pembobotan, urutan yang ada pada algoritma WDAG sebagai berikut

4.1.1 Input masukan WDAG

Disini inputan yang akan dicari berupa potongan kata yang akan muncul secara otomatis yang diambil dari database, inputan berupa kata atau kalimat yang akan dicari

(2)

2

Gambar 4.1 Inputan Pencarian

Kata yang di inputkan akan diproses WDAG dan akan menghsilkan hasil pencarian terkait data yang di inputkan.

4.1.2 WDAG Similirity Algorithm

Ketika menghitung nilai kemiripan input WDAG, daftar asosiasi dibentuk untuk menyimpan kemiripan sub-WDAG saat pertama kali arc dihasilkan. Kemudian nilai kemiripan dapat digunakan kembali ketika algoritma kembali melewati sub-WDAG yang sama. Proses penentuan kemiripan dapat dilakukan melalui proses pemisahan kata menjadi individu kata yang kemudian dapat dibandingkan dengan dengan kumpulan kata yang sebelumnya telah dibuat aturan.

Gambar 4.2 WDAG

Jadi proses untuk mencari nilai kemiripan diambil dari berapa proses pemisahan kata menjadi beberapa kata yang per individu dan dibandingkan dengan kata yang ada.

4.1.3 Pelabelan

Pada proses similirty terjadi proses pelabelan, disini terdapat pencocokan kata dari inputan perkata yang akan disamakan ke dalam isi database. Perbandingan kata yang cocok akan mengeluarkan hasil berupa judul lanjutan atau nama pengarang. Pencocokan ini berdasarkan isi dari database, sehingga

jika kata yang dicari itu ada dalam database maka akan muncul kata selanjutnya

Gambar 4.3 Pelabelan

Prosesnya, ketika user menginputkan kata, maka proses awal adalah melakukan proses selecting melalui query like pada database. Hasil selecting akan berupa data dengan panjang data tertentu. Data ini akan dilakukan proses pemotongan/ split berdasarkan jumlah kosak kata, selanjutnya setiap kata hasil pemotongan dilakukan proses split berdasarkan huruf dan ditampung ke dalam array. Hal yang sama dilakukan pada kata yang diinputkan user, dilakukan proses split berdasarkan huruf dan tiap hurufnya disimpan dalam sebuah array dengan length tertentu. Dari array tersebut ditentukan nilai maksimal dan kemudian dibandingkan dengan array hasil query. Jika didapati memiliki length yang sama, maka proses selanjutnya adalah melakukan pengecekan similirity dari array huruf yang di-input-kan dan array huruf hasil query database. Lalu didapati output berdasarkan kata yang sama, kata ini yang selanjutnya ditampilkan ke user.

Gambar 4.4 Pelabelan kata

Jika kata yang dicari bukan merupakan node pada simpul simpul dan memiliki arc label yang berbeda, maka nilai kemiripan adalah 0. Sebaliknya jika arc label yang dimiliki adalah sama maka akan

(3)

3

dilakukan recursive transversal top-down melalui sub

WDAG yang dimiliki 4.1.4 Similirity Value

Nilai pada Similirity Berkaitan dengan besarnya nilai kesamaan, dan nilai ini yang menentukan output yang diharapkan. Jika inputan yang dicari bukan merupakan node dari bagian simpul maka nilai kemiripan 0. Akan tetapi jika inputan itu hilang dalam sub WDAG yang dilalui maka nilai kemiripan dari sub WDAG yang hilang adalah berupa nilai simplicity dikalikan 0.5 atau dapat dirumuskan

WDAG stm(inputan,null)= WDAG

plicity(inputan,null) * 0.5

Gambar 4.5 Similirity Value

Nilai kesamaan dengan bobot yang sama maka akan diurutkan berdasarkan abjad tetapi tetap proses WDAG bekerja hanya saja memperhitungkan bilamana terjadi hal tersebut.

4.1.5 Pembobotan

Pembobotan disini dimaksudkan untuk menentukan nilai ratting tertinggi dari peminjaman buku, peminjaman dengan intensitas tinggi maka akan berpengaruh pada nilai bobot dari nilai pembobotan tersebut. Sugestion dari kata yang di inputkan akan ditampilkan berdasarkan dari urutan bobot dari yang tertinggi hingga terendah sehingga dimasukan pengurutan hasil lebih optimal.

Gambar 4.6 wighted 4.1.5.1 Proses pemecahan kata

Pada bagian kata yang akan dicari, kata yang diinputkan user nanti akan dipecah menjadi beberapa bagian. Jika kata maka dipecah berdasarkan hurufnya, jika kata maka dipecah berasarkan kosak kata. Misalnya : kata diinputkan adalah “Pengantar” nanti kata ini akan dipecah sebanyak jumlah huruf yang ada. Hasil pecah menjadi “p”, “e”, “n”, “g”, “a”, “n”, “t”, ”a”, “r”. tiap huruf yang dipecah akan dicari kesamaannya dengan aturan indexing dalam system. Jika kalimat, misalnya “Pengatar Bahasa Arab” maka akan dipecah menjadi “Pengantar”, “Bahasa”, dan “Arab”. Selanjutnya setiap kata yang dipecah dengan aturan indexing dan akan dicari kesamaannya kedalam system dan dimunculkan dibawah kotak mesin pencari.

Gambar 4.7 pemecahan kata

4.1.5 Pseudocode Program

kita perlu untuk mewakili grafik kita sedemikian rupa sehingga jalan menemukan algoritma seperti

Input : word “q”;

$query select from database

FOR i =1 to n do

$a split(“q”,$query) // memanggil fungsi query dan keyword

ambil nilai maks.$a

IF $a > 1 then

$b split $a ; ambil data pada $a index ke - 1

IF $b > 1 then

split $b ; ambil nilai maks $b pada index ke – 0 ; ambil nilai $a pada index ke – 2

(4)

4

IF nilai maks $b > 2 then

ambil nilai maks $a pada index ke – 0 $h split “word”,nilai maks.$a then Bandingkan nilai maks.$a dengan split “word”

$h = hasil akhir

ELSE

$h Split $b berdasarkan nilai maks.$b pada index ke-0

Bandingkan nilai maks.$b dengan split “word”

Ambil nilai $h pada indeks – 0 $h pada indeks – 0 = hasil akhir

IF

Indeks - 0 = 0 maka break;

ELSE

Batasi data yang ditampilkan sebanyak 5. $counter = 0

$selectcounterT select from database

IF $selectcounterT > 0 then

eksekusi query.

$counterT nilai pada kolom counter $arrayWeight [index kata] = nilai $counter Set similirity $h = nilai $counter.

ELSE

$arrayWeight [index kata] = 0

ENDFOR

Contoh implementasi sederhana dari kelas ini adalah menyimpan koneksi untuk setiap node dan hanya akan kembali ke daftar. masing-masing sambungan akan memiliki simpul biaya dan akhir 4.1.6 Implementasi Program

Berikut potongan sourcecode :

$SQLTitle = mysql_query("SELECT biblio_id, title FROM `biblio` WHERE title LIKE '" . $Key . "%'");

$iT = 0; if (sizeof($SQLTitle) > 0) { while ($ResultT = mysql_fetch_array($SQLTitle)) { $iT+=1; $RTitle = $ResultT['title']; $XT = explode(" ", $RTitle); $XTFive = $XT[0]; $indexT = 1; for (; $indexT <= $getIndexing; $indexT++) { if ($indexT < sizeof($XT)) { $XTFive.= " " . $XT[$indexT]; } } $iT2 = 0; $iTCheck = 0; $SQLTitlex =

mysql_query("SELECT biblio_id, title FROM `biblio` WHERE title LIKE '" . $Key . "%'"); while ($ResultTChecker = mysql_fetch_array($SQLTitlex)) { $iT2 +=1; $RTitleChecker = $ResultTChecker['title']; if ($iT != $iT2) { $XTChecker = explode(" ", $RTitleChecker); $XTCheckerFive = $XTChecker[0]; for ($indexT = 1; $indexT <= $getIndexing; $indexT++) { if ($indexT < sizeof($XTChecker)) { $XTCheckerFive.= " " . $XTChecker[$indexT]; } } if ($XTFive == $XTCheckerFive) { $iTCheck = 1; break; } } else { break; } } $comunicatorWhileT = 0; if ($iTCheck == 0) { if ($indexT == sizeof($XT)) { break; } else { if ($indexingPath == 0) { $arrayWord[$indexingPath] = $XTFive; $counterT = 0; $selectCounterT = mysql_query("SELECT b.biblio_id, r.counter FROM biblio b, item i, rating r WHERE b.biblio_id=i.biblio_id AND r.item_code=i.item_code AND b.biblio_id='" . $ResultT['biblio_id'] . "'"); if (sizeof($selectCounterT > 0)) { while ($resultCounterT = mysql_fetch_array($selectCounterT)) {

(5)

5

$counterT = $resultCounterT['counter']; $arrayWeight[$indexingPath] = $counterT; } } else { $arrayWeight[$indexingPath] = 0; } $indexingPath +=1; } else { if ($arrayWord[$indexingPath] != $arrayWord[$indexingPath - 1]) { $arrayWord[$indexingPath] = $XTFive; $counterT = 0; $selectCounterT = mysql_query("SELECT b.biblio_id, r.counter FROM biblio b, item i, rating r WHERE

b.biblio_id=i.biblio_id AND r.item_code=i.item_code AND b.biblio_id='" . $ResultT['biblio_id'] . "'"); if (sizeof($selectCounterT > 0)) { while ($resultCounterT = mysql_fetch_array($selectCounterT)) { $counterT = $resultCounterT['counter']; $arrayWeight[$indexingPath] = $counterT; } } else { $arrayWeight[$indexingPath] = 0; } $indexingPath +=1; } else { $comunicatorWhileT = 1; } } } } if ($comunicatorWhileT == 1) { break; } } } else { $GOD +=1; break; } 3. KESIMPULAN

Dari pemaparan isi paper diatas kita dapat mengetahui bagaimana cara mengimplementasikan WDAG pada sistem Informasi perpustakaan yang digunakan untuk mengoptimalkan smart search engine guna mengoptimalkan hasil pencarian yang tepat dan cepat

4. DAFTAR PUSTAKA

1. Jin Jing B.Eng, Similarity Of Wighted Directed Acyclic Graph, Zhejiang University, 2004

2. Bhavsar, V.C., Boley, H. and Yang, L., A Weighted-Tree Similarity Algorithm for Multi-Agent Systems in e-Business Environments, Computational Intelligence, 20(4), pp.584-602, 2004.

3. Bouquet, P., Serafini, L. and Zanobini, S., Semantic coordination: A new approach and an application. Proceedings of the International Semantic Web Conference (ISWC), pp. 130–145, 2003.

Gambar

Gambar 4.3 Pelabelan
Gambar 4.5 Similirity Value

Referensi

Dokumen terkait

Director Graha Hero, CBD Bintaro Jaya, Sektor 7 Blok B7/A7 Pondok Jaya, Pondok Aren Tangerang Selatan 15224 0 0% 0 0%. Share Ownership Aside From Controller and

Bab 2 membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis

Hasil penelitian juga menunjukkan bahwa dari semua perlakuan yang diuji, perlakuan konsentrasi minyak sereh dapur memiliki kemampuan efikasi paling rendah adalah

Program pendidikan dan pelatihan merupakan sarana pembinaan dan pengembangan karir, melalui keikutsertaan dalam program pendidikan dan pelatihan, pegawai terpilih secara

Proses pertama yang harus dibangun sebelum membangun aplikasi game scrabble ini adalah membangun kamus data, dimana dalam laporan ini pembangunan kamus data memanfaatkan

PERANCANGAN ALAT PENDETEKSI BENDA ASING PADA TAHAP AKHIR PROSES PEMISAHAN TERI

Algoritma Dijkstra adalah algoritma untuk menemukan jarak terpendek dari suatu titik ke titik yang lainnya pada suatu graph yang berbobot, dimana jarak antar titik adalah bobot

Penelitian ini bertujuan untuk mengukur analisis parameter biologi (Klorofil-a dan Fitoplankton) perairan kawasan estuaria sungai kurilompo bagi peruntukan usaha budidaya ikan