Anda di halaman 1dari 10

Database XML Pendukung Sistem Ontologi

terhadap Informasi Biodiversitas

Agung Prasetyo
Mahasiswa S1 Program Studi Teknik Informatika
Universitas Gunadarma, Jl. Margonda Raya No 100 - Pondok Cina - Depok
email: prasetyo_phd@student.gunadarma.ac.id

I Made Wiryana
Universitas Gunadarma, Jl. Margonda Raya No 100 - Pondok Cina - Depok
email: mwiryana@staff.gunadarma.ac.id

Ringkasan

Pada perkembangan teknologi web saat ini, informasi yang ditampilkan suatu halaman web hanya dimenger-
ti oleh manusia. Dimana informasi yang disajikan, direpresentasikan dengan menggunakan perintah-perintah
HTML (Hypertext Markup Language) agar dapat ditampilkan oleh web browser. Namun pada perkemban-
gannya, informasi juga dibutuhkan oleh komputer (smart crawler), berbeda dengan manusia, komputer tidak
mengerti mengenai arti informasi dalam suatu halaman web. Oleh karena itu dibutuhkan mekanisme pen-
definisian arti tentang informasi yang terdapat pada halaman web. Untuk mendefinisikan arti informasi yang
terdapat pada halaman web dalam domain permasalahan tertentu maka dibuatlah ontologi. Ontologi meru-
pakan komposisi dari statement-statement yang mendefinisikan suatu konsep, hubungan dan batasan dari
suatu area spesifik dalam lingkup ilmu pengetahuan. Dalam Semantic Web, ontologi dibuat dengan meng-
gunakan bahasa standar OWL (Ontology Web Language) yang merupakan standar W3C. Sedangkan bentuk
format dari bahasa OWL ini ditulis dengan format RDF/XML. Pemanfaatan teknologi ini diterapkan dalam per-
masalahan keanekaragaman hayati burung yang terdapat pada Taman Burung TMII. Kemudian dikarenakan
ontologi dibuat dengan format RDF/XML, maka ontologi tersebut akan disimpan didalam suatu database XML
native, dan memperlakukannya sebagai dokumen XML. Dengan menyimpan ontologi kedalam sistem database
XML native, maka teknologi XML seperti XQuery dan XPath dapat digunakan untuk mengolah ontologi ini.
Kata kunci :Ontologi, OWL, RDF/XML.

1 Pendahuluan “MUSTANG” maka mesin pencari akan menampilkan


segala informasi mengenai “MUSTANG” tanpa mem-
Web berperan dalam distribusi informasi, transak- perdulikan arti dari kata tersebut. Apakah itu bi-
si dan pencarian informasi. Dalam perkemban- natang, mobil ataupun stasiun radio. Walaupun
gan teknologi website, informasi yang ditampilkan mesin pencari dapat menampilkan berbagai infor-
suatu halaman Web hanya dimengerti oleh manu- masi, namun ketepatan informasi tersebut secara
sia. Informasi ini direpresentasikan dengan meng- makna masih dipertanyakan. Hal ini terjadi kare-
gunakan perintah-perintah HTML (Hypertext Markup na mesin pencari menggunakan pencocokkan kata
Language) agar dapat ditampilkan oleh Web browser. (keyword matching) ketika mencari informasi, tan-
Kebutuhan informasi tidak hanya menjadi kebu- pa mempedulikan arti atau semantik dari informasi
tuhan manusia semata, informasi dibutuhkan juga tersebut. Hal seperti ini akan memakan waktu dan
oleh komputer dalam hal mesin pencari. Berbe- melelahkan ketika informasi yang berusaha kita cari
da dengan manusia, komputer tidak mengerti arti tidak ditemukan oleh mesin pencari.
yang terdapat dalam suatu informasi. Ambil contoh Selanjutnya dibutuhkan suatu cara agar kompu-
dari mesin pencari, misalkan kita ingin mencari kata ter dapat mengerti mengenai arti dalam informasi
dalam suatu website. Pada kasus ini komputer akan trasikan suatu hirarki dari teknologi web yang dis-
mengerti secara kemaknaan atau semantik dari suatu tandarisasi W3C. Dalam diagram ini setiap lapisan
dokumen web. Selanjutnya Semantic Web menjadi memanfaatkan dan menggunakan kemampuan dari
suatu cara mendefinisikan suatu arti dalam dokumen lapisan dibawahnya.
web, agar dapat dimengerti oleh komputer. Berdasar-
kan latar belakang tersebut penulis ingin mengimple-
mentasikan teknologi Semantic Web dalam masalah
keanekaragaman hayati satwa burung yang terdapat
dalam Taman Burung Taman Mini Indonesia Indah.

2 Semantic Web
2.1 Perkembangan Semantic Web
Tim Benners-Lee mengemukakan bahwa “The Seman-
tic Web is an extension of the current Web in which
information is given well-defined meaning, better en- Gambar 1: Semantic Web Layer Cake
abling computers and people to work in cooperation, a
web of data can be processed directly or indirectly by Dari Gambar 1 menggambarkan lapisan-lapisan
machines”[1]. Dengan Semantic Web komputer dapat yang mendeskripsikan teknologi web yang dipakai
mengerti dan menganalisa konten informasi dalam untuk membangun Semantic Web. Tiap lapisan memi-
suatu dokumen web. Berdasarkan visi ini maka Se- liki fungsi masing-masing yaitu :
mantic Web adalah bagaimana agar setiap data dalam
• XML, bahasa framework yang digunakan untuk
dokumen Web dapat diproses, ditransformasi dan di-
penyimpana serta pertukaran data pada web.
rakit oleh komputer.
Selain itu World Wide Web Consortium (W3C), • XML schema, digunakan untuk mendefinisikan
mengemukakan bahwa “the idea of having data on struktur bahasa XML tertentu.
the web defined and linked in a way that it can be
used by machines not just for display purposes, but for • RDF (Resource Description Framework), se-
automation, integration and reuse of data across vari- buah bahasa yang memiliki fleksibilitas dalam
ous application”[2], definisi ini mengarah ke pengem- mendeskripsikan informasi dan metadata.
bangan suatu machine-readable web. Dengan tipikal • RDF schema, suatu framework yang menyedia-
web seperti ini maka agen cerdas dapat dikembang- kan kosakata dasar bagi RDF yang digunakan
kan dan digunakan untuk mengerti arti dari konten dalam aplikasi.
dokumen web. Agar setiap informasi dalam doku-
men web dapat dimengerti oleh komputer, maka Se- • Ontology, merupakan kosakata yang terdiri
mantic Web mengenalkan suatu permodelan khusus dari komposisi dari statement-statement yang
terhadap informasi (Semantic Web Information Mod- mendefinisikan suatu konsep, hubungan dan
elling), diantaranya Resource Description Framework batasan dari suatu area spesifik dalam lingkup
(RDF), RDF Schema (RDFS) dan Ontology Web Lan- ilmu pengetahuan.
guage (OWL) yang telah menjadi standarisasi dari • Logic and Proof, penalaran logis untuk memban-
W3C. Permodelan tersebut menjadi framework dalam gun konsistensi dan kebenaran suatu kumpulan
pendefinisian data, relasi, serta batasan-batasan yang data dan untuk menyimpulkan kesimpulan yang
menyertai data-data tersebut agar dapat dimengerti tidak dinyatakan secara eksplisit.
oleh komputer.

2.3 Ontology
2.2 Arsitektur Semantic Web
Ontologi merupakan inti dari Semantic Web[1], on-
W3C sebagai tonggak dan standarisasi perkemban- tologi memiliki pengertian yaitu suatu teori yang
gan teknologi web saat ini mendeskripsikan arsitek- menjelaskan tentang keberadaan sesuatu hal serta
tur dari teknologi Semantic Web, dimana digam- tipe dari hal tersebut. Menurut Ivan[3], ontologi
barkan dengan diagram yang dikenal dengan “Se- adalah suatu definisi konsep dan hubungan yang di-
mantic Web Layer Cake”, diagram ini mengilus- gunakan untuk mendeskripsikan area tertentu dalam
ilmu pengetahuan. Selanjutnya Grubber[4] menje- ini adalah contoh URI untuk mengidentifikasikan re-
laskan bahwa ontologi adalah suatu spesifikasi ek- source :
splisit dari konseptualisme. Dia menjelaskan un-
tuk sistem berbasis pengetahuan, eksistensi sesuatu http://www.xxx.com/binatang/burung#jalak
berkenaan dengan bagaimana sesuatu tersebut dapat
direpresentasikan. Dari URI tersebut dapat diklasifikasikan sebagai
Ontologi menangkap permasalahan-permasalahan berikut :
dalam lingkup domain spesifik, contohnya masalah
• Pendefinisian resource jalak dimana merupakan
finansial, pengobatan dan biologi. Ontologi memiliki
salah satu jenis burung.
kemiripan dengan skema database atau diagram class
dalam pemrograman berbasis objek. Dalam bidang • URL “http://www.xxx.com/binatang/burung”
AI (Artificial Intelligence) ontologi memiliki penger- menjadi bagian pertama dari URI. Digunakan se-
tian, yaitu merupakan kosakata yang merepresentasi- bagai namespace yang memastikan resource yang
kan domain atau subyek pembahasan tertentu, serta diidentifikasikan adalah unik.
sebagai suatu body of knowledge untuk menjelaskan
suatu bahasan tertentu[5]. • Diakhir namespace, tanda “#” digunakan untuk
pemisah antara namespace dengan nama local
resource sebagai contoh jalak.
2.4 Semantic Web Information Mod-
elling • Akhirnya namespace+”#”+local_resource_name
menjadi URI untuk mengidentifikasikan re-
Dalam Semantic Web, ontologi memiliki struktur source.
bahasa tertentu dimana direpresentasikan sebagai
suatu set statement yang terdiri atas tiga bagian: sub- Komponen berikutnya adalah property, property digu-
jek, predikat dan objek. Karena tiga bagian inilah, nakan untuk mendeskripsikan beberapa aspek spe-
statement disebut juga sebagai triples. Bentuk per- sifik, karakteristik dan relasi dari suatu resource.
modelan informasi yang digunakan dalam Seman- Berikut ini adalah contoh dari pendefinisian proper-
tic Web, antara lain Resource Description Framework ty :
(RDF), RDF Schema (RDFS) dan Ontology Web Lan-
guage (OWL), secara sintak ketiganya mirip dengan
http://www.xxx.com/binatang/burung#warna
bahasa XML (eXtensible Markup Language), dimana
Dalam RDF, property merupakan resource, disi-
menggunakan sintak XML dan konsep namespace.
ni terdapat property warna dari resource jalak.
Kemudian komponen berikutnya adalah statement.
2.4.1 Resource Description Framework (RDF) RDF statement merupakan gabungan antara resource,
property dan property value. Property value dapat
RDF merupakan bahasa berbasis XML, dimana memi- berupa resource ataupun literal. Statement digunakan
liki kegunaan dalam pendeskripsian informasi yang untuk menjelaskan nilai karakteristik yang dimiliki
terkandung dalam web, sehingga RDF dapat berper- oleh suatu resource. Dari keterkaitan antara resource,
an sebagai bahasa yang digunakan untuk mem- property dan property value dalam suatu statement.
bentuk metadata[6]. RDF terdiri tiga buah ele- Maka dapat direpresentasikan kebentuk triples yaitu
men dasar, yakni resource, property dan statements. subjek-predikat-objek (S-P-O). Resource (subjek) di-
RDF merupakan standar dari metadata, yaitu suatu hubungkan dengan resource lain atau literal (objek)
mekanisme pendeskripsian informasi ataupun dike- melalui property (predikat). Secara sederhananya “S”
nal sebagai data tentang data, sesuatu inilah yang dan “P” adalah URI, sedangkan “O” adalah URI atau
dikenal sebagai resource. Resource dalam RDF diiden- literal [3].
tifikasikan menggunakan Uniform Resource Identifi-
er (URI). Alasan digunakannya URI adalah dengan 2.4.2 RDF Schema (RDFS)
menggunakan URI maka resource dapat dipastikan
unik dalam lingkup internet, selain itu alasan peng- RDFS adalah skema untuk membangun RDF. Dalam
gunaan URI dianalogikan seperti ini, jika terdapat sistem permodelan dokumen, skema dibutuhkan un-
nama yang sama dalam mengidentifikasikan dua re- tuk mendefinisikan kumpulan format yang diper-
source yang berbeda maka nama tersebut memiliki ar- bolehkan dalam suatu dokumen. Jika RDF di-
ti yang berbeda atau ambigu, keambiguan secara se- gunakan untuk mendeskripsikan informasi dengan
mantik perlu dihindari dalam Semantic Web. Berikut struktur graf, maka RDFS menyediakan pedoman
bagaimana menggunakan struktur graf tersebut de- xmlns:foaf =" http: // xmlns . com / foaf /0.1/ "
ngan cara yang teratur[9]. RDFS merupakan ba- xmlns:ext =" http: // semwebprogramming . net /2008/06/ ont /
foaf - extension #" >
hasa yang digunakan menciptakan kosakata untuk
mendeskripsikan class, subclass dan properties dari < rdf:Description
RDF resource yang direkomendasikan W3C. Serta rdf:about =" http: // semwebprogramming . net / people # Andrew " >
dengan RDFS maka dapat diatur class dan prop- < foaf:surname > Perez - Lopez </ foaf:surname >
< foaf:knows
erties dalam hirarki yang generalisasi atau spe- rdf:resource =" http: // semwebprogramming . net / people # Matt "/ >
sialisasi, mendefinisikan domain dan range dari </ rdf:Description >
properties dan menyatakan syarat untuk keang-
gotaan suatu class. RDFS menggunakan namespace </ rdf:RDF >
http://www.w3.org/2000/01/rdf-schema#.

2.6 XML Database untuk Ontologi


2.4.3 Ontology Web Language (OWL)
Berdasarkan definisi dari konsorsium XML DB[9],
OWL merupakan turunan dari kosakata RDFS de- Native XML Database adalah :
ngan penambahan fitur-fitur sehingga meningkatkan
pengekspresian suatu resource. Jika dibanding- • Mendefinisikan model (logis) untuk dokumen
kan dengan RDFS, maka OWL memberikan XML sebagai pembanding dengan data dalam
kemampuan lebih dalam menggambarkan dokumen yang digunakan untuk proses penyim-
relasi yang lebih kompleks dan bervariasi. panan dan pengambilan dokumen sesuai dengan
Kosakata OWL didefinisikan dalam namespace model tersebut. Paling tidak, model harus meny-
http://www.w3.org/2002/07/owl# dan biasa meng- ertakan elemen, atribut, PCDATA, dan urutan
gunakan prefix “owl”. Dengan menggunakan OWL, dokumen. Contoh model tersebut adalah XPath
kita dapat menambah kosakata tambahan disamping data model, XML Infoset, dan model-model ter-
semantik formal yang telah dibuat sebelumnya sirat oleh DOM dan SAX 1.0.
menggunakan RDF, dan RDF Schema. Hal ini
sangat membantu penginterpretasian mesin yang • Memiliki dokumen XML sebagai unit fundamen-
lebih baik terhadap isi Web. Contoh sederhana, tal dari (logis) penyimpanan, seperti database
dalam RDFS misalnya tidak bisa didefinisikan bahwa relasional memiliki sebuah baris dalam sebuah
setiap mahasiswa hanya bisa memiliki sebuah NPM. tabel sebagai unit fundamental dari (logis) pe-
Dengan OWL dapat didefinisikan dengan property nyimpanan.
owl:cardinality.
• Tidak diharuskan untuk memiliki model penyim-
panan fisik tertentu yang mendasarinya. Seba-
2.5 RDF/XML sebagai Sintak RDF gai contoh, dapat dibangun pada database rela-
sional, hirarkis, atau object-oriented, atau meng-
RDF/XML adalah sintak XML yang merepresentasi- gunakan format penyimpanan proprietary seper-
kan triple RDF. Menjadi standar yang direkomen- ti diindeks dan file terkompresi.
dasikan oleh W3C, didukung oleh berbagai RDF
Tools seperti Protégé[7] dan Altova SemanticWorks Ontologi yang dibuat menggunakan format RD-
[8]. Untuk sisi pembuatan komentar format F/XML dapat diperlakukan sebagai dokumen XML.
ini menggunakan tanda <!-- dan ditutup tan- Sehingga ontologi dapat disimpan pada XML
da --> seperti yang terdapat dalam XML. Un- Database.
tuk pendeklarasian statement, RDF/XML meng-
gunakan kosakata <rdf:Description> yang men-
gelompokan resource dengan resource, atau liter- 3 Desain Ontologi pada TMII
al. Lalu untuk pendeklarasian resource, dalam RD-
F/XML menggunakan <rdf:about> sebagai atribut Sistem yang dibangun mengimplementasikan
<rdf:Description> ketika bertindak sebagai subjek teknologi Semantic Web terhadap permasalahan
statement. Sedangkan saat menjadi objek menggu- koleksi burung TMII. Keanekaragaman hayati perlu
nakan tag <rdf:resource>. Berikut ini contoh sintak dikelola dengan baik karena merupakan aset berhar-
RDF dengan menggunakan format RDF/XML: ga yang dimiliki Indonesia. Taman burung TMII
< rdf:RDF
merupakan representasi keanekaragaman hayati
xmlns:people =" http: // semwebprogramming . net / people burung
#" dari yang lebih luas. Batasan (constraint)
xmlns:rdf =" http: // www . w3 . org /1999/02/22 - rdf - syntax
yang- ns #" didalam desain antara lain :
ada
• Ontologi dibangun berdasarkan data lama yang • Aplikasi Desktop : berfungsi sebagai tatap muka
terdapat pada taman burung TMII. yang membungkus kerumitan manajemen data
individu dalam ontologi, dibuat dengan bahasa
• Ontologi diperlukan untuk membentuk mod- Java.
el informasi yang terstruktur dimana lebih
menekankan pada masalah semantik dan terdis- • Ontologi : Ontologi dimodelkan dengan bentuk
tribusi. format RDF/XML dengan tipe OWL DL.
• Ontologi dibangun menggunakan tipe OWL-DL
• Native XML Database : untuk menyimpan doku-
dan ditulis dalam format RDF/XML.
men ontologi, dimana terdapat skema dari
• Ontologi menangkap domain permasalahan ontologi tersebut beserta individu-individunya
koleksi burung, bukan taksonomi burung. yang merupakan koleksi burung TMII.

• Sistem memiliki interface yang berupa layanan • API (Application Programming Interface) : pa-
web dan aplikasi desktop untuk mengelola data da bagian ini dilakukan pemilahan request dari
koleksi. webservice yang kemudian melakukan proses ek-
sekusi terhadap xquery yang disimpan berdasar-
• User yang menggunakan aplikasi desktop ter- kan jenis request dan parameter yang dikirimkan.
batas kepada petugas TMII.
• Webservice : bagian ini mendefinisikan layanan-
• Spesifikasi paltform tempat sistem berjalan : layanan yang dapat digunakan oleh user di inter-
net dalam kaitannya dengan distribusi informasi
– Sistem operasi : multiplatform, masing- yang terdapat dalam ontologi.
masing sistem operasi harus terdapat Java
Virtual Machine. Selanjutnya untuk desain proses dari komponen pe-
– Webserver : Apache Tomcat. rangkat lunak secara keseluruhan dapat dilihat pada
Gambar 3 ,
– Basisdata : eXist Native XML Database.

Perangkat lunak yang dikembangkan terbagi dalam


tiga bagian yaitu ontologi, aplikasi klien dan API (Ap-
plication Programming Interface). Untuk informasi
mengenai koleksi burung dimodelkan dan disimpan
dalam ontologi yang terdapat dalam database.

Gambar 3: Use-case Sistem

Berikutnya adalah rancangan model data, dimu-


Gambar 2: Rancangan Arsitektur Perangkat Lunak lai dengan merancang ontologi berdasarkan penga-
matan dan data yang didapat di TMII. Dari data yang
Gambar 2 menunjukkan bagian-bagian dari ar- didapatkan diketahui pula bahwa sistem yang lama
sitektur perangkat lunak, yang dijelaskan sebagai menggunakan konsep relasional sebagai penyimpan-
berikut : an datanya.
3.1 Model Data Ontologi Burung
Model data ontologi koleksi burung TMII divisualisas-
ikan pada Gambar 4, dalam ontologi ini didefinisikan
tiga class yaitu Bird, Family dan GeneralRegion di-
mana ketiga class tersebut merupakan subclass dari
owl:Thing, ketiga class tersebut saling disjoin artinya
tidak ada individu yang merupakan instan lebih dari
satu class diantara ketiga class tersebut. Dari ketiga
class tersebut hanya class Bird yang memiliki property
dan batasan. Class Bird disjoin dengan class Family
dan GeneralRegion.

Gambar 5: Model Data Koleksi

semanticworks menggunakan konsep grafik diagram,


namun masih mendukung juga teks format.

Gambar 4: Model Data Ontologi Burung

3.2 Model Data Ontologi Koleksi


Ontologi Koleksi hanya memiliki sebuah class yaitu
collection yang memiliki property yang berkaitan de-
ngan data angka mengenai jumlah dari burung yang
terdapat di TMII. Model datanya digambarkan pada
Gambar 5. Ontologi ini menyimpan property-property
yang berkaitan dengan data kuantitatif, data kuanti-
tatif antara lain jumlah bulan lalu, penambahan, pen-
gurangan dan jumlah bulan ini. Gambar 6: Tampilan Altova SemanticWorks

Altova Semanticworks tidak terdapat reasoning en-


4 Implementasi gine, namun tidak seperti protégé, pada seman-
ticworks dapat dilakukan pemilihan tipe kosakata
4.1 OWL Ontologi Editor RDFS, OWL Lite, OWL DL atau OWL Full. Saat ki-
Proses pembuatan ontologi dapat dibuat dengan ta memilih kosakata bertipe OWL DL atau Lite maka
menggunakan OWL Editor antara lain yang biasa di- fitur Semantic Check akan aktif dan dapat digunakan
gunakan adalah Protégé dan Altova SemanticWorks. untuk memeriksa kekonsistenan dari ontologi yang
Ontologi ini dirancang menggunakan Altova Seman- dibuat.
ticWorks yang merupakan OWL editor komersial, Se-
manticWorks mendukung beberapa format serialisasi 4.2 eXist Database sebagai RDF Storage
RDF antara lain RDF/XML dan N-Triple serta dapat
saling mengekspor diantara kedua format tersebut. Dikarenakan OWL dokumen dengan format RD-
Berbeda dengan protégé, dalam membuat ontologi F/XML dapat diperlakukan seperti dokumen XML bi-
asa, maka eXist sebagai native XML database da- ngan XPath, atau mengatur koleksi. Contoh berikut
pat digunakan sebagai media penyimpanan dokumen ini adalah kode untuk meregister eXist kedalam
OWL dengan format RDF/XML. Dari fitur-fitur eX- database manager XML:DB API.
ist yang telah dijelaskan, dimanfaatkan fitur antara import org . xmldb . a p i . base . ∗ ;
lain XPath dan XQuery untuk melakukan navigasi dan import org . xmldb . a p i . modules . ∗ ;
manipulasi terhadap OWL dokumen, lalu menggu- import org . xmldb . a p i . ∗ ;
nakan fasilitas REST untuk mengakses dokumen via p u b l i c c l a s s R e t r i e v e E x a m p l e {
p r o t e c t e d s t a t i c S t r i n g URI = " xmldb : e x i s t : / /
HTTP, kemudian XML:DB API untuk melakukan ma- l o c a l h o s t :8080/ e x i s t / xmlrpc /db " ;
nipulasi dokumen OWL yang terdapat dalam eXist p u b l i c s t a t i c v o i d main ( S t r i n g a r g s [ ] )
melalui aplikasi Java. throws E x c e p t i o n {
S t r i n g d r i v e r = " org . e x i s t . xmldb .
Selanjutnya semua dokumen OWL dan file-file DatabaseImpl " ;
xquery yang digunakan sebagai API diletakkan dalam // i n i s i a l i s a s i d r i v e r d a t a b a s e
satu level koleksi dalam hal ini koleksi dianalogikan C l a s s c l = C l a s s . forName ( d r i v e r ) ;
juga sebagai database, gambar 7 menerangkan isi Database d a t a b a s e = ( Database )
c l . newInstance ( ) ;
dari koleksi burung. DatabaseManager . r e g i s t e r D a t a b a s e
( database ) ;
......
}
}

Contoh kode program Java tersebut diguna-


kan untuk meregister eXist melalui XML:DB API,
pada fungsi utama dari kode diatas terdapat
pendeklarasian nama kelas driver eXist yaitu
org.exist.xmldb.DatabaseImpl. Inisialisasi dilakukan
dengan menggunakan instansiasi dengan factory
method forName() yang menerima parameter nama
driver, yang menghasilkan objek bertipe Class yang
kemudian diberikan kepada variable cl. Kemudian
dilakukan casting variabel cl terhadap kelas Database
yang terdapat dalam XML:DB API, yang hasilnya
kemudian disimpan pada variabel database, lalu
variabel tersebut dikirim kepada static method
registerDatabase() untuk meregister eXist kedalam
Database manager.
Gambar 7: Koleksi Burung
4.3 Pembuatan API dengan Stored
Untuk mengembangkan aplikasi Java yang berin- XQuery
teraksi dengan eXist-DB maka dibutuhkan fungsi-
fungsi yang disediakan XML:DB API. API ini menye- Untuk membuat API yang menghubungkan antara
diakan interface untuk native XML Database dan pe- webservice dengan xml database maka dibuatlah API
ngembangan aplikasi yang portable dan reusable. yang menyediakan fungsi-fungsi yang dapat dipakai
Komponen dasar yang digunakan XML:DB API an- oleh webservice, fungsi-fungsi tersebut dibuat de-
tara lain driver, koleksi, resource dan service. Driv- ngan menggunakan XQuery yang disimpan dalam
er merupakan implementasi dari database interface eXist[10] dan disimpan dalam file xquery berekstensi
yang mengenkapsulasi logika akses database ter- *.xq. Fungsi-fungsi tersebut antara lain :
hadap produk XML database. Driver disediakan • askAllSpecies.xq, file ini berfungsi untuk me-
vendor database dan harus terdaftar pada manajer lakukan query terhadap seluruh individu burung
database. Koleksi adalah container hirarki untuk re- dalam ontologi burung tepatnya birdpark.owl
source dan sub-koleksi. Kemudian resource, terdapat yang disimpan dalam eXist. Diakses via URL
dua jenis resource yaitu XMLResource dan BinaryRe- http://localhost:8080/exist/rest//db/bu
source. XMLResource merepresentasikan dokumen rung/askAllSpecies.xq.
XML secara utuh atau bagiannya saja, yang diam-
bil melalui perintah XPath. Service dibutuhkan un- • askAllSpeciesInWideRegions.xq , file ini
tuk tugas khusus seperti query terhadap koleksi de- berfungsi untuk melakukan query terhadap
seluruh individu yang memiliki jumlah prop- pada Apache Tomcat webserver dengan alamat
erti hasRegion > 1. Artinya individu yang http://localhost:8084/ExistDBBridge/redirect ,
memiliki lebih dari 1 region. Diakses via URL jika parameter ask tidak dikirimkan atau nilai
http://localhost:8080/exist/rest//db/bu parameter ask salah maka akan muncul di browser
rung/askAllSpeciesInWideRegions.xq. UNKNOWN COMMAND.

• getSpeciesByCode.xq , file ini berfungsi Nilai parameter parameter Pemanggilan


melakukan query untuk mendapatkan “ask” yg dikirim Stored XQuery
individu berdasarkan kode, maka saat allspecies - askAllSpecies.xq
pemanggilannya disertakan parameter allspecieswideregion - askAllSpeciesInWideRegions.xq
“code” dan nilainya. Diakses melalui getspeciesbycode code getSpeciesByCode.xq?code=value
http://localhost:8080/exist/rest//db/bu getspeciesbyname scname getSpeciesByName.xq?scname=value
rung/getSpeciesByCode.xq?code=value . getbirdschema - getBirdSchema.xq
getcollectionschema - getCollectionSchema.xq
• getSpeciesByName.xq , file ini berfungsi
melakukan query untuk mendapatkan indi- Tabel 1: Parameter ask
vidu berdasarkan nama ilmiah, maka pada
saat pemanggilannya disertakan parame-
ter scname dan nilanya. Diakses via URL
http://localhost:8080/exist/rest//db/bu 5 Implementasi
rung/getSpeciesByName.xq?scname=value.

• getBirdSchema.xq, file ini berfungsi untuk men-


5.1 Implementasi Aplikasi Desktop
dapatkan skema ontologi burung yang terdapat Aplikasi desktop ini digunakan sebagai antar muka
pada birdpark.owl, yang didapat hanya skema yang mempermudah petugas TMII dalam mengelo-
saja, bukan instance individu. Diakses melalui la data burung. Memiliki kemampuan antara lain
http://localhost:8080/exist/rest//db/bu menambah, mengubah, menghapus dan melihat data
rung/getBirdSchema.xq . spesies-spesies burung dalam ontologi.
• getCollectionSchema.xq , file ini berfungsi un-
tuk mendapatkan skema ontologi koleksi yang
terdapat pada collection.owl. Diakses melalui
http://localhost:8080/exist/rest//db/bu
rung/getCollectionSchema.xq .

4.4 Pembuatan Aplikasi Web Request


Handler
Setelah semua fungsi dibuat, maka semua
file xquery tersebut diletakkan kedalam eX-
ist selevel dengan file ontologi burung dan
koleksi. Untuk mengaksesnya dapat di-
lakukan melalui address bar dengan mengakses Gambar 8: Tampilan Menu Data Burung
http://localhost:8080/exist/rest//db/+nama
_koleksi/file_xquery , namun agar webservice
tidak langsung mengakses ke alamat eXist, maka 5.2 Implementasi Aplikasi Request Han-
dibuatlah aplikasi web sederhana berbasis servlet dler
yang melakukan penanganan request yang di-
lakukan webservice. Dengan dibuatnya aplikasi Aplikasi berbasis web, dibuat dengan servlet. Apli-
ini menjadi penghubung antara webservice dengan kasi ini berfungsi menangani request yang dilakukan
eXist, dalam aplikasi ini didefinisikan parameter oleh webservice. Aplikasi ini terintegrasi dengan 6
ask dimana berdasarkan nilai parameter ini- buah API (Application Programming Interface) atau
lah maka fungsi-fungsi xquery dipanggil. Tabel fungsi yang disimpan dalam koleksi yang terdapat di
1 menjelaskan kaitan parameter ask dengan eXist. API ini dibuat dengan XQuery dan disimpan
pemanggilan stored xquery. Aplikasi ini dijalankan dalam file berekstensi *.xq, selanjutnya aplikasi
web akan memanggil file tersebut melalui protokol masalah Koleksi Burung TMII ini dituangkan kedalam
REST/HTTP yang telah disediakan eXist. Contoh ontologi dengan menggunakan bahasa OWL.
pengaksesan, misalnya saat kita ingin mendapatkan Untuk mengolah data dalam ontologi perlu dibuat
data spesies burung dengan nama ilmiah “casuar- suatu antar muka yang mempermudah proses peng-
ius casuarius”. Maka dapat diakses melalui URL olahan data. Aplikasi desktop berperan sebagai antar
http://localhost:8084/ExistDBBridge/redirect muka antara petugas taman burung dalam mengolah
?ask=getspeciesbyname&scname= data dalam ontologi. Selanjutnya agar ontologi dapat
casuarius+casuarius . dikonsumsi oleh para pengguna internet, maka per-
Pengaksesan URL tersebut dilakukan untuk men- lu dibuat fungsi-fungsi yang melakukan pembacaan
dapatkan individu dengan menggunakan fungsi data, nantinya fungsi ini akan diakses oleh webservice
getspeciesbyname dengan mengirimkan parameter dan diteruskan para pengguna webservice.
scname bernilai “casuarius casuarius”. Saat diakses
maka akan dikembalikan xml fragmen seperti gambar
9. Pustaka
[1] T. B. Lee, J. Hendler, and
O. Lassila, The Semantic Web,
http://www.scientificamerican.com/article.cfm?id=the-
semantic-web, 2001.

[2] W3C, W3C Semantic Web Activity,


http://www.w3.org/2001/sw, 2006.
Gambar 9: Contoh RDF Instance dari pengaksesan [3] I. Herman, SWTutorial, W3,
API http://www.w3.org/People/Ivan, 2006.

[4] T. Gruber, What is ontology ?, http://www-


ksl.stanford.edu/kst/what-is-an-ontology.html,
6 Kesimpulan 1992.

Proses pendefinisian informasi yang terdapat pa- [5] I. M. Wiryana and E. Hasibuan, Menuju
da halaman web dapat dilakukan dengan mem- Ontologi Pengembangan Kelautan Indone-
buat suatu ontologi yang menangkap suatu per- sia, http://www.ilmukomputer.org/wp-
masalahan spesifik tertentu. Berdasarkan proses content/uploads/2006/08/wiryana-
pembuatan ontologi dan aplikasi yang telah di- ontologikelautan.zip, Maret 2002.
lakukan, disimpulkan bahwa pembuatan suatu on-
tologi dalam menangkap suatu domain permasala- [6] L. Yu, Introduction to the Semantic Web and Se-
han atau lingkup ilmu pengetahuan tertentu meru- mantic Web Service. Chapman & Hall/CRC,
pakan proses yang kompleks, untuk itu perlu didefin- 2007.
isikan batasan-batasan dari permasalahan yang akan
dituangkan ke dalam ontologi. Suatu ontologi [7] Protege, The Protege Ontology Editor and Knowl-
tidak dapat dibangun dalam menangkap domain per- edge Acqusition System, Stanford University,
masalahan yang terlalu luas atau general. Oleh sebab http://protege.stanford.edu/, 2010.
itu diambil domain permasalahan Koleksi Burung pa-
da Taman Burung TMII untuk dibahas ke dalam on- [8] Altova, Altova SemanticWorks,
tologi. http://www.altova.com/semanticworks.html,
Ontologi yang dibuat dapat didistribusikan melalui 2010.
internet, W3C menspesifikasikan standarisasi dalam
kosakata pembuatan ontologi, kosakata tersebut an- [9] XML:DB, XML:DB faqs, XML:DB Initiative,
tara lain RDF, RDFs dan OWL. OWL (Ontology Web http://xmldb-org.sourceforge.net/faqs.html,
Language) merupakan standar terbaru yang dikeluar 2003.
W3C, OWL memiliki kapabilitas dalam mengekspre-
sikan suatu konsep atau kelas, yaitu berupa proper- [10] W. Meier, eXist, Open Source Native XML
ti, batasan dan hubungan kardinalitas. Selanjutnya Database, http://exist.sourceforge.net/, 2010.
Curriculum Vitae
Agung Prasetyo lahir di Jakarta pada tanggal 20
Desember 1988. Menamatkan pendidikan sekolah
dasar di SDN 04 Pagi Pondok Kopi, kemudian melan-
jutkan ke SMPN 199 Pondok Kopi. Selanjutnya meng-
habiskan masa SMU di SMUN 103 Jakarta Timur. Se-
lepas SMU penulis melanjutkan studinya pada juru-
san Teknik Informatika Universitas Gunadarma, se-
lain kuliah penulis aktif sebagai asisten laborato-
rium Teknik Informatika dengan menjadi instruktur
pada beberapa mata praktikum. Selama masa kuliah
penulis memiliki minat pada bidang pemrograman,
baik desktop, web dan mobile khususnya menggu-
nakan bahasa pemrograman Java. Penulis dapat
dihubungi pada email brain64bit@gmail.com atau
pada YM:blackfacezniper.
I Made Wiryana merampungkan SI Teknik In-
formatika (STMIK Gunadarma), S1 Fisika (Univer-
sitas Indonesia), S2 Computer Science (Edith Cow-
an University - Perth). Mendapatkan gelar Dr. rer.
nat. bidang Naturwisscenschaftinformatik (Univer-
sitas Bielefeld - Jerman). Mengembangkan metoda
Light Weight Because Analysis (LWBA), dan Bandung
Bondowoso System Development Method (BBSDM).
Dosen tetap Universitas Gunadarma dan Koordinator
Kerjasama Luar Negeri. Mendisain dan mengelola
sistem informasi portal Presiden dan Wapres Repu-
blik Indonesia, dan Portal Kemenpora serta sebagai
konsultan teknis game Nusantara Online. Penulis di
media massa, Infolinux, Chip, Biskom dan lainnya.
Penerima IGOS Award yang pertama. Aktif di Asosasi
Open Source Indonesia (AOSI) dan Yayasan Pengger-
ak Linux Indonesia (YPLI) memasyarakatkan Open
Source di Indonesia, juga di Ikatan Profesi Komputer
dan Informatika Indonesia (IPKIN),