ARSIP BULANAN : November 2012

NORMALISASI DATABASE

20 November 2012 20:26:42 Dibaca : 649

NORMALISASI Database

NORMALISASI

Definisi
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.

Tujuan dari normalisasi

 Untuk menghilangkan kerangkapan data
 Untuk mengurangi kompleksitas
 Untuk mempermudah pemodifikasian data

Proses Normalisasi

 Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.

 Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

Normalisasi pada database adalah proses pernormalan suatu database yang disusun agar menghindari terjadinya redudancy (kemubaziran data). Dalam melakukan normalisasi, ada beberapa tahap yang harus dilakukan,

1. Unnormalized

Pada tahap ini, kita mengambil seluruh data yang ada dan diperlukan dalam database itu sendiri. Misalnya pada contoh bon faktur di bawah ini,

Kita ambil data-data yang diperlukan pada database nantinya, sperti * Nama Supplier * Alamat Supplier * No. Telp. * No. Nota * Tanggal Transaksi * Kode Barang * Nama Barang * Harga * Quantity * Total * Subtotal * Pemberi * Penerima

2. Normal Satu

Pada tahap ini, kita bagi seluruh data yang diperlukan menjadi beberapa bagian berdasarkan jenis data tersebut,

Supplier * Nama Supplier * Alamat * No. Telp.

Transaksi * No. Nota * Kode Barang * Tanggal Transaksi * Nama Barang * Harga Barang * Satuan * Quantity * Total * Sub Total

3. Normal Dua

Pada tahap ini, kita bagi berdasarkan jenis dan memberikan primary key pada masing-masing tabel,

Supplier * Kode Supplier * Nama Supplier * Alamat * No. Telp.

Master Barang * Kode Barang * Nama Barang * Harga * Satuan

Transaksi * No. Nota * Tanggal Transaksi * Kode Barang * Nama Barang * Harga * Satuan * Quantity * Pemberi * Penerima

4. Normal Tiga

Pada tahap ini, kita bagi menjadi lebih terperinci untuk menghindari terjadinya redudancy,

Supplier * Tetap

Master Barang * Tetap

Transaksi Dibagi menjadi: Header Transaksi * No. Nota * Tanggal Transaksi * Kode Supplier * Pemberi * Penerimaan

Detail Transaksi * No. Nota * Kode Barang * Quantity

Ketergantungan Fungsional

Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X —> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.

Misal, terdapat skema database Pemasok-barang :
Pemasok (No-pem, Na-pem)

Tabel PEMASOK-BARANG

No-pem Na-pem

P01 Baharu
P02 Sinar
P03 Harapan

Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah :
No-pem —> Na-pem

Ketergantungan Fungsional Penuh
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan)

Contoh :
KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)

No-pem Na-pem No-bar Jumlah

P01 Baharu B01 1000
P01 Baharu B02 1500
P01 Baharu B03 2000
P02 Sinar B03 1000
P03 Harapan B02 2000

Ketergantungan fungsional :
No-pem –> Na-pem
No-bar, No-pem –> Jumlah (Tergantung penuh thd keynya)

Ketergantungan Transitif
Definisi :
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X Y, Y Z , maka X Z )

Contoh :

No-pem Kode-kota Kota No-bar Jumlah
P01 1 Jakarta B01 1000
P01 1 Jakarta B02 1500
P01 1 Jakarta B03 2000
P02 3 Bandung B03 1000
P03 2 Surabaya B02 2000

Ketergantungan fungsional :
No-pem Kode-kota
Kode-kota Kota , maka
No-pem Kota

Bentuk Normal Kesatu (1NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data

Tabel KIRIM-1 (Unnormal)

No-pem Kode-kota Kota No-bar Jumlah

P01 1 Jakarta B01 1000
B02 1500
B03 2000
P02 3 Bandung B03 1000
P03 2 Surabaya B02 2000

Tabel KIRIM-2 (1NF)

No-pem Kode-kota Kota No-bar Jumlah

P01 1 Jakarta B01 1000
P01 1 Jakarta B02 1500
P01 1 Jakarta B03 2000
P02 3 Bandung B03 1000
P03 2 Surabaya B02 2000
Diagram Ketergantungan Fungsional

Kode-kota
No-pem
Kota
Jumlah

No-bar

Bentuk Normal Kedua (2NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya.

Tabel PEMASOK-1 (2NF)

No-pem Kode-kota Kota

P01 1 Jakarta
P02 3 Bandung
P03 2 Surabaya

Bentuk Normal Ketiga (3NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya.

Tabel KIRIM-3 (3NF)

No-pem No-bar Jumlah

P01 B01 1000
P01 B02 1500
P01 B03 2000
P02 B03 1000
P03 B02 2000

Tabel PEMASOK-2 (3NF) Tabel PEMASOK-3 (3NF)

No-pem Kode-kota Kode-kota Kota

P01 1 1 Jakarta
P02 3 2 Surabaya
P03 2 3 Bandung

Normalisasi pada database perkuliahan

Asumsi :
 Seorang mahasiswa dapat mengambil beberapa mata kuliah
 Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa
 Satu mata kuliah hanya diajarkan oleh satu dosen
 Satu dosen dapat mengajar beberapa mata kuliah
 Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu nilai

Tabel MAHASISWA-1 ( Unnormal )

No-Mhs Nama- Mhs Jurusan Kode- MK Nama-MK Kode-Dosen Nama-Dosen Nilai
2683 Welli MI MI350 Manajamen DB B104 Ati A
MI465 Analsis Prc. Sistem B317 Dita B
5432 Bakri Ak. MI350 Manajemen DB B104 Ati C
AKN201 Akuntansi Keuangan D310 Lia B
MKT300 Dasar Pemasaran B212 Lola A

Tabel MAHASISWA-2 ( 1NF )
No-Mhs Nama- Mhs Jurusan Kode-MK Nama-MK Kode-Dosen Nama- Dosen Nilai
2683 Welli MI MI350 Manajamen DB B104 Ati A
2683 Welli MI MI465 Analsis Prc. Sistem B317 Dita B
5432 Bakri Ak. MI350 Manajemen DB B104 Ati C
5432 Bakri Ak. AKN201 Akuntansi Keuangan D310 Lia B
5432 Bakri Ak. MKT300 Dasar Pemasaran B212 Lola A

Diagram Ketergantungan Fungsional

Nama_Mhs

No-Mhs Jurusan

Nilai
Nama-MK

Kode-MK Kode-Dosen

Nama-Dosen

Tabel KULIAH (2NF)
Kode-MK Nama-MK Kode-Dosen Nama-Dosen
MI350 Manajamen DB B104 Ati
MI465 Analsis Prc. Sistem B317 Dita
AKN201 Akuntansi Keuangan D310 Lia
MKT300 Dasar Pemasaran B212 Lola

Tabel MAHASISWA-3 (3NF)
No-Mhs Nama-Mhs Jurusan
2683 Welli MI
5432 Bakri Ak.

Tabel NILAI (3NF)
No-Mhs Kode MK Nilai
2683 MI350 A
2683 MI465 B
5432 MI350 C
5432 AKN201 B
5432 MKT300 A

Tabel MATAKULIAH (3NF)
Kode-MK Nama-MK Kode-Dosen
MI350 Manajamen DB B104
MI465 Analsis Prc. Sistem B317
AKN201 Akuntansi Keuangan D310
MKT300 DasarPemasaran B212

Tabel DOSEN (3NF)
Kode- Dosen Nama-Dosen
B104 Ati
B317 Dita
B310 Lia
B212 Lola