aps10 Normalisasi
-
Upload
rokidarda14 -
Category
Documents
-
view
217 -
download
0
Transcript of aps10 Normalisasi
-
7/24/2019 aps10 Normalisasi
1/11
Unit 10
Normalisasi
Kasus Pembuka
Perhatikan dialog antara Ketua Jurusan dengan Database
Manajer yang baru menduduki jabatanya seminggu lalu.
Ketua Jurusan : .. Kenapa IP mahasiswa yang terantum
dalam transkrip akademik tidak terkoreksi seara
otomatis! pada hal pegawai telah memeasukan
perubahan nilai yang baru diterima dari dosen! ."
Database Manajer : .. #" ok pak nanti saya periksa .
$sisten Data Manajer berbisik kepada Data Manajer : .
IP nya belum di update pak
Data Manajer : %o IP kan berasal dari nilai! nilai kan sudah
diubah &"
$sisten Data Manajer : 'ilai memang sudah tapi IP kan
belum
Data Manajer : (ekarang kamu update itu IP
$sistem Data Manajer : (aya tak bisa pak! itu dulu
dikerjakan sendiri oleh Pak $nu .. Data manajer yang
lalu
Pertanyaan Diskusi:Permasalahan apakah yang terdapat pada database akademis
diatas#
Pengantar
Sebagaimana sudah dibicarakan sebelumnya strutur tabel dapat
menimbulkan masalah dalam mengambil dan mengperbarui data; sebagai
contoh kalau kita harus mengupdate banyak record hanya untuk merobah
data yang persis sama misalnya Supplier X pindah alamat. Alamat suplier
terdapat pada banyak record maka kita harus mengupdate kesemuanya.Jika kita telah merancang tabel sedemikian rupa masalah ini akan
sendirinya hilang.
Selain menggunakan entity modelling tabel-tabel normal dapat diperoleh
melalui normalisasi. Normalisasi adalah proses untuk mengubah struktur
tabel dari pandangan user menadi tabel dengan struktur yang diingini
sehingga! tidak ada atribute yang mempunyai nilai ganda "atau repeating
groups#! dalam keadaan $ull determinacy dan tidak menyimpan data yang
dapat dihitung dari data lain
%%
-
7/24/2019 aps10 Normalisasi
2/11
Identifier dan Determinan
Identifier
&denti$ier adalah sebuah atribut atau gabungan atribut yang dapat menadi identi$ikasi unik
setiap occurancesuatu entiti. Setiap entiti memerlukan identi$ier! sehingga kalau tidak ada
calon identi$ier yang memuaskan maka kita hendaknya merancang kode yang akan menadi
identi$ier entiti tersebut.
Semua atribut atau kelompok atribut yang unik sebagai identitas suatu
entiti disebut sebagai calon identi$ier. Untuk memilih calon identi$ier
sebagi identi$ier perlu dipenuhi kriteria! identi$ier tersebut tidak boleh
kosong! identi$er harus selalu berisi. Alasan tidak bolehnya entiti
identi$ier bernilai kosong! karena nilai kosong mengandung banyak arti!apakah ini berarti tidak diketahui! atau sama dengan nol atau hanya
karena kita lupa mengsikan nilainya.
'riteria lain dalam pemilihan identi$ier adalah minimal su))iieny.
(engan kembali menggunakan contoh entiti )ahasis*a nomor buku
popok merupakan identi$ier karena dia unik! akan tetapi gabungan dari
nomor mahasis*a! nama mahasis*a! dan alamat! uga unik untuk entiti
mahasis*a! sehingga gabungan atribut tersebut dikatakan su$$icien!
tetapi tidak minimal! karena dengan dibuangnya dua atribut lainnya!nama dan alamat keunikannya masih dapat dipertahankan. Jika nama
saa diadikan identi$ier! tidak memenuhi persyaratan su$$icient karena
tidak unik. 'elompok atribut yang yang memenuhi kreteria minimal
su$$iency disebut sebagai Non redundant identi$ier. Nomor mahasis*a
sendiri bukanlah identi$ier asli! tetapi adalah atribut yang sengaa dibuat!
karena tidak adanya atrubut tunggal yang bersi$at unik.
Determinant
(eterminant adalah atribut atau kelompok atribut yang menentukan nilai
atributlain. (engan kata lain ika kita menemukan nilai dari atribut A
selalu muncul berpasangan dengan nilai atribut +. )aka Nilai atribut +
ditentukan oleh atribut A! maka A adalah determinan dari +! dan nilai
atribut + ditentukan oleh nilai atribut A.
,ontoh
)enggunakan contoh table (osen diatas! setiap kita menemukan N&
11//// maka Nama dari (osen yang bersangkutan adalah Amsal
%
-
7/24/2019 aps10 Normalisasi
3/11
(unid! maka N& adalah determinant dari Nama (osen. Selanutnya
setiap kita menemukan Nomor'ode)' 0001 maka selalu diikuti nama
mata kuliah Akuntansi! disini Nomor'ode)' adalah determinan dari
Nama)'.
Akan tetapi setiap kita menemui nama dosen Amsal (unid belum tentu kita uga akan
menemukan N& 11////! karena mungkin saa ada dosen yang mempunyai nama yang sama!
sedangkan N& tidak mungkin sama karena orang yang berbeda akan diberi N& yang berbeda
pula. )aka Nama bukanlah determinant dari N&.
(eterminant setiap tabel database harus selalu $ulldetermiann! ika tidak
akan menyebabkan anomali.
Full Determinant. Yaitu bila nilai dari setiap atribut hanya ditentukan oleh determinannyasecara penuh dan langsung. Seperti contoh diatas nama secara penuh dan langsungditentukan oleh NIP maka ini merupakan full determinant, yang secara grafik dapatditunjukkan sebagai berikut.
A +
N& secara langsung menentukan Nama (osen! dan pada entiti
matakuliah Nomor'ode)' langsung menentukan Nama matakuliah.
Transitive DeterminantBila terdapat nilai suatu atribut yang tidak secara langsung ditentukanoleh determinan, tetapi ditentukan oleh atribut lain yang nilainya direntukan olehdeterminan maka ini maka ini disebut transitie determinant
,ontoh
Jika atribut A menentukan nilai dari atribut + dan selanutnya +
nenentukan atribut ,! maka A secara tidak langsung menentukan nilai
atribut ,. Secara gra$is akan terlihat sebagai berikut.
A + ,
A dikatakan sebagai transiti2e determinant dari ,. Untuk menormalisir
suatu entiti transiti2e determinant harus dihilangkan. Sehingggambarnya akan menadi.
A +
+ ,
,ontoh
'ita misalkan ada dua buah entiti yaitu entiti roek dan 3ntiti ega*ai.
Atribut dari masing-masing entiti adalah sebagai berikut.3ntiti4 roect 3ntiti4 ega*ai
0
-
7/24/2019 aps10 Normalisasi
4/11
Atribut4 Atribut4
55 Nomor,ode roect 55 N
Nama roect Nama
6gl )ulai 6gl 7ahit
6gl (iharapkan Selesai 6gl )asuk5 N)anaer 5Nomor,ode(ep
Nama )anaer dst
Nomorcode(ep)anaer
dst
55 8 &denti$ier
5 8 9oreign &tenti$ier
(engan menganalisa contoh diatas! diketahui bah*a Nomor,ode
roect menentukan nama proect! tgl mulai! tgl diharapkan selesai!Nmanaer! Nama )anager! Nomorcode (ep )anaer. 6etapi Nama
)anaer dan Nomorcode (ep )anaer uga ditentukan oleh
N)anaer. Jelas ini merupakan penyimpanan data yang tupang tindih!
yang tentu harus dihindarkan dalam perancangan database.
Partial Determinant !ika calon identifier mempunyai banyak atribut "composite atribut#sedangkan atribut lainnya hanya ditentukan oleh sebagian dari atribut pada calon identifiertersebut, maka disini kita mengalami masalah yang dikenal denganpartial determinancy.$asalah
ini harus dihindarkan.
)isalnya seperti gambar diba*ah ini! A dan + adalah merupakan
determinant bersama dari ,. Sedangkan A sendiri menentukan nilai dari
(.
A (
,
+
)asalah ini harus diatasi cara berikut
A
1
-
7/24/2019 aps10 Normalisasi
5/11
, A (
+
,ontoh dalam bentuk table dari partial determinant adalah4
Nomor ersediaan pada $ile persediaan terdiri dari dua komponen yangterdiri dari 'elompok persediaan dan nomor barang. &ni berarti nomor
barang dapat berulang kali! tetapi untuk kelompok persediaan yang
berbeda. 7ihat table berikut
'elompok Nomorbarang 'etNomor+rg 'eterangan 'elompok
"A# "+# ",# "(#
A 100 akaian Anak 'atun
A :00 akaian emaa 'atun
+ 100 akaian
-
7/24/2019 aps10 Normalisasi
6/11
3mpat langkah normalisasi tersebut adalah ;
7angkah 14 >ilangkan repeating groups
7angkah :4 >ilangkan transiti2e detrminancy
7angkah 4 >ilangkan partial determinancy7angkah /4 >ilangkan ?irtual 9ields
Setelah repeating group dihilangkan diperoleh 1N9 atau :N9 atau N9
bahkan sudah dapat langsung ke bentuk =ptimal N9! demikian uga
dengan langkah : dan ! sehingga tidak semua langkah ini harus dilalui
untuk sampai pada =ptimal N9
Jika kita merancang database menggunakan model entiti dengan penuh
sebenarnya tabel-tabel database yang kita hasilkan secara otomatis sudah
akan berada pada bentuk normal ketiga.
Menghilangkan Repeating Groups
+erdasarkan 7aporan peminaman buku perpustakaan dirancang entiti
beserta atributnya seperti termuat dalam da$tar diba*ah ini.3ntiti4inaman+ukuerpustakaan
6abel tidak normal
6abel bentuk normal pertama
>ilangkan repeating group
6abel bentuk normal kedua
6abel bentuk normal ketiga
6abel bentuk normal keempat
>ilangkan partial dependency
>ilangkan transiti2e dependency
>ilangkan 2irtual data
@ambar No. 11.1
-
7/24/2019 aps10 Normalisasi
7/11
Atribut4
55 NomorAnggota
Nama
Alamat
Jenis55 Nomorbuku
katalog
Judul
enerbit
halaman
6glpinaman
6gl'embali
Jumlah dipinam
(isini terlihat pengulangan data anggotan yang tidak perlu "redundan#!
untuk menghindari pengulangan ini kita pisahkan anggota menadi
tersendiri
(engan atribut masing-masing sebagai berikut4
3ntiti 4 Anggota
Atribut 4
55 NomorAnggota
Nama
Alamat
Jenis
Jumlahpinaman
(an pinaman buku beserta atributnya menadi sbb.
3ntiti4 inaman+ukuerpustakaan
Atribut4
55 NomorAnggota
55 Nomorbuku
'atalog
Judul
enerbit >alaman
6glpinam
6gl'embali
6abel ni berada pada 1N9
Menghilang partial dependency
Jika kita perhatikan da$tar atribut diatas tidaklah semua atributesepenuhnya ditentukan oleh identi$ier NomorbukuNomoranggota. Nomor
/
-
7/24/2019 aps10 Normalisasi
8/11
katalog !Judul buku! penerbit! umlah halaman tidak ditentukan secara
langsung oleh Nomoranggota. 6api ditentukan oleh Nomor buku! sekarang
katalog kita keluarkan menadi entiti tersendiri Sehingga kita punya tiga
entiti dengan atribut maing-masing seperti berikut
3ntiti 4 AnggotaAtribut 4
55 NomorAnggota
Nama
Alamat
Jenis
Jumlah pinaman
3ntiti 4 katalog
Atribut
5 'atalog Judul
enerbit
>alaman
(an pinaman buku beserta atributnya menadi sbb.
3ntiti4 inaman+ukuerpustakaan
Atribut4
55 NomorAnggota
55 Nomorbuku
'atalog
6glpinam
6gl'embali
6abel ni berada pada :N9
Menghilangkan transitive determinancey (dependency)
Nomoranggota menentukan nomor buku dan nomor buku menentuka
nomorkatalog! nomorkatalog secara tidak langsung ditentukan oleh nomor
anggota. &ni uga diatasi dengan memisahkan entiti buku sehingga kita
sekarang memiliki / entiti dengan aatribut masing-masingnya sebagai
berikut.
3ntiti 4 Anggota
Atribut 4
55 NomorAnggota
Nama
Alamat
JenisJumlah pinaman
B
-
7/24/2019 aps10 Normalisasi
9/11
3ntiti 4 katalog
Atribut
5 'atalog
Judul enerbit
>alaman
3ntiti 4 +uku
5 Nomorbuku
'atalog
(an pinaman buku beserta atributnya menadi sbb.
3ntiti4 inaman+ukuerpustakaan
Atribut4
55 NomorAnggota
55 Nomorbuku
6glpinam
6gl'embali
6abel ini berada pada N9
,oba perhatikan dengan saksama! bah*a hanya tanggal peminaman dan
tanggal pengembalian yang rele2an dengan NomorbukuNomoranggota
ini! kedua tanggal ini memang secara langsung ditentukan oleh
Nomoranggota dan Nomorbuku. Sehingga tabel ini memenuhi syarat $ull
determinancy dan tidak ada repeatinggroup. secara traditional dikatakan
bah*a table ini sudah berada pada N9.
'arena pada kenyataannya tidak banyak bedanya antara transiti2e
determinancy dan partial determinancy! maka orang sering langsung saapada N9. Caitu apabila semua table sudah berada pada $ull determinancy.
Menghilangkan irtual !ields ("P#IM$% &N!#
?irtual $ield adalah sesuatu yang rele2an dengan suatu entiti! akan tetapi
nilainya dapat ditentukan atau dihitung melalui atribut lain! sehingga tidak
harus disimpan secara tersendiri. Sebagai misal! perhatikan entiti anggota
umlah buku yang dipinam "umlah pinaman#! umlah buku yang
dipinam dapat dihitung dari buku yang dipinam untuk masing-masinganggota.
D
-
7/24/2019 aps10 Normalisasi
10/11
Secara tradisional dikatakan bah*a suatu entiti akan berada pada =ptimal
N9 apabila tidak ada lagi 2irtual atribut. 6abel entiti anggota akan berada
dalam bentuk optimal N9 bila memiliki atribut4
3ntiti 4 AnggotaAtribut 4
55 Nomoranggota
Nama
alamat
enis
(alam praktek 2irtual $ields mungkin dipertahankan Suatu alasan untuk
mempertahankan 2irtual $ieds adalah pertimbangan e$$esiency dan
e$$ecti2itas dalam menghitung nilai dari atribut tersebut! terutama kalaudata yang ada pada 2irtual $ield "atribut# tersebut bersi$at permanet artinya
tida akan mengalami perubahan dikemudian hari. )isal untuk
memudahkan mengetahui umlah total harga dalam masing-masing $aktur
disimpan pada tabel $aktur sungguhpun umlah ini dapat dihitung dari
pengalian harga per unit dengan kuantiti yang ada pada tabel rincian
$aktur. 'asus ini berbeda dengan contoh diatas umlah pinaman akan
berubah terus sedangkan total harga pada $aktur tidak akan pernah
berubah.
Pertanyaan 'langan
1. Jelaskan pengertian normalisasi E
:. Sebutkanlah langkah-langkah normalisasi secara umumE
. +agaimana langkah normalisasi E
/. +uatlah contoh menghilangkan repeating groups E
B. +uatlah contoh memastikan $ull determinancyE
D. +uatlah contoh 2irtual $ields "optimal n$# F
Pertanyaan iskusiKasus
erlaari tabel rekening bank berikut
,abang No
ekening
Nasabah Jenis
ekening
Saldo 'epala
,abang
A 1111 AA 6 100 Ali
A :::: ++ ( :00 Ali
+ AA 6 1B0 +udi, //// ,, @ B0 Ali
G
-
7/24/2019 aps10 Normalisasi
11/11
'asir 6gl No ekening (' Jumlah
111 1-1-:001 1111 ' :00
111 1-1-:001 :::: ' :00
::: :-1-:001 1111 ( 100
(iskusikan 4
1. (ari mana datang angka saldo E
:. Sempurnakan tabel diatas dengan memecah menadi berapa tabel sehingga
semua tabel adi normal
. (engan menggunakan pendekatan entity modeling identi$ikasi entiti yang
rele2an buat 3- )odel! ubah adi )odel rancangan isik (atabase dan
kembangkan tabel
/. Apakah dihasilkan tabel-tabel yang sama antara pendekatan : dan ! danmanakah dari kedua pendekatan tersebut yang lebih baik E
B. Apakah atribut saldo saudara pertahankanE Apa alasanya E
%