SISTEM BASIS DATA BAB II SISTEM BASIS DATA Tujuan Mengerti yang dimaksud dengan Sistem Basis Data dan komponen-komponennya Mengetahui abstraksi data yang menunjukkan bagaimana para pemakai melihat data Mengetahui bahasa basis data yang menjadi perantara user untuk berinteraksi dengan basis data Mengetahui struktur sistem basis data secara keseluruhan Pengertian Merupakan sistem yang terdiri atas kumpulan file (table) dalam sebuah basis data di sebuah sistem komputer yang saling berhubungan dan sekumpulan program pengelola basis data (DBMS :Database Management System) yang memungkinkan beberapa pemakai dan atau program lain untuk mangakses dan memanipulasi file-file (table-table) tersebut Keuntungan penerapan sistem basis data : Terkontrolnya kerangkapan dan inkonsistensi data Terpeliharanya keselarasan data Data dapat dipakai bersama-sama Memudahkan standarisasi Memudahkan penerapan batasan-batasan pengamanan Terpeliharanya integritas data Terpeliharanya keseimbangan atas perbedaan kebutuhan data dari setiap aplikasi Program / data independen Kelemahan penerapan sistem basis data : Mahal dalam implementasi Rumit / komplek Kesulitan penanganan proses recovery dan backup Kerusakan pada sistem basis data dapat mempengaruhi departemen yang terkait Komponen Utama Perangkat Keras (HardWare) Sistem Operasi (Operating System) Basis Data (DataBase) Sistem Pengelola Basis Data (DBMS) Aplikasi atau perangkat lunak yang bersifat opsional Pemakai (User) Pemrogram Aplikasi Pengguna Mahir (Casual User) Pengguna Awam (End User/Naïve User) Pengguna Khusus (Specialized User) Abstraksi Data Tingkatan / Level dalam melihat data dalam sebuah basis data. Level Fisik (Physical Level) Level Konseptual (Conceptual Level) Level Penampakan (View Level) Penjelasan Level abstraksi data : Level fisik (Physical level) Merupakan level yang paling rendah dalam abstraksi data.menjelaskan bagaimana data disimpan secara fisik (sesungguhnya suatu data disimpan).Struktur data yang komplek disajikan dalam level ini. Pemakai ( user) melihat data sebagai gabungan struktur dan datanya sendiri.Level ini didefinisikan sebagai sebuah Skema Internal. Level Konseptual ( Conseptual Level) Menjelaskan data apa yang disimpan dalam basis data beserta hubungannya dengan data lain (relasi), sehingga menjelaskan keseluruhan basis data.Level ini digunakan oleh database administrator untuk menentukan informasi apa yang disimpan dalam basis data.Level ini didefinisikan sebagai Skema Konseptual Level penampakan (View Level) Disebut juga Level Eksternal.merupakan level tertinggi dalam basis data, dan sebagai level user.User disini meliputi programmer,end user atau database administrator(DBA).Didefinisikan sebagai Skema Eksternal. Abstraksi Data View 1 View 2 Level Konseptual Level Fisik View 3 Bahasa Basis Data Terdiri dari sejumlah perintah (statement) yang diformulasikan dan dapat diberikan oleh pengguna dan dikenali/diproses oleh DBMS untuk melakukan suatu aksi/pekerjaan tertentu. Komponen Bahasa Basis Data Data Definition Language (DDL) Data Manipulation Language (DML) Data Definition Language Digunakan untuk menspesifikasikan struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan. Hasil kompilasi perintah DDL disimpan dalam file yang disebut kamus data yaitu File yang berisi metadata (data yang mendeskripsikan data sesungguhnya).File ini sll dibaca ketika dilakukan pembacaan/penulisan data pada basis data Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data disebut dengan data storage and definition language Data Manipulation Language (DML) Digunakan user untuk mengakses/memanipulasi basis data Bentuk manipulasi Pencarian kembali data lama(select) Penyisipan data baru (insert) Penghapusan data (delete) Pengubahan data (update) Jenis DML Prosedural Non Prosedural Penjelasan DML : DML Prosedural : user menentukan data apa dan bagaimana cara mendapatkannya.Misal : dBase III,Foxbase. DML nonProsedural : user menentukan data apa dan tidak perlu mengetahui bagaimana cara mendapatkannya. Misal : SQL Database Management System (DBMS) : DBMS atau system manajemen basis data adalah perangkat lunak (software) yang menangani semua pengaksesan basis data. Mempunyai fasilitas membuat,mengakses, memanipulasi dan memelihara basis data. Tujuan DBMS : menyediakan lingkungan data yang nyaman dan efisien untuk digunakan dalam menerima dan menyimpan informasi dari dan ke basis data. Gambar DBMS : Data file file D file DBMS Data Fungsi DBMS : Mengolah pendefinisian data ( data definition) Menangani permintaan user untuk mengakses data ( data manipulation) Dapat memeriksa security dan integrity data yang didefinisikan oleh data base administrator ( data security dan integrity) Dapat menangani kegagalan pengaksesan basis data yang disebabkan oleh kesalahan sistem, kerusakan disk, dll ( data recovery dan concurency) Menyediakan kamus data ( data dictionary) Menangani unjuk kerja dari semua fungsi se efisien mungkin (performance) Manajer Basis Data Modul program yang menyediakan antarmuka (interface) antar penyimpanan data low level dalam basis data dengan program aplikasi dan query yang diterima oleh sistem. Tugasnya: Berinteraksi dengan manajer file Pelaksanaan integrity Pelaksanaan Keamanan Backup dan recovery Kontrol konkurensi Administrator Basis Data Orang yang mempunyai wewenang untuk mengendalikan sistem basis data. Tugasnya: Mendefinisikan Skema Konseptual,skema internal Mendefinisikan Struktur penyimpanan dan metode akses Memodifikasi skema dan organisasi fisik Menjamin otorisasi untuk mengakses data Menspesifikasikan integrity constraint (Pembatas) Struktur Sistem Keseluruhan ( Komponen fungsional/ modul) DBMS : File Manager Database Manager Menerjemahkan perintah query menjadi instruksi yang dimengerti oleh database manager DML Precompiler Menetapkan antarmuka Query Processor Mengatur alokasi penyimpanan Mengubah perintah DML menjadi bentuk perintah normal DDL Compiler Mengubah perintah DDL menjadi tabel yang berisi metadata Naïve User Programer Aplikasi Casual User Database Admin Program Aplikasi System Calls Query Skema Basis Data DML Precompiler Query Processor DDL Compiler Kode Obyek Program Aplikasi Database Manager File Manager File Data Kamus Data Model data : Konsep model data digunakan untuk menjelaskan struktur basis data Kumpulan dari alat bantu konsep untuk menjelaskan data, relasi data, arti data dan batasan data. Kelompok Model Data : ada 3 1.Object-Based Logical Model 2.Record –Based Logical Model 3.Physical Data Model 1.Object-Based Logical Model : Digunakan untuk menjelaskan data pada level konseptual dan view. Beberapa model object-based logical model antara lain : A.Entity Relationship Model (E – R Model) Berisi kumpulan obyek dasar yang disebut entitas dan hubungan antar obyek tersebut disebut relasi.Penggambaran E – R model dengan 4 komponen, yaitu : Kotak : menyatakan himpunan entitas Elips : menyatakan atribut Wajik (diamond) : menyatakan relasi antar entitas Garis : menghubungkan antar obyek dalam diagram E-R Komponen kotak, elips dan wajik diberi label nama. Contoh E – R Model : NamaKul Nama KodeKul Hari Alamat NPM Jam Atribut Mahasiswa Entitas Mengikuti Relasi MataKuliah B.Semantic Data Model Hampir sama dengan Entity Relationship model dimana relasi antara obyek dasar tidak dinyatakan dengan simbol tetapi menggunakan kata-kata (Semantic). Tanda-tanda yang digunakan dalam semantic data model sbb : Menunjukan arahnya Menunjukkan atribut C. Object Oriented Model Object Oriented Model berbasis kumpulan obyek.Misal : ADBO (Analisis Desain Berorientasi Obyek), contoh : bahasa pemrograman Java D.Functional Data Model 2.Record- Based Logical Model : Model logika Record Bases digunakan untuk menjelaskan data pada level konseptual dan View, menjelaskan seluruh struktur logika dari basis data serta diskripsi implementasi pada level yang lebih tinggi.Macam-macam model Logika record Bases sbb : a. Model relasional ( Relational Model). Model ini disusun dalam bentuk tabel dua dimensi yang terdiri atas baris ( record) dan kolom ( field), pertemuan antara baris dengan kolom disebut item data ( data value), tabel-tabel yang ada dihubungkan sedemikian rupa menggunakan field-field kunci ( key field) sehingga dapat meminimalkan duplikasi data. Model paling sederhana, paling banyak digunakan,mudah digunakan, mempunyai kemampuan dalam mengakomodasi berbagai kebutuhan pengelolaan basis data. Tingkatan-tingkatan data dalam model relasional : Karakter : berupa numerik ( angka 0 – 9), huruf ( A-Z,a-z) atau karakter khusus : *,&,%,# ,dll. Field / Atribut : bagian dari record yang menunjukkan suatu item data yang sejenis.Misal : field Nama, field NIP,dll.Disebut juga kolom. Record / Tupple : kumpulan data value dari atribut yang berkaitan sehingga dapat menjelaskan sebuah entitas secara lengkap. Disebut juga baris. Tabel / Entitas : Benda atau obyek dalam dunia nyata yang dapat dibedakan dari obyek-obyek lainnya. Disebut juga file. Basis Data : kumpulan dari tabel-tabel yang saling berrelasi, disusun secara logis, sehingga menghasilkan informasi yang bernilai guna dalam proses pengambilan keputusan. Hubungan antar tabel dlm model relasional : satu ke satu ( one to one), satu ke banyak (one to many),banyak ke satu ( many to one), banyak ke banyak ( many to many). b. Model Hierarki ( Hierarchical Model ) Disebut juga model pohon, karena serupa pohon terbalik.Menggunakan pola hubungan orangtua dan anak.Simpul (dinyatakan dengan simbol lingkaran atau kotak) yang terhubung dengan simpul dibawahnya disebut orang tua , dan setiap orang tua memiliki hubungan 1( 1:1) atau banyak (1:M).Simpul dibawah orangtua disebut anak, dan setiap anak hanya memiliki satu orang tua.simpul orang tua yang tidak memiliki orang tua disebut akar, dan simpul yang tidak mempunyai anak disebut daun .Hubungan antara anak dan orangtua disebut cabang.Contoh : Perguruan AKAR Tinggi FTI TK Anak FE TI EA FP EM PA PSosek Kelemahan model Hierarki : Ketidakmampuan dalam mengelola hubungan many to many karena dalam kead ini banyak terdapat duplikat (redundansi) data serta keterbatasan pemakaiannya , maka model ini sudah banyak ditinggalkan. c. Model Jaringan ( Network Model) : Data dinyatakan sebagai kumpulan baris (record) dan relasi dinyatakan dengan garis penghubung yang disebut pointer.Menyerupai model hierarki, hanya orang tua disebut pemilik dan anak disebut anggota.Contoh : Pemilik Jurusan TI MK Basis Data Ahmad Ibad MK PPM Juli MK PO II Iwan Murni Kelemahan model jaringan : Kompleks dan sulit dalam proses query, juga dalam hal manipulasi data yang harus dilaksanakan dengan menelusuri data pointer pada setiap recordnya. Oleh karena itu model ini jarang dipakai. Kelebihan model jaringan : Efisien dalam penyimpanan data, karena tidak ada data duplikat ( redundansi), akses cepat karena langsung memanfaatkan pointer ke alamat fisik data. 3. Physical Data Model : Untuk menjelaskan data pada level terendah. Macam nya al : Unifying model Frame memory