Click here to load reader
Upload
trinhhanh
View
221
Download
4
Embed Size (px)
Citation preview
Proceeding of IC-ITS 2015 e-ISBN:978-967-0850-07-8
International Conference on Information Technology & Society
8-9 June 2015, Kuala Lumpur, MALAYSIA
317
Penggunaan Object-Relational Database Management
System (ORDBMS)dalam Pembangunan Sistem
Permohonan Kod Penyelidikan dan Penulisan (SISKOD)
Shakirah Mohd Sofia, Siti Noor Ahmad
b, Khairil Ashraf Elias
c,
Ahmad Yani Ismaild
a ,b, c Fakulti Sains & Teknologi Maklumat, Kolej Universiti Islam Antarabangsa Selangor,
43600 Bandar Seri Putra, Selangor.
dPusat Pengurusan Penyelidikan, Kolej Universiti Islam Antarabangsa Selangor, 43600
Bandar Seri Putra, Selangor.
[email protected], [email protected], [email protected],[email protected]
Abstrak. Pembangunan sistem applikasi pelanggan–pelayan (client-server) sangat
bergantung dengan pangkalan data yang merupakan tempat penyimpanan data untuk
memberi perkhidmatan kepadapermintaan daripelbagaipelanggan (clients). Organisasi dan
pengurusan data menjadi lebih kompleks dan mencabar di dalam era elektonik maklumat.
Teknologi pangkalan data juga berkembang mengikut perubahan keperluan semasa dengan
mengambil kira konsep pengaturcaraan berorientasikan objek. Kajian ini akan
membincangkan penggunaan Object-Relational Database Management System (ORDBMS)
dalam pembangunan pangkalan data Sistem Permohonan Kod Penyelidikan dan Penulisan
(SISKOD).Teknologi berorientasikan objekmenjadi pilihan dalam mereka bentuk pangkalan
data dengan disokong oleh gambarajah konseptual daripada Unified Modeling Languange
(UML). Bahasa pengaturcaraan berorientasikan objek yang dipilih dalam pembangunan
sistem SISKOD ini adalah Python dan dibantu dengan kerangka kerja Django. Paradigma
pembangunan berorientasikanobjekmempunyaikelebihan kerana mempunyai cara yang
lebihsemulajadi untuk memodelkandunia sebenar (real world)ke dalam bentuk aplikasi.
Kata kunci: Konsep Berorientasikan Objek, Object-Relational DBMS (ORDBMS),
Pangkalan Data Berorientasikan Objek (OODB) dan SISKOD.
PENGENALAN
Pangkalan data yang utuh dan selamat amat diperlukan dalam pembangunan sistem
yang berskala besar. Aplikasi yang dinamik dan besar amat sukar dalam pengurusan dan
penyelenggaraan data.Kini, kebanyakkan aplikasi dibangunkan dengan menggunakan bahasa
pengaturcaraan berasaskan objek dan setiap objek tersebut dimanipulasikan melalui
pernyataan SQL yang terdapat didalamaplikasi perisian(Muralidhar Subramanian, 1999).
Object-Relational DBMS (ORDBMS) digunakanuntuk memenuhi cabaran ini bagi
menguruskan data yang kompleksdengan lebih efektif dan efisien.Di dalam kajian
inipenggunaan ORDBMS dalam pembangunan sistem SISKOD akan mengatasi masalah yang
wujud dalam RDBMS dan meningkatkan prestasi pembangunan pangkalan data (Hakan
Butuner, 2012).
SISKOD merupakan satu sistem permohonan kod bagi setiap aktiviti penyelidikan,
penulisanartikel dan penulisan buku para pensyarah di Kolej Universiti Islam Antarabangsa
Selangor (KUIS). Semua pensyarah boleh mendaftar dan mendapatkan kod bagi setiap
318
penyelidikan, penulisan dan pertandingan yang disertai melalui SISKOD ini.SISKOD
dibangunkan dengan menggunakan bahasa pengaturcaraan Phyton dan disokong oleh
kerangka Django menggunakanORDBMS sebagai satu data model yang mengambarkan objek
sebenar bagi data-data yang terlibat di dalam sistem ini.
KONSEP BERORIENTASIKAN OBJEK
Pangkalan data berorientasikan objek (OODB) menyimpan objek-objek selain daripada data
seperti nombor bulat (integer), jujukan huruf (string) dan nombor perpuluhan (real numbers).
Seperti Rajah 1 di bawah yang mengambarkan konsep orientasi objek bagi kelas Pensyarah
yang mempunyai atribut (attributes)dan methods tersendiri.
i. Kelas (class) - mengambarkan keadaan entiti objek sebenar.
ii. Atribut (attributes) – data yang mewakili sifat-sifat objek tersebut.
iii. Methods – menjelaskan kelakuan bagi objek dan juga dikenali sebagai procedures atau
functions.
Rajah 1. Perwakilan kelas (Class Representation)
Objek di dalam kelas dikenali sebagai classinstances. Setiap classinstancesmempunyai nilai
data yang tersendiri bagi setiap atribut tetapi masih boleh berkongsi nama atribut
(attributes)dan methods yang sama dengan classinstances yang lain(Connolly & Begg, 2015).
Pangkalan Data Berorientasikan Objek (OODB)
Di antara kelemahan yang wujud di dalam pengurusan pangkalan data hubungan (RDBMS)
adalahkurang mewakili entitidunia sebenar, kurang semantik dan kurang integriti(Connolly &
Begg, 2015). Faktor kelemahan ini menyebabkan pemilihan pembangunan SISKOD
memihak kepada konsep berorientasikan objek seperti pengkapsulan (encapsulation),
polymorphism dan pewarisan (inheritance) disokong dengan konseppengurusan pangkalan
Pensyarah
Attributes
Nama
Staff_No
Fakulti
Jantina
No.Telefon
Methods
KemaskiniProfil()
DapatKodPenyelidikan()
PaparKod()
Nama = Ahmad Naseer
Staff_No = 0421
Fakulti = Pusat Asasi
Jantina = Lelaki
No.Telefon = 0123457891
class instances
Nama = Siti Alia Mansor
Staff_No = 0500
Fakulti = FSTM
Jantina = Perempuan
No.Telefon = 0139876543
class definition
319
data berorientasikan objek (OODBMS)seperti mempunyai ciri-ciri ACID(Atomicity,
Consistency, Isolation, Durability) (Tiwari & Chopde, 2013).
Pangkalan data berorientasikan objek (OODB) mempunyai ciri yang bagus dalam
prosestransformasi, pemetaanobjek (object)yang jelas bagi gambaran konseptual
danpelaksanaan kelas (classes) yang tersusun di antara atribut (attributes) dan perlakuan
(behaviors).Di samping itu,OODBtidak mempunyai struktur yang tetap, di mana skemaboleh
ditetapkan, dikemaskini dandiperluaskan dengan lebihfleksibel. Oleh itu, ini memberiOODB
lebih kuat, dapat tingkatkan produktiviti, kualiti yang lebih baik dan lebihfleksibel (Hakan
Butuner, 2012).
Object-Relational DBMS (ORDBMS)
Secara umumnya, kelemahan yang terdapat dalam RDBMS dan diperkukuhkan lagi dengan
kemunculan OODBMS, telah diperkenalkan RDBMS dengan penambahan sifat-sifat
berorientasikan objek maka terhasil Object-Relational DBMS (ORDBMS).
Denganmembenarkan pengguna menggunakan kelebihan OODBMS yang mempunyai
produktiviti yang baik dan menyokong jenis data yang kompleks tanpa kehilangan hubungan
data. ORDBMS juga menyokong integrasi kedua-dua antara hubungan (relational) dan
hubungan-objek (object-relational). ORDBMS jugamenggunakan bahasa manipulasi yang
lebih dikenali sebagai structured query languange (SQL) yang mengandungi asas matematik
menggunakan hubungan algebra.
Kelebihan utama ORDBMS adalah kebolehan melanjutkan relational data model menjadi
boleh digunakansemuladan dikongsi(Gotseva, Naser, & Nimrawi, 2012). Digunakansemula
bermaksud pelayanDBMSakan melaksanakanfungsikawalankeserentakan (concurrency
control)berpusat, daripada iadikodkan bagi setiapaplikasi(Connolly & Begg,
2015).ORDBMSlebih cepat dan laju dalam menghasilkan sesuatu aplikasi transaksi dan juga
boleh menguruskan objek yang komplek dengan lebih efektif. Ia juga menawarkan ruangan
pembangunan yang lebih produktif dan mudah untuk diuruskan(Paruchuri, Krishna, &
Kumar, 2013).
Unified Modeling Languange (UML)
Unified Modeling Languange (UML) digunakan untuk tujuan ER Modeling (ERM) dan reka
bentuk konseptual pangkalan data. Di dalam pembinaan SISKOD, class diagram dipilih
sebagai gambarajah struktur di mana mengambarkan hubungan yang statik antara setiap
komponen. Manakala activity diagram dipilih sebagai gambarajah tingkah laku di mana
mengambarkan hubungan yang dinamik antara setiap komponen(Connolly & Begg, 2015).
Class Diagram Siskod
Class diagramatau ERM digunakan di dalam sesuatu pembangunan sistem adalah bertujuan
untuk menggambarkan rekabentuk pangkalan data secara konseptual model data. Konseptual
model datamerupakan satu set konsep yang menerangkan struktur pangkalan data dan setiap
perubahan yang berlaku dalam pangkalan data tersebut. Beberapa entiti telah
dikenalpastisemasa fasa analisis keperluan pembangunan sistem SSIKOD seperti di
pensyarah/staff, kategori, penyelidikan, artikel, buku, geran, prosiding dan pertandingan.
320
ERM boleh digambarkan di dalam pelbagai bentuk antaranya dengan menggunakan Rajah 2
terhasil daripada beberapabusiness rules yang wujud di dalam SISKOD ini, antaranya adalah
seperti berikut:
i. Seorang pensyarah/staffsebagai ketua boleh memohon kod bagi
penyelidikan/artikel/buku dan pertandingan di dalam sistem SISKOD.
ii. Permohonan kod penyelidikan, kod akan dihasilkan berdasarkan tahun penyelidikan,
jenis geran,kategori geran dan tiga digit nombor berurutan. Contoh kod penyelidikan
2014/P/GPIK/GPI/001 .
iii. Permohonan kod penulisan artikel/bukudan pertandingan, kod akan dihasilkan
berdasarkan tahun artikel diterbitkan , jenis penulisan, kategori penulisan dan tiga digit
nombor berurutan. Contoh kod penulisan jurnal dalaman berwasit 2014/
A/JU/JDW/001. Contoh bagi kod penulisan bab dalam buku 2014/B/BB-001.
iv. Pensyarah/staff boleh melihat kod yang telah dipohon daripada SISKOD.
Rajah 2 : Class Diagram SISKOD
MainCategory
PK main_category
description
Research
PK id_research
date_start_research date_end_research duration budget_approved id_app FK
Article
PK id_article
published_date journal_name publisher issn_isbn doc_image id_app FK
Book
PK id_book
published_date book_name publisher issn_isbn doc_image id_app FK
Competition
PK id_competition
competition_date competition_name organizer achievement doc_image id_app FK
UserProfile
PK id_user
name
Application
PK id_app
date title remarks status id_user FK main_category FK sub_category FK sub_sub_category FK
SubCategory
PK sub_category
description
SubSubCategory
PK sub_sub_category
description
has
has
has
has
has
has
has
apply
321
Activity Diagram Siskod
Activity Diagram merupakan model kawalan aliran satu aktiviti kepada satu aktiviti yang
lain.Secara umumnya, setiap activity diagram menggambarkan aliran sesuatu operasi,
langkah di dalam proses perniagaan atau keseluruhan proses perniagaan.
Rajah 3 menerangkan activity diagram bagi permohonan kod daripada sistem SISKOD.
Pensyarah daftar masuk ke dalam sistem SISKOD dan server akan mengesahkan nama
pengguna dan katalaluan pengguna. Setelah pensyarah mendaftar masuk ke dalam
sistem, pensyarah akan membuat permohonan kod mengikut pilihan kategori seperti
kategori 1 yang mewakili penyelidikan, penulisan artikel, penulisan buku dan
pertandingan. Manakala bagi kategori 2, tidak kesemua kategori 1 perlu memilih
kategori 2 seperti penulisan buku. Setiap kategori mempunyai sub kategori yang
berlainan, sebagai contoh penyelidikan mempunyai 5 jenis geran penyelidikan
sepertiGeran Penyelidikan Dan Inovasi KUIS (GPIK), Geran KUIS (GK), Geran Industri
(GI) Geran KPM (GKPM) dan Geran Agensi Islam(GAI). Sistem SISKOD akan
menjanakan kod apabila mendapat pengesahan permohonan daripada pihak RMC.
SISKOD
SISKOD SERVERPENSYARAH
LOG MASUK
MOHON KOD
PILIH KATEGORI 1
PILIH KATEGORI 2
PENGESAHAN RMC
KOD DIBERI
DISAHKAN
YA
YA
DISAHKAN
TIDAK
TIDAK
Rajah 3 : Activity Diagram SISKOD
PEMBANGUNAN PANGKALAN DATA
Pembangunan sistem SISKOD ini melibatkan dua persekitaran iaitu persekitaran
pembangunan (development environment) dan persekitaran pengeluaran (production
environment). Semasa persekitaran pembangunan (development environment) SISKOD,
pembangun membangunkanpangkalan data dengan menggunakan SQLite, menulis atucara
sistem dengan menggunakan bahasa pengaturcaraan Phyton di dalam persekitaran kerangka
kerja web Django 1.7.1. Phyton adalah satu bahasa pengaturcaraan sumber terbuka (open
source) di mana ia adalah percuma, mudah alih dan mudah digunakan. Phyton digunakan
322
dalam membangunkan kerangka Django. Kelebihan utama Phyton ini adalah menyokong
penulisan yang dinamik dan mempunyai pengurusan memori yang bagus dalam pengumpulan
maklumat secara automatik. Antara kelebihan lain bagi bahasa pengaturcaraan ini adalah
sintak yang mudah dipelajari serta mempunyai standard library yang besar. Django
merupakan peringkat tertinggi Phyton dalam merangka kerja Web yang mengalakkan
pembangunan yang cepat, bersih dan reka bentuk pragmatik. Dibangunkan oleh pembangun
projek yang berpengalaman yang memfokuskan kepada kerumitan dalam pembangunan web.
Cepat, selamat dan fleksibel adalah antara yang dijanjikan oleh kerangka kerja Django.
https://www.djangoproject.com/
Di dalam persekitaran pengeluaran(production environment) SISKOD, pembangun
membangunkan pangkalan data dengan menggunakanMySQL 5.1 dan pelayan Apache HTTP
Server 2.2.15. MySQL berfungsi untuk menyimpan data dalam bentuk yang lebuh
berstruktur. Modul tambahan iaitu mod_wsgi telah dipasang bagi membolehkan Apache
memproses bahasa pengaturcaraan Python yang digunakan dalam aplikasi SISKOD.
Rajah 4 menunjukkan atribut (attributes)bersama-sama jenis data (data types) yang terdapat
di dalam objek iaitu lebih dikenali sebagai Rsiskod_application table.
Rajah 4 :Senarai atribut(attributes) di dalam Rsiskod_application table
Rajah 5 : Based class bagi Class Application
323
Rajah 6 : Derived class bagi Class Research, Class Article dan Class Book
Rajah 5 merupakanbased class bagi class Applicationdi mana maklumat tentang permohonan
penyelidikan, penulisan artikel dan penulisan buku akan terdapat pada kelas tersebut.
Manakala di dalam Rajah 6merupakan derived class bagi Class Research, Class Article dan
Class Book. Derived class akan mewarisi atribut (attributes) yang terdapat di dalam based
class dan juga atribut (attributes) tersendiri.
KESIMPULAN
Sejak kebelakangan ini, kajian berkaitan dengan pembangunan aplikasi sistem dan
penggunaan teknologi pangkalan data berorientasikan objek berkembang dengan lebih cepat
dan pesat. Kelebihan yang terdapat dalam konsep berorientasikan objek dan disokong dengan
bahasa pengaturcaraan berorientasikan objek dapat menjadikan data yang komplek dapat
diuruskan oleh ORDBMS dengan lebih laju dan cepat berbanding RDBMS. Di harap dengan
kajian yang dilakukan ini dapat membantu atau menyumbang kepada penyelidik di luar sana.
RUJUKAN
1. Connolly, T., & Begg, C. (2015). Database Systems A Practical Approach to Design,
Implementation and Management, 6 Edition. England: Pearson Education Limited.
2. Gotseva, D., Naser, L., & Nimrawi, M. (2012). Comparison Between Object-Relational
and Object-Oriented Databases. RECENT, 13(3), 291–295.
3. Hakan Butuner. (2012). Advantages of Object-Oriented Over Relational Databases on
Real-Life. Research Journal of Economics, Business and ICT, 5, 1–4.
4. Muralidhar Subramanian, V. K. (1999). Performance Challenges in Object-Relational
DBMSs. Bulletin of the Technical Committee on Data Engineering, 22(2), 27–31.
324
5. Paruchuri, A., Krishna, C. P., & Kumar, V. S. D. (2013). Applying Object Oriented
Concepts to RDBMS, 2(3), 578–583.
6. Tiwari, S. K., & Chopde, P. N. R. (2013). Comparative Analysis of Object Oriented
Database and Relational database. International Journal of Research in Computer
Engineering & Electronics, 2(5), 1–10.
7. M.Wang (2011). Solving Relational Database Problems with ORDBMS in an Advanced
Database Course. Information Systems Education Journal (ISEDJ), 9(4), 80-89.