Model data relasional mempunyai batasan nilai dalam atribut dan tipe datanya disebut

Gambar di samping ini adalah gambar sebuah pesawat telepon seluler atau lebih dikenal sebagai handphone yang sedang menjalankan salah satu aplikasi yaitu Contact List. Mungkin aplikasi seperti pada gambar ini tidak asing bagi kalian yang pernah menggunakan handphone. Aplikasi ini menyimpan nama teman, orang tua atau yang lainnya lengkap dengan nama dan nomor teleponnya. Bahkan kadang-kadang dilengkapi dengan alamat email, alamat kantor, nomor fax dan data-data lainnya.

Model data relasional mempunyai batasan nilai dalam atribut dan tipe datanya disebut

Gambar 10.1. Fasilitas contact list pada pesawat telepon seluler

Perhatikan aplikasi Contact List ini. Ketika kalian memasukkan nama dan nomor telepon seseorang maka nama dan nomor telepon tersebut tidak akan tertukar dengan nama atau nomor telepon orang lain. Semuanya teratur rapi. Kalian juga bisa mencari nama orang tertentu hanya dengan mengetikkan beberapa huruf yang ada hubungannya dengan nama. Perhatikan juga bahwa nama yang tersimpan selalu urut abjad, meskipun anda memasukkannya tidak berdasarkan urutan.

Data nama, nomor telepon dan data-data lainnya pada aplikasi Contact List disusun berdasarkan konsep pengaturan data yang lebih dikenal sebagai basis data. Pada bab ini kita akan mempelajari konsep-konsep dasar basis data. Kompetensi dasar sistem manajemen basis data (DBMS) merupakan bagian dari standar kompetensi membuat aplikasi berbasis Microsoft Access yang akan dibahas detil pada Bab 11. Bagian akhir dari bab ini akan ditutup dengan ringkasan dan latihan soal.

Tujuan

Setelah mempelajari bab ini diharapkan pembaca akan mampu:

  • Menjelaskan pengertian data, basis data dan sistem manajemen basis data (DBMS)
  • Menjelaskan Entity-Relationship Diagram
  • Menjelaskan basis data relasional.

1. 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).

Jika dibayangkan, basis data mirip dengan lemari di ruang administrasi sekolah yang menyimpan berbagai arsip.  Masing-masing jenis arsip dikelompokkan, diatur dan disimpan pada tempat yang telah ditentukan.  Sehingga akan ada kelompok arsip siswa, arsip guru, arsip mata pelajaran, arsip keuangan, dan lain-lain.  Perbedaannya hanya pada media penyimpanannya.  Kalau lemari arsip menggunakan lemari dari kayu, besi atau plastik, sedangkan basis data menggunakan media penyimpan elektronis seperti disk (hard disc, CD, atau tape).  Gambar 10.2 memberikan ilustrasi tentang kesamaan lemari arsip dan basis data.

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.

Model data relasional mempunyai batasan nilai dalam atribut dan tipe datanya disebut

Gambar 10.2. Lemari arsip dan 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).

Model data relasional mempunyai batasan nilai dalam atribut dan tipe datanya disebut

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.

Model data relasional mempunyai batasan nilai dalam atribut dan tipe datanya disebut

Gambar 10.4. 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:

  • Efisiensi meliputi kecepatan (speed), ruang simpan (space) dan keakuratan (accuracy).
  • Menangani data dalam jumlah besar. 
  • Kebersamaan pemakaian (Shareability). 
  • 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.

Model data relasional mempunyai batasan nilai dalam atribut dan tipe datanya disebut

Gambar 10.5. Struktur umum DBMS

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

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 asal kompatibel dengan ODBC (Open Database Connectivity).

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 berdasarkan web 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.

Model data relasional mempunyai batasan nilai dalam atribut dan tipe datanya disebut

Gambar 10.7. Tampilan Microsoft Access

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.

Model data relasional mempunyai batasan nilai dalam atribut dan tipe datanya disebut

Gambar 10.9. Tampilan awal phpMyAdmin

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 Rekayasa Perangkat Lunak 261 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 profesional telah tersedia fasilitas GUI (Gambar 10.11).

Model data relasional mempunyai batasan nilai dalam atribut dan tipe datanya disebut

Gambar 10.11. GUI pada Microsoft SQL Server

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 262 Rekayasa Perangkat Lunak 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.

Oracle Database

Model data relasional mempunyai batasan nilai dalam atribut dan tipe datanya disebut

Gambar 10.13. Logo Oracle

Nama Oracle Database atau Oracle RDBMS adalah nama yang sangat diperhitungkan dalam dunia DBMS. Oracle dikembangkan oleh Oracle Corporation.

Oracle menyimpan data secara logika dalam bentuk tablespaces dan secara fisik dalam bentuk file-file data. Tablespaces dapat berisi berbagai macam bagian memori, misalnya bagian data, bagian index dan lain sebagainya. Bagian-bagian ini berisi satu atau lebih area. Area-area ini berisi kumpulan blok data yang berdekatan. Oracle dapat menyimpan dan store procedure dan fungsi secara mandiri.