Anda di halaman 1dari 49

Modul 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

STMIK BUDIDARMA
Modul 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

STMIK BUDIDARMA
Modul 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.

STMIK BUDIDARMA
Modul 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

STMIK BUDIDARMA
Modul 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 )

STMIK BUDIDARMA
Modul 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 tindakan-
tindakan 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

STMIK BUDIDARMA
Modul 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)

STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 8
Hubungan antara user dapat dilihat pada gambar berikut :

Gambar Struktur sistem basis data secara keseluruhan (Hub Antara User)

STMIK BUDIDARMA
Modul 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

STMIK BUDIDARMA
Modul 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)

STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 11

Pemakai A1 Pemakai A2 Pemakai B1 Pemakai B2

Bahasa Bahasa Bahasa Bahasa


Pemrograman Pemrograman Pemrograman Pemrograman

Pandangan Pandangan
Eksternal A Eksternal B

Pemetaan Konseptual Pemetaan Konseptual


External A External B

Pola dan Pandangan DBMS


Pemetaan Konseptual
oleh DBA
Database
Administrator 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

• 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.
STMIK BUDIDARMA
Modul 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 client-
server

STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 13

STMIK BUDIDARMA
Modul 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 Dosen
Siti Nurbaya Asrab

Sistem Bahasa Pendidikan


Basis Data Pascal Agama

Rudi Asti Dina Dina 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 Dosen
Siti Nurbaya Asrab

Sistem Bahasa Pendidikan


Basis Data Pascal Agama

Rudi Asti Dina 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
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 15
NPM Nama Alamat Dosen Wali
04401001 Nur’Ainun Jln. Thamrin No 123 c SMJ
04401010T Okta Frida Jln. Prof. HM Yamin 12 GND
04402011 Elga Puspita Helvetia SMJ
04301001 Aldyan Setia Budi YHD

Dosen Wali
Kode Nama Alamat
SMJ Ir. Sumijan, M.Sc Jln. Aru Gg Bunga 12
GDN Dr. Ir. Gunadi, M.Sc Jln. Sudirman 100 D
YHD Yuhandri, S.Kom 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
A B
Keuntungan
- Kalau salah satu node rusak
yang lainnya masih dapat
F
C berjalan
Kerugian
E D - Control manajemen tidak
terjamin

o Partially Connected Network


A
Keuntungan
- Reliability rendah
C
- Biaya dapat ditekan
B
Kerugian
- Control manajemen tidak
D E F terjamin

STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 16
o Tree Structured Network
A Keuntungan
- Bersifat sentral
- Control manajemen terjamin
C
B Kerugian
- Kalau node pusat rusak semua
akan rusak
G D E F

o Ring Network
A B
Keuntungan
- Apabila ada satu yang rusak,
yang lain masih bisa berjalan
F C
Kerugian
- Control manajemen kurang
E D terjamin karena bersifat
desentralisasi

o Star Network
Keuntungan
B C - Control manajemen lebih terjamin,
karena bersifat sentral dan reliability
rendah
A
Kerugian
- Kalau node pusat rusak semua akan
E
D 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

STMIK BUDIDARMA
Modul 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.

STMIK BUDIDARMA
Modul 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

STMIK BUDIDARMA
Modul 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.

STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 20
BAB VI
STRUCTURED QUERY LANGUAGE (SQL)

Sistem basis data komersial menghendaki adanya sebuah bahasa query yang lebih user-
friendly. 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(

STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 21
NPM Varchar(10) PRIMARY KEY,
Nama Varchar(45) NOT NULL,
Jenjang Varchar(10),
Jurusan 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

STMIK BUDIDARMA
Modul 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 : Mahasiswa


Field Type Size
NPM Text 8
Nama Text 40
Jenjang Text 5
Jurusan Text 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 Nama Jenjang Jurusan


0602010 Reni Agusti D3 MI
0602011 Johan Prabudi D3 MI
0602001 Meri Rianti D3 TI
0602014 M. Ichan D3 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

STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 23
BAB VII
RELATIONAL ALJABAR

 Operator Relational Aljabar:


¾ Fundamental
™ selection
™ projection Unary operators
™ union
™ set difference Binary operators
™ Cartesian product (union compatibilty)
¾ Additional
™ rename
™ intersection
™ join
™ quotient (division)

Contoh Relational Scheme :

Contoh Relational Instance:

STMIK BUDIDARMA
Modul 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.

STMIK BUDIDARMA
Modul 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 k1 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 (n1 * n 2 ) tuple .

Contoh:

 Intersection:





Catatan: R dan S harus union compatible

STMIK BUDIDARMA
Modul 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 Equi-Join : dengan F berisi operator persamaan (=) Æ
o Natural-Join : Equi-Join R dan S pada suatu atribut yang sama diantara
kedua relasi
Æ
Contoh Natural-Join:

STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 27

  Division (Quotient):
™ R dengan derajat k1
™ 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:


STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 28

 List nama dan budget project yang memperkerjakan programmer:

Bagaimana dengan query berikut?

STMIK BUDIDARMA
Modul 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 KOTA BARANG JUMLAH


Kartika Jakarta Monitor GGG 10
Citra Bandung ZIP-drive 4
Candra Jakarta Keyboard 5
Citra Bandung Mouse CCP 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 KOTA BARANG JUMLAH


Kartika Jakarta Monitor GGG 10
Citra Bandung ZIP-drive 4
Candra Jakarta Keyboard 5
Citra Bandung Mouse CCP 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

STMIK BUDIDARMA
Modul 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!

STMIK BUDIDARMA
Modul 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:

STMIK BUDIDARMA
Modul 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.

KARTU ANGGOTA PERPUSTAKAAN


No. Anggota : P001
Nama : ALI
Alamat : Jl. O. No. 1
Tgl. Masuk : 27-7-97
Kode Buku Judul Tgl.Pinjam Tgl. Kembali
B001 BASIC 28-07-97 04-08-97
B002 PASCAL 28-07-97 04-08-97
B003 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. Tgl.
Angg Nama Alamat Tgl. Msk Kd_Buku Judul Tgl. Pinj Kem
P001 ALI Jl. O No.1 27-7-97 B001 BASIC 28-7-97 4-8-97
P001 ALI Jl. O No.1 27-7-97 B002 PASCAL 28-7-97 4-8-97
P001 ALI Jl. O No.1 27-7-97 B003 DEA 28-7-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 Buku
* No. Anggota *Kode Buku
Nama Judul
Alamat Tgl. Pinjam
Tgl. Masuk Tgl. Kembali
No. Anggota**

STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 33
Keterangan :
* : 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 Buku
Nama Kode Buku
Alamat Judul
Tgl. Masuk Pinjaman
No. Anggota
Kode Buku
Tgl. Pinjam
Tgl. Kembali

Hasil Akhir :
Anggota Buku
No. Anggota Nama Alamat Tgl. Masuk Kode Buku Judul

No. Tgl. Kode


Anggota Tgl. Pinj Kem Buku

STMIK BUDIDARMA
Modul 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 1
Mahasiswa milik 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 M
Proyek kerja 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 M
Dosen ajar 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:
STMIK BUDIDARMA
Modul 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 = nomor induk mahasiswa
 Nama = nama mahasiswa
 Kd_buku = kode buku
 Judul = judul buku
 Pengarang = pengarang buku
 Tgl_pinjam = tanggal peminjaman
 Tgl_kembali = 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
Di taruh di manakah field yang belum membentuk
Nama Judul
tabel ?
…. Pengarang
….. ….. 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 M
Mahasiswa pinjam Buku

STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 36
6. Menggambarkan hubungan antara entitas:

Mahasiswa Pinjam Buku


NIM NIM Kd_buku
Nama Kd_buku Judul
Alamat Tgl_pinjam Pengarang
Tgl_lahir Tgl_kembal Penerbit
Telepon I Thn_terbit

M M
Mahasiswa Pinjam 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.

STMIK BUDIDARMA
Modul 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

STMIK BUDIDARMA
Modul 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

STMIK BUDIDARMA
Modul 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

STMIK BUDIDARMA
Modul 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

STMIK BUDIDARMA
Modul 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

STMIK BUDIDARMA
Modul 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.

STMIK BUDIDARMA
Modul 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.
:

STMIK BUDIDARMA
Modul 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
STMIK BUDIDARMA
Modul 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
STMIK BUDIDARMA
Modul 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.

STMIK BUDIDARMA
Modul 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

STMIK BUDIDARMA
Modul 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.

STMIK BUDIDARMA

Anda mungkin juga menyukai