8/17/2019 SistemBasisData Pertemuan 6
1/20
Pertemuan 6
NORMALISASI BASIS DATA
8/17/2019 SistemBasisData Pertemuan 6
2/20
Pengertian NormalisasiNormalisasi adalah suatu teknik untuk
mengorganisasikan data menggunakan aturan-aturantertentu ke dalam table-tabel untuk memenuhikebutuhan pemakai di dalam suatu organisasi.
Proses yang terjadi dalam normalisasi yaitu
pengelompokan data elemen menjadi table-table yangmenunjukkan entity dan relasinya. Selanjutnya akandiuji pada beberapa kondisi, apakah ada kesulitan padasaat menambah / insert , menghapus / delete,mengubah / update, dan membaca / retrieve pada
suatu basis data.Bila ada kesulitan pada pengujian tersebut, maka relasi
tersebut dipecahkan menjadi beberapa table lagi,sehingga diperoleh basis data yang optimal.
8/17/2019 SistemBasisData Pertemuan 6
3/20
Pentingnya NormalisasiKarena adanya struktur database yang
kurang bagus ata yang sama tersimpan di beberapa
tempat !"le atau record#
Ketidakmampuan untuk menghasilkanin$ormasi tertentu
%erjadi kehilangan in$ormasi %erjadi adanya redundansi !pengulangan#
atau duplikasi data sehingga memboroskanruang penyimpanan dan menyulitkan saatproses updating data
&danya NULL VALUE
8/17/2019 SistemBasisData Pertemuan 6
4/20
%ujuan Normalisasi %ujuan normalisasi adalah
menyempurnakan struktur table menjadilebih baik
Bentuk normalisasi yang sering digunakanadalah 'st N(, )nd N(, *rd N(, dan B+N(
8/17/2019 SistemBasisData Pertemuan 6
5/20
Taapan Normalisasi
8/17/2019 SistemBasisData Pertemuan 6
6/20
Anomali ! Pen"impanganAnomal" adalah suatu kondisi dimana
terjadi inkonsistensi data pada saatdilakukan proses insert, update, dan delete.
Insertion Anomali # Penyimpangan yang
terjadi akibat operasi insert record/tuplepada sebuah relasi/table.
Update anomal" # pdate anomaly terjadiketika satu atau beberapa data yang bernilai
ganda diperbarui namun tidak semua.Delete anomal" # elete anomaly terjadi
ketika atribut tertentu hilang karenapenghapusan atribut lainnya.
8/17/2019 SistemBasisData Pertemuan 6
7/20
(N+%N& 0P0N0N+1!(#ntuk melakukan normalisasi, harus
bisa menentukan terlebih dahulu$un%tional Dependen%" &$D' atau(etergantungan $ungsional,khususnya dalam melakukandekomposisi rancangan database.
$un%tional Dependen%" &$D' dapat
disimbolkan dengan2& B 2 artinya B memilikiketergantungan dengan &
Berarti & secara $ungsional menentukanB atau B secara $ungsional tergantung
8/17/2019 SistemBasisData Pertemuan 6
8/20
(N+%N& 0P0N0N+1!(#)onto#
(unctional ependency2
N3P Nama
4ata5Kuliah, N3P
NilaiNon (unctional ependency2
4ata5Kuliah N3P
N3P Nilai
8/17/2019 SistemBasisData Pertemuan 6
9/20
N34&S&S 'N(
*st Normal $orm &*N$'4erubah dari bentuk tabel tidak normal
!unnormali+ed table# menjadi bentuknormal !*N$#.
Suatu relasi 3 disebut *st N$ jika danhanya jika kondisi tablenya dariunnormali+ed dirubah ke bentuk normal dengan kondisi semua attribute alue-nyaharus atomi% !tidak boleh ada attributeyang %omposit ! multi,alue#
8/17/2019 SistemBasisData Pertemuan 6
10/20
8/17/2019 SistemBasisData Pertemuan 6
11/20
%abel dalam bentuk normal 'N(, jika :
Suatu tabel dikatakan berada pada bentuknormal I jika ia tidak berada pada bentukunnormali+ed table, dimana terjadi
penggandaan "eld yang sejenis danmemungkinkan ada "eld yang null !kosong#
SISWA
SIM
8/17/2019 SistemBasisData Pertemuan 6
12/20
N34&S&S )N(
.st Normal $orm &.N$'Normalisasi .N$2 jika tabel berada dalam
bentuk Normal Pertama !*N$# dan setiap
atribut /ukan kun%i /ergantung penu pada kun%i primer.
Sehingga tidak ada atribut bukan kunciyang bergantung pada sebagian !parsial#
kunci primer.
8/17/2019 SistemBasisData Pertemuan 6
13/20
Syarat )st Normal (orm !)N(#
S"arat .st Normal $orm&.N$'#
4emenuhi kriteria tabel Normal I !*N$#
i dalam tabel tersebut tidak adaRedundansi / Pengulangan data danNull Value.
(ield-"eld yang /ukan P( adalah $ullDependent !bergantung penuh# pada P( .
8/17/2019 SistemBasisData Pertemuan 6
14/20
+ontoh )N(2 Suatu $ormat tabel Normal !*N$# 2
!menghilangkan 3edundansi#
Bentuk Normal !.N$# 2 !ecompose#
8/17/2019 SistemBasisData Pertemuan 6
15/20
lustrasi )N( Suatu $ormat tabel Normal !*N$# 2
!menghilangkan 3edundansi#
Bentuk Normal !.N$# 2 !ecompose#
8/17/2019 SistemBasisData Pertemuan 6
16/20
N34&S&S *N(
0rd Normal $orm &0N$'Suatu relasi 3 disebut normal III !0rd N$# jika berada dalam bentuk normal II !.nd
N$# dan tidak dijumpai adanyaketergantungan transiti1 &Transiti,eDependen%"'.
(e/ergantungan Transiti1 &Transiti,eDependen%"' adalah ketergantungan
$ungsional antara ) !atau lebih# atribut/ukan ke" !kunci#.
8/17/2019 SistemBasisData Pertemuan 6
17/20
Syarat *N(
S"arat 0N$#;arus berada dalam bentuk normal II
!.N$#.Ketergantungan "eld-"eld yang bukan PK
adalah harus secara mutlak &1ull2dependent#. &rtinya arus tidak ada transiti,e dependen%" !ketergantungansecara transiti$#.
8/17/2019 SistemBasisData Pertemuan 6
18/20
+ontoh *N(2
Bentuk Normal ke Dua &.N$' #
%abel di samping sudah masuk dalambentuk Normal ). &kan tetapi kita lihatbah8a "eld Nama dan Nilai adalah$ull2Dependent terhadap NRP yang
bertindak sebagai P( . Berbeda dengan"eld (eterangan di atas yangDependent kepada NRP akan tetapiTidak Mutlak . a lebih dekatketergantungannya dengan "eld Nilai.Karena "eld Nilai Dependent kepada
NRP dan "eld (eterangan Dependent kepada Nilai, maka "eld(eterangan juga dependent kepadaNRP. Ketergantungan yang demikianini yang dinamakan Transiti,e2Dependent !dependent secara
transiti$ atau samar!tidak langsung#.
• Bentuk Normal ke Tiga (3NF) :
8/17/2019 SistemBasisData Pertemuan 6
19/20
Boyce-+odd Normal (orm !B+N(#
Secara praktis, tujuan rancangan database adalahcukup sampai pada *N(. &kan tetapi untuk kasus-kasus tertentu kita bisa mendapatkan rancangan yanglebih baik lagi apabila bisa mencapai ke B+N(.
B+N( ditemukan oleh2 R3$3 Bo"%e dan E3$3 )odd
Suatu relasi 3 dikatakan dalam bentuk B)N$2 jika danhanya jika setiap Atri/ut (un%i !(e"# pada suaturelasi adalah (un%i (andidat !)andidate (e"#.
(un%i (andidat !)andidate (e"# adalah atribut-
atribut dari entitas yang mungkin dapat digunakansebagai kunci !key# atribut.
B)N$ hampir sama dengan 0N$, dengan kata lainsetiap B)N$ adalah 0N$.
8/17/2019 SistemBasisData Pertemuan 6
20/20