NORMALISASI

21
NORMALISASI

description

NORMALISASI. Normalisasi. Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible - PowerPoint PPT Presentation

Transcript of NORMALISASI

Page 1: NORMALISASI

NORMALISASI

Page 2: NORMALISASI

NormalisasiNormalisasi merupakan teknik analisis data yang

mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible

Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

Page 3: NORMALISASI

Tahap Normalisasi

Ada tiga tahap dalam proses normalisasi yang dilakukan pada tiap tabel di database agar tabel tersebut memiliki tiga bentuk berikut:

– First Normal Form (1NF)– Second Normal Form (2NF)– Third Normal Form (3NF)

Page 4: NORMALISASI

Normalisasi: 1NF, 2NF, 3NF

Bentuk Normal ke Satu(1NF)Syarat :

1. Tidak ada set atribut yang berulang atau bernilai ganda.

2. Telah ditentukannya primary key untuk tabel atau relasi.

3. Tiap atribut hanya memiliki satu pengertian.

Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.

Page 5: NORMALISASI

Normalisasi: 1NF, 2NF, 3NF

Bentuk Normal ke Dua(2NF)Syarat :

1. Bentuk data telah memenuhi kriteria bentuk normal ke satu.

2. Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key.

Page 6: NORMALISASI

Normalisasi: 1NF, 2NF, 3NF

Bentuk Normal ke Tiga(3NF)Syarat :

1. Bentuk data telah memenuhi kriteria bentuk normal ke dua.

2. Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

Page 7: NORMALISASI

Contoh Normalisasi :

Tabel Mahasiswa di bawah ini, akan dilakukannormalisasi sampai bentuk normal ke tiga

Perhatikan Bahwa tabel di atas sudah dalam bentuknormal ke Satu(1NF)

Page 8: NORMALISASI

Contoh

Bentuk Normal ke dua(2NF) :

Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai danBobot masih memiliki ketergantu-ngan fungsional.

Page 9: NORMALISASI

Contoh

Bentuk Normal ke tiga(3NF) :

Page 10: NORMALISASI

Contoh Form :

Page 11: NORMALISASI

Hasil pengelompokan

Page 12: NORMALISASI

Contoh Soal :

MID MNAMA IDCARD_NO JOIN_DB ( D_BASE, YEAR )

M001 John 001.J {(ORACLE,97), (MYSQL,98), (SQL SERVER 7,99)}

M002 Smith 002.S {(ACCESS, 00)}

M003 Willy 003.W {(INFORMIX,01), (SYSBASE,02)}

M004 Jansen 004.J {(PARADOX,02)}

M005 Soen 005.S { (ORACLE,99), (SYSBASE,00), (ACCESS,01) }

Page 13: NORMALISASI

FIRST-NF (1NF)

Teknik pertama untuk merubah relasi dari Non 1st NF ke 1st NF yaitu Bentuk relasi baru yang memisahkan attribute JOIN_DB, dimana primary key dari relation baru tersebut adalah (MID, JOIN_DB)

MID MNAMA MID JOIN_DB

M001 John

M002 Smith

M001 ORACLE

M001 MYSQL

M001 SQL SERVER 7

M002 ACCESS

… …

… …

IDCARD_NO

001.J

002.S

MID MNAMA

M001 John

M002 Smith

M003 Willy

M004 Jansen

M005 Soen

IDCARD_NO

001.J

002.S

003.W

004.J

005.S

JOIN_DB ( D_BASE, YEAR )

{(ORACLE,97), (MYSQL,98), (SQL SERVER 7,99)}

{(ACCESS, 00)}

{(INFORMIX,01), (SYSBASE,02)}

{(PARADOX,02)}

{ (ORACLE,99), (SYSBASE,00), (ACCESS,01) }

YEAR

97

98

99

00

Page 14: NORMALISASI

FIRST-NF (1NF)

MID MNAMA

M001 John

M002 Smith

M003 Willy

M004 Jansen

M005 Soen

Teknik kedua untuk merubah relasi dari Non 1st NF ke 1st NF yaitu Expand key dari pada relasi Non 1st NF, hingga terdapat tupple-tupple yang terpisah untuk multivalues attr nya, yang akan menjadi PK adalah attr kombinasi (yaitu : MID, JOIN_DB)

MID MNAMA JOIN_DB

M001 John ORACLE

M001 John MYSQL

M001 John SQL SERVER 7

M002 Smith ACCESS

M003 Willy INFORMIX

M003 Willy SYSBASE

… … …

IDCARD_NO

001.J

001.J

001.J

003.W

003.W

002.S

IDCARD_NO

001.J

002.S

003.W

004.J

005.S

JOIN_DB ( D_BASE, YEAR )

{(ORACLE,97), (MYSQL,98), (SQL SERVER 7,99)}

{(ACCESS, 00)}

{(INFORMIX,01), (SYSBASE,02)}

{(PARADOX,02)}

{ (ORACLE,99), (SYSBASE,00), (ACCESS,01) }

YEAR

97

98

99

00

01

02

Page 15: NORMALISASI

FIRST-NF (1NF)

MID MNAMA JOIN_DB

M001 John ORACLE, MYSQL, SQL SERVER 7

M002 Smith ACCESS

M003 Willy INFORMIX, SYSBASE

M004 Jansen PARADOX

M005 Soen ORACLE, SYSBASE, ACCESS

Teknik ketiga untuk merubah relasi dari Non 1st NF ke 1st NF yaitu hanya bisa dilakukan jika multivalue attr nya diketahui jumlah maximum yang bisa terjadi (misalnya seorang hanya bisa JOIN DB sebanyak 3 DB, maka attr JOIN_DB dipisah jadi 3)

IDCARD_NO

001.J

002.S

003.W

004.J

005.S

MID MNAMA JOIN_DB1

M001 John ORACLEM002 Smith ACCESS

M003 Willy INFORMIXM004 Jansen PARADOX

M005 Soen ORACLE

IDCARD_NO

001.J

002.S

003.W

004.J

005.S

JOIN_DB2

MYSQL

SYSBASE

SYSBASE

JOIN_DB3

SQL SERV 7

ACCESS

Page 16: NORMALISASI

SECOND-NF (2NF)

A relational table is in second normal form 2NF if it is in 1NF and every non-key column is fully dependent upon the primary key.

MID MNAMA JOIN_DB

M001 John ORACLE

M001 John MYSQL

M001 John SQL SERVER 7

M002 Smith ACCESS

M003 Willy INFORMIXM003 Willy SYSBASE

… … …

IDCARD_NO

001.J

001.J

001.J

003.W

003.W

002.S

MID, JOIN_DB =PRIMARY KEY

{MID, JOIN_DB} MNAMA, IDCARD_NOMerupakan Partial Dependent, bukan Fully Dependent, karena jika Attribut JOIN_DB dihilangkan, tidak menjadi masalah karena berlaku :MID MNAMA, IDCARD_NO

YEAR

97

98

99

00

01

02

Page 17: NORMALISASI

SECOND-NF (2NF)

A relational table is in second normal form 2NF if it is in 1NF and every non-key column is fully dependent upon the primary key.

MID MNAMA JOIN_DB

M001 John ORACLE

M001 John MYSQL

M001 John SQL SERVER 7

M002 Smith ACCESS

M003 Willy INFORMIX

M003 Willy SYSBASE

… … …

IDCARD_NO

001.J

001.J

001.J

003.W

003.W

002.S

MID MNAMA, IDCARD_NO

{MID, JOIN_DB} YEAR

YEAR

97

98

99

00

01

02

MID MNAMA

M001 John

M002 Smith

M003 Willy

… …

IDCARD_NO

001.J

003.W

002.S

JOIN_DB

ORACLE

MYSQL

SQL SERVER 7

ACCESS

INFORMIX

SYSBASE

YEAR

97

98

99

00

01

02

MID

M001

M001

M001

M002

M003

M003

Page 18: NORMALISASI

THIRD-NF (3NF)

3NF requires that all columns in a relational table are dependent only upon the primary key, in other words, all nonkey attributes are functionally dependent only upon the primary key.

MID MNAMA

M001 John

M002 Smith

M003 Willy

… …

IDCARD_NO

001.J

003.W

002.S

JOIN_DB

ORACLE

MYSQL

SQL SERVER 7

ACCESS

INFORMIX

SYSBASE

YEAR

97

98

99

00

01

02

MID

M001

M001

M001

M002

M003

M003

IDCARD_NO MNAMA

MID

MNAMA

M001

John

M002

Smith

M003

Willy

IDCARD_NO

001.J

003.W

002.S

IDCARD_NO

001.J

003.W

002.S

Page 19: NORMALISASI

No Siswa Nama Tgl Lahir ID Buku Nama Buku Lama Grade

71521 Andy 12/05/87 MAT222ENM220SJH211

MatematikEkonomiSejarah

332

BAB

71300 Leni 04/04/82 SJH211 Sejarah 2 A

71425 Sita 01/11/85 ING202MAT222

InggrisMatematika

23

CB

71230 Yodhi 06/01/87 MAT222ING202

MatematikaInggris

32

BC

Normalisasikan Data Di bawah ini !

Page 20: NORMALISASI

Setelah di-Normalisasi akan mendapatkan berapa table ?

Page 21: NORMALISASI

Study Kasus

Buat relasi-relasi 3NF untuk atribut berikut untuk database riwayat pendidikan informal pegawai:– NoPeg, Nama, Alamat, Kota, KodePos,

Kecamatan, TglPdk1, KdPdk1, NamaPdk1, NilaiPdk1, TglPdk2, KdPdk2, NamaPdk2, NilaiPdk2, TglPdk3, KdPdk3, NamaPdk3, NilaiPdk3