Sistem Manajemen Basis Data

Sistem Manajemen Basis Data

Sistem Manajemen Basis Data

Sistem Manajemen Basis Data
Sistem Manajemen Basis Data
Sistem Manajemen Basis-Data (Data Base Management System / DBMS) adalah perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol, dan mengakses basis data dengan cara praktis dan efisien.
DBMS dapat digunakan untuk mengakomodasikan berbagai macam pemakai yang memiliki kebutuhan akses yang berbeda – beda. DBMS pada umumnya menyediakan fasilitas atau fitur – fitur yang memungkinkan data dapat diakses dengan mudah, aman, dan cepat.
Beberapa fitur yang secara umum tersedia adalah:
  • Keamanan
    DBMS menyediakan sistem pengamanan data sehingga tidak mudah diakses oleh orang yang tidak memiliki hak akses.
  • Independensi
    DBMS menjamin independensi antara data dan program, data tidak bergantung pada program yang mengakses-nya, karena struktur datanya dirancang berdasarkan kebutuhan informasi, bukan berdasarkan struktur program. Sebaliknya program juga tidak bergantung pada data, sehingga walaupun struktur data diubah, program tidak perlu berubah.
  • Konkruensi / data sharing
    Data dapat diakses secara bersamaan oleh beberapa pengguna karena manajemen data dilaksanakan oleh DBMS.
  • Integritas
    DBMS mengelola file-file data serta relasi-nya dengan tujuan agar data selalu dalam keadaan valid dan konsisten.
  • Pemulihan
    DBMS menyediakan fasilitas untuk memulihkan kembali file-file data ke keadaan semula sebelum terjadi-nya kesalahan (error) atau gangguan baik kesalahan perangkat keras maupun kegagalan perangkat lunak.
  • Kamus / katalog sistem
    DBMS menyediakan fasilitas kamus data atau katalog sistem yang menjelaskan deskripsi dari field-field data yang terkandung dalam basisdata.
  • Perangkat Produktivitas
    DBMS menyediakan sejumlah perangkat produktivitas sehingga memudahkan para pengguna untuk menarik manfaat dari database, misalnya report generator (pembangkit laporan) dan query generator (pembangkit query / pencarian informasi).

Keunggulan dan Kelemahan

Sistem Manajemen Basis-Data (DBMS) memiliki berbagai keunggulan dibandingkan dengan pengelolaan data tanpa DBMS, walaupun tidak terlepas dari beberapa kelemahan.
Keunggulan DBMS antara lain :
  • Mengurangi duplikasi data atau data redundancy
  • Menjaga konsistensi dan integritas data
  • Meningkatkan keamanan data
  • Meningkatkan effisiensi dan effektivitas penggunaan data
  • Meningkatkan produktivitas para pengguna data
  • Memudahkan pengguna dalam menggali informasi dari kumpulan data
  • Meningkatkan pemeliharaan data melalui independensi data
  • Meningkatkan pemakaian bersama dari data
  • Meningkatkan layanan backup dan recovery data
  • Mengurangi konflik antar pengguna data
Kelemahan DBMS antara lain sbb:
  • Memerlukan suatu skill tertentu untuk bisa melakukan administrasi dan manajemen database agar dapat diperoleh struktur dan relasi data yang optimal
  • Memerlukan kapasitas penyimpanan baik eksternal (disk) maupun internal (memory) agar DBMS dapat bekerja cepat dan efisien.
  • Harga DBMS yang handal biasanya sangat mahal
  • Kebutuhan akan sumber daya (resources) biasanya cukup tinggi
  • Konversi dari sistem lama ke sistem DBMS terkadang sangat mahal, disamping biaya pengadaan perangkat keras dan perangkat lunak, diperlukan pula biaya pelatihan.
  • Apabila DBMS gagal menjalankan misinya maka tingkat kegagalan menjadi lebih tinggi karena banyak pengguna yang bergantung pada sistem ini.
Berikut ini beberapa DBMS yang terkenal.
  • Access (Microsoft Corporation)
  • DB2 (IBM)
  • Informix (IBM)
  • Ingress (Computer Associate)
  • mySQL (The MySQL Company)
  • Oracle (Oracle Corporation)
  • Sybase (Sybase Inc.)
  • Visual dBase (Borland)
  • Visual FoxPro (FoxPro Corporation)

DBMS untuk model data berbasis objek biasanya dinamakan sebagai Object Oriented Data Base Management System (OODBMS).

Beberapa OODBMS yang terkenal adalah sebagai berikut:

  • Gemstone (Gemstone System)
  • Matisse (ADB Inc.)
  • Versant (Versant)
  • Jeevan (W3 Apps)
  • Vision (Insyte)
  • Objectivity (Objectivity Inc.)
  • ObjectStone (Object Design Inc.)
Perlu ditambahkan disini bahwa beberapa DBMS berbasis objek sebenarnya tetap menggunakan file data relasional biasa, dengan kata lain, programnya berbasis objek tetapi datanya masih model relasional biasa. Software seperti ini biasanya disebut sebagai Object Oriented Relational DataBase Management System (OORDBMS), misalnya Visual dBase.

Arsitektur DBMS

Salah satu tujuan dari DBMS adalah untuk menyediakan sarana antar muka (interface) dalam meng-akses data secara efisien tanpa harus melihat kerumitan atau detail tentang cara data direkam dan dipelihara. DBMS memiliki arsitektur untuk melakukan abstraksi dari data sehingga dapat diperoleh independensi data-program.
Pada tahun 1975, badan standarisasi nasional Amerika ANSI-SPARC (American National Standards Institute – Standards Planning and Requirements Committee) menetapkan tiga level abstraksi dalam database, yaitu :
  • Level Eksternal (external level) atau Level Pandangan (view level)
    Adalah level yang berhubungan langsung dengan pengguna database. Pada level ini pengguna (user) hanya bisa melihat struktur data sesuai dengan keperluannya sehingga setiap user bisa memiliki pandangan (view) yang berbeda dari user lainnya. Pada level ini pula dimungkinkan pandangan user berbeda dengan representasi fisik dari data, misalkan untuk data hari secara fisik data direkam dalam bentuk kode (1, 2, 3, dst) sedang user melihat data dalam bentuk teks nama hari (Ahad, Senin, Selasa, …). Data yang dilihat oleh user seakan-akan berasal dari satu file, secara fisik mungkin diambil dari beberapa file yang berelasi.
  • Level Konseptual (conceptual level)
    Adalah level dari para administrator database, pada level ini didefinisikan hubungan antar data secara logik, sehingga diperlukan struktur data secara lengkap. Para administrator database memahami bagaimana satu view dijabarkan dari beberapa file data, demikian pula pada saat perancangan database mereka dapat saja membagi data menjadi beberapa file agar dapat diakses dan disimpan secara efisien.
  • Level Internal (internal level) atau Level Fisik (physical level)
    Adalah level dimana data disimpan secara fisik dalam bentuk kode, teks, angka, bit. Pada level ini didefinisikan allokasi ruang penyimpanan data, deskripsi data dalam penyimpanan, kompressi data (agar lebih hemat), dan enkripsi data (agar lebih aman).
Agar independensi data dapat dicapai maka disediakan pemetaan antar lapisan (level), yatiu pemetaan eksternal-konseptual dan pemetaan konseptual-internal. Pada pemetaan eksternal-konseptual, DBMS dapat memetakan field-field data dari user-view ke dalam struktur data yang sesungguhnya. Pada pemetaan konseptual-internal, DBMS dapat menemukan rekaman fisik dari data yang didefinisikan pada struktur logik.

Bahasa DBMS

Implementasi bahasa DBMS bervariasi sesuai dengan variasi perusahaan yang merancangnya, namun pada prinsipnya bahasa ini bisa dikategorikan ke dalam tiga komponen bahasa, yaitu:
  • Data Definition/Decription Language (DDL)

    Komponen bahasa DBMS yang digunakan untuk mendefinisikan struktur data antara lain perintah untuk membuat tabel baru (CREATE) dimana terdefinisi komponen/field data dengan tipe dan panjangnya, mengubah index (INDEX, REINDEX) agar setiap rekord dalam satu file data dapat diakses melalui indeks-nya, mengubah struktur (MODIFY STRUCT) dari file data, dan sebagainya. Komponen bahasa ini banyak digunakan oleh para administrator basisdata pada saat merencanakan atau membangun file-file basisdata.

  • Data Manipulation Language (DML)
    Komponen bahasa DBMS yang digunakan untuk memanipulasi data, komponen ini diperlukan oleh para pengguna untuk memanipulasi data, antara lain perintah-perintah untuk melakukan hal-hal berikut ini:
    1. mengambil data dari basisdata (LIST, DISPLAY)
    2. menambah data kedalam basisdata (INSERT, APPEND)
    3. meremajakan data yang ada dalam basisdata (UPDATE)
    4. menghapus data yang tidak diperlukan (DELETE)
    5. meng-urutkan data (SORT)
    6. menghitung frekuensi data (COUNT)
    7. mencari data (SEEK, FIND)
    DML dapat dibedakan atas dua macam, yaitu DML Prosedural dan DML Non-Prosedural. Pada DML Prosedural ketika data akan dimanipulasi maka perintah harus disertai dengan perintah-perintah bagaimana data diakses dari file database. Perintah DML Prosedural biasanya termuat dalam bahasa pemrograman tingkat tinggi (high level programming language) seperti COBOL, C, C++ dan sebagainya. Pada DML non-Prosedural data dapat dimanipulasi langsung tanpa harus memerintahkan bagaimana data dibaca dari file. Perintah DML non-Prosedural biasanya digunakan dalam bahasa-bahasa DBMS seperti pada dBase, Access, Paradox, FoxPro, SQL, dan sebagainya.
  • Device Control Media Language (DCML)

    Komponen bahasa DBMS yang digunakan untuk mengatur perekaman atau penyimpanan data secara fisik. Komponen bahasa DCML digunakan oleh operator-operator sistem basisdata didalam mengatur file-file data secara fisik. Perintah-perintah yang termuat dalam komponen ini, antara lain perintah perintah: merekam (Write Record, Create Table), menghapus (Drop, Delete Table).

Komponen Utama DBMS

Komponen utama DBMS dapat dibagi menjadi empat macam :
  • Perangkat keras
  • Data, Data dalam basis data mempunyai sifat terpadu (integrated) dan berbagi (shared)
  • Perangkat Lunak, dan
  • Pengguna.

MODEL BASIS DATA

  • Model Hirarkis / Model Pohon
  • Model Jaringan
  • Model Relasional
Model Relasional merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna, serta merupakan model yang paling populer saat ini.
Model ini menggunakan sekumpulan tabel berdimensi dua ( yang disebut relasi atau tabel ), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut.
DBMS yang bermodelkan relasional biasa disebut RDBMS (Relational Data Base Management System).
Ada Beberapa Sifat yang melekat pada suatu relasi :
1. Tak ada tupel (baris) yang kembar)
2. Urutan tupel tidaklah penting
3. Setiap atribut memiliki nama yang unik
4. Letak atribut bebas ( urutan atribut tidak penting)
5. Setiap atribut memiliki nilai tunggal dan jenisnya sama untuk semua tupel.
Pada model relasional, jumlah tupel suatu relasi disebut kardinalitas dan jumlah atribut suatu relasi disebut derajat (degree) atau terkadang disebut arity. Relasi yang berderajat saru (hanya memiliki satu atribut) disebut unary. Relasi yang berderajat dua disebut binary dan relasi yang berderajat tiga disebut ternary. Relasi yang berderajat n disebut n-ary. Istilah lainnya yang terdapat pada model relasional adalah domain. Domain adalah himpunan nilai yang berlaku bagi suatu atribut.
Contoh produk DBMS terkenal yang menggunakan model relasional antara lain adalah :
  • DB2 (IBM)
  • Rdb/VMS (Digital Equipment Corporation)
  • Oracle (Oracle Corporation)
  • Informix (Informix Corporation)
  • Ingres (ASK Group Inc)
  • Sybase (Sybase Inc)
Di lingkungan PC, produk-produk berbasis relasional yang cukup terkenal antara lain adalah :
  • Keluarga R:Base (Microrim Corp) antara lain berupa R:Base 5000
  • Keluarga dBase (Ashton-Tate, sekarang bagian dari Borland International), antara lain dbase III Plus, dBase IV, serta Visual dBase
  • Microsoft SQL ( Microsoft Corporation)
  • Visual FoxPro (Microsoft Corporation)
 
MACAM-MACAM PERINTAH DATA BASE
  • Bahasa Definisi Data (Data Definition Language/ DDL)
    DDL adalah perintah-perintah yang biasa digunakan ileh administrator basis data (DBA) utnuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang struktur medan, rekaman, dan hubungan data pada basis data. Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang memungkinkan pengambilan data dapat dilakukan dengan cepat.
  • Bahasa Manipulasi Data (Data Manipulation laguage/ DML)
    DML adalah perintah-perintah yang digunakan untuk mengubah , mamnipulasi dan mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML. DML pada dasarnya dibagi menjadi dua :1. Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya.2. Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya.
  • DQL ( Data Query Language)
    Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia.
Data
Adalah unit informasi dalam format tertentu. Semua software dibagi ke dalam dua kategori: data dan program. Program adalah sekumpulan instruksi untuk memanipulasi data. Data dapat berupa angka, teks pada kertas, bit atau byte yang tersimpan pada memori elektronik, atau fakta yang ada pada pikiran manusia. Istilah data juga digunakan untuk membedakan antara informasi biner yang dapat dibaca mesin dan informasi tekstual yang dapat dibaca manusia. Sebagai contoh, beberapa aplikasi membedakan file data (file yang mengandung data biner), dan file teks (file yang mengandung data ASCII). Pada sistem manajemen basisdata (database management systems), file data adalah file yang menyimpan informasi basisdata disamping file-file lain seperti file indeks dan data dictionary yang disebut dengan metadata

BasisData
Basisdata adalah sekumpulan informasi yang diatur dalam cara tertentu hingga sebuah program komputer dapat dengan cepat memilih data yang diinginkan. Basisdata dapat diibaratkan sebagai sistem pengarsipan elektronis. Basisdata tradisional terdiri dari field, record, dan file. Field adalah item tertentu dari informasi; record adalah sekumpulan field; dan file adalah kumpulan record. Sebagai contoh, buku telepon dapat dianalogikan sebuah file yang terdiri dari banyak record dan setiap record terdiri dari tiga field, yaitu nama, alamat, dan nomor telepon. Konsep alternatif rancangan basisdata disebut hypertext. Dalam basisdata hypertext, setiap obyek, apakah itu merupakan teks, gambar atau film, dapat dihubungkan dengan obyek lainnya. Basisdata hypertext sangat berguna untuk mengatur informasi yang sangat besar tetapi tidak digunakan dalam analisis numerik. Untuk mengakses informasi dari basisdata, diperlukan data base management system (DBMS). DBMS adalah kumpulan program yang memungkinkan pengguna memasukan, mengatur, atau memilih data dari basisdata.

Bahasa Query
Bahasa query (query language) adalah bahasa khusus yang digunakan untuk melakukan query pada basis data. Contoh penggunaan bahasa query adalah: SELECT ALL WHERE kota=”Yogyakarta” AND umur<40. Query tersebut meminta semua record dari basis data yang sedang digunakan (misalkan basisdata konsumen) yang bertempat tinggal di Yogyakarta dan berumur lebih dari 40 tahun (kota dan umur adalah nama field yang telah didefinisikan). Standar bahasa query yang banyak digunakan adalah SQL (structured query language). Metode ini paling rumit tetapi paling fleksibel dibandingkan metode query yang lain, query dengan parameter yang telah tersedia dan query by example

Field
Field adalah item tertentu dari informasi. Data mahasiswa, misalnya, mempunyai beberapa field yang diantaranya adalah nama, nomor mahasiswa, tanggal lahir, dan alamat. Setiap field mempunyai nama dan tipe (numerik atau teks). Dalam sistem manajemen basisdata, terdapat tiga macam field: harus diisi (required), dapat diabaikan (optional), dan merupakan penghitungan dari field lainnya (calculated). Pengguna tidak dapat memasukan data pada jenis field yang terakhir (calculated). Kumpulan field disebut record.

Query
Query adalah pertanyaan atau permintaan informasi tertentu dari sebuah basisdata yang ditulis dalam format tertentu. Terdapat tiga metode utama untuk membuat query :
1. dengan memilih parameter yang telah disediakan pada menu. Metode ini paling mudah digunakan namun paling tidak fleksibel karena pengguna hanya dapat menggunakan pilihan parameter yang terbatas.
2. query by example (QBE) adalah metode query yang disediakan sistem dalam bentuk record kosong dan pengguna dapat menentukan field dan nilai tertentu yang akan digunakan dalam query.
3. bahasa query (query language) adalah bahasa khusus yang digunakan untuk melakukan query pada sebuah basisdata. Metode ini paling rumit tetapi paling fleksibel.

SQL
SQL structured query language adalah bahasa query yang di standarisasi untuk meminta informasi dari sebuah basisdata. versi awal SQL adalah SQUEL Structured English Query Language yang di rancang oleg IBM pada tahun 1974 dan 1975. SQL pertama kali di perkenalkan sebagai system basisdata komersial pada tahun 1979 oleh oracle corporation. awalnya, SQL merupakan bahasa query untuk sistem manajemen bnasisdata yang berjalan pada minikomputer dan mainframe. namun sekarang, SQL juga dapat di gunakan pada sistem manajemen basisdata pada PC karena mendukung basisdata tersebar distributed database hal ini memungkinkan beberapa pengguna pada local area network (LAN) mengakses basisdata yang sama secara simultan.