Selasa, 03 Agustus 2010

Database Management System

Database adalah suatu susunan atau kumpulan data operasional lengkap dari suatu organisasi yang dikelola dan disimpan secara terintegrasi dengan menggunakan metode tertentu menggunakan komputer sehingga mampu menyediakan informasi optimal yang diperlukan pemakainya.

Database System adalah suatu sistem menyusun dan mengelola record-record database menggunakan komputer untuk menyimpan serta memelihara data operasi lengkap sebuah organisasi sehingga mampu menyediakan informasi pemakai untuk proses mengambil keputusan.


Database Management System adalah kumpulan file yang saling berkaitan dan program untuk pengelola database.

Kesimpulannya Database adalah kumpulan datanya sedangkan Database Management System adalah software pengelola database.

Bahasa-Bahasa yang Terdapat di dalam DBMS
a) DDL (Data Definition Language)
DDL digunakan untuk mendefinisikan database, misal untuk membuat tabel, modifikasi tabel, membuat index, membuat view dan kelengkapan databse serta tabel yang lain-lain.
Secara garis besar DDL digunakan untuk melakukan maintenance database.

Syntaks atau keyword yang masuk dalam kategori ini antara lain :
CREATE = digunakan untuk membuat objek baru,
DROP = digunakan untuk menghapus tabel atau database
UPDATE = digunakan untuk meng-ubah record
ALTER = digunakan untuk memodifikasi database.

b) DML (Data Manipulation Language)
DML digunakan untuk melakukan manipulasi atau pengolahan data dalam database. Misalnya untuk mengambil data (record) dengan kriteris tertentu, meng-ubah data pada tabel, menjumlahkan data dalam tabel, dan menambahkan data kedalam tabel.

Syntaks atau keyword yang masuk dalam kategori ini antara lain
SELECT = untuk menampilkan data
INSERT = untuk menambahkan data baru
UPDATE = untuk mengubah data yang sudah ada
DELETE = untuk menghapus data

Fungsi-Fungsi DBMS
Berikut ini fungsi-fungsi di dalam Database Management System.
a. Data Definition
DBMS harus dapat mengolah pendefinisian data
b. Data Manipulation
DBMS harus dapat menangani permintaan-permintaan dari pemakain untuk mengakses data.
c. Data Security dan Integrity
DBMS dapat memeriksa security dan integrity data yang didefinisikan oleh DBA.
d. Data Recovery dan Concurrency
DBMS harus dapat menangani kegagalan-kegagalan pengaksesan basis data yang dapat disebabkan oleh kesalah sistem, kerusakan disk, dan sebagainya.
DBMS harus dapat mengontrol pengaksesan data yang konkuren yaitu bila satu data diakses secara bersama-sama oleh lebih dari satu pemakai pada saat yang bersamaan.
e. Data Dictionary
DBMS harus menyediakan data dictionary
f. Perfomance
DBMS harus menangani unjuk kerja dari semua fungsi seefisien mungkin

Komponen DBMS
1. Query Prosesor komponen yang mengubah bentuk query ke dalam instruksi ke dalam Database Manager
2. Database Manager, menerima query dan menguji skema eksternal dan konseptual untuk menentukan apakah record-record tersebut dibutuhkan untuk memenuhi permintaan, kemudian database manager memanggil file manager untuk menyelesaikan permintaan.
3. File Manager, memanipulasi penyimpanan file dan mengatur alokasi ruang penyimpan disk.
4. DML Prosessor, modul yang mengubah perintah DML yang ditempelkan ke dalam program aplikasi dalam bentuk fungsi-fungsi.
5. DDL Compiler, mengubah statement DDL menjadi kumpulan table atau file yang berisi data dictionary/metadata
6. Dictionary Manager, mengatur akses dan memelihara data dictionary

Tiga level abstraksi data dalam DBMS:
A. Level Fisik (Physical Level)
B. Level Konseptual (Conceptual Level)
C. Level Penampakan (View Level)

A. Physical Level
• Menunjukkan sesungguhnya bagaimana data disimpan
• Memperlihatkan data sebagai gabungan dari struktur dan datanya sendiri
• Menunjukkan bagaimana representasi fisik dari penyimpanan/pengorganisasian data → sebagai teks, angka, atau himpunan bit.

B. Conceptual Level
Menggambarkan data apa yg tersimpan (secara fungsional) dan hubungannya dengan data lainnya
Contoh:
Data Mahasiswa, disimpan dalam table:
– Biodata Mahasiswa
– Rencana Studi Mahasiswa
– Nilai Mahasiswa
– Prestasi Mahasiswa

C. View Level
· Hanya menyajikan data yang dikehendaki oleh user
· DBMS mengkonversi data asli menjadi informasi yang bermanfaat bagi user
Contoh:
Menampilkan Nama & NIM Mahasiswa yang mendapatkan nilai A pada matakuliah Pengantar Komputer.

Perbedaan Traditional File Management (FMS) denga Database Management System (DBMS) dengan Traditional File Management (FMS):
Database Management System (DBMS)Bersifat program oriented, yaitu susunan data di dalam file, distribusi data pada peralatan storage, dan organisasi filenya dipilih sedemikian rupa sehingga program aplikasi dapat menggunakan secara optimal.
Bersifat data oriented, yaitu susunan data. Organisasi file pada database dapat diubah, begitu pula strategi aksesnya, tanpa mengganggu program aplikasi yang sudah ada.
Bersifat kaku
Bersifat Luwes / fleksibel
Terjadi kerangkapan data dan tidak terjaminnya keselarasan data (data inkonsistensi)
Kerangkapan data serta keselarasan data dapat terkontrol.

Contoh DBMS Komersil dan non Komersil:
1. DBMS Komersil :
4th Dimension
Dataphor
Daffodil database
DB2
FileMaker Pro
FrontBase
Informix
InterBase
Matisse [1]
Microsoft Access
Microsoft SQL Server
Microsoft Visual FoxPro
Mimer SQL
Netezza
NonStop SQL
Oracle
Progress 4GL
Sand Analytic Server (sebelumnya dikenal sebagai Nucleus)
SmallSQL
Sybase Adaptive Server Anywhere (sebelumnya dikenal sebagai Watcom SQL)
Sybase Adaptive Server Enterprise
Sybase Adaptive Server IQ
Teradata
ThinkSQL [2]
VistaDB
VMDS

2. DBMS gratis atau open source :
Cloudscape
Derby
Firebird
H2
HSQLDB
Ingres
MaxDB
MonetDB
MySQL
PostgreSQL
SQLite
tdbengine

DBMS umumnya mengandung komponen-komponen berikut:
1. Kamus Data
Kamus data (data dictionary) digunakan untuk menyimpan deskripsi data yang digunakan dalam basis data. Setiap elemen data antara lain memiliki tipe dan ukuran. Kamus data terkadang juga berisi ketentuan yang mengatur nilai yang bisa dimasukkan dalam field. Sebagai contoh, jika definisi sebuah field menyatakan bahwa hanya huruf P dan W yang dimasukkan ke dalam field bernama Jenis_Kelamin, maka sistem akan menolak sekiranya pemakai memasukkan data L ke field tersebut.

2. Utilitas
Utilitas digunakan untuk memudahkan pemakai dalam menciptakan basis data dan tabel serta dalam memanipulasi data.

3. Pembangkit Laporan
Pembangkit Laporan adalah fasilitas yang disediakan kepada pemakai untuk membuat laporan dengan mudah.

4. Pembangkit Aplikasi
Pembangkit Aplikasi adalah fasilitas yang digunakan untuk membuat tampilan yang digunakan oleh pemakai yang akan menggunakan aplikasi basis data (tampilan seperti ini dikenal dengan istilah formulir), misalnya untuk mengisikan data.

5. Keamanan Akses
Fasilitas keamanan akses digunakan untuk mengatur hak akses pemakai. Keamanan akses dapat berupa pengaturan wewenang akses terhadap pemakai tertentu. Misalnya, pemakai dapat mengubah isi tabel Mahasiswa, tetapi pemakai B tidak. DBMS seperti pemakai B tidak.

6. Pemulihan Sistem
Fasilitas pemulihan sistem berfungsi untuk mengembalikan data semula ke basis data sekiranya terjadi kegagalan sistem. Beberapa teknik yang umum digunakan untuk menangani pemulihan sistem yaitu mirroring, reprocessing, dan rollback.

MACAM – MACAM DATABASE MANAGEMENT SYSTEM
A. DBMS (DATABASE MANAGEMENT SYSTEM)


1). Pengertian DBMS :
1. Menutut C.J. Date : DBMS adalah merupakan software yang menghandel seluruh akses pada database untuk melayani kebutuhan user.

2. Menurut S, Attre : DBMS adalah software, hardware, firmware dan procedure-procedure yang memanage database. Firmware adalah software yang telah menjadi modul yang tertanam pada hardware (ROM).

3. Menurut Gordon C. Everest : DBMS adalah manajemen yang efektif untuk mengorganisasi sumber daya data.

Jadi DBMS : Semua peralatan komputer (Hardware+Software+Firmware). DBMS dilengkapi dengan bahasa yang berorientasi pada data (High level data langauage) yang sering disebut juga sebagai bahasa generasi ke 4 (fourth generation language).

Fungsi DBMS :
- Definisi data dan hubungannya
- Memanipulasi data
- Keamanan dan integritas data
- Security dan integritas data
- Recovery/perbaikan dan concurency data
- Data dictionary
- Unjuk kerja / performance

Peralatan untuk menetapkan/menentukan pendekatan database disebut DBMS :
DBMS merupakan software (dan hardware) yang kusus didesain untuk melindungi dan memanage database.

Dengan menggunakan DBMS, maka dapat :
* Mendefinisikan data dan hubungannya.
* Mendokumentasikan struktur dan definisi data
* Menggambarkan, mengorganisasikan dan menyimpan data untuk akses yang selektif/dipilih dan efisien.
* Hubungan yang sesuai antara user dengan sumber daya data.
* Perlindungan terhadap sumber daya data akan terjamin, dapat diandalkan, konsisten dan benar.
* Memisahkan masalah Logical dan physical sehingga merubah implementasi database secara fisik tidak menghendaki user untuk merubah maksud data (Logical).
* Menentukan pembagian data kepada para user untuk mengakses secara concurent pada sumber daya data.

Contoh DBMS :
1. Database Hierarchy : Pengaksesan data harus mengikuti aturan hierarchy yang sudah didefinisikan terlebih dahulu.

Contoh : IMS-2 (Information Management System) oleh IBM, 1968
2. Data Network : Data membentuk jaringan yang lebih bebas dari model hierarchy.

Contoh : IDMS (Integrated Database Management System) oleh Cullinet Software Inc, 1972
3. Data Relational : Data dikelompokkan secara bebas menurut jenisnya lewat proses

normalisasi
Contoh : - INGRES oleh UN of CA & Relational Tech., 1973
- System-R oleh IBM Research, 1975
- ORACLE oleh Relational Software Inc. , 1979
- DBASE II oleh Ashton-Tate, 1981

2. Komponen Utama DBMS

Komponen utama DBMS dapat dibagi menjadi 4 macam :
* Perangkat Keras
* Perangkat Lunak
* Data
* Pengguna

3. Keuntungan Dan Kerugian Penggunaan DBMS

Pengunaan DMBS untuk mengelola data mempunyai beberapa keuntungan, yaitu :
* Kebebasan data dan akses yang efisien
* Mereduksi waktu pengembangan aplikasi
* Integritas dan keamanan data
* Administrasi keseragaman data
* Akses bersamaan dan perbaikan dari terjadinya crashes (tabrakan dari proses serentak).
* Mengurangi data redundancy : Data redundansi dapat direduksi/dikurangi, tetapi tidak dapat dihilangkan sama sekali (untuk kepentingan keyfield)
* Membutuhkan sedikit memory untuk penyimpanan data

Kerugian pengunaan DBMS antara lain :
* Memperoleh perangkat lunak yang mahal (teknologi DBMS, Operation, Conversion, Planning, Risk). DBMS mainframe masih sangat mahal. DBMS berbasis mikro biayanya mencapai beberapa ratus dolar, dapat menggambarkan suatu organisasi yang kecil secara berarti
* Memperoleh konfigurasi perangkat keras yang besar. DBMS sering memerlukan kapasitas penyimpanan primer dan sekunder yang lebih besar daripada yang diperlukan oleh program aplikasi lain. Juga, kemudahan yang dibuat oleh DBMS dalam mengambil informasi mendorong lebih banyak terminal pemakai yang disertakan dalam konfigurasi daripada jika sebaliknya.
* Mempekerjakan dan mempertahankan staf DBA DBMS memerlukan pengetahuan khusus agar dapat memanfaatkan kemampuan secara penuh. Pengetahuan khusus ini paling baik diberikan oleh pengelola database.

B. MACAM-MACAM DBMS (DATBASE MANAGEMENT SYSTEM)

Beberapa software atau perangkat lunak DBMS yang sering digunakan dalam aplikasi program antara lain :

1. MySQL
MySQL merupakan sebuah perangkat lunak system manajemen basis data SQL (bahasa inggris : data management system) atau DNMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public Licenci (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL . Tidak seperti Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan cipta untuk code sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah : david axmark, allan larsson, dan Michael “monthy widenius.

Kelebihan MySQL antara lain :
1. free (bebas didownload)
2. stabil dan tangguh
3. fleksibel dengan berbagai pemrograman
4. Security yang baik
5. dukungan dari banyak komunitas
6. kemudahan management database
7. mendukung transaksi
8. perkembangan software yang cukup cepat.

2. ORACLE

Sejarah Singkat Oracle

Perusahaan Oracle didirikan pada tahun 1977 oleh tiga orang programmer, Bob Miner, Ed Oates, dan Larry Ellison yang menjabat sebagai CEO (Chief Executive Officer) selama beberapa tahun sampai saat ini. Perusahaan ini berkonsentrasi pada pembuatan database server di mainframe.

Kisah sukses Oracle Corp terkait dengan sejarah dan teori database relasional. Teori database relasional diperkenalkan hampir secara simultan oleh Edgar F. Codd (dalam artikelnya yang terkenal Large shared data banks) dan seorang penemu lain yang kurang dikenal, pada tahun 1969. IBM adalah perusahaan pertama yang menerapkan model relasional ini dalam bahasa SQL, dengan produknya DB2. Sayangnya IBM agak ragu akan keampuhan SQL dan model relasional (nantinya akan berpengaruh pada ketertinggalan IBM di pasar database-server sistem operasi Unix dan Windows ).

Larry melihat perkembangan teori model relasional dan implementasi database relasional dalam DB2. Ia yakin bahwa model relational adalah “way of the future” dan memutuskan untuk mengimplementasikan model relasional di produk Oracle. Sebelumnya produk database Oracle memakai model nonrelasional. Oracle menjadi pesaing kuat bagi IBM dalam pasar database server di mainframe, terutama database bermodel relasional.

Sekitar pertengahan tahun 1980an, Larry mendiversifikasi produk Oracle (versi 6.x) keluar mainframe, yakni ke sistem operasi Unix. Selanjutnya tahun 1996 Oracle Corp mendiversifikasi Oracle (versi 7.x) ke sistem operasi Novell Netware, Windows NT, dan Linux (versi 8.x, tahun 1997). Mulai pertengahan tahun 1990an Oracle Corp mulai membuat juga produk-produk nondatabase-server seperti application server (WebDB, OAS), development tools (Oracle Developer, Oracle Designer), dan application suite (Oracle Apps).

Pengertian Oracle

Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. Oracle Server menyediakan solusi yang efisien dan efektif karena kemampuannya dalam hal sebagai berikut:
• Dapat bekerja di lingkungan client/server (pemrosesan tersebar)
* Menangani manajemen space dan basis data yang besar
* Mendukung akses data secara simultan
* Performansi pemrosesan transaksi yang tinggi
* Menjamin ketersediaan yang terkontrol
* Lingkungan yang terreplikasi

Database merupakan salah satu komponen dalam teknologi informasi yang mutlak diperlukan oleh semua organisasi yang ingin mempunyai suatu sistem informasi yang terpadu untuk menunjang kegiatan organisasi demi mencapai tujuannya. Karena pentingnya peran database dalam sistem informasi, tidaklah mengherankan bahwa terdapat banyak pilihan software Database Management System (DBMS) dari berbagai vendor baik yang gratis maupun yang komersial. Beberapa contoh DBMS yang populer adalah MySQL, MS SQL Server, Oracle, IBM DB/2, dan PostgreSQL.

Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, namun banyak orang memiliki kesan yang negatif terhadap Oracle. Keluhan-keluhan yang mereka lontarkan mengenai Oracle antara lain adalah terlalu sulit untuk digunakan, terlalu lambat, terlalu mahal, dan bahkan Oracle dijuluki dengan istilah “ora kelar-kelar” yang berarti “tidak selesai-selesai” dalam bahasa Jawa. Jika dibandingkan dengan MySQL yang bersifat gratis, maka Oracle lebih terlihat tidak kompetitif karena berjalan lebih lambat daripada MySQL meskipun harganya sangat mahal.
Namun yang mereka tidak perhitungkan adalah bahwa Oracle merupakan DBMS yang dirancang khusus untuk organisasi berukuran besar, bukan untuk ukuran kecil dan menengah. Kebutuhan organisasi berukuran besar tidaklah sama dengan organisasi yang kecil atau menengah yang tidak akan berkembang menjadi besar. Organisasi yang berukuran besar membutuhkan fleksibilitas dan skalabilitas agar dapat memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus menerus bertambah besar.
Kelebihan Dan Kekurangan Oracle

Fleksibilitas adalah kemampuan untuk menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-ubah. Sebagai contoh, organisasi yang besar membutuhkan server yang terdistribusi dan memiliki redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak terganggu jika ada server yang mati. Organisasi tersebut juga mempunyai berbagai macam aplikasi yang dibuat dengan beragam bahasa pemrograman dan berjalan di berbagai platform yang berbeda. Oracle memiliki banyak sekali fitur yang dapat memenuhi tuntutan fleksibilitas dari organisasi besar tersebut. Berbagai fitur tersebut membuat Oracle menjadi DBMS yang rumit dan sulit untuk dipelajari, namun itu adalah harga yang harus dibayar untuk mendapatkan fleksibilitas yang dibutuhkan dalam sistem informasi di organisasi yang berukuran besar.

Skalabilitas mengacu pada kemampuan untuk terus berkembang dengan penambahan sumber daya. Organisasi yang besar harus mampu melakukan transaksi data dalam volume yang besar dan akan terus bertambah besar. Jika dijalankan hanya pada satu server saja, MySQL memang bisa berjalan lebih cepat daripada Oracle. Namun jika satu server sudah tidak bisa lagi menangani beban yang terus bertambah besar, kinerja MySQL mengalami stagnasi karena keterbatasan server tersebut. Namun Oracle mendukung fitur Grid yang dapat mendayagunakan lebih dari satu server serta data storage dengan mudah dan transparan. Hanya dengan menambahkan server atau data storage ke dalam Oracle Grid, maka kinerja dan kapasitas Oracle dapat terus berkembang untuk mengikuti beban kerja yang terus meningkat.

Demikianlah salah satu (atau dua) keunggulan dari Oracle. Tidaklah mengherankan bahwa meskipun Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, perusahaan-perusahaan besar memilih Oracle dan tidak menggunakan DBMS seperti MySQL yang gratis karena mereka membutuhkan fleksibilitas dan skalabilitas dalam sistem informasi yang mereka gunakan.

3. FIREBIRH

Sejarah Firebird

Firebird adalah salah satu aplikasi RDBMS (Relational Database Management System) yang bersifat open source. Awalnya adalah perusahaan Borland yang sekitar tahun 2000 mengeluarkan versi beta dari aplikasi database-nya InterBase 6.0 dengan sifat open source. Namun entah kenapa tiba-tiba Borland tidak lagi mengeluarkan versi InterBase secara open source, justru kembali ke pola komersial software. Tapi pada saat yang bersamaan programmer-progammer yang tertarik dengan source code InterBase 6.0 tersebut lalu membuat suatu team untuk mengembangkan source code database ini dan kemudian akhirnya diberinama Firebird.

Pengembangan codebase Firebird 2 dimulai pada awal pengembangan Firebird 1, dengan memporting kode Firebird 1 berbasis C ke dalam bahasa C++ dan merupakan pembersihan kode secara besar-besaran. Firebird 1.5 merupakan rilis pertama dari codebase Firebird 2. Pengembangan ini merupakan satu kemajuan signifikan bagi para developer dan seluruh tim dalam project Firebird, namun tentu ini bukan akhir dari tujuan. Dengan dirilisnya Firebird 1.5, pengembangan lebih lanjut difokuskan pada Firebird versi 2.

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.

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.

Pengguna Firebird

Open source DBMS ini dimotori oleh para developer Interbase 6.x open-source. Jika pernah menggunakan produk-produk RDBMS, seperti Ms-SQL Server, Oracle, DB2, Informix, dan lain-lain, kita tidak akan kesulitan dalam mengenal Firebird. Mengapa Firebird? banyak orang menggunakan produk RDBMS yang sudah populer, dan harganya pun sangat mahal, sehingga banyak yang ingin belajar harus mencari versi ‘bajakan’ dari produk tersebut untuk bisa belajar. Alasannya sederhana, ingin belajar RDBMS berkelas enterprise tetapi tidak usah membayar.

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.

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.

Beberapa kemampuan dari open source DBMS ini antara lain:
(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. Sebagai alternative untuk locking juga bisa digunakan perintah select… for update with lock.
(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, ya, 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) Banyaknya fasilitas support dan maintenance karena banyaknya komunitas Firebird. Di Indonesia sendiri komunitas yang sering menggunakan Firebird biasanya adalah programmer Delphi. Kalau di luar negeri sudah sangat banyak sekali komunitasnya, mulai dari komunitas developer, Firebird architect, Firebird test dan lain sebagainya. Anda bisa mencarinya di Yahoo! Groups www.yahoogroups.com) dengan kata kunci Firebird.

4. Microsoft SQL server 2000

Microsoft SQL Server 2000 adalah perangkat lunak relational database management system (RDBMS) yang didesain untuk melakukan proses manipulasi database berukuran besar dengan berbagai fasilitas. Microsoft SQL Server 2000 merupakan produk andalan Microsoft untuk database server. Kemampuannya dalam manajemen data dan kemudahan dalam pengoperasiannya membuat RDBMS ini menjadi pilihan para database administrator.

DBMS merupakan suatu system perangkat lunak untuk memungkinkan user (pengguna) untuk membuat, memelihara, mengontrol, dan mengakses database secara praktis dan efisien. Dengan DBMS, user akan lebih mudah mengontrol dan mamanipulasi data yang ada. Sedangkan RDBMS atau Relationship Database Management System merupakan salah satu jenis DBMS yang mendukung adanya relationship atau hubungan antar table. RDBMS (Relational Database Management System) adalah perangkat lunak untuk membuat dan mengelola database, sering juga disebut sebagai database engine. Istilah RDBMS, database server-software, dan database engine mengacu ke hal yang sama; sedangkan RDBMS bukanlah database. Beberapa contoh dari RDBMS diantaranya Oracle, Ms SQL Server, MySQL, DB2, Ms Access.

5. Visual Foxpro 6.0

Pada tahun 1984, Fox Software memperkenalkan FoxBase untuk menyaingi dBase II Ashton-Tate. Pada saat itu FoxBase hanyalah perangkat lunak kecil yang berisi bahasa pemrograman dan mesin pengolah data. FoxPro memperkenalkan GUI (Graphical Unit Interface) pada tahun 1989. FoxPro berkembang menjadi Visul FoxPro pada tahun 1995. kemampuan pemrogrman prosural tetap dipertahankan dan dilengkapi dengan pemrograman berorietasi objek. Visual FoxPro 6.0 dilengkapi dengan kemampuan untuk berinteraksi dengan produk desktop dan client/server lain dan juga dapat membangun aplikasi yang berbasis Web. Dengan adanya Visual Studio, FoxPro menjadi anggotanya. Sasaran utama Visual Studio adalah menyediakan alat bantu pemrogrman dan database untuk mengembangka perangkat lunak yang memenuhi tuntutan zaman.

Model data yang digunakan Visual FoxPro yaitu model relasional. Model Relasional merupakan model yang paling sederhana sehingga mudah di pahami oleh pengguna, serta merupakan paling popular saat ini. Model ini menggunakan sekumpulan table berdimensi dua (yang disebut relasi atau table), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. Relasi dirancang sedemikian rupa sehingga dapat menghilangkan kemubajiran data dan mengunakan kunci tamu untuk berhubungan dengan relasi lain.

6. Database Desktop Paradox

Database desktop merupakan suatu program “Add-Ins”, yaitu program terpisah yang langsung terdapat pada Borland Delphi. Pada database desktop terdapat beberapa DBMS yang terintegrasi di dalamnya antara lain Paradox 7, Paradox 4, Visual dBase, Foxpro, Ms. SQL, Oracle, Ms. Acces, db2 dan interbase. Dari beberapa DBMS tersebut kita akan memilih salah satu yaitu Paradox yang akan dibahas lebih lanjut, khususnya Paradox 7. Dalam Paradox 7 ini, pada 1 file database hanya mengizinkan 1 tabel, berbeda dengan DBMS lain yang mengizinkan beberapa tabel pada 1 file database seperti pada Ms. Acces.

Struktur field pada Paradox 7 :

1. Field Name

Field Name merupakan nama pengenal kolom pada suatu tabel. Terdapat beberapa aturan dalam penulisan field name antara lain :

* Panjang maksimum 25 karakter
* Tidak boleh diawai dengan spasi tapi boleh mengandung spasi
* Unik, artinya tidak ada nama kolom yang sama
* Tidak boleh menggunakan tanda koma (,), tanda pipe (|), dan tanda seru (!)

• Hindari kata-kata yang merupakan perintah SQL

2. Type

Digunakan untuk menetukan tipe data yang dapat ditampung dalam field. Macam-macam tipe data yang sering dipakai dalam Paradox adalah sebagai berikut :

3. Size
Merupakan ukuran dari panjang data yang diizinkan untuk suatu field.

4. Key

Dapat berupa primary key sebagai key yang membedakan untuk setiap baris kolom. Syarat untuk primary key adalah unik, artinya tidaka boleh ada data yang memiliki primary key yang sama.

KONSEP DATABASE DAN APLIKASI DI DALAM DATABASE MANAGEMENT SYSTEM.
DBMS adalah perangkat lunak yang menangani semua akses terhadap database dan menyediakan user interface terhadap sistem database.

Beberapa fungsi yang disediakan oleh DBMS ini antara lain:
• Mengatur dan mengontrol data dalam jumlah yang besar.
• Melakukan backup, recovery, dan logging terhadap database.
• Menyederhanakan dan memperluas database security.
• Melakukan pemeriksaan terhadap integritas data.

DBMS memiliki beberapa model di antaranya adalah model hirarki (hierarchical), model jaringan (network), dan model relasi (relational) atau dikenal dengan RDBMS (Relational Database Management System). Model relasi merupakan model DBMS yang sering digunakan oleh para vendor DBMS karena memiliki beberapa kelebihan jika dibandingkan dengan model DBMS yang lain. Adapun model database itu sendiri adalah suatu pandangan konseptual tentang bagaimana elemen data diorganisasikan secara logik dan disusun secara fisik. Untuk selanjutnya pembahasan di dalam modul ini berdasarkan pada model database relasi.

Model database relasi mula-mula diperkenalkan oleh Dr.Edgar F. Codd, melalui publikasi seminarnya di majalah SIGDBD. Dengan menjabarkan satu set aturan tentang bagaimana merancang sebuah database relasi. Struktur logik dari model data relasi berubah ke bentuk fisik yang disebut tabel. Tabel-tabel dua dimensi ini berkaitan antara satu dengan yang lainnya, tidak melalui suatu pointer melainkan lewat adanya kesamaan nilai data pada kolom-kolom (field) dalam tabel-tabel tersebut. Dengan model ini dimungkinkan terjadinya akses serempak terhadap sejumlah data pada tabel yang berbeda, sejauh tabel-tabel tersebut berkaitan (berelasi) melalui field-field record yang sama (key record).

Yang mendasari database relasi adalah model data relasinya yang sering disebut entity relationship yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi objek-objek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas yang ada.

Di dalam sistem database terdapat beberapa komponen, antara lain adalah:
• Field
Merupakan satuan terkecil dari tabel yang meggambarkan satu item data. Sebagai contoh nama, alamat dan lain sebagainya.

• Record
Kumpulan dari field-field yang meggambarkan satu unit data individu tertentu. Sebagai contoh, data pegawai dengan NIP 12990001 dengan nama Amin, lahir di Bandung dan informasi lainnya yang berhubungan dengan pegawai.

• Table
Kumpulan dari beberapa record yang yang menggambarkan satu kesatuan data dan memiliki arti tertentu. Sebagai contoh Pegawai, Departemen, Satuan kerja dan lain-lain.

• Primary key
Adalah field yang memiliki nilai unik dalam artian field tersebut tidak mungkin memiliki data yang sama, sebagai contoh field NIP pada tabel PEGAWAI dapat dijadikan sebagai primari key karena setiap pegawai memiliki satau NIP.

• Foreign key
Adalah field yang digunakan sebagai penghubung antara satu tabel dengan tabel yang lain agar saling berelasi, sebagai contoh pada tabel SATKER juga memiliki field NIP, tetapi field NIP di sini merupakan field foreign key yang digunakan untuk menghubungkan tabel PEGAWAI dengan tabel SATKER.

Karakteristik Database dalam Database Management System (DBMS)
Database memiliki tiga karakteristik utama, yaitu:
• Data yang sama dapat diakses secara serempak oleh beberapa pengguna untuk berbagai kegunaan yang berbeda.
• Data tidak bergantung kepada struktur penyimpanan atau cara membaca data dari program aplikasi, atau data bersifat transparan terhadap program aplikasi.
• Data memiliki integritas (yaitu akurasi dan validasi) yang terkendali.

Strategi akses terhadap data yang bersifat logik, menyebabkan database berbeda dari file-file komputer yang lain. Aplikasi sangat bergantung pada struktur data yang dimiliki oleh database, karena itu aplikasi tidak mengetahui bagaimana data disimpan pada database. Database memiliki sifat terbebaskan dari keadaan fisik data yang dapat menyebabkan database mengembang ukurannya, tetapi hal tersebut dapat mudah diatasi dengan cara dipindahkan ke sistem yang lebih besar lagi tanpa menulis ulang aplikasinya.

Konsep aplikasi dalam Database Management System

Definisi Aplikasi
Aplikasi adalah sebuah program komputer yang dibuat khusus untuk menjalankan fungsi-fungsi tertentu sesuai dengan kebutuhan pengguna yang digunakan untuk mempercepat suatu pekerjaan. Dengan menggunakan sistem komputerisasi, diharapkan pekerjaan dapat dilakukan dengan cepat. Aplikasi dapat dibagi menjadi dua bagian, yaitu aplikasi yang digunakan dan terhubung pada jaringan komputer (client server) dan aplikasi yang berdiri sendiri tidak terhubung dengan jaringan komputer (stand alone).

Arsitektur Aplikasi Stand Alone
Aplikasi stand alone adalah aplikasi komputer yang dapat dijalankan hanya pada satu komputer. Database dan programnya menjadi satu di dalam komputer tersebut, karena database dan program menyatu di dalam satu komputer maka aplikasi stand alone ini biasanya disebut sebagai aplikasi satu tingkat (one tier).

Arsitektur Aplikasi Client-Server
Arsitektur aplikasi client-server didasarkan pada hal yang sederhana yaitu komputer yang berbeda melakukan tugas yang berbeda, dan setiap komputer dapat dioptimalkan untuk tugas tertentu. Jadi masuk akal jika memisahkan DBMS dari aplikasi client.
Pada arsitektur aplikasi client-server, aplikasi dipecah-pecah ke dalam dua komponen utama yang bekerja sama untuk mencapai satu tujuan bersama. Komponen-komponen ini disebut dengan tier (tingkat), dan setiap tingkat mengimplementasikan fungsi yang berbeda-beda.

Model Dua Tingkat (Two-Tier)
Tingkat pertama dari aplikasi client-server adalah client tier atau presentation tier yang dijalankan pada sisi client. Tingkat ini mengandung kode yang menampilkan data dan berinteraksi dengan user. Dapat berupa aplikasi yang dibuat menggunakan tool developer (Visula Basic, Delphi dan tool developer lainnya) atau dapat berupa halaman web pada browser yang berinteraksi dengan database.

Model Tiga-Tingkat (Three-Tier)
Pada arsitektur dua tingakat atau client-server, client terhubung langsung ke database server. Setiap aplikasi yang terhubung ke SQL Server atau MySql dan mengambil informasi, misalnya nama pegawai atau tunjangan pegawai, adalah aplikasi client-server (two-tier). Peran dari database adalah mengakses dan meng-update data. Dengan kata lain, client bertanggung jawab menampilkan data kepada pengguna, mengirimkan input dari pengguna, mempersiapkan permintaan yang sesuai untuk database server, dan akhirnya mengimplementasikan suatu hal yang disebut Business Rules. Business Rules adalah prosedur yang khusus digunakan oleh suatu instansi atau perusahaan.

Sebagai contoh instansi anda mungkin memiliki aturan yang membatasi usia maksimum seorang pegawai adalah 55 tahun untuk seorang pegawai, untuk setiap pegawai yang telah memiliki usia lebih dari 55 tahun akan dipensiunkan. Aturan-aturan seperti ini harus diterjemahkan ke dalam kode program tool developer, yang akan dijalankan pada client. Anda juga dapat menulis kode program yang akan dijalankan pada server, tetapi anda tidak dapat memindahkan semua pemrosesan kembali ke server.

Ini membawa kita ke sebuah tingkat ketiga yang disebut dengan middle tier. Tingkat menengah ini merupakan sebuah objek yang berada di antara aplikasi client dan server. Objek ini berisi fungsi-fungsi business rules (kode program) yang telah didefinisikan sebelumnya, dan akhirnya aplikasi client tidak terlalu dibebankan dengan business rule yang awalnya dijalankan di sisi client.

Keuntungan utama dari middle tier ini adalah dapat mengisolasi client dari server. Client tidak lagi mengakses database, tetapi memanggil fungsi-fungsi yang dimiliki oleh objek pada middle tier. Model aplikasi tiga tingkat ini memecah komponen-komponen aplikasi ke dalam tiga kategori atau lapisan

Presentation layer
Lapisan aplikasi ini berjalan pada client, tugas utama menampilkan informasi kepada user.

Aplication Layer
Lapisan ini dikenal sebagai lapisan bisnis yang mengandung logika dari aplikasi. Lapisan tersebut berfungsi menyederhanakan akses client kedalam database dengan mengisolasi pelayanan pengguna dari database.

Data Layer
Lapisan ini adalah database server, melayani permintaan yang dibuat oleh client.

Beberapa Istilah Penting dalam Database Management System
Terdapat beberapa istilah penting yang perlu kita pahami dalam mempelajari Database yaitu:

• SQL (Structure Query Language)
Bahasa universal yang digunakan untuk memanipulasi database dan didukung oleh semua DBMS.

• DDL (Data Definition Languange)
Salah satu pernyataan SQL yang digunakan untuk mendefinisikan tabel.

• DML (Data Manipulation Language)
Salah satu pernyataan SQL yang digunakan untuk mendefinisikan tabel.

• Client-Server
Secara umum, setiap komputer dalam sistem jaringan dapat dikategorikan menjadi dua tipe yaitu server dan client. Komputer yang menyediakan layanan (seperti database, web, mail, file, dll) kepada komputer lainnya dinamakan server. Komputer yang menghubungi komputer lain untuk meminta layanan dinamakan client. Suatu komputer dapat sekaligus menjadi server dalam menyediakan suatu layanan tertentu dan menjadi client kepada server lain. Sebagai contoh, suatu komputer web server merupakan server bagi browser (client) namun juga merupakan client bagi suatu database server yang menjadi sumber data dari data-data yang diinginkan oleh pengguna (via browser). Dalam hal ini, browser selalu merupakan client dari web server. Suatu komputer dapat menjalankan beberapa layanan sekaligus, misalkan menjalankan layanan web, database, dan mail sekaligus.

• Tool Developer
Program komputer yang digunakan untuk membuat program aplikasi komputer.

0 komentar:

Posting Komentar