NAMA : I Putu Bayu
Septama
NIM :
15101614
KELAS :
N
Normalisasi Pada Database
1. Definisi
normalisasi pada database
NORMALISASI
Normalisasi merupakan teknik analisis
data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan
sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible
Normalisasi dilakukan sebagai uji coba
pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah
baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada
satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi
tersebut.
2. Tujuan dilakukan
normalisasi
Tujuan dari normalisasi
Untuk
menghilangkan kerangkapan data / Redudansi
Untuk
mengurangi kompleksitas
Untuk
mempermudah pemodifikasian data
menghilangkan anomali data
3. Functional
Denpendensy
Functional Denpendensy
(Database Ketergantungan)
Functional Dependency
(FD) ialah suatu ketergantungan relasi yang terjadi antara atribut dlam tabel
atau set entity dengan atribut lain. FD menggambarkan suatu relationship/
hubungan, batasan, keterkaitan diantara atribut dlam relasi.
Contoh : Dalam tabel daftar karakteristik karyawan
termasuk Nomor Jaminan Sosial ( SSN ) dan nama , dapat dikatakan bahwa nama
secara fungsional tergantung pada
SSN ( atau SSN - > nama ) karena nama karyawan dapat
secara unik ditentukan dari SSN mereka .
Namun, pernyataan sebaliknya ( nama - > SSN ) tidak
benar karena lebih dari satu karyawan dapat memiliki nama yang sama tapi SSN
yang berbeda .
4. Bentuk-bentuk Normalisasi Beserta Contohnya
Pada proses normalisasi terhadap tabel
pada database dapat dilakukan dengan tiga tahap normalisasi antara lain :
1. BENTUK TIDAK NORMAL
(UNNORMALIZED FORM)
Bentuk ini merupakan kumpulan data
yang akan direkam, tidak ada keharusan
mengikukti format tertentu, dapat saja
data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai
dengan saat menginput.
Untuk mentransformasikan tabel yang
belum ternomalisasi di atas menjadi tabel yang memenuhi kriteria 1NF adalah
kita harus merubah seluruh atribut yang multivalue menjadi atribut single
value, dengan cara menghilangkan repeating group pada tabel di atas.
Repeating Group (elemen data berulang)
adalah (No_Property, Alamat_Property,Tgl_Pinjam, Tgl_Selesai, Biaya,
No_Pemilik, Nama_Pemilik)
2. BENTUK NORMAL KE SATU (FIRST
NORMAL FORM / 1 NF)
Pada tahap ini dilakukan penghilangan
beberapa group elemen yang berulang agar menjadi satu harga tunggal yang
berinteraksi di antara setiap baris pada suatu tabel, dan setiap atribut harus
mempunyai nilai data yang atomic (bersifat atomic value). Atom adalah zat
terkecil yang masih memiliki sifat induknya, bila terpecah lagi maka ia tidak
memiliki sifat induknya.
Syarat normal ke satu (1-NF)
antara lain:
1. setiap data dibentuk dalam flat
file, data dibentuk dalam satu record demi satu record nilai dari field
berupa “atomic value”.
2. tidak ada set atribute yang
berulang atau bernilai ganda.
3. telah ditentukannya primary key
untuk tabel / relasi tersebut.
4. tiapatribut hanya memiliki satu
pengertian.
Langkah pertama yang dilakukan pada
Tabel Pelanggan Biaya (pada Tabel 9.3) tersebut adalah menghilangkan
elemen data yang berulang dengan data-data Pelanggan yang sesuai pada
setiap baris. Hasil dari tabel yang telah memenuhi bentuk normal pertama
dapat dilihat pada Tabel 9.4. kita dapat mengidentifikasi primary key
untuk relasi Pelanggan_Biaya yang masih memiliki composite key
(No_Pelanggan, No_Property). Pada kasus ini kita akan memperoleh primary
key yang bersifat composite key. Relasi Pelanggan_Biaya dapat
didefinisikan sebagai berikut. Pelanggan_Biaya =(No_Pelanggan, No_Property,
Nama, Alamat_Property, Tgl_Pinjam, Tgl_Selesai, Biaya,No_Pemilik, Nama_Pemilik)
3. BENTUK NORMAL KE DUA (SECOND NORMAL
FORM / 2 NF)
Bentuk normal kedua didasari atas
konsep full functional dependency (ketergantungan fungsional sepenuhnya) yang
dapat didefinisikan sebagai berikut. Jika A adalah atribut-atribut dari
suatu relasi, B dikatakan full functional dependency (memiliki ketergantungan
fungsional terhadap A, tetapi tidak secara tepat memiliki ketergantungan
fungsional dari subset (himpunan bagian) dari A.
Syarat normal kedua (2-NF)
sebagai berikut.
1. Bentuk data telah memenuhi kriteria
bentuk normal kesatu.
2. Atribute bukan kunci (non-key)
haruslah memiliki ketergantungan fungsional sepenuhnya (fully functional
dependency) pada kunci utama / primary key.
Tabel Tabel Pelanggan Biaya dalam bentuk normal kedua (2-NF)
4.
BENTUK NORMAL KE TIGA (THIRD NORMAL FORM / 3 NF)
Walaupun relasi 2-NF memiliki
redudansi yang lebih sedikit dari pada relasi 1-NF, namun relasi tersebut
masih mungkin mengalami kendala bila terjadi anomaly peremajaan (update)
terhadap relasi tersebut. Misalkan kita akan melakukan update terhadap
nama dari seorang Pemilik (pemilik), seperti Durki (No_Pemilik: CO93), kita
harus melakukan update terhadap dua baris dalam relasi Property_Pemilik (lihat
Tabel 9.5, (c) relasi Property_Pemilik). Jika kita hanya mengupdate satu baris
saja, sementara baris yang lainnya tidak, maka data didalam database tersebut
akan inkonsisten / tidak teratur. Anomaly update ini disebabkan oleh suatu
ketergantungan transitif (transitive dependency). Kita harus menghilangkan
ketergantungan tersebut dengan melakukan normalisasi ketiga (3-NF).
Syarat normal ketiga (Third
Normal Form / 3 NF) sebagai berikut.
1. Bentuk data telah memenuhi kriteria
bentuk normal kedua.
2. Atribute bukan kunci (non-key)
harus tidak memiliki ketergantungan transitif, dengan kata lain suatu atribut
bukan kunci (non_key) tidak boleh memiliki ketergantungan fungsional
(functional dependency) terhadap atribut bukan kunci lainnya, seluruh atribut
bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap
priamry key di relasi itu saja.
Seluruh atribut non-primary key pada
relasi Pelanggan dan Biaya di atas terlihat memiliki ketergantungan
fungsional (functional dependency) terhadap primary key dari masing-masing
tabel / relasi. Relasi / tabel Pelanggan dan Biaya di atas tidak memiliki ketergantungan
transitif (transitive dependency), sehingga tabel tersebut telah memenuhi
kriteria normal ketiga
(3-NF). Seluruh atribut non-primary key pada relasi Property_Pemilik di
atas terlihat memiliki ketergantungan fungsional (functional dependency)
terhadap primary key, kecuali Nama_Pemilik yang masih memiliki
ketergantungan fungsional (functional dependency) terhadap No_Pemilik.
Inilah contoh ketergantungan dari transitif (transitive dependency), yang
terjadi ketika atribut non-primary key (Nama_Pemilik) bergantung secara
fungsi terhadap satu atau lebih atribut non-primary key lainnya (No_Pemilik).
Kita harus menghilangkan ketergantungan transitif (transitive dependency)
tersebut dengan menjadikan relasi Property_Pemilik menjadi 2 relasi / tabel
dengan format / bentuk sebagai berikut.
· Relasi / Tabel
Property_Untuk_Pemilik yang terdiri dari atribut-atribut:
No_property â
Alamat_Property, Biaya, No_Pemilik
{No_property sebagai primary key}
· Dan relasi Pemilik yang terdiri dari
atribut-atribut:
No_Pemilik â Nama_Pemilik
{No_Pemilik sebagai primary key}
4.
BENTUK NORMAL KE TIGA (THIRD NORMAL FORM / 3 NF)
Walaupun relasi 2-NF memiliki
redudansi yang lebih sedikit dari pada relasi 1-NF,
namun relasi tersebut masih mungkin
mengalami kendala bila terjadi anomaly
peremajaan (update) terhadap relasi
tersebut.
Misalkan kita akan melakukan update
terhadap nama dari seorang Pemilik (pemilik), seperti Durki (No_Pemilik: CO93),
kita harus melakukan update terhadap dua baris dalam relasi Property_Pemilik
(lihat Tabel 9.5, (c) relasi Property_Pemilik). Jika kita hanya mengupdate satu
baris saja, sementara baris yang lainnya tidak, maka data didalam database tersebut
akan inkonsisten / tidak teratur. Anomaly update ini disebabkan oleh suatu
ketergantungan transitif (transitive dependency). Kita harus menghilangkan
ketergantungan tersebut dengan melakukan normalisasi ketiga (3-NF).
Syarat normal ketiga (Third
Normal Form / 3 NF) sebagai berikut.
1. Bentuk data telah memenuhi kriteria
bentuk normal kedua.
2. Atribute bukan kunci (non-key)
harus tidak memiliki ketergantungan transitif, dengan kata lain suatu atribut
bukan kunci (non_key) tidak boleh memiliki ketergantungan fungsional
(functional dependency) terhadap atribut bukan kunci lainnya, seluruh atribut
bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap
priamry key di relasi itu saja. Seluruh atribut non-primary key pada
relasi Pelanggan dan Biaya di atas terlihat memiliki ketergantungan
fungsional (functional dependency) terhadap primary key dari masing-masing
tabel / relasi. Relasi / tabel Pelanggan dan Biaya di atas tidak
memiliki ketergantungan transitif (transitive dependency), sehingga tabel
tersebut telah memenuhi kriteria normal ketiga (3-NF).
Seluruh atribut non-primary key pada
relasi Property_Pemilik di atas terlihat memiliki ketergantungan
fungsional (functional dependency) terhadap primary key, kecuali
Nama_Pemilik yang masih memiliki ketergantungan fungsional
(functional dependency) terhadap No_Pemilik. Inilah contoh ketergantungan
dari transitif (transitive dependency), yang terjadi ketika atribut
non-primary key (Nama_Pemilik) bergantung secara fungsi terhadap satu atau
lebih atribut non-primary key lainnya (No_Pemilik). Kita harus
menghilangkan ketergantungan transitif (transitive dependency) tersebut
dengan menjadikan relasi Property_Pemilik menjadi 2 relasi / tabel dengan
format / bentuk sebagai berikut.
· Relasi / Tabel
Property_Untuk_Pemilik yang terdiri dari atribut-atribut:
No_property â
Alamat_Property, Biaya, No_Pemilik
{No_property sebagai primary key}
· Dan relasi Pemilik yang terdiri dari
atribut-atribut:
No_Pemilik â
Nama_Pemilik
{No_Pemilik sebagai primary key}
Hasil akhir normalisasi tabel
Pelanggan_Biaya sampai ke bentuk normal ketiga adalah
sebagai berikut:
Seluruh atribut bukan kunci pada suatu
relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi
itu saja.
Sekian Penjelasan dari saya semoga bermanfaat.
Terimakasi
Sudah Berkunjung di Blog saya.