tssN
208742s6
SMATIKA
Jurnal
STIKI
Informatika
Jurnal
Volume0l
Nomor
01 Tahun 201 ISlstem
lnformasi
Peramalan
PersediaanObat
padaApotik
Sidoarjo dengan
MetodeSlinter
RudySetiawanNordrassil ProjectWeb
Pembangkit
DDLdan
Kode SumberAplikasi
BasisData
Go Frendi Gunawan,TriY Evelina, Hendro Suprayogi
Perband in ga n Algo
ritma
Sca nli ne danAlgoritma
Ray Tracin gterhada
pAkurasi
Pencahayaan padaPiranti Lunak3ds
Max
Eva
Handriantini
Perbandingan
Reduksi Data Menggunakan Transformasi Cosinus Diskrit dan
Analisis Komponen Utama
Laila lsyriyah, Evy PoerbaningtyasDesain
Tutorial lbadah Haji
BerbasisMultimedia
sebagaiPanduan
bagiCalon
JamaahHaji
Anu
ng
Adhi Nug raha, Eva Handriyantini
Lembaga Penelitian &
Pengabdian kepada
Masyarakat
SEKOIAII
TINGGI
INFOruUAflI{A
&
KOMPIJTEK INDONESIA
lssN 2087-0256
SMATII(A
Jurnal
STIKI
lnformatika
Jurnal
Volume 01,Nomor0l
Tahun 2011Yayasan
*"**Iitiln;J,-;*
*
Nusantara Penasehat:Ketua STIKI
,
Pembina:Pembantu Kerua Bidang Akademik STIKI
Mitra
BestariProf. Dr. Iping Supriana Suwardi (tlrstitut Teknologi Bandung) Prof. Dr. Ir. Kuswara setiawan" MT (universitas pelita Harapan surabaya) Dr.
k
Joko Lianto Buliati, M.sc (Institut Teknologil0
Nopember,surabaya)Dr. Setyawan P- Sakti, Ing. M.Eng (Universitas Brawijaya) Ketua Redaksi:
Tii
Y. Evelinq SE,MM
SectionEditor:
Jozua F. Palandi, M.Kom Copy,Editor
&
proof Reader:Zusana E. Pudyastuti, SS
,,
,
L-ayoul,pditgtSaiful yahya, S.Sn Ihta, Usaha /
Administrasi:,
tndah:Wulandari,,SE ,
SEKRETARIAT
Lembagq,Penelitian,& Pengabdian t<epaOa Masyarakat Sekolah ringgi
tgfrgatl5i
_{
I:yl1qr
indtnesia(sTm)
- rraatansSMATIKAJurnal
JL Raya
Tidar
100 Malang 65146TeL +62-341 564006, 560823 Fax. +62-341562525 Website: www.stiki.ac.id E-mail:
jurnal@tiki.ac.id
J
lssN
2087-0256
Volume
01,
Nomor
01
Tahun
201
1DAFTAR
TSI
Sistem lnformasi Peramalan Persediaan Obat pada
ApotikSidoarjo
denganMetodeWnter
RudySetiowonNordrassll Project:Web Pembangkit DDL dan Kode Sumber Aplikasi
Basis Data
8-15
Go Frendi Gunawan, Tri Y. Evelina, Hendra Suprayogi
Perbandingan
Algoritma
Scanline danAlgoritma
RayTracingterhadap
Akurasi Pencahayaan pada PirantiLunak 3ds Max
16-23
EvaHandriyantini
perba ndinga n Red uksi Data Mengg u naka n Transformasi Cosi nus Diskrit da n
Analisis Komponen
Utama
24'34
Laila lsyriyah, Evy Poe rbani ngtyas
Desain Tutorial
lbadah
Haji BerbasisMultimedia
sebagai Panduan bagiCalon Jamaan Haji ... 35
-40
Anung
Adhi Nug raha, Eva Handriyantini1-7
Undangan Makalah
PENGANTARREDAKSI
STIKI
Informatika
Jurnal(SIVIATIKA
Jurnal) merupakanjurnal
yangditerbitkan
otehLembaga
Penetitian
&
Pengabdian kepada lvlasyarakat
(LPPM), Sekolah
Tinggi
Informatika&
Komputer Indonesia(STIKI)
Idalang.Pada
edisi
ini,
SMATIKA
Jurnal menyajikan
5
Qima)
naskahdalam
bidang
SistemInformasi, data
base, pengolahancifa
danmultimedia.
Redaksi mengucapkan terimakasih dan
selamat kepada Pemakalahyang diterima dan diterbitkan
dalam edisi ini,
karena telah memberikankonfibusi
penting pada pengembangan ilmu danteknologi.
Sejumlahpakar
dari
luar
STIKI (Mitra
Bestari)telah
memberikankontribusinya
yang sangat berharga dalam menilai naskah yangdimuat.
Urtuk
itu
Redaksi menyampaikanbanyak terima kasih kepada para Penilai @eveiwer) tersebut.
Pada kesempatan
ini,
Redaksikembali
mengundangdan
memberi kesempatan kepadapam Peneliti
di
bidang Teknologi Informasi
untuk
mempublikasikan
hasil-hasil penelitiannyamelalui jurnal
ini.
Bagr para pembaca yang berminag Redaksi memberikesempatan untuk berlangganan.
Aktrirnya Redaksi berharap semoga
artikel-artikel
dalamjurnal ini
bermanfaatbagi
para pembaca khususnya danbagi
perkembanganilmu
danteknologi
di
bidang
Teknologi Informasi pada umumnya.Nordrassil Project : Web Pembangkit DDL dan Kode Sumber
Aplikasi Basis Data
Go Frendi Gunawan, Tri Y. Evelina, Hendra Suprayogi,
Program Studi Teknik Komputer
Sekolah Tinggi Informatika dan Komputer Indonesia
Email: frendi@stiki.ac.id, trievelina@stiki.ac.id, highlander@stiki.ac.id
ABSTRAK
Nordrassil Project adalah web yang dapat menciptakan DDL maupun kode sumber aplikasi basis data. Tujuan dari penelitian ini adalah untuk membantu programmer, atau bahkan orang awam, untuk dapat merancang dan membuat sendiri DDL dan kode aplikasi basis data secara mudah, cepat dan tepat.
Nordrassil Project juga menyediakan fasilitas untuk menggunakan template script sendiri berbasis javascript dengan sedikit tambahan fungsi API untuk men membangkitkan file, sehingga pengguna dapat menentukan sendiri kode skema basis data dan kode aplikasi basis data umum yang akan di generate oleh template script buatan mereka. Pengembangan Nordrassil Project tidak hanya akan bergantung pada satu pihak saja. Semakin variatif template script yang ada pada Nordrassil Project, maka akan semakin banyak pula kemungkinan jenis aplikasi basis data jenis skema basis data yang dapat dibuat.
Kata kunci : Nordrassil Project, Web, DDL, Kode Sumber Aplikasi Basis Data 1. PENDAHULUAN
Permintaan akan adanya aplikasi berbasis data telah meningkat dengan pesat. Mulai dari aplikasi desktop, sampai aplikasi web. Sesuai dengan kebutuhan dari pengguna. Oleh sebab itu, para praktisi teknologi informasi harus sanggup menangani permintaan yang demikian besar. Namun seringkali banyak waktu yang dihabiskan untuk melakukan hal-hal yang sebenarnya bisa diotomatisasi, seperti menulis perintah SQL untuk
select, insert, update dan delete. Atau menata
tampilan antar muka agar terlihat rapi. Penggunaan alat bantu yang dapat mengotomatisasi hal-hal tersebut akan sangat membantu praktisi teknologi informasi untuk menangani permintaan pengguna.
Pembuatan suatu aplikasi berbasis data tak lepas dari rancangan antar muka pengguna, rancangan bisnis dan rancangan basis data. Ketiga proses tersebut sebenarnya memiliki pola yang mirip dan berulang. Pola-pola yang mirip dan berulang itu sebenarnya akan dapat dilakukan dengan lebih cepat dan lebih bebas dari kesalahan jika dilakukan oleh komputer yang memiliki tingkat akurasi cukup tinggi, daripada dilakukan oleh manusia. Untuk meminimalkan kesalahan yang dilakukan oleh manusia, diciptakan sebuah web yang disebut Nordrassil Project.
Web tersebut dapat menciptakan DDL maupun kode sumber aplikasi basis data yang selanjutnya akan disebut sebagai kode sumber. Proses pembangkitan kode sumber akan didasarkan pada struktur yang telah didefinisikan oleh user, sesuai aturan yang telah disediakan sistem. Selain itu, proses pembangkitan kode sumber juga didasarkan pada pola yang terdefinisikan dalam
template script. Template script sendiri tertulis
dalam bentuk gabungan antara html dan javascript serta fungsi API yang disediakan oleh sistem.
Tujuan dari penelitian ini adalah membuat sistem terprogram (prototype system) yang memiliki akurasi tinggi untuk membantu programmer, atau bahkan orang awam, untuk dapat merancang dan membuat sendiri kode skema basis data dan kode aplikasi basis data secara mudah, cepat dan tepat. Bagi pengguna dari kalangan akademisi atau praktisi teknik informatika,
Nordrassil Project juga menyediakan fasilitas
untuk menggunakan template script sendiri berbasis javascript dengan sedikit tambahan fungsi API untuk men-generate file. Dengan demikian, pengguna dari kalangan akademisi maupun praktisi teknik informatika dapat menentukan sendiri kode skema basis data dan kode aplikasi basis data umum yang akan di generate oleh template script buatan mereka. Sementara itu, pengguna dari kalangan awam dapat menggunakan template script yang dibuat oleh kalangan akademisi dan praktisi teknik informatika.
Selain itu, pengembangan Nordrassil Project diharapkan tidak hanya akan bergantung pada satu pihak saja. Semakin variatif template script yang ada pada Nordrassil Project, maka akan semakin banyak pula kemungkinan jenis kode sumber yang dapat dibuat.
Dalam uji coba yang dilakukan, digunakan
template script goFrendi.simpleMySQL untuk
membangkitkan DDL MySQL dan template script goFrendi.simpleDelphi untuk membangkitkan kode sumber aplikasi basis data dalam bahasa pemrograman Embarcadero Delphi 2010.
Selanjutnya untuk ruang lingkup penelitian ini adalah kode sumber program yang digenerate memiliki kapabilitas untuk insert, update dan
delete, dan menampilkan data secara sederhana,
bergantung pada kerumitan script template yang digunakan. Kode Skema Basis Data yang di generate mencakup tabel, primary key, foreign key,
unique key, serta constraint NOT NULL dan
AUTO INCREMENT, bergantung pada kerumitan script template yang digunakan.
Nordrassil Project ini sangat membantu
proses pembelajaran dalam mata kuliah yang berkaitan dengan sistem berbasis data agar pemateri dapat langsung menunjukkan konsep yang dimaksud secara cepat dan tepat, tanpa perlu melakukan kegiatan pemrograman.
Membantu praktisi teknologi informasi dan kalangan awam untuk dapat membuat sistem aplikasi basis data secara cepat dan tepat, sehingga dapat berkonsentrasi pada hal-hal lain.
2. TINJAUAN PUSTAKA Basis Data
Menurut Kusrini, basis data adalah kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu. Ada juga yang mendefinisikan basis data adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.
Ada dua macam kode yang dapat digunakan dalam mengolah basis data
Data Definition Language (DDL), merujuk pada kumpulan perintah yang dapat digunakan untuk mendefinisikan objek – objek basis data, seperti membuat sebuah tabel basis data atau indeks primer atau sekunder.
Data Manipulation Language (DML), mengacu pada kumpulan perintah yang dapat digunakan untuk melakukan manipulasi data, seperti penyimpanan data ke suatu tabel, kemudian mengubahnya dan menghapusnya atau hanya sekedar menampilkannya kembali.
Aplikasi Basis Data
Aplikasi basis data adalah aplikasi yang menyediakan sejumlah menu yang sesuai dengan berbagai aktivitas nyata yang memang dilakukan oleh para pemakai akhir (end-user). Selanjutnya, pilihan menu user ini akan diterjemahkan oleh aplikasi tersebut menjadi sebuah operasi basis data elementer yang memang dapat dikenali/dikerjakan oleh DBMS.
Client-Server
Client-Server adalah arsitektur jaringan yang memisahkan client (biasanya aplikasi yang menggunakan GUI) dengan server. Masing-masing client dapat meminta data atau informasi dari server. (Reese, 2000). Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa perbedaan karakteristik yaitu :
1. Servis (layanan)
Hubungan antara proses yang berjalan pada mesin yang berbeda
Pemisahan fungsi berdasarkan ide layanannya.
Server sebagai provider, client sebagai konsumen
2. Sharing resources (sumber daya)
Server bisa melayani beberapa client pada waktu yang sama, dan meregulasi akses bersama untuk share sumber daya dalam menjamin konsistensinya.
3. Asymmetrical protocol (protokol yang tidak simetris )
Many-to-one relationship antara client dan server.Client selalu menginisiasikan dialog
melalui layanan permintaan, dan server menunggu secara pasif request dari client. 4. Transparansi lokasi
Proses yang dilakukan server boleh terletak pada mesin yang sama atau pada mesin yang berbeda melalui jaringan.Lokasi server harus mudah diakses dari client.
5. Mix-and-Match
Perbedaan antara platform server dan platform client
6. Pesan berbasiskan komunikasi
Interaksi server dan client melalui pengiriman pesan yang menyertakan permintaan dan jawaban.
7. Pemisahan interface dan implementasi
Server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang diterbitkan tidak berubah.
Tipe Client-Server 1. File Servers
File server vendors mengklaim bahwa mereka pertama menemukan istilah client-server.
Untuk sharing file melalui jaringan 2. Database Servers
Client mengirimkan SQL requests sebagai pesan pada database server,selanjutnya hasil perintah SQL dikembalikan
Server menggunakan kekuatan proses yang diinginkan untuk menemukan data yang diminta dan kemudian semua record dikembalikan pada client.
3. Transaction Servers (Transaksi Server)
Client meminta remote procedures yang terletak pada server dengan sebuah SQL database engine.
Remote procedures ini mengeksekusi sebuah grup dari SQL statement
Hanya satu permintaan / jawaban yang dibutuhkan untuk melakukan transaksi 4. Groupsware Servers
Dikenal sebagai Computer-supported cooperative working
Manajemen semi-struktur informasi seperti teks, image, bulletin boards dan aliran kerja
Data diatur sebagai dokumen 5. Object Application Servers
Aplikasi client/server ditulis sebagai satu set objek komunikasi
Client objects berkomunikasi dengan server objects melalui Object Request Broker (ORB)
Client meminta sebuah method pada remote object
6. Web Application Servers (Aplikasi Web Servers)
World Wide Web adalah aplikasi client server yang pertama yang digunakan untuk web.
Client dan servers berkomunikasi menggunakan RPC seperti protokol yang disebut HTTP.
PHP
PHP (akronim dari PHP Hypertext Preprocessor) yang merupakan bahasa pemrograman berbasis web yang memiliki kemampuan untuk memproses data dinamis dan dapat diembed ke HTML (http://php.net). PHP dikatakan sebagai sebuah server-side embedded
script language artinya sintaks-sintaks dan perintah
yang diberikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server.
Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam hal ini client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server (dapat dilihat pada gambar dibawah). Ketika menggunakan PHP sebagai
server-side embedded script language maka server
akan melakukan hal-hal sebagai berikut :
Membaca permintaan dari client/browser
Mencari halaman/page di server
Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada halaman/ page.
Mengirim kembali halaman tersebut kepada client melalui internet atau intranet.
JavaScript
JavaScript adalah bahasa skrip yang populer di
internet dan dapat bekerja di sebagian besar penjelajah web populer. JavaScript pertama kali dikembangkan oleh Brendan Eich dari Netscape dibawah nama Mocha, yang nantinya namanya diganti menjadi LiveScript, dan akhirnya menjadi JavaScript(http://www.magicaldimension.com/scie ncehistory/ 5.html). JavaScript bisa digunakan untuk banyak tujuan, misalnya untuk membuat efek rollover baik di gambar maupun teks, dan yang penting juga adalah untuk membuat AJAX.
JavaScript adalah bahasa yang digunakan untuk
AJAX. ExtJS
Librari extjs adalah librari JavaScript yang
dikembangkan untuk memudahkan pembuatan user
interface. Librari ini awalnya adalah extension dari
librari Yahoo User Interface (YUI/yui), awalnya dikenal sebagai yui-ext (http://www.yui-ext.com). extjs adalah nama baru dari yui-ext. extjs dikembangkan pertama kali oleh Jack Slockum, sebagai librari khusus dari yui.
Kini extjs bukanlah librari khusus untuk yui saja, tetapi merupakan librari JavaScript yang bisa digunakan oleh banyak librari dan framework lainnya, seperti JQuery, Prototype, atau
Scriptaculous (extension dari Prototype).
Pemrogram web dapat dengan mudah membuat tampilan aplikasi berbasis web. tampilan tidak seperti halaman HTML, tetapi lebih mirip seperti aplikasi berbasis Windows. Librari extjs sangat memudahkan kita untuk membuat tampilan, dan menggunakan teknik pemrograman AJAX, sehingga aplikasi berbasis web yang dihasilkan menjadi seperti aplikasi Windows pada umumnya. Lisensi
Librari extjs ini memiliki lisensi:
Lisensi komersial
Lisensi komersial memiliki skema harga berdasarkan jumlah pengembang web yang akan mengembangkan aplikasi dengan menggunakan extjs. Suatu perusahaan dapat membeli lisensi komersial ini, dari seharga $249 untuk 1 developer, $850 untuk 5 developer, dan sekitar $2000 untuk 25 developer.
Lisensi Opensource
Lisensi opensource LGPL disediakan oleh tim extjs, jika ingin mengembangkan aplikasi yang memanfaatkan librari ini, dan akan dilepaskan sebagai aplikasi opensource juga yang memiliki lisensi LGPL. Akan tetapi extjs juga bisa diperoleh secara cuma-cuma, apabila aplikasi yang dikembangkan ini digunakan secara komersial, tetapi sebagai developer tidak melakukan layanan dukungan atas aplikasi yang dihasilkan.
4. METODOLOGI
Metodologi yang digunakan adalah studi literatur dan uji coba. Studi literatur melingkupi pembelajaran mengenai materi-materi terkait, seperti yang telah dijelaskan sebelumnya. Uji coba meliputi perancangan sistem yang memiliki kapabilitas untuk memenuhi tujuan, pengkodean program menggunakan editor SciTe, dan uji coba yang dilakukan pada sistem operasi ubuntu 10.4. 5. HASIL DAN PEMBAHASAN
Nordrassil Project di bangun menggunakan PHP dan framework extjs. Prinsip utama Nordrassil Project adalah membuat file-file kode sumber berdasarkan struktur yang dikehendaki dan pola template script yang dikehendaki user. Proses pembangkitan kode sumber tersebut dapat digambarkan sebagai berikut:
Template Script + Struktur --> Kode Sumber
Penggunaan Nordrassil Project sendiri dapat dilakukan secara stand-alone, maupun online (terkoneksi pada jaringan). Karena Nordrasil Project adalah sebuah sistem web, maka untuk menggunakan Nordrassil Project, user harus memiliki web browser (dalam hal ini disarankan untuk menggunakan mozilla firefox versi 3.5.2 ke atas, walaupun Nordrassil Project dapat pula bekerja pada mozilla firefox versi yang lebih rendah, atau bahkan pada web browser lain. Pada penggunaan stand-alone, user membutuhkan server apache, interpreter php dan server MySQL lokal. Untuk itu, user dapat menginstall terlebih dahulu program semacam XAMPP yang didalamnya telah mencakup semua prasyarat di atas. Sedangkan untuk penggunaan secara online, user harus memiliki akses jaringan ke server tempat Nordrassil Project terinstall.
Aliran data yang terjadi pada Nordarssil Project, secara lengkap dapat digambarkan dalam konteks diagram berikut:
Gambar 1. Aliran Data pada Nordarssil Project
Proses di atas dapat dibagi menjadi dua proses besar. Yaitu proses setup dan proses penggunaan. Proses setup adalah proses yang harus dilakukan setelah proses intallasi, agar Nordrassil Project dapat digunakan dengan baik
Secara khusus, ada dua proses yang dapat digolongkan sebagai proses setup. Proses pertama adalah proses registrasi script yang harus dilakukan oleh administrator. Template Script yang akan diregistrasikan terletak dalam sebuah direktori dengan isi sebagai berikut:
File register.php
Berfungsi untuk meregistrasikan keseluruhan script ke dalam database nordrassil, sehingga nantinya user dapat memilih script mana yang akan digunakan.
File main
Merupakan inti script. Di dalamnya dapat diletakkan kode-kode html dan kode-kode javascript.
Direktori res
Berfungsi sebagai tempat diletakkannya file-file resource (seperti file gambar atau binary) yang tidak mungkin atau sulit di-generate menggunakan javascript.
Untuk meregistrasikan script, administrator harus terlebih dahulu mengunggah atau menyalin direktori berisi template script baru ke dalam direktori script, bergantung pada letak instalasi Nordrassil Project. Jika Nordrassil Project diletakkan pada server berbasis UNIX, maka direktori template script yang baru.harus diletakkan di /var/www/nordrassil/script/ (atau disesuaikan dengan letak instalasi Nordrasil Project). Sedangkan jika Nordrassil diletakkan pada server XAMPP yang ada di komputer lokal, maka direktori template script yang baru harus diletakkan di C:\xampp\htdocs\nordrassil\script\ (atau disesuaikan dengan letak instalasi Nordrasil Project). Kemudian administrator harus menjalankan file register.php dari sisi server (dapat dilakukan dengan bantuan browser). Hal tersebut dapat dilakukan dengan cara mengakses alamat url:
http://NamaServer/nordrassil/script/DirektoriTemp lateScriptBaru/register.php
Di mana NamaServer adalah nama atau IP server. Untuk penggunaan stand alone dapat digunakan “localhost” atau alamat IP “127.0.0.1”. Sedangkan DirektoriTemplateScriptBaru adalah nama direktori template script baru. Alamat di atas tidaklah mutlak, tergantung pada kebijakan yang ditetapkan oleh pengelola server. Berikut adalah aliran data yang terjadi saat administrator meregistrasikan template script baru:
Gambar 2. Aliran Data Registrasikan Template Script Baru
Selain registrasi template script baru, juga harus dilakukan registrasi user. Proses ini dapat dilakukan oleh user melalui menu sign-up yang telah disediakan. Proses ini sangatlah sederhana, layaknya saat registrasi accouunt di yahoo mail ataupun gmail. Aliran data yang terjadi di sini adalah sebagai berikut:
Gambar 3. Aliran Data Registrasi User Setelah proses-proses setup di atas selesai dilakukan, maka user yang telah terregistrasi dapat melakukan pendefinisian struktur dan pembangkitan kode sumber.
Proses pendefinisian struktur dapat dilakukan dengan cara membuat atau menghapus node dan mengisi attribute dari setiap node yang disajikan dalam bentuk struktur pohon. Aliran data yang terjadi pada saat pendefinisian struktur sebagai berikut:
Gambar 4. Aliran Data Pendefinisian Struktur Setelah proses pendefinisian struktur selesai, maka
user dapat membangkitkan kode sumber berdasarkan script yang sudah ada. Aliran data yang terjadi pada proses pembangkitan kode sumber adalah sebagai berikut:
Gambar 5. Aliran Data Proses Pembangkitan Kode Sumber
4. HASIL DAN PEMBAHASAN
Ada dua template script yang diuji coba di sini, yakni template script goFrendi Simple MySQL
Generator 0.0.0.1 untuk mengenerate kode skema
database dan template script goFrendi Simple
Delphi Generator 0.0.0.1 untuk mengenerate kode
sumber aplikasi basis data untuk Embarcadero Delphi 2010. Sedangkan struktur yang digunakan adalah struktur sederhana yang terdiri dari sebuah database dengan tiga tabel (employee, activity dan
project) dan aplikasi sederhana yang terdiri dari 3
form, yakni form utama, form employee dan form project. Struktur tersebut diciptakan melalui proses pendefinisian struktur yang dapat digambarkan dengan antar muka sebagai berikut:
Gambar 6. Antar Muka Pendefinisian Struktur Struktur tersebut sebenarnya tersimpan dalam tabel node dan tabel attr, untuk selanjutnya di ekspor dalam format JSON (javascript object notation) oleh sistem, sehingga proses pembuatan script dapat berjalan dengan lebih mudah.
Setelah proses pendefinisian struktur selesai, maka user dapat memilih script yang akan digunakan. Proses pemilihan script dapat diilakukan dengan melakukan klik pada tombol Execute Script. Script yang ada kemudian dimunculkan dalam sebuah jendela sederhana.
Gambar 7. Jendela Script
Kemudian user dapat memilih script template yang akan dijalankan dengan cara mengklik salah satu link yang telah disediakan. Proses pembuatan kode sumber akan berlangsung secara otomatis, tergantung pada isi script template. Jika diperlukan, developer dapat membuat template script yang memiliki kemampuan untuk berinteraksi dengan user, misalnya untuk menanyakan ODBC Driver yang digunakan dalam pembangkitan kode program. Hal tersebut dapat dilakukan dengan perintah “prompt” yang ada pada javascript. Setelah semua proses ini selesai, user akan mendapatkan sebuah link untuk mengunduh kode sumber yang dikehendakinya.
Gambar 8. Link Kode Sumber
Hasil pengunduhan adalah sebuah file bertipe zip file, yang berisi file kode skema basis data maupun aplikasi basis data. Jika yang dibangkitkan adalah file kode skema basis data, maka file tersebut harus diimport ke dalam RDBMS yang bersangkutan. Sedangkan jika yang dibangkitkan adalah kode sumber program, maka harus dilakukan proses kompilasi sesuai dengan kompiler yang bersangkutan.
Pada uji coba, digunakan RDBMS MySQL dan kompiler Embarcadero Delphi Delphi 2010 sesuai dengan template script yang telah dipilih sebelumnya. Hasil Kompilasi program terdiri dari tiga buah form. Form pertama adalah form utama yang memiliki sebuah menu dengan dua buah sub menu (sesuai dengan yang telah didefinisikan
dalam struktur). Jika sub menu pertama (Employee) diklik maka akan muncul form employee, sedangkan jika menu project diklik maka akan muncul form project. Berikut adalah tampilan dari form utama:
Gambar 9. Form Utama
Form kedua adalah form Employee yang memiliki kapabilitas untuk insert, update dan delete data. Berikut adalah tampilan form kedua:
Gambar 10. Form Employee
Form terakhir adalah form Project yang memiliki kapabilitas untuk insert, update, delete serta hubungan master-detail dan lookup. Hubungan master detail akan terlihat saat user berpindah dari data satu data project ke data project yang lain, maka data activity yang terkait juga akan berubah. Sementara fasilitas lookup akan terlihat saat user memilih data employee yang akan dimasukkan dalam tabel activity
Gambar 11. Form Project Kode database yang ter generate adalah :
DROP DATABASE IF EXISTS`Example`;
CREATE DATABASE `Example` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; USE `Example`; SET FOREIGN_KEY_CHECKS=0; -- --- -- Table structure for employee -- ---
DROP TABLE IF EXISTS `employee`; CREATE TABLE `employee` (
`EMPNO` VARCHAR(50) NOT NULL DEFAULT '' ,
`NAME` VARCHAR(50) NOT NULL DEFAULT '' ,
`ACTIVE` TINY INT(50) NOT NULL DEFAULT '' ,
`BIRTHDAY` DATETIME(50) NOT NULL
DEFAULT '' ,
PRIMARY KEY (`EMPNO`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Kode program yang ter generate adalah:
fProjectForm.pas unit fprojectForm; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ADODB,
Dialogs, Menus, Provider, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, DB;
type TprojectForm = class(TForm) menu: TMainMenu; tblproject: TADOTable; groupBoxproject: TGroupBox; dbGridproject: TDBGrid; dbNavigatorproject: TDBNavigator; panelproject: TPanel; dsproject: TDataSource; tblprojectPROJNO: TStringField; lblprojectPROJNO: TLabel; edtprojectPROJNO: TDBEdit; tblprojectNAME: TStringField; lblprojectNAME: TLabel; edtprojectNAME: TDBEdit; tblactivity: TADOTable; groupBoxactivity: TGroupBox; dbGridactivity: TDBGrid; dbNavigatoractivity: TDBNavigator; panelactivity: TPanel; dsactivity: TDataSource; tblactivityEMPNAME: TStringField; lblactivityEMPNAME: TLabel; edtactivityEMPNAME: TDBLookupCombobox; tblLookupactivityEMPNOemployeeNAME: TADOTable; tblLookupactivityEMPNOemployeeNAMEEMPNO: TStringField; tblLookupactivityEMPNOemployeeNAMENAME: TStringField; dsLookupactivityEMPNOemployeeNAME: TDataSource; PhysicalTblactivityEMPNAME: TStringField; tblactivityPROJNAME: TStringField; lblactivityPROJNAME: TLabel; edtactivityPROJNAME: TDBLookupCombobox; tblLookupactivityPROJNOprojectNAME: TADOTable; tblLookupactivityPROJNOprojectNAMEPROJNO: TStringField; tblLookupactivityPROJNOprojectNAMENAME: TStringField; dsLookupactivityPROJNOprojectNAME: TDataSource; PhysicalTblactivityPROJNAME: TStringField; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var projectForm: TprojectForm; implementation {$R *.dfm} uses AssignmentDataModule;
procedure TprojectForm.FormCreate(Sender: TObject); begin
AppDataModule.ConnExample.Connected:=true; AppDataModule.ConnExample.Connected:=true; tblproject.Active := true; tblactivity.Active := true; tblLookupactivityEMPNOemployeeNAME.Active := true; tblLookupactivityPROJNOprojectNAME.Active := true; end; end. 6. KESIMPULAN
Nordrassil Project adalah web yang dapat menciptakan DDL maupun kode sumber aplikasi basis data. Tujuan dari penelitian ini adalah untuk membantu programmer, atau bahkan orang awam, untuk dapat merancang dan membuat sendiri DDL dan kode aplikasi basis data secara mudah, cepat dan tepat. Nordrassil Project juga menyediakan fasilitas untuk menggunakan template script sendiri berbasis javascript dengan sedikit tambahan fungsi API untuk men membangkitkan file, sehingga pengguna dapat menentukan sendiri kode skema basis data dan kode aplikasi basis data umum yang akan di generate oleh template script buatan mereka.
Pengembangan Nordrassil Project ke depan akan lebih mudah dibandingkan produk- produk pembangkit source code sejenis, karena template script dapat ditulis menggunakan javascript yang umum
digunakan serta mudah dipelajari oleh banyak programmer. Selanjutnya saran bagi peneliti lain yang akan mengembangkan penelitian:
1. Template Script yang pernah dibuat
hendaknya diunggah ke suatu media penyimpanan di internet sehingga semua orang dapat menggunakannya.
2. Diperlukan usaha dan bantuan dari developer lain maupun developer
Nordrassil Project untuk membuat
template script lain untuk kebutuhan yang
berbeda
7. DAFTAR PUSTAKA
1) Eckerson, Wayne W. Three Tier Client/Server
Architecture: Achieving Scalability,
Performance, and Efficiency in Client Server Applications. Open Information Systems 10, 1
(January 1995): 3(20)
2) Kusrini. Tuntunan Praktis Membangun Sistem
Informasi Akuntansi, Penerbit Andi, 2007
3) Reese, George, Database Programming with
JDBC and Java, Second Edition, O'Reilly &
Associates, 2000. 4) http://php.net
5) http://www.magicaldimension.com/sciencehist ory/5.html