Kegunaan database/ Syarat database
Penyusunan satu database digunakan untuk mengatasi masalah masalah pada penyusunan
data yaitu:
- Redundansi data
- Inkonsistensi data
- Kesulitan pengaksesan data
- Isolasi data untuk standarisasi
- Multiple user (banyak pemakai)
- Masalah keamanan (security)
- Masalah integrasi (kesatuan)
- Masalah data independence (kebebasan data)
Redundansi Data
Jika file file dan program aplikasi diciptakan oleh programmer yang berbeda pada waktu yang berselang cukup panjang, maka ada beberapa bagian data mengalami penggandaan pada file file yang berbeda.
Sebagai contoh:
alamat dan nomor telpon dari pelanggan kita tercatat pada file Deposito juga pada file Rekening Koran dan juga file Nasabah. Penyimpanan dibeberapa tempat untuk data yang sama ini disebut sebagai redundansi dan mengakibatkan pemborosan ruang penyimpanan dan juga biaya untuk mengakses jadi lebih tinggi.
Inkonsistensi Data
Penyimpanan data yang sama berulang ulang dibeberapa file dapat mengakibatkan juga inkonsistensi (tidak konsisten). Hal ini terjadi bila suatu ketika pelanggan tersebut pindah alamat dan nomor telponnya maka seharusnya ketiga file yang memuat data tersebut harus diubah/ diupdate. Bila salah satu saja dari file yang mengandung data tersebut terlewat di update maka terjadilah tidak konsisten tadi.
Kesulitan dalam pengaksesan data
Pada suatu saat dibutuhkan untuk mencetak data siapa saja pelanggan yang berada di kode pos 55122 Yogyakarta, padahal belum tersedia program yang telah ditulis untuk mengeluarkan data tersebut. Maka kesulitan tersebut timbul, dan penyelesaian untuk itu adalah kearah DBMS yang mampu mengambil data secara langsung dengan bahasa yang familiar dan mudah digunakan (user friendly).
Isolasi Data untuk standarisasi
Jika data tersebar dalam beberapa file dalam bentuk format yang tidak sama, maka ini menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpan data. Maka haruslah data dalam satu database dibuat satu format sehingga mudah dibuat program aplikasinya. Dapat dibayangkan betapa sulitnya membuat program aplikasi bilamana data dibuat dari format text file Pascal, BASIC, C++, dan juga format dari versi Lotus 123 dan lainnya.
Multiple User (Banyak pemakai)
Salah satu alasan mengapa database dibangun karena nantinya data tersebut digunakan oleh banyak orang dalam waktu yang berbeda, di akses oleh program yang sama tapi berbeda orang dan waktu. Dalam rangka mempercepat semua daya guna sistem dan mendapat responsi waktu yang cepat, beberapa sistem mengijinkan banyak pemakai untuk meng"update" data secara simultan. Semua ini memungkinkan terjadi karena data yang diolah tidaklah tergantung dan menyatu dalam program tapi ia terlepas dalam satu kelompok data.
Masalah keamanan (security)
Tidak setiap pemakai sistem database diperbolehkan untuk mengakses semua data. Misalkan data mengenai gaji pegawai hanya boleh dibuka oleh bagian keuangan dan personalia, tidak diperkenankan bagian gudang membaca dan mengubahnya.
Keamanan ini dapat diatur lewat program yang dibuat oleh pemrogram atau fasilitas keamanan dari operating sistem misalnya Novell Netware untuk Local Area Network.
Masalah integritas (kesatuan).
Database berisi file file yang saling berkaitan, masalah utama adalah bagaimana kaitan antara file tersebut terjadi. Meskipun kita mengetahui bahwa file A berkaitan dengan file B, namun secara teknis maka ada field kunci yang mengaitkan kedua file tersebut.
Masalah Data Independence (Kebebasan Data)
Bagaimana kita mampu menciptakan dimana antara program dan database pada keadaan terpisah. Sehingga perintah-perintah dalam paket DBMS bebas terhadap database. Namun perlu pula dipikirkan bagaimana bila ada syarat terhadap database yang ada. Misalnya syarat pengambilan uang tabungan Bank adalah harus disisakan paling minimal 25000. Syarat ini tentu dimasukkan dalam aplikasi program yang dibangun. Namun bagaimanakah bila suatu ketika syarat itu telah bergeser dari syarat 25000 menjadi 50000 ?. Disini aplikasi program yang telah dibangun haruslah diubah dan ini menunjukkan ketidak bebasan program yang dibuat terhadap database.
Abstraksi Data (data abstraction)
Sistem yang sesungguhnya tentang teknis bagaimana data disimpan dan dipelihara seakan akan disembunyikan kerumitannya dan kemudian diungkapkan dalam bahasa dan gambar yang mudah dimengerti orang awam.
Pemakai/ user dapat dikelompokkan menjadi tiga tingkatan abstraksi saat memandang suatu
database, yaitu
Level abstraksi paling rendah, menggambarkan bagaimana (how) data disimpan dalam kondisi sebenarnya. Level ini tentu paling komplek, struktur data level terendah digambarkan pada level ini Level Konseptual Level abstraksi data level lebih tinggi yang menggambarkan data apa (what) yang disimpan dalam database, dan hubungan relasi yang terjadi antara data. Level ini menggambarkan keseluruhan database. Pemakai tidak memperdulikan kerumitan dalam struktur level phisik lagi, penggambaran cukup dengan memakai kotak, garis dan keterangan secukupnya. Level koseptual ini digunakan oleh database administrator, yang memutuskan informasi apa yang akan dipelihara dalam satu database.
- Level Pandangan Pemakai (View Level)
Level abstraksi tertinggi yang menggambarkan hanya satu bagian dari keseluruhan database. Pada level ini hanya sebagian saja yang dilihat dan dipakai, hal ini disebabkan beberapa pemakai database tidak membutuhkan semua isi database. Level ini sangat dekat
dengan user/ pemakai, ada beberapa kelompok user dengan pandangan berbeda butuh data
dalam database.
Misalkan bagian Personalia hanya memakai data file Karyawan, Gaji, tidak membutuhkan
data file Gudang, Traksaksi Barang Masuk.
Demi kemudahan interaksi antara pemakai dengan sistem, maka view level ini
didefinisikan. Jadi ada beberapa pandangan disusun untuk mengakses satu sistem database
yang sama.
Hubungan antar level tersebut dapat digambarkan sebagai sebagai berikut:
Gambar 2. Level Abstraksi Data
Konsep dari level ini akan menambah pengertian mengenai kebebasan data (data
independence). Data independence dapat dibagi menjadi dua bagian yaitu:
1. Physical Data Independence
Kebolehan untuk mengubah pola phisik database tanpa mengakibatkan suatu aplikasi
program ditulis kembali. Modifikasi pada level phisik biasanya pada saat meningkatkan
daya guna.
2. Logical data independence
Kebolehan untuk mengubah pola konseptual tanpa mengakibatkan suatu aplikasi
program ditulis kembali. Modifikasi pada level konseptual teristimewa saat struktur
logika database berubah, ditambahkan atau dikurangi.
Modul Sistem Basis Data – hal 11
Gambar 3. Arsitektur Sistem Database
Paket Bahasa
Data Definition Language
Paket bahasa dalam DBMS dibagi menjadi beberapa definisi. Pola/scheme database di
spesifikasikan dengan satu set definisi yang diekspresikan dengan satu bahasa khusus disebut
DDL (Data Definition Language).
Struktur penyimpan dan metode akses yang digunakan sistem database dispesifikasikan
dengan satu set definisi dalam satu tipe DDL disebut sebagai Data Storage dan Definition
Language.
Hasil kompilasi dari definisi itu adalah satu set perintah yang menspesifikasikan suatu terapan
yang rinci dari pola database yang biasanya tersembunyi dari user/ pemakai.
Sebagai contoh perintah itu adalah perintah CREATE, MODIFY REPORT, MODIFY
STRUCTURE
Data Manipulation Language
Data Manipulation Language (DML) adalah bahasa yang memperbolehkan pemakai untuk
akses atau manipulasi data yang telah diorganisasikan sebelumnya dalam model data yang
tepat.
Dengan DML berarti akan
mengambil informasi yang tersimpan di database
menyisipkan informasi baru ke database
menghapus informasi dari database
Modul Sistem Basis Data – hal 12
Secara dasar ada dua tipe DML:
1. Procedural
yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan
bagaimana untuk mendapatkannya.
2. Non procedural
yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan tanpa
menspesifikasikan bagaimana untuk mendapatkannya.
Paket bahasa Procedural DML adalah dBASE III, FoxBASE, sedang Non Procedural DML diberi
nama SQL (Structural Query Language), QBE (Query By Example).
Query
Adalah pernyataan yang diajukan untuk mengambil informasi. Merupakan bagian DML yang
untuk pengambilan informasi, disebut Query Language.
Pengguna Database
Database Manager
Satu database manager adalah satu modul program yang menyediakan interface antara
penyimpanan data low-level dalam database dengan satu aplikasi program dan query yang
diajukan ke sistem.
Tugas dan tanggung jawab Database Manager:
• Interaksi dengan manager file
• Integrity Enforcement (integritas)
• Security Enforcement (keamanan)
• Backup dan recovery
• Concurency Control
Untuk paket program yang ditulis dalam PC pada saat tahun 1990 keistimewaan tersebut tidak
sepenuhnya ada.
Database Administrator
Database Administrator adalah orang yang mempunyai kekuasaan sebagai pusat pengontrolan
terhadap seluruh sistem baik data maupun program yang mengakses data.
Fungsi database adminsitrator adalah:
• Mendefinisi pola struktur database
• Mendefinisikan struktur penyimpanan dan metode akses
• Mampu memodifikasi pola dan organisasi phisik
• Memberikan kekuasaan pada user untuk mengakses data
• Menspesifikasikan keharusan/ paksaan integritas data
Database User
Satu tujuan utama dati sistem database adalah menciptakan suasana bagaimana informasi
dibaca dan data baru disimpan dalam database.
Modul Sistem Basis Data – hal 13
Ada 4 macam pemakai database yang berbeda keperluan dan cara aksesnya yaitu:
1. Programmer Aplikasi (PA)
Adalah profesional komputer yang berinteraksi dengan sistem lewat DML yang dibuat
dengan bahasa C, Cobol dan lainnya. Program program yang dibuat disebut sebagai
program aplikasi, misalnya untuk perbankan, administrasi, akuntansi dan lain lain. Syntax
DML berbeda dengan syntax bahasa komputer umumnya.
2. Casual User (sepintas lalu, tidak tetap)
Pemakai yang telah berpengalaman, berinteraksi dengan sistem tanpa menulis program,
tetapi memakai bahasa query. Setiap Query akan mengajukan ke query processor yang
mengambil dari perintah DML.
3. Naive User
Pemakai yang tidak berpengalaman, berinteraksi dengan sistem tanpa menulis program,
tinggal menjalankan satu menu dan memilih proses yang telah ada atau telah dibuat
sebelumnya oleh programmer.
4. Specialized User
Pemakai khusus yang menuliskan aplikasi database tidak dalam kerangka data processing
yang tradisional. Aplikasi tersebut diantaranya adalah Computer Aided Design System,
Knowledge Base, Expert System, sistem yang
menyimpan data dalam bentuk data yang komplek misalnya data grafik, data audio.
Hubungan antara user dapat dilihat pada gambar berikut:
Modul Sistem Basis Data – hal 14
Gambar 4. Struktur Sistem Database