rc:]i
tssN 208742s6
SMATIKA Jurnal STIKI I nformatika Jurnal
Volume0l Nomor
01 Tahun 201 I
Slstem lnformasi Peramalan Persediaan Obat pada Apotik Sidoarjo dengan
MetodeSlinter RudySetiawan
Nordrassil ProjectWeb Pembangkit DDL dan Kode Sumber Aplikasi Basis Data Go Frendi
Gunawan,TriY Evelina, Hendro Suprayogi
Perband in ga n Algo ritma Sca nli ne dan Algoritma Ray Tracin g terhada p Akurasi Pencahayaan pada Piranti Lunak3ds Max Eva
Handriantini
Perbandingan Reduksi Data Menggunakan Transformasi Cosinus Diskrit dan Analisis Komponen Utama Laila lsyriyah, Evy Poerbaningtyas
Desain Tutorial lbadah Haji Berbasis Multimedia sebagai Panduan bagi Calon Jamaah Haji ni Handriyanti raha, Eva Nug ng Adhi Anu
Lembaga Penelitian & Pengabdian kepada Masyarakat
SEKOIAII TINGGI INFOruUAflI{A & KOMPIJTEK INDONESIA
lssN 2087-0256
SMATII(A Jurnal STIKI lnformatika Jurnal
Yayasan
Volume 01, Nomor0l Tahun 2011
*"**Iitiln;J,-;* * Nusantara Penasehat: Ketua STIKI
,
Pembina:
Pembantu Kerua Bidang Akademik STIKI
Mitra Bestari Prof. 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 Teknologi l0 Nopember,surabaya) Dr. Setyawan P- Sakti, Ing. M.Eng (Universitas Brawijaya)
Ketua Redaksi: Tii Y. Evelinq SE, MM Section Editor: Jozua F. Palandi,
M.Kom
Copy,Editor & proof Reader: Zusana E. Pudyastuti, SS
,, ,
L-ayoul,pditgt Saiful yahya, S.Sn
Ihta, Usaha / Administrasi:, tndah:Wulandari,,SE ,
SEKRETARIAT Lembagq,Penelitian,& Pengabdian Sekolah ringgi
tgfrgatl5i
t<epaOa
Masyarakat
indtnesia (sTm) - rraatans _{ I:yl1qr SMATIKAJurnal JL Raya Tidar 100 Malang 65146 TeL +62-341 564006, 560823 Fax. +62-341562525 Website: www.stiki.ac.id E-mail:
[email protected]
J
lssN 2087-0256 Volume 01, Nomor 01 Tahun 201 1
DAFTAR TSI Sistem lnformasi Peramalan Persediaan Obat pada ApotikSidoarjo dengan
1-7
MetodeWnter RudySetiowon Nordrassll Project:Web Pembangkit DDL dan Kode Sumber Aplikasi Basis Data Go Frendi Gunawan, Tri Y. Evelina, Hendra Suprayogi
8-15
Perbandingan Algoritma Scanline dan Algoritma RayTracing terhadap Akurasi Pencahayaan pada PirantiLunak 3ds Max EvaHandriyantini perba ndinga n Red uksi Data Mengg
u
16-23
naka n Transformasi Cosi nus Diskrit da n
Utama
Analisis Komponen Laila lsyriyah, Evy Poe rbani ngtyas Desain Tutorial lbadah Haji Berbasis Multimedia sebagai Panduan bagi Calon Jamaan Haji ............
35 -40
Anung Adhi Nug raha, Eva Handriyantini
Undangan Makalah SMATIKA Jurnal Volume 01, Nomor 02 Tahun
201
24'34
1
PENGANTARREDAKSI
STIKI Informatika Jurnal (SIVIATIKA Jurnal) merupakan jurnal yang diterbitkan oteh Lembaga Penetitian & Pengabdian kepada lvlasyarakat (LPPM), Sekolah Tinggi Informatika & Komputer Indonesia (STIKI) Idalang. Pada edisi ini, SMATIKA Jurnal menyajikan 5 Qima) naskah dalam bidang Sistem Informasi, data base, pengolahan cifa dan multimedia. Redaksi mengucapkan terima kasih dan selamat kepada Pemakalah yang diterima dan diterbitkan dalam edisi ini, karena telah memberikan konfibusi penting pada pengembangan ilmu dan teknologi. Sejumlah pakar dari luar STIKI (Mitra Bestari) telah memberikan kontribusinya yang sangat berharga dalam menilai naskah yang dimuat. Urtuk itu Redaksi menyampaikan banyak terima kasih kepada para Penilai @eveiwer) tersebut.
ini, Redaksi kembali mengundang dan memberi kesempatan kepada pam Peneliti di bidang Teknologi Informasi untuk mempublikasikan hasil-hasil
Pada kesempatan
penelitiannya melalui jurnal ini. Bagr para pembaca yang berminag Redaksi memberi kesempatan untuk berlangganan. Aktrirnya Redaksi berharap semoga artikel-artikel dalam jurnal ini bermanfaat bagi para pembaca khususnya dan bagi perkembangan ilmu dan teknologi di bidang Teknologi Informasi pada umumnya.
REDAKST
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:
[email protected],
[email protected],
[email protected]
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 clientserver. 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:
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
Gambar 1. Aliran Data pada Nordarssil Project
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
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:
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
Gambar 6. Antar Muka 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:
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.
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 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 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
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
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;
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;
Kode program yang ter generate adalah: fProjectForm.pas
var projectForm: TprojectForm;
unit fprojectForm;
implementation
interface
{$R *.dfm} uses AssignmentDataModule;
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ADODB, Dialogs, Menus, Provider, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, DB;
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 produkproduk 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.
2.
Template Script yang pernah dibuat hendaknya diunggah ke suatu media penyimpanan di internet sehingga semua orang dapat menggunakannya. 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 6) http://www.yui-ext.com