By Daniel Damaris Novarianto S. Basis Data By Daniel Damaris Novarianto S.
Pengantar Basis Data
Pengertian Basis Markas atau tempat berkumpul Data Fakta mengenai objek dari dunia nyata Contoh: orang, mobil, lagu dll
Pengertian (lanj.) Contoh Basis Data Secara Manual: Penyimpanan berkas data informasi pegawai di filing cabinet Secara Elektronik: Penyimpanan menggunakan file yang terkomputerisasi
Manfaat Basis Data Kecepatan & kemudahan Efisiensi ruang penyimpanan Keakuratan Ketersediaan Keamanan Pemanfaatan bersama
Penerapan Basis Data
Pemprosesan Basis Data Penerapan Basis Data Pemprosesan File Pemprosesan Basis Data Kumpulan program aplikasi untuk memenuhi kebutuhan pengguna dimana data disusun dalam suatu file untuk setiap program aplikasi Kumpulan data yang saling terintegrasi dan diolah untuk memenuhi kebutuhan pengguna dalam suatu organisasi
Pemprosesan File Pendekatan manajemen tradisional dimana masing-masing bagian pada suatu organisasi membuat aplikasi dan basis data sesuai kebutuhan masing-masing Kelemahan: Data terpisah-pisah, berorientasi pada program Kerangkapan data
Contoh Pemprosesan File File MHS File KULIAH File DOSEN Program Aplikasi Penjadwalan Pengguna File MHS File KULIAH File DOSEN Program Aplikasi Nilai Pengguna File NILAI
Pemprosesan Basis Data Basis data merupakan sekumpulan data (dan deskripsi mengenai data) yang secara logika terhubung dan dapat digunakan bersama dan diolah untuk memenuhi kebutuhan pengguna dalam organisasi Berorientasi pada data
Pemprosesan Basis Data (lanj.) Data dimiliki bersama dan digunakan bersama Kerangkapan data dapat dihilangkan atau diminimalisasi
Contoh Pemprosesan Basis Data File DOSEN File NILAI File MHS File KULIAH Aplikasi Akademik Aplikasi Nilai Aplikasi Jurusan Pengguna Database Management System
Sistem Basis Data
Sistem Basis Data Kumpulan dari program aplikasi basis data yang saling berinteraksi dengan basis data itu sendiri Contoh sistem basis data Paket barang dari supermarket Pemesanan tiket liburan di agen perjalanan Penggunaan perpustakaan Penyewaan video dll
Sistem Basis Data (lanj.) Komponen sistem basis data: Data Perangkat keras Perangkat lunak Pengguna Pedoman manual/prosedur (pelengkap)
Sistem Basis Data (lanj.)
Data Data ada yang integrated (terintegrasi) dan shared (dapat digunakan bersama). ‘Terintegrasi’ artinya gabungan dari file-file yang berbeda-beda yang saling terhubung melalui suatu kunci. ‘Dapat digunakan bersama’ artinya digunakan pada waktu bersamaan oleh lebih dari satu pengguna untuk aplikasi berbeda.
Perangkat Keras Perangkat keras merupakan perangkat komputer utk pengelolaan basis data. Contoh: alat input/aktif, alat komunikasi, dll
Perangkat Lunak Perangkat lunak merupakan program penghubung antara pengguna dan basis data. Contoh: DBMS, sistem operasi, program aplikasi DBMS merupakan sistem perangkat lunak yg memfasilitasi pengguna untuk mendefinisikan, membuat, dan memelihara basis data serta mengontrol pengaksesan pada basis data
Pengguna System Engineer Database Administrator (DBA) Tenaga ahli yg bertanggungjawab atas pemasangan sistem basis data dan mengadakan pengembangan dan melaporkan kesalahan sistem Database Administrator (DBA) Tenaga ahli yg bertugas mengontrol sistem basis data secara keseluruhan, memprediksi kebutuhan, merencanakan dan mengatur sistem basis data
Database Administrator (DBA) (lanj.) Tugas DBA : Pengguna (lanj.) Database Administrator (DBA) (lanj.) Tugas DBA : Mengontrol DBMS dan perangkat lunak lain Memonitor siapa yang mengakses basis data Mengatur pemakaian basis data Memeriksa security, integrity, recovery, dan concurrency
Casual user (pengguna mahir) Pengguna (lanj.) Programmer Pembuat program aplikasi basis data menggunakan bahasa pemrograman: C, Pascal, COBOL, dll End-user Casual user (pengguna mahir) Pengguna berinteraksi dengan basis data menggunakan bahasa query pada DBMS
Naive user (pengguna umum) Pengguna (lanj.) Naive user (pengguna umum) Pengguna berinteraksi dengan basis data melalui pemanggilan program aplikasi yang sudah ada. Specilized/sophisticated user (pengguna khusus) Pengguna menulis program aplikasi basis data untuk keperluan khusus mis: AI, Sistem pakar, dll.
Prosedur Merupakan instruksi atau aturan-aturan yang diaplikasikan pada perancangan dan penggunaan basis data maupun DBMS
Istilah-Istilah Dalam Basis Data
Istilah-Istilah Dalam Basis Data Enterprise Merupakan suatu bentuk organisasi. Contoh: bank, universitas, rumah sakit, dsb. Entity (entitas) Objek pada dunia nyata yg dapat dibedakan dari objek lainnya. Contoh: Entitas pada Bank yaitu Nasabah, Simpanan Kumpulan entitas yg sama disebut entity set (himpunan entitas)
Istilah-Istilah Dalam Basis Data Attribute (atribut) Karakteristik dari suatu entitas. Contoh atribut dari entitas Nasabah: Kode nasabah, Nama nasabah, Alamat nasabah. Data value (nilai data) Merupakan isi dari data (atribut) Contoh: nilai atribut Nama nasabah, seperti Nina, Ali, dll.
Istilah-Istilah Dalam Basis Data Key data elemen (elemen data kunci) Tanda pengenal unik untuk mengidentifikasi suatu entitas dari sekumpulan entitas. Contoh: atribut Kode nasabah Record data (data record) Merupakan kumpulan dari isi data (atribut) yang saling berhubungan. Contoh: nilai atribut dari Kode nasabah, Nama nasabah, Alamat nasabah yaitu 123H Nina Jl.Depok
Kelebihan & Kelemahan Basis Data
Terkontrolnya kerangkapan data Kelebihan Basis Data Terkontrolnya kerangkapan data Pada non basis data Setiap program aplikasi mempunyai file tersendiri sehingga banyak field yang terulang kembali pada file lain. Hal ini akan membuang ruang storage. Basis data Hanya mencantumkan satu kali saja field yang sama yang dapat dipakai oleh semua aplikasi yang memerlukannya.
Kelebihan Basis Data (lanj.) Terpeliharanya keselarasan (kekonsistenan) data Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan Data dapat dipakai secara bersama Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi secara batch maupun on-line pada saat bersamaan.
Kelebihan Basis Data (lanj.) Dapat diterapkan standarisasi Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data sehingga memudahkan pemakaian, pengiriman maupun pertukaran data. Keamanan data terjamin DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberiaan hak akses bagi user (misalnya: modify, delete, insert, retrieve)
Kelebihan Basis Data (lanj.) Terpeliharanya integritas data Jika kerangkapan data dapat dikontrol dan kekonsistenan data dapat dijaga maka data menjadi akurat. Terpeliharanya keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi. Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat.
Kelebihan Basis Data (lanj.) Data independence (kemandirian data) Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada.
Kelemahan Basis Data Storage (tempat penyimpanan data) yang digunakan besar Kompleksitas dan fungsional yang semakin banyak membuat basis data membutuhkan tempat penyimpanan data yang besar untuk menampung perangkat lunak aplikasi yang digunakan juga data dari organisasi untuk dapat mengefisiensikan kinerja dari suatu organisasi
Kelemahan Basis Data Dibutuhkan tenaga yang terampil dalam mengelola data Data yang dikelola di dalam suatu basis data adalah data yang sangat kompleks dan diaplikasikan ke dalam suatu perangkat lunak yang hanya dapat digunakan oleh orang–orang yang terampil
Kelemahan Basis Data Perangkat lunak mahal Perangkat lunak yang digunakan di dalam suatu sistem basis data merupakan perangkat lunak yang dapat mengoptimalkan kinerja dari suatu organisasi, Perangkat lunak yang bagus harganya mahal Satu aplikasi perangkat lunak tidak digunakan di satu tempat tetapi juga di tempat lain, mis. di kantor pusat dan cabang-cabang. Jadi, investasi sistem basis data sangat mahal sehingga harus diperhitungkan dengan cermat.
Kelemahan Basis Data Kerusakan pada sistem database dapat mempengaruhi kerja dari seluruh departemen terkait. Jika suatu sistem basis data mengalami kerusakan maka seluruh departemen terkait mengalami hambatan dalam melakukan operasionalnya, hal ini dikarenakan keterhubungan antar data yang digunakan. Jadi, DBA harus selalu menjaga agar data yang digunakan tetap kongruen dan tersedia untuk mencegah terhambatnya operasional dari departemen lainnya
Arsitektur Basis Data
Arsitektur Basis Data
Arsitektur Basis Data (lanj.) Tingkat Eksternal Merupakan cara pandang pengguna terhadap basis data. Pada tingkat ini menggambarkan bagian basis data yang relevan bagi seorang pengguna tertentu Terdiri dari sejumlah cara pandang yang berbeda dari sebuah basis data. Masing-masing pengguna merepresentasikan bentuk yang sudah dikenalnya. Cara pandang secara eksternal hanya terbatas pada entitas, atribut dan relationship (hubungan antar entitas) yang diperlukan saja
Arsitektur Basis Data (lanj.) Tingkat Konseptual Merupakan kumpulan cara pandang terhadap basis data. Tingkat ini menggambarkan data yang disimpan dalam basis data dan hubungan antar datanya. Hal-hal yang digambarkan dalam tingkat konseptual adalah semua entitas beserta atribut dan hubungannya,batasan data,informasi semantik tentang data,keamanan dan integritas informasi
Arsitektur Basis Data (lanj.) Tingkat Konseptual (lanj.) Deskripsi data dari entitas terdiri dari jenis data dan besarnya atribut tanpa memperhatikan besarnya penyimpanan dalam ukuran byte.
Arsitektur Basis Data (lanj.) Tingkat Internal Merupakan perwujudan basis data dalam komputer. Tingkat ini menggambarkan basis data yang disimpan secara fisik di dalam peralatan storage (tempat penyimpanan fisik). Tingkat internal memperhatikan hal-hal berikut ini : Alokasi ruang penyimpanan data dan indeks Deskripsi record untuk penyimpanan (dengan ukuran penyimpanan untuk data elemen) Penempatan record Pemampatan data dan teknik enkripsi
Contoh Arsitektur Basis Data
Kemandirian Data
Kemandirian Data Tujuan utama dari 3 tingkat arsitektur adalah memelihara data independence (kemandirian data) yang berarti perubahan yang terjadi pada tingkat yang lebih rendah tidak mempengaruhi tingkat yang lebih tinggi. 2 Kemandirian data : Kemandirian data secara logika Kemandirian data secara fisik
Kemandirian Data Secara Logika Skema konseptual dapat diubah oleh DBA tanpa mengganggu skema eksternal Dengan kata lain kemandirian data secara logik menunjukkan kekebalan skema eksternal terhadap perubahan skema konseptual.
Kemandirian Data Secara Logika (lanj.) Perubahan pada skema konseptual dapat dilakukan tanpa harus mengubah skema eksternal atau harus membuat lagi program aplikasi yang baru Mis. seperti penambahan atau penghapusan entitas baru, atribut atupun relasi
Kemandirian Data Secara Fisik Skema internal dapat diubah oleh DBA tanpa mengganggu skema konseptual. Dengan kata lain kemandirian data secara fisik menunjukkan kekebalan skema konseptual terhadap perubahan skema internal.
Kemandirian Data Secara Fisik (lanj.) Perubahan pada skema internal seperti penggunaan organisasi file yang berbeda atau struktur penyimpanan, memodifikasi indeks atau scan disk dan defragment dapat dimungkinkan tanpa harus merubah skema konseptual dan eskternal.
Skema Kemandirian Data
Prinsip Kemandirian Data DBA dapat mengubah isi, lokasi, perwujudan dalam organisasi basis data tanpa mengganggu program-program aplikasi yang sudah ada. Pabrik/agen peralatan/perangkat lunak pengolahan data dapat memperkenalkan produk-produk baru tanpa mengganggu program-program aplikasi yang sudah ada.
Prinsip Kemandirian Data Untuk memudahkan pengembangan program-program aplikasi Memberikan fasilitas pengontrolan terpusat oleh DBA demi keamanan dan integritas data dengan memperhatikan perubahan kebutuhan pengguna.
Bahasa Dalam DBMS
Bahasa Dalam DBMS Data sub language (DSL) Subset bahasa yang dipakai untuk operasi manajemen basis data dan dapat disisipkan pada bahasa COBOL, PL/1, dsb. Data Definition Language (DDL) Bahasa utk mendefinisikan struktur atau kerangka basis data. Hasil kompilasi merupakan kumpulan tabel yang tersimpan dalam file khusus (katalog).
Bahasa Dalam DBMS (lanj.) Data Manipulation Language (DML) Bahasa yang digunakan untuk melakukan operasi manipulasi data di dalam suatu sistem basis data. Operasi manipulasi data yang dilakukan seperti: Pemasukan data baru ke dalam suatu basis data Perubahan pada data yang sudah disimpan di dalam basis data Pengambilan data Penghapusan data
Model Data
Model Data Kumpulan konsep yang terintegrasi yang menggambarkan data, hubungan antara data dan batasan-batasan data di dalam suatu organisasi. Fungsi dari sebuah model data untuk merepresentasikan data sehingga data tersebut mudah dipahami. Untuk menggambarkan data pada tingkat eksternal dan konseptual digunakan model data berbasis objek model data berbasis record.
Model Data Berbasis Objek Model data yang menggunakan konsep entitas, atribut dan hubungan antar entitas. Beberapa jenis model data berbasis objek yang umum adalah 1. entity-relationship (ER) 2. semantic (semantik) 3. functional (fungsional) 4. object-oriented (berorientasi objek)
Model Data Berbasis Record Model data berbasis pada konsep record Ada 3 macam jenis model data berbasis record, yaitu : 1. relational (relasional) 2. hierarchical (hirarki) 3. network (jaringan)
Model Data Relasional Model data ini berdasarkan konsep relasi matematika, data dan relasi digambarkan dalam sebuah tabel, yang mempunyai kolom dan baris dimana kolom–kolom tersebut mempunyai nama yang unik. Dibahas pada bab tersediri
Model Data Hirarki Model Hirarki dapat digambarkan seperti graphic pohon, record muncul sebagai nodes disebut segment dan sets disebut dengan edges.
Model Data Jaringan Pada model data ini, data di deskripsikan sebagai kumpulan dari record, dan relasi di deskripsikan dengan set.
Fungsi DBMS
Fungsi DBMS Penyimpanan, pengambilan dan perubahan data Menyediakan kemampuan menyimpan, mengambil dan merubah data dalam basis data. Katalog yang dapat diakses pengguna Menyediakan sebuah katalog yang berisi deskripsi item data yang disimpan dan diakses oleh pengguna.
Fungsi DBMS (lanj.) Mendukung transaksi Menyediakan mekanisme yang akan menjamin semua perubahan yang berhubungan dengan transaksi yang sudah ada atau yang akan dibuat. Melayani kontrol konkurensi Menyediakan mekanisme yang menjamin basis data ter-update secara benar pada saat beberapa pengguna melakukan perubahan terhadap basis data yang sama secara bersamaan.
Fungsi DBMS (lanj.) Melayani recovery Menyediakan mekanisme untuk mengembalikan basis data ke keadaan sebelum terjadinya kerusakan pada basis data tersebut. Melayani autorisasi Menyediakan mekanisme untuk menjamin bahwa hanya pengguna yang berwenang saja yang dapat mengakses basis data.
Fungsi DBMS (lanj.) Mendukung komunikasi data Sebuah DBMS harus mampu terintegrasi dengan software komunikasi. Melayani integritas Sebuah DBMS bertujuan untuk menjamin semua data dalam basis data dan setiap terjadi perubahan data harus sesuai dengan aturan yang berlaku.
Fungsi DBMS (lanj.) Melayani kemandirian data Mendukung kemandirian program dari struktur basis data yang sesungguhnya. Melayani utilitas Menyediakan kumpulan layanan utilitas.
Komponen DBMS
Komponen DBMS
Komponen DBMS (lanj.) Query Processsor Komponen yang mengubah bentuk queri ke dalam instruksi tingkat rendah ke basis data manager Database Manager (DM) Basis data manager menerima queri dan menguji skema eksternal dan konseptual untuk menentukan apakah record-record dibutuhkan untuk memenuhi permintaan. Kemudian DM memanggil file manager untuk menyelesaikan permintaan.
Komponen DBMS (lanj.) File Manager Memanipulasi penyimpanan file dan mengatur alokasi ruang penyimpanan pada disk DML Preprocessor Modul yang merubah perintah DML embedded ke dalam program aplikasi dalam bentuk fungsi-fungsi yang memanggil dalam host language
Komponen DBMS (lanj.) DDL Compiler Merubah statement DDL menjadi kumpulan tabel yang berisi metadata. Dictionary Manager/Catalog Manager Mengatur akses dan memelihara data dictionary. Data dictionary diakses oleh komponen DBMS yang lain
Komponen Database Manager
Komponen Database Manager
Komponen Database Manager (lanj.) Authorization Control Modul yang memeriksa apakah pengguna mempunyai wewenang untuk menyelesaikan operasi Command Processor Memeriksa apakah pengguna mempunyai wewenang untuk menyelesaikan operasi
Komponen Database Manager (lanj.) Integrity Checker Untuk semua operasi yang merubah basis data, integrity checker memeriksa operasi yang diminta memerlukan batasan integritas. Query Optimizer Modul ini menentukan strategi yang optimal untuk eksekusi query
Komponen Database Manager (lanj.) Transaction Manager Modul ini mengerjakan proses-proses yang dibutuhkan operasi yang diterima transaksi Scheduler Modul ini bertanggung jawab untuk menjamin operasi secara bersamaan terhadap basis data sehingga berjalan tanpa ada masalah antara yg satu dyl
Komponen Database Manager (lanj.) Recovery Manager Modul ini menjamin basis data tetap konsisten walaupun terjadi kerusakan. Buffer Manager Modul ini bertanggung jawab terhadap pemindahan data antara main memory dan secondary storage, seperti disk dan tape
Data Dictionary
Data Dictionary Tempat penyimpanan informasi yang menggambarkan data dalam basis data. Data dictionary biasa disebut juga dengan metadata atau data mengenai data.
Data Dictionary (lanj.) Untuk keperluan pemeriksaan kewenangan, data dictionary menyimpan: nama-nama pengguna yang mempunyai wewenang untuk menggunakan DBMS nama-nama item data yang ada dalam basis data item data yang dapat diakses oleh pengguna dan jenis akses yang diijinkan, misalnya: insert, update, delete atau read
Data Dictionary (lanj.) Untuk memeriksa integritas data, data dictionary menyimpan: nama-nama item data dalam basis data jenis dan ukuran item data batasan untuk masing-masing item data
Arsitektur DBMS Multiguna
Arsitektur DBMS Multiguna Arsitektur yang biasanya digunakan untuk mengimplementasikan sistem basis data dengan banyak pengguna, yaitu teleprocessing, file server dan client server.
Teleprocessing Arsitektur tradisional untuk sistem multi pengguna adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal Terminal untuk pengguna berjenis 'dumb', yang tidak dapat berfungsi sendiri dan masing-masing dihubungkan ke komputer pusat. Terminal-terminal tersebut mengirimkan pesan melalui subsistem pengontrol komunikasi pada sistem operasi ke program aplikasi, yang bergantian menggunakan layanan DBMS.
Arsitektur Teleprocessing
File Server Proses didistribusikan ke dalam jaringan, sejenis Local Area Network (LAN). File server mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS dijalankan pada masing-masing workstation, tetapi tetap meminta file dari file server jika diperlukan File server berfungsi sebagai sebuah hard disk yang digunakan secara bersamaan. DBMS yang ada pada setiap workstation meminta data ke file server untuk semua data yang diinginkan oleh DBMS.
Arsitektur File-Server
File-Server (lanj.) Kerugian arsitektur file-server adalah Terdapat lalulintas jaringan yang besar Masing-masing workstation membutuhkan copy DBMS Kontrol terhadap konkurensi, recovery dan integritas menjadi lebih kompleks karena sejumlah DBMS mengakses file secara bersamaan
Client-Server Client mengatur interface berfungsi sebagai workstation tempat menjalankan aplikasi basis data. Client menerima permintaan pengguna, memeriksa sintaks dan generate kebutuhan basis data dalam SQL atau bahasa yang lain. Kemudian meneruskan pesan ke server, menunggu response dan bentuk response untuk pengguna akhir. Server menerima dan memproses permintaan basis data kemudian mengembalikan hasil ke client
Arsitektur Client-Server
Arsitektur Client-Server 2 Tier
Thank You !