PENGEMBANGAN SISTEM KOLEKSI BIODIVERSITAS YANG MENDUKUNG AKSES PELAYANAN UNIVERSAL DAN INTEROPERABILITAS
OVAN SUNARTO PULU (50407649) Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Gunadarma, Margonda Raya 100 Depok 16424 telp (021) 78881112, 7863788
ABSTRAKSI Aplikasi berbasis online merupakan sebuah terobosan baru untuk sebuah aplikasi. dengan kemampuan aplikasi yang bisa diakses secara online tentu saja dapat membawa beberapa nilai tambah bagi suatu instansi yang sedang menjalankan sistem tersebut, mulai dari ketersediaan informasi yang cepat, bisa diakase dari mana saja hingga dengan manfaat transparasi data bagi sebuah instansi, tidak heran kemajuan aplikasi yang berbasis web sangat cepat perkembangannya. LIPI (Lembaga Ilmu Pengetahuan Indonesia) merupakan salah satu instansi yang akan menerapkan sistem aplikasinya berbasis web. dengan kemampuan aplikasi yang berbasis web, aplikasi ini menyediakan beberapa layanan yang bisa diakses oleh masyarakat dengan tujuan “data go public”. layanan tersedia bagi data entry maupun tamu yang hanya melihat koleksi specimen selain itu juga disediakan sebuah web services yang bisa mendukung interoperabilitas yang bisa diakses oleh device lain dalam mengetahui beberapa struktur tabel dalam melakukan akses ke database. Kata kunci: Biodiversitas, rest, web services Tanggal Pembuatan: 25 November 2011
PENDAHULUAN Indonesia adalah salah satu negara yang turut berpartisipasi dalam program pengurangan gas karbon di udara, ini dikarenakan Indonesia masih memiliki sekitar 133 juta hektar hutan yang mencakup suaka lama, hutan lindung dan hutan produksi[1]. Dengan angka yang demikian tinggi tentu saja pupulasi tumbuhan yang terdapat di Indonesia cukup banyak, namun sayangnya belum semuanya terklasifikasi. Klasifikasi ini akan mensistematisir banyak hal yang bisa ditemukan dari tumbuhan mulai dari jenis, species, habitat, hingga
dengan penyebarannya untuk berbagai keperluan akademik maupun pelestarian lingkungan. Sistem data base tentang tumbuhan yang telah dikembangkan oleh LIPI dengan nama IBIS yang dioperasikan selama ini dirasakan sudah tidak memenuhi tuntutan erkembangan informasi dan dirasa perlu dikembangkan lagi untuk menunjang kebutuhan akan ketersediaan data dasar tentang tumbuhan di Indonesia yang semakin berkembang dari segi jumlah. IBIS (Indonesia Biodiversity Information System). IBIS adalah sebuah sistem
informasi yang menyediakan data dari berbagai jenis tumbuhan yang sudah terklasifikasi oleh para peneliti yang ditampung dalam database. Namun seiring dengan meningkatnya jumlah data baru dari tanaman, sistem ini mulai mengalami beberapa masalah dalam melakukan tugasnya seperti waktu pencarian data yang bertambah lama, kelebihan kapasitas data (overload), dll. Dalam rangka penyelamatan sistem informasi ini, peremajaan bahkan migrasi sistem perlu dilakukan untuk menghadapi masalah-masalah yang akan datang. Database yang dahulunya dibangun dengan menggunakan Microsoft Access sudah selayaknya diganti dengan MYSQL untuk menjaga akurasi dan kestabilan data. Kemudian untuk menjembatani pengguna (user) dalam melakukan akses ke dalam database diperlukan sebuah aplikasi tambahan yang berbasis web. Mengapa harus berbasis web? Seiring dengan berkembangnya teknologi, letak geografis pun bukanlah sebuah persoalan, transfer data yang bisa dilakukan secara online memungkinkan sistem informasi ini bisa diakses dari mana saja dan kapan saja, namun tetap memperhatikan hak aksesnya. PRESERVASI DATA DIGITAL Format Data Digital Ada beberapa format penyimpanan data digital yang tersedia sekarang ini, data digital ini bisa berupa data text atau documen, data audio, data gambar maupun data video yang merupakan penggabungan dari data gambar dan audio. berikut ini adalah beberapa contoh data digital dalam berbagai format : Document (HTML, XML, PDF, DOC), Audio (MP3, AAC, WAV, WMA), Gambar (JPG, PNG, BMP, GIF), Video (AVI, FLV, MP4, WMV).
Perlunya Preservasi Data Dirasa perlunya melakukan preservasi data digital karena beberapa hal berikut ini Akumulasi data yang tak terkendali Kerusakan data tanpa sengaja Pengubahan data tanpa hak Untuk itu penting sebuah instansi seperti LIPI untuk melakukan preservasi data digital karena beberapa poin diatas. Aktifitas para data entry dalam melakukan transfer data cetak ke dalam data digital sangat cepat bahkan ini dikarenakan selain karena tuntutan pekerjaan juga karena faktor menumpuknya data cetak yang berasal dari para peneliti lapangan yang belum tertransfer dalam bentuk format data digital semakin menumpuk. Entah sudah berapa banyak kapasitas database yang sudah terpakai untuk menampung data digital ini belum lagi data cetak yang selalu berdatangan dari para peneliti setiap minggunya. Preservasi yang dilakukan Tumbuhan adalah salah satu makhluk hidup yang sangat penting dengan berbagai aneka ragamnya. Berbagai lembaga peneliti tidak henti-hentinya melakukan penelitian mengenai beragam jenis tumbuhan mulai dari Family, Genus bahkan hingga ke Species untuk mendapatkan data akurat dari tanaman ini, tujuannya hanya satu yaitu ketersediaan informasi tumbuhan untuk masa mendatang. Untuk itu penting dalam melakukan perlindungan terhadap data digital suatu species tumbuhan. Berikut ini adalah skema perlindungan data cetak species ke dalam data digital
Gambar 1. Alur penyimpanan data
Service, sebuah aplikasi dapat dengan mudah dan cepat untuk diintegrasikan dengan aplikasi lainnya dan memiliki interoperabilitas yang tinggi karena menggunakan berbagai standard yang telah ada seperti HTTP, XML, dan SOAP. Pengguna Web Service dapat membangun aplikasinya masing-masing dengan memanfaatkan layanan yang disediakan oleh Web Service.
Web Services Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Menurut World Wide Web Consortium (W3C), organisasi yang mengembangkan standarstandar dalam dunia web, mendefinisikan Web Services sebagai perangkat lunak sistem yang dirancang untuk mendukung interaksi antara mesin dengan mesin melalui jaringan. Web Services merupakan kumpulan dari fungsi atau method yang terdapat pada sebuah server yang dapat dipanggil oleh klien dari jarak jauh. Web Services dibuat atas dasar adanya berbagai macam perangkat keras, system operasi, aplikasi hingga bahasa pemrogramam. Keadaan tersebut yang dapat menimbulkan masalah dalam proses pertukaran data antar perangkat yang menggunakan aplikasi dan platfrom yang berbeda. Untuk mengatasi masalah tersebut maka diciptakanlah Web Services. Beberapa karakteristik dari Web Services adalah[1] Message based Standars based Programming language independent Platform neutral
STRATEGI MIGRASI DATABASE HERBARIUM Export Database Database specimen herbarium sudah dibangun sejak tahun 1990 an dengan menggunakan appendix 1, namun pada tahun 1996 terjadi perubahan pada platform database menjadi microsoft access. semenjak itulah hingga dengan saat ini database tersebut belum ada perubahan. seiring dengan bertambahnya data dari para peneliti yang menemukan spesies-spesies baru di indonesia mempengaruhi pula pada database ini, dengan kemampuan yang tidak dirancang khusus untuk menampung jumlah data yang banyak, microsoft access mengalami ketidakstabilan. oleh karena itu untuk mengatasi hal ini segera dilakukan migrasi database ke MYSQL. berikut ini adalah skema proses migrasi database dari microsoft access ke MySQL.
Perbedaan antara Web Service dan situs Web adalah web dibuat untuk interaksi antara program dan pengguna sedangkan Web Service dibuat untuk interaksi antara program dan program. Dengan adanya Web
Gambar 2. Skema migrasi database Membuat Skema Database Membuat skema database untuk aplikasi ini perlu dilakukan mengingat
skema database yang digunakan pada database Ms. access tidak berhasil diimport ke MySQL untuk itu perlu dibangun skema baru dalam rangka mengikat semua tabel yang berhubungan. Skema adalah sebuah gambaran umum dari suatu rancangan. Dengan adanya skema kita dapat dengan mudah memahami alur sebuah rancangan, sama halnya dengan skema database yang bisa memudahkan analis khususnya programmer dalam mengakses baik select, insert, update, ataupun delete data. Membangun Relasi Tabel Keterikatan tabel dalam sebuah database sangatlah penting, ini selain bertujuan untuk memudahkan dalam melihat struktur database juga memudahkan berbagai operasi akses ke database. dengan struktur relasi table yang baik, masalah umum dalam database seperti duplikasi, inkonsistensi data dapat diminimalkan. pada model database relasional, kaitan atau asosiasi antara dua buah tabel disebut hubungan (relationship). hubungan dapat berupa [2] One to one (1-1), yakni satu data pada satu tabel berpasangan dengan hanya satu data pada tabel lain. berikut ini adalah gambar dari table dengan hubungan one to one.
Gambar 3. Relasi 1-1
One to many (1-M), yakni satu data pada suatu tabel berpasangan dengan banyak data pada tabel lain. sedangkan untuk tabel yang menggunakan hubungan tabel one to many bisa dilihat pada gambar dibawah ini
Gambar 4. Relasi 1-M Menguji Relasi Tabel untuk menguji relasi tabel yang sudah dibuat berdasarkan skema bisa dilakukan dengan cara menginsert data kedalam database, dengan keterkaitan relasi yang baik ketika dilakukan penginputan data yang bisa berakibat duplikasi secara otomatis akan di tolak oleh database (operasi insert tidak akan berhasil), begitu juga dengan operasi yang lain selama data yang diproses tersebut ada keterkaitan dengan tabel lain. berikut ini contoh pengujian relasi pada tabel family dan family_text.
Gambar 5. Pengujian relasi Pada tabel diatas terlihat bahwa Tabel Family yang berada disebelah kiri mempunyai field yang berperan sebagai foreign key yaitu field Family. Isi dari Field Family merupakan ID yang terdapat pada tabel Family_Text (table yang berada disebelah kanan) yang merupakan primary key dari tabel ini. PROSES SISTEM MIGRASI Skema Sistem Skema sistem merupakan penggambaran dari sistem secara umum, entitas apa saja yang akan terlibat dalam skema ini digambarkan dalam sebuah alur
diagram serta apa hubungan dari entitas tersebut dalam sistem ini. Sebuah skema umumnya sudah mencakup semuah hal tentang sistem tersebut, dengan adanya skema bisa membuat orang lebih mudah memahami alur data/informasi sistem tersebut. Berikut ini merupakan skema sistem yang sedang dibangun
Skema umum system
Gambar 6. Skema umum system
Pada skema diatas terdapat sebuah aplikasi web base yang bisa elakukan akses dari dan ke database, selain itu juga terdapat fungsi lain yaitu ebagai web service yang mendukung pengaksesan data oleh platform yang berbeda seperti aplikasi desktop, maupun aplikasi android Skema select data
Gambar 7. Skema select data
Pada skema diatas untuk melakukan pencarian data yang ada didalam database terlebih dahulu harus melakukan proses login selanjutnya melakukan proses filter data apa saja yang mau diambil, setelah filter ditentukan maka program akan mengirim query ke database untuk mencari data sesuai dengan yang ada di filter, laporan dari database akan ditampilkan pada form view yaitu specimen dan locality. Membuat Front End Interface merupakan hal yang sangat penting di aplikasi yang berbasis web. Interface dapat mempengaruhi penilaian baik buruknya sebuah aplikasi untuk itu pembuatan interface sangat perlu dipertimbangkan dengan matang sebelum diimplementasikan karena interface akan berhadapan langsung dengan user Desain layout Membuat interface bisa diawali dengan pembuatan layout dari aplikasi yang akan dibangun, membuat layout bisa bermacammacam bentuknya tergantung tema yang dipakai. Aplikasi ini mempunyai 3 bagian halaman yang pertama halaman Header yaitu digunakan untuk menampung data seputar header biasanya berupa banner dari aplikasi ini. Selanjutnya dibawahnya terdapat halaman Tabs, yang bertugas menampung tab-tab yang akan dipakai oleh aplikasi ini. tab ini berperan sebagai menu navigasi dari aplikasi ini untuk berpindah halaman, selanjutnya terdapat juga halaman Content yaitu halaman yang dipakai untuk menampilkan semua informasi yang dipilih berdasarkan menu navigasi. Membuat desain halaman
Desain halaman merupakan suatu hal yang penting karena dengan komposisi halaman yang baik maka secara langsung bisa menimbulkan rasa nyaman bagi pemakai yang sedang melihat halaman tersebut. hal seperti inilah yang perlu diperhatikan oleh seorang web designer dalam membuat perancangan halaman, sebisa mungkin pengguna tidak merasa kebingungan ketika mengakses halaman tersebut. berikut ini adalah salah satu contoh halaman yang terdapat pada aplikasi IBIS
Membuat CSS File File Css digunakan untuk memperindah tampilan dari aplikasi ini, penggunaan file ini sangat penting karena bisa memudahkan web designer dalam menentukan warna dari aplikasi ini. Warna merupakan pendukung utama dari sebuah tampilan selein dari layout. Didalam file ini terdapat kumpulan parameter yang dipakai oleh file html. Berikut ini adalah penggalan parameter yang terdapat pada file ini : body{ font_family : Arial,Helvetica, sans_serif ; margin : auto ; margin_top :0 px ; background :#777777; margin_left : 0px ; margin_top : 0px ; }
Parameter diatas merupakan pengaturan untuk dasar halaman karena parameter yang digunakan adalah body. Body merupakan batang tubuh dari sebuah aplikasi berbasis web. Gambar 8. Halaman Specimen Pada tampilan halaman diatas terdapat beberapa informasi yang bisa langsung diterka secara kasat mata, seperti nama kolektor, tanggal koleksi dan lokasi habitat. Informasi yang tersedia pada halaman ini tergantung dari Authentifikasi login user masuk ke dalam sistem. Apabila user hanya sebagai tamu (guest) maka halaman ini hanya akan berfungsi untuk menampilkan data sesuai dengan operasi pada menu filter sebelumnya namun jika authentifikasi loginnya sebagai System administrator maka halaman ini juga bisa berfungsi sebagai form input data ke dalam database selain untuk menampilkan data hasil filter
Membuat Back End back end merupakan hal yang paling penting dalam sebuah aplikasi. Di bagian ini semua kontrol program dilaksanakan baik itu yang berhubungan dengan interface (front end) maupun yang khusus menjalankan proses tanpa menampilkan output di front end. Validasi user login login merupakan sebuah fasiltitas keamanan user yang terdapat pada hampir setiap web. dengan adanya login ini, setiap user yang mengakses suatu situs diberi metode akses yang berbeda-beda ada yang hanya sebagai tamu (guest), pelanggan hingga dengan administrator. tentu saja sebagai salah satu fasilitas yang cukup vital, fasilitas login perlu diberi pengamanan mulai dari validasi user account hingga mampu
menangani berbagai masalah inputan yang bisa mengakibatkan sistem kebingungan yang dapat berakibat pada kegagalan fungsi sistem login. berikut ini adalah skema alur program dari fungsi validasi user login :
Gambar 9. Skema login
Pada Gambar diatas user terlebih dahulu akan diminta untuk memasukan user account, inputan user tersebut selanjutnya akan dibandingkan dengan data user yang berada didalam database, apabila data yang dibandingkan tersebut sama maka user akan dialihkan ke tampilan view tab (specimen, locality) namun jika tidak maka user akan dipaksa untuk tetap melihat tampilan input data user Query SQL Select merupakan salah satu perintah dasar pada MySQL untuk menampilkan isi dari database. di tab filter terdapat beberapa combobox yang isinya didapat lewat hasil query dari database herbarium. untuk menampilkan data-data yang terdapat pada tabel-tabel yang diperlukan digunakan perintah select. berikut ini adalah query pemanggilan data pada tabel view_tabel. View_tabel adalah tabel yang digunakan untuk keperluan interface semata. secara fungsi tabel ini tidak berhubungan dengan data specimen
select * from view_table; Di table ini terdapat relasi table yang mengarah ke masing-masing table referensi yang digunakan untuk menampilkan data lewat query select. Sama halnya juga dengan perintah insert, update maupun delete perbedaannya hanya pada query yang dipakai. REST Web Services REST adalah singkatan dari Representational State Transfer adalah suatu gaya arsitektur perangkat lunak untuk untuk pendistibusian sistem hypermedia seperti WWW. REST secara spesifik merujuk pada suatu koleksi prinsipprinsip arsitektur jaringan yang menggariskan pendefinisian dan pengalamatan sumber daya. Istilah ini sering digunakan dengan longgar untuk mendeskripsikan semua antar muka sederhana yang menyampaikan data dalam domain spesifik melalui HTTP tanpa tambahan lapisan pesan seperti SOAP atau pelacakan sesi menggunakan cookie HTTP. Dua pengertian ini dapat menimbulkan konflik dan juga tumpang tindih. Sistem yang mengikuti prinsip REST Fielding sering disebut sebagai "RESTful". Melalui REST dapat dilakukan mapping terhadap database server yang ada. Database server itu serbagai backend dan selanjutnya dengan menggunakan REST hasil mapping tersebut ditampilkan melalui protokol HTTP dan diuji cobakan melalui web browser.
Template specimen schema Untuk bisa mengakses data seputar skema tabel dari specimen bisa dilakukan dengan mengakses fungsi ini. fungsi ini akan mengenerate skema dari tabel specimen untuk ditampikan dalam bentuk format xml. format inilah yang akan digunakan oleh device lain dalam
mengakses database secara online. berikut ini adalah skrip program untuk memanggil fungsi getSpecimenSchema. if (isset($_GET[’ getSpecimenScheme’])) { getSpecimenScheme(); }
Untuk mengakses halaman ini bisa dilakukan dengan cara mengetikkan URL berikut ini di browser. http://localhost/dev_her barium/rest/specimen/?ge tSpecimenScheme
Template data specimen Fungsi ini dgunakan untuk mengdapatkan data dari semua specimen yang terdapat dalam database berdasarkan template yang telah dtentukan sebelumnya. berbeda dengan fungsi getSpecimenSchema, getAllSpecimen bukan hanya menampilkan struktur dari tabel specimen melainkan juga menyertakan data-data dari tabel tersebut. namun untuk fungsi ini penulis memberian limit 5 untuk meloading data dari tabel specimen berhubung data yang terdapat di tabel ini sangat banyak. berikut ini perintah program dalam memanggil fungsi getAllSpecimen if (isset($_GET[’getAllSpecimen’ ])) { getAl lSpecimen ( ) ; }
Untuk mengakses halaman ini dilakukan dengan cara mengetikkan URL berikut ini di browser
http://localhost/dev_her barium/rest/specimen/?ge tAllSpecimen
Template code specimen fungsi ini hampir sama dengan fungsi getAllSpecimen, keduanya menggunakan template yang sama dalam menampilkan data dari tabel specimen namun yang menjadi perbedaan adalan jka pada fungsi getAllSpecimen program akan mengambil semua data dengan limit 5 record sedangkan pada fungsi getCodeSpecimen, record yang ditampilkan hanya record dengan code specimen seperti yang diinput oleh user. layanan ini memungkinkan user lain bisa mengetahui data spesifik dari setiap specimen hanya dengan memasukan code dari specimen tersebut. berikut ini adalah contoh inputan dari user : http://localhost/dev_her barium/rest/specimen/?ge tCodeSpecimen=1000002 URL diatas akan memerintahkan program untuk menjalankan fungsi getCodeSpecimen dengan menyertakan kondisi code = 1000002. adapun pemanggilan fungsi getCodeSpecimen oleh URL tersebuat untuk dijalankan oleh program adalah seperti berikut ini if (isset($_GET[’getCodeSpecimen ’])) { getCodeSpecimen(); }
UJI COBA Uji Coba Web Services
Gambar 10. Output fungsi getCode Uji Coba Select Data
Gambar 11. Output select data KESIMPULAN Pengembangan aplikasi desktop kedalam aplikasi berbasis web bias dikatakan sebuah terobosan baru bagi LIPI khususnya bagian herbarium yang menangani klasifikasi jenis tumbuhan. dengan hadirnya aplikasi input data berbasis web, para data entry bisa melakukan pekerjaannya dimana saja selama terdapat koneksi internet untuk mengakses aplikasi ini dengan kata lain program ini bisa memperkecil jarak dari para peneliti yang tersebar di seluruh indonesia untuk mendapatkan akses ke sistem ini tanpa harus
ke kantor pusat yang berlokasi di cobinong, Bogor. Proses migrasi database dari Ms.access ke MySQL bisa dikatakan 80% berhasil mengingat semua data bisa di migrasikan tanpa ada yang tertinggal, sedangkan 20%-nya lagi adalah relasi antar tabel yang belum terikat sempurna setelah dilakukan import database ke dalam MySQL sehingga perlu dilakukan pembangunan skema baru, dalam hal ini saya berkolaborasi dengan Mr. Campbell yang merupakan peneliti senior herbarium. Selain memfasilitasi para data entry dalam melakukan tugasnya, tersedia juga sebuah layanan web service untuk akses pelayanan publik. Web service yang dibangun menggunakan teknologi REST dengan memanfaatkan fungsi GET. Fungsi ini akan mengambil data beserta parameternya berdasarkan URL yang ditampilkan kedalam format XML. Untuk mengakses data yang terdapat pada web services ini, terlebih dahulu harus mengetahui template yang digunakan dalam mentransfer data. Adapun fungsi yang bisa di gunakan dalam web services ini antara lain getSpecimenSchema yaitu fungsi untuk mendapatkan skema dari tabel specimen, fungsi getAllSpecimen digunakan untuk menampilkan semua data specimen dengan field-field yang ditentukan pada template, selanjutnya juga terdapat fungsi getCodeSpecimen yaitu untuk menampilkan data specimen sesuai dengan code yang dimasukan. Web services ini hanya sebatas penyediaan layanan select data, service untuk melakukan proses insert, update maupun delete data kedalam database server dari aplikasi lain belum bisa dijalankan. DAFTAR PUSTAKA [1]
Jeni (2006). Web Services. http://poss.ipb.ac.id/files/JENI-
[2]
[3] [4]
[5]
J2ME-Bab08-Web, 2010 Abdul Kadir. Tuntunan praktis belajar database menggunakan MySQL. 2008. Lulu. Pengantar Semantic Web. Universitas Gunadarma, 2010. A. I. t. (2001) Manes. Introduction to web-services. http://www.systinet.com. Sars4world (2009). Create simple web service using netbeans. http://sars4world.wordpress.com/200 9/06/23/create-simple-webservice-
[6]
[7]
using-netbeans/. Eko Priyo Utomo. 55 Tips Mempercantik Website Dengan Javascript. Restu Bandung, 2007. Eko Priyo Utomo. 125 Tips Menguasai Bahasa PHP. Tyrama Widya, 2008.