Universitas Gadjah Mada A. Pengertian Sistem Manajemen Database Menurut pustaka, sistem manajemen basisdata adalah kumpulan (gabungan) dari data yang saling berelasi (yang biasanya dirujuk sebagai suatu basisdata) dengan sekumpulan program-program yang mengakses data-data tersebut. Atau, sistem manajemen basisdata merupakan paket perangkat lunak (software) atau sistem yang digunakan untuk memudahkan pembuatan dan pemeliharaan basisdata yang terkomputerisasi. Menurut yang Iainnya, DBMS dapat didefinisikan sebagai; DBMS adalah tempat penyimpanan data beserta user interface-nya yang dipersiapkan untuk memanipulasi dan administrasi basisdata Dengan demikian, menurut sumber ini, DBMS juga dapat dianggap sebagai perangkat lunak. Sedangkan, menurut yang lainnya, DBMS merupakan suatu program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memanipulasi, dan memperoleh data dan informasi dengan praktis dan efiesien Pengertian atau definisi sistem manajemen basisdata (DBMS) sangat bervariasi catidak sedikit jumlahnya (seperti beberapa contoh di atas). Selain itu, perbedaan atau batas-batas antara DBMS dengan sistem basisdata-pun seringkali tidak jelas (baur). Untuk itu ada yang membedakan keduanya secara jelas; DBMS akan berarti paket perangkat lunak (tanpa basisdata) general-purpose (pre-written computer program) yang digunakan untuk membangun sistem basisdata tersebut. Dengan demikian, menurut pustaka ini DBMS adalah bagian dari sistem basisdata. Sistem-sistem basisdata dan DBMS pertama kali dikembangkan oleh divisi research and development (R & D) perusahaan IBM di akhir 1950-an hingga awal 1960-an. Pengembangan ini sebagian besar ditujukan untuk memenuhi kebutuhan-kebutuhan di bidang-bidang bisnis, militer, dan institusi-institusi pendidikan dan kepemerintahan yang memiliki struktur organisasi yang tidak sederhana dan dengan kebutuhan data informasi yang kompleks. Universitas Gadjah Mada B. Manfaat Sistem Manajemen Database Sistem manajemen basisdata sudah sangat sering digunakan di dalam sistem perangkat lunak komputer. Penggunaan ini bukan tanpa alasan-alasan yang masuk akal. Alasan-alasan penggunaan DBMS tersebut adalah: Sistem manajemen basisdata (DBMS) sangat baik di dalam mengorganisasikan dan mengelola data dengan jumlah besar. DBMS ini seperti kantong tempat meletakkan sesuatu (data) di dalam suatu wadah sehingga barang yang dimasukkan (data) akan mudah diambil (dipanggil) kembali. DBMS membantu di dalam melindungi data dari kerusakaan yang disebabkan oleh akses data yang tidak sah (tidak memiliki kewenangan), kerusakan perangkat keras (listrik tiba-tiba mati dan komputer crashes), dan kerusaka perangkat lunak (misalnya karena sistem operasinya crashes). DBMS memungkinkan untuk akses data secara simultan atau bersamaan (concurrent) — hampir semua aplikasi basisdata memerlukan akses data secara simultan. DBMS yang terdistribusi memungkinkan pembagian suatu basisdata menjadi kepingan-kepingan yang terpisah di beberapa tempat. Hal ini dapat meningkatkan unjuk kerja sistem dengan mengeliminasi kebutuhan transmisi data pada saluran komunikasi yang lambat. Selain itu, hal ini juga akan mereduksi "bottle-neck" pengendalian concurrency. DBMS tidak selalu ditujukan untuk analisis data; hal ini lebih merupakan tugastugas SIG, spread sheet, atau tools analisis lainnya. DBMS memiliki sifat-sifat umum : a) merupakan alat bantu general-purpose, b) sangat baik di dalam proses pemanggilan sebagian kecil basisdata untuk kemudian dikirimkan ke bagian analisis, c) memungkinkan pengawasan integritas basisdata untuk memastikan validitas dan konsistensi di dalam basisdata. Universitas Gadjah Mada C. Komponen Sistem Manajemen Database Sistem manajemen basisdata (DBMS) dapat dibentuk dari komponen-komponen sebagai berikut: Data yang disimpan di dalam basisdata. Data ini mencakup data numerik (bilangan bulat dan real) dan non-numerik yang terdiri karakter (alfabet dan karakter numerik), waktu (tanggal dan jam), logika (true/false), dan datadata lain yang lebih kompleks seperti gambar (citra) dan suara. Operasi Standard yang disediakan oleh hampir semua DBMS. Operasioperasi standard ini melengkapi pengguna dengan kemampuan dasar untuk memanipulasi data (basisdata). DDL (data definition language) yang merupakan bahasa yang digunakan untuk mendeskripsikan isi dan struktur basisdata. Dengan demikian DDL, sebaga contoh, dapat digunakan untuk mendeskripsikan nama-nama atribut (fields) tipe data, lokasi di dalam basisdata. DML (data manipulation language) atau bahasa query ini pada umumnya setara dengan bahasa pemrograman generasi ke-4 dan didukung oleh DBMS untuk membentuk perintah-perintah pada masukan, keluaran, editing, analisis basisdata. DML yang telah distandarisasikan disebut SQL (structure query language). Bahasa pemrograman (programming tools). Di samping oleh perintahperintah dan queries, basisdata juga harus dapat diakses secara langsung oleh program aplikasi melalui function calls (atau subroutine calls) yang dimiliki oleh bahasabahasa pemrograman konvensional. Struktur file. Setiap DBMS memiliki struktur internal yang digunakan untuk mengorganisasikan data walaupun beberapa model data yang umum telah digunakan oleh sebagian besar DBMS. D. Operasi Dasar Sistem Manajenien Database Sistem manajemen basisdata memiliki peranan yang sangai penting di dalam Sistem informasi. Peranan ini sangat ditunjang oieh operasi-operasi dasar sistem pengelolalaan basisdata yang dimilikinya. Operasi-operasi dasar tersebut adalah: Universitas Gadjah Mada Membuat basisdata (create database). Menghapus basisdata (drop database). Membuat table basisdata (create table) Menghapus table basisdata (drop table) Mengisi dan menyisipkan data (record) ke dalam table basisdata (seek, find, search, retrieve). Menampilkan basisdata (display, browse). Mengubah dan meng-edit data yang terdapat di dalam table basisdata (update, edit). Menghapus data dari tabel basisdata (delete, zap, pack). Membuat indeks untuk setiap tabel basisdata (create index). E. Model Basisdata Dalam DBMS Di dalam DBMS terdapat beberapa model basisdata yang digunakan. Model ini menyatakan hubungan antara record-record yang ada di dalam basisdatanya. Model basisdata tersebut adalah: Flat file (tabular) — data terletak di dalam tabel tunggal (tidak terdapat kaitan antara tabel satu dengan tabel-tabel lainnya). Hierarcical — model ini sering disebut sebagai model pohon atau hirarki karena mirip dengan struktur pohon terbalik. Model ini menggunakan pola hubungan parent-child. Setiap simpul menyatakan sekumpulan field. Suatu simpul yang memiliki simpul lain yang berada di bawahnya disebut parent. Sedangkan setiap simpul yang memiliki hubungan dengan simpul lain yang berada di atasnya disebut child. Setiap parent dapat memiliki child lebih dari satu (relasi 1-M), sementara setiap child hanya memiliki parent disebut sebagai root, sedangkan simpul yang tidak memiliki child (bagian bawah) disebut sebagai leaf. Network — model ini sering disebut juga sebagai model DBTG (database task group) atau CODASYL (conference on data systems languages) karena model ini telah distandarisasikan oleh DBTC (yang merupakan bagian dari CODASYL) pada 1971. Model ini sangat mirip dengan model hierarchical, tetapi pada model Universitas Gadjah Mada network ini, setiap child dapat memiliki lebih dari satu parent. Dengan demikian baik parent maupun child mempunyai relasi (N-M) demikian juga sebaliknya. Relational — model ini terdiri dari tabel-tabel (data dipresentasikan dalam tabel yang terdiri dari baris-baris dan kolom-kolom) ternormalisasi dengan field field kunci sebagai penghubung rasional antar tabel. Sebagai model basisdata yang paling terkenal di dalam DBMS, model relasional sangat sering dan banyak digunakan di dalam Sistem Informasi. Hal ini disebabkan karena model tersebu memiliki keunggulan-keunggulan sebagai berikut: Model relasional benar-benar merupakan model data yang lengkap secara matematis. Model relasional memiliki teori-teori yang solid untuk mendukung: a) accessibility. bahasa query khusus yang query-nya dapat dikompilasi, dieksekusi, dan dioptimasikan tanpa harus menggunakan bahasa pemrograman, b) correctnes, pernyataan aljabar relasional yang jelas darl lengkap, c) predictability, pernyataan yang konsisten memudahkan pengguna untuk mengatisipasi atau memperkirakan hasil-hasil dari queries yang diberikan. Fleksibilitas tinggi, model relasional secara jelas memisahkan model fisik dan lojik hingga dengan adanya decoupling (mengurangi kebergantungan antara komponen sistem) ini meningkatkan fleksibilitasnya. Integritas batasan ini sangat berguna di dalam memastikan bahwa perubahan-perubahan struktur data/tabel tidak mengganggu keutuhan relasi-relasi di dalam basisdata. Multiple views, model relasional dapat menyajikan secara langsung view yang berbeda dari basisdata yang sama untuk pengguna yang berbeda. Concurrency, hampir semua teori mengenai pengendalian transaksi simultan yang telah ada dibuat berdasarkan teori formalisme untuk model relasional. Beberapa istilah yang sering digunakan dalam model basisdata relasional dapat dijelaskan secara singkat berikut ini. Universitas Gadjah Mada 1. Relasi Setiap baris data (record) memiliki beberapa atribut (fields). Jangkauan nilainilai atribut yang mungkin (domain) untuk suatu field juga didefinisikan. Setiap tipe records membentuk tabel dan relasi. Di dalam sebuah tabel, setiap baris data disebut record, sedangkan kolom datanya disebut atribut, fields atau items. Derajat atau tingkat relasi suatu tabel dinyatakan dengan jumlah atribut yang terdapat di dalam tabel yang bersangkutan. Suatu tabel yang hanya memiliki satu atribut disebut memiliki relasi unary, dan suatu tabel yang memiliki dua atribut disebut tabel dengan relasi binary, sedangkan tabel dengan sejumlah natribut disebut tabel relasi n-ary. 2. Kunci Kunci (sering disebut juga super key atau key) dari suatu relasi adalah bagian (subset) dari atribut-atribut dengan ciri-ciri berikut: Dapat diidentifikasi secara unik, nilai data (isi) setiap field kunci tidak ada yang sama (unik) untuk setiap record-nya. Atau, dengan kata lain, atribut ini dapat mengidentifikasi secara unik suatu kejadian tertentu dari suatu entity. Non-redundancy, tidak ada satu atribut kunci-pun yang dapat dihapus tanpa merusakkan keunikkan atribut kunci. Atribut-atribut yang memiliki ciri-ciri di atas disebut juga sebagai candidate key (atribut yang berpotensi menjadi kunci). Candidate key yang juga dapat mewakili setiap kejadian dari suatu entity disebut kunci primer atau primary key. Candidate key yang tidak terpilih sebagai kunci primer disebut sebagai alternate key (sering disebut juga sebagai kunci sekunder, tersier, dll.). Field ini sangat sering digunakan sebagai kunci alternatif di dalam pembuatan file indeks. Foreign key adalah kunci primer yang ditempatkan pada tabel-tabel (reiasi) lain untuk menyatakan hubungan antara tabel-tabel yang bersangkutan. 3. Queries Data definition language (DDL) yang digunakan untuk menentukan data-data yang akan disimpan di dalam basisdata dan menentukan bagaimana datadata tersebut direlasikan. Universitas Gadjah Mada Data manipulation language (DML) yang digunakan untuk menambah, memanggil kembali, meng-update, dan menghapus data di dalam DBMS. Query sering diambil sebagai pernyataan (statement) atau sekumpulan pernyataan balk pada DDL, DML, atau pada keduanya. Query language (QL) adalah bahasa formal yang mengimplementasikan DDL, DML, atau keduanya. Contoh dari QL di atas adalah SQL (structured query language yang cukup terkenal pada saat ini), QUEL, IABL, dan Query by-Example. 4. Normalisasi Normalisasi adalah teknik yang digunakan untuk menstrukturkan data sedemikian rupa, sehingga mengurangi atau mencegah timbulnya masalah-masalah yang berhubungan dengan pengolahan basisdata. Atau, sering disebut juga suatu proses pengelompokan data (fields) sedemikian rupa sehingga menghasilkan tabel-tabel yang menunjukkan entities berikut relasi-relasinya. Proses normalisasi di dalam model basisdata relasional menitikberatkan pada masalah penemuan struktur data yang paling sederhana untuk tabel-tabelnya. Proses ini mengatur kembali hubungan-hubungan atribut-atribut yang sating bergantungan dan berusaha menghindari kehilangan informasi ketika prosesproses penyisipan dan penghapusan data dilakukan. Hasil proses normalisasi adalah data, records atau tabel-tabel yang konsisten secara lojik, mudah dimengerti, dan pemeliharaannya tidak sulit dan murah. Oleh karena itu, proses normalisasi ini sering digunakan sebagai salah satu pendekatan yang dilakukan dalam perancangan skema basisdata dalam bentuk normal. Bentuk normal pertama (1 NF): suatu tabel dapat disebut sebagai bentuk normal pertama jika semua atributnya memiliki nilai yang atomic (atribut yang bersangkutan tidak dapat dibagi lagi menjadi atribut-atribut yang lebih kecil), tetapi masih mengandung redundancy (atribut yang tampil berulang). Bentuk normal kedua (2NF): dalah suatu tabel bentuk normal pertama yang memenuhi syarat tambahan bahwa semua atribut bukan kuncinya hanya bergantung pada kunci primer. Bentuk normal ketiga (3NF): adalah suatu tabel bentuk normal kedua yang memenuhi syarat tambahan bahwa semua atribut bukan kunci tidak memiliki kebergantungan transitif terhadap kunci primer. Universitas Gadjah Mada Bentuk normal Boyce-Cold (BCNF): adalah satu tabel yang memiliki semua field penentu yang merupakan candidate key. Bentuk ini merupakan perbaikan untuk bentuk normal ketiga. Setiap tabel yang memenuhi syarat BCNF pasti memenuhi bentuk normal ketiga, tetapi belum tentu sebaliknya. Bentuk normal lainnya: keemapt (4NF), kelima (5NF), dan seterusnya. Banyak sekali akibat positif yang ditimbulkan oleh proses normalisasi, tetapi proses ini hanya efektif untuk beberapa bentuk normal yang pertama saja (kemungkinan hanya hingga bentuk normal yang kedua, ketiga, atau Boyce-Cold). Makin dalam bentuk normalnya, makin banyak pula resikonya. Kemungkinankemungkinan resiko tersebut antara lain: Kekangan/batasan basisdata semakin menyulitkan proses perancangan basisdata itu sendiri. Dekomposisi struktur data tabel hingga menjadi lebih kecil dan sangat sederhana pada bentuk normal akan menyebabkan duplikasi data. Terjadi ketidak - efisienan di dalam proses menampilkan data-data yang bersangkutan. Universitas Gadjah Mada