normalisasi...normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel...

18
Normalisasi Yusuf Priyandari @Agustus 2010

Upload: others

Post on 29-Sep-2020

14 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

Normalisasi

Yusuf Priyandari

@Agustus 2010

Page 2: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

2

Tahap Pengembangan Basis Data

Model

pri.and.ari@2010

1

2

3

4 5

6 7

1

Topics discussed

Page 3: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

3

Database Design Methodology

pri.and.ari@2010

Topics discussed

Page 4: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

4

1. Konsep Normalisasi

Normalisasi adalah teknik untuk menghasilkan sekumpulan tabel

dengan properti yang diinginkan sehingga memenuhi kebutuhan

pengguna.

Normalisasi adalah teknik yang dipakai untuk mendukung perancangan

basisdata yang berbentuk model relasional.

Normalisasi seringkali dilakukan sebagai serangkaian pengujian

terhadap sebuah tabel untuk menentukan apakah tabel tersebut

memenuhi atau melanggar aturan-aturan normalisasi atau bentuk

normal (normal form).

Ada beberapa bentuk normal, namun yang paling sering digunakan

adalah bentuk normal kesatu hingga ketiga.

pri.and.ari@2010

Page 5: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

5

2. Redudansi Data & Anomali Update

Tujuan utama perancangan basis data relasional adalah

mengelompokkan kolom-kolom (fields) ke dalam tabel untuk

meminimasi redudansi data dan mengurangi ruang penyimpanan yang

diperlukan.

Perhatikan tabel StaffBranch:

Di dalam tabel StaffBranch terdapat redudansi data:

Detail alamat tiap kantor cabang berulang pada setiap baris staff yang

bekerja di sebuah kantor cabang.

Tabel yang memiliki redudansi memiliki masalah anomali, yang

diklasifikasikan menjadi anomali penyisipan, penghapusan & modifikasi.

Perhatikan tabel Branch dan Staff:

Di dalam tabel Branch, detail alamat kantor cabang hanya sekali tiap baris

data kantor cabang.

Kemudian pada tabel staff, hanya brachNo yang berulang pada tiap baris

staff.

pri.and.ari@2010

Page 6: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

6

Staff

Branch

StaffBranch

pri.and.ari@2010

Page 7: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

7

2. Redudansi Data & Anomali Update

Anomali Penyisipan

Untuk menyisipkan/memasukkan data staff baru yang bekerja di sebuah

kantor cabang, maka harus dimasukkan juga detail kantor cabang tersebut.

Kondisi ini memungkinkan terjadi masalah ketidakkonsistenan dalam

pengisian detail kantor cabang.

Untuk menyisipkan/memasukkan data kantor cabang baru, dimana belum

terdapat data staff, maka pada kolom-kolom yang berkaitan dengan staff

akan diisikan data null (kosong). Apabila StaffNo adalah primary key yang

menjadi pengenal tiap staff, maka kolom ini tentunya tidak boleh null.

Anomali Penghapusan

Apabila di hapus sebuah data staff yang sudah tidak bekerja, maka data

kantor cabang juga ikut terhapus.

Anomali Modifikasi

Apabila dilakukan modifikasi data kantor cabang (misal, alamat) maka akan

ada banyak baris data yang juga harus dimodifikasi (edit).

pri.and.ari@2010

Page 8: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

8

3. Bentuk Normal Pertama (1NF)

pri.and.ari@2010

Page 9: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

9

4. Bentuk Normal Kedua (2NF)

Perhatikan tabel TempStaffAllocation.

Tabel tersebut menampilkan data jam kerja perminggu untuk

tiap tenaga kerja honorer (part time) di setiap cabang.

Terdapat primary key yang disusun oleh dua fields yakni

staffNo dan branchNo. Ini disebut sebagai komposit primary

key yang menjadi pengidentifikasi unik bagi setiap record.

Fields selain itu bertindak sebagai non primary key.

Tabel ini jelas terlihat adanya redudansi data dan

kemungkinan memiliki anomali.

A table that is in first normal form and every non-primary key column is fully functionally dependent on the primary key.

pri.and.ari@2010

Page 10: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

10

4. Bentuk Normal Kedua (2NF)

pri.and.ari@2010

Page 11: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

11

4. Bentuk Normal Kedua (2NF)

Pindahkan

fields non

primary key

yang

bergantung

pada salah

satu field

penyusun

komposit

primary

key.

Biasanya

terdapat

dalam tabel

berelasi *:*

pri.and.ari@2010

Page 12: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

12

5. Bentuk Normal Ketiga (3NF)

Perhatikan tabel StaffAllocation.

Tabel tersebut jelas terlihat adanya redudansi data dan

kemungkinan memiliki anomali.

Tabel tersebut tidak memenuhi 3NF karena adanya fields

branchNo, branchAddress, dan telNo

Field branchAddress dan telNo dapat ditelusur bukan dari

staffNo (sebagai primary key), melainkan dari branchNo (non

primary key).

A table that is in first and second normal forms and in which no non-primary key column is transitively dependent on the primary key.The objective is to remove data in a table that is not dependent on primary key.

pri.and.ari@2010

Page 13: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

13

5. Bentuk Normal Ketiga (3NF)

pri.and.ari@2010

Page 14: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

14

5. Bentuk Normal Ketiga (3NF)

Pindahkan

fields non

primary key

yang dapat

ditelusur

melalui non

primary key

lain.

Biasanya

terdapat

dalam tabel

berelasi 1:*

pri.and.ari@2010

Page 15: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

15

THE STAYHOME VIDEO RENTALS

Studi Kasus

pri.and.ari@2010

Page 16: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

16

Diskusi

pri.and.ari@2010

Page 17: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi

17

Tugas Mandiri

Baca buku [1] chapter 10

pri.and.ari@2010

Page 18: Normalisasi...Normalisasi seringkali dilakukan sebagai serangkaian pengujian terhadap sebuah tabel untuk menentukan apakah tabel tersebut memenuhi atau melanggar aturan-aturan normalisasi