BAB I - Perpustakaan STMIK MURA

advertisement
Diktat Kuliah : Sistem Basis Data
Hal : 1
BAB I
PENDAHULUAN
Database is Knowledge !!
“Knowledge is of two kinds: we know subject ourselves,
or we know where we can find information upon it.”
-- Samuel Johnson (1709-1784)
DataBase
Basis Data terdiri atas Basis dan Data.
Definisi Data
• Data adalah fakta mengenai objek, orang, dll.
• Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti
manusia, barang, hewan, peristiwa, konsep, keadaan dan yang direkam dalam bentuk
angka, huruf, symbol, teks, gambar, bunyi, atau kombinasinya.
Data dinyatakan dengan nilai (angka, deretan karakter, atau sombol-sombol). Sampai dengan
membentuk suatu database, data mempunyai jenjang : karakter, field, record, file, database.
Defisini Basis
• Basis berarti gudang, tempat berkumpul sedangkan
Sehingga bisa disimpulkan Basis Data (Database):
• Himpunan kelompok data(arsip) yang saling berhubungan yang diorganisasi
sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
• Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian
rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai
kebutuhan
• Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam media
penyimpanan elektronis.
• Basis data (database) merupakan kumpulan dari data yang saling berhubungan satu
dengan yang lainnya. tersimpan di perangkat keras komputer dan digunakan
perangkat lunak untuk memanipulasinya.
Sebagai contoh:
Airline Reservation Database
Objects: Flight, Pilot, Passenger, Schedule, ..
Database Universitas
Objects: Mahasiswa, Dosen, Mata Kuliah, …
Database merupakan salah satu komponen yang penting dalam sistem informasi.
Penerapan database dalam sistem informasi disebut dengan sistem basis data (database
system).
Kriteria Basis Data, yaitu :
• Bersifat data oriented dan bukan program oriented.
• Digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.
• Berkembang dengan mudah, baik volume maupun strukturnya.
• Memenuhi sistem-sistem baru secara mudah.
• Digunakan dengan cara-cara yang berbeda.
• Meminimalisasi kerangkapan data
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 2
Objektif basis data
Tujuan awal utama dalam pengelolaan data dalam sebuah basis data adalah agar
dapat memperoleh kembali data (yang dicari) dengan cepat dan tepat. Disamping itu
pemanfaatan basis data untuk pengolahan data, juga memiliki tujuan-tujuan lain. Secara
lengkap tujuan pemanfaatan basis data adalah sebagai berikut :
1. Kecepatan dan kemudahan (Speed)
2. Efisiensi Ruang Penyimpanan (Space)
3. Keakuratan (Accuracy)
4. Ketersediaan (Availability)
5. Kelengkapan (Completeness)
6. Keamanan (Security)
7. Kebersamaan Pemakaian (Sharability)
Pendekatan Dalam membuat Basis Data
• Pendekatan Tradisional
Memiliki kelemahan, yaitu :
‰ Duplikasi data (data redundancy)
Mengakibatkan :
• Modifikasi dari data yang duplikat harus dilakukan untuk beberapa file
sehingga kurang efisien
• Pemborosan tempat media penyimpanan
‰ Tidak terjadi hubungan data (data relatability)
• Pendekatan Database
Pendekatan database mencoba memperbaiki kelemahan-kelemahan yang terjadi di
pendekatan tradisional, yaitu :
‰ Duplikasi data (data redundancy) dikurangi.
‰ Hubungan data (data relatability) dapat ditingkatkan.
Jenjang Data
• Characters
• Field
• Record
• File
• Database
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 3
Operasi dasar basis data
Setiap basis data umumnya dibuat untuk mewakili sebuah semesta data yang
spesifik. Misalnya ada basis data akademik, kepegawaian, inventori dan lain-lain. Sementara
dalam basis data akademik kita dapat menempatkan file mahasiswa, matakuliah, dosen
kehadiran, nilai dan lain-lain.
Karena itu operasi-operasi dasar yang dapat kita lakukan berkenaan dengan basis
data dapat berupa :
1. Pembuatan basis data baru (create database)
2. Penghapusan basis data (drop database)
3. Pembuatan file/tabel baru ke suatu basis data (create table)
4. Penghapusan file/tabel dari suatu basis data (drop table)
5. Penambahan/pengisian data baru ke sebuah file/tabel (insert)
6. Pengambilan datda dari sebuah file/tabel (retrieve/search)
7. Pengubahan data dari sebuah file/tabel (update )
8. Penghapusan data dari sebuah file/tabel (delete)
Operasi pembuatan basis data dan tabel merupakan operasi awal yang hanya
dilakukan sekali dan berlaku untuk seterusnya. Sedangkan operasi-operasi yang berkaitan
dengan isi tabel (data) merupakan operasi rutin yang akan berlangsung ber-ulang-ulang dan
karena itu operasi-operasi inilah yang lebih tepat untuk aktivitas pengolahan (management)
dan pengolahan (processing) data dalam basis data.
Evolusi Teknologi Basis Data
Perkembangan teknologi basis data tidak terlepas dari perkembangan perangkat
keras dan perangkat lunak. Perkembangan teknologi jaringan komputer dan komunikasi data
merupakan salah satu penyumbang kemajuan penerapan basis data, yang kemudian
melahirkan sistem basis data terdistribusi. Contoh dampak perkembangan tersebut adalah
kemudahan untuk mengambil uang dengan fasilitas ATM (anjungan tunai mandiri).
Perkembangan perangkat lunak seperti kecerdasan buatan, sistem pakar, dan
pemrograman ber-orientasi objek, juga mempengaruhi perkembangan basis data, sehingga
muncul istilah basis data ber-orientasi objek dan basis data cerdas.
Penerapan basis data
Hampir semua aspek pemanfaatan perangkat komputer dalam sebuah organisasi
/perusahaan senantiasa berhubungan dengan basis data. Basis data merupakan salah satu
komponen utama dalam setiap sistem informasi. Tidak ada sistem informasi yang bisa
dibuat/dijalankan tanpa adanya basis data.
Bidang-bidang fungsional yang telah umum memanfaatkan basis data demi efisiensi, akurasi
dan kecepatan operasi antra lain : Kepegawaian, Pergudangan (inventory), Akuntasnsi,
Reservasi (untuk hotel, pesawat, kereta api), Layanan pelanggan, dll.
Bentuk-bentuk organisasi/perusahaan yang memanfaatkan basis data (sebagai komponen
sistem informasi dalam organisasi/perusahaan dapat berupa : Perbankan, Asuransi, Rumah
sakit, Produsen barang, Industri manufaktur, Pendidikan/sekolah, Telekomunikasi, dll.
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 4
BAB II
MANAJEMEN SISTEM BASIS DATA
Basis data hanyalah sebuah objek yang pasif/mati, ia ada karena ada pembuatnya.
Basis data tidak akan pernah berguna jika tidak ada pengelola/penggeraknya. Yang menjadi
pengelola/penggeraknya secara langasung adalah program/aplikasi (software). Gabungan
dari basis data dan pengelolanya menghasilkan sesbuah sistem basis data. Karena itu,
secara umum sebuah sistem basis data merupakan sistem yanga terdiri dari kumpulan file
(tabel) yang saling berhubungan (dalam sebuah basis data) dan sekumpulan program
(DBMS) yang memungkingkan beberapa pemakai dan/atau program lain untuk mengakses
dan memanipulasinya.
Sistem manajemen basis data (Database Management System) adalah merupakan suatu
perangkat lunak yang didesain untuk membantu pemakai dalam mendefinisikan, menciptakan
database, melakukan pemeliharaan, dan mengontrol penggunaan terhadap database.
Sistem Basis Data
Sistem basis data (database system) adalah suatu informasi yang mengintegrasikan
kumpulan dari data yang saling berhubungan satu dengan lainnya dan membuatnya tersedia
untuk beberapa aplikasi didalam suatu organisasi.
Fungsi DBMS
Fungsi dan pelayanan yang disediakan oleh Database Manajemen System, yaitu :
ƒ Data Storage, Retrieval dan Update
Suatu DBMS harus mentediakan user dengan kemampuan untuk menyimpan,
mengambil dan update data dalam database
ƒ A User – Accessible Catalog
Suatu DBMS harus menyediakan suatu catalog dimana deskripsi item data yang
disimpan dapat diperoleh user
ƒ Transaction Support
Suatu DBMS harus menyediakan suatu mekanisme yang akan menjamin semua
update yang menghubungkan ke transsaksi yang diberikan.
ƒ Concurrency Control Services
Suatu DBMS harus menyediakan mekanisme untuk menjamin bahwa database
yang di update dengan benar oleh beberapa user secara bersamaan
ƒ Recovery Service
Suatu DBMS mesti menyediakan suatu mekanisme untuk mendapatkan kembali
database dalam suatu kejadian, dimana database dirusak dalam beberapa cara.
ƒ Authorisation Services
Suatu DBMS harus menyediakan suatu mekanisme untuk menjamin bahwa
hanya user yang berhak dapat mengakses database
ƒ Support Data Communication
Suatu DBMS harus mampu mendukung dalam penintegrasian software
comunication
ƒ Integrity Services
Suatu DBMS harus menyediakan suatu maksud tertentu untuk menjamin data
dalam database dan bertukarnya suatu data mengikuti aturan tertentu
ƒ Services to promote data independence
Suatu DBMS erdiri dari fasilitas untuk mendukung independence program dari
struktur database yang aktual
ƒ Utitlity services
Suatu DBMS harus menyediakan satu set pelayanan utiliti
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 5
Komponen sistem basis data
Dalam sebuah sistem basis data, secara lengkap akan terdapat komponen-komponen
utama sebagai berikut :
1. Perangkat keras
Perangkat keras yanga biasanya terdapat dalam sebuah sistem basis data dapat berupa
komputer dengan sistem stand-alone atau sistem jaringan.
2. Sistem operasi
Program pengelola basis data hanya dapat aktif jika sistem operasi yang dikehendakinya
(sesuai) telah aktif.
3. Basis data
Sebuah sistem basis data dapat memiliki beberapa basis data, setiap basis data dapat
memiliki sejumlah objek basis data.
4. Sistem pengelola basis data (DBMS)
Pengelolaan basis data secara fisik tidak dilakukan oleh pemakai secara langsung, tetapi
ditangani oleh sebuah perangkat lunak yang khusus/spesifik yang disebut dengan
DBMS. Perangkat lunak ini akan menentukan bagaimana data diorganisasikan,
disimpan, diubah, dan diambil kembali, serta menerapkan mekanisme pengamanan data,
pemakaian data dsb.
Perangkat lunak yang termasuk DBMS antara lain :
- dBase III +, dBase IV, FoxBase, MS-Access, dll (untuk DBMS sederhana)
- MS-SQLServer, Oracle, Informix, Sybase, dll (untuk DBMS yang kompleks)
5. Pemakai
Beberapa jenis pemakai suatu sistem basis data yang dibedakan berdasarkan cara
mereka berinteraksi terhadap sistem :
- Programmer Aplikasi. Pemakai yang ber-interaksi dengan basis data melalui Data
Manipulation Language (DML) yang disertakan dalam program yang ditulis dalam
bahasa pemrograman induk (seperti C, Pascal, Cobol dll)
- User Mahir. Pemakai yang ber-interaksi dengan sistem tanpa menulis modul
program, melaikan hanya menggunakan bahasa query yang disediakan DBMS.
- User Umum. Pemakai yang ber-interaksi dengan sistem melalui program aplikasi
permanen.
- User Khusus. Pemakai yang menulis aplikasi basis data non konvensional, tetapi
untuk keperluan khusus, seperti sistem pakar, pengolahan citra, dll yang bisa saja
mengakses dengan/tanpa DBMS.
6. Aplikasi (Perangkat lunak) lain (bersifat optional)
Keuntungan Sistem Basis Data
1. Data dapat dipakai bersama-sama (Multiple User)
2. Data dapat distandarisasikan
3. Mengurangi kerangkapan data (Redudansi)
4. Adanya kemandirian data (Kebebasan) data atau data independent
5. Keamanan (Security) data terjamin
6. Keterpaduan data terjaga (Integrity)
Kerugian Sistem Basis Data
1. Diperlukan tempat penyimpanan yang besar (Complexity)
2. Memerlukan ukuran yang besar (Size )
3. Diperlukan tenaga yang terampil dalam mengelola data (Performance )
4. Perangkat lunaknya mahal (Cost Of DBMS)
5. Menambah biaya perangkat keras ( Cost of Hardware )
6. Biaya pengkonversian mahal ( Cost of Conversion )
7. Memiliki tingkat kerusakan yang tinggi ( Higher impact of failure )
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 6
Dibandingkan dengan sistem berbasis kertas, DBMS memiliki 4 keunggulan :
1. Kepraktisan : Sistem yang berbasis kertas akan menggunakan kertas yang sangat
banyak untuk menyimpan informasi, sedangkan DBMS menggunakan media
penyimpanan skunder yang berukuran kecil tetapi padat informasi.
2. Kecepatan : Mesin dapat mengambil atau mengubah data jauh lebih cepat daripada
manusia.
3. Mengurangi kejemuan : Orang cenderung menjadi bosan kalau melakukan tindakantindakan berulang yang menggunakan tangan.
4. Kekinian : Informasi yang tersedia pada DBMS akan bersifat mutakhir dan akurat
setiap saat.
Komponen utama sistem manajemen basis data dapat dibagi menjadi 4 macam, yaitu :
1. Perangkat keras, yaitu berupa komputer dan bagian-bagian di dalamnya, beserta
perlengkapan pendukung lainnya.
2. Perangkat lunak, yaitu berfungsi melayani permintaan-permintaan pengguna
3. Data, data dalam basis data mempunyai sifat terpadu (integrated) dan berbagi
(shared)
4. Pengguna, pengguna dapat diklasifikasikan menjadi pengguna akhir, pemrogram
aplikasi dan administrator basis data.
5. Procedure
PEDOMAN UNTUK MEMILIH DBMS
1. Harus mudah digunakan
2. Mempunyai prosedur backup untuk membuat file pelindung
3. Dapat memberikan berita bila terjadi kegagalan sistem
4. Banyaknya file yang dapat dibuka serentak pada suatu saat
5. Kemampuan untuk merubah nilai default yang sudah ditentukan
6. Kemampuan dari operasi arithmatika.
7. Kemampuan untuk mengedit data dengan mudah
8. Kemampuan untuk mengurutkan data
9. Kecepatan pengolahannya
10. Kemampuan pembuatan laporan
11. Kemampuan memodifikasi struktur data
12. Kemampuan mempertemukan, menggabung atau pengupdate dengan dua atau
lebih file
13. Kemampuan Indexing
14. Mempunyai Query Language
15. Kemampuan berhubungan dengan program yang lain
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 7
16. Jumlah record yang dapat ditangani oleh masing-masing file
17. Jumlah karakter per record yang dapat digunakan
18. Jumlah dari field yang dapat ditentukan dalam sebuah file
19. Panjang maksimum suatu field
20. Jumlah field kunci dalam satu file
21. Kemampuan hubungan dengan dengan file yang lain
22. Kemampuan menggunakan Harddisk
23. Kemampuan untuk digunakan pada sistem multi user
24. Harga dari paket tersebut.
25. Dukungan purna jual bila ada versi yang lebih baru.
Pengguna Database
1. Database Manager
Satu database manager adala satu modul program yang menyediakan interface
antara penyimpanan data low-level dalam database dengan satu aplikasi program dan
query yang diajukan ke sistem
Tugas dan tanggung jawab Database Manager :
• Interaksi dengan manager File
• Intergrity enforcement (Integritas)
• Security Enforcement (keamanan)
• Backup dan recovery
• Concurency Control
2. Database Administrator
Merupakan orang yang mempunyai kekuasaan sebagai pusat pengontrolan terhadap
seluruh sistem baik data maupun program yang mengakses data.
Fungsi database administrator, yaitu :
• Mendefinisikan pola struktur database
• Mendefinisikan struktur penyimpanan dan metode akses
• Mampu memodifikasi pola dan organisasi phisik
• Memberikan kekuasaan pada user untuk mengakses data
• Menspesifikasikan keharusan/paksaan integritas data
3. Database User
Satu tujuan utama dari sistem database adalah menciptakan suasana bagaimana
informasi dibaca dan data baru disimpan dalam database.
Ada 4 macam pemakai database yang berbeda keperluan dan cara aksesnya, yaitu :
ƒ Programmer Aplikasi
ƒ User Mahir (Casual User)
ƒ User Umum (End User/Naïve User)
ƒ User Khusus (Specialized User)
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 8
Hubungan antara user dapat dilihat pada gambar berikut :
Gambar Struktur sistem basis data secara keseluruhan (Hub Antara User)
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 9
BAB III
ARSITEKTUR DATABASE
Abtraksi Data
Kegunaan utama sistem database adalah agar pemakai/user meampu menyusun
suatu pandangan abtraksi dari data. Bayangan mengenai data tidak lagi memperhatikan
kondisi sesungguhnya bagaimana satu data masuk ke database, disimpan dalam disk
disektor mana, tetapi menyangkut secara menyeluruh bagaimana data tersebut dapat di
abtraksikan/digambarkan menyerupai kondisi yang dihadapi oleh pamakai.
Abstraksi data adalah bagaimana melihat data dalam sebuah sistem basis data. Salah
satu tujuan dari DBMS adalah untuk menyediakan fasilitas dalam memperlihatkan data
kepada pemakai/user. Untuk itu sistem akan menyembunyikan detail tentang bagaimana data
itu disimpan dan dipelihara. Karena itu seringkali data yang terlihat oleh pemakai berbeda
dengan yang tersimpan secara fisik.
Arsitektur Database menurut ANSI-SPARC
Level Eksternal / View Level
™ Pandangan user terhadap database
™ Menggambarkan bagian dari database yang relevan untuk pemakai tertentu
Level Konseptual / Logical Level
™ Merupakan pandangan komunitas terhadap database
™ Menggambarkan data apa yang disimpan dalam database dan bagaimana hubungan
diantara data.
™ Level ini juga berisi struktur logic dari keseluruhan database.
Level Internal / Physical Level
™ Merupakan gambaran phisik database pada computer
™ Menggambarkan bagaimana data tersimpan ke dalam database
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 10
Data Independence
Tujuan utama dari arsitektur DBMS adalah untuk menyediakan data independence. Dimana
bahwa level yang lebih tinggi tidak dipengaruhi oleh pertukaran ke level yang lebih rendah.
• Logical Data Independence
Menunjukkan kekebalan skema external untuk bertukar ke skema konseptual. Bertukarnya
ke skema konseptual seperti penambahan atau penghapusan entity, atribut dan relation baru
tanpa harus menukar skema external yang ada atau harus ditulisnya kembali program
aplikasi
• Physical Data Independence
Menunjukkan kekebalan skema konseptual untuk bertukarnya skema
internal.
Ex.
Penggunaan organisasi file atau struktur penyimpanan yang berbeda penggunaan peralatan
penyimpanan yang berbeda, pemodifikasian algoritma indek atau hashing tanpa harus
menukar skeme konseptual (eksternal)
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Pola dan
Pemetaan
oleh DBA
Database
Administrator
Hal : 11
Pemakai A1
Pemakai A2
Pemakai B1
Pemakai B2
Bahasa
Pemrograman
Bahasa
Pemrograman
Bahasa
Pemrograman
Bahasa
Pemrograman
Pandangan
Eksternal A
Pandangan
Eksternal B
Pemetaan Konseptual
External A
Pemetaan Konseptual
External B
Pandangan
Konseptual
DBMS
Pemetaan secara
Internal / Phisik
Bahasa Basis Data (Database Language)
DBMS merupakan perantara bagi pemakai dengan basis data dalam disk, Cara
berinteraksi/berkomunikasi tersebut menggunakan suatu bahasa khusus yang disebut
bahasa basis data yang terdiri dari sejumlah perintah/statement.
Bahasa basis data dapat dipilah menjadi dua macam perintah yang digunakan untuk
mengelola dan mengorganisasikan data, yaitu :
1. Data Definition Language (DDL)
Memberikan kemudahan kepada DBA atau USER untuk mendeskripsikan entitas, attribut dan
relasi, yang dibutuhkan untuk aplikasi database. Hasil dari perintah DDL adalah kumpulan
table yang disimpan dalam file khusus yang disebut Kamus Data(Data Dictionary)
2. Data Manipulation Language (DML)
Berguna untuk melakukan manipulasi dan pengambilan data, yaitu berupa
• Penyisipan /penambahan data baru ke suatu basis data
• Penghapusan data dari suatu basis data
• Pengubahan data disuatu basis data
Ada dua jenis DML
• Prosedural
• Nonprosedural
Ada dua cara untuk mengakses data pada basis data :
a. Mengetikkan perintah-perintah yang ditujukan kepada DBMS untuk memanipulasi
suatu data. Biasanya DML yang digunakan adalah bersifat nonprosudural.
b. Melalui program aplikasi yang menerbitkan instrruksi-instruksi internal ke DBMS untuk
memanipulasi data dan memberikan hasil ke program. Bahasa pemrograman yang
digunakan dapat berupa bahasa pemrograman konvensional Pascal, C, Cobol,
Fortran dll, yang menggunakan pendekatan prosedural.
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 12
Arsitektur Database Multiuser
1. TELEPROCESSING
• Traditional architecture.
• Single mainframe with a number of terminals
attached.
• Trend is now towards downsizing.
2. FILE-SERVER
• File-server is connected to several
workstations across a network.
• Database resides on file-server.
• DBMS and applications run on each
workstation.
Kelemahan File-Server
• Significant network traffic.
• Setiap workstation harus memiliki copy DBMS
• Concurrency, recovery and integrity control more complex.
3. CLIENT-SERVER
• Database dan DBMS terletak pada Server
• Client mengatur sendiri hubungan dengan database, DBMS dan menjalankannya
Transaction Processing Monitors
• Merupakan program yang mengontrol pertransferan data antaea Clients dan Servers
saat terjadinya transaksi dan merupakan bagian dari OLTP (Online Transaction
Processing)
• Transaction Processing Monitor merupakan middle tier dari arsitektur three-tier clientserver
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
RAMLI, S.KOM
Hal : 13
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 14
BAB IV
MODEL DATA
Model basis data menunjukkan suatu cara/mekanisme yang digunakan untuk
megelola/mengorganisasikan data secara fisik dalam memori sekunder yang akan
berdampak pada bagaimana kita mengelompokkan dan membentuk keseluruhan data yang
terkait dalam sistem yang sedang kita tinjau. Suatu model adalah suatu representasi
terhadap objek yang ada “real world” dan kejadian serta hubungan diantara mereka.
Hingga saat ini, model basis data yang paling umum ada 3 macam, yaitu : hirarkis, jaringan
dan relational.
Model hirarkis
Model hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik.
Model ini menggunakan pola hubungan orang tua-anak. Setiap simpul (biasanya dinyatakan
dengan lingkaran atau kotak) menyatakan sekumpulan medan. Simpul yang terhubung ke
simpul pada level dibawahnya disebut orang tua sebaliknya simpul yang berada dibawah
orang tua disebut anak. Setiap orang tua dapat memiliki satu (hubungan 1:1) atau beberapa
anak (hubungan 1:M), tetapi setiap anak hanya memiliki satu orang tua. Contoh gambar yang
menunjukkan model hirarkis :
Dosen
Siti Nurbaya
Dosen
Asrab
Sistem
Basis Data
Rudi
Asti
Bahasa
Pascal
Dina
Dina
Pendidikan
Agama
Edi
Ita
Edi
Model Jaringan
Model ini menyerupai model hirarkis, dengan perbedaan suatu simpul anak dapat
memiliki lebih dari satu orang tua. Oleh karena sifatnya yang demikian model ini bisa
menyatakan hubungan 1:1 (satu orang tua mempunyai satu anak), atau 1:M (satu orang tua
mempunyai banyak anak), maupun N:M (beberapa anak bisa mempunyai beberapa orang
tua). Contoh gambar yang menunjukkan model jaringan :
Dosen
Siti Nurbaya
Sistem
Basis Data
Rudi
Asti
Dosen
Asrab
Bahasa
Pascal
Dina
Pendidikan
Agama
Edi
Ita
Model Relasional
Didasarkan pada konsep relasi matematik (mathematical relation). Di dalam relasional data
model, data dan relationship di gambarkan seperti tabel yang masing-masingnya mempunyai
sejumlah kolom dengan nama yang unik.
Mahasiswa
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
NPM
Hal : 15
Nama
04401001
04401010T
04402011
04301001
Alamat
Nur’Ainun
Okta Frida
Elga Puspita
Aldyan
Dosen Wali
Jln. Thamrin No 123 c
Jln. Prof. HM Yamin 12
Helvetia
Setia Budi
SMJ
GND
SMJ
YHD
Dosen Wali
Kode
SMJ
GDN
YHD
Nama
Alamat
Ir. Sumijan, M.Sc
Dr. Ir. Gunadi, M.Sc
Yuhandri, S.Kom
Jln. Aru Gg Bunga 12
Jln. Sudirman 100 D
Pasar Timur
Karakteristik model data relational adalah :
a. Semua elemen data pada suatu baris dan kolom tertentu harus mempunyai nilai
tunggal
b. Semua elemen data pada suatu kolom tertentu dalam relasi yang sama harus
mempunyai jenis yang sama
c. Masing-masing kolom dalam suatu relasi mempunyai suatu nama(atribut) yang unik
d. Pada suatu relasi atau table yang sama tidak ada dua baris yang identik
Keuntungan menggunakan model relational
a. Bentuknya sederhana untuk memudahkan pengembangan sistem yang ada
b. Mudah melakukan berbagai operasi data, misalnya insert, delete, update
c. Implementasinya mudah
d. Dapat mengoptimasi biaya
e. Keamanan atau security lebih mudah dilakukan
Ada beberapa sifat yang melekat pada suatu tabel, yaitu :
1. Tidak ada baris yang kembar
2. Urutan baris bebas
3. Setiap kolom memiliki nama yang unik
4. Letak kolom bebas
5. Setiap kolom memiliki nilai tunggal dan jenisnya sama untuk semua baris
DATABASE TERDISTRIBUSI
Sebuah sistem database terdistribusi berisikan sekumpulan site. Setiap site dapat
berpartisipasi saat mengeksekusi transaksi yang mengakses data di satu site atau beberapa
site.
Bentuk-bentuk topologi distribusi data
o Fully Connected Network
Keuntungan
A
B
- Kalau salah satu node rusak
yang lainnya masih dapat
F
berjalan
C
Kerugian
D
E
- Control
manajemen
tidak
terjamin
o
Partially Connected Network
A
C
B
D
RAMLI, S.KOM
E
F
Keuntungan
- Reliability rendah
- Biaya dapat ditekan
Kerugian
- Control
manajemen
terjamin
tidak
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
o
Hal : 16
Tree Structured Network
Keuntungan
- Bersifat sentral
- Control manajemen terjamin
Kerugian
- Kalau node pusat rusak semua
akan rusak
A
C
B
G
o
D
E
F
Ring Network
A
B
F
C
E
o
D
Keuntungan
- Apabila ada satu yang rusak,
yang lain masih bisa berjalan
Kerugian
- Control manajemen kurang
terjamin
karena
bersifat
desentralisasi
Star Network
B
C
A
E
D
Keuntungan
- Control manajemen lebih terjamin,
karena bersifat sentral dan reliability
rendah
Kerugian
- Kalau node pusat rusak semua akan
rusak
Keuntungan Database terdistribusi
o Pengawasan distribusi dan pengambilan data
Jika sejumlah site yang berbeda dihubungkan satu sama lain, sehingga seorang
pemakai yang berada pada satu site dapat mengakses data yang tersedia pada
site yang lain.
o Reliability dan Avaibility
Sistem distribusi dapat terus-menerus berfungsi dalam menghadapi kegagalan
site individu atau mata rantai komunikasi antar site.
o Kecepatan pemrosesan query
Jika kecepatan suatu query melibatkan data dibeberapa site, maka
memungkinkan membagi query kedalam subquery yang dapat dieksekusi dalam
bentuk parallel oleh beberapa site.
o Otonomi local
Pendistribusian sistem mengizinkan sekelompok indivisu dalam sebuah
perusahaan untuk melatih pengawasan local melalui data mereka sendiri.
Kemampuan ini dapat mengurangi ketergantungan kepada pemrosesan pusat
o Efisiensi fleksibel
Data dapat disimpan dekan dengan titik yang datanya digunakan. Data dapat
secara dinamik bergerak atau disalin, atau salinannya dapat dihapus.
Kerugian Database terdistribusi
o Harga Software mahal
o Kemungkinan kesalahan besar
o Biaya pemrosesan tinggi
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 17
BAB V
ENTITY RELATIONSHIP DIAGRAM
Entity Relationship Diagram adalah high level conceptual data model yang dikembangkan
oleh Chen (1976) untuk menfasilitasi perancangan database Konsep-konsep dasar dari Entity
Relationship Model mencakup Entity, Relation dan Attributes
Alasan diperlukan model E-R :
1. Dapat menggambarkan hubungan antar entity dengan jelas
2. Dapat menggambarkan batasan jumlah entity dan partisipasi antar entity
3. Mudah dimengerti oleh pemakai
4. Mudah disajikan oleh perancang database.
Komponen-komponen yang terdapat dalam E-R terdiri dari :
A. Entity
Sesuatu yang dapat dibedakan dalam dunia nyata dimana informasi yang berkaitan
dengannya dikumpulkan. Entity set merupakan kumpulan kumpulan entity yang sejenis,
yang berupa
a. Entity yang bersifat fisik, yaitu entity yang dapat dilihat. Contohnya : rumah,
kendaraan, mahasiswa, dosen, dll
b. Entity yang bersifat konsep atau logic, yaitu entity yang tidak dapat dilihat.
Contohnya : pekerjaan, perusahaan, rencana, matakuliah, dll.
Entity dapat dibedakan atas dua jenis yaitu :
• Entity Kuat (Strong Entity) adalah suatu entity yang keberadaannya tidak tergantung
kepada keberadaan entity yang lain. Strong Entity digambarkan dengan
menggunakan persegi empat dilabelkan dengan nama entity.
•
Entity Lemah (Weak Entity) adalah suatu entity yang keberadaannya tergantung
kepada keberadaan entity yang lainnya. Weak Entity digambarkan dengan
menggunakan persegi empat yang diberi garis double dilabelkan dengan nama
entity.
B. Attribute
Adalah karakteristik dari entity atau relationship yang menyediakan penjelasan detail
tentang atau relationship tersebut. Attribute value adalah suatu data actual atau informasi
yang disimpan disuatu attribute di dalam suatu entity atau relationship
Attribute dapat dibedakan atas:
• Simple Attribute adalah attribute dimana nilainya tidak dapat dibagi kedalam bagian
yang lebih kecil, disebut juga atomic attribute. Contoh, attribute Sex dan Gaji
(Salary).
•
Composite Attribute adalah attribute dimana nilainya dapat dibagi kedalam bagian
yang lebih kecil. Contoh, Alamat (Jl. Proklamasi No. 20 Padang Sumatera Barat).
Attribute ini dapat Dibagi kedalam Jalan, Nomor, Kota dan Propinsi. Keputusan untuk
memodelkan attribute Alamat sebagai simple atau composite adalah tergantung
kepada bagaimana user memandang attribute tersebut.
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 18
•
Single Valued Attribute adalah attribute yang hanya boleh mengandung satu nilai
tertentu. Contoh, entity kantor cabang mempunyai satu nilai untuk nomor kantor
cabang (Branch_no), misalnya B3.
•
Multi Valued Attribute adalah attribute yang boleh mempunyai lebih dari satu nilai.
Sebagai contoh, entity kantor cabang mempunyai banyak nomor telepon (telp_no).
•
Derived Attribute adalah sebuah attribute yang nilainya diperoleh dari hasil proses
dua atau lebih attribute yang ada. Contoh, Umur (Age) diperoleh dari Tanggal_lahir
(DOB) – Tanggal Sekarang (Sysdate)
NIM
Nama
Mahasiswa
Jurusan
C. Key
•
Candidate key
Merupakan kunci kandidat dari bebarapa atribut yang terdapat dalam sebuah entity.
Sebagai contoh: Branch number (branch_no) adalah candidate key untuk entity type
Branch.
Candidate key mestilah mempunyai nilai yang unik untuk setiap occurence dari
sebuah entity type, sebagai contoh tiap-tiap branch mempunyai branch number yang
unik (Sebagai contoh B3), dan tidak ada lebih dari satu branch dengan branch number
yang sama.
•
Primary Key
Sebuah type entity dapat mempunyai satu atau lebih candidate key. Satu dari
candidate key dipilih menjadi sebuah primary key.
Sebagai contoh, Staff mempunyai National Insurance Number (NIN) yang unik dan
juga Staff Number. Dalam hal ini mempunyai dua buah candidate key untuk entity
staff, satu daripadanya harus dipilih untuk menjadi primary key.
Contoh lainya yaitu : Company mendefinisikan Staff Number (contoh: SG14) adalah
dalam size yang lebih pendek dibandingkan dengan National Insurance Number
(contoh: WL220658D). Maka, berdasarkan ini, Staff Number menjadi Primary Key dan
National Insurance Number menjadi Alternate Key.
•
Composite Key
Dalam beberapa kasus, Key dari sebuah entity adalah terdiri dari beberapa attribute
karena nilainya adalah unik untuk sebuah entity. Sebagai contoh, entity Misalkan
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 19
entity
ADVERT
mempunyai
attribute-attribute
berikut:
{property_no,
newspapaer_name, date_advert dan cost}.
Beberapa property diiklankan pada banyak newspaper dalam satu tanggal tertentu.
Untuk mengidentifikasi occurrence dari entity ADVERT diperlukan nilai-nilai dari
atrribute property_no, newspaper_name dan date_advert.
Maka entity ADVERT mempunyai composite primary key yaitu: {property_no +
newspaper_name + date_advert}
D. Relationship
Adalah hubungan yang terjadi antara satu atau lebih entity. Relationship tidak
mempunyai keberadaan fisik, kecuali yang mewarisi hubungan antara entity tersebut.
Relasionship set adalah kumpulan relationship yang sejenis.
Dosen
Mengajar
Mahasiswa
E. Garis
Yang menghubungkan antar objek dalam diagram E-R
Kardinalitas Pemetaan
Kardinalitas pemetaan atau rasio kardinalitas menunjukkan jumlah entity yang dapat
dihubungkan ke satu entity lain dengan suatu relationship sets.
Kardinalitas pemetaan meliputi :
1. Hubungan satu ke satu (one to one).
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam
2. Hubungan satu ke banyak (one to many)
Yaitu satu entity dalam A dihubungkan dengan sejumlah entity dalam B. Satu
entity dalam B dihubungkan dengan maksimum satu entity dalam A.
3. Hubungan banyak ke satu (many to one)
Yaitu satu entity dalam A dihubungkan dengan maksimum satu entity dalam B.
Satu entity dalam B dapat dihubungkan dengan sejumlah entity dalam A.
4. Hubungan banyak k banyak (many to many).
Satu entity dalam A dihubungkan dengan sejumlah entity dalam B, & satu
entity dalam B dihubungkan dengan sejumlah entity dalam A.
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 20
BAB VI
STRUCTURED QUERY LANGUAGE (SQL)
Sistem basis data komersial menghendaki adanya sebuah bahasa query yang lebih userfriendly. Oleh karena itu dikenal SQL sebagai bahasa query yang marketable. SQL
menggunakan kombinasi aljabar relasional & kalkulus relasional. Meskipun SQL adalah
bahasa query, namun SQL mempunyai banyak kemampuan lain disamping melakukan query
terhadap basis data. SQL mempunyai kemampuan untuk mendefinisikan struktur data,
modifikasi data dalam basis data dan menentukan konstrain sekuriti.
SQL merupakan bahasa basis data relasional standard. Terdapat macam-macam versi SQL.
Versi aslinya pertama kali dikembangkan oleh IBM San Jose Research Laboratory.
Bahasa SQL mempunyai beberapa bagian yaitu :
• Data Definition Language (DDL)
DDL memberikan perintah untuk mendefinisikan skema relasi, penghapusan relasi,
membuat indeks dan modifikasi skema relasi.
•
Interactive Data-Manipulation Language (DML)
DML merupakan bahasa query yang berdasarkan pada aljabar relasi dan kalkulus relasi
tuple. Termasuk didalamnya adalah perintah untuk penyisipan, penghapusan dan
modifikasi.
•
Embedded DML
Bentuk embedded SQL biasanya terdapat dalam bahasa pemrograman multi guna
seperti PL/I, Cobol , Pascal dan Fortran.
•
View Definition
DDL SQL memasukkan perintah untuk mendefinisikan view.
•
Authorization
DDL SQL memasukkan perintah untuk menentukan hak-hak akses ke relasi dan view.
•
Integrity
DDL SQL memasukkan perintah untuk menentukan konstrain integritas yang harus
dipenuhi oleh data yang tersimpan dalam basis data.
•
Transaction control
SQL memasukkan perintah-perintah untuk menentukan awal dan akhir transaksi.
Beberapa implementasi juga memungkinkan locking data untuk concurrency control.
1. DDL (Data Defenition Language)
Data Defenition Language merupakan bagian dari SQL yang digunakan untuk
mendefenisikan data dan objek database. Perintah digunakan untuk mendefenisikan
suatu objek, yaitu membuat, mengubah, menghapus dan memberikan izin.
Beberapa peritah DDL, yaitu :
a. CREATE DATABASE
Berguna untuk membuat database
CREATE DATABASE Budidarma ;
b. CREATE TABLE
Berguna untuk membuat table.
CREATE TABLE MAHASISWA(
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
NPM
Nama
Jenjang
Jurusan
Hal : 21
Varchar(10) PRIMARY KEY,
Varchar(45) NOT NULL,
Varchar(10),
Varchar(30) )
c. ALTER TABLE
Berguna utnuk mengubah atau menyisipkan ke dalam table
ALTER TABLE Mahasiswa ADD Tahun Char(4);
d. DROP TABLE
Berguna untuk menghapus table
Drop Table Mahasiswa ;
2. DML (Data Menipulation Language)
Data Manipulation Language merupakan bagian dari SQL yang digunakan
untuk manipulasi data. Perintah-perintah ini bertugas melakukan query dan
perubahan yang dilakukan didalam suatu tabel.
a. INSERT
Berguna untuk menyisipkan baris dari suatu table
INSERT INTO PEGAWAI VALUES( ‘0001’, ‘Ir. M. Anton’, ‘K01’ ) ;
INSERT INTO PEGAWAI VALUES( ‘0002’, ‘Arianti, S.Kom’, ‘S01’ ) ;
INSERT INTO JABATAN VALUES( ‘K01’, ‘KaBag Keuangan’, 3500000 ) ;
INSERT INTO JABATAN VALUES( ‘S01’, ‘Staf Keuangan’, 2000000 );
INSERT INTO JABATAN VALUES( ‘S02’, ‘Staf Administrasi, 1400000 );
b. SELECT
Digunakan untuk memilih data dari suatu table atau view
SELECT [ALL | DISTINCT ]
Nama_kolom_kolom_table
[INTO Nama_Tabel ]
[FROM Nama_nama_Tabel ]
[WHERE Predikat ]
[GROUP BY Ekspresi ]
[ORDER BY Nama_kolom_Tabel ] ;
SELECT * FROM PEGAWAI ;
Untuk menampilkan semua field dari Table Pegawai
SELECT Nama FROM PEGAWAI ;
Hanya menampilkan Field Nama dari Table Pegawai
SELECT * FROM JABATAN WHERE Kode=’K01’ ;
Hanya menampilkan semua Field Nama dari Table Pegawai dimana kode = ‘K01’
SELECT Pegawai.Nama, Jabatan.Nama as NmJabatan, Jabatan.Gaji FROM
Pegawai, Jabatan
SELECT a.Nama, b.Nama as NmJabatan, b.Gaji FROM Pegawai a, Jabatan b
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 22
c. DELETE
Berguna untuk menghapus baris dari suatu table
DELETE FROM Jabatan WHERE Kode=’K01’ ;
d. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table
UPDATE Pegawai Set Nama = ’M. Ares’ WHERE NIP=’0002’ ;
Contoh Kasus :
1. Buatlah perintah SQL untuk membuat table di bawah ini :
Nama Table : MataKuliah
Field
Type
Size
KdMTK
Text
8
Nama
Text
40
SKS
Byte
1
Semester
Text
5
Nama Table
Field
NPM
Nama
Jenjang
Jurusan
: Mahasiswa
Type
Text
Text
Text
Text
Size
8
40
5
35
2. Tambahkan Field
Kelompok
dengan type Text(3) ke dalam table MataKuliah.
3. Masukkan beberapa Record di bawah ini, yaitu :
KdMTK
Nama
SKS Semester
Kelompok
PKMI3101
Agama
3
I
MPK
KKMI3211
Kalkulus
3
II
MKK
KKMI3501
Teknik Riset Operasional
3
V
MKK
KBMI3101
Paket Program Niaga I
3
I
MKB
KBMI3201
Paket Program Niaga II
3
II
MKB
KBMI3301
Struktur Data
3
III
MKB
NPM
0602010
0602011
0602001
0602014
Nama
Reni Agusti
Johan Prabudi
Meri Rianti
M. Ichan
D3
Jenjang
D3
MI
D3
D3
Jurusan
MI
TI
MI
4. Hapus Mata Kuliah dengan nama Kalkulus
5. Perbaiki record Mata Kuliah Agama menjadi Pend. Kewarganegaraan
6. Perbaiki record Jurusan TI menjadi Jurusan MI
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 23
BAB VII
RELATIONAL ALJABAR
•
Operator Relational Aljabar:
¾ Fundamental
™ selection
Unary operators
™ projection
™ union
Binary operators
™ set difference
(union compatibilty)
™ Cartesian product
¾ Additional
™ rename
™ intersection
™ join
™ quotient (division)
Contoh Relational Scheme :
Contoh Relational Instance:
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
•
Hal : 24
Selection (Proses yang menghasilkan Horizontal Subset dari relasi yang diberikan):
Contoh Selection:
•
Projection (Proses yang menghasilkan Vertical Subset dari suatu relasi):
Projection dapat menghasilkan duplikat tuple.
•
Union:
Catatan:
™ R dan S harus union compatible.
™ Menghasilkan tuple yang ada di R atau di S, dan tidak ada di kedua2nya (no
duplikat tuple)
™ Dapat digunakan untuk insert new tuple ke relasi yang ada.
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
•
Hal : 25
Set Difference:
Catatan:
™ R dan S harus union compatible
™ Menghasilkan tuple yang ada di R tapi tidak ada di S
™ Asimmetris R-S ≠ S-R
ƒ
Cartesian Product:
™ R dengan derajat k 1 dan kardinalitas n 1
™ S dengan derajat k 2 dan kardinalitas n 2
Hasil RxS adalah relasi dengan derajat (k 1 + k 2 ) dan berisi (n 1 * n 2 ) tuple .
Contoh:
•
Intersection:
Catatan: R dan S harus union compatible
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
•
Hal : 26
Join:
Contoh Join:
Catatan:
™ F adalah formula yang dipakai untuk selection
™ Turunan Cartesian Product:
™ Tipe Join:
o θ -join : dengan F berisi suatu operator θ
o
o
Equi-Join : dengan F berisi operator persamaan (=) Æ
Natural-Join : Equi-Join R dan S pada suatu atribut yang sama diantara
kedua relasi
Æ
Contoh Natural-Join:
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
•
Hal : 27
Division (Quotient):
™ R dengan derajat k 1
™ S dengan derajat k 2
™ k 1 > k 2 dan k 2 ≠ 0
Contoh:
•
Contoh Query:
¾ List nama semua pegawai:
¾ List nama semua project beserta budgetnya:
¾ Cari nama semua project yang mempunyai budget lebih dari $225.000:
¾ List nama dan budget project dimana pegawai E1 bekerja:
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 28
¾ List nama dan budget project yang memperkerjakan programmer:
Bagaimana dengan query berikut?
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 29
BAB VIII
ANOMALI & NORMALISASI DATA
Anomali
Adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan
(misalnya menyebabkan ketidakkonsistenan data atau membuat sesuatu data menjadi hilang
ketika data lain dihapus).
Macam anomali ada 3, yaitu :
1. Anomali peremajaan,
2. Anomali penghapusan, dan
3. Anomali penyisipan.
1. Anomali Peremajaan
Anomali ini terjadi bila terjadi perubahan pada sejumlah data yang mubazir, tetapi tidak
seluruhnya diubah. Sebagai contoh, terdapat relasi PESANAN_BELI yang
mengandung data PEMASOK
dan KOTA yang menyatakan lokasi pemasok.
BARANG, dan JUMLAH yang menyatakan nama barang dan jumlah barang yang
dipesan.
PEMASOK
Kartika
Citra
Candra
Citra
KOTA
Jakarta
Bandung
Jakarta
Bandung
BARANG
Monitor GGG
ZIP-drive
Keyboard
Mouse CCP
JUMLAH
10
4
5
25
Gambar Relasi PESANAN_BELI
Seandainya pemasok Citra berpindah ke kota lain, misalnya ke Bogor, dan
pengubahannya hanya dilakukan pada data pertama ( data pemasok Citra pada relasi
PESANAN_BELI ada dua buah), maka hasilnya adalah seperti yang terlihat pada
gambar dibawah ini:
PEMASOK
Kartika
Citra
Candra
Citra
KOTA
Jakarta
Bandung
Jakarta
Bandung
BARANG
Monitor GGG
ZIP-drive
Keyboard
Mouse CCP
JUMLAH
10
4
5
25
Gambar Relasi PESANAN_BELI setelah adanya perubahan
Terlihat bahwa ada ketidakkonsistenan. Fakta pertama menyatakan bahwa pemasok
Citra berlokasi di Bogor, tetapi fakta kedua menyatakan bahwa pemasok Citra berada
di Bandung. Mana yang benar? Keadaan inilah yang menyatakan adanya
ketidakkonsistenan.
2. Anomali penyisipan
Anomaly ini terjadi jika pada saat penambahan hendak dilakukan, ternyata ada elemen
data yang masih kosong dan elemen data tersebut justru menjadi kunci. Sebagai
contoh, terdapat relasi yang berisi tiga buah atribut:
- KULIAH
- RUANG
- TEMPAT
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 30
KULIAH
RUANG
TEMPAT
Jaringan Komputer
Merapi
Gedung Utara
Pengantar Basis Data
Merbabu
Gedung Utara
Matematika I
Rama
Gedung Selatan
Sistem Pakar
Sinta
Gedung Selatan
Kecerdasan
Merapi
Gedung Utara
Contoh relasi yang menimbulkan anomali penyisipan
Relasi di atas menyatakan bahwa:
• KULIAH menggunakan RUANG tertentu (misalnya Jaringan Komputer
menggunakan ruang Merapi), dan
• Suatu RUANG berada pada TEMPAT tertentu (misalnya ruang Merapi terdapat
pada Gedung Utara).
Masalahnya, bagaimana caranya menyimpan fakta bahwa ruang baru bernama Arjuna
terdapat pada Gedung Selatan? Penyisipan tidak dapat dilakukan mengingat tak ada
informasi KULIAH yang menggunakan ruang tersebut.
Kasus serupa dapat dilihat pada relasi berikut:
NO_SISWA
NAMA_KURSUS
BIAYA
10
Bahasa Inggris
60.000
10
Bahasa Prancis
80.000
10
Bahasa Mandarin
60.000
15
Bahasa Inggris
60.000
20
Bahasa Jepang
65.000
Contoh korelasi yang menimbulkan anomaly penyisipan
Relasi di atas mencatat kursus-kursus yang diikuti oleh siswa (misalnya, siswa
dengan nomor identifikasi 10 mengambil kursus bahasa Inggris, Prancis, dan
Mandarin) selain juga menyatakan biaya kursus (misalanya biaya kursus Bahasa
Inggris adalah sebesar 60.000). masalh akan timbul apabila dibuka kursus baru ,
misalnya Bahasa Arab, dengan biaya sebesar 70.000, akan tetapi untuk sementara
belum seorang pun yang mengambil kursus ini. Akibatnya, data kursus baru itu tidak
dapat dicatat!
3. Anomali Penghapusan
Anomaly penghapusan terjadi sekiranya sesuatu baris (tupel) yang tak terpakai
dihapus dan sebagai akibatnya terdapat data lain yan ghilang. Dengan mengambil
contoh relasi KURSUS di depan, apa yang terjadi seandainya data bahwa siswa
dengn identitas 20 yang mengambil kursus bahasa Jepang di hapus? Data yang
menyatakan bahwa biaya kursus bahasa jepang sebesar 65.000 juga akan terhapus!
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 31
Pengertian Normalisasi
Istilah normalisasi berasal dari E.F. Codd, salah seorang perintis teknologi basis data.
Normalisasi memberikan panduan yang sangat membantu bagi pengembang untuk
mencegah penciptaan struktur tabel yang kurang fleksibel atau mengurangi ketidak efisienan.
Normalisasi adalah proses untuk mengubah suatu tabel yang memiliki masalah
tertentu ke dalam dua buah atau lebih tabel yang tidak memiliki masalah tersebut. Masalah
yang dimaksud disebut dengan istilah anomali.
Bentuk-bentuk Normal
Bentuk normalisasi adalah suatu aturan yang harus dipenuhi oleh tabel-tabel pada
level normalisasi dalam basis data. Suatu tabel dikatakan berada dalam bentuk normal
tertentu jika telah memenuhi kondisi-kondisi tertentu. Beberapa level yang biasa digunakan
pada normalisasi adalah :
1. Bentuk normal pertama (1NF)
2. Bentuk normal kedua (2 NF)
3. Bentuk normal ketiga (3 NF)
4. Bentuk normal Boyce-Codd (BCNF)
5. Bentuk normal keempat (4 NF)
6. Bentuk normal kelima (5 NF)
Bentuk normal pertama hingga ketiga merupakan bentuk normal yang umum dipakai. Artinya
pada kebanyakan tabel, bila ketiga bentuk normal tersebut telah dipenuhi, maka pesoalan
anomali tidak akan muncul lagi. Bentuk normal Boyce_Codd merupakan revisi terhadap
bentuk normal ketiga. Bentuk normal 4 NF dan 5 NF hanya dipakai pada kasus-kasus
khusus, yaitu tabel yang mengandung dependensi nilai banyak.
5 NF
4 NF
BCNF
3 NF
2 NF
1 NF
Tabel Umum
Gambar diatas menjelaskan bahwa setiap level normalisasi bergantung pada level
sebelumnya. Semakin dalam levelnya, tabel mempunyai kecenderungan lebih baik, artinya
memiliki problem yang lebih kecil ataupun sama sekali tidak memiliki permasalahan anomali.
Pada normalisasi proses perancangan database berasal dari dokumen dasar yang
dipakai pada system informasi. Selanjutnya dokumen dasar tersebut dibentuk menjadi UNF,
1 NF, 2 NF dan 3 NF.
Contoh 1:
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 32
Dari dokumen berikut ini tentukan UNF, 1 NF, 2 NF dan 3 NF-nya untuk perancangan
database dengan Normalisasi.
No. Anggota
Nama
Alamat
Tgl. Masuk
Kode Buku
B001
B002
B003
KARTU ANGGOTA PERPUSTAKAAN
: P001
: ALI
: Jl. O. No. 1
: 27-7-97
Judul
Tgl.Pinjam Tgl. Kembali
BASIC
28-07-97
04-08-97
PASCAL
28-07-97
04-08-97
DEA
28-07-97
04-08-97
Bentuk UNF dan 1 NF
Bentuk normal pertama biasanya dikenakan pada tabel yang belum ternormalisasi. Tabel
yang belum ternormalisasi adalah tabel yang memiliki atribut yang berulang.
No.
Angg
P001
P001
P001
Nama
Alamat
Tgl. Msk
Kd_Buku
Judul
Tgl. Pinj
ALI
ALI
ALI
Jl. O No.1
Jl. O No.1
Jl. O No.1
27-7-97
27-7-97
27-7-97
B001
B002
B003
BASIC
PASCAL
DEA
28-7-97
28-7-97
28-7-97
Tgl.
Kem
4-8-97
4-8-97
4-8-97
Kelemahan :
- Terjadi duplikasi karena No. Anggota dan Tgl. Masuk berkali-kali.
- Inserting tidak dapat dilakukan tanpa adanya transaksi peminjaman.
- Updating untuk field yang terduplikasi akan berkali-kali.
- Deleting akan mengalami kekacauan, karena bila kita menghapus No. angggota P001
akan menghapus juga kode buku yang masih diperlukan.
Catatan !
Untuk bentuk UNF No. Anggota, Nama, Alamat, dan Tgl. Masuk hanya ditulis satu kali.
Bentuk 2 NF
Bentuk normal kedua didefinisikan berdasarkan dependensi fungsional.
Definisi bentuk normal kedua adalah :
- Berada pada bentuk normal pertama
- Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci perimer.
Dalam ungkapan yang lebih praktis, bentuk normal kedua mensyaratkan setiap atribut
bergantung kepada kunci primer.
Bentuk normal kedua didapat dengan mencari field kunci (primary key) dan membentuk
table berdasarkan primary key tersebut.
Dari kasus diatas didapat:
- No. Anggota
- Kode Buku
Anggota
* No. Anggota
Nama
Alamat
Tgl. Masuk
RAMLI, S.KOM
Buku
*Kode Buku
Judul
Tgl. Pinjam
Tgl. Kembali
No. Anggota**
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Keterangan :
*
**
Hal : 33
: Primary Key
: Foreign Key
Pada bentuk 2 NF maka masalah inserting, updating, dan deleting sudah teratasi, tapi
ada field-field yang tergantung ke lebih dari satu table (kebergantungan transitif), yaitu ;
- Tgl. Pinjam
- Tgl. Kembali
Bentuk 3 NF
Pada bentuk normal ke tiga mempunyai syarat setiap table tidak mempunyai field
yang tergantung transitif.
Anggota
No. anggota
Nama
Alamat
Tgl. Masuk
Hasil Akhir :
Anggota
No. Anggota
Buku
Kode Buku
Judul
Pinjaman
No. Anggota
Kode Buku
Tgl. Pinjam
Tgl. Kembali
Nama
Alamat
No.
Anggota
RAMLI, S.KOM
Tgl. Masuk
Tgl. Pinj
Tgl.
Kem
Buku
Kode Buku
Judul
Kode
Buku
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 34
BAB IX
PERANCANGAN DENGAN TEKNIK E-R
E-R atau Entity Relationship adalah teknik menghubungkan tabel-tabel Entitas menurut
pedoman Konsep Sistem Basis Data.
Jenis-jenis tingkat hubungan antar entitas (Cardinality):
1. One to One (1 to 1)
Hubungan antara file pertama dan file kedua adalah satu berbanding satu.
Contoh:
1
Mahasiswa
milik
1
NIM
Dibaca: Satu orang mahasiswa (hanya) memiliki satu buah NIM dan satu buah NIM
(hanya) dimiliki oleh satu orang mahasiswa.
2. One to Many (1 to M)
Hubungan antara file pertama dan file kedua adalah satu berbanding banyak atau
banyak berbanding satu.
Contoh:
1
Proyek
kerja
M
Buruh
Dibaca: Sebuah proyek mempekerjakan banyak buruh dan seorang buruh (hanya)
bekerja pada satu proyek.
3. Many to Many (M to N)
Hubungan antara file pertama dan file kedua adalah banyak berbanding banyak.
Contoh:
M
Dosen
ajar
M
Mahasiswa
Dibaca: Seorang dosen mengajar banyak mahasiswa dan seorang mahasiswa diajar
oleh banyak dosen.
Penerapan Teknik E-R dalam perancangan Basis Data
Langkah-langkah:
1. Menganalisa sistem yang berjalan
a. Wawancara
b. Pengamatan (observasi)
2. Menyusun kamus data (data dictionary)
3. Memilih primary key dari kamus data yang tersusun, dengan syarat unik dan mewakili
sebuah entity.
4. Membentuk tabel-tabel entitas berdasarkan primary key yang terpilih dengan syarat
tiap tabel tidak boleh mengandung field yang bergantung transitif.
5. Menganalisa relasi yang terjadi antar tabel entitas dan menggambarkannya. Relasi
yang terjadi bisa One to One, One to Many atau Many to Many.
6. Menggambarkan hubungan antar entitas berdasarkan analisa relasi yang didapat dan
memasang kunci-kunci relasi (foreign key) dengan aturan:
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 35
a. Bila relasi One to One, foreign key ditaruh pada ke-2 file atau dijadikan satu.
b. Bila relasi One to Many, foreign key ditaruh pada file yang Many.
c. Bila relasi Many to Many, maka dibuat file konektor yang berisi 2 foreign key
dan atribut yang bergantung transitif.
Contoh penerapan teknik E-R
1. Amatilah berkas berikut ini:
KARTU PEMINJAMAN BUKU
NIM
:
NAMA
:
Kd_buku
Judul
Pengarang
Tgl_pinjam
Tgl_kembali
Hasil wawancara: “Di perpustakan ini, ada beberapa buku dengan judul dan
pengarang yang sama, namun demikian masing-masing buku memiliki kode buku
sendiri-sendiri. Seorang mahasiswa boleh meminjam buku lebih dari satu!”
2. Menyusun kamus data:
•
•
•
•
•
•
•
NIM
Nama
Kd_buku
Judul
Pengarang
Tgl_pinjam
Tgl_kembali
= nomor induk mahasiswa
= nama mahasiswa
= kode buku
= judul buku
= pengarang buku
= tanggal peminjaman
= tanggal kembali buku yang dipinjam
3. Menentukan primary key
Dari kamus data yang terbentuk, maka dapat ditentukan primary key sebagai berikut::
• NIM
• Kd_buku
4. Membuat tabel entitas
Mahasiswa
Buku
NIM
Kd_buku
Nama
Judul
….
Pengarang
…..
…..
……
……
Di taruh di manakah field yang belum membentuk
tabel ?
Lengkapilah tabel yang terbentuk dgn field yg
diperlukan!
5. Menganalisa relasi antar tabel entitas
Hasil analisa: Seorang mahasiswa bisa meminjam banyak buku dan satu buku dapat
dipinjam oleh banyak mahasiswa.
Diagram:
M
Mahasiswa
RAMLI, S.KOM
pinjam
M
Buku
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 36
6. Menggambarkan hubungan antara entitas:
Mahasiswa
Pinjam
NIM
NIM
Kd_buku
Nama
Kd_buku
Judul
Alamat
Tgl_pinjam
Pengarang
Tgl_lahir
Tgl_kembal
Penerbit
Telepon
i
Thn_terbit
M
Mahasiswa
pinjam
Buku
M
Buku
Keterangan:
One to One
One to Many
Many to Many
Dari diagram tersebut, File Pinjam adalah file konektor, yang berisi foreign key (NIM dan
Kd_buku) serta berisi field-field yang bergantung transitif, yaitu Tgl_pinjam dan
Tgl_kembali. Perhatikan area yang berada dalam garis putus-putus! Area tersebut
menggambarkan relasi yang terjadi antar entitas, yang sebelumnya digambarkan dengan
diagram E-R.
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 37
BAB X
KEAMANAN DATABASE
Keamanan Database
¾ Data merupakan sumber daya bernilai yang harus di atur dan diawasi secara ketat
bersama dengan sumber daya corporate.
¾ Sebagian atau keseluruhan data corporate mempunyai kepentingan strategis dan karena
itu harus dijaga agar tetap aman dan rahasia.
¾ Database Security merupakan mekanisme yang menjaga database dari
serangan/ancaman yang disengaja maupun tidak sengaja.
¾ Pertimbangan keamanan tidak hanya diaplikasikan pada data yang ada dalam database.
Pelanggaran terhadap keamanan dapat mempengaruhi bagian lain dari sistem, yang
akan memberi akibat balik terhadap database.
¾ Keamanan database terkait dengan keadaan berikut :
• Pencurian dan penipuan (theft and fraud)
• Kehilangan kerahasiaan (Loss of confidentiality)
• Kehilangan keleluasaan pribadi (Loss of privacy)
• Kehilangan integritas (Loss of integrity)
• Kehilangan ketersediaan (Loss of availability)
¾ Ancaman (threat) adalah segala situasi atau kejadian, baik disengaja maupun tidak
disengaja yang dapat menimbulkan efek merugikan terhadap system dan berikutnya
organisasi .
Summary of Threats to Computer Systems
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 38
Typical Multi-User Computer Environment
Tindakan terhadap ancaman (Countermeasures – Computer-Based Controls)
Berbagai tindakan balasan untuk ancaman yang terjadi dikaitkan dengan kontrol fisik sampai
dengan prosedur administrative yang menyertakan :
¾ Authorisasi (Authorization)
¾ View
¾ Back-up dan Recovery
¾ Integrity
¾ Encryption
¾ RAID Technology
•
Authorization (Otorisasi)
Pemberian hak atau wewenang, yang menyebabkan subjek memiliki legitimasi untuk
mengakses system atau objek-objek dalam system.
• Authentication (Pembuktian keaslian)
Suatu mekanisme yang menentukan apakah user yang mengakses benar-benar user
yang dimaksud.
• View
Merupakan hasil dinamis dari satu atau lebih operasi relasional yang dioperasikan pada
relasi/table dasar untuk menghasilkan relasi/table lainnya. View merupakan relasi/table
virtual yang tidak benar-benar ada dalam database, tetapi dihasilkan berdasarkan
permintaan oleh user tertentu pada saat tertentu.
• Back Up
Suatu proses yang secara periodik mengambil salinan database dan log file (dapat juga
berupa program) untuk disimpan pada media penyimpanan offline.
• Journaling
Suatu proses pemeliharaan dan penyimpanan log file (jurnal) dari semua perubahan
yang dilakukan terhadap database untuk kemudahan recovery bila terjadi kerusakan
(failure).
• Integrity
Mencegah data dari ketidaksesuaian (invalid) dan mengakibatkan pemberian hasil
yang salah.
• Encryption
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 39
Penyandian (encoding) data dengan menggunakan algoritma khusus yang membuat
data tidak dapat dibaca oleh program tanpa kunci decryption.
•
RAID (Redundant Array of Independent Disks) Technology
¾ Hardware dimana DBMS berjalan dengan fault-tolerant, yang berarti bahwa DBMS
harus tetap melanjutkan operasi walaupun terdapat satu komponen hardware yang
rusak (fail).
¾ Memberikan kesan memiliki komponen redundant (lebih) yang dapat diintegrasikan
kedalam sistem kerja walaupun terdapat satu atau lebih kerusakan komponen.
¾ Komponen hardware utama yang harus memiliki fault-tolerant meliputi disk drives,
disk controllers, CPU, Power supplies, cooling fans.
¾ Disk drives merupakan komponen yang paling mudah diserang dengan jarak yang
dekat antar kerusakan dibandingkan dengan komponen hardware lainnya.
¾ Salah satu solusinya dengan menggunakan RAID technology, yaitu menyediakan
serangkaian besar disk, yang terdiri dari susunan beberapa disk independen diatur
untuk memperbaiki ketahanan (reliability) dan meningkatkan performa (performance).
¾ Performa (performance) meningkat melalui data striping, yaitu data disegmentasi
(dibagi) menjadi beberapa bagian dengan ukuran yang sama (striping units), yang
secara jelas didistribusikan melewati beberapa disk.
¾ Ketahanan (reliability) diperbaiki melalui penyimpanan informasi berlebih (redundant)
melewati disk dengan menggunakan skema parity atau skema error-correcting.
Kemanan pada Microsoft Access DBMS
Menyediakan dua metode untuk pengamanan database, yaitu
:
¾ Penetapan password untuk membuka database (keamanan sistem)
¾ Keamanan tingkat user, yang dapat digunakan untuk membatasi bagian dari database
yang dapat dibaca/di-update oleh user (keamanan data)
Securing the DreamHome Database Using a Password
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 40
User and Group Accounts Dialog Box for the DreamHome Database
User and Group Permissions Dialog Box
Creation of a New User with Password Authentication Set
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 41
Log on Dialog Box
Setting the Permissions
DBMS dan Keamanan Web
¾ Komunikasi internet dipercayakan pada TCP/IP sebagai protocol utama.
¾ Bagaimanapun TCP/IP dan HTTP tidak didesain dengan pemikiran keamanan. Tanpa
software khusus, semua jalur internet berjalan secara terbuka dan siapapun yang melihat
jalur tersebut dapat membacanya.
¾ Yang harus dipastikan pada saat pengiriman informasi melalui internet yaitu :
• Tidak dapat diakses oleh siapapun kecuali pengirim dan penerimanya
(privacy).
• Tidak diubah selama pengiriman (integrity).
• Penerima merasa yakin bahwa data tersebut berasal dari pengirim yang
dimaksud (authenticity).
• Pengirim merasa yakin bahwa penerima adalah penerima yang sebenarnya
(non fabrication).
• Pengirim tidak dapat menyangkal bahwa dirinya yang mengirim data (non
repudiation)
¾ Harus dapat menjaga informasi ketika sudah mencapai web server.
¾ Executable Content dapat menampilkan malicious action dan tindakan harus dilakukan
untuk mencegahnya, yaitu
:
• Data rusak atau Execution state dari program
• Format ulang disk lengkap
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
•
•
•
•
•
Hal : 42
Melaksanakan pe-nonaktif-an sisten secara total
Mengumpulkan dan mengambil data rahasia
Merebut identitas dan menirukan (impersonate) user
Lock up resources, menyebabkan tidak dapat digunakan untuk user dan program
Berakibat tidak fatal tetapi memberikan hasil yang tidak diinginkan, terutama pada
output device.
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 43
BAB XI
DATABASE RECOVERY
Database Recovery merupakan suatu proses penyimpanan/pengembalian database
ke state yang benar pada saat terjadi kerusakan. Kebutuhan atas kontrol recovery
disebabkan karena penyimpanan data pada umumnya menggunakan empat jenis media
penyimpanan berdasarkan tingkat reliabilitas/tahan uji-nya. Terdapat 2 jenis penyimpanan
:
¾ Volotile storage, biasanya tidak bertahan jika terjadi kerusakan sistem (system
crash). contohnya : main memory
¾ Nonvolotile storage, magnetic disk merupakan online nonvolatile storage dan
magnetic tape merupakan offline nonvolatile storage. lebih reliable dan lebig
murah. Stable storage, merepresentasikan informasi yang telah direplika kedalam
beberapa media penyimpanan non-volotile (biasanya disk) dengan jenis
kerusakan yang terpisah.
Terdapat beberapa jenis kerusakan yang dapat mempengaruhi proses database.
Beberapa kerusakan hanya mempengaruhi main memory saja atau juga media yang lain.
Kerusakan tersebut diakibatkan oleh :
¾ System Crashes, menyebabkan hilangnya data dari main memory.
¾ Media Failures, menyebabkan hilangnya sebagian data dari media penyimpanan
secondary.
¾ Application Software errors, misalnya logical erroryang terdapat dalam program
yang mengakses database sehingga menyebabkan satu atau lebih transaksi
mengalami kegagalan.
¾ Natural physical disaster, bencana alam/musibah seperti :kebakaran, banjir,
gempa bumi, kerusakan listrik.
¾ Carelessness, kecerobohan atau tindakan tidak sengaja yang menyebabkan
kerusakan data, yang dilakukan oleh operator atau user.
¾ Sabotage, sabotase atau tindakan sengaja merusak atau mencuri data, fasilitas
harware maupun software.
Transaksi dan Recovery
Transaksi merepresentasikan unit dasar dari recovery dalam sistem database.
Recovery manager bertanggung jawab atas atomicity dan durability. Jika kesalahan terjadi
antara penulisan ke buffer dan mengirimkan buffer database ke penyimpanan sekunder maka
recovery manager harus menetapkan status dari transaksi yang melakukan penulsan pada
saat terjadi keruskan. Jika transaksi dinyatakan commit, maka untuk memastikan durability,
recovery manager harus melakukan redo (rollforward) terhadap perubahan transaksi.
Jika transaksi belum committed pada saat terjadi kerusakan, recovery manager harus
melakukan undo (rollback) segala akibat dari transaksi tersebut untuk menjamin atomicity
transaksi. Jika hanya terdapat satu transaksi yang tidak diselesaikan, maka mengacu ke
partial undo. Sedangkan jika seluruh transaksi tidak terselesaikan maka mengacu ke- global
undo.
:
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 44
DBMS Mulai pada saat t0, tetapi gagal pada saat tf. Diasumsikan data untuk transaksi
T2 dan T3 telah dituliskan ke penyimpanan sekunder. T1 dan T6 harus tidak terselesaikan.
Dikarenakan ketiadaan informasi lain, maka recovery manager harus melakukan redo untuk
T2, T3, T4, dan T5.
STATUS TRANSAKSI & OPERASI TAMBAHAN
Suatu transaksi adalah unit terkecil dari kerja yang dapat diselesaikan atau tidak dapat
diselesaikan. Beberapa operasinya dengan diagram transisinya :
ƒ
ƒ
ƒ
ƒ
ƒ
BEGIN_TRANSACTION : memulai transaksi
READ or WRITE : operasi baca atau tulis dari item database yang dieksekusi sebagai
bagian dari transaksi
END_TRANSACTION : operasi transaksi READ atau WRITE selesai dilakukan
COMMIT_TRANSACTION : transaksi berakhir sukses sehingga semua perubahan
(update) yang dilakukan melalui transaksi dapat dimasukkan ke database dan akan
diselesaikan
ROLLBACK (or ABORT) : transaksi berakhir dengan tidak sukses sehingga semua
perubahan atau efek transaksi yang diaplikasikan ke database tidak dapat diselesaikan.
Fasilitas Recovery
DBMS harus menyediakan fasilitas berikut untuk mendkung recovery
:
¾ Mekanisme Backup, yang akan mebuat salinan dari database secara periodik.
¾ Fasilitas Logging (pencatatan), yang menyimpan catatan dari stata transaksi dan
perubahan database.
¾ Fasilitas Checkpoint, yang memungkinkan merubah database yang sedang dalam
pengembangan menjadi permanen.
¾ Recovery manager, yang mengizinkan DBMS untuk menyimpan database pada
stata konsisten jika terjadi kerusakan/kesalahan.
Log File (File catatan)
Untuk menyimpan catatan dari transaksi database, DBMS memiliki file khusus yang disebut
log file , yang berisi informasi tentang semua perubahan terhadap database. Catatan dapat
berisi data-data berikut
:
¾ Record Transaksti.
Š Identifier transaksi
Š Tipe dari record catatan (transaksi start, insert, update, delete, abort, commit)
Š Identifier dari data item yang diakibatkan oleh aksi database (operasi insert,
delete dan update)
Š before-image dari data item, yaitu nilai sebelum dilakukan perubahan (hanya
operasi update dan delete)
Š after-image dari data item, yaaitu nilai sesudah perubahan (hanya operasi
insert dan update)
Š Informasi manajemen catatan, seperti pointer ke record catatan sebelum
(previous) dan sesudah (next) untuk transaksi tersebut (seluruh operasi)
¾ Record Checkpoint
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 45
Catatan biasa digunakan untuk kepentingan lain dibandingkan untuk recovery (contoh
untuk monitoring (pengawasan) dan auditing). Dalam hal ini informasi tambahan yang dapat
disimpan dalam log file (contoh : pembacaan database, logon user, logoff dan lainnya)
Contoh Log File
Log file dapat dibuat duplexed atau triplexed (yaitu dibuat dua atau tiga salinan terpisah),
sehingga bila yang satu rusak masih terdapat yang lain. Terkadang Log file dipisahkan
menjdai dua file random-access yang terpisah. Potensial terjadi bottleneck, dimana
kecepatan penulisan kedalam log file dapat menjadi kritis dalam menentukan keseluruhan
performa sistem database.
Checkpointing
Checkpoint adalah titik dari penyelarasan (synchronization) antara database dan log
file. Checkpoint dijadwalkan saat penetapan sebelum interval dan menyertakan operasi
berikut:
• Menuliskan seluruh record log dalam main memory kedalam penyimpanan
sekunder.
• Menuliskan blok perubahan dalam buffer database ke penyimpanan sekunder.
• Menuliskan record checkpoint kedalam log file. record ini berisikan identifier dari
seluruh transaksi aktif pada saat checkpoint.
Jika kerusakan terjadi, akan melaksanakan redo seluruh transaksi yang committed
sejak check point dan melaksanakan undo seluruh transaksi aktif pada saat gagal (crash) .
Pada contoh yang lalu dengan checkpoint pada saat tc, perubahan yang dibuat oleh T2 dan T3
telah dituliskan kedalam penyimpanan sekunder, karena itu dilakukan
:
• Hanya melaksanakan redo T4 dan T5
• undo transaksi T1 dan T6.
Teknik Recovery
Jika database mengalami kerusakan seperti
:
• Jika database mengalami kerusakan secara luas, misalnya kerusakan disk head
dan kerusakan database, maka perlu dikembalikan ke back-up/salinan terakhir
dari database dan diaplikasikan ulang operasi update dari transaksi yang
committed dengan menggunakan log file.
• Jika database hanya mengalami ketidak-konsistenan (inconsistent), maka harus
melakukan undo perubahan-perubahan yang menyebabkan tidak konsisten. Juga
perlu melakukan redo terhadap beberapa transaksi untuk menjamin perubahan
yang dilakukan telah disimpan ke penyimpanan sekunder. Tidak memerlukan
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 46
back-up salinan dari database tetapi dapat mengembalikan database ke stata
konsisten dengan menggunakan before dan after image yang ada dalam log file.
Dari dua contoh kasus diatas, maka terdapat tiga teknik recovery :
¾ Deferred Update
¾ Immediate Update
¾ Shadow Paging
Deferred Update
Dengan menggunakan protocol recovery deferred update, update tidak dituliskan
kedalam database sampai dengan transaksi mencapai titik commit. Jika transaksi gagal
sebelum commit, maka update tersebut tidak akan merubah database dan tidak perlu
melakukan undo perubahan. Tetapi mungkin perlu melakukan redo update dari transaksi
yang committed sebagai akibat tidak mencapai database. Dalam hal ini digunakan log file
untuk perlindungan dari kesalahan sistem dengan cara
:
¾ Ketika mulai transaksi, tuliskan record transaction start pada log file
¾ ketika operasi penulisan dilaksanakan , tuliskan record log berisikan seluruh data log
yang telah dispesifikasikan sebelumnya. Tidak menuliskan update pada buffer
database atau database itu sendiri.
¾ Ketika transaksi commit, tuliskan transaction commit pada record log, tulis seluruh
record log transaksi ke disk, kemudian selesaikan transaksi. Gunakan record log
untuk menjalankan update pada database.
¾ Jika transaksi gagal, abaikan record log transaksi dan jangan melakukan penulisan.
Immediate Update
Dengan menggunakan protocol recovery immediate update, Update di aplikasikan
pada data base ketika dijalankan tanpa harus menunggu titik commit. Perlu melakukan redo
update dari transaksi committed jika terjadi kesalahan, menjadi penting untuk mengulang
(undo) akibat dari transaksi yang belum committed pada saat terjadi kesalahan. Dalam kasus
ini digunakan log file untuk perlindungan terhadap kesalahan sistem dengan cara :
¾ Jika transaksi dimulai, tuliskan record transaction start pada log file.
¾ Ketika operasi penulisan dilaksanakan, tuliskan record berisikan data-data yang
dianggap perlu kedalam log file.
¾ Ketika log file sudah ditulis, tuliskan update pada buffer database.
¾ Update terhadap database itu sendiri dilakukan ketika buffer dikirimkan kemudian ke
penyimpanan sekunder.
¾ Ketika transaksi commit, tuliskan record transaction commit di log file.
Pada dasarnya record log dituliskan sebelum penulisan yang sesuai pada database,
dikenal dengan Write-ahead log protocol. Jika tidak terdapat record “transaction commit”
dalam log, kemudian transaksi tersebut aktif pada saat terjadi kesalahan daka harus
digagalkan.
Jika transaksi gagal, log dapat digunakan untuk melakukan undo (melaksanakan in
reverse order) dimana telah dituliskan dalam log file.
Shadow Paging
Mengatur/memelihara dua table selama transaksi berlangsung yaitu : tabel current page dan
shadow page. Ketika transaksi dimulai, kedua tabel tersebut sama. tabel shadow page tidak
akan diubah sesudah itu dan digunakan untuk mengembalikan database pada saat terjadi
kesalahan. Selama transaksi berlangsung tabel current page digunakan untuk mencatat
seluruh update terhadap database. Ketika transakti selesai, tabel current page menjadi tabel
shadow page.
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 47
BAB XII
DATA WAREHOUSE
Adalah kumpulan dari komponen-komponen perangkat keras dan perangkat lunak
yang dapat digunakan untuk mendapatkan analisa yang lebih baik dari data yang berjumlah
sangat besar sehingga dapat membuat keputusan yang baik.
Dengan kata lain sebagai gudang data.
Manfaat Data Warehouse
Data Warehouse biasanya digunakan untuk:
1. Memahami trend bisnis dan membuat perkiraan keputusan yang lebih baik.
2. Menganalisa informasi mengenai penjualan harian dan membuat keputusan yang
cepat dalam mempengaruhi performance perusahaan.
Data Warehouse Customer Example
Salah satu pelanggan AS/400, menemukan kesulitan dalam hal informasi penjualan yang
dibutuhkan untuk dapat memperluas bisnisnya. Tiap bulan laporan penjualan sederhana tidak
tepat waktu atau tidak mendetail sehingga sangat tidak membantu. Untuk membantu
membuat keputusan bisnis, perusahaan ini perlu dianalisa latar belakangnya sehingga dapat
menemukan titik-titik trends bisnis.
Dengan AS/400 data warehouse-nya yang baru, para penjual dari perusahaan ini dapat
membentuk strategi penjualan berdasarkan informasi yang diberikan warehouse. Informasi ini
termasuk mengenai the success of previous promotions, regional trends, product profitability
dan the effect of product packaging.
Perusahaan lain seperti departemen, seperti keuangan dan operasi, juga menggunakan
warehouse untuk mengidentifikasi dan menganalisa produk yang berhasil menyeberangi
daerah, penjualan dan waktu. Data warehouse dapat sebagai kunci pembeda dalam suatu
industri-industri yang berbeda.
Aplikasi Data Warehouse meliputi:
1. Sales and marketing analysis across all industries.
2. Inventory turn and product tracking in manufacturing.
3. Kategory manajemen, analisa penjualan, dan perbaikan analisa program pemasaran
yang efektif.
4. Keuntungan dari jalan raya atau analisa resiko pengemudi dalam hal transportasi.
5. Analisa keuntungan atau resiko penetapan pajak atau mendenda dalam bank.
6. Analisa tuntutan dari deteksi penggelapan dalam asuransi.
Operational versus Informational data
Operational data adalah data yang digunakan untuk menjalankan bisnis. Data ini mempunyai
cirri disimpan, diperoleh dan diupdate oleh system Online Transactional Processing (OLTP).
Sebagai contoh, system pemesanan, aplikasi perhitungan atau an order entry application.
Operational data biasanya disimpan dalam relational database, tetapi mungkin disimpan
dalam legacy hierarchical atau flat formats as well.
Karakteristik operational data meliputi:
1. Sering diperbaharui dan transaksi yang bersifat online.
2. Non-historical data (tidak lebih dari tiga sampai dengan enam bulan lamanya).
3. Optimized for transactional processing.
4. Tingginya normalisasi dalam relasional database untuk memudahkan pembaharuan,
pemeliharaan dan integritas.
Informational data biasanya disimpan dalam format yang membuat analisa lebih mudah.
Analysis can be in the form of decision support (queries), report generation, executive
RAMLI, S.KOM
STMIK BUDIDARMA
Diktat Kuliah : Sistem Basis Data
Hal : 48
information systems. Informational data dibuat dari operational data kekayaan yang ada di
dalam bisnis anda. Informational data adalah apa yang membentuk sebuah data warehouse.
Ciri informational data:
1. Summarized operational data.
2. De-normalized and replicated data.
3. Infrequently updated from the operational data.
4. Optimized for decision support applications.
5. Possibly read-only (no updates allowed).
6. Stored on separate system to lessen impact on operational system.
Metadata
Informasi mengenai data warehouse dan data yang diisi ke dalam Data warehouse dibagi
dua bagian. Yang pertama technical data the warehouse uses, dan yang kedua business
data that is of use to the warehouse users. Semua data ini menunjukkan sebagai metadata,
data about the data. The technical data berisi penjelasan tentang operational database dan
penjelasan dari data warehouse. Dari kedua penjelasan itu, atau skema, operasi pergerakan
data dpat diimplementasikan. Data ini membantu administrasi data warehouse menjaga
datanya dan mengetahui dari mana semua data berasal.
The business data membantu pemakai mencari informasi dalam data warehouse tanpa
mengetahui implementasi databasenya. (This information is presented in business terms,
instead of the terms used by the programmers when the database was built)
The business data memberikan informasi kepada pemakai:
1. Pada saat data dipindahkan ke dalam warehouse (how current it is)
2. Dari mana data berasal. (which operational database).
3. Other information that lets the user know how reliable the data is.
Business Intelligence Software and Data Mining
Business intelligence software is a fairly new term referring to the tools that are used to
analize the data.
Software ini terdiri dari:
1. Decision Support System (DSS) tools
Dimana diijinkan untuk membangun ad hoc queries and generate reports.
2. Executive information system (EIS).
Which combine decision support with extended analysis capabilities and access to
outside resources (such as Dow Jones News Services)
3. Data Mining tools.
Which allow automation of the analysis of your data to find patterns or rules that you can use
to tailor business operations.
RAMLI, S.KOM
STMIK BUDIDARMA
Download