SlideShare a Scribd company logo
1 of 29
Download to read offline
Tabel Universal
 Tabel Universal (Universal / Star Table)  sebuah tabel
yang merangkum semua kelompok data yang saling
berhubungan, bukan merupakan tabel yang baik.
 Misalnya:
CONTOH TABEL NORMAL
Functional Dependency
 Functional Dependency (FD) menyatakan keterhubungan
antar 2 buah atribut. FD menyatakan bahwa nilai suatu
atribut bergantung dari atribut lain.
 Notasi: A  B
A dan B adalah atribut dari sebuah tabel. Berarti secara
fungsional A menentukan B atau B tergantung pada A,
jika dan hanya jika ada 2 baris data dengan nilai A yang
sama, maka nilai B juga sama.
 Contoh : NIM  Nama_Mahasiswa
Penerapan Functional
Dependency
Contoh Tabel Nilai
Penerapan Functional
Dependency
Functional Dependency dari Tabel Nilai
 Nrp  namaMhs
Karena untuk setiap nilai nrp (nomor registrasi peserta)
yang sama, maka nilai namaMhs juga sama.
 {Namakul, nrp}  NiHuruf
Karena attribut Nihuruf tergantung pada Namakul dan
nrp secara bersama-sama. Dalam arti lain untuk
Namakul dan nrp yang sama, maka NiHuruf juga sama,
karena Namakul dan nrp merupakan key (bersifat unik).
 NamaKul  nrp
 Nrp  NiHuruf
Contoh Functional Dependency
 Andaikan ada tabel:
NILAI (NIM, Nm-mk, Semester, Nilai)
 Atribut kunci: NIM, Nm-mk, Semester
 Maka Functional Dependency:
{NIM, Nm-mk, Semester}  Nilai
 Analisa terhadap FD merupakan langkah awal penentuan
atribut kunci (candidate key) suatu tabel.
 Perlu diperhatikan bahwa primary key dapat terdiri atas
beberapa atribut.
Normal Pertama
(1st Normal Form)
 Suatu relasi disebut memenuhi bentuk normal pertama
(1NF) jika dan hanya jika setiap atribut dari relasi
tersebut hanya memiliki nilai tunggal dan tidak ada
pengulangan grup atribut dalam baris.
 Bentuk 1NF tidak boleh mengandung grup atribut yang
berulang.
 Aturan :
 Tidak adanya atribut multi-value, atribut komposit
atau kombinasinya.
 Setiap atribut dalam tabel tersebut harus bernilai
atomic (tidak dapat dibagi-bagi lagi)
Contoh 1 (atribut multi-value)
Contoh Data Mahasiswa
Atau:
Tabel-tabel di atas tidak memenuhi syarat 1 NF
Contoh 1 (Lanjutan)
Untuk mengubah tabel tersebut agar menjadi bentuk 1NF,
tabel perlu didekomposisi menjadi:
 Tabel Mahasiswa
 Tabel Hobi
Contoh 2 (Composite)
Struktur Tabel JadwalKuliah:
 Dimana nilai pada atribut jadwal berisi gabungan antara
Hari dan Jam.
 Jika asumsi hari dan jam memegang peranan penting
dalam sistem basis data, maka atribut Jadwal perlu
dipisah sehingga menjadi JadwalHari dan JadwalJam.
Perubahan Tabel Jadwal Kuliah
IDSales NamaSales Telepon
ADN006 Yeni, SE 3517261, 3520165
ADN007 Memey 4744621,08122861427
ADN008 Tina 08566241521
ADN009 Ir. Yanto 7265122, 7123910
ADN010 Made 6723192
Tabel : Sales
non-atomic
Unnormalized
Not 1NF
IDSales NamaSales Telepon
ADN006 Yeni, SE 3517261
ADN006 Yeni, SE 3520165
ADN007 Memey 4744621
ADN007 Memey 08122861427
ADN008 Tina 08566241521
ADN009 Ir. Yanto 7265122
ADN009 Ir. Yanto 7123910
ADN010 Made 6723192
1NF
Contoh First Normal Form (1NF)
18
Tabel : Buku repeated
ISBN Thn_Terbit ID_Pengarang Nama_Pengarang ID_Pengarang Nama_Pengarang
12-1202-19222 1992 K0121 Aris M K1021 Kosim P
11-1090-29101 2001 K1021 Kosim P
11-1090-29102 2001 K2091 K Odelia K0121 Aris M
12-1201-90871 2002 K2092 Renaldi K2091 K Odelia
13-2089-12910 2001 K2019 Samsuri J
Unnormalized
Not 1NF
ISBN Thn_Terbit ID_Pengarang Nama_Pengarang
12-1202-19222 1992 K0121 Aris M
12-1202-19222 1992 K1021 Kosim P
11-1090-29101 2001 K1021 Kosim P
11-1090-29102 2001 K2091 K Odelia
11-1090-29102 2001 K0121 Aris M
12-1201-90871 2002 K2092 Renaldi
12-1201-90871 2002 K2091 K Odelia
13-2089-12910 2001 K2019 Samsuri J
1NF
First Normal Form (1NF)
19
 Suatu relasi disebut memenuhi bentuk normal kedua (2NF)
jika dan hanya jika :
1. memenuhi 1NF
2. setiap atribut yang bukan kunci utama tergantung secara
fungsional terhadap semua atribut kunci dan bukan hanya
sebagian atribut kunci (fully functionally dependent).
 Bila terdapat ketergantungan parsial maka : eliminate.
 Aturan :
 Sudah memenuhi dalam bentuk normal kesatu (1NF)
 Semua atribut bukan kunci hanya boleh tergantung (functional
dependency) pada atribut kunci
 Jika ada ketergantungan parsial maka atribut tersebut harus dipisah
pada tabel yang lain, dimana perlu ada tabel penghubung ataupun
kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi
Second Normal Form (2NF)
20
CONTOH 2NF
Misalkan pada tabel berikut Mhs_nrp dan mk_kode merupakan atribut kunci
(primary key). Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai
primary key sedangkan:
o {Mhs_nrp, mk_kode}  mhs_nama
o {Mhs_nrp, mk_kode}  mhs_alamat
o {Mhs_nrp, mk_kode}  mk_nama
o {Mhs_nrp, mk_kode}  mk_sks
o {Mhs_nrp, mk_kode}  nihuruf
 Tabel di atas perlu didekomposisi menjadi beberapa tabel yang memenuhi
syarat 2NF
Contoh 2 NF (Lanjutan)
Functional Depedency-nya
o {Mhs_nrp, mk_kode}  nihuruf (fd1)
o Mhs_nrp  {mhs_nama, mhs_alamat} (fd2)
o Mk_kode  {mk_nama, mk_sks} (fd3)
 fd1 (mhs_nrp, mk_kode, nihuruf)  Tabel Nilai
 fd2 (mhs_nrp, mhs_nama, mhs_alamat)  Tabel Mahasiswa
 fd3 (mk_kode, mk_nama, mk_sks)  Tabel MataKuliah
Contoh :
Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key)
dengan FD : A,B  C,D,E maka tabel R memenuhi 2NF sebab :
A,B  C,D,E berarti :
A,B  C,
A,B  D dan
A,B  E
Jadi semua atribut bukan kunci utama tergantung penuh pada (A,B).
Second Normal Form (2NF)
23
Bagaimana bila R = (A,B,C,D,E) tetapi dengan FD :
(A,B)  (C,D) dan B  E. Apakah memenuhhi 2NF ?
Jelas bahwa R bukan 2NF karena ada atribut E yang bergantung
hanya pada atribut B saja dan bukan terhadap (A,B).
Dari FD : (A,B)  (C,D) juga mencerminkan bahwa hanya C dan D
saja yang bergantung secara fungsional terhadap (A,B), tidak untuk E.
Jadi bukan 2NF.
Untuk mengubah menjadi 2NF, lakukan dekomposisi menjadi :
R1 = (A,B,C,D) dan R2 = (B,E). Tampak R1 dan R2 memenuhi 2NF.
Second Normal Form (2NF)
24
Diketahui Workshop = (NIM,Modul,Biaya,Grade)
NIM
Peserta Workshop
Modul Biaya
Key : NIM+Modul
FD : Modul  Biaya
NIM Modul Biaya Grade
P11.2004.0129 VB.Net 250000 A
P11.2004.0130 Prolog 100000 A
P11.2004.0129 Prolog 100000 B
P11.2004.0201 Delphi 6 150000 A
P11.2004.0250 VB.Net 250000 B
(Biaya ditentukan oleh Modul yang
diambil mahasiswa)
 1NF
 Bukan 2NF
Sebab dalam tabel ini,
Biaya tidak bergantung penuh
pada atribut kunci (NIM,Modul)
Tabel biaya peserta workshop
Grade
Latihan Second Normal Form (2NF)
25
NIM Modul Biaya Grade
(NIM,Modul) = key
(Modul)  Biaya (partial)
(NIM,Modul)  Grade (full)
Eliminasi
NIM Modul Biaya Grade
Make Decomposition :
Works1 = (NIM,Modul,Grade)
Works2 = (Modul,Biaya)
Fully Dependency
Second Normal Form (2NF)
26
NIM Modul Biaya Grade
P11.2004.0129 VB.Net 250000 A
P11.2004.0130 Prolog 100000 A
P11.2004.0129 Prolog 100000 B
P11.2004.0201 Delphi 6 150000 A
P11.2004.0250 VB.Net 250000 B
Workshop
NIM Modul Grade
P11.2004.0129 VB.Net A
P11.2004.0130 Prolog A
P11.2004.0129 Prolog B
P11.2004.0201 Delphi 6 A
P11.2004.0250 VB.Net B
Modul Biaya
VB.Net 250000
Prolog 100000
Delphi 6 150000
Works1
Works2
Lebih Baik
Dari
1NF
Second Normal Form (2NF)
27
 Suatu relasi disebut memenuhi bentuk normal ketiga (3NF)
jika dan hanya jika :
1. memenuhi 2NF
2. setiap atribut yang bukan kunci tidak tergantung secara
fungsional terhadap atribut bukan kunci yang lain dalam relasi tsb
(tidak terdapat ketergantungan transitif pada atribut bukan kunci).
Third Normal Form (3NF)
 Aturan :
 Sudah berada dalam bentuk normal kedua (2NF)
 Tidak ada ketergantungan transitif (dimana atribut bukan kunci
tergantung pada atribut bukan kunci lainnya).
28
Contoh 3NF
 Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:
o Tabel Mahasiswa
 karena masih terdapat atribut non primary key (yakni
alm_kota dan alm_Provinsi) yang memiliki ketergantungan
terhadap atribut non primary key yang lain (yakni
alm_kodepos):
 alm_kodepos  {alm_Provinsi, alm_kota}
 Sehingga tabel tersebut perlu didekomposisi menjadi:
 Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos)
 Kodepos (alm_kodepos, alm_provinsi, alm_kota)
Contoh :
Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key)
dengan FD : A,B  C,D,E dan C  D,E maka R bukan 3NF sebab :
Atribut D dan E (bukan kunci utama) bergantung secara fungsional
pada C (yang juga bukan kunci utama).
Apakah memenuhi 3NF?
Agar R memenuhi 3NF maka didekomposisi menjadi :
R1=(A,B,C) dan R2=(C,D,E) sehingga R1 dan R2 memenuhi 3NF.
Third Normal Form (3NF)
30
FD : A,B  C,D,E berarti A,B  C ; C  D,E ; A,B  D,E
A,B  D reduce
A,B  E reduce
Dekomposisinya : R1=(A,B,C) ; FD : (A,B)C
R2=(C,D,E) ; FD : CD,E
A B C D E
A B C C D E
R1 R2
R
Third Normal Form (3NF)
31
Misal diketahui struktur informasi dari suatu dokumen Tabel Universal
TPS (Tabel Produk Supplier) berikut:
Apabila pada tabel tersebut berlaku (S,P)
= primary key dan berlaku FD :
SStatus
SCity
CityStatus
Lakukan normalisasi dari 1NF hingga 3NF.
S Status City
P Qty
S1 20 LONDON P1 300
P2 200
P3 400
P4 200
P5 100
P6 100
S2 10 PARIS P1 300
P2 400
S3 10 PARIS P2 200
S4 20 LONDON P2 200
P4 399
P5 400
PQ
Latihan Normalisasi
32
TPS
S Status City P Qty
S1 20 LONDON P1 300
S1 20 LONDON P2 200
S1 20 LONDON P3 400
S1 20 LONDON P4 200
S1 20 LONDON P5 100
S1 20 LONDON P6 100
S2 10 PARIS P1 300
S2 10 PARIS P2 400
S3 10 PARIS P2 200
S4 20 LONDON P2 200
S4 20 LONDON P4 399
S4 20 LONDON P5 400
Tahap Normalisasi 1NF
33
TPS1 TPS2
S P Qty
S1 P1 300
S1 P2 200
S1 P3 400
S1 P4 200
S1 P5 100
S1 P6 100
S2 P1 300
S2 P2 400
S3 P2 200
S4 P2 200
S4 P4 399
S4 P5 400
S Status City
S1 20 LONDON
S2 10 PARIS
S3 10 PARIS
S4 20 LONDON
Tahap Normalisasi 2NF
34
 1NF
 2NF
 3NF
S City
S1 LONDON
S2 PARIS
S3 PARIS
S4 LONDON
City Status
LONDON 20
PARIS 10
TPS1-1 TPS1-2 TPS2
S P Qty
S1 P1 300
S1 P2 200
S1 P3 400
S1 P4 200
S1 P5 100
S1 P6 100
S2 P1 300
S2 P2 400
S3 P2 200
S4 P2 200
S4 P4 399
S4 P5 400
 1NF
 2NF
 3NF
 1NF
 2NF
 3NF
 1NF
 2NF
 3NF
Tahap Normalisasi 3NF
35
Tugas Normalisasi
 Lakukan Normalisasi 1NF, 2NF, dan
3NF untuk tabel berikut

More Related Content

Similar to Materi_Perancangan_Basis_Data.pdf

Pertemuan 3 Praktikum Database
Pertemuan 3 Praktikum DatabasePertemuan 3 Praktikum Database
Pertemuan 3 Praktikum Databasedurohman
 
Pert 5 (normalisasi)
Pert 5 (normalisasi)Pert 5 (normalisasi)
Pert 5 (normalisasi)ptmardika
 
Desain_Database__Normalisasi.pptx
Desain_Database__Normalisasi.pptxDesain_Database__Normalisasi.pptx
Desain_Database__Normalisasi.pptxEdySubowo2
 
10_Normalisasi Data File 3.ppt
10_Normalisasi Data File 3.ppt10_Normalisasi Data File 3.ppt
10_Normalisasi Data File 3.pptJendralSweet
 
Pertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptxPertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptxnurnur469094
 
Teknik Normalisasi Data Pada Visual Basic
Teknik Normalisasi Data Pada Visual BasicTeknik Normalisasi Data Pada Visual Basic
Teknik Normalisasi Data Pada Visual BasicWinto Zega
 
Rsi 9 normalisasi dan buble
Rsi 9 normalisasi dan bubleRsi 9 normalisasi dan buble
Rsi 9 normalisasi dan bubledonasiilmu
 
_03.Relational Algebra and Calculus_ok.pptx
_03.Relational Algebra and Calculus_ok.pptx_03.Relational Algebra and Calculus_ok.pptx
_03.Relational Algebra and Calculus_ok.pptxBelboisCluster
 
Microsoft power point pertemuan 3-normalisasi.pptx
Microsoft power point   pertemuan 3-normalisasi.pptxMicrosoft power point   pertemuan 3-normalisasi.pptx
Microsoft power point pertemuan 3-normalisasi.pptxAndri Suryadi
 
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docxMAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docxDikicandra6
 

Similar to Materi_Perancangan_Basis_Data.pdf (20)

Pertemuan 3 Praktikum Database
Pertemuan 3 Praktikum DatabasePertemuan 3 Praktikum Database
Pertemuan 3 Praktikum Database
 
Pert 5 (normalisasi)
Pert 5 (normalisasi)Pert 5 (normalisasi)
Pert 5 (normalisasi)
 
Desain_Database__Normalisasi.pptx
Desain_Database__Normalisasi.pptxDesain_Database__Normalisasi.pptx
Desain_Database__Normalisasi.pptx
 
10_Normalisasi Data File 3.ppt
10_Normalisasi Data File 3.ppt10_Normalisasi Data File 3.ppt
10_Normalisasi Data File 3.ppt
 
normalisasi
normalisasinormalisasi
normalisasi
 
NORMALISASI
NORMALISASINORMALISASI
NORMALISASI
 
Pertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptxPertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptx
 
Normalisasi
NormalisasiNormalisasi
Normalisasi
 
Teknik Normalisasi Data Pada Visual Basic
Teknik Normalisasi Data Pada Visual BasicTeknik Normalisasi Data Pada Visual Basic
Teknik Normalisasi Data Pada Visual Basic
 
Linked list
Linked listLinked list
Linked list
 
Rsi 13
Rsi 13Rsi 13
Rsi 13
 
Rsi 9 normalisasi dan buble
Rsi 9 normalisasi dan bubleRsi 9 normalisasi dan buble
Rsi 9 normalisasi dan buble
 
Rsi 13
Rsi 13Rsi 13
Rsi 13
 
Tugas 3
Tugas 3Tugas 3
Tugas 3
 
_03.Relational Algebra and Calculus_ok.pptx
_03.Relational Algebra and Calculus_ok.pptx_03.Relational Algebra and Calculus_ok.pptx
_03.Relational Algebra and Calculus_ok.pptx
 
Microsoft power point pertemuan 3-normalisasi.pptx
Microsoft power point   pertemuan 3-normalisasi.pptxMicrosoft power point   pertemuan 3-normalisasi.pptx
Microsoft power point pertemuan 3-normalisasi.pptx
 
Laporan modul 5 basisdata
Laporan modul 5 basisdataLaporan modul 5 basisdata
Laporan modul 5 basisdata
 
Modul 2
Modul 2Modul 2
Modul 2
 
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docxMAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
MAKALAH SINGLE LINKED LIST DALAM BAHASA.docx
 
27543 normalisasi
27543 normalisasi27543 normalisasi
27543 normalisasi
 

Recently uploaded

Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptxMateri Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptxarifyudianto3
 
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfihsan386426
 
10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppttaniaalda710
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfYogiCahyoPurnomo
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxRemigius1984
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdfAnonymous6yIobha8QY
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfArvinThamsir1
 

Recently uploaded (9)

Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptxMateri Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
Materi Asesi SKK Manajer Pelaksana SPAM- jenjang 6.pptx
 
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
 
10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt
 
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdf
 

Materi_Perancangan_Basis_Data.pdf

  • 1. Tabel Universal  Tabel Universal (Universal / Star Table)  sebuah tabel yang merangkum semua kelompok data yang saling berhubungan, bukan merupakan tabel yang baik.  Misalnya:
  • 3. Functional Dependency  Functional Dependency (FD) menyatakan keterhubungan antar 2 buah atribut. FD menyatakan bahwa nilai suatu atribut bergantung dari atribut lain.  Notasi: A  B A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama.  Contoh : NIM  Nama_Mahasiswa
  • 5. Penerapan Functional Dependency Functional Dependency dari Tabel Nilai  Nrp  namaMhs Karena untuk setiap nilai nrp (nomor registrasi peserta) yang sama, maka nilai namaMhs juga sama.  {Namakul, nrp}  NiHuruf Karena attribut Nihuruf tergantung pada Namakul dan nrp secara bersama-sama. Dalam arti lain untuk Namakul dan nrp yang sama, maka NiHuruf juga sama, karena Namakul dan nrp merupakan key (bersifat unik).  NamaKul  nrp  Nrp  NiHuruf
  • 6. Contoh Functional Dependency  Andaikan ada tabel: NILAI (NIM, Nm-mk, Semester, Nilai)  Atribut kunci: NIM, Nm-mk, Semester  Maka Functional Dependency: {NIM, Nm-mk, Semester}  Nilai  Analisa terhadap FD merupakan langkah awal penentuan atribut kunci (candidate key) suatu tabel.  Perlu diperhatikan bahwa primary key dapat terdiri atas beberapa atribut.
  • 7. Normal Pertama (1st Normal Form)  Suatu relasi disebut memenuhi bentuk normal pertama (1NF) jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dan tidak ada pengulangan grup atribut dalam baris.  Bentuk 1NF tidak boleh mengandung grup atribut yang berulang.  Aturan :  Tidak adanya atribut multi-value, atribut komposit atau kombinasinya.  Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)
  • 8. Contoh 1 (atribut multi-value) Contoh Data Mahasiswa Atau: Tabel-tabel di atas tidak memenuhi syarat 1 NF
  • 9. Contoh 1 (Lanjutan) Untuk mengubah tabel tersebut agar menjadi bentuk 1NF, tabel perlu didekomposisi menjadi:  Tabel Mahasiswa  Tabel Hobi
  • 10. Contoh 2 (Composite) Struktur Tabel JadwalKuliah:  Dimana nilai pada atribut jadwal berisi gabungan antara Hari dan Jam.  Jika asumsi hari dan jam memegang peranan penting dalam sistem basis data, maka atribut Jadwal perlu dipisah sehingga menjadi JadwalHari dan JadwalJam. Perubahan Tabel Jadwal Kuliah
  • 11. IDSales NamaSales Telepon ADN006 Yeni, SE 3517261, 3520165 ADN007 Memey 4744621,08122861427 ADN008 Tina 08566241521 ADN009 Ir. Yanto 7265122, 7123910 ADN010 Made 6723192 Tabel : Sales non-atomic Unnormalized Not 1NF IDSales NamaSales Telepon ADN006 Yeni, SE 3517261 ADN006 Yeni, SE 3520165 ADN007 Memey 4744621 ADN007 Memey 08122861427 ADN008 Tina 08566241521 ADN009 Ir. Yanto 7265122 ADN009 Ir. Yanto 7123910 ADN010 Made 6723192 1NF Contoh First Normal Form (1NF) 18
  • 12. Tabel : Buku repeated ISBN Thn_Terbit ID_Pengarang Nama_Pengarang ID_Pengarang Nama_Pengarang 12-1202-19222 1992 K0121 Aris M K1021 Kosim P 11-1090-29101 2001 K1021 Kosim P 11-1090-29102 2001 K2091 K Odelia K0121 Aris M 12-1201-90871 2002 K2092 Renaldi K2091 K Odelia 13-2089-12910 2001 K2019 Samsuri J Unnormalized Not 1NF ISBN Thn_Terbit ID_Pengarang Nama_Pengarang 12-1202-19222 1992 K0121 Aris M 12-1202-19222 1992 K1021 Kosim P 11-1090-29101 2001 K1021 Kosim P 11-1090-29102 2001 K2091 K Odelia 11-1090-29102 2001 K0121 Aris M 12-1201-90871 2002 K2092 Renaldi 12-1201-90871 2002 K2091 K Odelia 13-2089-12910 2001 K2019 Samsuri J 1NF First Normal Form (1NF) 19
  • 13.  Suatu relasi disebut memenuhi bentuk normal kedua (2NF) jika dan hanya jika : 1. memenuhi 1NF 2. setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut kunci (fully functionally dependent).  Bila terdapat ketergantungan parsial maka : eliminate.  Aturan :  Sudah memenuhi dalam bentuk normal kesatu (1NF)  Semua atribut bukan kunci hanya boleh tergantung (functional dependency) pada atribut kunci  Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain, dimana perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi Second Normal Form (2NF) 20
  • 14. CONTOH 2NF Misalkan pada tabel berikut Mhs_nrp dan mk_kode merupakan atribut kunci (primary key). Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF: Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang dianggap sebagai primary key sedangkan: o {Mhs_nrp, mk_kode}  mhs_nama o {Mhs_nrp, mk_kode}  mhs_alamat o {Mhs_nrp, mk_kode}  mk_nama o {Mhs_nrp, mk_kode}  mk_sks o {Mhs_nrp, mk_kode}  nihuruf  Tabel di atas perlu didekomposisi menjadi beberapa tabel yang memenuhi syarat 2NF
  • 15. Contoh 2 NF (Lanjutan) Functional Depedency-nya o {Mhs_nrp, mk_kode}  nihuruf (fd1) o Mhs_nrp  {mhs_nama, mhs_alamat} (fd2) o Mk_kode  {mk_nama, mk_sks} (fd3)  fd1 (mhs_nrp, mk_kode, nihuruf)  Tabel Nilai  fd2 (mhs_nrp, mhs_nama, mhs_alamat)  Tabel Mahasiswa  fd3 (mk_kode, mk_nama, mk_sks)  Tabel MataKuliah
  • 16. Contoh : Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key) dengan FD : A,B  C,D,E maka tabel R memenuhi 2NF sebab : A,B  C,D,E berarti : A,B  C, A,B  D dan A,B  E Jadi semua atribut bukan kunci utama tergantung penuh pada (A,B). Second Normal Form (2NF) 23
  • 17. Bagaimana bila R = (A,B,C,D,E) tetapi dengan FD : (A,B)  (C,D) dan B  E. Apakah memenuhhi 2NF ? Jelas bahwa R bukan 2NF karena ada atribut E yang bergantung hanya pada atribut B saja dan bukan terhadap (A,B). Dari FD : (A,B)  (C,D) juga mencerminkan bahwa hanya C dan D saja yang bergantung secara fungsional terhadap (A,B), tidak untuk E. Jadi bukan 2NF. Untuk mengubah menjadi 2NF, lakukan dekomposisi menjadi : R1 = (A,B,C,D) dan R2 = (B,E). Tampak R1 dan R2 memenuhi 2NF. Second Normal Form (2NF) 24
  • 18. Diketahui Workshop = (NIM,Modul,Biaya,Grade) NIM Peserta Workshop Modul Biaya Key : NIM+Modul FD : Modul  Biaya NIM Modul Biaya Grade P11.2004.0129 VB.Net 250000 A P11.2004.0130 Prolog 100000 A P11.2004.0129 Prolog 100000 B P11.2004.0201 Delphi 6 150000 A P11.2004.0250 VB.Net 250000 B (Biaya ditentukan oleh Modul yang diambil mahasiswa)  1NF  Bukan 2NF Sebab dalam tabel ini, Biaya tidak bergantung penuh pada atribut kunci (NIM,Modul) Tabel biaya peserta workshop Grade Latihan Second Normal Form (2NF) 25
  • 19. NIM Modul Biaya Grade (NIM,Modul) = key (Modul)  Biaya (partial) (NIM,Modul)  Grade (full) Eliminasi NIM Modul Biaya Grade Make Decomposition : Works1 = (NIM,Modul,Grade) Works2 = (Modul,Biaya) Fully Dependency Second Normal Form (2NF) 26
  • 20. NIM Modul Biaya Grade P11.2004.0129 VB.Net 250000 A P11.2004.0130 Prolog 100000 A P11.2004.0129 Prolog 100000 B P11.2004.0201 Delphi 6 150000 A P11.2004.0250 VB.Net 250000 B Workshop NIM Modul Grade P11.2004.0129 VB.Net A P11.2004.0130 Prolog A P11.2004.0129 Prolog B P11.2004.0201 Delphi 6 A P11.2004.0250 VB.Net B Modul Biaya VB.Net 250000 Prolog 100000 Delphi 6 150000 Works1 Works2 Lebih Baik Dari 1NF Second Normal Form (2NF) 27
  • 21.  Suatu relasi disebut memenuhi bentuk normal ketiga (3NF) jika dan hanya jika : 1. memenuhi 2NF 2. setiap atribut yang bukan kunci tidak tergantung secara fungsional terhadap atribut bukan kunci yang lain dalam relasi tsb (tidak terdapat ketergantungan transitif pada atribut bukan kunci). Third Normal Form (3NF)  Aturan :  Sudah berada dalam bentuk normal kedua (2NF)  Tidak ada ketergantungan transitif (dimana atribut bukan kunci tergantung pada atribut bukan kunci lainnya). 28
  • 22. Contoh 3NF  Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF: o Tabel Mahasiswa  karena masih terdapat atribut non primary key (yakni alm_kota dan alm_Provinsi) yang memiliki ketergantungan terhadap atribut non primary key yang lain (yakni alm_kodepos):  alm_kodepos  {alm_Provinsi, alm_kota}  Sehingga tabel tersebut perlu didekomposisi menjadi:  Mahasiswa (Nrp, nama, alm_jalan, alm_kodepos)  Kodepos (alm_kodepos, alm_provinsi, alm_kota)
  • 23. Contoh : Diketahui tabel R=(A,B,C,D,E) ; A,B kunci utama (primary key) dengan FD : A,B  C,D,E dan C  D,E maka R bukan 3NF sebab : Atribut D dan E (bukan kunci utama) bergantung secara fungsional pada C (yang juga bukan kunci utama). Apakah memenuhi 3NF? Agar R memenuhi 3NF maka didekomposisi menjadi : R1=(A,B,C) dan R2=(C,D,E) sehingga R1 dan R2 memenuhi 3NF. Third Normal Form (3NF) 30
  • 24. FD : A,B  C,D,E berarti A,B  C ; C  D,E ; A,B  D,E A,B  D reduce A,B  E reduce Dekomposisinya : R1=(A,B,C) ; FD : (A,B)C R2=(C,D,E) ; FD : CD,E A B C D E A B C C D E R1 R2 R Third Normal Form (3NF) 31
  • 25. Misal diketahui struktur informasi dari suatu dokumen Tabel Universal TPS (Tabel Produk Supplier) berikut: Apabila pada tabel tersebut berlaku (S,P) = primary key dan berlaku FD : SStatus SCity CityStatus Lakukan normalisasi dari 1NF hingga 3NF. S Status City P Qty S1 20 LONDON P1 300 P2 200 P3 400 P4 200 P5 100 P6 100 S2 10 PARIS P1 300 P2 400 S3 10 PARIS P2 200 S4 20 LONDON P2 200 P4 399 P5 400 PQ Latihan Normalisasi 32
  • 26. TPS S Status City P Qty S1 20 LONDON P1 300 S1 20 LONDON P2 200 S1 20 LONDON P3 400 S1 20 LONDON P4 200 S1 20 LONDON P5 100 S1 20 LONDON P6 100 S2 10 PARIS P1 300 S2 10 PARIS P2 400 S3 10 PARIS P2 200 S4 20 LONDON P2 200 S4 20 LONDON P4 399 S4 20 LONDON P5 400 Tahap Normalisasi 1NF 33
  • 27. TPS1 TPS2 S P Qty S1 P1 300 S1 P2 200 S1 P3 400 S1 P4 200 S1 P5 100 S1 P6 100 S2 P1 300 S2 P2 400 S3 P2 200 S4 P2 200 S4 P4 399 S4 P5 400 S Status City S1 20 LONDON S2 10 PARIS S3 10 PARIS S4 20 LONDON Tahap Normalisasi 2NF 34  1NF  2NF  3NF
  • 28. S City S1 LONDON S2 PARIS S3 PARIS S4 LONDON City Status LONDON 20 PARIS 10 TPS1-1 TPS1-2 TPS2 S P Qty S1 P1 300 S1 P2 200 S1 P3 400 S1 P4 200 S1 P5 100 S1 P6 100 S2 P1 300 S2 P2 400 S3 P2 200 S4 P2 200 S4 P4 399 S4 P5 400  1NF  2NF  3NF  1NF  2NF  3NF  1NF  2NF  3NF Tahap Normalisasi 3NF 35
  • 29. Tugas Normalisasi  Lakukan Normalisasi 1NF, 2NF, dan 3NF untuk tabel berikut