normalisasi data

9
Normalisasi Adalah proses yang berkaitan dengan model data relational untuk mengorganisasikan himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah himpunan-himpunan data (table- table) dalam bentuk normal (normal form). Kegunaan normalisasi : a. Meminimasi pengulangan informasi. b. Memudahkan indentifikasi entiti / obyek. Normalisasi menghindari anomali, yaitu kejanggalan yang dapat terjadi (inkonsistensi) bila dilakukan: Penambahan baris (atau record) Modifikasi isi atribut Menghapus baris Contoh: Daftar Produk Nama Produk Warna Harga Nama Pemesan BMW318i Merah 100.000.000 Amir BMW318i Kuning 100.000.000 Badu BMW318i Hijau 100.000.000 Ali BMW3201 Merah 120.000.000 Hasan Untuk memasukkan model baru, maka record harus diciptakan dengan Nama Pemesan yang masih kosong. Daftar Produk Nama Produk Warna Harga Nama Pemesan BMW318i Merah 100.000.000 Amir BMW318i Kuning 100.000.000 Badu BMW318i Hijau 100.000.000 Ali BMW3201 Merah 120.000.000 Hasan BMW323i Kuning 300.000.000 Jika baris dengan nama pemesan Hasan dihapus, maka otomatis informasi tentang BMW320i juga ikut terhapus.

Upload: irfan-irawan-cbn

Post on 15-Jun-2015

1.415 views

Category:

Documents


2 download

DESCRIPTION

Normalisasi Data pada Struktur Database

TRANSCRIPT

Page 1: Normalisasi Data

Normalisasi

Adalah proses yang berkaitan dengan model data relational untuk mengorganisasikan himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat.

Hasil dari proses normalisasi adalah himpunan-himpunan data (table-table) dalam bentuk normal (normal form).

Kegunaan normalisasi : a. Meminimasi pengulangan informasi. b. Memudahkan indentifikasi entiti / obyek.

Normalisasi menghindari anomali, yaitu kejanggalan yang dapat terjadi (inkonsistensi) bila dilakukan:

Penambahan baris (atau record) Modifikasi isi atribut Menghapus baris

Contoh: Daftar Produk

Nama Produk Warna Harga Nama Pemesan

BMW318i Merah 100.000.000 Amir

BMW318i Kuning 100.000.000 Badu

BMW318i Hijau 100.000.000 Ali

BMW3201 Merah 120.000.000 Hasan

Untuk memasukkan model baru, maka record harus diciptakan dengan Nama Pemesan yang masih kosong.

Daftar Produk Nama Produk Warna Harga Nama Pemesan

BMW318i Merah 100.000.000 Amir

BMW318i Kuning 100.000.000 Badu

BMW318i Hijau 100.000.000 Ali

BMW3201 Merah 120.000.000 Hasan

BMW323i Kuning 300.000.000

Jika baris dengan nama pemesan Hasan dihapus, maka otomatis informasi tentang BMW320i juga ikut terhapus.

Page 2: Normalisasi Data

Contoh anomali pada modifikasi:

Daftar Karyawan Nama Jabatan Divisi Nama Manajer

Gunawan staff Pemasaran Juwita

Mustafa staff Akunting Reynold

Nur Afni sekretaris Umum Bahruddin

Budiman staff Pemasaran Juwita

Rudy staff Pemsaran Juwita

Anomali terjadi bila Manajer diganti, misalnya “Juwita” diganti dengan “Yanto”. Maka semua baris yang berisi “Juwita” harus diganti dengan “Yanto”.

Untuk menghindari anomali, umumnya dilakukan dekomposisi dari kumpulan atribut, dipecah hingga menjadi beberapa tabel baru.

Contoh sebuah relasi:

atribut

A1 A2 A3 A4

Baris

Struktur SEBUAH RELASI Properti: sebuah relasi terdiri atas sebuah tabel 2-dimensi dengan kolom (atribut) dan baris (record).

KOLOM

Disebut juga atribut, merepresentasikan Field pada Tabel Setiap kolom mempunyai nama yang unique (tunggal) Kolom berisi nilai yang homogen, artinya mempunyai tipe yang sama Setiap kolom mempunyai Domain, yaitu nilai yang konsisten (nilai yang berlaku untuk Field tersebut)

Kolom tidak perlu tersusun BARIS (row)

Disebut juga record, merepresentasikan tupel (tuple) pada Tabel Dalam tabel tidak boleh terdapat baris yang sama isinya Baris-baris tidak perlu tersusun

Page 3: Normalisasi Data

Dependensi (ketergantungan) Dependensi menjelaskan hubungan antara atribut, atau khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya.

Dependensi menjadi acuan bagi pendekomposisian data ke dalam bentuk yang paling efisien.

Dependensi Fungsional Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika dan hanya jika nilai X berhubungan dengan sebuah nilai Y.

Pada sebuah relasi R(X,Y) atribut Y tergantung secara fungsional atas atribut X,

bila setiap nilai yang berlaku pada Y dapat ditentukan oleh X. (simbol adalah X Y)

Notasi : X Y

(dibaca “X secara fungsional menentukan Y” atau dibaca “ X panah Y”)

Cth:

PESANAN_JUAL(PEMBELI, KOTA, BARANG, JUMLAH) PEMBELI KOTA BARANG JUMLAH

P1 Yogya B1 10

P1 Yogya B2 5

P2 Solo B1 7

P2 Solo B2 6

P3 Klaten B3 7

P3 Klaten B4 6

PEMBELI secara fungsional menentukan KOTA, sebab terlihat bahwa untuk PEMBELI

yang sama, KOTA-nya juga sama. Dengan demikian:

PEMBELI KOTA

- Bagian di sebelah kiri panah disebut penentu (determinan). Bagian di kanan

panah disebut yang tergantung (dependen)

KETERGANTUNGAN FUNGSIONAL PENUH Sebuah relasi R(A,B,X) , dimana X tergantung fungsional pada A B.

A B X

X dinyatakan tergantung fungsional penuh (fully functional dependent) bila,

Tidak terjadi A X atau B X

Melainkan hanya: A B X

X dinyatakan tergantung fungsional penuh (fully functional dependent) pada sekelompok atribut Y, bila X tergantung fungsional pada seluruh atribut Y dan bukan subset dari Y.

Page 4: Normalisasi Data

Beberapa bentuk normal, yaitu : a. Bentuk Normal I (First Normal Form / 1-NF). b. Bentuk Normal II (Second Normal Form / 2-NF). c. Bentuk Normal III (Third Normal Form / 3-NF). d. Bentuk Normal IV (Fourth Normal Form / 4-NF).

a. Bentuk Normal I (First Normal Form / 1-NF).

Suatu relasi memenuhi 1-NF jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dalam satu baris atau record.

Cara: - Buat Un-Normalized Form (bentuk tidak normal) dengan

mengidentifikasi seluruh item data. - Tentukan primary key dari relasi tersebut. - Tentukan grup berulang (item data atau atribut yang memiliki nilai lebih

dari satu dalam suatu baris data/record). - Tentukan key dari grup berulang. - Coret derived atribut (atribut yang nilainya dapat diabaikan, karena

dihasilkan dari atribut lain) - Pisahkan grup berulang menjadi suatu relasi baru dengan membawa

key atribut dari relasi awal.

b. Bentuk Normal II (Second Normal Form / 2-NF).

Suatu relasi memenuhi 2-NF jika dan hanya jika : a. Memenuhi 1-NF. b. Setiap atribut yang bukan kunci utama tergantung secara fungsional

terhadap semua atribut kunci dan bukan hanya sebagian atribut.

Cara: - Perhatikan relasi yang memiliki key atribut lebih dari 1. - Pisahkan atribut-atribut yang tergantung hanya pada sebagian / salah

satu key bersama dengan key pengidentifikasi atribut tersebut menjadi suatu relasi baru.

c. Bentuk Normal III (Third Normal Form / 3-NF).

Suatu relasi memenuhi bentuk III (3-NF) jika dan hanya jika : a. Relasi tersebut memenuhi 2-NF. b. Setiap atribut bukan kunci tidak tergantung secara fungsional kepada atribut bukan kunci yang lain dalam relasi tersebut.

Cara: - Pisahkan atribut-atribut yang tergantung pada atribut yang bukan key

bersama dengan atribut bukan key tersebut menjadi suatu relasi baru.

Page 5: Normalisasi Data

Normal Form Inti dari normalisasi adalah eliminasi anomali pada saat insert, delete atau

update record.

1NF (First Normal Form) Sebuah tabel berada dalam 1 NF jika tabel tersebut merupakan suatu relasi atau tabel tersebut hanya memiliki nilai tunggal dalam satu baris atau record.

Un-nomal Form

NoInduk

Nama

Kursus

KdKursus Tgl

KdKursus Tgl

KdKursus Tgl

8003 Amir UNIX 02/03/19

98 NT 01/02/19

98 DB2 04/02/19

98

8005 Hasan NT

01/02/1998 UNIX

02/03/1998

8007 Badu NT 01/02/19

98

1NF

NoInduk Nama KdKursus Tgl

8003 Amir UNIX 02/03/1998

8003 Amir NT 01/02/1998

8003 Amir DB2 04/02/1998

8005 Hasan NT 01/02/1998

8005 Hasan UNIX 02/03/1998

8007 Badu NT 01/02/1998

2NF (Second Normal Form) Suatu relasi memenuhi 2 NF jika: a. Memenuhi 1-NF.

b. Setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap

semua atribut kunci dan bukan hanya sebagian atribut.

Pada relasi 1 NF diatas: NoInduk Nama

KdKursus Tgl

NoInduk, KdKursus Nama

Primary Key dalam relasi 1NF di atas adalah NoInduk dan KdKursus

Page 6: Normalisasi Data

Masih terdapat ketergantungan sebagian (partial dependency), karena Nama

tidak sepenuhnya tergantung pada atribut kunci (primary key). Selain itu Tgl

juga hanya tergantung pada sebagian atribut kunci, yaitu hanya tergantung pada KdKursus saja. Sehingga tabel harus didekomposisi.

Cara melakukan dekomposisi:

- Pisahkan atribut-atribut yang tergantung hanya pada sebagian / salah satu

key bersama dengan key pengidentifikasi atribut tersebut menjadi suatu

relasi baru.

NoInduk Nama KdKursus Tgl

8003 Amir UNIX 02/03/1998

8005 Hasan NT 01/02/1998

8007 Badu DB2 04/02/1998

NoInduk KdKursus

8003 UNIX

8003 NT

8003 DB2

8005 NT

8005 UNIX

8007 NT

3NF (Third Normal Form) Sebuah relasi berada dalam 3NF, jika relasi adalah 1NF dan 2NF dan tidak ada

atribut bukan kunci yang tergantung fungsional kepada atribut bukan kunci yang lainnya (dengan kata lain tidak boleh ada ketergantungan transitif).

NoMhs NmMhs NoFak NmFak 1234 Abas F1 Biologi

1456 Samson F2 Teknik

1316 Rida F8 Sastra

1367 Anton F8 Sastra

1245 Mira F1 Biologi

Primary key relasi diatas adalah NoMhs. NoMhs NmMhs

NoMhs NoFak

NoMhs NmFak NoFak NmFak

Page 7: Normalisasi Data

Relasi diatas sudah memenuhi 1NF dan 2NF, tetapi tidak 3NF, karena masih

terdapat atribut bukan kunci yang tergantung pada atribut bukan kunci lainnya

dalam relasi tersebut. (NoFak NmFak). Sehingga perlu dilakukan dekomposisi tabel.

Cara melakukan dekomposisi tabel:

- Pisahkan atribut-atribut yang tergantung pada atribut yang bukan key

bersama dengan atribut bukan key tersebut menjadi suatu relasi baru.

NoMhs NmMhs NoFak NoFak NmFak

1234 Abas F1 F1 Biologi

1456 Samson F2 F2 Teknik 1316 Rida F8 F8 Sastra

1367 Anton F8

1245 Mira F1

LATIHAN !!

NIP Nama Jabatan Keahlian Lama(Thn)

107 Ilham Analis Senior Cobol 6

Oracle 1

109 Rian Analis Yunior Cobol 2 Visual Basic 2

112 Fika Pemrogram Cobol 1

Visual Basic 2 Delphi 2

NIK Nama Alamat Jabatan Gaji KdCab AlmCabang NoTelp

SL21 John White

Jl. Nanas 23

Manager 30000 B5 Jl. Zeta 6 0171-886-1212

SG37 Aan Beach

Jl Sawo 185

Analist 12000 B3 Jl. Beta 3 0141-339-2178

SG14 David Ford

Jl. Kecap 10

Deputy 18000 B3 Jl. Beta 3 0141-339-2179

SA9 Mary Howe

Jl. Salak 96

Assistant 9000 B7 Jl. Alpha 12 01223-67111

SG5 Susan Brand Jl. Melon 6

Manager 30000 B5 Jl. Zeta 6 0171-886-1212

SL41 Julie Lee Jl. Jeruk 87 Assistant 9000 B5 Jl. Zeta 6 0171-886-

Page 8: Normalisasi Data

1212

SG78 Diana Prim

Jl. Jambu 18

Analist 12000 B7 Jl. Alpha 12 01223-67111

NoPelg Nama

No Propert

y Alm

Property TgSewa TgSelesai Biay

a

No Pemili

k

Nm Pemili

k

CR76 Budi PG4 Jl. Aai 7

01/07/1993

31/08/1995 350 CO40 Ewin

PG16 Jl. Huzai 12

01/09/1995

01/09/1996 450 CO93 Durki

CR56 Sirajudin PG4 Jl. Aai 7

01/09/1992

10/06/1993 350 CO40 Ewin

PG36 Jl. Azhar 49

10/10/1993

01/12/1994 375 CO93 Durki

PG16 Jl. Huzai 12

01/01/1995

10/08/1995 450 CO93 Durki

Page 9: Normalisasi Data