download

Bab I Pengantar Database
Mengamati perkembangan penelitian di bidang database, terlihat
peningkatan produktifitas yang luar biasa dan dampak ekonoms yang
mengejutkan. Selama hampir 20 tahun terakhir,di[perkirakan industri ini
telah menghasilkan $ 10 milyar pertahun dari penjualan hanya di Amerika
saja. Database memacu perkembangan sistem komunikasi, transportasi,
logistik, manajemen keuangan, knowledge based, kemudahan mencari
lteratur ilmiah dan sejumlah pemakaian dibidang aplikasi pertahanan. Hasil
riset juga meningkatkan perkembangan di dalam ilmu-ilmu dasar seperti
matematika dan ilmu biologi ( Silbershartz.et.al..,1990,1996)
Kutipan ini adalah dari workshop sistem database pada awal 1990s dan workshop
berikutnya ditahun 1996 yang melatarbelakangi bahasan utama buku ini: sistem database.
Dalam workshop disadari bahwa pentingnya database sistem tak dapat disangkal lagi, seiring
dengan meningkatnya kemampuan perangkat keras, kapasitas perangkat keras, dan
komunikasi, mencakup kemunculan www, e-commerce, dan komunikasi bergerak. Sistem
Database menjadi bidang rancang-bangun perangkat lunak paling utama.
Database kini menjadi tulang punggung sistim informasi, dan mempunyai pengaruh pada
perubahan operasional sebuah organisasi. Database menjadi teknik yang menarik karena
sejak kemunculannya mampu menjadi katalisator banyak pihak yang terlibat dalam rekayasa
software. Workshop lebih menekankan pengembangan sistem database. Sebagian peserta
workshop menafsirkan, mungkin hal ini baru pada ujung awal pengembangan database
Aplikasi di masa datang akan sangat kompleks, sehingga perlu dipikirkan kembali algoritms
yang saaat ini digunakan, misalnya algoritms untuk penyimpanan dan akses file.
Pengembangan algoritms menjadi bagian penting di (dalam) rekayasa software.
Bab satu ini sebagai pengantar database, akan menguraikan sebagai berikut :
Pada bagian 1.1. menjelaskan berbagai penggunaan data base sistem dalam kehidupan
sehari-hari yang tanpa disadari telah dilakukan. Bagian 1.2 dan 1.3 memuat perbandingan
antara pendekatan file biasa dengan pendekatan database. Di bagian 1.4 mendiskusikan
empat jenis peran dalam
lingkungan database, yakni: data administrator, database
administrator, database designer, pengembang aplikasi dan pemakai akhir. Di bagian 1.5
akan menguraikan sejarah perkembangan database sistem secara ringkas, dan diakhiri
bagian 1.6 diskusi tentang keuntungan dan kerugian pemakaian database sistem
1.1.
Pengantar
Database sudah menjadi bagian kehidupan sehari-hari yang sering tanpa disadari
penggunaannya. Dengan beberapa contoh penggunaan di bawah ini, akan dapat dipahami
beberapa terminology umum. Pertama database, yang merupakan keloksi atau kumpulan
data yang saling terkait atau saling terintegrasi. Kemudian database m anagement system
(DBMS), yaitu perangkat lunak untuk mengelola dan mengendalikan akses databse. Selain
itu istilah aplikasi database yaitu suatu program yang menggunakan database dalam
pengolahannya. Kita juga menggunakan istilah sistem database untuk menyatakan
kumpulan/koleksi dari program aplikasi yang saling berhubungan dengan databse. Hal ini
alkan diuraikan lebih rinci di bagian 1.3. Beberapa contoh aplikasi database adalah sbb :
1.1.1
Pembelian di supermarket
Pada waktu melakukan transaksi di supermarket, saat itu kemungkinan sedang
terjadi proses database. Kasir menggunakan pembaca kode [bar] untuk membaca setiap
barang yang kamu beli. Data barang ini lalu dihubungkan ke suatu program aplikasi yang
menggunakan kode [bar] untuk menemukan harga item berdasarkan suatu database produk.
Selain menemukan harga item, program juga meng-update jumlah stock dalam database
produk tadi, selanjutnya menampilkan harga barang pada mesin kas register. Jika tingkat
persediaan telah mencapai suatu ambang batas tertentu, maka akan dilakukan pemesanan
lagi, untuk itu secara otomatis sistem akan mencetak suatu order untuk pemasok. Jika suatu
saat pelanggan menelpon supermarket, petugas akan memeriksa apakah persediaan yang
dimaksud telah tersedia.
1.1.2
Transaksi menggunakan kartu kredit
Ketika kita membeli barang dengan menggunakan kartu kredit, petugas akan
memeriksa saldo kredit, apakah mencukupi untuk transaksi pembelian itu. Pemeriksaan
dapat dilaksanakan per telepon atau mungkin saja dilaksanakan secara otomatis oleh
pembaca kartu yang dihubungkan ke komputer. Pada beberapa kasus, terdapat sebuah
database di suatu tempat yang berisi informasi tentang pembelian yang telah dilakukan
dengan menggunakan kartu kredit itu. Untuk memeriksa kartu kredit, aplikasi program
database menggunakan nomor kartu kredit untuk memeriksa harga barang-barang yang akan
dibeli serta jumlah pembelian yang telah dibuat pada bulan ini, nilai transaksi tersebut akan
membatasi jumlah kredit. Selanjutnya setelah disetujui, rincian pembelian akan ditambahkan
pada database ini . Program aplikasi juga mengakses database untuk memeriksa apakah
kartu kredit tersebut tidak termasuk pada daftar kartu yang hilang atau dicuri sebelum
melakukan otorisasi. Bagian aplikasi program lainnya akan menghasilkan tagihan bulanan
untuk dikiirim kepada pemegang kartu dan mencatat pembayaran yang diterima dari
pemegang kartu kredit.
1.1.3
Booking paket liburan melalui agen perjalanan.
Jika seorang pelanggan tertarik penawaran liburan, agen travel mengakses database
yang berisi rincian penerbangan. Jika seseorang mendaftarkan diri untuk program tersebut,
maka semua perlu membuat pengaturan. Dalam hal ini sistem harus memastikan bahwa
dua agen berbeda tidak membukukan liburan yang sama atau bahkan terjadi kelebihan
booking tempat duduk penerbangan. Sebagai contoh, jika ada hanya satu tempat duduk pada
penerbangan dari London ke NY dan ada dua agen mencoba untuk mencadangkan tempat
duduk yang terakhir pada waktu yang sama, sistem akan mengenali situasi ini, dan akan
mengijinkan salah satu permintaan agen, dan menginformasikan pada agen lain bahwa
penerbangan yang dimaksud telah penuh. Biasanya agen perjalanan mempunyai sistim
pencatatan tagihan yang pada umumnya merupakan database yang terpisah
1.1.4
Penggunaan database dalam Perpustakaan
Perpustakaan umumnya mempunyai suatu database yang berisi rincian buku, rincian
pembaca, data pengunjung. Terdapat index yang terkomputerisasi, sehingga pembaca dapat
menemukan sebuah buku berdasar pada judul nya, atau pengarang, atau subjek area. sistem
database menangani reservasi untuk mengijinkan pembaca untuk meminjam suatu buku dan
untuk memperoleh pemberitahuan melalui mail ketika buku tersedia. Sistem juga
mengirimkan peringatan ke peminjam yang seharusnya mengembalikan buku karena telah
jatuh tempo. Umumnya sistem akan mempunyai suatu alat baca kode [bar] yang serupa
untuk dengan yang digunakan oleh di supermarket seperti uraikan lebih awal. Alat ini
digunakan untuk menjejaki buku yang diterima dan dipinjam keluar dari perpustakaan.
1.1.5
Aplikasi asuransi.
Ketika kita mengambil ke aplikasi asuransi, misalnya asuransi pribadi, asuransi
bangunan, dan asuransi untuk rumah, atau asuransi kendaraan, broker asuransi akan
mengakses beberapa database yang berisi berbagai organisasi asuransi. Kita harus
menyediakan rincian data pribadi, seperti nama, alamat, umur, dan apakah peminum atau
perokok, data ini digunakan oleh sistem database untuk menentukan premi asuransi. Broker
akan membantu mencarikan jenis perusahaan asuransi yang terbaik untuk kita.
1.1.6
Menggunakan internet
Berbagai website internet dibangun berdasarkan database. Sebagai contoh, jika kita
mengunjungi suatu toko buku online yang mengijinkan kita untuk melihat dan membeli buku,
seperti Amazon.com. Toko ini mengijinkan kita untuk melihat buku menurut beberapa
kategori, seperti komputasi,
manajemen, atau kita ingin melihat buku berdasarkan
pengarang. Pada kasus-kasus itu selalu diperlukan database dimana pada webserver
perusahaan akan berisi detil buku, ketersediaan, pengiriman informasi, tingkat persediaan
dan informasi pemesanan. Detail buku berisi judul, ISBN, pengarang, harga, sejarah
penjualan, penerbit, resensi/sinopsis, dan uraian rinci. Database memungkinkan buku
sebagai cross-referenced; sebagai contoh suatu buku mungkin dicatat berdasarkan beberapa
kategori, seperti komputasi, pemrograman, bestsellers, dan judulyang direkomendasikan.
Cross-referenced juga memungkinkan Amazon untuk memberi informasi buku-buku lain
kepada kita yang secara khas berkaitan dengan buku yang diorder.
Seperti contoh sebelumnya kita dapat menggunakan kartu kredit untuk membeli satu
atau lebih buku secra online. Petugas Amazon.com melayani pelanggannya sehingga siapa
saja akan kembali ke website mereka dengan cara memelihara suatu catatan pelanggan
termasuk transaksi sebelumnya dikirimkan dan detil kartu kredit. Pada waktu kita kembali ke
site itu maka sekarang kita langsung disambut sesuai nama dan untuk kita telah disediakan
berbagai daftar judul yang direkomendasikan berdasarkan pada pembelian sebelumnya.
1.1.7
Belajar di Universitas
Jika kita di sebuah universitas, maka akan ada suatu sistem database yang berisi
informasi tentang mahasiswa, matakuliah yang diambil pada semester itu, detil tentang biaya
kuliah, modul yang sudah diambil tahun sebelumnya juga yang diambil tahun ini serta rincian
dari semua hasil ujian. Selain itu juga terdapat suatu database yang berisi program kuliah
tahun depan, admission dan sebuah database yang berisi rincian staff yang bekerja di
universitas itu.
1.2. Sistem File-Based tradisional.
Hampir semua buku database membahas suatu tinjauan ulang tentang sistem
sebelumnya yaitu file-based. Walaupun pendekatan file-based telah mulai ditinggalkan, ada
alasan baik untuk belajar itu:
 Pemahaman masalah yang benar tentang file based akan mencegah kita dari
pengulangan masalah ini di dalam pendekatan database. Dengan kata lain, kita perlu
belajar dari kekeliruan sebelumnya. Argumen ' kekeliruan' adalah bersifat memberi
pemahaman pada tugas agar tidak menjadi kesalahan umum diwaktu mendatang.
 Jika kita ingin mengkonversi suatu sistem file-based ke suatu sistem database,
pemahaman bagaimana cara kerja file-based akan sangat berguna sangat umum,
atau menjadi sangat diperlukan.
Definisi File Based Approach :
Adalah Koleksi program aplikasi FileBased untuk mengolah laporan bagi user( e.g.
melaporkan).
Masing-Masing program menggambarkan dan mengatur data sendiri
File based System, adalah suatu usaha awal melakukan komputerisasi sistem arsip
manual yang biasa kita kenal selama ini. Sebagai contoh, di dalam suatu organisasi sebuah
file manual dibuat untuk mencatat semua catatan internal dan eksternal berkenaan dengan
klien, tugas, produk, proyek atau karyawan. Biasanya akan terdapat banyak file. Untuk setiap
file diberi label dan disimpan pada satu lemari arsip. gar aman, lemari mungkin diberi kunci
atau ditempatkan di kawasan yang aman di lokasi bangunan yang berbeda. Di dalam rumah
kita mungkin mempunyai beberapa macam sistem pengarsipan berisi tanda terima, jaminan,
faktur, rekening koran bank dan lainnya.
Ketika kita ingin melihat arsip, kita mencari ke dalam sistem file itu dengan
memeriksa secara menyeluruh arsip didalamnya mulai dari permulaan masukan hingga di
temukan apa yang kita ingin. Cara lainnya kita mungkin membuat suatu sistim indeksuntuk
membantu menyimpan dan mencari kembali dengan cepat. Sebagai contoh, arsip tersebut
dikelompokkan pada map yang terpisah untuk tiap jenis item yang berbeda sehingga
memudahkan waktu mencari kembali. Cara ini berdasarkan pengelompokan arsip yang
secara logika berhubungan (logically related)
Sistem arsip manual akan bekerja baik jika jumlah arsip yang disimpan kecil. Tetapi
hal ini sulit dikerjakan bila jumlah item yang harus disimpan cukup besar dan menyulikan kita
untuk mencari kembali sebuah arsip. Seringkali, sistem arsip manual makin kacau ketika kita
harus cross-reference atau memproses informasi di dalam file itu. Sebagai contoh, suatu
agen properti mempunyai suatu file terpisah untuk masing-masing properti yang akan dijual
atau disewakan, masing-masing penyewa dan pembeli potensial dan masing-masing anggota
staff. Pertimbangkan cara pengarsipan yang diperlukan untuk menjawab pertanyaan berikut:
 Ada berapa banyakkah property dengan tiga ruang tidur yangsiap disewakan yang
dilengkapi dengan taman dan garsi mobil
 Ada berapa flat yang siap disewakan yang letaknya tiga kilometer dari pusat kota
 Berapakah rata-rata penyewaan untuk flat dengan dua kamar tidur
 Berapakah total pendapatan tahunan staf
 Bagaimana turnover bulan lalu dibandingkan dengan target perusahaan
 Apa yang diharkan turnover bulanan untuk tahun fiscal yang akan dating
Selanjutnya, klien, manajer senior, dan staf memerlukan makin banyak informasi.
Juga diperlukan informasi yang dirinci bulanan, triwulanan, dan laporan tahunan.
Sistem manual akan mengalami kesulitan untuk pekerjaan seperti ini. Kemudian orang
mengembangkan File-Based Sytem sebagai jawaban atas kebutuhan untuk akses data yang
lebih efisien. Selanjutnya keadaan fisik nyata perusahaan yang mungkin terdiri bebrapa
bangunan, cabang, diperlukan suatu pendekatan desentralisasi. Untuk hal itu diperlukan
departemen data processing yang mengorganisir, menyimpan dan mengawasi data.
Dibawah ini disajikan suatu kasus contoh Dreamhome :
Bagian Penjualan bertanggung jawab untuk menjual dan menyewakan properti.
Sebagai contoh, jika klien menemui bagian ini dengan maksud untuk untuk menyewa, ia
harus mengisi formulir seperti ditunjukkan gambar 1.1(a). yang berisi detail properti seperti
alamat dan jumlah ruang juga detil pemilik. Selanjutnya bagian penjualan melakukan
pemeriksaan klien, hasilnya ditunjukkan pada format seperti pada gambar 1.1.(b). Dengan
dibantu Bagian EDP mereka membuat sistem informasi untuk menangani penyewaan
properti. Sistem ini terdiri tiga file yang berisi properti, klien dan pemilik sebagaimana terlihat
pada ilustrasi gambar 1.2. Untuk menyederhanakan kita hilangkan data rinci yang berkenaan
dengan staf, kantor cabang dan pemilik perusahaan
Bagian Kontrak bertanggung jawab menangani perjanjian sewa property. Bila client
telah setuju untuk menyewa, suatu format diisi oleh petugas penjualan diisikan property dan
rincian data klien, lihat gambar 1.3. Format ini diberikan kepada Bagian Kontrak untuk
mengalokasikan suatu nomor; jumlah sewa dan melengkapidetil periode sewa dan detail
pembayaran. Kemudian bersama dengan staf DP, Bagian Kontrak membuat sistem
informasi untuk menangani perjanjian sewa. Sistem ini terdiri dari tiga file yaitu file sewa,
properti, dan detil klien, yang berisi data serupa yang ada di bagian penjualan sebagaimana
dapat dilihat pada gambar 1.4.
Situasi seperti digambarkan pada gambar 1.5. menunjukkan, masing-masing
departemen mengakses file mereka sendiri menggunakan program aplikasi yang ditulis
secara khusus untuk mereka. Tiap bagian menangangani pemasukan data, memelihara file,
dan pembuatan laporan. Yang manakah lebih utama, struktur phisik dan penyimpanan] file
data ataukah susunan record pada program aplikasi.
Kita juga dapat membuat contoh yang terjadi di bagian lainnya. Misalnya, Bagian
Penggajian menyimpan rincian data staf dikaitkan dengan gaji mereka, yang dinyatakan :
StaffSalary(staffNo,fName,lName,sex,salary,branchNo)
Bagian Penggajian juga menyimpan data rinci staf berikut :
Staff(staffNo, fName,lname,position,sex,dateOfBirth,salary,branchNo)
Tampak dengan jelas bahwa ada duplikasi data di dalam penyimpanan file-based system
pada departemen ini. Sebelum mendiskusikan batasan dari pendekatan ini, kita perlu
memahami beberapa istilah dalam menggunakan file-based system. Suatu file adalah suatu
kumpulan arsip, yang berisi data yang secara logika berhubungan. Sebagai contoh, file
PropertyForRent seperti digambarkan pada gambar 1.2 berisi enam record, masing-masing
untuk satu properti. Tiap record berisi bagian data yang secara logis terhubung, yang disebut
field, dimana setiap field menjelaskan karakteristik keadaan senyatanya data yang
dimodelkan. Pada gambar 1.2
field-field PropertyForRent menyatakan karakteristik
properties, seperti alamat, tipe properti dan jumlah kamar yang ada.
1.2.2 Keterbatasan yang File-based
Uraian ringkas dari keterbatasan sistem file-based akan didiskusikan dibawah ini.
Terdapat lima masalah utama :

Pemisahan dan Pembatasan Data
Jika data dibatasi pada sejumlah file terpisah, maka akan lebih sukar untuk
mendapatkan data yang seharusnya tersedia. Sebagai contoh, jika kita ingin menghasilkan
daftar semua rumah yang memenuhi keinginan klien, pertama kita harus membuat file
sementara dari semua klien yang memerlukan ' rumah' seperti yang lebih disukainya. Kita
kemudian membaca file PropertyForRent untuk mencari semua di mana jenis properti '
rumah' dan yang akan disewa klien itu. Dengan sistem fileseperti itu pengolahan adalah sulit.
Aplikasi Pengembang harus mensinkronkan pengolahan dua file untuk memastikan data
yang benar-benar diakses. Kesukaran ini semakin besar jika kita memerlukan datanya dari
lebih dua file

Duplikasi dari Data
Sehubungan dengan pendekatan yang didesentralisasikan yang dibuat oleh masingmasing departemen, pendekatan filebased menyebabkan terjadinya duplikasi data. Sebagai
contoh , pada gambar 1.5 dapat dengan jelas dilihat bahwa ada duplikasi data properti dan
detil klien pada kedua Bagian Penjualan dan Bagian Kontrak. Duplikasi data adalah hal yang
tidak diinginkan untuk beberapa pertimbangan, karena :
a. duplikasi berarti pemborosan. Pemborosan waktu dan biaya untuk mencari data
karena harus dilakukan lebih dari sekali.
b. Membutuhkan storage tambahan, juga biaya-biaya yang terkait. Sering duplikasi data
dapat dihindarkan dengan berbagi data yang ada dalam file.
c. Barangkali lebih penting lagi, duplikasi dapat mendorong kearah hilangnya integritas
data; dengan kata lain tidak ada konsistensi data. Sebagai contoh, adanya duplikasi
data antara Bagian Personalia dan Bagian Penggajian seperti diuraikan di atas. Jika
seorang staf pindah alamat; perubahan alamat hanya dikomunikasikan kepada
Bagian Personalia dan bukan ke Bagian Penggajian, maka slip gajinya mungkin
akan akan dikirimkan kepada alamat yang salah. Suatu masalah yang lebih serius
terjadi jika suatu karyawan dipromosikan yang berarti dia memperoleh peningkatan
gaji. Jika perubahan ini hanya diberitahukan ke Personil tetapi tidak diteruskan
Bagian Penggajian. Sekarang, karyawan menerima gaji yang salah. Ketika kesalahan
ini dideteksi, maka akan memerlukan banyak waktu dan usaha untuk memecahkan.
Kedua contoh kesalhan ini menggambarkan inkonsistensi data yang diakibatkan oleh
adanya data yang duplikasi. Jika tidak ada cara yang otomatis bagi Bagian
Personalia untuk mengupdate data pada file gaji, sudah pasti hal itu menimbulkan
inkonsistensi. Bahkan andainya daftar gaji terdapat perubahan, maka adalah sangat
mungkin data yang diamsukkan akan salah.

Ketergantungan Data
Karena kita kita mendefinisikan struktur phisik file dan storage sebagai bagian di
dalam kode aplikasi. Hal ini berarti akan terjadi kesulitan untuk mengubah struktur sebuah
file. Sebagai contoh, mengubah panjang/ukuran field address pada file PropertyForRent yang
berada pada kolom dari 40 sampai 41;terlihat sebagai sesuatu perubahan sederhana, tetapi
kenyataannya perubahan ini memerlukan dibuatnya sebuah program dan program ini hanya
dijalankan sekali
dan kemudian bisa (dibuang). Program ini mengkonversi file
PropertyForRent tadi menjadi format yang baru. Program ini juga:
- Membaca file asli PropertyForRent
- Membuka file temporer dengan struktur yang baru
- Membaca record dari file asli, mengkonversi data sesuai dengan struktur file yang
baru dan merekamnya ke dalam file temporer. Proses ini diulang untuk semua record
pada file asli.
- Menghapus file asli PropertyForRent
- Melakukan penggantian nama file temporer menjadi file PropertyForRent
Sebagai tambahan, semua program yang mengakses PropertyForRent harus
dimodifikasi untuk disesuaikan dengan struktur file yang baru. Padahal mungkin terdapat
banyak program yang mengakses PropertyForRent itu. Hal ini berarti, programmer harus
mengidentifikasi semua program yang terkena pengaruh, memodifikasinya dan kemudian
paling menguji ulang. Harap dicatat bahwa mungkin suatu program menggunakan field
address itu tetapi terkena pengaruh hanya karena menggunakan PropertyForRent. Jelasnya
hal ini akan sangat memakan waktu dan mengundang kesalahan. Karakteristik ini dikenal
sebagai ketergantungan pada data

Format File tidak sesuai/bertentangan
Karena struktur file dimasukkan sebagai bagian sebuah program aplikasi, maka struktur ini
akan bergantung pada bahasa pemrograman aplikasi. Sebagai contoh struktur file yang
dihasilkan oleh suatu COBOL program mungkin berbeda dari struktur suatu file yang
dihasilkan oleh suatu program-C. Ketidakcocokan seperti itu membuat mereka sukar untuk
memproses bersama-sama.
Sebagai contoh, misalnya Bagian Kontrak ingin menemukan nama dan alamat semua pemilik
property yang saat ini sedang disewa. Celakanya kontrak yang dibuat tidak menyebutkan
secara rinci data pemilik tersebut. Hanya Bagian Penjualan yang menyimpan datanya.
Barangkali kontrak berisi juga nomor property (PropertyNo) yang dapat digunakan untuk
menemukan melalui perantaraan nomor property pada file PropertyForRent di Bagian
Penjualan. File ini berisi nomor pemilik (OwnerNo) yang dapat dipakai mencari rincian data
pemilik pada file PrivateOwner. Sendainya program-program pada Bagian KOntrak
menggunakan COBOL dan program-program di Bagian Penjualan dalam bahasa C. Dengan
demikian untuk mencocokan field propertyNo pada kedua file PropertyForRent akan
memerlukan dibuatnya sebuah program yang dipakai untuk mengkonversi file ke sebuah
format yang umum agar dapat diproses bersama. Hal ini akan memboroskan waktu dan
mahal.

Query yang dibatasi/perkembang biakan aplikasi program
Para pemakai mempunyai pandangan, file-based systems terbukti telah lebih baik
dibandingkan sistem manual.
Konsekwensinya muncul kebutuhan untuk query.
Bagaimanapun, filebased system bergantung kepada pengembang aplikasi, siapa yang harus
menulis query atau laporan yang diperlukan. Hasilnya dua hal dapat teerjadi. Dalam
beberapa organisasi jenis query atau laporan yang diproduksi formatnya telah ditetapkan.
Tidak ada fasilitas untuk meminta bentuk lainnya yang tidak direncanakan (disebut spur-ofthe-moment atau khusus/ad-hoc) query tehadap datanya sendiri maupun jenis data lainnya
yang tersedia
Di perusahaan lain, pertambahan file dan program aplikasi dengan cepat, mencapai suatu
titik di mana Bagian EDP dengan sumber dayanya sekarang tidak mampu menangani
semua tugas itu. Sehingga para staff Bagian EDP, menghasilkan program tidak efisien atau
tidak cukup memenuhi permintaan pemakai, dokumentasi yang terbatas dan pemeliharaan
yang sulit. Sering beberapa jenis kemampuan telah dilewatkan mencakup:
- Tidak ada jaminan tentang keamanan dan integritas,
- Recovery terhadap kegagalan perangkat keras atau perangkat lunak, amat terbatas
atau
- Akses kepada file terbatas untuk satu pemakai pada waktu yang sama- tidak ada
kemungkinan untuk akses secara bersama meskipun oleh staf di dalam departemen
yang sama.
Di kasus lain, hasilnya tidak bisa diterima. Sehingga diperlukan solusi lain yang lebih baik.
1.3. Pendekatan database
Semua batasan file-based di atas dikarenakan dua faktor:
( 1) the susunan data ditempelkan di dalam program aplikasi [itu]. bukan disimpan terpisah
dan independen;
( 2) tidak ada kendali atas akses data dan pemrosesan data diluar yang yang diperbolehkan
oleh program aplikasi.
Agar menjadi lebih efektif, diperlukan suatu pendekatan baru. Yaitu database dan
Sistem Database Management ( DBMS). Pada bagian bab ini, kita akan mempelajari suatu
definisi ttg terminologi ini, dan menguji komponen yang ada pada suatu lingkungan DBMS.
1.3.1 Database
Database [Adalah] suatu koleksi data yang terkait secara logika, dilengkapi dengan suatu
uraian data dan dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi.
Database tempat penyimpanan data tunggal yang dapat digunakan secara bersama oleh
banyak pemakai. Database menghilangkan redundansi data, semua data item terintegrasi
dengan sesedikit mungkin data yang duplikasi. Database tidak lagi hanya dimiliki oleh satu
departemen tetapi adalah menjadi sumber daya perusahaan. Database berisi bukan hanya
data operasional organisasi tetapi juga suatu rincian data ini. Suatu database juga
digambarkan sebagai suatu koleksi dari arsip terintegrasi. Deskripsi data dikenal sebagai
sistem catalog ( atau kamus data atau meta-data- ~’data tentang data'). Dengan
penggambaran secara alami suatu database yang menyediakan independensi data. Pada
system database dipisahan antara definisi data dari program aplikasi, di mana telah disajikan
suatu definisi internal dari suatu obyek dan definisi eksternal yang terpisah. Para pemakai
hanya mengetahui definisi eksternal tanpa perlu mengetahui bagaimana obyek digambarkan
atau berfungsi. Keuntungan pendekatan ini, adalah abstraksi data dapat berubah definisi
internal tanpa mempengaruhi para pemakai, dengan penyajian definisi eksternal yang tetap.
Dengan cara yang sama, pendekatan database akan memisahkan struktur data dari program
aplikasi dan menyimpan di dalam database. Jika struktur data perlu ditambahkan atau
dimodifikasi maka tidak perlu mengubah program aplikasi. Sebagai contoh, jika kita
menambahkan suatu field baru pada suatu record atau menciptakan suatu file baru, aplikasi
yang berjalan tidak perlu berubah. Kecuali, jika kita mengubah suatu item dari suatu file yang
mempengaruhi sebuah program aplikasi maka harus dilakukan dimodifikasi.
Terminologi akhir yang perlu penjelasan, adalah ‘terkait secara logika '. Ketika kita meneliti
kebutuhan informasi dari suatu organisasi, kita mencoba untuk mengidentifikasi entitas,
atribut, dan hubungannya. Suatu entitas adalah suatu obyek yang berbeda (misalnya :
seseorang, kegiatan, hal, konsep, atau peristiwa) di dalam organisasi yang akan disimpan
pada database.
Suatu atribut adalah suatu sifat-sifat yang dimilik menjelaskan aspek dari obyek yang akan
disimpan, sedangkan suatu hubungan adalah suatu asosiasi anta[a entitas. Sebagai contoh,
gambar 1.6 menunjukkan suatu Hubungan Entitas ( ER Diagram) untuk kasus DreamHome.
Yangterdiri dari:: enam entitas ( segiempat panjang): Cabang, Siaff, Propertyforrent, Chent,
PrivateOwner, dan Ewa;
tujuh hubungan ( nama yang bersebelahan kepada baris): Memesan, Penawaran, Mengatur,
Memandang, Miliki, LeasedBy, dan Pegangan;
enam atribut, masing-masing dari satu kesatuan: brancbNo, staffNo, propertyNo, cientNo,
ownerNo, dan IeaseNo.
Database menghadirkan kesatuan, atribut, dan hubungan yang logis antara kesatuan.
Dengan kata lain, database menggambarkan data yang secara logika terkait. Kita
mendiskusikan Entity-Relationship model [itu] secara detil di dalam Bab 11 dan 12.
1.3.2 Sistem Database Management ( DBMS)
DBMS adalah Suatu perangkat lunak yang memungkinkan para pemakai untuk
mendefiniskan, menciptakan, memelihara dan mengendalikan akses pada database itu.
DBMS adalah perangkat lunak yang berhubungan dengan program aplikasi pemakai dan
database.
DBMS menyediakan fasilitas yang berikut:
1. Para pemakai dapat mendefinisikan database , dengan menggunakan suatu Bahasa
Definisi Data ( DDL). DDL mengijinkan para pemakai untuk menetapkan struktur dan jenis
data dan batasan pada dfinisi data yang disimpan database.
2 Para pemakai dapat memasukkan/ menyisipkan, membaharui, menghapus, dan mendapat
kembali data dari database, dengan menggunakan suatu Bahasa Manipulasi Data ( DML).
DML menyediakan fasilitas pemeriksaan umum pada data ini , memanggil data dengan
bahasa query. Aturan suatu bahasa query menjadi permasalahan pada sistem file-based
dimana pemakai harus bekerja dengan struktur yang ditetapkan; perbaiki suatu query atau
ada suatu pemutakhiran program. Bahasa Query [yang] yang paling umum adalah Bahasa
Query Yang tersusun ( dibaca SQL atau ' See-Quel'), yang defacto kini telah menjadi bahasa
baku untuk relational DBMSs. Untuk menekankan pentingnya SQL, uraian Bab 5,6, dan 21
adalah studi menyeluruh dari bahasa ini.
3. menyediakan akses yang dikendalikan database.
Sebagai contoh, mungkin menyediakan:
- menyediakan sistem keamanan, mencegah pemakai tidak syah mengakses database:
- suatu sistem terintegrisi, yang memelihara konsistensi dari data disimpan:
- suatu concurrency sistem kendali, yang mengijinkan akses bersama database:
- sistem kendali pemulihan, yang mengupdate kembali database kepada status sebelumnya;
- suatu user-accessible catalog, yang berisi uraian data di dalam database.
Pendekatan Database seperti pada gambar 1.7, dikembangkan berdasarkan
pada
pendekatan file gambar 1.5. Contoh ini menunjukkan Sales Departemen Kontrak
menggunakan program aplikasi mereka untuk mengakses database melalui DBMS. Setiap
program aplikasi menangani masukan data, pemeliharaan data, dan pembuatan laporan.
Perbedaannya dengan pendekatan file-based. struktur phisik dan storage data kini diatur oleh
DBMS.
PropertyForRent ( propertyNo, jalan, kota besar, kode pos, jenis, ruang, sewa, ownerNo)
PrivateOwner ( ownerNo, fName, Nama, Alamat, Telno) Klien ( Clientno, Tname, Nama,
Alamat, Telno, Preftype, Maxrent)
Sewa ( Leaseno, Propertyno, Clientno, Paymentmethod, Deposito, membayar, rentStart,
rentFrnish)
Views
Salah satu keunggulan dari database adalah fasilitas view. Dengan fasilitas ini seorang endusers tidak perlu direpotkan dengan pendefinisian data, tetapi justru mereka akan
memperoleh data melebihi yang mereka inginkan.
Sebagai contoh, detil Kontrak semua Departemen yang ingin dilihat untuk suatu properti
sewa, seperti ditunjukkan gambar 1.5, diubah kepada pendekatan database, yang
ditunjukkan gambar 1.7. Sekarang database juga berisi tipe properti, banyaknya ruang, dan
detil pemilik. Untuk itu DBMS menyediakan fasilitas lain yaitu suatu mekanisme views, yang
memungkinkan pemakai mempunyai pandangan nya sendiri terhadap database ( views
adalah suatu pandangan terhadap subset dari database). Karena database cukup besar,
maka diperlukan views sehingga Departemen Kontrak melihat hanya data dibutuhkannya
misalnya nilai sewa.
Beberapa manfaat lain dari views adalah :
1. Menyediakan suatu tingkat keamanan.
View untuk membatasi data yang seharusnya dapat dilihat para pemakai. Sebagai contoh,
kita bisa menciptakan suatu pandangan yang mengijinkan seorang manajer cabang dan
Departemen Penggajian untuk melihat semua data staff, mencakup detil gaji, dan kita bisa
menciptakan suatu sedangkan staff lainnya cukup mengetahui detil gaji.
2 Menyediakan suatu mekanisme tampilan database Sebagai contoh, Kontrak Departemen
ingin melihat sewa bulanan dengan nama penyewanya, Sewa Bulanan.
3. Suatu Views dapat menyajikan informasi yang konsisten meskipun struktur database
diubah ( sebagai contoh, item ditambahkan atau dipindahkan. realsi berubah, file dipecah,
mengatur kembali, atau nama kembali). Jika field ditambahkan atau dipindahkan, dan field ini
tidaklah diperlukan oleh view, maka struktur database tidak akan dipengaruhi oleh perubahan
ini.
Uraian di atas menjelaskan kemampuan umum dipunyai oleh suatu DBMS. Sebagai contoh,
suatu DBMS untuk suatu komputer pribadi tidak boleh mendukung akses bersama, dan
mungkin menyediakan pembatasan keamanan. integritas, dan pemulihan kembali.
Bagaimanapun, DBMS besar mendukung multi-user juga menawarkan semua fungsi diatas.
Sistem perangkat lunak modem terdiri dari berjuta bentuk kode, dengan dokumentasi yang
berisikan volume data. Ini adalah suatu hasil pengembangan perangkat lunak yang dinikmati
untuk menangani kebutuhan yang lebih umum. Lagipula, penggunaan DBMSs sekarang ini
memerlukan suatu sistem yang menyediakan hampir seluruh kemampuan dan ketersediaan.
DBMS terus menerus dikembangkan untuk mengatasi kebutuhan pemakai baru. Sebagai
contoh, beberapa aplikasi sekarang memerlukan storage untuk gambar grafis, video, bunyi,
dan seterusnya. Untuk menjangkau pasar ini, DBMS harus dikembangkan. Mungkin
kemampuan baru selalu dibutuhkan, sedemikian sehingga kemampuan DBMS tidak pernah
menjadi statis. Kita mendiskusikan fungsi dasar itu yang disajikan oleh suatu DBMS di dalam
bab berikutnya
1.3.3
Components of the DBMS Environment
Terdapat lima komponen utama di dalam DBMS : perangkat keras, perangkat lunak, data,
prosedur, dan orang-orang, seperti digambarkan gambar 1 . 8.
Perangkat keras
DBMS dan program aplikasi memerlukan perangkat keras untuk menjalankannya. Perangkat
keras terdiri dari komputer pribadi, sampai ke mainframe, atau suatu jaringan komputer.
Perangkat keras tergantung pada kebutuhan organisasi yang menggunakannya. Beberapa
DBMS hanya berjalan pada sistem operasi tertentu. Suatu DBMS memerlukan minimum
ruang disk dan memori utama untuk menjalankannya. Suatu contoh perangkat keras
disederhanakan untuk DreantHonw digambarkan gambar 1.9.
Terdiri dari suatu jaringan minicomputers, dengan suatu komputer pusat yang ditempatkan di
London yang menjalankan backend DBMS. Juga ditunjukkan beberapa komputer untuk
menjalankan frontend DBMS, yang dihubungkan dengan pemakai. Arsitektur ini disebut
client-server: Backend adalah server dan Frontends adalah klien. Kita mendiskusikan
arsitektur jenis ini di Bagian 2.6.
Perangkat lunak
Komponen Perangkat lunak terdiri dari perangkat lunak DBMS dan program aplikasi,
bersama-sama dengan sistem operasi, mencakup perangkat lunak jaringan jika DBMS
digunakan pada suatu jaringan. Umumnya program aplikasi ditulis dalam suatu thirdgeneration bahasa program ( 3GL), seperti C', C++, pulau Jawa, Dasar Visuil, Cobol, Fortran,
Ada, atau Pascal, atau menggunakan suatu fourth-generation bahasa ( 4GL), seperti SQL.
Target DBMS mungkin punya fourth-generation sendiri yang memungkinkan membangun
dengan cepat aplikasi memakai bahasa query, report generator, object generator, generator
grafik, dan generator aplikasi. Penggunaan fourth-generation dapat meningkatkan
produktivitas dan menghasilkan program yang lebih mudah untuk dipelihara. Kita
mendiskusikan fourth-generation perkakas di Bagian 2.2.3.
Data
Bagi user komponen paling utama DBMS adalah adalah data. Dari gambar 1.8, kita
mengamati bahwa data bertindak sebagai suatu jembatan antara komponen mesin dan
komponen manusia. Database berisi kedua-duanya : data yang operasional dan meta-data, ~
data tentang data'. Struktur database biasanya disebut skema. Pada gambar 1.7, skema
terdiri dari empat file, atau tabel, yakni: PropertyForRent, PrivateOwner, Klien, dan Lease.
Tabel Propertyforrent mempunyai delapan item yakni: propertyNo, jalan, kota besar, kode
pos, tipe properti, banyaknya ruang, sewa bulanan, dan ownerNo. Ownerno menunjukkan
model relasi antara PropertyForRent dan PrivateOwner: Yaitu suatu properti untuk disewa,
seperti dilukiskan pada E-R diagram pada gambar 1.6. Sebagai contoh, di (dalam) gambar
1.2 kita mengamati pemilik itu C046, Joe Keogh, memiliki property nomor 14. Data juga
menyertakan sistem catalog, yang akan kita diskusikan di Bagian 2.7.
Prosedur
Prosedur memuat aturan-aturan untuk mendisain dan penggunaan database. Para pemakai
sistem database memerlukan dokumentasi prosedur yang berisi cara menggunakan atau
menjalankan sistem itu.
Prosedur terdiri dari instruksi tentang bagaimana cara:
o log on ke atas DBMS;
o menggunakan fasilitas tertentu DBMS atau program aplikasi;
o memulai dan mengakhiri DBMS;
o membuat backup salinan database;
o menangani perangkat keras atau kegagalan perangkat lunak. Ini meliputi prosedur tentang
bagaimana cara mengidentifikasi komponen yang digagalkan, bagaimana cara memperbaiki
komponen yang digagalkan ( sebagai contoh, telepon insinyur perangkat keras yang sesuai)
dan, mengikuti perbaikan kesalahan, bagaimana cara memulihkan database;
o mengubah struktur suatu tabel, menyusun kembali database berbagai disk, meningkatkan
kinerja, atau data arsip ke storage sekunder
Personil
Komponen terakhir adalah personil yang terlibat didalam sistem. Hal ini akan didiskusikan di
Bagian 1.4.
1.3.4 Pergeseran Paradigma : Mendisain Database
Dimuka sudah dibahas apa yang dimaksud struktur data di dalam database. Sebagai contoh,
kita sudah mengenali empat tabel pada gambar 1.7: PropertyForRent, PrivateOwner, Klien,
dan Sewa. Tetapi bagaimana cara kita mendapatkan struktur ini? Jawaban adalah sungguh
sederhana: struktur database ditentukan saat disain database. Membuat suatu disain
database dapat sangat kompleks. Untuk menghasilkan suatu sistem yang mencukupi
kebutuhan informasi organisasi memerlukan suatu pendekatan berbeda dibandingkan pada
sistem file-based. Karena database bertujuan mendukung sasaran organisasi. Maka urutan
tugasnya adalah harus berpikir tentang data yang pertama dan baru kemudian aplikasi yang
kedua. Perubahan ini di dalam pendekatan dikenal sebagai suatu pergeseran paradigma
Agar sistem bisa diterima oleh end-users, aktivitas disain database sangat krusial. Suatu
yang dirancang mungkin mengandung kesalahan dan mempunyai implikasi serius pada
organisasi. Pada sisi lain, jika suatu database dirancang dengan baik akan menghasilkan,
suatu cara yang lebih efisien, yaitu suatu sistem yang menyediakan informasi yang benar
untuk pengambilan keputusan.
Sasaran dari buku ini adalah untuk membantu efek pergeseran paradigma ini. Kita
membahasanya pada beberapa bab tentang suatu metodologi lengkap untuk disain
database ( lihat Bab 14-17). Metode Itu menjelaskan rangkaian langkah-langkah sederhana,
dengan petunjuk menyajikan dalam keseluruhannya. Sebagai contoh, di dalam EntityRelationship diagram gambar 1.6, kita sudah mengenali enam kesatuan, tujuh hubungan, dan
enam atribut. Kita menyediakan petunjuk untuk membantu mengidentifikasi kesatuan [itu],
atribut, dan hubungan yang harus diwakili database tersebut.
Metodologi disain database bukanlah sesuatau yang sangat populer. Banyak organisasi dan
para perancang individu mempercayai amat
sedikit metodologi yang mendukung
pelaksanaan perancangan database, dan ini biasanya menjadi penyebab utama kegagalan di
dalam pengembangan aplikasi database. oleh karena; tidak adanya pendekatan tersusun
untuk disain database, tidak ada disiplin waktu, database yang dikembangkan kurang efisien
atau tidak cukup memenuhi kebutuhan aplikasi, keterbatasan dokumentasi terbatas, sulitnya
pemeliharaan
1.4 Keahlian pada lingkingan Database
Komponen ke lima DBMS adalah : Personil. Ada empat macam personil yang bekerja di
lingkungan DBMS yaitu: data administrator, data base administrator (DBA), perancang
database, pengembang aplikasi, dan end-users.
1.4.1 Data Administrator Dan Data Base Administrator
Database dan DBMS adalah sumber daya perusahaan yang harus diatur seperti umumnya
sumber daya perusahaan lainnya . Data Administrator Dan Data Base Administrator (DBA)
adalah peran yang biasanya berhubungan dengan pengelolaan dan pengawasan DBMS dan
data nya. Data Administrator ( DA) bertanggung jawab untuk pengelolaan sumber daya data
yang mencakup perencanaan database. pengembangan dan pemeliharaan standard,
kebijakan dan prosedur, dan mendisaian conceptual dan logical database. DA berkonsultasi
dengan dan memberi masukan kepada para manajer senior, untuk memastikan bahwa arah
pengembangan database telah mendukung tujuan perusahaan.
Database Administrator ( DBA) bertanggung jawab untuk membangun phisik database,
tugasnya mulai dari disain database phisik dan implementasi, jaminan keamanan dan kendali
integritas, pemeliharaan sistem , dan memastikan hasil yang memuaskan dari pengoperasian
aplikasi untuk para pemakai. Peran DBA lebih teknis dibanding peran DA, dan menuntut
pengetahuan DBMS dan lingkungan sistem. Dalam beberapa organisasi tidak ada
pembedaan antara dua peran ini : di pihak lain. pentingnya sumber daya perusahaan
dicerminkan alokasi staff pada masing-masing dari peran ini.
1.4.2 Perancang Database
Di dalam suatu proyek database yang besar, kita dapat membedakan antara dua jenis
perancang: para perancang database logis dan perancang database phisik. Perancang
database yang logis mempunyai kaitan dengan aktivitas mengidentifikasi data ( yaitu entitas
dan atribut), hubungan antara data, dan batasan atas data yang akan disimpan
database. Perancang Database logis harus mempunyai suatu pemahaman yang saksama
dan lengkap tentang data organisasi dan aturan bisnis. Aturan Bisnis menjelaskan
karakteristik utama, bagaimana data dilihat dari pandangan organisasi. Contoh aturan bisnis
pada DreamHome adalah:
o seorang staff tidak bisa mengatur lebih dari 100 properti yang akan disewakan atau dijual
pada waktu yang sama;
o seorang staff tidak boleh menangani penjualan atau sewa dari miliknya sendiri;
o suatu broker tidak bisa bertindak atas nama keduanya yaitu sebagai pembeli dan sebagai
penjual properti.
Agar bisa efektip, perancang database logis perlu melibatkan semua pemakai database di
dalam pengembangan model data, dan keterlibatan ini mulai sejak awal proses. Dalam buku
ini, kita membagi pekerjaan perancang database yang logis ke dalam dua langkah:
o disain database konseptual, yang tidak terikat pada detil implementasi seperti target DBMS,
program aplikasi, bahasa program, atau pertimbangan phisik lain;
o disain database logis, sasarannya adalah suatu model spesifik, seperti relational, jaringan.
hirarkis, atau berorientasi objek.
Perancang Database Phisik bertugas memutuskan bagaimana merelaisasikan hasil disain
database logis ke dalam database secara phisik.
Ini mencakup :
o pemetaan hasil disain database yang logis ke dalam satu set tabel dengan batasan
integritas~
o memilih metode akses dan struktur storage yang spesifik agar tercapai kinerja data yang
baik;
o merancang ukuran keamanan yang diperlukan data.
Banyak bagian disain database phisik adalah lebih bergantung pada tujuan DBMS. Sebagai
konsekwensinya, perancang database phisik harus menyadari kemampuan DBMS dan harus
memahami keuntungan dan kerugian dari tiap alternatif untuk implementasinya.
Perancang Database Phisik harus mampu untuk memilih suatu strategi penyimpanan data
dan memperhatikan pemakaiannya. Perancang database yang logis dan konseptual
mempunyai kaitan dengan what , sedangkan perancang database yang phisik mempunyai
kaitan dengan how. Karenanya masing-masing
memerlukan ketrampilan berbeda.
Pembahasan tentang metodologi untuk diasin konseptual database di bab 14, dan disain
database yang logis di bab 15, sedangkan untuk diasin phisik database pada Bab 16 dan 17.
1.4.3 Pengembang Aplikasi
Saat database telah diterapkan, untuk mengoperasikannya diperlukan program aplikasi
menyediakan kemampuan. Ini adalah tanggung jawab pengembang aplikasi. Pengembang
aplikasi bekerja berdasarkan suatu spesifikasi yang diproduksi oleh analis sistem. MasingMasing program berisi instruksi yang meminta DBMS untuk melaksanakan berbagai operasi
pada database itu. Proses ini meliputi : mendapat kembali data(retrieving),
memasukkan/menyisipkan, membaharui, dan menghapus data. Program ditulis dalam suatu
third-generation bahasa program atau suatu fourth-generation bahasa, seperti telah dibahas
di bagian yang sebelumnya.
1.4.4 Pemakai
Pemakai(End-Users) adalah ' klien' database, yang telah dirancang dan diimplementasikan,
dan database selalu dimaintain (dirawat) untuk melayani kebutuhan informasi mereka. Endusers dapat digolongkan cara mereka menggunakan sistem, yaitu :
o Naïve User yaitu para pemakai mengakses database melaluiprogram aplikasi yang
operasinya dibuat sesederhana mungkin. Mereka dapat mengolah database dengan dengan
perintah sederhana atau memilih berdasarkan suatu menu. Jadi mereka tidak harus
mengetahui segalanya tentang database atau DBMS. Sebagai contoh, kasir di supermarket
menggunakan suatu pembaca kode [barcode] untuk menemukan harga item. Memang sudah
ada suatu program aplikasi untuk membaca kode [barcode], membaca harga item di dalam
database, mengurangi item database yang berisi kuantitas
persediaan, dan memajang
harganya di terminal.
o Para pemakai canggih.
Pada tataran lain, pemakai akhir yang canggih menjadi terbiasa dengan struktur database
dan fasilitas yang ditawarkan oleh DBMS. End-Users golongan ini boleh menggunakan suatu
bahasa query tingkat tinggi seperti SQL untuk melaksanakan operasi yang diperlukan.
Beberapa end-users ini dapat menulis program aplikasi untuk penggunaan mereka sendiri.
1.4. Sejarah Perkembangan Database Management Systems
DBMS mulai dikenalkan di tahun l960s saat pesawat Apollo mendarat di bulan, yang
dibangun sebagai jawaban keinginan Presiden Kennedy's mendaratkan seseorang di bulan
pada akhir dekade. Pada waktu itu tidak ada sistem yang tersedia yang mampu menangani
dan mengatur sejumlah informasi yang sangat banyak yang diperlukan proyek tersebut.
Sebagai hasilnya. Lembaga Ilmu penerbangan Amerika Utara ( NAA, sekarang Rockwell
Internasional), pemborong utama untuk proyek, perangkat lunak memperkenalkan GUAM (
Generalized Update Access Method). GUAM didasarkan pada konsep bahwa komponen
yang lebih kecil merupakan awal bagian-bagian dari komponen yang lebih besar, dan
seterusnya, sampai produk akhir dirakit. Struktur ini, yang digambarkan sebagai suatu pohon
masih sangat kacau-balau; terbalik; sungsang, dan juga dikenal sebagai suatu struktur
hirarkis. Di pertengahan l960s, IBM menggabungkan NAA untuk dikembangkan GUAM ke
dalam apa yang kini dikenal sebagai IMS ( Information System Manajemen). Alasan
mengapa IBM membatasi IMS kepada manajemen arsip hirarki adalah untuk dapat
menggunakan storage data serial, khususnya pita perekam, yang sedang mendominasi
pasar pada waktu itu. Kelemahan ini yang mengakibatkan peranan IMS menurun. Walaupun
salah satu DBMS paling awal, IMS masih hirarkis dan digunakan pada instalasi mainframe
yang besar.
Pada pertengahan -1960s, pengembangan penting lain adalah kemunculan IDS ( Integrated
Data Stored) dari General Electric. Pekerjaan ini adalah dipimpin oleh salah satu dari pelopor
awal sistem database, Charles Bachmann. Hasilnya suatu sistem database baru yang dikenal
sebagai network DBMS. Network Database telah dikembangkan untuk menunjukkan
kebutuhan menggambarkan data yang lebih rumit dibanding saat dibuat dengan struktur
hirarkis, dan bertujuan untuk menyusun suatu database baku. Untuk melakukan pembakuan,
Conference on Data Systems Language ( Codasyl), terdiri wakil pemerintah AS dan dunia
bisnis dan perdagangan, membentuk suatu Gugus Tugas di tahun 1965, kemudian berganti
nama menjadi Data Base Task Group (DBTG) di tahun 1967. Istilah acuan untuk DBTG
adalah untuk menggambarkan spesifikasi baku
suatu lingkungan yang mengijinkan
pembuatan database dan manipulasi data. Suatu laporan draft telah dikeluarkan 1969 dan
didahului laporan di tahun 1971. Dbtg Proposal mengenali tiga komponen:
1. bagan jaringan
susunan logis dari keseluruhan database sebagaimana dilihat oleh DBA- yang meliputi suatu
definisi database menyebut, jenis [record/ catatan] masing-masing, dan komponen dari tiap
jenis [record/ catatan];
2 subschema- bagian dari database yang dilihat oleh pemakai atau program aplikasi;
3 suatu bahasa manajemen data untuk menggambarkan karakteristik data dan struktur data,
dan untuk menggerakkan data.
Standardisasi, DBTG menetapkan tiga bahasa beda:
1 skema Bahasa Definisi Data bagan ( DDL), untuk menggambarkan bagan ;
2 subschema DDL, yang mengijinkan program aplikasi untuk menggambarkan bagian-bagian
dari database yang mereka perlukan;
3 suatu Bahasa Manipulasi Data ( DML), untuk menggerakkan data [itu].
Walaupun laporan tidaklah secara formal diadopsi oleh American National Standards Institute
( ANSI), sejumlah sistem sesudah itu dikembangkan mengikuti usulan DBTG itu. Sistem ini
kini dikenal sebagai CODASYL atau DBTG sistem. Codasyl dan pendekatan hirarkis mewakili
first-generation DBMS. Bagaimanapun, dua model ini mempunyai beberapa kerugian pokok:
1 harus menulis program yang rumit untuk bahkan query sederhana berdasar pada navigasi
akses berorientasi data o independensi data amat minimal;
2 tidak ada lembaga yang mendukung metode ini.
Di tahun 1970 E. F. Codd Laboratorium Riset IBM memproduksi makalah yang sangat
berpengaruh pada relational data model
Kertas kerja ini dengan sangat tepat menunjukkan kerugian-kerugian dari pendekatan yang
terdahulu. Banyak percobaan DBMS relasional telah diterapkan sesudah itu, dengan
didahului produk komersilnya pada akhir l970s dan awal 1980s. Sebagai catatan, adalah
Sistem R yaitu proyek IBM San José Laboratorium Riset di California, yang telah
dikembangkan sepanjang akhir 1970s ( Astrahan et al., 1976). Proyek ini dirancang untuk
membuktikan cara praktis pemakaian model relational dengan implementasi berdasarkan
struktur data dan operasi nya, dan mendorong dua pengembangan utama:
pengembangan suatu bahasa query tersusun ( SQL), yang sejak itu telah menjadi bahasa
yang baku untuk relational DBMSs;
3 produksi berbagai relational komersil DBMS produk sepanjang 1980s, sebagai contoh DB2
dan SQL/DS dari IBM dan Oracle dari Oracle Corporation
Sekarang ada beberapa ratus relational DBMSs yang dioperasikan pada komputer
mainframe dan PC, meskipun banyak yang meregangkan definisi relational model. Contoh
lain relational multi-user DBMSs adalah INGRES II dari Computer Associate, dan Informix
dari Informix Software, Inc. COntoh relational PC-based DBMSs adalah Access Dan Foxpro
dari Microsoft, Paradox dari Corel Corporation, Interbase Dan Bde dari Borland, dan R:Base
dari R:Base Technology. Relational DBMSs dikenal sebagai second-generation DBMSs. Kita
mendiskusikan relational data itu pada bab 3.
Relational Model bukanlah tanpa kekurangan nya, dan terutama keterbatasannya
kemampuan pemodelan. Telah ada banyak riset sejak itu mencoba untuk mengatasi
masalah ini. Di tahun 1976, Chen memperkenalkan Entity-Relationship model, yang sekarang
menjadi suatu teknik yang dapat diterima untuk mendisain database yang akan diuraikan
pada Bab 14 dan 15 buku ini. Di tahun 1979, Codd mencoba untuk menunjukkan sebagian
dari kegagalan dalam pekerjaan dengan suatu versi yang diperluas relational model yang
disebut RM/T ( 1979) dan sesudah itu RM/V2 ( 1990). Usaha untuk menyediakan suatu
model data yang menghadirkan 'dunia nyata' lebih nyata dengan model data semantik.
Sebagai jawaban atas meningkatnya kompleksitas aplikasi database, dua sistem baru telah
muncul: DBMS yang Berorientasi Objek ( OODBMS) dan Object-Relational DBMS (
ORDBMS). Bagaimanapun, kedua sistem ini tidak sama dengan model sebelumnya,
komposisi yang nyata dari model ini tidaklah jelas. Evolusi ini menghadirkan third-generation
DBMSs, yang dibahas di Bab 24-27.
1.5.
Advantages and Disadvantages of DBMS
DBMS mempunyai berbagai keuntungan juga kerugian. Pada bagian ini, kita merinci hal itu.
Keuntungan
Keuntungan manajmenen sistem database dapat dilihat pada tabel 1.2.
Tabel 1.2 Keuntungan DBMS.
Kendali ekonomi pemborosan data
Konsistensi Data skala Keseimbangan
berlawanan kebutuhan
Lebih [] informasi dari Kemampuan reaksi Dan Keadaan dapat masuk
Data ditingkatkan yang sama jumlah data
Meningkatnya produktivitas
Pemakaian bersama data data meningkatkan pemeliharaan melalui/sampai independensi
data
Meningkatkan integritas data
Meningkatkan concurrency
Meningkatkan keamanan
Meningkatkan backup dan Penyelenggaraan jasa kesembuhan standard
Kendali redundansi data
Di bagian 1.2, sistem file-based tradisional memboroskan ruang storage dengan cara
penyimpanan file pada lebih dari satu tempat. Database berusaha untuk menghilangkan
pemborosan itu dengan pengintegrasian file sedemikian sehingga tidak perlu menyimpan
berbagai copy data di beberapa tempat. Bagaimanapun, database tidak menghapuskan
pemborosan ini seluruhnya, tetapi dapat mengendalikan jumlah pemborosan yang tidak bisa
dipisahkan di dalam database itu. Seringkali diperlukan untuk salinan data item kunci untuk
model hubungan. Pada lain waktu, [ini memerlukan salianan data item beberapa agark
meningkatkan kinerja.
Konsistensi Data
Dengan penghapusan atau mengendalikan pemborosan, kita sedang mengurangi resiko
terjadinya consistensi data. Jika suatu data item disimpan hanya sekali di dalam database,
maka untuk membaharui ke isinya cukup dilakukan hanya sekali dngan nilainya yang baru
dan dilaksanakan dengan seketika bagisemua para pemakai. Jika suatu data item disimpan
lebih dari sekali dan sistem menyadari ini, sistem dapat memastikan bahwa semua salinan
item dijaga konsisten. Tetapi belum semua DBMS masa kini secara otomatis memastikan
konsistensi ini
Informasi berlebihan dari sejumlah data yang sama.
Pada saat operasional pengintegrasian data, organisasi mungkin memperoleh informasi
tambahan dari data itu. Sebagai contoh, pada sistem file-based gambar 1 . 5, Kontrak
Departemen tidak mengetahui siapa pemilik suatu properti yang disewa. Juga Penjualan tidak
dapat mengetahuai detil sewa. Ketika kita mengintegrasikan file ini, Bagian Kontrak
mempunyai akses ke detil pemilik dan Bagian Penjualan mempunyai akses untuk detil
penywaanl. Jadi sekarang akan memperoleh informasi lebih dari sejumlah data yang sama.
Pemakaian data bersama
Umumnya file dimiliki oleh orang-orang atau bagian yang menggunakannya. Pada sisi lain,
database adalah milik seluruh organisasi dan dapat dipakai bersama oleh semua para
pemakai berhak. Dengan cara ini, lebih banyak pemakai dapat menggunakan data. Lagipula,
sebuah aplikasi baru dapat dibuat berdasarkan pada data yang ada di dalam database dan
dapat menambahkan data pada tempat dimana data sekarang ini disimpan. Aplikasi yang
baru dapat juga dibuat dengan memanfaatkan pada fungsi yang dipunyai oleh DBMS, seperti
definisi data dan manipulasi, dan concurrency dan kendali kesembuhan.
Meningktnya Integritas data
Integritas database mengacu pada konsistensi dan kebenaran isi dari data disimpan.
Integritas pada umumnya dinyatakan dalam kaitan dengan constrain, yaitu konsistensi
terhadap pelanggaran yang diijinkan. Batasan berlaku pada data item di dalam record tunggal
atau mereka berlaku pada hubungan antara arsip. Sebagai contoh, suatu integritas batasan
bisa menyatakan bahwa suatu gaji staff tidak bisa lebih besar dari Rp 400,000 atau bahwa
cabang itu hanya terdapat suatu record staff yang mewakili cabang di mana staff bekerja,
sesuai dengan kantor cabangnya.
Meningkatnya Keamanan Database
Keamanan database adalah melindungi database dari para pemakai tidak syah. Harus ada
ukuran keamanan pantas, sehingga pengintegrasian membuat data menjadi lebih peka
dibanding sistem file-based. Bagaimanapun, pengintegrasian mengijinkan DBA untuk
merumuskan, dan DBMS untuk melakukan keamanan database ini. Caranya dapat dengan
mengambil format nama pemakai dan kata sandi untuk mengidentifikasi orang-orang yang
diberi hak untuk menggunakan database. Akses pemakai yang diberi hak atas data misalnya
bebrapa jenis operasi ( perolehan kembali, memasukkan/menyisipkan, membaharui,
menghapus). Sebagai contoh, DBA mempunyai akses pada semua data di dalam database;
seorang manajer mungkin punya akses pada semua data yang berhubungan dengan kantor
cabang nya; dan asisten penjualan mungkin punya akses pada semua data yang berkenaan
dengan kekayaan tetapi tidak mempunyai akses ke data sensitip seperti detil gaji staff.
Meningkatnya standard
Integrasi data memungkinkan DBA untuk mendefinisikan dan menyelenggarakan standard
yang perlu. Misalnya
meliputi per departemen, organisasi, nasional, atau standard
internasional untuk berbagai hal seperti itu dengan demikian format data akan memudahkan
pertukaran data antara sistem, menamai konvensi. dokumentasi baku, membaharui prosedur,
dan aturan akses.
Meningkatkan skala Ekonomi
Penggabungan semua data operasional organisasi ke dalam satu database, dan membuat
sekumpulan aplikasi yang bekerja dengan database ini akan menghemat biaya. Dalam hal
ini, anggaran yang akan tadinya dialokasikan pada masing-masing departemen untuk
pengembangan dan pemeliharaan tentang sistem file-based nya dapat digabungkan, akan
menghasilkan suatu total biaya lebih rendah, mendorong ke arah suatu penghematan secara
ekonomi. Anggaran yang dikombinasikan dapat digunakan untuk membeli suatu sistem yang
lebih disesuaikan untuk kebutuhan organisasi. Misalnya terdiri dari satu komputer yang besar
atau suatu jaringan komputer.
Keseimbangan konflik kebutuhan
Masing-masing pemakai atau departemen mempunyai kebutuhan yang mungkin tidak sama
dengan kebutuhan dari pemakai lainnya. Sejak database di bawah kendali DBA, ia dapat
membuat keputusan tentang disain dan penggunaan operasional database dengan
menyediakan sumber daya yang terbaik untuk organisasi secara keseluruhan. Keputusan ini
akan menyediakan kinerja yang optimal untuk aplikasi penting, dan lebih hemat
Akses data dan tanggapan ditingkatkan
Integrasian data yang menghilangkan batasan-batasan data per departemen shingga secara
langsung dapat diakses oleh end-users. Sehingga sistem berpotensi mempunyai kemampuan
yang lebih baik, sebagai contoh, akan menyediakan jasa lebih baik kepada pemakai akhir
atau klien organisasi. Banyak DBMS menyediakan bahasa query atau para penulis laporan
yang mengijinkan para pemakai untuk meminta pertanyaan khusus (untuk suatu maksud) dan
untuk memperoleh informasi yang diperlukan hampir dengan seketika pada terminal mereka,
tanpa menuntut seorang programmer untuk menulis program untuk membaca informasi dari
database. Sebagai contoh, seorang manajer manajer bisa mendaftar semua sepatu tumit rata
dengan suatu sewa bulanan lebih besar dari £ 400 dengan memasukkan SQL berikut :
SELECT*
FROM PropertyFcrRent
WHERE type = 'Flat' AND rent > 400;
Produktivitas yang ditingkatkan
DBMS menyediakan banyak fungsi baku yang secara normal biasanya seorang programmer
harus menulis suatu instruksi pada aplikasi file-based. Di tingkat paling dasar, DBMS
menyediakan semua rutin file-handling program. Fungsi ini memungkinkan programmer untuk
berkonsentrasi pada kemampuan yang spesifik yang diperlukan oleh para pemakai tanpa
keharusan untuk takut melakukan implementasi pada tingkat low-level. Banyak DBMS juga
menyediakan suatu fourth-generation yang menyederhanakan pengembangan aplikasi
database. Ini mengakibatkan meningkatnya produktivitas programmer ditingkatkan dan
menghemat waktu pengembangan
Pemeliharaan ditingkatkan karena independensi data
Pada stem file-based, rincian data dan logika untuk mengakses data dibuat di dalam program
aplikasi masing-masing, sehingga terjadi ketergantungan data terhadap program. Suatu
perubahan kepada struktur data, sebagai contoh membuat suatu alamat 41 karakter sebagai
ganti 40 karakter, atau suatu perubahan kepada cara data disimpan pada disk, memerlukan
perubahan substansiil kepada program yang diubah data itu. Sedangkan pada DBMS akan
memisahkan data dari aplikasi, dengan demikian akan kebal pada perubahan data. Ini
adalah dikenal sebagai independnsi data dan dibahas di bagian 2.1.5. Independensi data
menyederhanakan pemeliharaan aplikasi database.
Meningkatnya Concurrency
Dalam beberapa sistem file-based, jika dua atau lebih pemakai diijinkan untuk mengakses file
yang sama secara serempak, mungkin terjadi akses akan bertentangan satu sama lain,
mengakibatkan hilangnya informasi atau bahkan hilangnya integritas. Banyak DBMSs
mengatur akses database bersama dan memastikan permasalahan seperti itu tidak akan
terjadi. Pembahasan pengendalian concurrency pada bab 19.
tabel 1.3 Kerugian DBMSs.
Harga DBMS
Ukuran
Kompleksitas
Penambahan Biaya Perangkat keras
Biaya konversi
Kinerja
Dampak yang lebih tinggi pada suatu kegagalan
Meningkatkan Backup dan Recovery
Pada sistem file-based banyak pemakai menganggap tanggung jawab melindungi data dari
kegagalan pada sistem komputer atau program aplikasi. Hal ini melibatkan operasi suatu
backup setiap akhir proses. Dalam hal suatu kegagalan pada proses berikutnya, backup
diupdate dan pekerjaan yang telah berlangsung sejak backup ini hilang dan harus entri
kembali. Sebaliknya DBMS menyediakan fasilitas untuk memperkecil jumlah pengolahan
yang hilang karena suatu kegagalan. Ini akan dibahas di Bagian 19.3.
Kerugian
Kerugian-Kerugian dari pendekatan database diringkas tabel 1.3.
Kompleksitas
Harapan untuk menggunakan DBMS dengan berhadapan dengan bagian bagian database
yang kompleks. Para perancang Database Dan Pengembang, data dan pengurus database,
dan end-users harus memahami kemampuan ini agar memperoleh manfaat yang optimal.
Kegagalan untuk memahami sistem itu dapat mendorong kearah keputusan disain yang tidak
baik, dan mempunyai konsekwensi serius untuk suatu organisasi.
Ukuran
Kemampuan DBMS yang besar juga membutuhkan puluhan megabytes ruang disk dan
sejumlah memori agar pengoperasiannya efisien.
Harga DBMS
Harga sebuah software DBMS bervariasi tergantung pada kemampuan dan fitur yang
disajikannya. Sebagai contoh, suatu single-user DBMS untuk suatu komputer pribadi hanya
berharga US$100. Tetapi suatu DBMS untuk mainframe yang multi-user yang dapat melayani
beratus-ratus para pemakai dapat sangat mahal, barangkali US$100,000 atau bahkan
US$1,000,000. Ada juga biaya pemeliharaan tahunan cukup mahal.yang biasanya
diperhitungkan dengan persentase dari daftar harga itu.
Biaya-Biaya Perangkat keras tambahan
Kebutuhan tambahan ruangan penyimpanan untuk DBMS dan datanya memaksa pembelian
hardisk tambahan. Selain itu juga agar kinerja lebih baik, mungkin diperlukan suatu mesin
lebih besar yang harus dibeli. Pengadaan perangkat keras tambahan memerlukan biaya lebih
lanjut .
Biaya konversi
Pada beberapa situasi, biaya membeli DBMS dan perangkat keras mungkin tidak terlalu
penting dibandingkan dengan biaya mengubah aplikasi yang berjalan ke dalam aplikasi baru
yang berbasis DBMS. Biaya ini juga meliputi biaya pelatihan mengorganisir untuk
menggunakan sistem baru ini, dan mungkin tenaga-kerja spesialis membantu konversi sistem
itu. Biaya ini adalah salah satu dari pertimbangan yang utama mengapa beberapa organisasi
merasa diikat kepada sistem ada sekarang mereka dan tidak ingin berubah ke sistem yang
lebih modem dengan teknologi database. Istilah sistem warisan kadang-kadang digunakan
untuk mengacu pada suatu yang lebih tua, dan kinerjanya lebih rendah
Kinerja
Pada sistem file-based ditulis untuk suatu aplikasi spesifik, seperti invoicing. Sebagai
hasilnya, capaian biasanya sangat baik. Sedangkan pada DBMS ditulis agar aplikasi lebih
umum, untuk memenuhi aplikasi banyak orang. Akibatnya adalah bahwa beberapa aplikasi
tidak berjalan seperti aplikasi yang merke lihat dahulu.
Dampak yang lebih tinggi suatu kegagalan
Sumber daya yang terpusat akan meningkatkan sifat mudah terkena kegagalan. Karena
sejak semua pemakai dan aplikasi bersandar pada ketersediaan DBMS, kegagalan pada
komponen dapat membawa operasi berhenti