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
© Copyright 2024 Paperzz