0% menganggap dokumen ini bermanfaat (0 suara)
286 tayangan32 halaman

Latihan Normalisasi Data

Normalisasi database dilakukan untuk menghilangkan redundansi dan anomali data. Langkah-langkah normalisasi meliputi pembentukan tabel-tabel baru berdasarkan dependensi fungsional untuk mencapai bentuk normal tertentu seperti 1NF, 2NF, 3NF atau BCNF guna menghasilkan basis data yang lebih baik.

Diunggah oleh

Bayuaji
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
286 tayangan32 halaman

Latihan Normalisasi Data

Normalisasi database dilakukan untuk menghilangkan redundansi dan anomali data. Langkah-langkah normalisasi meliputi pembentukan tabel-tabel baru berdasarkan dependensi fungsional untuk mencapai bentuk normal tertentu seperti 1NF, 2NF, 3NF atau BCNF guna menghasilkan basis data yang lebih baik.

Diunggah oleh

Bayuaji
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 32

Normalisasi Database

Pengantar Penyempumaan Skema:


Persoalan yang Ditiml^jJkan oleh Redundansi
Redundansi ruang penyimpanart: beberapa data
disimpan secara berulang
Update anomaly: Jika satu copy data terulang tsb diubah,
inkonsistensi data dpt terjadi kecuali kalau semua copy
dari data tsb diubah dengan cara yang sama Insertion
anomaly: Mungkin dpt terjadi kesulitan utk menyisipkan
data tertentu kecuali kalau beberapa data tidak terkait
lainnya juga ikut disisipkan
Deletion anomaly: Mungkin dpt terjadi kesulitan utk
menghapus data tertentu tanpa harus kehilangan beberapa
data tidak terkait lainnya
Persoalan yang Ditimbulkan oleh
SSN N am e L Ratm W H our
123-22-3666 Attishoo 4 8 10 40
23 1 -3 1 -5 368 Smil ey 28 8 10 30
131-24-3 650 Smethurst 3 5 7 30
434-26-3751 Gul du 3 5 7 32
612-67-4134 Ma day an 3 8 10 40
5
Asumsi: nilai attribut wages ditentukan oleh nUai rating (utk satu nilai
rating yang diberikan, kanya diperbolekkan terdapat satu nilai wages

Redundansi ruang penyimpanan: nilai rating 8 yang


berkorespondensi dg wages 10 diulang tiga kali

Update anomaly: Nilai wages (yg terkait dengan nilai


rating) dim baris pertama dpt aiubah tanpa membuat
perubahan yg sama pada baris kedua dan kelima
Persoalan yang Ditimbulkan oleh
Redundansi: C^itoh (cont’d)
SSN N am e Lot R. atin g W ages Hours
123-22-3666 Atti shoo 48 8 10 40
23 1 -3 1 -5 368 Smiley 22 8 10 30
131-24-3650 Sm ethurst 35 5 7 30
434-26-3751 Guldu 35 5 7 32
612-67-4 134 Madayan 35 8 10 40
Asumsr. nilai attribut usages ditentukan olek nilai rating (utk satu nilai rating yang diberikan,
kanya diperbolekkan terdapat satu nilai usages

• Insertion anomaly: Kesulitan utk menyisipkan employee baru kecuali nilai


wage untuk rating dari employee tsb sudah diketahui

Deletion anomaly: Jika semua baris yang terkait dg nilai rating tertentu
dihapus (misalnya baris utk employee ‘Smethurst’ dan ‘Guldu’ dihapus),
maka kita akan kehilangan informasi ketergantungan antara nilai rating dan
nilai wages yang diasosiasikan dengan nilai rating tsb (yaitu rating = 5 dan
wages = 7)
Penyebab Anomali

Mengapa anomali - anomali ini teijadi ?


Karena menggabungkan dua tema (konsep entitas) dalam
satu relasi. Ini mengakibatkan duplikasi - duplikasi sebagai
akibat dari ketergantungan antar atribut yang tidak pada
tempatnya.
Solusi: Normalisasi
Normalisasi

Normalisasi adalah proses pembentukan struktur basis data


sehingga sebagian besar ambiguity bisa
dihilangkan.
Tahap Normalisasi dimulai dari tahap paling ringan
(1NF) hingga paling ketat (5NF)
Biasanya hanya sampai pada tingkat 3NF atau BCNF karena
sudah cukup memadai untuk menghasilkan tabel- tabel yang
berkualitas baik.
Normalisasi

Sebuah tabel dikatakan baik (efisien) atau normal jika


memenuhi 3 kriteria sbb:
1. Jika ada dekomposisi (penguraian) tabel, maka
dekomposisinya harus dijamin aman (Lossless-Join
Decomposition). Artinya, setelah tabel tersebut diuraikan I
didekomposisi menjadi tabel-tabel baru, tabel-tabel baru
tersebut bisa menghasilkan tabel semula dengan sama
persis.
2. Terpeliharanya ketergantungan fungsional pada saat
perubahan data (Dependency Preservation).
3. Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan
dijelaskan kemudian-)
Normalisasi

Jika kriteria ketiga (BCNF) tidak dapat terpenuhi,


maka paling tidak tabel tersebut tidak melanggar
Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).
Langkah - Langkah Normalisasi

<Hilangkan atribut
bernilai
banyak

Sistem / Teknologi Basis Data


Contoh Tabel Universal
o
Tabel Universal (Universal / Star Table) sebuah tabel yang
merangkum semua kelompok data yang saling
berhubungan, bukan merupakan tabel yang baik.
nrp mhs.nama mhs.alamat kodekul namakul sks kodesem nihuruf dsn.nama dsn.alamat
► 11020001 Abdullah JI. Sinoman 1/11 SP Software 21 A Imam JI. Teknik Komputer
Machrus Mojokerto Perkantoran Kuswardayan 18 Sby
11020002 Achmad Jl.Pangiima SP Software 21 A imam Ji. Teknik Komputer
Fajril Sudirman XII /30 Perkantorari Kuswardayan 18 Sby
11020003 Achmad Geluran RT13 / fe Software 21 E Imam JI. Teknik Komputer
Ridho 03 Sepanjang S Perkantorari Kuswardayan 18 Sby
11020004 Adi Jl.Wonorejo IV/ SP. Software 21 AB Imam Ji. Teknik Komputer
Christanto 46 Surabaya Perkantoran Kuswardayan 18 Sby
11020006 Aloysius Pucangan VII/3 SP Software 21 D Imam JI. Teknik Komputer
Rendy Surabaya Perkantoran Kuswardayan 18 Sby
11020006 Anita Perum Carida SP Software 21 E imam Ji. Teknik Komputer
Rachmawati Bhirawa Asri N -1 Perkantoran Kuswardayan 18 Sby
11020007 Arif Jl.Gubernur SP Software 21 E Imam JI. Teknik Komputer
Fachrudin Suryo No.15 Perkantoran Kuswardayan 18 Sby
11020008 Arohman Kupang Gunung SP Software 21 C imam Ji. Teknik Komputer
Agung Timur IV/24 A Perkantoran Kuswardayan 18 Sby
Functional Dependency
• Notasi: A -> B
A dan B adalah atribut dari sebuah tabel. Berarti secara
fungsional A menentukan B atau B tergantung pada A, jika
dan hanya jika ada 2 baris data dengan nilai A yang sama,
maka nilai B juga sama

• Notasi: A A B atau A x-> B


Adalah kebalikan dari notasi sebelumnya.
Functional Dependency

Contoh tabel nilai

Namakul Nrp
vvvvv-P-.-v
namaMhs NiHuruf
Struktur Data 980001 Ali Akbar A
WvVvWvWvWvVvV
Indah Susanti ■v-v-v-v-v-v-v-v-v-v-v-v

Struktur Data 980004 B


vvvvvvvvvvv-
SAAAAAAAAAAAAAAA

WvVvWvWvWvVvV

Basis Data 980001 Ali Akbar


Budi H ary an toWvWvWvWv

Basis Data 980002 vvvvvvvvv- WVWW/AVAVAWV

Basis Data 980004 Indah Susanti


■vvvvvvvvvvv-

Bahasa Indonesia
\AAAAAAAAAAAAA^
980001 Ali Akbar vvvvv-v-v-v-v--.---.--v
B
Matematika 1
____wwwwwwwwwwww^_______________________________________________
980002 Budi Haryanto C
Functional Dependency
Functional Dependency dari tabel nilai
• Nrp -> namaMhs
Karena untuk setiap nilai nrp yang sama, maka nilai
namaMhs juga sama.
• {Namakul, nrp} -> NiHuruf
Karena attribut Nihuruf tergantung pada Namakul dan nrp secara
bersama-sama. Dalam arti lain untuk Namakul dan nrp yang sama,
maka NiHuruf juga sama, karena Namakul dan nrp merupakan key
(bersifat unik).
• NamaKul -f> nrp
• Nrp NiHuruf
Bentuk-bentuk Normal

Bentuk Normal Tahap Pertama (1st Normal Form /


1NF)
2. Bentuk Normal Tahap Kedua (2nd Normal Form /
2NF)
3. Bentuk Normal Tahap (3rd Normal Form / 3NF)
4. Boyce-Code Normal Form (BCNF)
5. Bentuk Normal Tahap (4th Normal Form / 4NF)
6. Bentuk Normal Tahap (5th Normal Form / 5NF)
Bentuk Normal Tahap Pertama

(1st Normal Form / 1NF)


Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki
atribut bernilai banyak (multivalued attribute), atribut
composite atau kombinasinya dalam domain data yang sama.

Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak


dapat dibagi-bagi lagi)
Contoh 1
Misal data mahasiswa sbb:
Nrp nama Hobi
12020001 Heri Susanto Sepakbola, membaca komik, berenang
WvVvIVvVvWvWvVvWv^ WvWvWvWvWvVvWv

12020013 Si ti Zulaiha Memasak,mrogram komputer


12020015 Dini Susanti
-■/-vv-vv-v-v-.- VWVWWVWWW__________________________
MenjahiLmembuat roti
vwvwwfCwwwwx^wwwwwwwvwwv -vX-WvW___________________________________________________________________________________________________________

Atau:
Nrp nama hobil hobi2 Hobi3
Heri Susanto Sepak Bo La Membaca berenang
12020001 WWWW' wwwvwwvww^ VvYvvkwvW- WWVWVWVWWVWW wwwvwwwww^?

komik
12020013 Siti Zulaiha
www^ wwwvwwww
Memasak
VWWWVWVWWWW^
mrogram wvwvvvwwvvvwv

komputer
12020015 Dini Susanti
WvVvWv WvWvWvWvWv_____________________________________
Menjahit membuat kue W-S-SSSS-________

Tabel-tabel di atas tidak memenuhi syarat 1 NF


Contoh 1
Didekomposisi menjadi
• Tabel Mahasiswa
Nrp Nam a
SAAAAAAAAAAAA

12020001 Heri Susanto


12020013 Siti Zulaiha
■vvv--.--.---.-v WWWWWWW^

12020015 Dini Susanti

Tabel Hobi
Nrp Hobi
1202000 SepakboLa
1202000 membaca kpmik
1
1202000 Berenang
1202001 Memasak
3
1202001 m rogra m komp ute r
3
1202001 Menjahit
5
1202001 membuat rod
5
Contoh 2 (composite)
..............................................O................................................
JadwalKuliah
| Kodekul | NamaKul | Posen | Kelas | Jadwal |

• Dimana nilai pada atribut jadwal berisi gabungan antara


Hari dan Jam.
• Jika asumsi hari dan jam memegang peranan penting
dalam sistem basis data, maka atribut Jadwal perlu dipisah
sehingga menjadi JadwalHari dan JadwalJam sbb:
JadwalKuliah
Kodek NamaKu Dose Kela JadwalHa JadwalJa
ul l n s ri m
Bentuk Normal Tahap Kedua
(2nd Normal Form)

Bentuk normal 2NF terpenuhi dalam sebuah tabel iika telah


memenuhi bentuk 1NF, dan semua atribut selain primary key,
secara utuh memiliki Functional Dependency pada primary key
Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang
ketergantungannya (Functional Dependency) hanya bersitat parsial
saja (hanya tergantung pada sebagian dari primary key)
Jika terdapat atribut yang tidak memiliki ketergantungan terhadap
primary key, maka atribut tersebut harus dipindah atau
dinilangkan
Contoh
.....................O..............
Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
Mhs_n mhs_na mhs_alam mk_kod mk_na mk_s nihuru
rp ma at e ma ks f

Tidak memenuhi 2NF, karena {Mhs_nrp, mk_kode} yang


dianggap sebagai primary key sedangkan:
{Mhs_nrp, mk_kode} £ mhs_nama mhs_alamat
{Mhs_nrp, mk_kode} £ mk_nama mk_sks nihuruf
{Mhs_nrp, mk_kode} £ • Tabel di atas perlu didekomposisi
{Mhs_nrp, mk_kode} menjadi beberapa tabel yang
{Mhs_nrp, mk_kode} -> memenuhi syarat 2NF

Contoh
.....................O...................
Functional dependencynya sbb:

{Mhs_nrp, mk_kode} nihuruf (fd1)


Mhs_nrp -> {mhs_nama, mhs_alamat} (fd2)
Mk_kode -> {mk_nama, mk_sks} (fd3)

fd 1 (mhs nrp, mk kode, nihuruf) Tabel Nilai


fd2 (Mhs nrp, mhs_nama, mhs_alamat) Tabel Mahasiswa
fd3 (mk kode, mk_nama, mk_sks) Tabel
MataKuliah
Bentuk Normal Tahap Ketiga
_______.(ard-NorrnajjQniVsNE)_______________
Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk
2NF, dan jika tidak ada atribut non primary key yang
memiliki ketergantungan terhadap atribut non
primary key yang lainnya.
Untuk setiap Functional Dependency dengan
notasi X A, maka:
• X harus menjadi superkey pada tabel tsb.

• Atau A merupakan bagian dari primary key pada tabel tsb.


Contoh

Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:


Mahasiswa
Nrp Nama Alm_Jala Alm_Kot Alm_Provin Alm_Kodepo
n a si s

> karena masih terdapat atribut non primary key (yakni alm kota dan
alm_Provinsi) yang memiliki ketergantungan terhadap atribut non primary key
yang lain (yakni alm_kodepos):
alm_kodepos -> {alm_Provinsi, alm_kota}
> Sehingga tabel tersebut perlu didekomposisi menjadi:
Mahasiswa (Nrp, nama, almjalan, alm_kodepos) Kodepos (alm
kodepos, alm_provinsi, alm_kota)
Boyce-Code Normal Form
(BCNF)

Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap


functional dependency terhadap setiap atribut atau gabungan
atribut dalam bentuk: X -> Y maka X adalah super key
tabel tersebut harus di-dekomposisi berdasarkan functional
dependency yang ada, sehingga X menjadi super key dari tabel-
tabel hasil dekomposisi
Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap
3NF belum tentu termasuk BCNF. Perbedaannya, untuk
functional dependency X A, BCNF tidak membolehkan A sebagai
bagian dari primary key.
Bentuk Normal Tahap Keempat
(4th Normal Form /4NF)

Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah


memenuhi bentuk BCNF, dan tabel tersebut tidak boleh
memiliki lebih dari sebuah multivalued atribute Untuk setiap
multivalued dependencies (MVD) juga harus merupakan
functional dependencies

Contoh
Misal, tabel berikut tidak memenuhi 4NF:
Employee Project Skill
Jim 11 Progra
Mary 5 m
Design
Mary NULL Analysis

Setiap employee dapat bekerja di lebih dari satu project dan dapat
memiliki lebih dari satu skill. Untuk kasus seperti ini tabel tersebut
harus di-dekomposisi menjadi:
(Employee, Project)
(Employee, Skill)

Bentuk Normal Tahap Keempat

Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah


lossless decomposition menjadi tabel-tabel yg lebih kecil.
Jika 4 bentuk normal sebelumnya dibentuk berdasarkan
functional dependency, 5NF dibentuk berdasarkan konsep join
dependence. Yakni apabila sebuah tabel telah di- dekomposisi
menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi
(join) untuk membentuk tabel semula
Latihan Normalisasi
----------o
----------,
Soal Latil ian (1)
__________
&
NoOrder TglOrder Iteml
Item Item3 Total
2
TR001 10/01/2006 P1 P2 P3 500.000
KodeProyek NamaPegawai Bagian
P001 Adi EDP
TR002 15/02/2006 P3 P5 300.000
P002 Bima HRD
P002 Adi EDP
TR003 18/03/2006 P1 P2
P003 Bima HRD 200.000
P003 bentuk normalisasinya?
Bagaimana Candra Produksi

• Apakah sudah memenuhi bentuk normal pertama


• Bagaimana bentuk normalisasi tabel tersebut?
Soal Latihan(3)
NRP Nama MataKuliah NIP Dosen
510310010 Ali Basis Data 320001123 Ir.X
1
510310010 Sita Basis Data 320001123 Ir.X
2
510310010 Sita RPL 320011133 Ir.Y
2
510310010 Adi Al 320021010 Ir.Z
3

♦ Apakah sudah memenuhi bentuk normal pertama


♦ Bagaimana bentuk normalisasi tabel tersebut?

Anda mungkin juga menyukai