SISTEM BASIS DATA By Novareza Klifartha
Konsep Sistem Basis Data SISTEM sebuah keterpaduan yang terdiri atas sejumlah komponen fungsional dengan satuan fungsi / tugas tertentu, yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses / pekerjaan tertentu
Komponen Sistem Basis Data Hardware Operating System Database DBMS User Optional Software
Biasanya berupa perangkat komputer standar, media penyimpan sekunder dan media komunikasi untuk sistem jaringan. Yakni merupakan perangkat lunak yang memfungsikan, mengendalikan seluruh sumber daya dan melakukan operasi dasar dalam sistem komputer. Harus sesuai dengan DBMS yang digunakan. Yakni basis data yang mewakili sistem tertentu untuk dikelola. Sebuah sistem basis data bisa terdiri dari lebih dari satu basis data.
(Database Management System). Perangkat lunak yang digunakan untuk mengelola basis data. Contoh kelas sederhana: dBase, Foxbase, Rbase, MS. Access, MS. Foxpro, Borland Paradox. Contoh kelas kompleks: Borland-Interbase, MS. SQL Server, Oracle, Informix, Sybase. Orang-orang yang berinteraksi dengan sistem basis data, mulai dari yang merancang sampai yang menggunakan di tingkat akhir. Perangkat lunak pelengkap yang mendukung. Bersifat opsional.
Database dan DBMS • Database : sekelompok data operasional yang digunakan oleh berbagai macam aplikasi dan berbagai user dengan otoritas tertentu • DBMS – Database Management System : sistem perangkat lunak yang mengelola eksekusi dari aplikasi user untuk mengakses dan memodifikasi data pada database sehingga keamanan, integritas, dan reliabilitas tetap terjamin untuk tiap aplikasi
DBMS / Database Management System
Data Basis Data File 1
File 4
File 2
File 5
File 3
File 6
Database Management System
Data
Data
Peranan DBMS • Menyediakan fasilitas untuk mengakses data • Menyembunyikan proses detil tentang bagaimana data disimpan dan dikelola • Merupakan perantara bagi user dengan database
DBMS Marketplace • Relational DBMS - Oracle, Sybase; merupakan perusahaan perangkat lunak terbesar • IBM menawarkan juga sistem database relasional DB2 • Microsoft memiliki SQL-Server dan Microsoft Access yang berbasis desktop • Perusahaan pengembang database relasional mendapatkan tantangan dengan adanya "objectoriented DB" • Kemudian di-counter dengan munculnya sistem "object-relational"
Tahapan Pengembangan Database • Tahap Pemodelan dan Perancangan Database – Proses eksplorasi; analisis permasalahan dan perancangan skema
• Tahap Pemrograman – Pembuatan query dan operasi pengaksesan data – Menggunakan SQL – Structured Query Language
• Tahap Implementasi
Abstraksi Data • Physical – bagaimana data disimpan, diakses, dimodifikasi, diurutkan, dialokasikan pada memori atau perangkat peripheral, direpresentasikan (ASCI, EBCDIC, ... ) • Conceptual – apa saja data yang ingin ditampilkan, hubungan/relasi antar data yang ada • View – bagian mana dari data yang terlihat oleh aplikasi tertentu
Abstraksi Data (2) • Dapat dibagi menjadi tiga level : View1
. . .
.
Conceptual View Of Data
Physical Data Storage
.
View k
Abstraksi Data (3) • Contoh data pada level fisik (physical) 10 benjamin
3 63
6
10
J 0000035000james
3 3
6 000375
.
.
.
.
.
.
.
.
.
Database Users • Naive Users - tidak mengetahui tentang database terlalu mendalam; menjalankan program aplikasi yang telah disiapkan • Application Programmers - mengetahui bagaimana berinteraksi dengan sistem; mungkin saja tidak mengetahui bagaimana DBMS dirancang • Sophisticated Users - mengetahui penggunaan lanjut dari sistem; menggunakan sistem dan paket aplikasi di atas sistem • DBMS System Users / Database Administrator – mengembangkan basis data; mengelola dan memelihara basis data
Komponen DBMS • Data Definition Language (DDL) • • • • •
Data Manipulation Language (DML) Host Language Interface Data Administrator Users Query Processor – Compiler – Optimizer • Management – Transaction Manager – File Manager – Buffer Manager – Authorization and Integrity Manager
Logical
Physical
Komponen DBMS (2)
Query Processor • Compiler - memverifikasi apakah program atau query yang ditulis mengikuti aturan DDL dan DML • Optimizer - menemukan cara paling efektif untuk mengakses data yang diperlukan kemudian memberikannya ke user – Mengawasi eksekusi query dan perubahan query jika diperlukan
Storage Management • Modul program yang menyediakan interface antara: data level bawah yang tersimpan di database, dengan aplikasi program, dan dengan query yang dikirim ke sistem • Bertanggung jawab pada interaksi dengan file manager dan efisiensi penyimpanan (store), pengambilan (retrieve) dan perubahan (update) data
Buffer Manager • Bertanggungjawab pada alokasi dan pemeliharaan buffer pada memori untuk memfasilitasi pemrosesan data pada database oleh beberapa aplikasi concurrent • Mempertimbangkan ketika terjadi load data dari buffer ke database atau pembatalan data pada kondisi adanya data baru yang harus diletakkan di buffer
File Manager • Bertanggungjawab untuk melakukan pemetaan (mapping) dari unit database yang bersifat logis (obyek, relasi, dsb.) ke dalam rangkaian operasi file low-level • Bertanggungjawab memelihara file-file dan indeks • Menciptakan dan menghapuskan indeks serta menata ulang storage yang tidak digunakan
Authorization & Integrity Manager • Berperan dalam pengaturan akses ke database; Hanya authorized user yang dibolehkan mengakses • Berperan dalam menjamin integritas selama operasi normal dan juga pada waktu terjadi kegagalan operasi (failures)
Transaction Manager • Transaction adalah kumpulan operasi yang menjalankan fungsi tunggal secara logis pada aplikasi database • Komponen ini menjamin bahwa database tetap pada kondisi konsisten (benar) meskipun terjadi kegagalan sistem (misal: listrik padam, sistem operasi crash) dan juga kegagalan transaksi • Concurrency-control mengendalikan interaksi antar transaksi concurrent untuk menjaga konsistensi database
Bahasa Basis Data C/C++, Pascal (desktop) PHP, ASP, JSP (web)
Program aplikasi Calls to DB
DBMS
Variabel Lokal (Memori) (Storage)
Ada 2 (dua) level : • Bahasa pemrograman aplikasi – digunakan untuk mengeksekusi DDL dan DML • Bahasa query – yaitu DDL dan DML
DDL - Data Definition Language • Digunakan untuk membuat tabel baru, membuat indeks, mengubah struktur tabel • Notasi untuk mendefinisikan database CREATE TABLE mahasiswa ( nama varchar(20), nim varchar(12) );
• Kumpulan tabel beserta struktunya disimpan dalam data dictionary
DDL - Data Definition Language (2) • Data dictionary merupakan bagian yang berisi metadata (yaitu data tentang data) • Menyimpan skema database • Berisi data storage dan definition language Mendefinisikan struktur penyimpanan dan bahasa untuk membuat struktur tersebut
DML - Data Manipulation Language • Digunakan untuk mengakses dan memanipulasi data pada sebuah database INSERT – menambah data (create) SELECT – mengambil data (retrieve) UPDATE – mengubah data (update) DELETE – menghapus data (delete)
• User dapat mengakses data tanpa perlu menspesifikasikan bagaimana cara pengaksesan (non-procedural) • SQL merupakan bahasa query yang paling banyak digunakan
DML - Data Manipulation Language (2) • Contoh notasi penggunaan DML SELECT nama, nim FROM mahasiswa; INSERT INTO mahasiswa (nama, nim) VALUES (“john doe”, “010229301”); DELETE FROM mahasiswa WHERE nama = “john doe”;
Administrator Database • Mengkoordinasikan seluruh aktivitas sistem basis data • Memiliki pemahaman mendalam mengenai kebutuhan sumber daya informasi • Tugas administrator database: – – – – – –
Mendefinisikan skema database Mendefinisikan struktur dan metode akses Memodifikasi skema dan organisasi fisik Memberikan akses ke database Menetapkan integrity constraint Mengawasi performance dan respon pada perubahan kebutuhan
SELESAI