Basis Data
Basis data (database) merupakan kumpulan dari data
yang saling berhubungan satu dengan yang lainnya, tersimpan dalam perangkat
keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Basis data merupakan
salah satu komponen utama dalam sistem informasi, karena merupakan basis dalam
penyediaan informasi bagi para pemakai (Fathansyah, 1999; Post, 1999).
Satu hal penting yang harus diperhatikan, basis
data bukan hanya sekedar
penyimpanan data secara elektronis. Tidak semua penyimpanan data
elektronis bisa disebut basis data. Apabila penyimpanan itu tidak menggunakan
prinsip pengaturan, pemisahan atau pengorganisasian maka kita tidak dapat
menyebut penyimpanan data tersebut sebagai basis data. Pada Gambar 10.2
terlihat penerapan prinsip pengaturan, pengorganisasian atau pemisahan, baik
pada lemari arsip atau pada basis data.
Prinsip utama dalam basis data adalah konsep independensi data yaitu pemisahan data dari program aplikasinya (Lewis et al., 2002; Post, 1999). Sedangkan tujuan utama dalam basis data adalah membantu pengguna dalam abstraksi suatu sistem. Ada tiga level abstraksi yang biasanya digunakan yaitu physical level, conceptual level dan view level (Gambar 10.3). Physical level menunjukkan bagaimana data akan disimpan. Conceptual level berkaitan
dengan data apa yang akan disimpan dan bagaimana hubungan antar data tersebut.
View level merupakan level tertinggi yang menjelaskan bagian-bagian basis data
pada pengguna tertentu (Ramakrishnan and Gehrke, 2000).
Gambar 10.3. Tingkatan dalam abstaksi data (Lewis et al., 2002).
Basis data mempunyai beberapa kriteria penting, yaitu :
1. Bersifat data oriented dan bukan program oriented.
2. Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah
basis datanya.
3. Dapat dikembangkan dengan mudah, baik volume maupun strukturnya.
4. Dapat memenuhi kebutuhan sistem-sistem baru secara mudah
5. Dapat digunakan dengan cara-cara yang berbeda.
Secara bertingkat, operasi dasar basis data dapat digambarkan dalam
skema pada Gambar 10.4. Operasi-operasi tersebut meliputi:
- Pembuatan basis data baru (create database).
Operasi ini sama dengan
pembuatan atau pembelian lemari arsip yang baru.
- Penghapusan basis data (drop database). Operasi
ini sama dengan
pengrusakan atau penghancuran lemari arsip.
- Pembuatan tabel baru (create table). Operasi ini
sama dengan
penambahan kelompok arsip baru. Operasi ini baru bisa dijalankan jika
basis data telah dibuat.
- Penghapusan tabel (drop table). Operasi ini sama
dengan pengrusakan
kelompok arsip lama. Operasi ini baru bisa dijalankan jika tabel telah
ada
pada suatu basis data.
Operasi-operasi dasar pada basis data.
- Pengisian atau penambahan data baru (insert data)
pada suatu tabel. Operasi ini mirip dengan penambahan lembaran arsip baru pada
kelompok arsip. Operasi ini baru bias dijalankan jika tabel telah dibuat.
- Pengambilan data dari suatu tabel (retrieve data).
Operasi ini mirip dengan pencarian lembaran arsip yang tersimpan dalam kelompok
arsip.
- Pengubahan data dari suatu tabel (update data).
Operasi ini mirip dengan perbaikan isi lembaran arsip dari suatu kelompok arsip
- Penghapusan data dari suatu tabel (delete).
Operasi ini mirip dengan penghapusan sebuah lembaran arsip dari suatu kelompok
arsip.
Basis data dibangun untuk memenuhi tujuan dalam
pengorganisasian data, yang antara lain sebagai berikut :
1. Efisiensi meliputi kecepatan (speed), ruang simpan (space) dan
keakuratan (accuracy).
2. Menangani data dalam jumlah besar.
3. Kebersamaan pemakaian (Shareability).
4. Meniadakan duplikasi dan inkonsistensi data
2.Sistem Manajemen Basis Data
Pengelolaan basis data secara fisik tidak dilakukan oleh pemakai secara
langsung, tetapi ditangani oleh sebuah Perangkat Lunak yang khusus/spesifik. Perangkat
lunak inilah disebut DBMS yang akan menentukan bagaimana data diorganisasi,
disimpan, diubah dan diambil kembali. Ia juga menerapkan mekanisme pengaman
data, pemakaian data secara bersama, pemaksaan keakuratan/konsistensi data,
sebagainya. Secara ringkas struktur suatu DBMS
dapat dilihat pada Gambar 10.5.
Aplikasi-aplikasi tambahan bersifat opsional (bisa ada dan bisa tidak)
dan biasanya terdapat pada DBMS sebagai fungsi tambahan. Sebagai contoh, aplikasi
pembuat report (laporan), aplikasi untuk mendisain form, aplikasi untuk membuat
diagram atau chart, aplikasi untuk monitoring sistem, dan aplikasiaplikasi lainnya.
Ada puluhan bahkan mungkin ratusan perangkat lunak DBMS yang tersedia.
Masing-masing dengan spesifikasinya sendiri-sendiri. Mulai dari yang sangat
sederhana sampai yang paling kompleks. Pada bagian ini kita akan
membahas 5 buah DBMS yang cukup familiar dikalangan pengguna DBMS,
yaitu
Microsoft Access, MySQL, Microsoft SQL Server, PosgreSQL, dan Oracle.
Microsoft Access
Gambar 10.6.
Microsoft Access atau kadang disebut juga Microsoft Office Access
adalah DBMS relational keluaran dari Microsoft yang termasuk dalam paket
Microsoft Office. Microsoft
Access mengkombinasikan engine relational Microsoft Jet Database, Graphical
User Interface (GUI) dan perangkat pengembang perangkat lunak. Microsoft
Access dapat
menggunakan data yang disimpan dalam Microsoft Jet Database, Microsoft
SQL Server, Oracle atau tipe lain asalkompatibel dengan ODBC (Open Database
Connectivity).
Microsoft Access seringkali digunakan dalam pengembangan aplikasi
secara cepat (Rapid Application Development), terutama untuk membangun
prototipe dan
aplikasi stand-alone. Microsoft Access juga dapat digunakan sebagai
basis data untuk aplikasi berbasis web sederhana. Namun pada aplikasi yang
lebih kompleks, baik berdasarkanweb atau tidak, Microsoft Access bukanlah
pilihan yang baik. Terutama karena kekurangannya dalam menangani penggunaan oleh
banyak pengguna (multi-user). Hal ini
karena sebenarnya Microsoft Access adalah sebuah basis
data personal yang lebih ditujukan untuk single-user. Microsoft Access juga
tidak dilengkapi dengan database triggers dan stored procedurs
Salah satu keuntungan dari Microsoft Access bagi programmer adalah
kompatibilitasnya terhadap SQL (structured query language) relatif tinggi. Pada
Microsoft
Access kita dapat membuat query berbasis teks atau berbasis GUI
kemudian dapat langsung dieksekusi dengan mudah untuk mendapatkan hasil.
·
MyQSL
MySQL adalah SQL-DBMS yang bersifat multi-user dan multi-threaded. MySQL
berjalan sebagai server yang melayani banyak pengguna untuk mengakses sejumlah
basis data. DBMS ini sangat populer di dunia aplikasi berbasis web sebagai
komponen basis data. Selain karena tersedia dalam versi gratis, popularitas
MySQL juga sangat
dipengaruhi oleh populernya web server Apache dan bahasa pemrograman
PHP. Istilah-istilah seperti LAMP (Linux- Apache-MySQL-PHP/Perl/Python), MAMP
(Mac-Apache- MySQL-PHP/Perl/Python dan WAMP (Windows-Apache- MySQL-PHP/Perl/Python
menjadi sangat terkenal. Banyak sekali aplikasi berbasis web yang dibangun
dengan menggunakan kombinasi perangkat lunak tersebut. WordPress, Drupal,
Mambo, Wikipedia, PHP-Nuke,
merupakan beberapa contoh aplikasi berbasis web yang menggunakan
kombinasi ini.
Tidak seperti Microsoft Access, default instalasi MySQL tidak
menyediakan GUI bagi pengguna untuk berinteraksi dengan basis data. Pengguna
dapat berinteraksi dengan client yang menggunakan perintahperintah berbasis
teks. Namun saat ini telah banyak GUI yang dikembangkan untuk mempermudah
interaksi dengan basis data, baik itu berupa aplikasi stand-alone (misalnya MySQL-Front,
MySQL-GUI, dan lain-lain) atau yang berbasis
web (misalnya, phpMyAdmin). Bahkan dengan menggunakan komponen MyODBC,
MySQL dapat diakses dengan GUI dari Microsoft Access seperti halnya basis data yang
kompatibel dengan ODBC lainnya.
·
Microsoft SQL Server
Microsoft SQL Server adalah DBMS relational keluaran dari Microsoft
seperti halnya Microsoft Access. Bahasa query utama yang digunakan adalah
varian dari
ANSI SQL yang disebut sebagai T-SQL (Transact-SQL). Bahasa ini
membolehkan pengguna untuk membuat stored procedure sehingga meningkatkan
efisiensi akses ke basis data. DBMS ini juga dilengkapi dengan fasilitas
clustering dan mirroring. Cluster adalah kumpulan dari server-server yang
konfigurasinya identik sehingga memungkinkan
pembagian kerja antar server. Sedangkan fasilitas mirroring membolehkan
suatu DBMS untuk membuat tiruan (replika) dari isi basis data secara lengkap
untuk digunakan
pada server yang lain. Microsoft SQL Server tersedia dalam beberapa
versi
distribusi. Pada Microsoft SQL Server yang didistribusikan bersama
Microsoft Office atau Microsoft Visual Studio, biasa disebut MSDE (Microsoft
SQL Server Database Engine),
tidak dilengkapi dengan perangkat GUI. Pengguna dapat melakukan
interaksi dengan menggunakan client berbasis perintah teks seperti halnya
MySQL. Sedangkan pada versi
yang lebih tinggi seperti versi personal atau professional
telah tersedia fasilitas GUI (Gambar 10.11).
·
PostgreSQL
PostgreSQL atau sering disebut Postgres termasuk dalam kategori Object-Relational
Database Management System (ORDBMS). ORDBMS adalah DBMS yang selain menggunakan
prinsip-prinsip basis data relational juga menggunakan pendekatan berorientasi
obyek dalam model basis datanya. Postgres dikembangkan sebagai freesoftware
dan bersifat terbuka (open-source) sehingga tidak dikendalikan oleh
satu atau dua perusahaan. Kelebihan Postgres dibandingkan DBMS lainnya adalah,
sifatnya yang free dan open-source, dukungan dokumentasinya yang luar biasa,
fleksibilitasnya dan fiturfiturnya
yang tidak kalah dengan DBMS komersial. Selain mendukung model data
object-relational, Postgres juga mendukung penggunaan basis data spasial
(biasanya untuk penggunaan Sistem Informasi Geografis). Postgres juga mendukung
operasi multi-user dan multi-threaded, bahkan mungkin lebih bagus dari MySQL
dari sisi keamanan. Seperti halnya MySQL dan Microsoft SQL Server, kita dapat
berinteraksi dengan basis data pada Postgres menggunakan perintah-perintah
disisi klien dengan tool yang disebut psql. Antar muka yang bersifat GUI juga telah
banyak dikembangkan, diantaranya phpPgAdmin, PgAdmin, dan lain-lain.
No comments:
Post a Comment