Pokok Bahasan 11
RDBM
(Relational Database
Management Sistem)
Pokok Bahasan 11
2
Pokok Bahasan
Relational Data Base Model
Sub Pokok Bahasan
1. Terminologi
2. Karakteristik BD model RDBM
3. Komponen relasi
4. Kunci relasi
5. Ketergantungan data
6. Kerelasian antar relasi
7. Penyimpangan dlm pengolahan
8. Teknik normalisasi
Kompetensi
Stl mengikuti kuliah ini mhs mampu menjelaskan model data
Relational Data Base Model
3
Relational model
Representasi dl bentuk tabel yg tda sejumlah:
baris yg menunjukkan record
kolom yg menunjukkan atribut
Byk digunakan dl pemodelan & perancangan BD
konsep & terminologi yg digunakan mirip dg kondisi real yg
dihadapi o/ pemakai
shg mudah dipahami
Terminologi
Istilah formal Istilah Keterangan
non formal
Elemen data (data element), rinci data (data
item), entri (entry)
Atribut (attribute) Kolom, medan data, Sekelompok rinci data yang mempunyai arti. Atribut memiliki
medan, field tipe, ukuran, dan domain yang sama
Record / tuple Baris / rekaman Sekumpulan atribut yang mempunyai hubungan terhadap
obyek tertentu
Relasi (relation) Tabel Sekumpulan record yang sejenis secara relasi
4
Istilah formal Istilah Keterangan
non formal
Key Satu atau gabungan atribut bersifat unik yang digunakan
untuk mengidentifikasi setiap record dalam relasi
Candidate Key / CK Satu atau gabungan minimal atribut bersifat unik yang
dapat digunakan untuk mengidentifikasi setiap record
dalam relasi
Primary Key / PK Bagian dari CK yang dipilih / digunakan sebagai kunci
utama dalam relasi
Alternate Key / AK Bagian dari CK yang tidak dipilih / digunakan sebagai
kunci utama dalam relasi
Foreign Key / FK Kunci tamu / kunci Satu atau gabungan sembarang atribut yang menjadi PK
asing dalam relasi lain yang mempunyai hubungan secara
logik
Domain Himpunan nilai yang memenuhi syarat
Schema Deskripsi hubungan logik secara global, termasuk di
dalamnya nama dan deskripsi tipe dan ukuran atribut
dan hubungan logik antar relasi basis data dalam
lingkup sebuah sistem
Subschema Deskripsi hubungan logik secara terpisah, termasuk di
dalamnya nama dan deskripsi tipe dan ukuran atribut
dan hubungan logik antar relasi basis data dalam
lingkup sebuah sub sistem aplikasi basis data
5
Mata_Kuliah
Kode_Mata_Kuliah Nama_Mata_Kuliah Sks Smt Status
MK-1001 Pemrograman I 2 1 W
MK-2002 Pemrograman II 2 2 W
MK-3003 Pemrograman III 2 3 W
MK-4004 Pemrograman IV 2 4 W
MK-5005 Pemrograman V 2 5 W
MK-1001P Praktikum Pemrograman I 1 1 W
MK-2002P Praktikum Pemrograman II 1 2 W
6
Atribut : Kode_Mata_Kuliah, Nama_Mata_Kuliah, Sks, Smt, Status
Record :
Record #1 : MK-1001, Pemrograman I, 2, 1, W
Record #2 : MK-2002, Pemrograman II, 2, 1, W
Record #3 : MK-3003, Pemrograman III, 2, 1, W
Record #4 : MK-4004, Pemrograman IV, 2, 1, W
Record #5 : MK-5005, Pemrograman V, 2, 1, W
Record #6 : MK-1001P, Praktikum Pemrograman I, 2, 1, W
Record #7 : MK-2002P, Praktikum Pemrograman III, 2, 1, W
Record #8 : MK-3003P, Praktikum Pemrograman III, 2, 1, W
Record #9 : MK-404P, Praktikum Pemrograman IV, 2, 1, W
Record #10 : MK-5005P, Praktikum Pemrograman V, 2, 1, W
Record #11 : MK-6006, Pemrograman Visual, 2, 6, W
Record #12 : MK-7007, Pemrograman berorientasi Obyek, 2, 7, W
Record #13 : MK-8008, Pemrograman Internet, 3, 8, P
7
Relasi : Mata_Kuliah
Derajat : 5 (=5-ary)
Kardinalitas : 13
CK : Kode_Mata_Kuliah dan Nama_Mata_Kuliah
PK : Kode_Mata_Kuliah
AK : Nama_Mata_Kuliah
Foreign Key / FK :-
8
Domain :
Kode_Mata_Kuliah:
MK-1001, MK-2002, MK-3003, MK-4004, MK-5005,
MK-1001P, MK-2002P, MK-3003P, MK-4004P, MK-5005P,
MK-6006, MK-7007, MK-8008
Nama_Mata_Kuliah:
Pemrograman I, Pemrograman II, Pemrograman III, Pemrograman IV,
Praktikum Pemrograman I, Praktikum Pemrograman II, Praktikum
Pemrograman III, Praktikum Pemrograman IV, Praktikum Pemrograman V,
Pemrograman Visual, Pemrograman Berorientasi Obyek, Pemrograman
Internet
Sks : 1, 2, 3
Smt : 1, 2, 3, 4, 5, 6,7,8
Status : W, P
Schema : (Char[8], Char[50], Num[1], Num[1], Char[1])
Subschema : (Char[8], Char[50], Num[1], Num[1], Char[1])
9
Karakteristik Relasi
10
Semua elemen data / entri pd suatu record & atribut ttt hrs:
mpy nilai tunggal (single value), bkn larik atau grup perulangan
hrs berupa nilai yg tdk dp dibagi lagi (atomic value)
Semua elemen data / entri pd suatu atribut ttt dlm sebuah relasi hrs mpy
tipe & ukuran yg sama
Masing-2 atribut dlm sbh relasi mpy nama yg unik (sekalipun tdk
disarankan, nama-2 atribut pd relasi yg berbeda diijinkan mmlk nama-2
atribut yg sama dgn nama atribut dl relasi lain)
Pd sbh relasi tdk ada 2 record data yg identik
Mahasiswa
11
Solusi
Mahasiswa
12
Pegawai
Nama_Pegawai Tempat_Tanggal_Lahir
NIK
13
Solusi
Pegawai
14
Komponen Relasi
15
•Intension
•struktur penamaan (naming structure) relasi
•batasan integritas (integrity contraint)
•entity integrity PK
•referential integrity FK
•Ditunjukkan dg schema a/ subschema
•Cenderung stabil / tetap
•Extension
•nilai-nilai aktual elemen data / entri pd suatu saat ttt
•Cenderung tidak stabil / berubah
•Ditambah
•Diperbaharui
•Dihapus
Intension
16
Extension
17
Kunci Relasi
18
•Syarat:
•Unik
•Domain integrity
•Jenis:
•simple key
•composite key
•Macam:
•CK
•PK
•AK
•FK
Mahasiswa
19
Mata_Kuliah
20
Nilai
21
KRS
22
KHS
23
Rules
entity integrity
nilai-2 elemen data / entri pd atribut yg digunakan sbg PK tdk boleh null
Character spasi
Numerik nol
memberikan jaminan bhw stp record dlm relasi akan dpt diakses berdasar nilai PK
Unik
Not null
referential integrity
dlm kerelasian antara 2 relasi dlm BD yg dihubungkan dgn suatu FK, mk hubungan
antar relasi tsb hrs menjamin bhw stp entri pd FK dlm relasi anak hrs ada record dgn
entri yg sm pd relasi yg dihubungkan
24
Catatan:
25
Kerelasian Antar Relasi
26
Mahasiswa KRS
NIM NIM
Nama_Mahasiwa Kode_MK
Alamat Tahun_Semester
KHS
NIM
Kode_MK
Tahun_Semester
Mata_Kuliah Nilai_Huruf
Kode_MK
Nama_MK Nilai
Sks Niai_Huruf
Smt Mutu
Status Predikat
29
Langkah 2
Mahasiswa KRS
NIM * NIM *
Nama_Mahasiwa Kode_MK *
Alamat Tahun_Semester *
KHS
NIM *
Kode_MK *
Tahun_Semester *
Mata_Kuliah Nilai_Huruf
Kode_M *
Nilai
Nama_MK
Sks Nilai_Huruf *
Smt Mutu
Status Predikat
30
Langkah 3
Mahasiswa KRS
NIM * NIM *
Nama_Mahasiwa Kode_MK *
Alamat Tahun_Semester *
KHS
NIM *
Kode_MK *
Tahun_Semester *
Mata_Kuliah Nilai_Huruf
Kode_MK *
Nilai
Nilai
Nama_MK
Sks Nilai_Huruf *
Niai_Huruf
Smt Mutu
Status Predikat
31
Langkah 4
Mahasiswa KRS
NIM * NIM *
Nama_Mahasiwa Kode_MK *
Alamat Tahun_Semester *
KHS
NIM *
Kode_MK *
Tahun_Semester *
Mata_Kuliah Nilai_Huruf
Kode_MK *
Nilai
Nilai
Nama_MK
Sks Nilai_Huruf
Niai_Huruf
*
Smt MutuMutu
Status Predikat
Predikat
32
Beberapa Definisi Relasi
33
Ketergantungan
Relasi tak gayut
Sbh relasi yg berasal dr entitas reguler / dominan
Ciri tdk mpy FK
Relasi asosiatif
Sbh relasi yg mpy jenis kerelasian n-ke-n
Ciri memiliki > 1 FK
Relasi karakteristik
Sbh relasi yg berasal dr entitas dependen / tak gayut / tak bebas / lemah
Ciri umumnya mpy jenis kerelasian n-ke-1 thd relasi induknya
Subrelasi
Sbh relasi yg berasal dr sub type entity
Biasanya digabungkan dg super type entity
Anomallies
34
• Penyebab:
•Kerangkapan data
•ketergantungan antar rinci data
• Jenis
• delete anomally
• insert anomally
• update anomally
KETERGANTUNGAN
Ketergantungan dalam 1 tabel...> COHESION
High Cohesion....ketergantungan atribut dlm 1 tabel
harus TINGGI
Ketergantungan ANTAR tabel....> COUPLING
Loosly Coupling...ketergantungan antar tabel harus
RENDAH
36
• delete anomally
Proses penghapusan suatu nilai rinci data yang mengakibatkan hilangnya
informasi rinci data lain yang tidak mempunyai kerelasian secara logik
• insert anomally
Proses penyisipan suatu nilai rinci data yang mengakibatkan perlunya
penyisipan pada nilai rinci data lain yang tidak mempunyai kerelasian secara
logik
• update anomally
proses mengubah suatu nilai rinci data yang mengakibatkan perlunya
pengubahan pada nilai rinci data lain yang tidak mempunyai kerelasian secara
logik
Delete anomally
KRS
Kasus:
Jk ada seorang instruktur baru yg masuk ke lembaga tersebut, ttp blm
pernah mengajar sama sekali
Mk, penambahan data instruktur tsbt tdk dpt dilakukan slm blm pernah
mengajar
38
Update anomally
Karyawan
Kasus:
Jk tyt tjd perubahan Gaji_Pokok karyawan, misal Golongan_Gaji IIIA
mjd 625.000, mk:
Nilai rinci data Gaji_Pokok hrs di-update, sbyk 2x
Jk jml karyawan yg memiliki Golongan_Gaji IIIA cukup byk,
Mk update hrs dilakukan sbyk karyawan yg memiliki
Golongan_Gaji IIIA
Jk ada yg terlewat, mk akan tjd inkonsistensi
39
Ketergantungan Data
40
Jenis:
Functionally Dependence / FD
Full Functionally Dependency / FFD
Transitive Dependency / TDF
Total Dependency / TD
Representasi
Notasi
Diagram Diagram ketergantungan data
41
Functionally Dependence / FD
Atribut Y bergantung scr fungsional thd atribut X,
jk:
Stp nilai X berkaitan dgn sebuah nilai pd Y
U/ stp record yg memiliki sembarang nilai X
sll berhubungan dgn nilai Y yg sama
notasi:
FD: R.X R.Y
Keterangan:
FD : Functionally Dependence
R : nama relasi
X : atribut penentu (determines), yi CK
Y : atribut bergantung (dependent)
Functionally Dependence / FD
Tour
No_Anggota Nama-Anggota Alamat_Lokal Tujuan Beaya Tanggal
42
43
Tour
No_Anggota Nama-Anggota Alamat_Lokal Tujuan Beaya Tanggal
44
45
Karyawan
NIK Nama_Karyawan Golongan_Gaji Gaji_Pokok
01001 Feri IIIA 600000
01002 Fira IIIB 650000
01003 Fina IIIA 600000
01004 Fita IVA 800000
01005 Fani IIIB 650000
46
47
Total Dependence / TD
Karyawan
NIK Nama_Karyawan Golongan_Gaji Gaji_Pokok
01001 Feri IIIA 600000
01002 Fira IIIB 650000
01003 Fina IIIA 600000
01004 Fita IVA 800000
01005 Fani IIIB 650000
48
Diagram ketergantungan data
• Cara 1 horisontal
• Cara 2 vertikal
49
Menggambar diagram ketergantungan data
Cara 1 horisontal
50
Tour
No_Anggota Nama-Anggota Alamat_Lokal Tujuan Beaya Tanggal
51
52
No_Anggota Nama_Anggota
Tanggal Alamat_Lokal
Tujuan Beaya
Nama_Karyawan Gaji_Pokok
Nama_Karyawan
NIK
Golongan_Gaji Gaji_Pokok
Level normal:
UNF
1NF
2NF
3NF
BCNF
4NF
5NF
DKNF
60
Kriteria UNF:
Jk memenuhi salah satu kriteria brk:
Jk relasi mpy btk non flat file
data disimpan sesuai dgn kedatangannya
tdk memiliki struk ttt
tjd duplikasi a/ tdk lgkp
Jk relasi memuat set atribut berulang (non single value)
Jika relasi memuat atribut non atomic value
61
Kriteria 1 NF
Jk slrh atribut dlm relasi bernilai atomik (atomic value)
Jk slrh atribut dlm relasi bernilai tunggal (single value)
Jk relasi tdk memuat set atribut berulang
Jk semua record mpy se-jml atribut yg sama
62
Kriteria 2 NF :
Jk memenuhi kriteria 1 NF
Jk semua atribut non kunci FD pd PK
Jk slrh atribut dlm relasi bernilai atomik (atomic value)
Jk slrh atribut dlm relasi bernilai tunggal (single value)
Jk relasi tdk memuat set atribut berulang
Jk semua record mpy se-jml atribut yg sama
Ada TDF
64
Kriteria 3 NF :
Jk memenuhi kriteria 2NF
Jk stp atribut non kunci tdk TDF thd PK
66
Permasalahan pd 3NF:
Duplikasi rinci data pd atribut yg berfungsi sbg FK
Misal:
Thd relasi R dgn sifat sbb:
R=(A,B,C) dgn PK = A
FD: R.B R.C
Kriteria BCNF :
Jk memenuhi kriteria 3NF
Jk semua atribut penentu (determinan) mrpk CK
69
Kriteria 4 NF :
Jk memenuhi kriteria BCNF
Jk stp atribut di dlm-nya tdk mengalami ketergantungan pd byk
nilai
Atau
semua atribut yg mengalami ketergantungan pd byk nilai adl bgt scr
fungsional (functionally dependency)
70
Kriteria 5 NF :
jk kerelasian antar data dlm relasi tsb tdk dpt direkonstruksi dr struk
relasi yg memuat atribut yg lbh sdkt
71
Kriteria DKNF :
Oleh R Fagin thn 1981
Jk stp batasan dpt disimpulkan scr sederhana dgn mengetahui
sekumpulan nama atribut & domainnya slm menggunakan sekumpuan
atribut pd kuncinya
Bersifat spesifik
tdk semua relasi dpt mencapai level ini
Contoh 1
Supplier-UNF
Kode_Supplier Status Kota Kode_Barang Jumlah_Barang
S01 10 Jakarta B01 100
B02 150
B03 200
S02 20 Surabaya B02 250
B04 200
S03 30 Yogyakarta B05 150
B06 100
72
Supplier-1NF
Kode_Supplier Status
Kota
Kode_Barang Jumlah_Barang
73
Supplier-2NF
Kode
Kode_Supplier Kota
kota
S1 10 Jakarta
S2 20 Surabaya
S3 30 Yogyakarta
Barang
Kode_Supplier Kode_Barang Jumlah_Barang
S1 P1 100
S1 P1 95
S2 P2 75
S2 P2 70
S3 P3 60
S3 P3 50
74
Supplier-3NF Kota
Kode Kode
Kode_Supplier Kota
kota kota
S1 10 10 Jakarta
S2 20 20 Surabaya
S3 30 30 Yogyakarta
Barang
Kode_Supplier Kode_Barang Jumlah_Barang
S1 P1 100
S1 P1 95
S2 P2 75
S2 P2 70
S3 P3 60
S3 P3 50
75
Barang Kota
Kode_Supplier * Status *
Kode_Barang * Kota
Jumlah_Barang
Supplier_3NF
Kode_Supplier *
Status **
76
Contoh 2
KRS-UNF
77
KRS-1NF
NIM Nama_Mhs Kode_MK Sks Tahun_Smt
001 Koko MK01 2 20021
001 Koko MK02 2 20022
002 Kiki MK02 2 20022
002 Kiki MK01 2 20021
003 Kiko MK01 2 20031
003 Kiko MK03 2 20032
004 Koki MK01 2 20031
004 Koki MK04 2 20032
NIM Nama_Mahasiswa
Tahun_Smt
Kode_MK Sks
78
KRS-2NF Mahasiswa
NIM Kode_MK Sks Tahun_Smt NIM Nama_Mahasiswa
001 MK01 2 20021 001 Koko
001 MK02 2 20022 002 Kiki
002 MK02 2 20022 003 Kiko
002 MK01 2 20021 004 Koki
003 MK01 2 20031
003 MK03 2 20032
004 MK01 2 20031
004 MK04 2 20032
79
KRS-3NF Mata-Kuliah Mahasiswa
NIM Kode_MK Tahun_Smt Kode_MK Sks NIM Nama_Mahasiswa
001 MK01 20021 MK01 2 001 Koko
001 MK02 20022 MK02 2 002 Kiki
002 MK02 20022 MK02 2 003 Kiko
002 MK01 20021 MK01 2 004 Koki
003 MK01 20031 MK01 2
003 MK03 20032 MK03 2
004 MK01 20031 MK01 2
004 MK04 20032 MK04 2
80
Mahasiswa Mata_Kuliah
NIM * Kode_MK *
Nama_Mahasiswa Sks
KRS_3
NIM *
Kode_MK *
Tahun_Smt *
81
Contoh 3
82
83
84
85
86
Efek Normalisasi
87
88
tugas