4 Jun 2013
Pertemuan 1
Sistem
Database
INDIKATOR
o Memahami DBMS
,sejarahnya, perbedaan antara file system dan DBMS
o Menjelaskan
keuntungan penggunaan DBMS
o Memahami model
relasional level abstraksi dalam DBMS
o Memahami
struktur DBMS
URAIAN MATERI
A.
Pendahuluan
Database
dan Sistem Database menjadi komponen utama dalam kehidupan masyarakat modern
saat ini. Secara tidak langsung,
berbagai aktivitas dan kegiatan kita berhubungan dengan database:
![](file:///C:\Users\Beqan\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg)
Bank : menabung, transfer, deposit, dll.
Reservasi : hotel, pesawat, film bioskop, dll.
Perpustakaan : meminjam, mengembalikan, inventaris, dll.
Belanja : toko, mall, supermarket, dll.
Parkir : motor, mobil
Absensi
Transaksi on-line
PLN, PDAM, Phone, dsb.
Contoh
interaksi kita dengan aplikasi database diatas merupakan bentuk aplikasi
database tradisional, dimana hampir semua informasi yang disimpan dan diakses
berupa data teks maupun numerik.
Saat
ini, dengan perkembangan teknologi dan peningkatan fasilitas & fitur baru
oleh para vendor, database tidak hanya menyimpan data-data numerik dan teks
saja, tetapi menyimpan objek-objek lain kedalam database. Database Multimedia :
mampu menyimpan data gambar, video dan suara. GIS (Geographic Information
System) : bermanfaat dalam menyimpan dan menganalisa data peta gerografik, data
cuaca serta gambar satelit. Data warehouse dan OLAP (On-Line Analytical
Processing) : berguna pada sistem industri besar untuk meng-ekstract dan
menganalisa informasi yang berguna, sehingga sangat bermanfaat didalam
kepentingan pengambilan keputusan (decision making).
Teknologi
Real-time dan active database : digunakan dalam mengontrol proses industri dan
manufaktur, automation sistem, warning early system pada suatu bencana, dll.
(pada riset) Dan hingga saat ini, database masih mencari berbagai teknik yang
dapat diaplikasikan dalam WWW, khususnya dalam meningkatkan pencarian informasi
(information retrieval) dengan cepat dan tepat, yang dibutuhkan user di
internet. Data Mining : Text Mining
Istilah
Basis Data (database):
Lemari arsip
Penyimpanan data
Gudang Data
Manajemen data, dll.
Database
adalah sekumpulan data yang saling ber-relasi.Jika dijabarkan, Database:
Data : representasi fakta dunia nyata yang mewakili suatu obyek (spt, manusia:
dosen, mhs, pelanggan,dll; barang: buku, meja; peristiwa, konsep, dsb.), yang
direkam baik dalam bentuk angka, huruf, teks, gambar atau suara, dan memiliki
arti secara eksplisit (jelas).
Base: basis, tempat bersarang/berkumpul sesuatu.
a.
Database:
Himpunan kelompok data (arsip) yang saling berhubungan, yang diorganisasi
sedemikian rupa, sehingga kelak dapat dimanfaatkan kembali dengan cepat.
Kumpulan data yang saling berhubungan yang disimpan secara bersama tanpa adanya
pengulangan
(redudansi) data.
Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media
penyimpanan elektronik.
b.
Sistem
Database :
Sistem yang terdiri atas sekumpulan tabel data yang saling berhubungan dan
sekumpulan program (DBMS: Database Management System) yang memungkinkan berbagai
user dan/atau program lain dapat mengakses dan memanipulasi tabel-tabel
tersebut.
![](file:///C:\Users\Beqan\AppData\Local\Temp\msohtmlclip1\01\clip_image004.jpg)
DBMS
(Database Management System): kumpulan program yang digunakan user untuk
memanajemen database (create, maintain)
DBMS
harus mencakup proses/fungsi:
Defining : database harus bisa mendefiniskan tipe data, struktur dan batasan
(constraint) dari data agar dapat disimpan dalam database.
Constructing : database merupakan proses penyimpanan data pada pada beberapa media
penyimpanan yang dikontrol oleh DBMS.
Manipulating : database mencakup berbagai fungsi dan query untuk query data
(mendapatkan data) yang dicari, termasuk operasi insert, update dan delete
serta dalam meng-generate report data.
Sharing : database harus dapat diatur untuk bisa sharing data pada multiple
user dan program, sehingga dapat diakses secara bersama-sama.
Fungsi
yang lebih penting dari DBMS adalah proteksi dan
perawatan
(maintain) database dalam jangka panjang.
Proteksi : mencakup system protection yang menangani kondisi malfunction
(crash) baik pada hardware ataupun software, dan security protection yang
menangani pengaksesan oleh user yang tidak dikehendaki.
Maintain : DBMS harus memiliki kemampuan dalam memberikan perawatan pada sistem
database akan setiap perubahan tiap saat dibutuhkan.
Berdasarkan
kemampuan dan fungsi DBMS, dikatakan bahwa Sistem Database adalah database
beserta program DBMS-nya.
Lingkungan
Sistem Database:
![](file:///C:\Users\Beqan\AppData\Local\Temp\msohtmlclip1\01\clip_image006.jpg)
Contoh
DBMS:
Dbase
FoxPro
Ingres
Postgresql
MySQL
MS Access
SQL Server
Oracle
DB2, dsb.
c. Karakteristik Database
Pada
database tradisional, khususnya manajemen pemrosesan file, selalu terjadi
adanya pengulangan (redundancy) data, hal inilah yang menyebabkan data tidak
valid dan pemborosan space. Oleh karena itu, database memiliki karakteristik
yang berbeda dengan bentuk database tradisional sebelumnya, yang meliputi:
Self-describing nature of a database system
Insulation between programs and data, and data abstraction
Support of multiple views of the data
Sharing of data and multiuser transaction processing Karakteristik Database
A.
Self-describing nature of a database system
Sistem database tidak hanya berisi database saja, tetapi juga mampu mendeskripsikan/mendefinisikan
dengan lengkap struktur dan constraint (batasan) database.
Definisi lengkap database tersimpan pada katalog DBMS.
Katalog DBMS: berisi semua informasi database, seperti struktur tiap table,
tipe dan format penyimpanan masing-masing field/kolom/item table, serta
berbagai constraint data.
Informasi database yang tersimpan dalam katalog DBMS inilah yang disebut dengan
meta-data, yang mendeskripsikan struktur database utama. (lihat gambar
sebelumnya)
B.
Insulation
between programs and data, and data abstraction
Adanya penyekatan antara program, data dan abstraksi data.
Pada database tradisional, dimana data file di embed (pasang) dalam program
aplikasi, sehingga setiap terjadi perubahan harus merubah seluruh program yang
mengakses file tersebut.
Berbeda dengan database tradisional, struktur data file tersimpan didalam
katalog DBMS secara terpisah dari pengaksesan program.
Disebut program-data independence.
karakteristik DBMS yang memberikan kebebasan program-data dan program-operation
ini yang disebut dengan Abstraksi Data.
Dalam
Abstraksi Data:
Data dalam database disimpan dan diperlihara denganbaik dan terstruktur oleh
DBMS. Sistem ini menyembunyikan detail tentang bagaimana data disimpan
dipelihara. Sehingga seringkali data yang terlihat oleh user, berbeda dengan
data yang tersimpan secara fisik.
Abstraksi data berupa tingkatan/level tampilan dalam melihat bagaimana
menampilkan data dalam sebuah sistem database
Abstraksi
Data:
![](file:///C:\Users\Beqan\AppData\Local\Temp\msohtmlclip1\01\clip_image008.jpg)
Terdapat
3 Level abstraksi data:
Level Fisik (Physical Level)
-
Level terendah dalam abstraksi data, yang menunjukkan bagaimana sesungguhnya
suatu data disimpan.
-
User melihat data sebagai gabungan dari struktur dan datanya sendiri.
-
Tingkatan ini berurusan dengan:
-
Alokasi ruang penyimpanan untuk data dan indeks
-
Deskripsi record untuk penyimpanan
-
Penempatan record data
-
Teknik kompresi dan enkripsi data
Level
Konsepsual (Conceptual Level)
Menggambarkan
data apa yang sebenarnya disimpan dalam database, serta hubungannya
(relationship) dengan data lainnya. Berisi struktur logika database yang hanya
dapat dilihat oleh DBA.
Tingkat
konsepsual ini menyatakan:
- Entitas, atribut dan relasinya
- Konstrain-konstrain terhadap data
- Informasi semantiks data
- Informasi keamanan dan integritas data
Level
Pandangan (View Level)
-
Level tertinggi dari abstraksi data, yang hanya menampilkan data hanya sebagian
dari database.
-
Tidak semua user membutuhkan semua data dalam database.
C.
Support
of Multiple Views of the Data
Mendukung pada berbagai view data.
View adalah bagian dari database, atau bisa disebut salah satu obyek dari
database.
View merupakan hasil dari SQL Query, yang menampilkan data dari berbagai tabel.
View biasanya dibuat untuk kebutuhan report-report data yang kompleks pada
berbagai kebutuhan user yang berbeda.
D.
Sharing
of data and multiuser transaction processing
DBMS memiliki kemampuan dalam sharing data, serta dalam penanganan proses
transaksi dari banyak user (multiuser) pada saat yang sama.
Untuk itulah, DBMS juga harus memiliki kontrol konkurensi (concurrency
control), yang mengontrol adanya user yang mengakses (update) pada data yang
sama.
Contoh aplikasinya spt OLTP (OnLine Transaction Processing): beberapa pegawai
reservasi pesawat dapat menempatkan posisi kursi penumpang, dan DBMS memastikan
bahwa setiap kursi hanya dapat diakses untuk seorang pegawai pada satu waktu
saja.
a.
Pengguna
Basis Data
Para
pengguna database dapat dibagi menurut:
Pengguna database (“Actor on the scene”)
Pekerja dibalik database (“Worker behind the scene”)
“Actor on the scene”: lebih cenderung menggunakan / ada keterkaitan penggunaan
database .“Actor on the scene”, dapat dikelompokkan:
Database Administrators
Database Designers
End Users
System Analyst dan Application Programmers (Software Engineer)
Database
Administrators:
Database Administrator (DBA) : orang yang memiliki tanggung jawab penuh dalam
manajemendatabase (pengaturan hak akses, koordinasi dan monitoring, kebutuhan
hardware/software).
Dalam pekerjaannya biasanya dibantu oleh staf Admin.
Database
Designers:
Database Designer : bertanggung jawab dalam identifikasi data yang tersimpan
dalam database, menentukan struktur data yang tepat untuk disimpan dalam
database.
Perlu koordinasi akan kebutuhan user database
End
user Database :
End User Database : adalah orang-orang yang pekerjaannya membutuhkan akses ke
database untuk melakukan query, update maupun genereate report database.
End user dapat dikategorikan:
Casual end users (end user tak tetap): user yang tidak selalu mengakses
database, tapi kadang memerlukan informasi terbaru.
Naïve / parametric end users: user yang pekerjaan selalu konstan query dan
update data, spt: bank teller, pegawai reservasi, dll.
Sophisticated end users : user yang melengkapi kebutuhan database user, spt:
engineer, scientist, business analyst.
Stand-alone users : user yang memaintain personal database.
System
Analyst dan Application Programmers (Software Engineering) :
System Analyst : orang menentukan kebutuhan sistem end user.
Application Programmers (Software Engineering) :orang yang kerjaannya
berhubungan dengan kebutuhan koneksi database.
“Workers
behind the scene”
Orang-orang yang tidak tertarik pada database, akan tetapi lebih
cenderung
pekerjaannya men-develop tool untuk kebutuhan
database.
“Worker
behind the scene”, dapat dikelompokkan:
DBMS system designers dan implementer
Orang-orang
yang merancang dan meng-implementasikan modul-modul dan interface paket-paket
software DBMS. (ex. Modul: catalog, procs query lang., procs interface, access
& buffering data, controlling cuncurrency, handling data recovery &
security; interfacing: interface for integrated system)
Tool developers
Orang-orang yang merancang dan
mengimplementasikan tools untuk mendukung software DBMS. (tool untuk
meningkatkan performance database, tool untuk monitoring operasional database,
dll)
Operators dan maintenance personnel Para personel administrator yang
bertanggung jawab akan jalannya operasional database termasuk maintenance
(hardware/software) DBMS.
Prinsip
kerja Basis Data:
Pengaturan data / arsip
b.
Tujuan
Basis Data:
Kemudahan dan kecepatan dalam pengambilan data (speed)
Efisiensi ruang penyimpanan (space)
Mengurangi / menghilangkan redudansi data
Keakuratan (Accuracy)
Pembentukan kode & relasi antar data berdasar
aturan / batasan (constraint) tipe data, domain data, keunikan data, untuk
menekan ketidakakuratan saat entry / penyimpanan data. . Ketersediaan (Avaibility)
Pemilahan data yang sifatnya pasif dari
database aktif.
Kelengkapan (Completeness)
Kompleksnya data menyebabkan perubahan
struktur
database.
Keamanan (Security)
Memberikan keamanan atas hak akses data.
Pemakaian Bersama (Sharebility)
Bersifat multiuser.
c.
Manfaat
penggunaan DBMS:
Controlling Redundancy
- Redundancy: duplikasi data, penyimpanan
data secara berulang.
- Redudancy salah satu syarat larangan dalam
database relasional,karena akan menimbulkan inconsistensi data.
- Dengan controlling redundancy, selain akan
meningkatkan performance query juga menjaga konsistensi data.
Restricting Unauthorized Access
- Memberikan pengaturan hak akses / batasan
akses user database
Providing Persistent Storage for Program Objects
- Menyediakan ruang penyimpanan khusus untuk
obyek-obyek program (ex. Object-Oriented Database system yang menyimpan
obyek-obyek pemrograman berbasis
obyek).
Providing
Storage Structures for Efficient Query
Processing
-
Menyediakan struktur penyimpanan yang bagus untuk efisiensi proses query.
Providing
Backup and Recovery
Providing
Multiple User Interface
Representing
Complex Relationship among Data
Enforcing
Integrity Constraints
Permitting
Inferencing and Actions using Rules
-
Menyediakan actions khusus berdasarkan rules (aturan) yang telah ditetapkan
dalam sistem database.
Additional
Implications of using the Database Approach
-
Flexible, up-to-date data, ekonomis, dll.
d.
Komponen
Sistem Basis Data:
Perangkat Keras (Hardware)
Komputer, memori, storage (Harddisk),
peripheral, dll.
Sistem Operasi (Operating System)
Program yang menjalankan sistem komputer,
mengendalikan resource komputer dan melakukan berbagai operasi dasar sistem
komputer.
Basis Data (Database)
Menyimpan berbagai obyek database (struktur
tabel, indeks,dll)
DBMS (Database Management System)
Perangkat lunak yang memaintain data dalam
jumlah besar.
Pemakai (User)
Para pemakai database.
Aplikasi (perangkat lunak) lain.
Program lain dalam DBMS.
e.
Bahasa
Basis Data
DBMS
merupakan perantara antara user dengan database.
Cara
komunikasi diatur dalam suatu bahasa khusus yang telah ditetapkan oleh DBMS.
Contoh:
SQL, dBase, QUEL, dsb.
Bahasa
database, dibagi dalam 2 bentuk:
- Data Definition Language (DDL)
- Data Manipulation Language (DML)
Data
Definition Language (DDL)
Digunakan dalam membuat tabel baru, indeks, mengubah tabel, menentukan struktur
tabel, dsb.
Hasil dari kompilasi perintah DDL berupa kumpulan tabel yang disimpan dalam
file khusus: Kamus Data (Data Dictionary).
Data Dictionary: merupakan metadata (superdata),yaitu data yang mendeskripsikan
data sesungguhnya.Data dictionary ini akan selalu diakses dalam suatu operasi
database sebelum suatu file data yang sesungguhnya diakses.
Data
Manipulation Language (DML)
Digunakan dalam memanipulasi dan pengambilan data pada database.
Manipulasi data, dapat mencakup:
- Pemanggilan data yang tersimpan dalam database (query)
- Penyisipan/penambahan data baru ke
database (Insert)
- Pengubahan data pada database (Update)
- Penghapusan data dari database
(Delete)
Terdapat
dua (2) jenis DML:
Prosedural
Menghendaki user untuk menspesifikasikan data
apa yang diperlukan dan bagaimana cara mendapatkan data itu.
Contoh: bahasa C/C++, PL/SQL, dsb.
Nonprosedural
Menghendaki user untuk menspesifikasikan data
apa yang dibutuhkan, tanpa harus menspesifikasikan bagaimana cara mendapatkan
data tersebut.
Contoh: SQL
LATIHAN
1. Berikan
macam-macam contoh DBMS yang anda ketahui beserta nama vendornya masing-masing.
2. Buat
paper berbagai jenis aplikasi database yang anda ketahui dengan memberikan
deskripsi bisnis aplikasi tersebut beserta jenis DBMS yang digunakan.