Professional Documents
Culture Documents
Pendahuluan
Firebird adalah Perangkat Lunak Manajemen Database, seperti halnya DB2 oleh IBM,
Oracle, SQL Server oleh Microsoft dan PostGresql. Perangkat Lunak Database mempunyai dua
utama komponen: server database, yang berjalan dikomputer yang sama sebagai Database, dan
aplikasi sebagai alat penghubung, yang dikenal sebagai Client Library. Client Library adalah suatu
run-time komponen dari suatu DLL pada Windows atau suatu obyek bersama pada platforms
lainnya. Penyebaran datanya memerlukan Client Workstation untuk mengakses database baik
dari suatu web browser ataupun dari perangkat lunak Database Client lainnya.
Server Firebird berukuran sangat kecil “footprint” pada file system ketika diinstall pada
server. Instalasi Server executable memakan ruang penyimpanan Kurang dari 1.5 Mb sedangkan
instalasi full server, mencakup semua tool dan dokumentasi, akan memakan ruang penyimpanan
kurang dari 10 Mb. Pemakaian Memori sangat kecil dan bertukartukar menurut skala
penyebaran, yang dapat bekerja mulai pada tingkat single user yang menjalankan suatu aplikasi
pada database tunggal sampai ratusan koneksi bersamaan hingga dapat menservis beribu-ribu
para pemakai pada jaringan wide-area.
Firebird merupakan salah satu database open source yang tangguh dan dapat bekerja
secara Client/Server serta dapat dijalankan pada sistem operasi yang berbeda. Firebird dapat
berjalan pada sistem operasi Windows, Linux, FreeBSD dan Mac OS.
Firebird versi 1.5.x mempunyai kapasitas mencapai 11 Terabytes, sedangkan pada satu table bisa
menampung kira-kira 2.000.000.000 baris per table dan maksimum data yang di tampung 30
Gigabytes per table. Sedangkan untuk versi 2.x.x penulis belum mendapatkan informasi
mengenai kapasitas databasenya. Tetapi penulis yakin kinerja dan kapasitas untuk versi barunya
akan lebih baik daripada versi sebelumnya.
2
BAB II
Sistem Basis Data Firebird Firebird
Firebird termasuk perangkat lunak database non komersil atau gratis atau open source,
jadi semua orang dapat memakainya tanpa harus membayar. Firebird ini bermula dari database
Interbase tahun 1985 dibawah Borland Corporation, karena tahun 1999 Borland mengalami
masalah keuangan maka pengembangan Interbase di hentikan.
Sehingga pada Juli 2000 Interbase versi 6 keluar dan didistribusikan kepada public dengan
lisensi open source. Maka pada tahun 2002 dua orang pengembang dari Australia mengeluarkan
source code yang diberi nama Firebird dengan lisensi open source.
Pada bulan April 2003, Yayasan Mozilla memutuskan mengganti nama web browser
mereka dari ”Phoenix” menjadi ”Firebird”. Keputusan ini ditanggapi dengan serius oleh proyek
Firebird Database dengan asumsi bahwa hal tersebut bisa membingungkan user karena dua
produk berbeda menggunakan nama yang identik. Protes atas hal ini berlanjut hingga para
pengembang Mozilla membuat satu pernyataan yang jelas bahwa nama Firebird dalam
kenyataannya adalah ”Mozilla Firebird”. Pernyataan ini juga membuat memperjelas bahwa nama
Mozilla Firebird merupakan sebuah ”codename” atas proyek web browser yang tengah
dikerjakan oleh Mozilla. Pada tanggal 9 Februari 2004, Mozilla akhirnya mengganti kembali nama
browser mereka sebagai Mozilla Firefox, Dengan demikian hal tersebut secara otomatis
menghilangkan kebingungan para pengguna.
Firebird dan Interbase. Firebird (juga disebut FirebirdSQL) adalah sistem manajemen
basisdata relasional yang menawarkan fitur-fitur yang terdapat dalam standar ANSI SQL-99 dan
SQL-2003. RDBMS ini berjalan baik di Linux, Windows, maupun pada sejumlah platform Unix.
Firebird ini diarahkan dan di-maintain oleh FirebirdSQL Foundation. Ia merupakan turunan dari
Interbase versi open source milik Borland. Karena itulah Interbase dan Firebird sebenarnya
mempunyai CORE yang sama karena awalnya sama” dikembangkan oleh Borland.
3
Namun dalam perkembangannya, Interbase yang komersial di-bundle oleh Borland
menjadi Phoenix, sedangkan Firebird adalah interbase yang dikembangkan oleh komunitas Open
Source, sehingga menjadikannya sebagai produk Database Server yang FREE. Kalau dikaitkan
dengan support, tentunya jelas beda karena produk komersial dan free. Dalam konsep teknik
programmingnya, ada banyak yang sama, namun pengayaan Firebird lebih banyak dan
menjadikannya lebih luwes, terutama dalam koneksi client-server (port) dan integritasnya.
Modul-modul kode baru ditambahkan pada Firebird dan berlisensi di bawah Initial Developer’s
Public License (IDPL), sementara modul-modul aslinya dirilis oleh Inprise berlisensi di bawah
InterBase Public License 1.0. Kedua lisensi tersebut merupakan versi modifikasi dari Mozilla Public
License 1.1.
Chan dan Yaskhir (2002) menjelaskan bahwa Firebird/InterBase dapat dibagi menjadi
empat komponen subsistem dan pengaturannya digambarkan seperti sebuah pipa. Komponen
subsistem yang menyusun arsitektur utama meliputi:
1. Remote Connection System. Subsistem yang menghubungkan klien dengan server.
2. SQL Translator. Subsistem yang mengubah SQL (structured query language) menjadi BLR
(binary language representation).
3. Relational Database Engine. Subsistem yang melakukan pengambilan data secara aktual.
4. Lock Manager. Subsistem yang berfungsi sebagai alat kontrol konkurensi.
4
2.3.1 Remote Connection System (REMOTE)
Klien mengirim permintaan kepada server melalui sebuah layer komunikasi generik.
Layer komunikasi generik berkomunikasi melalui sebuah layer protocol spesifik. Layer
protokol spesifik berkomunikasi melalui jaringan yang ditangani oleh sistem operasi. Model
jaringan klien-server Firebird/Interbase hampir mirip dengan sebuah versi dua layer dari
model jaringan OSI Layer. Firebird/Interbase memungkinkan klien dapat berkomunikasi
secara lokal melalui modul emulasi koneksi jaringan menggunakan memori terbagi (shared
memory).
5
Lexer, parser, dan pembangkit kode tersusun secara pipeline seperti padasetiap
kompiler. Lexer membagi masukan menjadi token-token. Parser menentukan arti dari
masukan. Pembangkit kode menghasilkan kode BLR yang ekuivalen dengan kode SQL yang
dimasukkan.
Permintaan diproses oleh subsistem Exec dan B-tree ketika permintaan tersebut
terkait dengan proses indeks. Hak akses pengguna diperiksa oleh subsistem-subsistem exec
dan security. Eksekusi atom dari beberapa permintaan diperiksa oleh subsistem exec dan
6
transaction. Subsistem exec dan sort digunakan ketika terdapat permintaan untuk
mengurutkan. Konkurensi data ditangani oleh subsistem exec dan lock handler.
Subsistem virtual IO merupakan sebuah sistem layer dengan tiga buah layer di
dalamnya. Layer teratas memuat metode abstrak untuk mengakses data pada ruang
penyimpan. Layer kedua merupakan cache manager yang menangani proses cache. Proses
cache bertujuan mempercepat akses data. Layer kedua merupakan layer terakhir yang
menggunakan konsep struktur data basis data. Layer terakhir merupakan layer physical IO.
Layer terakhir berhubungan dengan sistem operasi pada mesin yang digunakan dan
membuat system call untuk pengaksesan data ke ruang penyimpan.
LOCK terdiri dari dua komponen utama yaitu submodul lock handler pada JRD dan
lock table diluar JRD. Permintaan yang memerlukan mekanisme penguncian dapat dibagi
menjadi dua kategori utama yaitu permintaan modifikasi metadata dan permintaan data
biasa. Mekanisme penguncian terjadi ketika permintaan menggunakan lock handler.
Sebuah mekanisme penguncian pada data yang diinginkan akan masukan pada
permintaan ketika terdapat permintaan modifikasi metadata. Mekanisme penguncian
dilepaskan kembali setelah proses modifikasi dilakukan. Sebuah lock handler dapat
menunggu beberapa saat jika masih terdapat mekanisme penguncian yang belum
dilepaskan. Lock handler melakukan eksekusi normal setelah mekanisme penguncian yang
lain telah dilepaskan pada data yang diinginkan. LOCK menunggu permintaan dari beberapa
lock handler dan melakukan modifikasi ke lock table untuk mendaftarkan mekanisme
penguncian yang ada.
7
2.3.5 Operasi Firebird
Proses pencarian baris pada suatu tabel menggunakan perintah SQL dalam
Interbase membutuhkan langkah- langkah sebagai berikut:
1. Permintaan dibuat pada aplikasi pengguna di sisi klien.
2. Modul REMOTE mengirim permintaan ke sisi server dan memanggil DSQL.
3. DSQL mengubah permintaan SQL menjadi BLR 4. Memanggil JRD dan CMP
mengkompilasi permintaan.
5. EXEC mulai mengeksekusi permintaan.
6. Memanggil virtual IO untuk mendapatkan tabel yang sesuai.
7. Memeriksa cache untuk data yang diminta.
8. Rutin pencarian dilakukan didalam modul b-tree untuk mencari baris menggunakan
indeks yang sesuai.
9. Memanggil modul REMOTE untuk mengembalikan hasil pencarian kepada aplikasi
pengguna.
8
2.4 Kemampuan dan Kelebihan Firebird
Kita bisa melihat berbagai macam aktivitas dan kemampuan Firebird pada situs officialnya
yang beralamat di www.firebirdsql.org. Banyak sekali fasilitas menarik yang ditawarkan oleh
Firebird (ini bisa dibandingkan dengan fasilitas yang ditawarkan oleh MySQL). Firebird memiliki
rata-rata fasilitas yang dimiliki oleh sebuah komersial database misalnya seperti stored
procedure, trigger, sistem backup, replikasi dan tools sql yang lengkap. Firebird juga support
dengan ANSI SQL yang berarti akan semakin memudahkan Anda dalam proses migrasi antar
database platform.
(1) Firebird support dengan transaksi layaknya pada database komersial lainnya. Sebuah
transaksi bisa di-commit atau di-rollback dengan mudah. Bahkan Firebird support dengan
savepoint pada suatu transaksi dan kita bisa melakukan rollback kembali ke savepoint
yang kita tentukan tadi (ini mirip seperti fasilitas pada Oracle).
(2) Firebird menggunakan sintaks standard untuk menciptakan suatu foreign key.
(3) Firebird support row level locks, secara default Firebird menggunakan apa yang disebut
dengan multi-version concurrency system. Ini artinya bahwa semua session pada
database akan melihat data yang lama sampai data yang baru sudah di-commit ke dalam
database.
(4) Firebird support stored procedure dan triggers dengan bahasa yang standard sehingga
tidak akan membingungkan bagi Anda yang ingin belajar. Triggers pada Firebird mirip
seperti yang dijumpai dalam Oracle yaitu menggunakan before atau after insert, update
atau delete. Ini berbeda dengan sistem trigger pada Sybase atau MS SQL Server yang
menggunakan tabel virtual inserted dan deleted.
(5) Firebird bisa melakukan replikasi, solusi untuk replikasi kebanyakan dibuat oleh pihak
ketiga, tetapi sebenarnya teknik replikasi ini seperti konsep trigger yang selalu
memonitor adanya operasi insert, update atau delete ke dalam database.
(6) Firebird support dengan multiple data file, Firebird bisa menggunakan lebih dari satu file
sebagai single logic database. Ini sangat berguna bagi para DBA (Database Administrator)
untuk mengadministrasi database.
(7) Software untuk mengadministrasi mudah didapat karena banyak sekali software untuk
mengadministrasi database Firebird, misalnya saja EMS IB Manager, IBConsole, isql,
FBManager, Marathon dan banyak lagi yang lainnya. Aplikasi tersebut ada yang komersial
atau bahkan ada yang open source.
(8) Library connection untuk Firebird yang sudah tersedia ada banyak, ada driver untuk
ODBC, JDBC bahkan .NET database provider. Bahkan dari PHP juga sudah disediakan
library untuk koneksi ke database Firebird ini.
9
(9) Banyaknya fasilitas support dan maintenance karena banyaknya komunitas Firebird. Di
Indonesia sendiri komunitas yang sering menggunakan Firebird biasanya adalah
programmer Delphi.
Kalangan-kalangan seperti inilah yang seringkali memanfaatkan Firebird. Produk ini gratis
dan berkelas enterprise. Selain itu Firebird juga digunakan para pelaku bisnis, mereka ingin solusi
sistem informasi berskala besar (enterprise), namun mereka juga ingin menghindari harga yang
sangat mahal dan biaya maintenance yang juga sangat mahal. Produk ini mampu bersaing dengan
produk-produk berkelas seperti Ms-SQL Server atau Oracle sekalipun, dalam segala hal fitur,
kecepatan, performa, apapun anda menamakannya, Firebird benar-benar bisa dibandingkan,dan
yang lebih penting Firebird is totally Free.
Kalau memang Firebird Hebat, berkelas, dan gratis, mengapa Firebird kurang populer saat
ini? jawabannya sederhana, Firebird mempunyai developer yang tangguh, support yang tangguh,
tetapi Firebird tidak mempunyai marketing yang tangguh.
Karena Firebird free/gratis maka banyak pihak-pihak atau perusahaan besar yang memakai
database ini seperti:
• Broadview Software Ltd, Toronto, Canada, vendor of information and control systems and
online services for broadcasters worldwide.
• Morfik P/L, Hobart, Tas., developers and vendors of WebOS development suite for
construction and maintenance of interactive websites, stores web objects in a Firebird meta-
layer (system database) as well as Firebird user data.
• Communicare Systems Pty Ltd, Perth, WA, vendor of patient management and medical
records software for hospitals, clinics, medical practices and mobile health units across
Australia.
• “The Examiner” newspaper, Launceston, Tas., high availability(24/7) business, information,
production and news systems.
• U.S. Navy, broad range of management and logistical systems.
10
• Frontrange Solutions USA Inc., Colorado Springs, U.S.A, as the back-end of the highly scalable,
award-winning integrated CRM, service management and business systems “Goldmine”
software suite.
• British Rail, U.K., timetabling, bookings, accounting and information systems for national
railway passenger network.
• Deutsche Presse-Agentur GmbH, HQ in Hamburg, Germany, largest press agency in Germany,
provides a worldwide service to newspapers, magazines, TV and radio news networks.
• KIMData, Munich, Germany, business intelligence systems and data warehousing for German
hospitals.
11
BAB III
Implementasi Firebird
Setelah file installer firebird di download silahkan diklik dua kali (double klik) tersebut dari
windows explorer (di folder penyimpanan installer Firebird).
12
Pilih English (jika ingin berbahasa inggris), Klik OK
13
Pilih “I accept the aggreement” jika setuju dengan persetujuan di atas, Klik Next >
14
Kemudian Tentukan lokasi tempat Firebird akan di install “C:\Program Files\Firebird\
Firebird_2_0” penulis menyarankan bagi pemula, tidak usah merubah lokasi instalasi di atas. Klik
Next >
Untuk gambar di atas penulis memilih “Full installation” karena kita akan memposisikan
komputer kita sebagai server sekaligus client. Kemudian Klik Next >
15
Jika tidak ingin merubah nama atau letak folder tempat shotcuts langsung Klik Next >
Klik Next > jika ingin menjalan service Firebird secara otomatis sewaktu komputer dihidupkan.
16
Klik Install untuk menginstal Firebird Tunggu
beberapa saat...
17
Klik Finish
Maka instalasi Firebird sudah selesai, sekarang kita cek Firebird Server manager di Control Panel
apakah Firebirdnya sudah jalan atau tidak. (Start > Settings > Control Panel)
Kemudian klik dua kali (double klik) icon Firebird 2.0 Server Manager
18
Jika Firebird Server Control sudah seperti di atas maka Firebird server sudah jalan dan sudah
dapat dioperasikan.
3.2 Tool Pengelolaan Database Firebird
Untuk saat ini penulis akan coba bahas dan menjelaskan kegunaan dari ke-empat file
tersebut secara garis besar, karena ke-empat file tersebut yang sering digunakan pada
implementasinya.
• GSEC.EXE:
Merupakan perintah baris Firebird yang digunakan sebagai pengatur administrasi user.
Database user akan disimpan pada suatu file database yang bernama isc4.gdb (Firebird
1.0), security.fdb (Firebird 1.5) atau security2.fdb (Firebird 2.0) di dalam folder induk
Firebird. Setelah Firebird di install di dalam database tersebut selalu terdapat satu user
yaitu Administrator Sistem Database yang bernama SYSDBA dengan password
“masterkey”. Password maksimal 8 digit dan tidak ada boleh menggunakan spasi.
GSEC hanya bisa di jalankan oleh user administrator yaitu SYSDBA. Untuk menggunakan
GSEC pada mesin lokal machine (localhost) maka gunakan perintah:
Dimana <databasename> adalah nama database yang diremote yaitu security.fdb atau
security2.fdb database.
• GFIX.EXE:
Merupakan perintah baris Firebird yang digunakan untuk administrasi seperti mematikan
database, perbaikan data, pembersihan data dan lain-lain.
Untuk shutdown database hanya dapat dilakukan oleh user SYSDBA dan user yang telah
diberi haknya. Ketika database telah shutdown juga hanya user SYSDBA dan user yang
diberi hak yang dapat melakukan pengelolaan administrasi database. Bentuk umum
syntax:
19
gfix [options] -user <username> -password <password> <database>
[options]
• GBAK.EXE:
Merupakan perintah Firebird yang digunakan sebagai backup dan restore database secara
utuh. Untuk melakukan backup data dapat dilakukan pada saat database sedang
aktif/running, tanpa adanya melakukan shutdown database.
Bentuk umum syntax:
Backup:
<source> merupakan database yang akan dibackup, <destination> nama file tujuan untuk
backup.
Restore:
<source> merupakan data backup, <destination> file database yang akan dikemballikan
dari backup.
• ISQL.EXE:
Merupakan perintah baris pada Firebird dimana akses SQL berinteraksi dengan
database yang telah ada. Pada ISQL ini perintah-perintah SQL akan dilaksanakan. Bentuk
umum syntax:
isql -?
• Model Inteksi:
Perintah baris ISQL dimulai dengan SQL> prompt, lanjutan baris dengan CON> prompt.
Setiap perintah harus diakhiri dengan tanda semi-colon (;).
C:\Programme\Firebird2\bin>isql
Use CONNECT or CREATE DATABASE to specify a database
SQL> connect elias:apqp user sysdba password masterkey;
Database: elias:apqp, User: sysdba SQL>
_
20
Disini kita bisa masukkan DDL, DML atau perintah ISQL itu sendiri, kemudian database
bisa langsung dipanggil pada ISQL.
21
BAB IV
Kesimpulan
Firebird adalah database relasional yang menawarkan banyak fitur standar ANSI SQL yang
berjalan pada Linux, Windows, dan berbagai platform Unix. Firebird menawarkan konkurensi
yang sangat baik, kinerja tinggi, dan dukungan bahasa yang kuat untuk disimpan prosedur dan
pemicu. Firebird merupakan sebuah RDBMS yang penuh fitur dan tangguh. Firebird mampu
menangani database dari yang cuma berukuran beberapa KB hingga gigabita dengan kinerja yang
baik dan nyaris tidak membutuhkan perawatan.
Firebird dilengkapi dengan seperangkat aplikasi yang bisa membantu Anda membuat
database baru, membaca statistik database, menjalankan perintah SQL, melakukan pencadangan
dan pengembalian, dlsb. Jika Anda lebih suka menggunakan aplikasi basis GUI (antarmuka grafis),
tersedia banyak sekali pilihan untuk itu, termasuk yang gratis.
Kekurangan yang paling nyata adalah replication engine (walaupun Firebird memiliki fitur
lanjutan, yang menjaga identical copy dari live database). Ada proyek yang terjadi, banyak yang
komersil, namun Open Source-nya sendiri terlihat tidak matang, atau terintegrasi ke dalam
Firebird code utama. Firebird development relatif lambat.
22