Anda di halaman 1dari 88

1

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

Derajat (degree) Aritas (arity) Jumlah atribut dalam sebuah relasi

Kardinalitas (cardinality) Jumlah record dalam sebuah relasi


Kerelasian (relationship) Hubungan antar relasi
Unary relation Relasi yang tersusun oleh satu atribut
Binary relation Relasi yang tersusun oleh dua atribut
Ternary relation Relasi yang tersusun oleh tiga atribut
n-ary relation Relasi yang tersusun oleh n atribut

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

MK-3003P Praktikum Pemrograman III 1 3 W

MK-4004P Praktikum Pemrograman IV 1 4 W

MK-5005P Praktikum Pemrograman V 1 5 W

MK-5006 Pemrograman Visual 2 6 W


MK-7007 Pemrograman Berorientasi Obyek 2 7 W

MK-8008 Pemrograman Internet 3 8 P

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

NIM Nama_Mahasiwa Kode_MK_1 Sks_1 Kode_MK_2 Sks_2


02050001 Rita MK-001 2 MK-002 2

02050002 Rina MK-001 2 MK-003 2

02050003 Rini MK-007 2 MK-008 3

non single value

11
Solusi

Mahasiswa

NIM Nama_Mahasiwa Kode_MK Sks

02050001 Rita MK-001 2


02050001 Rita MK-002 2
02050002 Rina MK-001 2
02050002 Rina MK-003 2
02050003 Rini MK-007 2
02050003 Rini MK-008 3

12
Pegawai
Nama_Pegawai Tempat_Tanggal_Lahir
NIK

K001 Rita Yogyakarta, 1-1-1981

K002 Rina Semarang, 2-2-1982

K003 Rini Surakarta, 3-3-1983

non atomic value

13
Solusi

Pegawai

NIK Nama_Pegawai Tempat_Lahir Tanggal_Lahir

K001 Rita Yogyakarta 1-1-1981

K002 Rina Semarang 2-2-1982

K003 Rini Surakarta 3-3-1983

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

NIM Nama_Mahasiwa Alamat


02050001 Rita Jl. Mawar no. 1 Yogyakarta
02050002 Rina Jl. Melati no. 2 Yogyakarta
02050003 Rini Jl. Menur no. 3 Yogyakarta

CK : NIM  simple key


PK : NIM
AK : tidak ada
FK : tidak ada

19
Mata_Kuliah

Kode_Mata_Kuliah Nama_Mata_Kuliah Sks Smt Status


MK-11001 Pemrograman I 2 1 W
MK-12002 Pemrograman II 2 2 W
MK-13003 Pemrograman III 2 3 W

CK : Kode_Mata_Kuliah  simple key


Nama_Mata_Kuliah  simple key
PK : Kode_Mata_Kuliah
AK : Nama_Mata_Kuliah
FK : tidak ada

20
Nilai

Nilai_Huruf Mutu Predikat


A 4 Sangat Baik
B 3 Baik
C 2 Cukup
D 1 Kurang
E 0 Gagal
CK : Nilai_Huruf  simple key
Mutu  simple key
Predikat  simple key
PK : Nilai_Huruf
AK : Mutu, Predikat
FK : tidak ada

21
KRS

NIM Kode_Mata_Kuliah Tahun_Semester


02050001 MK-11001 200220031
02050001 MK-12002 200220032
02050002 MK-11001 200320041
02050002 MK-13003 200320041
02050003 MK-11001 200220031
02050003 MK-12002 200220032

CK : NIM+Kode_Mata_Kuliah+Tahun_Semester  composite key


PK : NIM+Kode_Mata_Kuliah+Tahun_Semester
AK : tidak ada
FK : NIM references Mahasiswa
Kode_Mata_Kuliah references Mata_Kuliah

22
KHS

NIM Kode_Mata_Kuliah Tahun_Semester Nilai_Huruf


02050001 MK-11001 200220031 A
02050001 MK-12002 200220032 B
02050002 MK-11001 200320041 B
02050002 MK-13003 200320041 B
02050003 MK-11001 200220031 A
02050003 MK-12002 200220032 C

CK : NIM+Kode_Mata_Kuliah+Tahun_Semester  composite key


PK : NIM+Kode_Mata_Kuliah+Tahun_Semester
AK : tidak ada
FK : NIM+Kode_Mata_Kuliah+Tahun_Semester references KRS
Nilai_Huruf references Nilai

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:

Desimal Karakter Biner Tampak di monitor Keterangan

0 NULL 0000 0000 Null

48 0 0011 0000 0 Nol

25
Kerelasian Antar Relasi
26

 one to one relationship


 one to many relationship
 many to one relationship
 many to many relationship
27

Menggambar diagram kerelasian antar relasi


1. Tulis semua relasi & atribut pd stp relasi dlm btk tabel 1 kolom

kepala tabel memuat nama relasi

isi tabel memuat nama-2 atribut
2. Tentukan PK & FK (jika ada) dlm stp relasi
 Berikan tanda * pd atribut yg berfungsi sbg PK
 Berikan tanda ** pd atribut yg berfungsi sbg FK
 Bila atribut FK sekaligus berfungsi sbg PK
 cukup ditandai dgn 1 tanda *
3. Gambarkan kerelasian antar relasi dgn cr menghubungkan stp FK dgn
atribut yg sesuai pd relasi induk dgn tanda garis
4. Gambarkan jenis kerelasian

2 mata panah u/ jenis banyak

1 mata panah u/ jenis satu
Mahasiswa Nilai
NIM Nama_Mahasiw Alamat Nilai_Huruf Mutu Predikat
a A 4 Sangat
0205000 Rita Jl. Mawar no. 1 Baik
1 Yogyakarta B 3 Baik
0205000 Rina Jl. Melati no. 2 Yogyakarta C 2 Cukup
2
Mata_Kuliah D 1 Kurang
0205000 Rini Jl. Menur no. 3 Yogyakarta
Kode_MK Nama_MK Sks Smt Status E 0 Gagal
3
MK-11001 Pemrograman I 2 1 W
MK-12002 Pemrograman II 2 2 W
MK-13003 Pemrograman 2 3 W
III
KRS KHS
NIM Kode_MK Tahun_Semeste NIM Kode_MK Tahun_Semeste Nilai_Huruf
r r
0205000 MK-11001 200220031 0205000 MK-11001 200220031 A
1 1
0205000 MK-12002 200220032 0205000 MK-12002 200220032 B
1 1
0205000 MK-11001 200320041 0205000 MK-11001 200320041 B
2 2
0205000 MK-13003 200320041 0205000 MK-13003 200320041 B
2 2
28
0205000 MK-11001 200220031 0205000 MK-11001 200220031 A
Langkah 1

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

NIS Nama_Siswa Jenis_Kursus Instruktur Periode


1001 Dian Bahasa Inggris Nita Januari 1998
1002 Dina Bahasa Jepang Nina April 1998
1003 Dani Bahasa Mandarin Nani Juli 1998
1004 Doni Bahasa Inggris Noni Januari 1998
1005 Dino Bahasa Jepang Nina April 1998
1006 Dion Bahasa Inggris Noni Januari 1998
Kasus:
Dani telah selesai mengikuti kursus Bahasa Mandarin 5 tahun yang lalu DAN data tsb
tdk digunakan lagi, mk record dihapus.
Peserta kursus Bahasa Mandarin periode Juli 1998 hny seorang saja
Akibatnya,
Slrh rinci data dlm record tsb akan hilang dr BD
Tmsk informasi ttg instruktur bernama Nani & periode kursus Juli 1998
akan hilang
Pdhl semula hny ingin menghapus nilai rinci data Dani
37
Insert anomally
KRS

NIS Nama_Siswa Jenis_Kursus Instruktur Periode


1001 Dian Bahasa Inggris Nita Januari 1998
1002 Dina Bahasa Jepang Nina April 1998
1003 Dani Bahasa Mandarin Nani Juli 1998
1004 Doni Bahasa Inggris Noni Januari 1998
1005 Dino Bahasa Jepang Nina April 1998
1006 Dion Bahasa Inggris Noni Januari 1998

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

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

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

3246 Erna Jl. Mawar 10 Bali 500000 1-1-2002


5498 Erni Jl. Menur 20 Lombok 750000 2-2-2002
8730 Irna Jl. Melati 5 Surabaya 300000 3-3-2002
6593 Arni Jl. Mawar 20 Bali 550000 2-2-2002

FD: R.X R.Y


FD: (Tour.No_Anggota, Tour.Tujuan, Tour.Tanggal)
 (Tour.Nama_Anggota, Tour.Alamat_Lokal, Tour.Beaya)

42
43

 Full Functionally Dependence / FFD


Atribut Y mpy ketergantungan fungsional penuh thd atribut X,
jk:
 Y functionally dependency thd X
 Y tdk functionally dependency thd bag ttt dr X
 Notasi:

FFD: R.X R.Y


Keterangan:
FFD : Full Functionally Dependency
R : nama relasi
X : atribut penentu (determines), yi CK
Y : atribut bergantung (dependent)
Full Functionally Dependence / FFD

Tour
No_Anggota Nama-Anggota Alamat_Lokal Tujuan Beaya Tanggal

3246 Erna Jl. Mawar 10 Bali 500000 1-1-2002


5498 Erni Jl. Menur 20 Lombok 750000 2-2-2002
8730 Irna Jl. Melati 5 Surabaya 300000 3-3-2002
6593 Arni Jl. Mawar 20 Bali 550000 2-2-2002

FFD: R.X  R.Y


FFD: (Tour.Tujuan, Tour.Tanggal)  (Tour.Beaya)
FFD: (Tour.No_Anggota)  (Tour.Nama_Anggota, Tour.Alamat_Lokal)

44
45

 Transitive Dependence / TDF


Atribut Z bergantung transitif thd X,
jk:
 Y functionally dependency thd X
 Z functionally dependency thd Y
 notasi:

TDF: R.X R.YR.Z


Keterangan:
TDF : Trancitive Dependency
R : nama relasi
X : atribut penentu (determines)
Y : atribut bergantung (dependent) thd X dan penentu thd Z
Z : atribut yg bergantung (dependent) thd Y
Transitive Dependence / TDF

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

TDF: R.X  R.Y  R.Z


TDF: (Karyawan.NIK)  (Karyawan.Golongan_Gaji)  (Karyawan.Gaji_Pokok)

46
47

 Total Dependence / TD

Atribut Y mengalami ketergantungan total thd atribut X,


jk:
 Y functionally dependency thd X
 X functionally dependency thd Y
 notasi:

TD: R.X R.Y


Keterangan:
TD : Total Dependency
R : nama relasi
X : atribut penentu (determines), & bergantung pd Y
Y : atribut bergantung (dependent) & penentu pd X
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

TD: R.X  R.Y


TD: (Karyawan.Golongan_Gaji)  (Karyawan.Gaji_Pokok)

48
Diagram ketergantungan data

• Cara 1  horisontal
• Cara 2  vertikal

49
Menggambar diagram ketergantungan data

Cara 1  horisontal

•Tempatkan stp atribut yg mjd penentu pd sbh garis horisontal


yg berupa titik-2 sbg penghubung
• Identifikasikan stp atribut yg bgt pd atribut penentu tsb
• Gambarkan hal tsb dgn menggunakan panah ke bwh
• Identifikasikan & gambarkan ketergantungan data

50
Tour
No_Anggota Nama-Anggota Alamat_Lokal Tujuan Beaya Tanggal

3246 Erna Jl. Mawar 10 Bali 500000 1-1-2002


5498 Erni Jl. Menur 20 Lombok 750000 2-2-2002
8730 Irna Jl. Melati 5 Surabaya 300000 3-3-2002
6593 Arni Jl. Mawar 20 Bali 550000 2-2-2002

51
52

No_Anggota ………..………… Tanggal +Tujuan

Nama_Anggota Alamat_Lokal Beaya

Diagram ketergantungan data dalam relasi Tour (cara 1)


53

No_Anggota Nama_Anggota

Tanggal Alamat_Lokal

Tujuan Beaya

Diagram ketergantungan data dalam relasi Tour (cara 2)


54

NIK ………..……………. Golongan_Gaji

Nama_Karyawan Gaji_Pokok

Diagram ketergantungan data dalam relasi Karyawan (cara 1)


55

Nama_Karyawan
NIK

Golongan_Gaji Gaji_Pokok

Diagram ketergantungan data dalam relasi Karyawan (cara 2)


Normalisasi
56

 suatu teknik yg menstrukturkan / memecah / mendekomposisi


data dlm cr-2 ttt u/ mencegah timbulnya permasalahan
pengolahan data dlm BD
 delete anomally
 insert anomally
 update anomally
57

Proses normalisasi akan menghasilkan relasi yg optimal,


yi:
 Memiliki struk record yg konsisten sca logik
 Memiliki struk record yg mudah u/ dimengerti
 Memiliki struk record yg sederhana dlm pemeliharaan
 Memiliki struk record yg mudah u/ ditampilkan kbl u/ memenuhi ke-
bth-an pmk
 Minimalisasi kerangkapan data
58

Umumnya rancangan relasi dlm BD tlh optimal,


jk memenuhi kriteria 3NF

Level normalisasi di-tt-kan ber-dsr-kan kriteria btk normal


bkn jml lkh dekomposisi relasi

Teori normalisasi dibangun mnrt konsep level normalisasi


59

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

Permasalahan dlm 1 NF:


 Tdk dpt menyisipkan informasi parsial
 Terhapusnya informasi ktk menghapus sbh record
 Update atribut non kunci mengakibatkan se-jml record hrs di-
update

Konversi UNF  1 NF:


 Melengkapi nilai-2 dlm atribut
 Mengubah struk relasi
63

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

Permasalahan dlm 2 NF:


 Kerangkapan data (data redundancy)
 Update yg tdk benar dpt menimbulkan inkonsistensi data
 Proses update data tdk efisien
 Anomallies

Konversi 1NF  2 NF:


 Identifikasikan FD relasi 1NF
 Ber-dsr-kan informasi tsb,
dekomposisi relasi 1NF mjd relasi-2 baru sesuai FD-nya
Jk menggunakan diagram,
mk simpul-2 yg berada pd puncak diagram bertindak
sbg PK pd relasi baru
65

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

Konversi 2NF  3NF


 Mengubah struk relasi
 Identifikasikan TDF pd relasi 2NF
 Ber-dsr-kan informasi tsb,
dekomposisi relasi 2NF mjd relasi-2i baru sesuai TDF-nya
Jk menggunakan diagram,
mk simpul-2 yg berada pd puncak diagram
bertindak sbg PK pd relasi baru
67

Misal:
Thd relasi R dgn sifat sbb:
R=(A,B,C) dgn PK = A
FD: R.B R.C

Mk, relasi R perlu didekomposisi mjd relasi-2 R1 & R2, yi:


R1 = (B,C)
R2 = (A, B), FK: B references R1
68

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


S01 10 Jakarta B01 100
S01 10 Jakarta B02 150
S01 10 Jakarta B03 200
S02 20 Surabaya B02 250
S02 20 Surabaya B04 200
S03 30 Yogyakarta B05 150
S03 30 Yogyakarta B06 100

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

NIM Nama_Mhs Kode_MK_1 Sks_1 Tahun_Smt_1 Kode_MK_2 Sks_2 Tahun_Smt_2

001 Koko MK01 2 20021 MK02 2 20022


002 Kiki MK01 2 20021 MK02 2 20022
003 Kiko MK01 2 20031 MK03 2 20032
004 Koki MK01 2 20031 MK04 2 20032

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

1. Duplikasi rinci data pd atribut FK


2. Kemungkinan tdk terpenuhinya referential integrity
3. Inefisiensi proses menampilkan kbl data-2 dr dlm BD
4. Batasan penerapan pd bbrp DBMS u/ PC
5. Data menjadi lebih independen
6. Update data menjadi lebih mudah
7. Jika terjadi error pada suatu tabel, tidak akan mempengaruhi tabel yang lain.

87
88

tugas

Anda mungkin juga menyukai