iLab: Sistem Manajemen Konten Laboratorium Terdistribusi
Dhomas Hatta Fudholi1, Sunu Wibirama2
1 Jurusan Teknik Informatika, Universitas Islam Indonesia
2 Jurusan Teknik Elektro, Fakultas Teknik, Universitas Gadjah Mada
e-mail: 1 [email protected], 2 [email protected]
Abstrak
Pembuatan Sistem Manajemen Konten Laboratorium (SMKL) iLab berawal dari fakta kurangnya jumlah aplikasi SMKL open source berbasis web yang diimplementasikan untuk manajemen laboratorium. SMKL iLab dikembangkan untuk memudahkan laboratorium dalam mengelola jadwal praktikum, berita, arsip penelitian dan dokumentasi yang ada pada laboratorium tersebut. Sebuah instansi yang memiliki lebih dari satu laboratorium dapat menggunakan SMKL iLab terdistribusi dalam pengelolaannya. SMKL iLab dikembangkan dengan framework CakePHP. Integrator berbasis web service dibuat untuk memudahkan pengguna dalam mencari informasi pada laboratorium-laboratorium dalam sebuah instansi. Hasil pengujian dan implementasi menunjukkan bahwa SMKL iLab layak untuk menjadi salah satu prototipe sistem informasi laboratorium terdistribusi.
Kata kunci: sistem informasi laboratorium, aplikasi web, sistem terdistribusi, teknologi informasi
1. Pendahuluan
Sistem Manajemen Konten (SMK) berbasis aplikasi web dikenal sebagai salah satu implementasi teknologi informasi lintas platform sistem operasi yang dikembangkan untuk pembuatan forum diskusi, forum komunitas, sistem file
shar-ing, dan berbagai implementasi lain-nya. Menurut Fraser [6], Konten bisa diartikan “sesuatu” yang terkandung dalam sebuah website. “Sesuatu” ini bisa diklasifikasikan kembali menja-di dua kategori:
• Informasi, seperti teks dan gambar, yang bisa dilihat saat sebuah situs diakses oleh pengunjung. • Aplikasi atau perangkat lunak yang
berjalan pada server website dan menampilkan informasi tersebut.
Menurut Douglas [5], sebuah SMK secara umum bisa dikustomasi dengan menambahkan atau mengu-rangi fitur yang spesifik, sehingga hanya fitur-fitur tertentu yang di-inginkan saja yang akan ditampilkan kepada publik.
Dari berbagai jenis SMK terse-but, ada SMK yang diimplementa-sikan untuk laboratorium, dikenal dengan Sistem Manajemen Konten Laboratorium (SMKL). SMKL me-nurut Crandall dan Auping [4] bisa diartikan sebagai sebuah kombinasi antara perangkat lunak dan perang-kat keras komputer yang digunakan di laboratorium untuk manajemen sam-pel, pengguna laboratorium (prakti-kan dan laboran), instrumen, standar, dan fungsi laboratorium lainnya
report generator, dan kapabilitas jaringan komputer.
Aplikasi SMKL iLab ini dikem-bangkan seiring dengan adanya kebutuhan untuk membuat pengola-han informasi pada laboratorium menjadi lebih sederhana dan mem-beri fitur otomasi pada proses-proses pengelolaan informasinya. [1] Per-timbangan instansi yang memiliki lebih dari satu laboratorium dan memerlukan suatu sistem informasi terpusat yang mampu menarik infor-masi dari infor-masing-infor-masing laborato-rium, maka muncul sebuah konsep integrasi SMKL dengan meng-gunakan web services XML-RPC.
2. Framework CakePHP
Siswoutomo [8] mendefinisikan
framework adalah sebuah kerangka
kerja yang penggunaannya bertujuan untuk mengurangi beban dari aktivi-tas-aktivitas yang sering dilakan pada saat pelaksanaan proses pengembang-an web. Frameork biaspengembang-anya menyedi-akan pustaka untuk akses database,
templating framework, dan session
management serta menawarkan
kode-kode program yang dapat digunakan kembali (reusable code).
CakePHP adalah sebuah
frame-work open source yang digunakan
untuk mengembangkan aplikasi web dengan dasar kerja CRUD (Create,
Read, Update, Delete) [3]. CakePHP berbasis bahasa pemrograman PHP dengan arsitektur
Model-View-Controller (MVC) dan menerapkan
konsep Object Oriented
Program-ming (OOP) dalam penulisan kode sumbernya [2]. Arsitektur framework CakePHP dapat dilihat pada gambar 1. Database User Apache / IIS Dispatcher View Controller requestAction() Redirect Model 1 2 3 4 5 4 6 7 8
Gambar 1. Arsitektur CakePHP
3. Web Service XML-RPC
W3C (World Wide Web
Consor-tium) Web Services Architecture Working Group mendefinisikan web
service sebagai sistem perangkat
lu-nak yang didesain untuk mendukung interoperabilitas interaksi antar mesin pada sebuah jaringan. Richards [7] mendefinisikan web service sebagai aplikasi yang diakses melalui internet menggunakan protokol standar inter-net dan menggunakan XML sebagai format standar dalam penyampaian pesan. Salah satu bentuk arsitektur
web service melibatkan XML sebagai
media dalam melakukan request dan
response. Request diterima oleh
pem-baca (listener), diartikan sehingga
business logic mampu membaca dan
mengolahnya, kemudian diolah sesuai dengan request yang diminta, lalu dikembalikan dalam bentuk yang dapat dimengerti oleh penerima (Gambar 2).
Gambar 2. Arsitektur Umum Web Service
XML-RPC kependekan dari XML-based Remote Procedure Call.
Prosedure call, sebuah istilah yang
sebenarnya mengacu pada perwujud-an dari sebuah function call sederhperwujud-ana pada bahasa pemrograman web PHP. Ini adalah kode yang bisa dipanggil, bertukar parameter yang digunakan oleh kumpulan kode tersebut, dan mendapatkan nilai hasil. Pertukaran data yang terjadi pada sistem yang berbeda diperlukan adanya sebuah penerjemah sehingga kedua mesin mampu mengerti informasi yang diterima, oleh karena itu diperlukan
marshaling. Marshaling adalah
pro-ses pengambilan data dan merubah-nya ke dalam format yang umum atau sudah terstandarkan (dalam hal ini adalah XML) supaya dapat dikirim, kemudian diterima oleh mesin penerima lalu diterjemahkan kembali sehingga mesin penerima mampu membacanya. Konsep XML-RPC terlihat pada gambar 3.
Gambar 3. Konsep XML-RPC
4. Perancangan Sistem
Perancangan dan integrasi SMKL iLab dilakukan dengan mempertim-bangkan beberapa kebutuhan di bawah ini:
1. Perlunya sebuah sistem informasi yang mengotomatisasi pendaftar-an praktikum, pengolahpendaftar-an data praktikum, penyajian petunjuk praktikum secara online dan
(administrator, laboran, dosen dan mahasiswa).
2. Instansi pendidikan memiliki le-bih dari satu laboratorium dan memerlukan lebih dari satu SMKL untuk tiap-tiap labora-torium.
3. Informasi lengkap yang terpusat dapat memudahkan pengguna untuk mencari lokasi praktikum, mencari bahan-bahan pendukung dan informasi terbaru seluruh laboratorium.
Gambar 4. Arsitektur Sistem iLab Perancangan sistem untuk peng-aplikasian iLab terlihat pada gambar 4. SMKL iLab dapat di tempatkan pada jaringan lokal yang memiliki IP private atau jaringan internet yang memiliki IP public. Integrator ber-fungsi dalam memudahkan pencarian data pada ke semua SMKL iLab yang terdaftar, dan tentunya memiliki basis data lokasi SMKL iLab.
Langkah pertama perancangan basis data SMKL iLab adalah meny-usun hubungan antar entitas basis data yang ada. Ada 15 entitas yang mewakili fungsionalitas iLab. Dari 15 entitas yang ada, sebagian besar dialokasikan untuk manajemen prak-tikum, yakni Practicumnames,
Prac-ticumschedules, Practicians, dan
Assistants. Sedangkan entitas lainnya
Resources, Newscategories, News, Links, Guestbooks, Homes, Profiles,
dan Settings.
Gambar 5 di bawah menjelaskan penerapan arsitektur MVC pada SMKL iLab. Bagian Model terdiri dari class-class yang berhubungan dengan basis data dan mengatur hubungan antar tabel. Bagian
Con-troller terdiri dari class-class yang
menangani request dari pengguna CMS dan mengolah data dari
data-base. Sedangkan bagian View
bertu-gas menampilkan data yang sudah diolah oleh bagian Controller. Alur dari SMKL iLab kemudian terangkan pada gambar 6.
Web service pada integrator iLab
menggunakan konsep client-server, dimana client adalah integrator iLab yang meminta atau melakukan
request untuk mendapatkan informasi
dari masing-masing SMKL iLab.
SMKL iLab bertindak sebagai server. Proses request dan response terlihat seperti Gambar 7. Pada saat integrator melakukan request dan sebelum data dikirimkan, terjadi proses
marshal-ling untuk membentuk data dengan
format XML yang kemudian dikirim ke SMKL iLab. Request yang diterima kemudian dibaca oleh XML-RPC library. Request tersebut akan di cek terlebih dahulu pada web service API. Pengecekan ini dimaksudkan untuk mengecek apakan fungsi yang diminta terdapat pada server atau tidak. Jika fungsi tersedia pada iLab maka pesan diteruskan untuk kemudian diolah oleh iLab. Hasil atau response dikembalikan kepada integ-rator, lalu integrator memunculkan informasi yang diterima sehingga pengguna dapat melihat informasi tersebut. Database CMS iLab Apache Web Server Dispatcher
View Controller Model
User CMS Model News Model Practician Model Practicumname Model Practicumschedule Model Assistant Model Project Model Resource ... Controller News Controller Practician Controller Practicumname Controller Practicumschedule Controller Assistant Controller Project Controller Resource ... PAGE News PAGE Practician PAGE ... FILENAME index FILENAME add FILENAME edit FILENAME delete FILENAME ... FILENAME ...
U s e r K e y w o r d p e n c a r ia n (m e la lu i p a t h u r l) M e n d a p a tk a n I D m e n u ju u r l h a la m a n I D d a ri o b je k a ta u p a ra m e te r la in n y a A p a k a h o b j e k a d a d i d a t a b a s e ? R e d ire c t k e h a la m a n e rr o r M e m a s u k k a n ID y a n g d i re q u e s t k e p r o s e s C e k k e a m a n a n ( a p a k a h u s e r d i p e rk e n a n k a n m e la k u k a n a k s i ? ) R e d ir e c t k e h a la m a n e rr o r Y a T id a k T id a k L a k u k a n filte r in g u n t u k o b je k (s p a m filte r in g , H T M L fo r m a tt in g , d a ta v a lid a tio n P ro s e s d a t a y a n g d im a s u k k a n ( fo r m , p o s t, s e a r c h ) P a rs in g la y o u t b e r d a s a rk a n a k s i d a r i p r o s e s (h tm l, r s s , e t c ) G u n a k a n te m p la t e u n tu k ta m p ila n la y o u t m o d u l A m b il k o n t e n y a n g a k a n d ita m p ilk a n la k u k a n fi lte rin g d a n v a lid a s i t a m p ila n k o n te n m a s u k k a n k o n te n k e d a la m te m p la t e la y o u t k o n te n T a m p ila n a k h ir : la y o u t k o n t e n + la y u o t m o d u l Y a H a s il d ita m p ilk a n k e u s e r V a lid a s i r e q u e s t d a t a d a n a lo k a s i re s o u r c e ( d a ta b a s e ) M e m p r o s e s d a ta y a n g d im a s u k k a n M e n a m p il k a n d a ta M O D E L C O N T R O L L E R V I E W
Gambar 6. Diagram Alir SMKL iLab
5. Implementasi dan Pengujian
SMKL iLab diimplementasikan pada sebuah institusi pendidikan dengan dua belas laboratorium dan jaringan intranet yang mendukung kinerja manajemen data terdistribusi. Pengujian antarmuka SMKL iLab dilakukan dengan menggunakan
browser Mozilla Firefox, Opera,
Internet Explorer, dan Safari. SMKL iLab secara umum berjalan dengan baik pada saat diakses dengan
browser yang berbeda. SMKL iLab
berjalan sempurna pada browser Mozilla Firefox, meskipun memerlu-kan waktu rendering halaman lebih lama dibandingkan dengan browser lainnya. Penggunaan browser Mozilla Firefox direkomendasikan untuk menjamin semua fungsionalitas aplikasi berjalan dengan baik.
Pengujian instalasi sistem dilaku-kan dengan mengimplementasidilaku-kan SMKL iLab pada tiga buah sistem operasi yang berbeda, yakni Micro-soft Windows XP Service Pack II, Ubuntu Linux 6.0, dan OpenBSD 3.9.
Implementasi instalasi pada tiga buah sistem operasi dengan karakte-ristik yang berbeda menunjukkan perlunya penanganan yang berbeda pula. Beberapa hal yang menjadi syarat utama agar SMKL iLab bisa berjalan dengan baik pada semua sistem operasi yakni:
• Modul mod_rewrite harus aktif karena secara default framework
CakePHP menggunakan
mod_rewrite untuk mengakses seluruh direktori yang ada di dalamnya.
• Pustaka GD Library (untuk
rendering gambar) dan XSLT
(untuk rendering file
spreadsheet) harus diaktifkan
pada instalasi PHP.
• Penggunaan file .htaccess
diperbolehkan.
• Direktori app/config harus bisa diakses oleh sistem berbasis unix (Ubuntu dan OpenBSD). Dengan demikian, harus diubah terlebih dahulu hak aksesnya menjadi 755 atau 777 dengan perintah chmod melalui command prompt atau
konsole.
• Konfigurasi modul/plugins iBrowser pada pustaka TinyMCE dilakukan secara manual dengan menyesuaikan
path absolut instalasi iLab di
server tersebut.
Hasil pengujian interaksi user dan sistem memberikan gambaran bahwa antarmuka yang ditunjukkan oleh gambar 8 secara umum mudah digunakan (user friendly). Beberapa kelemahan dan kekurangan teknis akan disempurnakan sejalan dengan proses implementasi iLab di laboratorium yang memerlukan.
6. Kesimpulan
Perancangan dan Implementasi Sistem Manajemen Konten Laborato-rium (SMKL) terdistribusi diperke-nalkan pada paper ini. SMKL iLab memanfaatkan framework open
source CakePHP dan web service
XML-RPC untuk manajemen data terdistribusi. Pengujian dan imple-mentasi dilakukan dengan menjalan-kan sistem dengan berbagai macam
web browser yang berbeda, tiga buah
sistem operasi, dan survey pengguna untuk mengetahui respon dan saran perbaikan sistem. SMKL iLab diimplementasikan pada dua belas laboratorium dengan jaringan intranet yang mendukung manajemen data
mendatang, sistem ini dapat diguna-kan sebagai salah satu prototipe awal untuk sistem informasi laboratorium terdistribusi.
Daftar Pustaka
[1] Alan S, Ted P, Christine P, 2007,
Laboratory Needs Assessment
Benefits LIMS Implementation,
WaterWorld.
[2] Anderson, J.; & Masters, L.E. (ed), 2006, CakePHP
Programmer's Reference Guide.
USA: CakePHP Software
Foundation, Inc.
141 p.
[3] Cevasco, Fabio., 2006, An
Overview with CakePHP
Framework, [Online]
http://hades.phparch.com/ceres/p ublic/article/index.php/art::cakep hp::overview, Diakses pada tanggal 3 Januari 2007.
[4] Crandall, Karen S.; & Auping, Judith V, 1987, Laboratory
Information Management System
(LIMS)-A Case Study, USA,
National Aeronautics and Space Administration (NASA).
[5] Douglas, Robert T.; Little, Mike; & Smith, Jared W., 2006,
Building Online Communities
with Drupal, phpBB, and
Wordpress, USA, Apress.
[6] Fraser, Stephen R.G. 2002. Real
World ASP.NET: Building a
Content Management System.
USA: Apress. 405 p.
[7] Richards, R., 2006, Pro PHP
XML and Web Services, USA,
Apress.
[8] Siswoutomo, Wiwit, 2005, PHP
Enterprise: Kiat Jitu
Membangun Web Skala Besar.
Jakarta: Elex Media Komputindo. 356 h.