1.
Pendahuluan
Permintaan akan tanaman hias cenderung terus meningkat baik untuk kebutuhan domestik maupun ekspor, sehingga memposisikan tanaman hias sebagai komoditas perdagangan yang penting di dalam negeri maupun di pasar global. Hal ini tercermin dari nilai perdagangan florikultura dunia yang mencapai lebih dari 90 milyar US$ pada tahun 2009, sedang Indonesia baru mencapai 15 juta US$ dengan posisi urutan ke 51 dunia. Industri florikultura nasional Indonesia akan terus berkembang, Indonesia terdapat ratusan jenis tanaman tanaman hias yang tumbuh dan berkembang di daratan rendah hingga dataran tinggi. Menurut SK Menteri Pertanian Nomor 511/Kpts/P.310/9/2006 tanggal 12 September 2006, terdapat 117 jenis tanaman hias yang menjadi binaan Direktorat Jenderal Hortikultura, Kementrian Pertanian Republik Indonesia. Setiap jenis tanaman hias memiliki informasi dan aspek perawatan dasar seperti, klasifikasi umum, agroklimat, cara budidaya, cara perbanyakan, dan pengendalian organisme pengganggu. Namun demikian, sebagian besar masyarakat Indonesia, masih belum banyak mengenal dan memahami jenis maupun varietas tanaman hias yang berkembang di Indonesia serta cara perawatannya[1]. Demikian juga halnya dengan sebagian besar pembeli tanaman hias di Taman Wisata Kopeng, yang menyediakan kios – kios tanaman hias bagi para penggemar tanaman hias dengan berbagai macam bunga. Masalah yang dihadapi, adalah keterbatasan informasi yang dimiliki penjual tanaman hias. Pada saat ini cara yang digunakan oleh pejual untuk memberikan informasi adalah dengan menerangkan langsung kepada pembeli apa yang mereka tahu, dengan cara ini sering membuat pembeli bingung membedakan cara perawatan tanaman yang berbeda - beda saat pembeli membeli tanaman dalam jumlah banyak dan jenis yang berbeda. Pelanggan mengeluh saat tanaman ditanam di rumah mereka tanaman langsung mati. Keterbatasan informasi tersebut akan dijawab dengan dibuatnya sebuah aplikasi yang berisi informasi perawatan tanaman hias seperti nama tanaman, klasifikasi umum, media yang baik digunakan sesuai dengan tanaman, hama yang kemungkinan menyerang, dan cara penanggulangan hama dan penyakit dalam satu website. Aplikasi ini dibuat dengan berbasis web, sehingga ketika pembeli membeli berbagai jenis tanaman dalam jumlah yang banyak, pembeli tidak harus mengingat satu per satu cara perawatan tanaman sehingga merawat secara asal karena pembeli dapat mengakses informasi melalui website. Bukan hanya pembeli namun seluruh masyarakat yang memiliki tanaman hias atau pecinta tanaman hias dapat memperoleh informasi melalui web ini. Aplikasi ensiklopedi bunga ini menggunakan semantic web, karena semantic web memiliki sebuah katalog yaitu ontology yang digunakan untuk schema matching. Banyaknya informasi jenis tanaman hias yang beragam dan di berbagai tempat, diperlukan sebuat teknologi yang mampu menggabungkan informasi-informasi tersebut, dan kemudian menyajikan kepada pecinta tanaman hias dalam bentuk yang saling relevan sesuai konteks yang dimaksud. Metode semantic web dengan pendekatan ontology tidak hanya mampu memahami 2
makna dari sebuah kata dan konsep, tetapi juga hubungan logis antara keduanya. Berbeda dengan web konvensional yang hanya mampu mencari data yang memiliki sebuah atau beberapa kata yang menjadi pencarian, semantic web dapat melakukan pencarian dengan lebih terstruktur dengan pertanyaan yang spesifik(selama hal tersebut di tulis kedalam bentuk yang dimengerti oleh mesin). Penelitian ini bertujuan untuk menerapkan teknologi semantic web pada aplikasi ensiklopedia bunga. Aplikasi ini dapat digunakan oleh semua kalangan masyarakat yang memiliki akses internet dan tertarik pada budidaya tanaman hias yang menyediakan informasi mengenai macam-macam tanaman hias, nomenklatur atau susunan taksonomi sederhana, agroklimat sebagai syarat tumbuh, perbanyakan, dan sedikit pengenalan budidaya serta dilengkapi dengan gambar berwarna sehingga akan mudah dikenali oleh pecinta tanaman hias. 2.
Tinjauan Pustaka
Penelitian berjudul Penerapan Teknologi Semantic Web pada Aplikasi Pencarian Koleksi Perpustakaan juga sebelumnya telah menerapkan teknologi Semantic Web pada aplikasinya untuk proses pencarian koleksi buku di perpustakaan UPN “Veteran” Yogyakarta hanya berdasarkan kategori yang sudah disediakan sebelumnya[2]. Perbedaan penelitian ini dengan yang dirancang, adalah system pencarian yang dikembangkan. Penelitian sebelumnya menggunakan system pencarian hanya sebatas dengan kategori yang telah ditetapkan, namun penelitian ini menggunakan system pencarian menggunakan kata kunci, kemudian pencarian sederhana menggunakan kategori yang telah ditentukan sebelumnya dan pencarian yang lebih kompleks, yaitu pecinta tanaman hias memasukkan informasi melalui form input yang kemudian akan diolah dan menghasilkan informasi yang lebih akurat. Penelitian kedua berjudul Model Ontologi untuk Informasi Jadwal Kereta Api Menggunakan Protégé [3] dan penelitian ini memiliki persamaan yaitu menggunakan teknologi semantic. Namun yang membedakan keduanya adalah penelitian sebelumnya hanya membangun system sampai tahap pembangunan ontology dan penelitian ini akan dibangun sebuah aplikasi untuk menerapkan konsep semantic. Prinsip-prinsip semantic web diimplementasikan dalam lapisan teknologi web standar seperti pada gambar 1 dibawah ini.
Gambar 1 Arsitektur Semantik Web[4]
3
Gambar 1 menunjukan lapisan unicode dan URI (Uniform Resource Identifier) yang menyediakan sarana untuk mengidentifikasi objek dalam semantic web. Lapisan XML dengan definisi skema namespace memastikan untuk mengintegrasikan definisi semantic web dengan standar berbasis XML lainnya. RDF dan RDFSchema memungkinkan untuk membuat pernyataan tentang objek dengan URI dan menentukan apakah kosakata tersebut dapat disebut dengan URI. Lapisan ini merupakan lapisan dimana diberikannya jenis sumber daya dan link. Lapisan Ontologi mendukung evolusi kosakata karena dapat menentukan hubungan antara konsep-konsep yang berbeda. Lapisan Digital Signature digunakan untuk mendeteksi perubahan pada dokumen. Lapisan Logic, Proof dan Trust, sekarang ini sedang diteliti dengan demonstrasi aplikasi sederhana sedang dibangun. Lapisan Logic memungkinkan penulisan aturan, lapisan Proof mengeksekusi aturan dan mengevaluasi bersama-sama dengan mekanisme, sedangkan lapisan Trust untuk mempercayai bukti yang diberikan pada aplikasi atau tidak[4]. Semantic web pertama kali dicetuskan oleh Tim Berners-Lee, penemu World Wide Web. Semantic Web merupakan visi masa depan web, dan informasi diberi arti eksplisit, sehingga lebih mudah diproses oleh mesin secara otomatis dan lebihmudah menyatukan informasi yang tersedia di web. Semantic Web adalah perluasan dari web yang mendukung database dalam bentuk yang dapat dibaca oleh mesin [5]. Semantic web dapat dibangun menggunakan sebuah kerangka kerja pada sebuah aplikasi java dengan menggunakan library jena. Jena dikembangkan secara open source oleh HP Labs Semantic Web Programmer untuk memanipulasi metadata dalam aplikasi java. Framework jena menyediakan lingkungan pemrograman untuk RDF, RDF Schema, OWL, dan SPARQL serta memiliki mesin inferensi berbasis aturan (rule-based inference engine). Jena memiliki kelas ModelFactory yang dapat digunakan untuk membuat berbagai model. Melalui model inilah dibuat sebuah resource yang merepresentasikan setiap subjek yang ada. Setelah semua resource dibuat, selanjutnya dapat ditambahkan statement kepada resource tersebut. Pada jena, subjek setiap statement selalu berupa sebuah resource, sedangkan predikat direpresentasikan oleh property, dan objek bisa direpresentasikan oleh sebuah resource lain maupun sebuah nilai literal[6]. Web ontology language (OWL) adalah sebuah bahasa ontologi berbasis Web yang memang dirancang untuk keperluan integrasi yang berkaitan dengan dokumen-dokumen di Web. Dalam hal ini OWL dapat menjelaskan atau mendeskripsikan sisi semantic dari property dan class sebuah dokumen, serta bagaimana keterkaitannya. Sebagai sebuah format bahasa, OWL dapat menggunakan XML dan dapat digunakan sesuai skema RDF. Di sini XML menjadi semacam sintaks bagi dokumen, sementara RDF menjadi model yang menggambarkan semua objek digital serta keterkaitan di antara objek tersebut. Saat ini OWL memiliki tiga kategori bahasa, yaitu OWL Lite, OWL DL, dan OWL Full. Sebagai sebuah bahasa ontologi, OWL digunakan untuk berbagai keperluan, mulai dari untuk pendefinisian class dalam pembuatan program 4
komputer, pembuatan aplikasi e-commerce, sampai pembuatan sarana pencarian [7]. SPARQL merupakan bahasa query untuk RDF/OWL. W3C menuliskan SPARQL menyediakan fasilitas untuk mengekstrak informasi dalam bentuk URI, blank node dan literal, mengekstrak subgraph RDF, dan membangun graph RDF baru berdasar pada informasi dari graph yang di-query. Query SPARQL didasarkan pada pencocokan pola graph. Pola graph yang paling sederhana adalah triple pattern yang mirip dengan RDF triple, hanya saja pola pada query dimungkinkan pemberian nama diluar terminologi RDF pada posisi subyek, predikat dan obyek. Klausa yang digunakan dalam query SPARQL, diantaranya: PREFIX, SELECT, OPTIONAL, dan WHERE[8]. 3.
Metode dan Perancangan Sistem
Metode dan perancangan system pada penelitian ini menggunakan metode RAD. Rapid Application Development (RAD) adalah salah satu alternatif dari System Development Life Cycle digunakan untuk mengatasi keterlambatan dalam proses development. Keunggulan metode ini menggabungkan teknik SDLC, Prototyping teknik joint application development (JAD) dan computer aided software engineering (CASE Tools) yang bertujuan untuk membuat system dalam waktu singkat. RAD melibatkan user pada proses desain menyebabkan kebutuhan user dapat terpenuhi dengan baik dan secara otomatis kepuasan user sebagai pengguna system semakin meningkat. RAD melibatkan user dalam proses testing sehingga dapat memangkas proses development yang panjang untuk dapatdeliver on schedule[9]. Terdapat 5 tahap dalap perancangan model menggunakan RAD, yaitu: bussiness modeling, data modeling, process modeling, application generation, testing and turnover. Berikut adalah penjelasan dari detiap tahapan yang terdapat pada metode RAD:
Gambar 2. Struktur Metode RAD [9]
5
Gambar 2 menunjukan tahapan penelitian, yaitu tahapan pada metode RAD. Metode pengembangan system informasi pada penelitian ini adalah menggunakan metode RAD, dimana metode RAD tersebut memiliki tahapan yang dilakukan. Tahap pertama : bussiness modeling, pada tahapan business modeling pekerjaan yang dilakukan adalah analisis proses bisnis dari ensiklopedi bunga, informasi apa saja yang dikelola, sumber informasi yang didapat dan pengguna dari ensiklopedi bunga ini. Tahap kedua : data modeling, pada tahapan ini pekerjaan yang dilakukan adalah mendefinisikan dari fase business disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Pemodelan data yang dibuat adalah berdasarkan informasi mengenai perawatan tanaman hias. Tahap ketiga : process modeling, pada tahapan process modeling pekerjaan yang dilakukan adalah membuat alur proses dari aplikasi ensiklopedi bunga. Alur proses yang dibuat tersebut mencakup proses pencarian tanaman hias. Tahap keempat : application generation, tahapan application generation pekerjaan yang dilakukan adalah melakukan penulisan kode program atau implementasi dari process modeling dan data modeling. Tahap kelima : testing and turnover, pada tahapan testing, pekerjaan yang dilakukan adalah melakukan pengujian system pencarian dari ensiklopedi bunga. Pengujian dilakukan menggunakan metode blackbox testing. Perancangan Sistem Perancangan system pada penelitian ini dibagi menjadi dua perancangan, yaitu perancangan proses dan perancangan struktur ontology. Dalam penelitian ini pecinta tanaman hias yang menggunakan aplikasi ini adalah pengguna internet dan pecinta tanaman hias. Perancangan penelitian ini UML digunakan untuk membuat perancangan proses, diagram UML yang digunakan adalah use case diagram, use case diagram adalah gambaran dari fungsi fungsionalitas dari suatu system, sehingga user atau pengguna dapat memahami dan mengerti dari system yang akan dibangun[10]. <<extend>>
Mengakses Keyword Searhing
Memasukkan kata kunci <
>
Mengakses Simple Searching <<extend>>
Mengakses Advance Searching
Melihat Home Pecinta Tanaman Hias
<>
<>
<<extend>>
<<extend>>
Hasil Cari
Memilih kategori dan masukkan kata kunci
Melihat Gleri Bunga
Mengakses Galeri Bunga
Mengakses Media Tanam
Melihat Data Media
<<extend>>
<<extend>>
Memilih kategori dan masukkan kata kunci
Melihat Data Hama
Mengakses Hama
Melihat Data Obat
Mengakses Obat <<extend>>
Gambar 3. Use Case Diagram Pecinta Tanaman Hias
Gambar 3 menunjukan use case diagram aplikasi. User merupakan pengguna internet khususnya pecinta tanaman hias yang ingin mendapatkan informasi perawatan tanaman hias. Aplikasi ini juga memberikan akses pencarian 6
kepada pecinta tanaman hias. Akses pencarian itu berupa pencarian menggunakan kata kunci, pencarian sederhana yaitu pecinta tanaman hias memilih kategori dan subkategori yang disediakan, kemudian menuliskan kata kunci sesuai kategori yang dipilih sebelumnya, dan akses pencarian kompleks, pada pencarian ini pecinta tanaman hias mengisikan informasi yang diketahui pada form yang disediakan pada halaman web, maka pecinta tanaman hias mendapatkan hasilnya. Perancangan ontology dikelompokan menjadi lima tahapan, yaitu : 1) menentukan domain, 2) tahap penggunaan ulang ontologi yang sudah tersedia, 3) pembuatan istilah-istilan dalam ontologi, 4) pendefinisian class dan hirarki class, 5) pendefinisian properti, 6) pendefinisian konstrain dan slot, 7) pembuatan instant [11]. Tahap pertama : domain dari bunga, media tanam, hama, dan pestisida merupakan informasi dari semua data yang berhubungan dengan bunga, media tanam, hama, dan pestisida. Tahap kedua : Pada penelitian semua hal mengenai ontology tanaman hias dikembangkan dari awal, karena belum ditemukan sebuah ontology sebelumnya yang dapat digunakan dalam penelitian ini. Tahap ketiga : Pada tahap ini istilah-istilah penting yang pada tahap selanjutnya adak digunakan untuk membuat statements atau untuk menjelaskan sesuatu hal yang penting dalam pengembangan ontology. Tahap keempat : yaitu : class bunga yang menyimpan semua data bunga, class media tanam yang menyimpan informasi mengenai media tanam, class hama yang menyimpan informasi mengenai hama dan penyakit yang mengganggu tanaman, dan class obat yang menyimpan informasi mengenai obat dan cara penanggulangan suatu hama atau penyakit. Tahap kelima : Tahap ini merupakan pendefinisian property dari masing-masing class yang telah didefinisikan pada tahap sebelumnya. Pendefinisian class berupa datatype property dengan instance berupa literal dan object property dengan instance berupa resource / class. Tahap keenam : Beberapa domain pengetahuan dapat memiliki slot bersyarat kardinalitas tunggal (satu nilai) atau dengan kardinalitas banyak (memiliki sejumlah nilai). Suatu slot juga dapat berupa string, Boolean, enimerasi, serta instant. Semua slot pada penelitian ini berupa string. Tahap ketujuh : Pendefinisian sebuah instance dari class dapat meliputi pemilihan class, pembuatan individu instance dari class, dan pengisian nilai slot.
Gambar 4. Rancangan Pendefinisian Class
Gambar 4 menunjukan perancangan class yang dalam penulisan kode program akan menyimpan property dan value dari masing-masing data. 7
Terdapat 4 class, yaitu: class Bunga, class Media, class Hama, dan class Obat, dan masing-masing class saling berhubungan inverse property. Tabel 1. Rancangan Slot Pada Class Bunga Property
Range
Allowed Value
Type
Nama Bunga
Single String
Instance
Object Property
Nama Latin
Single String
Instance
Datatype Property
Family
Single String
Instance
Object Property
Ordo
Single String
Instance
Object Property
Ketinggian Tempat
Single String
Instance
Datatype Property
Sinar Matahari
Single String
Instance
Datatype Property
Intensitas Cahaya
Single String
Instance
Datatype Property
Kelembaban Udara
Single String
Instance
Datatype Property
Temperatur
Single String
Instance
Datatype Property
Media
Single String
Media 1, Media 2, Media 3, Media 4, Media 5
Object Property
Keterangan Media
Single String
Instance
Datatype Property
Penanaman
Single String
Instance
Datatype Property
Bibit
Single String
Instance
Datatype Property
Penyiraman
Single String
Instance
Datatype Property
Pemupukan
Single String
Instance
Datatype Property
Repotting
Single String
Instance
Datatype Property
Vegetativ
Single String
Instance
Datatype Property
Generativ
Single String
Instance
Datatype Property
Pembungaan
Single String
Instance
Datatype Property
Hama
Single String
Hama 1, Hama 2
Object Property
Manfaat
Single String
Instance
Datatype Property
Tabel 1 menjelaskan rancangan slot pada class Bunga, pada class Bunga terdapat beberapa property dengan masing-masing range. Setiap property memiliki nilai instance dan propery media dan hama memiliki nilai dari masukkan pada class media dan hama. Perancangan slot pada class Bunga 8
terdapat beberapa data berupa object property, yaitu : nama bunga, ordo, family, media, dan hama. Tabel 2. Rancangan Slot Pada Class Media Property
Range
Allowed Value
Type
Nama Media
Single String
Instance
Object Property
Fungsi
Single String
Instance
Datatype Property
Cara Buat
Single String
Instance
Datatype Property
Kategori Media
Single String
Input Langsung, Input Tidak Langsung
Object Property
Tabel 2 menjelaskan rancangan slot pada class Media, pada class Media terdapat 4 property dengan range single string dan pada property kategori media tersedia pilihan nilai input langsung atau input tidak langsung. Tabel 3. Rancangan Slot Pada Class Hama Property
Range
Allowed Value
Type
Nama Hama
Single String
Instance
Object Property
Ordo
Single String
Instance
Object Property
Family
Single String
Instance
Object Property
Bagian Serangan
Single String
Instance
Datatype Property
Ciri Serangan
Single String
Instance
Datatype Property
Obat
Single String
Obat 1, Obat 2
Object Property
Keterangan Obat
Single String
Instance
Datatype Property
Kategori Media
Single String
Input Langsung, Input Tidak Langsung
Object Property
Tabel 3 menjelaskan rancangan slot pada class Hama, pada class Hama terdapat beberapa property dengan range single string dan pada property kategori hama tersedia pilihan nilai input langsung atau input tidak langsung. Pada property obat memiliki pilihan nilai obat 1 dan obat 2 dari masukkan data pada class obat. Tabel 4. Rancangan Slot Pada Class Obat Property
Range
Allowed Value
Type
Nama Obat
Single String
Instance
Object Property
Nama Latin
Single String
Instance
Datatype Property
9
Bahan
Single String
Instance
Datatype Property
Cara Buat
Single String
Instance
Datatype Property
Kategori Media
Single String
Input Langsung, Input Tidak Langsung
Object Property
Tabel 4 menjelaskan rancangan slot pada class Obat, pada class Obat terdapat beberapa property dengan range single string dan pada property kategori Obat tersedia pilihan nilai input langsung atau input tidak langsung. Perancangan class dan slot pada gambar 2, 3 dan 4 menunjukan juga hubungan antar class. Class Bunga mengambil nilai media yang dapat digunakan untuk bunga tersebut dari class media dan mengambil nilai hama yang kemungkinan menyerang bunga tersebut dari class hama. Class hama mengambil nilai obat dari class Obat yang memungkinkan obat dapat menanggulangi hama. Rancangan class dan slot diatas akan digunakan untuk membuat rancangan slot integrasi yang terbentuk dari keempat class yang sudah didefinisikan pada gambar 5.
Gambar 5 Perancangan Struktur Ontology
10
Gambar 5 merupakan perancangan struktur ontology. Struktur tersebut menunjukan integrasi class dan slot pada masing-masing class yang telah digambarkan pada gambar 5. Class-class yang tersedia memiliki hubungan antara satu dan lainnya. Terdapat 4 class, yaitu : class bunga, class media, class hama, dan class obat. Masing-masing class memiliki property. Property yang dimiliki dapat berupa datatype property dan object property. Datatype property berupa literal, sedangkan object property berupa data resource. Masing-masing property memiliki range dan domain seperti pada gambar 5. Proses pencarian pada perancangan aplikasi ini terdiri dari 3 pencarian. Proses pencarian tersebut adalah pencarian kata kunci, pencarian sederhana dan pencarian kompleks. Proses pencarian pada aplikasi untuk menerapkan teknologi semantic web dapat dilihat pada gambar berikut : mulai
Keyword searching
Advance searching Pencarian
Simple Searching Input kata kunci
Pilih kategori
Ya
Tidak
Input kata kunci 1
Sub Kategori ada
Pilih sub kategori
Input kata kunci 2
Kata kunci kosong
Ya
Input kata kunci
Input kata kunci 3 Ya Input kata kunci n
Tidak Kata kunci kosong
Tidak
Tidak Pesan Error
Baca file TA.RDF
Ambid dolain PREFIX & namespace PREFIX
Ambil PREFIX dari elemen PREFIX
Proses query SPARQL
Format hasil query XML
Parsing dokumen hasil query
Menampilkan data
Selesai
Gambar 6. Flowchart Perancangan Penerapan Semantic Web
Gambar 6. Menunjukan proses yang terjadi pada aplikasi ensiklopedia bunga di pegunungan kopeng. Terdapat 3 system pencarian yang disediakan. 11
System pencarian tersebut adalah system pencarian menggunakan kaya kunci atau keyword searching, system pencarian sederhana atau simple searching dan system pencarian kompleks atau advance searching. Pencari informasi tanaman hias, ketika membuka aplikasi akan diberikan 3 pilihan pencarian tersebut, ketika memilih pencarian menggunakan kata kunci, maka akan di pastikan dalu kata kunci tersedia. Kata kunci yang menjadi pencarian tersedia pada data RDF, maka system akan mengambil domain PREFIX dan namespace URI PREFIX, setelah itu akan diproses untuk mengambil elemen dari PREFIX tersebut. Query SPARQL digunakan untuk memproses data berupa XML. Data XML/RDF tersebut akan di-parsing untuk menghasilkan nilai yang dicari dan akan menghasilkan sebuah pencarian. Seperti halnya dengan pencarian sederhana dan pencarian kompleks. pencarian sederhana akan memastikan kata kunci yang dimasukkan sesuai dengan kategori dan sub kategori yang disediakan, ketika tersedia makan proses selanjutnya sama dengan pencarian dengan kata kunci yaitu membuka data RDF. Pencarian kompleks juga akan memproses data hasil dari kata kunci-kata kunci yang dimasukkan oleh pecinta tanaman hias, dan tahap selanjutkan kembali pada proses membuka file RDF. 4.
Hasil dan Pembahasan
Implementasi program terdiri dari implementasi ontology dan implementasi aplikasi. Implementasi ontology termasuk didalamnya adalah implementasi class, property, dan pembuatan instance. Pertama yang harus dilakukan adalam membuat default namespace, http://www.bunga.com/bunga#, namespace untuk bunga, http://www.bunga.com/hama#, namespace untuk hama dan penyakit yang bisa menyerang bunga, http://www.bunga.com/media#, merupakan namespace untuk media tanam, dan http://www.bunga.com/obat#, namespace untuk obat atau pestisida yang digunakan untuk membasmi hama. Implementasi aplikasi berbasis semantic web menjelaskan tentang gambaran umum aplikasi dan analisis system. Hasil dari perancangan ontology akan tersimpan dalam dokumen OWL yang digunakan sebagai tempat penyimpanan data bunga. SPARQL sebagai bahasa query RDF/OWL dan jena API sebagai framework yang berfungsi sebagai penghubung antara ontology dan bahasa java digunakan untuk menemukan informasi dari perancangan ontology tersebut. Implementasi class digambarkan sebagai berikut: Kode Program 1. Kode Program Implementasi Class 1 2 3 4
OntClass OntClass OntClass OntClass
nama_bungaont = om.createClass(ns + "Bunga"); media_ont = om.createClass(ns + "Media"); hama = om.createClass(ns + "Hama"); obat_ont = om.createClass(ns + "Obat");
Kode program 1 menunjukan implementasi class yang terdiri dari 4 class, yaitu class hama, media, bunga, dan obat. Kode program 1 menjelaskan semisal akan membuat sebuah class bunga, kemudian system akan memerintah library jena akan membuat sebuah model ontology berupa class menggunakan 12
namespace http://www.bunga.com/bunga# diikuti dengan nama bunga hasil input dari pecinta tanaman hias. Sedangkan implementasi property dibagi menjadi dua yaitu datatype property dan object property. Implementasi property digambarkan sebagai berikut: Kode Program 2. Implementasi Property untuk Datatype Property 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
DatatypeProperty nama_latin = om.createDatatypeProperty(ns + "Nama_Latin"); DatatypeProperty ketinggiantempat = om.createDatatypeProperty(ns + "Ketinggian_Tempat"); DatatypeProperty sinarmatahari = om.createDatatypeProperty(ns + "Sinar_Matahari"); DatatypeProperty intensitascahaya = om.createDatatypeProperty(ns + "Intensitas_Cahaya"); DatatypeProperty kelembabanudara = om.createDatatypeProperty(ns + "Kelembaban_Udara"); DatatypeProperty temperatur = om.createDatatypeProperty(ns + "Temperatur"); DatatypeProperty keterangan = om.createDatatypeProperty(ns + "Keterangan"); DatatypeProperty penanaman = om.createDatatypeProperty(ns + "Penanaman"); DatatypeProperty bibit = om.createDatatypeProperty(ns + "Bibit"); DatatypeProperty siram = om.createDatatypeProperty(ns + "Penyiraman"); DatatypeProperty pemupukan = om.createDatatypeProperty(ns + "Pemupukan"); DatatypeProperty gantipot = om.createDatatypeProperty(ns + "Repotting"); DatatypeProperty vegetatif = om.createDatatypeProperty(ns + "Vegetatif"); DatatypeProperty generatif = om.createDatatypeProperty(ns + "Generatif"); DatatypeProperty pembungaan = om.createDatatypeProperty(ns + "Pembungaan"); DatatypeProperty manfaat = om.createDatatypeProperty(ns + "Manfaat"); DatatypeProperty serangan = om.createDatatypeProperty(ns + "Serangan"); DatatypeProperty ciri = om.createDatatypeProperty(ns + "Ciri"); DatatypeProperty ketobat = om.createDatatypeProperty(ns + "KetObat"); DatatypeProperty fungsi = om.createDatatypeProperty(ns+ "Fungsi"); DatatypeProperty cara_buat = om.createDatatypeProperty(ns + "Cara_Buat"); DatatypeProperty nl_obat = om.createDatatypeProperty(ns + "Nl_Obat"); DatatypeProperty bahan = om.createDatatypeProperty(ns + "Bahan"); DatatypeProperty cara_obat = om.createDatatypeProperty(ns + "Keterangan"); DatatypeProperty gambar = om.createDatatypeProperty(ns +"Gambar");
Kode Program 2 merupakan implementasi property untuk datatype property setiap class pada Kode Program 1. System akan memerintahkan library jena membuat sebuah model ontology berupa datatype property ketika akan membuat sebuah datatype property nama latin bunga berdasarkan namespace bunga yaitu http://www.bunga.com/bunga# kemudian diikuti dengan nama latin bunga yang merupakan input dari pecinta tanaman hias. Tahap selanjutnya adalah implementasi property, berupa datatype property dan object property seperti pada kode program 3. 13
Kode Program 3. Implementasi Property untuk ObjectProperty 1 2 3 4 5 6
ObjectProperty ObjectProperty ObjectProperty ObjectProperty ObjectProperty ObjectProperty
nama_bunga = om.createObjectProperty(ns +Nama_Bunga"); nama_media = om.createObjectProperty(ns+"Nama_Media"); nama_hama = om.createObjectProperty(ns + "Nama_Hama"); nama_obat = om.createObjectProperty(ns + "Nama_Obat"); ordo = om.createObjectProperty(ns + "Ordo"); family = om.createObjectProperty(ns + "Family");
Kode program 3 merupakan implementasi property untuk object property setiap class pada Kode Program 1. System akan memerintahkan library jena membuat sebuah model ontology berupa object property ketika akan membuat sebuah object property nama bunga berdasarkan namespace bunga yaitu http://www.bunga.com/bunga# kemudian diikuti dengan nama bunga yang merupakan input dari pecinta tanaman hias. Setelah membuat class dan menentukan property yang digunakan pada masing-masing class, maka dibuatlah instance. Pembuatan instance ini dilakukan dengan menambahkan individuindividu pada setiap class yang masing-masing memiliki property. Implementasi aplikasi terdiri dari 3 menu utama pencarian, yaitu pencarian menggunakan kata kunci, pencarian sederhana, dan pencarian kompleks. Pencarian menggunakan kata kunci merupakan fasilitas pencarian dimana pecinta tanaman hias menuliskan beberapa kata pada tempat yang telah disediakan pada halaman web. Pencarian yang kedua merupakan pencarian sederhana yaitu fasilitas pencarian yang menyediakan beberapa kategori pencarian dan tempat untuk pecinta tanaman hias memasukkan kata kunci sesuai kategori yang dipilih. System pencarian yang ketiga merupakan pencarian kompleks, dimana pecinta tanaman hias diberikan sebuah form pada halaman web dan mengisikan informasi yang diketahui pada setiap field yang tersedia.
Gambar 7. Pencarian dengan Kata Kunci
Gambar 7 menunjukan home page pada saat mengakses ensiklopedi bunga. Halaman ini menyediakan akses pencarian menggunakan kata kunci yang dapat digunakan langsung oleh pecinta tanaman hias. Gambar 7 memberikan contoh ketika pecinta tanaman hias memasukkan kata kunci “Anggrek” kemudian 14
aplikasi akan menampilkan hasil pencarian bunga sesuai kata kunci dan menampilkan hasil. Hasil Pencarian dapat dilihat pada gambar 8 dibawah ini.
Gambar 8. Hasil Pencarian dengan Kata Kunci
Gambar 8 meruapakan gambar hasil pencarian bunga anggrek menggunakan kata kunci. Hasil pencarian meunjukan terdapat 6 jumlah data yang berhubungan dengan bunga anggrek dan memberikan gambar data dan nama data yang dihasilkan.
Gambar 9. Form Pencarian Sederhana
Gambar 9 menunjukan halaman pencarian sederhana. Pencarian sederhana ini dilakukan dengan cara memilih kategori yang telah ditentukan sebelumnya dan memasukkan kata kunci yang diinginkan sesuai dengan kategori. Gambar 9 memberikan contoh ketika pecinta tanaman hias ingin mencari berdasarka “ Nama Bunga ”, dan memilih “ Nama Bunga “ sebagai sub kategori, kemudian memasukkan kata kunci berupa “ Anggrek ”, dan aplikasi menampilkan hasil query untuk nama bunga yaitu bunga anggrek. Hasil pencarian pada gambar 10. 15
Gambar 10. Hasil Pencarian Sederhana
Gambar 10 meruapakan gambar hasil pencarian bunga anggrek menggunakan system pencarian sederhana pada gambar 9. Hasil pencarian menunjukan terdapat 3 jumlah data yang berhubungan dengan bunga anggrek dan memberikan gambar data dan nama data yang dihasilkan.
Gambar 11. Form Pencarian Kompleks
Gambar 11 merupakan halaman pencarian kompleks bunga. Proses pencarian ini dilakukan dengan cara memasukan sebanyak-banyaknya informasi yang diketahui oleh pecinta tanaman hias, semakin banyak informasi yang dimasukkan oleh pecinta tanaman hias maka pencarian ini akan semakin memberikan hasil yang akurat. Gambar 11 memberikan contoh ketika pecinta tanaman hias memasukkan informasi nama bunga “anggrek”, tempat hidup atau ketinggian tempat “dataran rendah”, media yang digunakan “arang”, penanaman dalam “pot tanah” dan hama penyerang berupa “kutu”. 16
Gambar 12. Hasil Pencarian Komplek
Gambar 12 merupakan hasil pencarian kompleks bunga anggrek yang hidup didataran rendah, ditapan dalam media arang dan pot tanah yang diresang oleh hama kutu. Hasil yang ditampilkan lebih spesifik yaitu 1 data yaitu anggrek dendrobium. Hasil pencarian kompleks tersebut didapat menggunakan query untuk schema matching seperti pada kode program 4. Kode Program 4. Query Pencarian Kompleks 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
PREFIX Bunga:http://www.bunga.com/bunga# PREFIX Hama:http://www.bunga.com/hama# PREFIX Media:http://www.bunga.com/media# PREFIX Obat:http://www.bunga.com/obat# SELECT ?Nama_Bunga ?Nama_Latin ?Ordo ?Family ?Media ?Media2 ?Nama_Hama ?Nama_Hama2 ... WHERE { ?x Bunga:Nama_Bunga ?Nama_Bunga . ?x Bunga:Nama_Latin ?Nama_Latin . ?x Bunga:Ordo ?Ordo . ?x Bunga:Family ?Family . ?x Media:Media ?Media . ?x Media:Media2 ?Media . ?x Hama:Nama_Hama ?Nama_Hama . ... FILTER (regex(str(?Nama_Bunga), '" + nama_bunga ', 'i') && regex(str(?Nama_Latin), '" + nama_latin ', 'i') && regex(str(?Ordo), '" + ordo ', 'i') && regex(str(?Family), '" + fambunga ', 'i') && (regex(str(?Media), '" + media ', 'i') || regex(str(?Media), '" + media ', 'i') && (regex(str(?Nama_Hama), '" + nama_hama ', 'i') || regex(str(?Nama_Hama), '" + nama_hama ', 'i') ) 23. ...);
Kode Program 4 menunjukan query proses pencarian kompleks. Pola query dalam klausa WHERE ditentukan berdasarkan triple yang ditutup dengan tanda kurung. Setiap posisi dalam triple dapat berupa variable atau term RDF. 17
Term RDF didefinisikan sebagai segala hal yang dapat diekspresikan dalam database RDF, yakni URI yang ditulis dalam tanda “<>” untuk membedakan dengan literal dan variable yang ditandai dengan “?” . Semua variable diikatkan pada term RDF selama evaluasi query. Format dari jawaban ke query didefinisakan dalam statement SELECT, jika diinginkan kata pertama dari pola query digunakan (?x), jika diinginkan keselurukan triple menggunakan SELECT *. Pada kode program 4, karena semua data pencarian merupakan masukkan dari pecinta tanaman hias, maka proses schema matching dilakukan dengan melakukan pengecekan antara string masukan pada setiap field dalam form dan string value dari sebuah URI dalam file RDF menggunakan regular expression (regex). Pencarian kompleks merupakan pencarian dengan pertanyaan yang lebih spesifik dan dengan banyak kata kunci dan konsep maka digunakan operasi and dan or, karena tidak semua field yang disediakan akan diisi dengan konsep pencarian yang pecinta tanaman hias tidak ketahui. Kode program 4 menunjukan query untuk menampilkan data yang diperoleh dengan query filter. Pengujian Sistem Aplikasi ensiklopedia bunga ini diuji menggunakan metode blackbox testing. Blackbox testing merupakan sebuah metode pengujian yang kebenarannya dilihat keluaran yang dihasilkan dan masukan yang diberikan untuk sebuah fungsi tanpa melihat bagaimana proses untuk mendapatkannya. Keluaran yang dihasilkan dapat menjadi ukuran kemampuan program dalam menjawab kebutuhan pengguna dan dapat diketahui kesalahan-kesalahannya.[12] Table 5 Hasil Pengujian System No. 1.
Poin Uji Login
2
Input Data
3
Pencarian Menggunakan Kata Kunci
Kondisi Username : Benar Password : Benar Username : Benar Password : Salah Username : Salah Password : Benar Username : Salah Password : Salah Input dari texbox Input dari combo box Ada form kosong Tidak memasukkan kata kunci Memasukkan kata kunci : Ada data tersimpan Memasukkan kata kunci : Tidak ada data tersimpan
4
Pencarian Sederhana
Memilih Kategori tanpa memasukkan kata kunci
18
Hasil Berhasil
Status Valid
Gagal
Valid
Gagal
Valid
Gagal
Valid
Berhasil Berhasil Gagal Gagal : Muncul Peringatan pada halaman Berhasil menampilkan data Gagal : Muncul Peringatan pada halaman Gagal : Muncul Peringatan pada halaman
Valid Valid Valid Valid
Valid
Valid
Valid
5
5.
Pencarian Kompleks
Memilih kategori dan memasukkan kata kunci : Ada data tersimpan Memilih kategori dan memasukkan kata kunci : Tidak ada data tersimpan Form Kosong : Menampilkan semua data Mengisi beberapa informasi yang diketahui pada form
Berhasil menampilkan data Gagal : Muncul Peringatan pada halaman Berhasil Berhasil menampilkan data
Valid
Valid
Valid Valid
Simpulan
Berdasarkan penelitian yang sudah dilakukan, didapat beberapa kesimpulan : 1) Penetilian ini memberikan pengetahuan tentang tanaman hias khususnya dalam pot, berupa, klasifikasi umum secara sederhana, agroklimat tanaman atau tempat paling tepat untuk penanaman, cara perawatan, media tanam yang digunakan, organisme pangganggu tanaman dan cara penanggulangannya. Informasi tersebut ditampung dalam class bunga, hama, media dan obat dan didefinikifan dengan property pada masing-masing class. 2) Informasi tersebut juga dapat dicari menggunakan 3 system pencarian, yaitu system pencarian menggunakan kata kunci, system pencarian sederhara dengan memilih kategori yang disediakan dan memasukkan kata kuncinya, dan system pencarian kompleks dimana pecinta tanaman hias diberikan sebuah halaman berupa form dan pecinta tanaman hias dapat mengisi informasi selengkap-lengkapnya pada form tersebut. Perbedaan semantic web dengan web biasa adalah penulisan kode program atau query searching yang digunakan sederhana. Semantic web menggunakan bahasa query SPARQL yang lebih sederhana dari query SQL. Query SPARQL tidak membutuhkan klausa FROM karena knowledge base yang digunakan tidak terstruktur menjadi table seperti dengan query pada knowledge base yang lain, sehingga semantic web lebih dinamis. Perbedaan selanjutnya adalah terletak pada database, jika pada database biasa struktur datanya akan bersifat statis, jika pertukaran data yang dilakukan local maka akan mudah, namun jika bersifat luas makan akan sulit dengan menggunakan database biasa. Database biasa memiliki field/kolom tidak mudah diubah, dan direktorinya hanya berupa nama table, matas maksimal, dan tidak ada penjelasan mengenai arti semantic dari masing-masing field tersebut, sedangkan class dan atribut pada RDF/OWL dapat diubah dan dapat saling dipetakan dan memiliki arti semantic dari setiap field yang digunakan sehingga dapat dipahami oleh developer pengembang. Saran untuk pengembangan aplikasi dikemudian hari. 1) Mengembangkan aplikasi untuk administrator. 2) Topik pembahasan aplikasi bisa diperluas tidak hanya sebatas tanaman hias dalam pot. 3) Peneliti selanjutnya juga bisa merancang dokumen OWL dengan relasi-relasi yang lebih kompleks agar lebih terlihat semantic web dalam aplikasinya. 19
6.
Daftar Pustaka
[1]
Direktorat Pertanian., 2010, “Informasi Teknis Tanaman Hias Pot”. Jakarta:Kementrian Pertanian. Fadillah, Nava’atul., 2010, “Penerapan Teknologi Semantic Web Pada Aplikasi Pencarian Koleksi Perpustakaan (Studi Kasus : Perpustakaan FTI UPN “Veteran” Yogyakarta )”,Yogyakarta:UPN “Veteran”. Amborowati, Armadyah., 2007, “Model Ontologi untuk Informasi Jadwal Kereta ApiMenggunakan Protégé”, Yogyakarta:STIMIK AMIKOM. Koivunen, M.R., Miller, E., “W3C Semantic Web Activity”, http://www.w3.org/2001/12/semweb-fin/w3csw.(diakses pada tanggal 27 Agustus 2014). Berners-Lee, T., Hendler, J., Lasilla, O., 2001, “Semantic Web”, http://semanticweb.org/wiki/Semantic_Web, (diakses tanggal 30 April 2014). Jeroen Van Der Ham (2007). Semantic Web Tools.http://esw.w3.org/topic/SemanticWebTools (diakses tanggal 07 Mei 2014). Perpustakaan Universitas Diponegoro., 2014, “Ontology”, http://digilib.undip.ac.id/index.php/component/content/article/53perpusped ia/179-ontologi- (diakses pada tanggal 07 Mei 2014). Nurkamid, Mukhamad., 2009, “Aplikasi Bibliografi Perpustakaan Berbasis Teknologi Web Semantik”, Kudus: Fakutlas Teknik Universitas Muria. Hakim. Zulwan, 2013, “Implementasi Metode RAD dalam Pengembang Sisstem Kepegawaian Kabupaten Ogan Komering Ulu”, Palembang: Universitas Bina Darma, Fakultas Ilmu Komputer. Amelia, Meli., 2013, “Use Case Diagram, Class Diagram, Activity Diagram”,http://student.uniku.ac.id/mkmeliamelia/2013/04/10/use-casediagram-class-diagramactivity-diagram/ (diakses pada tanggal 07 Mei 2014). Noy, N., McGuinness, D., 2001, “Ontology Development 101: A Guide to Creating Your First Ontology.”http://protege.stanford.edu/publications/ontology_development/ ontology101.pdf (diakses pada 07 Mei 2014). Somya, Ramos, dkk., 2012, Penerapan Framework Zend dan Arsitektur Model View Controller dalam Pengembangan Aplikasi Manajemen Kepegawaian (Studi Kasus: Universitas Kristen Satya Wacana), AITI Jurnal Teknologi Informasi, 9(1): 1-17.
[2]
[3] [4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
20