BAB I
PENDAHULUAN
Database is Knowledge !!
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
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 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.
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.
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)
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 6
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
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.
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.
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 11
Pandangan Pandangan
Eksternal A Eksternal B
• Prosedural
• Nonprosedural
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
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 13
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 14
BAB IV
MODEL DATA
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
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
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
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
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
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
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.
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.
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.
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.
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
d. DROP TABLE
Berguna untuk menghapus table
Drop Table Mahasiswa ;
a. INSERT
Berguna untuk menyisipkan baris dari suatu table
b. SELECT
Digunakan untuk memilih data dari suatu table atau view
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 22
c. DELETE
Berguna untuk menghapus baris dari suatu table
d. UPDATE
Untuk mengubah isi dari kolom (field) pada suatu table UPDATE
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
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 23
BAB VII
RELATIONAL ALJABAR
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 24
Selection (Proses yang menghasilkan Horizontal Subset dari relasi yang diberikan):
Contoh Selection:
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:
¾ Cari nama semua project yang mempunyai budget lebih dari $225.000:
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).
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.
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
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.
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.
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.
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.
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
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.
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.
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!”
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!
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 36
6. Menggambarkan hubungan antara entitas:
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 .
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 38
Typical Multi-User Computer Environment
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.
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 40
User and Group Accounts Dialog Box for the DreamHome Database
STMIK BUDIDARMA
Modul Kuliah : Sistem Basis Data Hal : 41
Log on Dialog Box
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
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.
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 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 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.
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.
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)
STMIK BUDIDARMA