Jurnal Ilmiah NERO Vol. 2, No.1 2015 IMPLEMENTASI WEB SEMANTIK UNTUK APLIKASI PENCARIAN TUGAS AKHIR MENGGUNAKAN ONTOLOGI DAN COSINE SIMILARITY Maskur1), Faiz Rizky Andriansyah2) 1),2) Program Studi Teknik Informatika Fakultas Teknik, Universitas Muhammadiyah Malang Jl Raya Tlogomas, No.246, Malang Email : 1) [email protected], 2) [email protected] ABSTRAK Sistem pencarian pada sistem umumnya masih menggunakan sistem pencarian konvensional, yaitu pencarian yang mencocokkan kata kunci dengan data yang ada. Pencarian konvensional memiliki kelemahan yaitu tidak bisa mencari data yang relevan dengan kata kunci. Untuk mengatasi masalah ini dibangun sistem yang dapat melakukan pencarian yang dapat mecari hasil yang relevan dengan kata kunci. Sistem ini berbasis web yang digabungkan dengan ontologi. Ontologi merupakan hirarki yang menjelaskan antara hubungan suatu kata. Ontologi berfungsi untuk mencari hubungan antara kata yang dimasukkan oleh pengguna. Pencarian data dalam ontologi menggunakan Query Sparql yang menyerupai Query database pada umumnya namun tidak terlalu kompleks seperti Query database. Untuk menunjang hasil yang diperoleh digunakan cosine similarity. Metode cosine similarity digunakan untuk memberikan bobot pada setiap dokumen yang di dapatkan, sehingga dokumen yang didapat semakin relevan dengan kata kunci. Pengujian menggunakan metode precission untuk menghitung nilai relevansi hasil yang didapat dari ontologi, sedangkan pengujian dengan kappa statistics digunakan untuk menghitung nilai dari hasil cosine similarity dengan cara membandingkan hasil yang didapat dari sistem dan hasil menurut pengamatan pakar.Dari hasil pengujian didapatkan nilai Cosine Similaritynya lebih besar sama dengan 0,33. Kata kunci: Cosine Similarity, Ontologi,Semantik, Sparql ABSTRACT The system searches the system generally still use conventional search system, which searches that match keywords to existing data. Conventional search has the disadvantage that it can not find the data that is relevant to your keywords. To resolve this issue built a system that can do a search to look for results that are relevant to the keywords. This system combined with web-based ontology. Ontology is a hierarchy that describes the relationship between a word. Ontology is used to find the relationship between words entered by the user. Search data in ontologies using SPARQL Query Query the database that resembles in general but not too complex as database queries. To support the results obtained are used cosine similarity. Cosine similarity method is used to give weight to every document that they got, so that the documents obtained by the increasingly relevant to the keyword. Precission testing using the method for calculating the value relevance of the results obtained from the ontology, while testing with kappa statistics used to calculate the value of the results of cosine similarity by comparing the results obtained from the system and the results according to expert examination. From the test results obtained Cosine Similarity greater value equal to 0.33. Keywords: Cosine Similarity, Ontology,Semantic, Sparql. 1. PENDAHULUAN Saat ini web merupakan sumber data dan informasi terbesar, dikarenakan hampir semua teknologi saat ini memanfaatkan internet. Oleh karena itu web merupakan sarana yang paling tepat untuk mendapatkan informasi. Sebuah halaman website pada umumnya hanya menyediakan fitur pencarian standar untuk melakukan pencarian informasi yang tersimpan. 11 | P a g e Jurnal Ilmiah NERO Vol. 2, No.1 2015 Pencarian standar dalam hal ini ialah pencarian berdasarkan kata kunci yang dihubungkan dengan basis data. Metode pencarian memiliki beberapa kelemahan seperti informasi yang didapatkan ialah informasi yang benar – benar mirip dengan kata kunci, sehingga informasi yang didapatkan hanya terbatas pada kata kunci yang digunakan dan untuk informasi yang relevan dengan kata kunci tidak akan ditampilkan. Hal ini menyebabkan informasi yang didapatkan menjadi lebih sedikit dan pengguna website harus benar-benar memasukkan kata kunci yang tepat untuk mendapatkan informasi yang diinginkan. Oleh sebab itu untuk mengatasi masalah tersebut, akan dikembangkan sebuah aplikasi yang akan membantu melakukan pencarian informasi yang tidak hanya sama dengan kata kunci yang dimaksud namun juga akan melakukan pencarian infomasi yang relevan dengan kata kunci yang dimaksud, sehingga pengguna akan mendapatkan informasi lebih banyak dan informasi yang relevan dengan kata kunci pencarian. Aplikasi tersebut berupa semantik web. Hal ini disebabkan web berbasis semantik tidak hanya melakukan pencarian informasi yang sama persis dengan kata kunci yang dimasukkan. Web semantik juga akan menampilkan informasi yang relevan dengan kata kunci karena web semantik akan mampu memahami makna dari sebuah kata atau konsep. Dalam sebuah web semantik sebuah Query akan diperluas dengan cara menambahkan kata yang relevan dengan kata kunci yang dimasukkan. Setelah itu data akan dicari dalam basis data menggunakan Query yang telah diperluas. Hal ini akan menampilkan data lebih banyak lagi sehingga data harus dilakukan pembobotan dan diberi rangking ketika akan di tampilkan [1]. 2. DASAR TEORI 2.1. Web Web merupakan sebuah layanan yang menampilkan sebuah halaman yang berisi informasi dalam bentuk digital. Web menggunakan bahasa HTML (Hypertext Markup Language) dan berjalan pada protokol HTTP atau Hypertext Transfer Protocol. Setiap halaman web memiliki sebuah URL (Uniform Resource Locator) yang berfungsi sebagai alamat web tersebut. Untuk membuka sebuah halaman web dibutuhkan sebuah web browser yang akan menghubungkan pengguna dengan server web yang berfungsi menyediakan layanan web [2]. 2.2 PHP PHP adalah bahasa pemrograman yang digunakan untuk membuat sebuah web. Bahasa PHP menyatu dengan HTML dan dijalankan pada sisi server.Artinya semua sintaks yang kita tulis akan dijalankan sepenuhnya di server sedangkan yang ditampilkan di browser merupakan hasil dari pengolahan sintaks PHP.Untuk membuat sintaks PHP dengan cara <?php … ?> dan menyimpan berkas dalam format “.php”. Artinya semua sintaks yang terdapat di antara sintaks pembuka dan penutup akan dijalankan sebagai PHP [2]. 2.3 Ontologi Istilah ontologi sebenarnya berasal dari istilah filosofi "ontology" yang artinya sesuatu yang sesungguhnya ada dan bagaimana menggambarkannya. Dalam dunia komputer ontologi digunakan untuk menspesifikasikan suatu konseptualisasi. Dalamistilah lainontologi dijelaskan sebagai suatu representasi dari domain pengetahuan tertentu yang berisi istilahistilah dalamdomain tersebut beserta hubungan antara istilah-istilah yang ada. Ontologi saat ini banyak digunakan terutama untuk mendukung web semantik, yaitu teknologi web yang diarahkan dapat memahami makna suatu kata atau kalimat yang diberikan oleh pengguna. Membuat komputer mengerti seperti manusia adalah suatu hal yang sepertinya tidak mungkin, namun visi ini terus diupayakan dengan menyediakan seperangkat alat sehingga membuat mesin atau komputer dengan mudahdapat memproses informasi dan mengerti informasi yang diinginkan oleh pengguna. Namun dalam kasus ini ontologi digunakan untuk melakukan perluasan Query dimana kata yang paling relevan akan dimasukkan dalam Query. Query yang telah diproses dengan ontologi akan digunakan untuk melakukan proses selanjutnya [3]. 12 N E R O Jurnal Ilmiah NERO Vol. 2, No.1 2015 2.4 Sparql Sparql adalah Query yang digunakan untuk mengakases data yang dibuat dalam RDF/Ontologi. Sparql menggunakan URI untuk mendapatkan data yang yang ada. Sparql hampir sama dengan Query pada Sql pada umumnya, hanya saja Sparql lebih sederhana dibanding dengan Query Sql [4]. 2.5 ALGORITMA COSINE SIMILARITY Cosine Similarity adalah salah satu metode yang diterapkan untuk membandingkan dokumen teks. Cosine Similarity menggunakan dua parameter vektor. Vektor tersebut didasarkan pada jumlah kata yang mirip pada kedua dokumen teks [5].Perbandingan kemiripan(similarity) yang digunakan Seperti yang ditunjukkan oleh persamaan (1). sim = σ ௪Ǥௗ (1) ඥσ ௗమ כ௩ dimana : W : bobot dari setiap dokumen V : panjang vecto Idf : invers frekuensi dokumen ଵ ቀ݊ൗ݂݀ ቁ 2.6 PRECISION Precision adalah tingkat ketepatan antara informasi yang diminta oleh pengguna dengan jawaban yang diberikan oleh sistem [6]. Persamaan 2 menunjukkan menghitung ketepatan presisi. Precission = ࢛ࢇࢎ࢟ࢇࢍࢊࢊࢇࢇ࢚ࢊࢋࢍࢇ࢈ࢋࢇ࢘ (2) ࢛ࢇࢎ࢟ࢇࢍࢊࢊࢇࢇ࢚ 2.7 KAPPA STATISTIK Cohen mengemukakan suatu ukuran kesepakatan antara dua penilai dalam mengklasifikan beberapa subjek dalam satu dari dua kategori yang mungkin. Nilai statistik Kappa yang mendekati satu menunjukkan kesepakatan yang sangat baik di antara kedua penilai sedangkan yang mendekati nol menunjukkan kesepakatan lemah diantara kedua penilai. Dalam pengukuran Cohen Kappa dapat menggunakan tabel kontingensi 2 x 2 berpasangan yang terdiri dari dua kategori misalkan sebuah jawaban “ya” dan “tidak”. Nilai Kappa akan menunjukan proporsi kesepakatan antara dua pengamat. Pengamat pada penelitian ini adalah responden dan sistem. Nilai Kappa digunakan untuk menganalisis hasil pengujian yang telah dilakukan sistem dengan responden. Disamping itu subjektivitas dari seorang responden yang memahami hasil pencarian adalah alasan lain penggunaan Nilai Kappa untuk menganalisis hasil pengujian [7]. Seperti yang ditunjukkan oleh persamaan (5). Tabel 1. Nilai Pengujian Pengamat 1 dan Pengamat 2 Pengamat 2 Ya Tidak Ya a b Pengamat 1 Tidak c d n1 n0 Total ାௗ ሺሻ ൌ Total m1 m0 n (3) ୬ ୟ ୬ ୟ ሺሻ ൌ ቂቀ భቁ ቀ ቁቃ ቂቀ బቁ ቀ ቁቃ ୬ ୬ ୬ ୬ ǡ ൌ ሺሻିሺாሻ ଵିሺாሻ (4) (5) 13 | P a g e Jurnal Ilmiah NERO Vol. 2, No.1 2015 3. METODOLOGI 3.1. DATA PENELITIAN Data penelitian yang digunakan dalam penelitian ini adalah koleksi judul tugas akhir program studi teknik informatika Universitas Muhammadiyah Malang meliputi bidang minat rekayasa perangkat lunak, jaringan dan game cerdas data yang dipakai 100 judul tugas akhir dan yang dilakukan untuk penelitian ada abstrak dari masing-masing tugas akhir. Tabel 1. Tabel Contoh koleksi judul tugas akhir No 1 Judul Pembuatan aplikasi lets healthy memanfaatkan accelerometer di smartphone android 2 Perancangan sistem dan implementasi listik prabayar pada kost mahasiswa menggunakan arduino uno 3 Sistem single sign on sso pada layanan aplikasi teknologi informasi universitas muhammadiyah malang 14 N E R O Abstrak <p>Smartphone bersistem operasi android banyak digunakan di dunia.Salah satunya karena dukungan aplikasi dan sensor di android.Sensor <em>accelerometer</em> adalah salah satu sensor yang terdapat di <em>smartphone </em>android.Banyak user yang memakai <em>smartphone</em> untuk menunjang aktivitas sehari &ndash; hari.Tidak terkecuali aktivitas kebugaran yang amat penting untuk kesehatan tubuh.Dengan memanfaatkan sensor <em>accelerometer </em>yang ada di <em>smartphone</em> <p>Rumah kost merupakan sebuah jasa yang menawarkan sebuah kamar atau tempat untuk ditinggali dengan sejumlah pembayaran tertentu untuk setiap periode tertentu. Pada penelitian ini, mengambil contoh pada kost mahasiswa, permasalahan yang timbul adalah tidak ada tolok ukur untuk menentukan tarif penggunaan listrik pada masing-masing penghuni kost, sehingga pemilik kost membuat peraturan abonemen &nbsp;listrik antar penghuni di sama ratakan, jika diteliti lebih detail penggunaan daya listrik pada masing penghuni kost tidak sama. Dari permasalahan tersebut perlu dirancang sebuah sistem yang dapat mengetahui beban penggunaan listrik secara real time dan terintegrasi dengan sistem prabayar.<br />Tujuan penelitian ini akan membangun sistem yang dapat memonitoring penggunaan listrik dan pembuatan listrik prabayar, sehingga abonemen masingmasing penghuni kost akan berbeda karena penggunaan listrik sesuai dengan kebutuhan. Dengan adanya sistem ini penggunaan listrik akan lebih efektif dan efisien, sehingga keuntungan dirasakan tidak salah satu pihak, tetapi dari dua sisi.<br />Untuk menerapkan sistem diatas dibutuhkan Board Arduino yang berfungsi sebagai sistem control pengambilan data, sebelum data tersebut diolah pada server side. Terdapat sistem sensoryang &nbsp;yang berfungsi untuk pengambilan data ampere yaitu sensor AC712-20A dan modul relay yang berfungi sebagai saklar elektrik yang memutus daya listrik ketika pulsa tidak mencukupi. Data dari sensor ampere digunakan untuk menggetahui load dari masing-masing beban penggunaan daya listrik.</p><p>&nbsp;</p> <p>Di era teknologi informasi ini aplikasi berbasis web di Universitas Muhammadiyah Malang (UMM) semakin berkembang dan setiap aplikasi yang telah terbangun memerlukan proses otentikasi untuk memvalidasi identitas dari pengguna yang akan menggunakan layanan pada aplikasi tersebut. Sehingga menyebabkan pengguna harus kembali melakukan login jika berganti aplikasi.Karena masing &ndash; masing aplikasi dapat memiliki akun yang berbeda membuat para mahasiswa kesulitan dalam mengingatnya itu.Sehingga banyak yang lupa. Hal ini dapat dihindari dengan Jurnal Ilmiah NERO Vol. 2, No.1 2015 mengintegrasikan sebuah central authentication service atau CAS agar aplikasi berbasis web yang telah ada dapat dijadikan Single Sign On, sehingga semua proses otentikasi akan ditangani oleh CAS dan proses otentikasi dapat disederhanakan.<br />Dengan proses otentikasi tersebut ditangani oleh CAS maka cas harus dapat memberikan otentikasi yang kuat, salah satu metode yang dapat dilakukan adalah dengan menggunakan Lightweight Directory Access Protocol (LDAP) p><p>&nbsp;</p> 3.2 Proses pencarian judul Tugas Akhir berbasis Semantik 1. Memasukkan kata kunci pencarian adalah proses untuk mencari judul tugas akhir 2. Preprocessing adalah untuk menentukan kata penting yang digunakan untuk proses pencarian tahapan yang dilakukan meliputi stemming, parsing, stopword removal. Setelah proses memasukkan kata kunci dan preprocessing tahap selanjutnya yang menjadi penelitian ini yaitu proses pencarian semantik. 3. Ontologi digunakan untuk memperluas wakna dari judul tugas akhir yang digunakan pencarian. Gambar 1. Contoh Ontologi Judul Tugas Akhir 4. 5. 6. 7. Ekspansi Query merupakan hasil perluasan dari hasil pencarian judul tugas akhir. Data judul tugas akhir merupakan database koleksi judul tugas kahir. Cosine Similaritydigunakan untuk perangkingan judul tugas akhir yang ditemukan. Hasil pencarian judul tugas akhir yang relevan ditampilkan. 4. PENGUJIAN DAN PEMBAHASAN Pengujian hasil pencarian judul tugas akhir berbasis semantik dilakukan dengan menggunakan 100 data judul tugas akhir yang terdiri dari 3 bidang minat meliputi rekayasa perangkat lunak, jaringan dan game cerdas. Ontologi dalam penelitian ini digunakan untuk mengetahui hubungan judul tugas akhir dan cosine similarity digunakan untuk perangkingan dokumen judul tugas akhir. Selanjutnya pembahasan memfokuskan pada pengujian precission dan kappa statistik. PEMBAHASAN Sistem yang dibangun terdiri dari beberapa menu yang merupakan tahapan dalam menjalankan sistem pendukung keputusan. Hal pertama yang harus dilakukan adalah ketika ada pelamar (calon dosen tetap) data pelamar dapat disimpan melalui menu ”Master Data Pelamar”. 15 | P a g e Jurnal Ilmiah NERO Vol. 2, No.1 2015 Mulai Memasukkan kata kunci A Preproses Textminig Data judul tugas akhir Ontologi Cosine Similirity Ekspansi Query Hasil A Selesai Gambar 2.Alur Kerja Sistem Setelah semua data pelamar dalam satu periode penerimaan calon dosen tetap dimasukkan dan tersimpan di dalam sistem, selanjutnya yang harus dilakukan adalah melakukan pengaturan kriteria dan bobot. Setelah semua proses tersebut dilakukan selanjutnya dapat dilakukan seleksi. Ketika proses seleksi telah menghasilkan peringkat dari setiap alternatif, pengambil keputusan dapat menetukan pelamar yang diterima sebagai dosen tetap. Keseluruhan proses seleksi yang sudah pernah dilakukan dapat dilihat pada menu ”History Pengangkatan”. Menu utama dari sistem pendukung keputusan seleksi penerimaan dosen tetap yayasan dapat dilihat pada gambar berikut. Gambar 3. Hasil pengujian pencarian tugas akhir berbasis semantik 4.1. Pengujian Precission Precission= ௨௬ௗௗ௧ௗ Precission= ଵ Precission= 0.7 16 N E R O ௨௬ௗௗ௧ Jurnal Ilmiah NERO Vol. 2, No.1 2015 Skenario pengujian precission Ada 100 data koleksi judul tugas tugas akhir. 7 diantaranya merupakan judul tugas akhir mengenai pemrograman Java. Ketika sistem melakukan pencarian judul tugas akhir dengan kata kunci “Java”, sistem mengenali 10 judul tugas akhir yang dianggap sebagai tugas akhir java. Jadi hasil precission dari pengujian tersebut adalah ൌ ͲǤǤ ଵ Tabel 3.Hasil pengujian precission Kata kunci Jumlah yang didapat Jumlah yang precission dengan benar didapat aplikasi berbasis windows phone sistem informasi berbasis web data mining sensor microcontroller augmented reality game edukasi arduino 2 15 0.13 26 78 0.33 5 1 49 2 0.1 0.5 3 10 1 12 22 2 0.25 0.45 0.5 android 21 32 0.66 java 7 10 0.7 html5 6 21 0.28 4.2. Pengujian Kappa Tabel 4.Hasil Pengujian Kappa Statistik Kata kunci Hasil 1. Judul : Implementasi mobile cloud file sharing berbasis android mobile Nilai Similarity : 0.5645 Judul: Implementasi mobile learning berbasis android pada e learning laboratorium teknik informatika universitas muhammadiyah malang Nilai Similarity : 0.4523 Judul:Pembuatan aplikasi social discovery berbasis lokasi pada platform windows phone 8 Nilai Similarity : 0.3132 Judul:Abstrak sistem informasi geografis wisata kabupaten sumbawa barat menggunakan location based service pada perangkat mobile Nilai Similarity : 0.2987 2. aplikasi berbasis windows phone 3. 4. Salah Hasil Sistem Benar Salah Benar Benar Benar Salah Benar Hasil Pakar Tabel 5.Hasil Pengujian Pakar dan Sistem PAKAR Benar Salah TOTAL SISTEM Benar Salah 1 0 1 3 0 3 TOTAL 4 0 4 17 | P a g e Jurnal Ilmiah NERO Vol. 2, No.1 ܲሺܣሻ ൌ 2015 ܽ݀ ݊ ଵା = ସ = 0,25 = = 0,4375 = = 0,33 Dari hasil pengujian Kappa, kata kunci pertama yaitu “aplikasi berbasis windows phone” telah diambil hasil sebanyak 4 dokumen. Dokumen yang menurut pakar hasilnya benar hanya 1 dokumen. Sehingga diperoleh nilai Kappa sebesar 0,33. Sehingga pada pengujian pertama diperoleh 4 dokumen mirip yang mana nilai Cosine Similarity nya lebih besar sama dengan 0,33. 5. Kesimpulan Berdasarkan pengujian pada bab sebelumnya, dapat dikesimpulkan bahwa: 1. Sistem mampu mendapatkan data lebih banyak dibandingkan dengan pencarian pada umumnya yang masih memiliki hubungan dengan kata kunci. 2. Pengujian menggunakan precission memperoleh hasil tertinggi pada angka 0.7 pada kata kunci “java”. 3. Jawaban pertama atau bobot tertinggi yang dihasilkan oleh sistem adalah jawaban yang benar menurut penilaian sistem, pakar dan Kappa. 4. Hasil pengujian menggunakan kappa statistik memberikan nilai terbaik kappa sebesar 0,5 pada pengujian ketiga. Nilai tersebut membuktikan bahwa sistem yang telah dibangun dapat digunakan untuk mengetahui kemiripan antar kasus penggunaan pertanyaan dan jawaban mirip menurut sistem dan pakar. 6. Daftar Pustaka [1]. Zebua, Javier dan Metty Mustikasari.”Aplikasi pencarian buku berbasis web semantik untuk perpustakaan Smk Yadika 7”. Bogor. 2013. [2]. Ramadhan, Mukhis dan Nurcahyono Budi Nugroho. “Desain Web dengan PHP”. 2009. [3]. Ayuningtyas, Nuriana. “Implementasi ontologi web dan aplikasi semantik untuk sistem sistasi jurnal elektronik Indonesia”. 2009. [4]. Gunawan dan Fandi Halim. “Penerapan web semantik untuk aplikasi pencarian pada repository koleksipenelitian, studi kasus: program studi sistem informasi stmik mikroskil Medan”. 2014. [5]. Saputra, Wahyu dan Faisal Muttaqin. “Pengenalan karakter pada proses digitalisasi dokumen menggunakan cosine similarity”. 2013. [6]. Keke, Dyan, Rian Chikita dan Agus Dwi Prayogo. “Sistem temu balik informasi”. 2012. [7]. Fauzan, Reza dan Djoko Pramono. “Pemeriksaan Kemiripan Diagram Kasus Penggunaan Terhadap Skenario”. 2013 18 N E R O