Upload
hoanglien
View
222
Download
0
Embed Size (px)
Citation preview
2
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
3
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]
4
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
5
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]
6
Pecinta Tanaman Hias
Mengakses Galeri Bunga
Mengakses Media Tanam
Mengakses Hama
Mengakses Obat
Mengakses Keyword Searhing
Mengakses Simple Searching
Mengakses Advance Searching
Hasil Cari
Melihat Gleri Bunga
Melihat Data Media
Melihat Data Hama
Melihat Data Obat
Melihat Home
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
<<extend>>
Memilih kategori dan masukkan kata kunci
Memilih kategori dan masukkan kata kunci
<<include>>
<<include>>
Memasukkan kata kunci
<<include>>
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].
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
7
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.
8
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
9
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
10
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
11
mulai
Pilih kategori
Pilih sub kategoriSub Kategori
ada
Tidak
Ya
Input kata
kunci
Kata kunci
kosong
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
Ya
Tidak
TidakPesan Error
Pencarian
Keyword searching
Input kata
kunci
Kata kunci
kosong
Ya
Tidak
Simple Searching
Input kata
kunci 1
Advance searching
Input kata
kunci 2
Input kata
kunci 3
Input kata
kunci n
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 :
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.
12
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
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
1 OntClass nama_bungaont = om.createClass(ns + "Bunga");
2 OntClass media_ont = om.createClass(ns + "Media");
3 OntClass hama = om.createClass(ns + "Hama");
4 OntClass obat_ont = om.createClass(ns + "Obat");
13
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
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.
1 DatatypeProperty nama_latin = om.createDatatypeProperty(ns +
2 "Nama_Latin");
3 DatatypeProperty ketinggiantempat = om.createDatatypeProperty(ns +
4 "Ketinggian_Tempat");
5 DatatypeProperty sinarmatahari = om.createDatatypeProperty(ns +
6 "Sinar_Matahari");
7 DatatypeProperty intensitascahaya = om.createDatatypeProperty(ns +
8 "Intensitas_Cahaya");
9 DatatypeProperty kelembabanudara = om.createDatatypeProperty(ns +
10 "Kelembaban_Udara");
11 DatatypeProperty temperatur = om.createDatatypeProperty(ns +
12 "Temperatur");
13 DatatypeProperty keterangan = om.createDatatypeProperty(ns +
14 "Keterangan");
15 DatatypeProperty penanaman = om.createDatatypeProperty(ns +
16 "Penanaman");
17 DatatypeProperty bibit = om.createDatatypeProperty(ns + "Bibit");
18 DatatypeProperty siram = om.createDatatypeProperty(ns +
19 "Penyiraman");
20 DatatypeProperty pemupukan = om.createDatatypeProperty(ns +
21 "Pemupukan");
22 DatatypeProperty gantipot = om.createDatatypeProperty(ns +
23 "Repotting");
24 DatatypeProperty vegetatif = om.createDatatypeProperty(ns +
25 "Vegetatif");
26 DatatypeProperty generatif = om.createDatatypeProperty(ns +
27 "Generatif");
28 DatatypeProperty pembungaan = om.createDatatypeProperty(ns +
29 "Pembungaan");
30 DatatypeProperty manfaat = om.createDatatypeProperty(ns +
31 "Manfaat");
32 DatatypeProperty serangan = om.createDatatypeProperty(ns +
33 "Serangan");
34 DatatypeProperty ciri = om.createDatatypeProperty(ns + "Ciri");
35 DatatypeProperty ketobat = om.createDatatypeProperty(ns +
36 "KetObat");
37 DatatypeProperty fungsi = om.createDatatypeProperty(ns+
38 "Fungsi");
39 DatatypeProperty cara_buat = om.createDatatypeProperty(ns +
40 "Cara_Buat");
41 DatatypeProperty nl_obat = om.createDatatypeProperty(ns +
42 "Nl_Obat");
43 DatatypeProperty bahan = om.createDatatypeProperty(ns + "Bahan");
44 DatatypeProperty cara_obat = om.createDatatypeProperty(ns +
45 "Keterangan");
46 DatatypeProperty gambar = om.createDatatypeProperty(ns +"Gambar");
14
Kode Program 3. Implementasi Property untuk ObjectProperty
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 individu-
individu 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
1 ObjectProperty nama_bunga = om.createObjectProperty(ns +Nama_Bunga");
2 ObjectProperty nama_media = om.createObjectProperty(ns+"Nama_Media");
3 ObjectProperty nama_hama = om.createObjectProperty(ns + "Nama_Hama");
4 ObjectProperty nama_obat = om.createObjectProperty(ns + "Nama_Obat");
5 ObjectProperty ordo = om.createObjectProperty(ns + "Ordo");
6 ObjectProperty family = om.createObjectProperty(ns + "Family");
15
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.
16
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”.
17
1. PREFIX Bunga:http://www.bunga.com/bunga#
2. PREFIX Hama:http://www.bunga.com/hama#
3. PREFIX Media:http://www.bunga.com/media#
4. PREFIX Obat:http://www.bunga.com/obat#
5. SELECT
6. ?Nama_Bunga ?Nama_Latin ?Ordo ?Family ?Media ?Media2 ?Nama_Hama ?Nama_Hama2
7. ...
8. WHERE {
9. ?x Bunga:Nama_Bunga ?Nama_Bunga .
10. ?x Bunga:Nama_Latin ?Nama_Latin .
11. ?x Bunga:Ordo ?Ordo .
12. ?x Bunga:Family ?Family .
13. ?x Media:Media ?Media . ?x Media:Media2 ?Media .
14. ?x Hama:Nama_Hama ?Nama_Hama .
15. ...
16. FILTER (regex(str(?Nama_Bunga), '" + nama_bunga ', 'i') &&
17. regex(str(?Nama_Latin), '" + nama_latin ', 'i') &&
18. regex(str(?Ordo), '" + ordo ', 'i') &&
19. regex(str(?Family), '" + fambunga ', 'i') &&
20. (regex(str(?Media), '" + media ', 'i') || regex(str(?Media), '" + media
21. ', 'i') &&
22. (regex(str(?Nama_Hama), '" + nama_hama ', 'i') || regex(str(?Nama_Hama), '"
+ nama_hama ', 'i') )
23. ...);
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
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.
18
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. Poin Uji Kondisi Hasil Status
1. Login Username : Benar Berhasil Valid
Password : Benar
Username : Benar Gagal Valid
Password : Salah
Username : Salah Gagal Valid
Password : Benar
Username : Salah Gagal Valid
Password : Salah
2 Input Data Input dari texbox Berhasil Valid
Input dari combo box Berhasil Valid
Ada form kosong Gagal Valid
3
Pencarian
Menggunakan
Kata Kunci
Tidak memasukkan kata
kunci
Gagal : Muncul
Peringatan pada
halaman
Valid
Memasukkan kata kunci :
Ada data tersimpan
Berhasil
menampilkan
data
Valid
Memasukkan kata kunci :
Tidak ada data tersimpan
Gagal : Muncul
Peringatan pada
halaman
Valid
4 Pencarian
Sederhana
Memilih Kategori tanpa
memasukkan kata kunci
Gagal : Muncul
Peringatan pada
halaman
Valid
19
Memilih kategori dan
memasukkan kata kunci :
Ada data tersimpan
Berhasil
menampilkan
data
Valid
Memilih kategori dan
memasukkan kata kunci :
Tidak ada data tersimpan
Gagal : Muncul
Peringatan pada
halaman
Valid
5 Pencarian
Kompleks
Form Kosong :
Menampilkan semua data Berhasil
Valid
Mengisi beberapa
informasi yang diketahui
pada form
Berhasil
menampilkan
data
Valid
5. 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.
20
6. Daftar Pustaka
[1] Direktorat Pertanian., 2010, “Informasi Teknis Tanaman Hias Pot”.
Jakarta:Kementrian Pertanian.
[2] Fadillah, Nava’atul., 2010, “Penerapan Teknologi Semantic Web Pada
Aplikasi Pencarian Koleksi Perpustakaan (Studi Kasus : Perpustakaan FTI
UPN “Veteran” Yogyakarta )”,Yogyakarta:UPN “Veteran”.
[3] Amborowati, Armadyah., 2007, “Model Ontologi untuk Informasi Jadwal
Kereta ApiMenggunakan Protégé”, Yogyakarta:STIMIK AMIKOM.
[4] Koivunen, M.R., Miller, E., “W3C Semantic Web Activity”,
http://www.w3.org/2001/12/semweb-fin/w3csw.(diakses pada tanggal 27
Agustus 2014).
[5] Berners-Lee, T., Hendler, J., Lasilla, O., 2001, “Semantic Web”,
http://semanticweb.org/wiki/Semantic_Web, (diakses tanggal 30 April
2014).
[6] Jeroen Van Der Ham (2007). Semantic Web
Tools.http://esw.w3.org/topic/SemanticWebTools (diakses tanggal 07 Mei
2014).
[7] 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).
[8] Nurkamid, Mukhamad., 2009, “Aplikasi Bibliografi Perpustakaan
Berbasis Teknologi Web Semantik”, Kudus: Fakutlas Teknik Universitas
Muria.
[9] Hakim. Zulwan, 2013, “Implementasi Metode RAD dalam Pengembang
Sisstem Kepegawaian Kabupaten Ogan Komering Ulu”, Palembang:
Universitas Bina Darma, Fakultas Ilmu Komputer.
[10] Amelia, Meli., 2013, “Use Case Diagram, Class Diagram, Activity
Diagram”,http://student.uniku.ac.id/mkmeliamelia/2013/04/10/use-case-
diagram-class-diagramactivity-diagram/ (diakses pada tanggal 07 Mei
2014).
[11] 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).
[12] 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.