Upload
winto-zega
View
202
Download
1
Embed Size (px)
DESCRIPTION
Cara atau Teknik Normalisasi Data Pada Visual Basic
Citation preview
Teknik Normalisasi Data
Poltak Sihombing, Ph.D
Normalisasi
• Sasaran perancangan Database relasional:▫ Menghasilkan himpunan skema relasi ▫ Untuk menyimpan informasi tanpa redundansi.▫ Meningkatkan derajad konsistensi data ▫ Dengan pemeliharaan integritas data dan ▫ Memudahkan pengguna mencari informasi yang dikehendaki
• Untuk mencapai sasaran :▫ Memerlukan informasi tambahan dari kondisi objek yang
dimodelkan.▫ Mencari kebergantungan fungsian (functional dependency)▫ Merancang relasi menjadi bentuk normal (normal form)
Relasi yang terstruktur dengan baik:Mengandung redudansi dalam jumlah minimalMengijinkan pengguna menyisipkan,
memodifikasi serta menghapus baris-baris(rekod)
Tanpa menimbulkan kesalahan atauinkonsistensi data.
Redundansi pada tabel dapatmenghasilkan inkonsistensi (anomali).
staffNo Name position salary branchNo
SL21SG37SG14SA9SG5SL41
John WhiteAnn BeechDavid FordMary HoweSusan BrandJulie Lee
ManagerAssistantSupervisorAssistantManagerAssistant
3000012000180009000240009000
B005B003B003B007B003B005
Staff
branchNo Address
B005B007B003
22,Deer Rd, London16, Argyll St, Aberdeen163, Main St, Glasgow
Branch
staffNo Name position salary branchNo
Address
SL21SG37SG14SA9SG5SL41
John WhiteAnn BeechDavidFordMary HoweSusan BrandJulie Lee
ManagerAssistantSupervisorAssistantManagerAssistant
3000012000180009000240009000
B005B003B003B007B003B005
22 Deer Rd, London163 Main St, Glasgow163 Main St, Glasgow16 Argyll St, Aberdeen163 Main St, Glasgow22 Deer Rd, London
StaffBranch
3 Jenis Anomali :
Anomali penyisipan (insert anomaly); Keadaan dimana akan terjadi kesalahan pada
saat pengguna melakukan penyisipan data
Anomali penghapusan (deleting anomaly); Keadaan dimana akan terjadi kesalahan pada
saat pengguna melakukan penghapusan data pada tabel
Anomali Modifikasi (modification anomaly); Keadaan dimana akan terjadi kesalahan pada
saat pengguna melakukan modifikasi data
Atribut Semantik dan Domain
NIM Setiap mahasiswa diberi satu nomer yang unik tdd 5: Char Utk mhsw
perempuan diawali dengan P, Lelaki dengan L.
NamaMhs Nama Mahasiswa :char
Major Bidang pengkhususan (unik):Char
SKSLulus Jumlah SKS yang diperlukan untuk lulus:Integer
KodeMKul Kode Matakuliah (unik) untuk setiap matakuliah:Char
NamaMkul Nama Matakuliah:Char
SKS Jumlah SKS:Integer
Nilai Nilai yang diperoleh untuk satu matakuliah:Decimal
• Contoh: Skema Relasi mahasiswa_nilai
• Organizational / Enterprise Constraint:- Seorang mahasiswa boleh mengambil lebih dari satu matakuliah- Seorang mahasiswa harus mempunyai hanya satu major sebagai pengkhususan
- Setiap major memiliki syarat jumlah sks yang diperlukan untuk lulus
NIM NamaMhs Major SKSLulus KodeMkul NamaMkul SKS Nilai
P1050 Anita Ilmu Komputer 118 SK001
SK002
P.Tek.Informasi
Algoritma &
Pemrograman
2
4
80
75
L2115 Hendri Sistem Informasi 125 SM100 Sistem Informasi 4 85
Tabel Tidak Normal (Unnormalized Table)
Bentuk Tidak Normal (Unnormalized Form);
- Tabel/relasi tsb terdiri dari satu kelompok data yang berulang
- Nilai atribut pada tiap tuple tidak atomic (nilai tunggal)
Bentuk Normal Pertama (1NF)
Tabel/relasi dalam bentuk normal pertama :
jika setiap atribut pada tuple memiliki nilai atomic (nilai tunggal)
Untuk menukarkan bentuk tidak normal kedalam bentuknormal :1.Sisipkan data yang tidak berulang kedalam kolom-
kolom bagi setiap baris tuple yang nilainya berulang.2.Tetapkan satu kunci primer bagi tabel normal
• Tabel dalam bentuk normal
NIM NamaMhs Major SKSLulus KodeMkul NamaMkul SKS Nilai
P1050
P1050
L2115
Anita
Anita
Hendri
Ilmu Komputer
Ilmu Komputer
Sistem Informasi
118
118
125
SK001
SK002
SM100
P.Tek.Informasi
Algoritma &
Pemrograman
Sistem Informasi
2
4
4
80
75
85
Kebergantungan Fungsian
(Functional Dependency)
• Atribut B Bergantung Fungsian (BF) pada atribut Aj.h.j untuk setiap nilai A tertentu pasti akandapatkan nilai B yang sama.
A B
A B
NIM NamaMhs Major SKSLulus KodeMkul NamaMKul SKS Nilai
P1050
P1050
L2115
L4213
P2020
P4000
Anita
Anita
Hendri
Fahmi
Sarita
Dewi
Ilmu Komputer
Ilmu Komputer
Sistem Informasi
Software
Engineering
Sistem Informasi
Sistem Informasi
118
118
125
130
125
125
SK001
SK002
SM100
KP222
SM100
SM100
P.Tek.Informasi
Algoritma &
Pemrograman
Sistem Informasi
C++
Sistem Informasi
Sistem Informasi
2
4
4
4
4
4
80
75
85
70
60
65
Instansiasi Relasi Mahasiswa_Nilai
Relasi Mahasiswa_Nilai
• Dalam Relasi Mahasiswa_Nilai:
NIM (NamaMhs,Major,SKSLulus)
KodeMkul (NamaMkul,SKS)
Major SKSLulus
(NIM,KodeMkul) Nilai
KodeMkul
NIM
NilaiSKSLulus
NamaMhs
Major
NamaMkul
SKS
KF3
Kunciprimer
Kebergantungan
Transitif
KebergantunganSebagian
KF2
KF1
KodeMkul SKSLulusNIM NamaMhs Major NamaMkul SKS Nilai
Kebergantungan
SebagianKF4
Diagram Kebergantungan Fungsi
Kebergantungan Fungsian Penuh
(KFP)
• Jika A dan B adalah atribut relasi R. B dikatakan Bergantung Fungsian Penuh (BFP) atas A jika B BF terhadap A tetapi tidak pada mana-mana subset A.
X X, x bukan subset proper x(X,Y) X , x subset proper (x,y)
KFP melibatkan penentu tunggal.KFS (K.Fungsian Sebagian); jika KF melibatkan
penentu lebih dari 1 atribut
Bentuk Normal Kedua (2NF)
• Sebuah relasi berada dalam 2NF jika ia berada pada 1NF dansemua atribut bukan kunci Bergantung Fungsian Penuh (BFP) atas kunci primer (KP).
• 1NF 2NF:1. Buat List semua KF2. Tentukan Kunci Primer (KP) relasi R dan subset dari KP tsb3. Dekomposisi.Kelompokkan semua atribut (a) yang BFP pada KP
kedalam satu relasi bersama sama dengan KP. Hasilnya R0 (p,a)4. Kelompokkan semua atribut yang Bergantung Fungsian Sebagian
(BFS) atas KP dalam satu relasi bersama dengan salinan atributsubset KP dimana atribut tsb BF padanya.R1(p,a), R2(p2,a2)…Rn(pn ,, an)
1. KF lihat pada diagram KF sebelumnya
2. Kunci Primer pada Relasi mahasiswa_nilai : NIM + KodeMkul
3. Dekomposisi Relasi:
GRED (NIM,KodeMkul,Nilai)
MAHASISWA(NIM,NamaMhs,Major,SKSLulus)
MKULIAH (KodeMkul,NamaMkul,SKS)
MKULIAH
KodeMkul NamaMKul SKS
SK001 P.Tek.Informasi 2
SK002 Algoritma&Pemrograman 4
SM100 Sistem Informasi 4
KP222 C++ 4
GRED
NIM KodeMkul Nilai
P1050 SK001 80
P1050 SK002 75
L2115 SM100 85
L4213 KP222 85
P2020 SM100 70
P4000 SM100 60
NIM NamaMhs Major SKSLulus
P1050 Anita Ilmu Komputer 118
L2115 Hendri Sistem Informasit 125
L4213 Fahmi Software
Engineering
130
P2020 Zarina Ilmu Komputer 125
P4000 Sarita Sistem Informasi 125
MAHASISWA
Check Anomali pada relasi yang baru diatas
Kebergantungan Transitif
(KT)• Terdapat sekurang-kurangnya 3 atribut A,B,C
dalam satu relasi sehingga C BF atas B, B BF pada A maka C BF pada A secara transitif melalui B, dengan syarat A tidak BF kepada B atau C.
A B, B C, maka AC
Bentuk Normal Ketiga (3NF)• Semua relasi berada dalam 3NF jika ia berada
dalam 2NF dan tidak ada atribut bukan KP Bergantung Transitif (BT) pada KP.
• Dekomposisi 2NF-3NF:1. Cari KT dan tetapkan penentu yang bukan KP .2. Kelompokkan atribut yang BT bersama dengan
satu salinan atribut penentu pada relasi baru.3. Kelompokkan atribut tunggal menjadi satu
relasi baru4. Bagi setiap relasi R dengan atribut A,B,C ,
AB dan B C .Uraikan relasi R menjadi R1, dan R2. Dimana R1 (A,B) dan R2(B,C).
NIM
SKSLulus
Major
NamaMhs
Kebergantungan Transitif (KT)
1. Kebergantungan Transitif (KT) yaitu :NIM (NamaMhs,Major)Major SKSLulus
2. Relasi baru yang dihasilkan:PENGKHUSUSAN (Major, SKSLulus)
MHS_PENGKHUSUSAN(NIM, NamaMhs, Major)
MKULIAH
KodeMkul NamaMKul SKS
SK001 P.Tek.Informasi 2
SK002 Algoritma&Pemrograman 4
SM100 Sistem Informasi 4
KP222 C++ 4
GRED
NIM KodeMkul Nilai
P1050 SK001 80
P1050 SK002 75
L2115 SM100 85
L4213 KP222 85
P2020 SM100 70
P4000 SM100 60
NIM NamaMhs Major
P1050 Anita Ilmu Komputer
L2115 Hendri Sistem Informasi
L4213 Fahmi Software
Engineering
P2020 Zarina Sistem Informasi
P4000 Sarita Sistem Informasi
Major SKSLulus
Ilmu Komputer 118
Sistem Informasi 125
Software
Engineering
130
PENGKHUSUSANMHS_PENGKHUSUSAN
Check Anomali untuk tabel diatas.
• Maka Relasi mahasiswa_nilai yang dihasilkan:
MHS_Pengkhususan (NIM, NamaMhs,Major)
MKULIAH (KodeMkul, NamaMKul, SKS)
PENGKHUSUSAN (Major, SKSLulus)
GRED (NIM,KodeMkul,Nilai)
1NF 2NF 3NF
MHS_PENGKHUSUSAN
Hilangkan
Kebergantungan
Sebagian
Hilangkan
Kebergantungan
Transitif
PENGKHUSUSAN
GRED
MKULIAHMahasiswa_Nilai
GRED
MKULIAH
MAHASISWA
Boyce-Codd Normal Form (BCNF) Sebuah relasi adalah dalam BCNF hanya jika setiap penentu adalah
kunci calon (candidate key).
Perhatikan:
Untuk relasi yang memiliki hanya satu kunci calon, 3NF setara dengan BCNF.
Jika sebuah relasi yang memiliki hanya satu kunci calon, dan berada dalam3NF, secara otomatis ia juga dalam BCNF.
Kemungkinan sbh relasi tidak memenuhi syarat BCNF jarang berlaku, karenamemerlukan 3 keadaan a.l:
Terdapat dua atau lebih kunci calon
Dua kunci calon adalah kunci komposit
Dua kunci calon tersebut beririsan sekurang-kurangnya ada satu atribut yang sama.
3NF BCNFContoh:
Skema relasi DOSEN_RISET sbb:
DOSEN_RISET (NIP, NIM, No_Riset)
Semua atribut unik
Batasan Organisasi:
Seorang dosen boleh membimbing (supervisi) hanya
satu riset.
Satu mhsw boleh membuat lbh dari 1 riset.
Satu riset boleh dijalankan oleh lebih dari 1 mhs dan
boleh dibimbing lebih dari 1 orang dosen.
Seorang pelajar dibimbing oleh hanya 1 dosen untuk
satu riset.
3NFBCNF Oleh karena: Seorang dosen boleh membimbing hanya satu riset,
maka: NIP menentukan No_Riset.
Satu riset boleh dijalankan oleh lebih dari seorangmahasiswa dan seorang mahasiswa bolehmenjalankan lebih dari satu riset, maka No_Risetdan NIM masing-masing bukan penentu.
Tapi, dengan mengetahui No_Riset dan NIM mhsmaka kita dapat mengetahui NIP dosen yangmembimbing riset tsb.
Mengetahui NIM dan NIP, maka kita dapatmengetahui riset (No_Riset) yg sedang dibimbingseorang dosen.
Dari deskripsi diatas:
Untuk relasi DOSEN_RISET:
Kunci Calon : (NIP+NIM), (No_Riset + NIM)
Kunci Primer: (No_Riset + NIM)
KF lain : NIP No_Riset
Diagram KF:
NIP
No_Riset
NIM
• Contoh Instansiasi untuk relasi DOSEN_RISET:
NIP No_Riset NIM
D1
D1
D2
D3
D4
D5
R1
R1
R2
R3
R3
R4
M1
M2
M1
M2
M1
M3
• Kedua kunci calon adalah kunci komposit denganNIM merupakan atribut kunci yang beririsan.
Relasi DOSEN_RISET :
• dalam 3NF tidak ada kebergantungan transitif.
• Tetapi tidak dalam BCNF karena NIP adalahpenentu bagi No_Riset (NIPNo_Riset),sedangkan NIP bukan kunci calon.
• Diagram KF diatas:
▫ No_Riset bergantung kepada NIP
▫ Subset dari atribut kunci yaitu No_Riset BF kepada atribut bukan kunci (NIP).
▫ Periksa Anomali pada relasi DOSEN_RISET.
NIP
No_Riset
NIM
Relasi diatas dapat dipecahkan (dekomposisi) menjadi 2 relasi untuk menghilangkan anomali.
Relasi baru yang terbentuk tetap mempertimbangkan KF yang sudah ada.
Dua relasi yang dihasilkan:
RISET_MHS (No_Riset,NIM)
DOSEN (NIP, No_Riset)
NIP No_Riset NIM
D1
D1
D2
D3
D4
D5
R1
R1
R2
R3
R3
R4
M1
M2
M1
M2
M1
M3
RISET DOSEN
No_Riset NIM NIP No_Riset
R1 M1 D1 R1
R1 M2 D2 R2
R2 M1 D3 R3
R3 M2 D4 R3
R3 M1 D5 R4
R4 M3
Periksa Anomali dari tabel diatas
• Dekomposisi suatu relasi kepada bentuk normalyang lebih tinggi tidak selalu menyelesaikan semuamasalah.
• Mungkin akan timbul satu masalah baru.
• Dalam cth kasus ini, apabila kita gabungkan (join)dua tabel diatas untuk memperoleh tabel asal,kemungkinan akan menyalahi batasan yang sudahditentukan sebelumnya.
• Dari penggabungan tabel kedalam bentuk asaldidapati adanya penyalahan terhadap batasanorganisasi.
• Yaitu: Seorang mahasiswa tidak boleh membuatriset yang sama dengan bimbingan dua dosenyang berbeda.
• Dekomposisi relasi DOSEN_RISET kepadarelasi DOSEN dan relasi RISET menyebabkanbatasan tersebut tidak dapat diamati lagi.
• Harus dihindari supaya tidak ada informasi yanghilang
Kesimpulan Tidak semua relasi harus ditukarkan kedalam
bentuk BCNF
Walaupun relasi dalam BCNF dapat diperoleh tetapitidak selamanya itu diinginkan.
Tidak ada patokan dasar dalam normalisasi.
Normalisasi terus dilakukan selagi kita masihmenemukan adanya anomali-anomali dan juga adanyapelanggaran terhadap batasan yang ditentukan olehorganisasi (Enterprise/Organizational Constraint)
NamaMhs NIM Kelas NamaKelab KetuaKelab HariLatihan
Karim L001 1A Memanah Lim Rabu
Sally P201 2B Menjahit Sally Senin
Sam L002 1A Tinju Chandra Senin
Tri P013 2B Memanah Lim Rabu
Jalil L215 3C Atletik Ramli Sabtu
Tri L262 6A Memanah Lim Rabu
Perhatikan Tabel dibawah ini
Mahasiswa_Aktivitas
Soal Latihan:
Diberi satu contoh instansiasi bagi relasi Mahasiswa_AKTIVITAS sepertigambar sebelumnya. Anggapkan seorang mahasiswa hanya diperbolehkanmenganggotai satu kelab saja.
Jawab soal-soal berikut:
(a) Tunjukkan semua bentuk kebergantungan fungsian yang ada dalam Mahasiswa_AKTIVITAS.
(b) Tunjukkan kunci primer bagi Mahasiswa_AKTIVITAS dan jelaskan alasan anda.
(c) Adakah Mahasiswa_AKTIVITAS menghadapi masalah anomali update? Jelaskan.
(d) Apakah bentuk normal relasi Mahasiswa_AKTIVITAS.
(e) Dekomposisikan relasi Mahasiswa_AKTIVITAS kedalam bentuk normal yang lebih tinggi dan tunjukkan bahwa masalah anomali update telah dapat diatasi oleh dekomposisi tsb.
Dr. POLTAK SIHOMBING