teknik normalisasi data pada visual basic

41
Teknik Normalisasi Data Poltak Sihombing, Ph.D

Upload: winto-zega

Post on 07-Jul-2015

202 views

Category:

Data & Analytics


1 download

DESCRIPTION

Cara atau Teknik Normalisasi Data Pada Visual Basic

TRANSCRIPT

Page 1: Teknik Normalisasi Data Pada Visual Basic

Teknik Normalisasi Data

Poltak Sihombing, Ph.D

Page 2: Teknik Normalisasi Data Pada Visual Basic

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)

Page 3: Teknik Normalisasi Data Pada Visual Basic

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).

Page 4: Teknik Normalisasi Data Pada Visual Basic

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

Page 5: Teknik Normalisasi Data Pada Visual Basic

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

Page 6: Teknik Normalisasi Data Pada Visual Basic

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

Page 7: Teknik Normalisasi Data Pada Visual Basic

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

Page 8: Teknik Normalisasi Data Pada Visual Basic

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)

Page 9: Teknik Normalisasi Data Pada Visual Basic

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

Page 10: Teknik Normalisasi Data Pada Visual Basic

• 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

Page 11: Teknik Normalisasi Data Pada Visual Basic

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

Page 12: Teknik Normalisasi Data Pada Visual Basic

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

Page 13: Teknik Normalisasi Data Pada Visual Basic

• Dalam Relasi Mahasiswa_Nilai:

NIM (NamaMhs,Major,SKSLulus)

KodeMkul (NamaMkul,SKS)

Major SKSLulus

(NIM,KodeMkul) Nilai

KodeMkul

NIM

NilaiSKSLulus

NamaMhs

Major

NamaMkul

SKS

Page 14: Teknik Normalisasi Data Pada Visual Basic

KF3

Kunciprimer

Kebergantungan

Transitif

KebergantunganSebagian

KF2

KF1

KodeMkul SKSLulusNIM NamaMhs Major NamaMkul SKS Nilai

Kebergantungan

SebagianKF4

Diagram Kebergantungan Fungsi

Page 15: Teknik Normalisasi Data Pada Visual Basic

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

Page 16: Teknik Normalisasi Data Pada Visual Basic

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)

Page 17: Teknik Normalisasi Data Pada Visual Basic

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)

Page 18: Teknik Normalisasi Data Pada Visual Basic

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

Page 19: Teknik Normalisasi Data Pada Visual Basic

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

Page 20: Teknik Normalisasi Data Pada Visual Basic

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

Page 21: Teknik Normalisasi Data Pada Visual Basic

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).

Page 22: Teknik Normalisasi Data Pada Visual Basic

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)

Page 23: Teknik Normalisasi Data Pada Visual Basic

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

Page 24: Teknik Normalisasi Data Pada Visual Basic

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.

Page 25: Teknik Normalisasi Data Pada Visual Basic

• Maka Relasi mahasiswa_nilai yang dihasilkan:

MHS_Pengkhususan (NIM, NamaMhs,Major)

MKULIAH (KodeMkul, NamaMKul, SKS)

PENGKHUSUSAN (Major, SKSLulus)

GRED (NIM,KodeMkul,Nilai)

Page 26: Teknik Normalisasi Data Pada Visual Basic

1NF 2NF 3NF

MHS_PENGKHUSUSAN

Hilangkan

Kebergantungan

Sebagian

Hilangkan

Kebergantungan

Transitif

PENGKHUSUSAN

GRED

MKULIAHMahasiswa_Nilai

GRED

MKULIAH

MAHASISWA

Page 27: Teknik Normalisasi Data Pada Visual Basic

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.

Page 28: Teknik Normalisasi Data Pada Visual Basic

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.

Page 29: Teknik Normalisasi Data Pada Visual Basic

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.

Page 30: Teknik Normalisasi Data Pada Visual Basic

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

Page 31: Teknik Normalisasi Data Pada Visual Basic

• 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

Page 32: Teknik Normalisasi Data Pada Visual Basic

• 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.

Page 33: Teknik Normalisasi Data Pada Visual Basic

• 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

Page 34: Teknik Normalisasi Data Pada Visual Basic

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

Page 35: Teknik Normalisasi Data Pada Visual Basic

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

Page 36: Teknik Normalisasi Data Pada Visual Basic

• 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.

Page 37: Teknik Normalisasi Data Pada Visual Basic

• 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

Page 38: Teknik Normalisasi Data Pada Visual Basic

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)

Page 39: Teknik Normalisasi Data Pada Visual Basic

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

Page 40: Teknik Normalisasi Data Pada Visual Basic

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.

Page 41: Teknik Normalisasi Data Pada Visual Basic

Dr. POLTAK SIHOMBING