dan Contohnya
Normalisasi database merupakan suatu pendekatan sistematis untuk
dapat bekerja dengan optimal. Jika anda seorang database administrator ketika
terjadi sesuatu pada database seperti penurunan kinerja, mungkin anda akan
redudansi data dan tujuan yang kedua adalah memastikan dependensi data
Jika data dalam database tersebut belum di normalisasi maka akan terjadi 3
terhapus.
yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF, dan 6NF. Namun dalam
prakteknya dalam dunia industri bentuk normalisasi ini yang paling sering
Normal Form
Data yang direkam dan dimasukkan secara mentah dalam suatu tabel pada
N
ormalisasi Database Form (Rudiawan16)
sebuah database, berikut adalah fungsi dari bentuk normal pertama ini.
Ni
rmalisasi Database 1NF (Rudiawan16)
dari manual bon pembelian diatas kita dapat menjadi bentuk normal pertama
Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah
Tidak ada atribut dalam tabel yang secara fungsional bergantung pada
N
ormalisasi Database 2NF (Rudiawan16)
beberapa tabel dan mencari kunci primer dari tiap-tiap tabel tersebut dan
seluruh atribut atau field yang tidak berhubungan dengan primary key. Dengan
demikian tidak ada ketergantungan transitif pada setiap kandidat key. Syarat
Bentuk normal ketiga mempunyai syarat, setiap relasi tidak mempunyai atribut
yang bergantung transitif, harus bergantung penuh pada kunci utama dan harus
N
ormalisasi Database 3NF (Rudiawan16)
memiliki hubungan yang sangat erat dengan bentuk 3NF. Pada dasarnya adalah
untuk menghandle anomali dan overlooping yang tidak dapat di handle dalam
bentuk 3NF. Normalisasi database bentuk ini tergantung dari kasus yang
use pembelian
Membuat table
no_polisi char(10),
warna char(20),
merek char(30),
tahun char(5),
sp_help kendaraan
nama_mekanik varchar(50),
sp_help mekanik
kode_parts char(20),
nama_parts varchar(50),
harga int,
sp_help parts
no_faktur char(10),
tanggal datetime,
no_polisi char(10),
mekanik_id char(5),
potongan int,
primary key (no_faktur),
sp_help bon_pembelian
no_faktur char(10),
kode_parts char(20),
qty int,
harga int,
discount int,
sp_help transaksi_parts
/*jawaban no.3 */
select a.no_faktur,
a.tanggal,a.no_polisi,e.warna,e.merek,e.tahun,a.mekanik_id,d.nama_me
kanik,
b.kode_parts,c.nama_parts,b.qty,b.harga,b.discount,(b.qty*b.harga)-
(b.qty*b.discount) as jumlah,a.potongan,
from bon_pembelian as a
Contoh Normalisasi
0
NPM : 09.57.201.000525
Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ke
tiga :
Query :
Normal Pertama (1 NF)
Dalam relational database tidak diperkenankan adanya repeating
berikut:
pertama jika dan hanya jika setiap setiap atribut dari relasi
kata yang mempunyai arti ganda dan tidak ada set atribut yang
baris berisi kolom jumlah yang sama dan setiap kolom hanya
Berikut perubahannya:
data dibentuk file datar atau rata (flat file), data dibentuk dalam
satu record demi satu record dan nilai-nilai dari field-field berupa
berikut:
Berikut perubahannya:
terjadinya anomali.
jika dan hanya jika relasi tersebut memenuhi normal kedua dan
Berikut perubahannya:
Bentuk normal ketiga (3 NF) ini relasi haruslah dalam bentuk
normal kedua dan semua atribut bukan kunci utama tidak punya
hubungan transitif.
Pada proses perancangan database dapat dimulai dari dokumen dasar yang dipakai
dalam sistem sesuai dengan lingkup sistem yang akan dibuat rancangan databasenya. Berikut ini
adalah contoh dokumen mengenai faktur pembelian barang pada PT. Revanda Jaya.
Sehubungan dengan dokumen dasar tersebut, tahapan yang harus dilakukan untuk
1. Bentuk Unnormalisasi
Langkah pertama dalam melakukan normalisasi data adalah dengan membentuk contoh data
tersebut didtas dengan membentuk unnormalisasi data, dengan cara mencantumkan semua
atribut data yang ada apa adanya seperti terlihat berikut ini :
Gambar 7.2. Relasi faktur unnormalisasiPada relasi diatas adalah dengan menuliskan semua data
yang ada yang akan direkam,
data yang double tidak perlu ditulis. Terlihat baris / record yang tidak lengkap. Sulit dibayangkan
bagaimana bentuk baris yang harus dibentuk untuk merekam data itu.2. Bentuk Normal Pertama (1
NF)
Bentuklah menjadi bentuk normal pertama dengan memisah-misahkan data pada atributatribut
yang tepat dan bernilai atomik, juga seluruh record / baris harus lengkap adanya. Bentuk
relasi adalah flat file. Dengan normal pertama kita dapat membuat satu tabel yang terdiri dari 11
Atribut yaitu _
(No_Faktur, Kode_Supplier, Nama_Supplier, Kode_Barang, Nama_Barang, Tanggal,
Jatuh_Tempo, Qty, Harga, Jumlah, Total ).
Sehingga hasil daripada pembentukan normal pertama (1 NF) adalah sebagai berikut ini :
Pada normal pertama tersebut masih terjadi banyak kelemahan, terutama pada proses
ANOMALI insert, update dan delete berikut ini:
a). Inserting / Penyisipan
Kita tidak dapat memasukkan kode dan nama supplier saja tanpa adanya transaksi
pembelian, sehingga supplier baru bisa dimasukkan kalau ada transaksi pembelian.
b). Deleting / Penghapusan
Bila satu record / baris di atas dihapus, misal nomor faktur 779, maka berakibat pada
penghapusan data supplier S02 (Hitachi) padahal data tersebut masih diperlukan.
c). Updating / Pengubahan
Kode dan nama supplier terlihat ditulis berkali-kali, bila nama supplier berubah, maka di
setiap baris yang ada harus dirubah, bila tidak menjadi tidak konsisten.
Atribut jumlah (merupakan atribut turunan) seharusnya tidak perlu, karena setiap harga
dikali kuantitas akan menghasilkan jumlah, sehingga hasilnya akan menjadi lebih konsisten.
Relasi Barang
Relasi Faktur
Kamus Data dari masing-masing relasi tersebut diatas adalah sebagai berikut:
Supllier = { Kode_Supplier, Nama_Supplier }
Barang = { Kode_Barang, Nama_Barang, Harga }
Faktur = { No Faktur, Kode Barang Kode_Supplier, Tanggal, Jatuh_Tempo, Qty }
Dengan pemecahan relasi di atas, maka untuk pengujian bentuk normal kesatu (1 NF)
yaitu insert, update, dan delete akan terjawab. Kode dan nama supplier baru dapat masuk
kapanpun tanpa adanya transaksi pada tabel faktur. Demikian pula untuk proses update dan
delete untuk tabel Supplier dan Barang.
Pada bentuk normal kedua tersebut masih terjadi permasalahan yaitu pada relasi Faktur,
yaitu :
1). Atribut Quantitas pada relasi Faktur, tidak tergantung pada kunci utama, atribut tersebut
bergantung fungsi pada Kode Barang + no_faktur, hal ini dinamakan ketergatungan transitif
dan haruslah dipilah menjadi dua relasi.
2). Masih terdapat pengulangan, yaitu setiap kali satu faktur yang terdiri dari 5 macam barang
maka 5 kali juga dituliskan no_faktur, tanggal, dan jatuh_tempo. Hal ini harus dipisahkan bila
terjadi penggandaan tulisan berulang-ulang.
Soal
Langlah pertama Unnormalization
Langkah kedua 1NF
Soal
Berikut adalah dokumen dasar berupa kwitansi dari Rumah Sakit yang akan saya coba
normalisasi:
TAHAPAN NORMALISASI UNTUK KWITANSI RS: