Anda di halaman 1dari 24

TUGAS SISTEM BASIS DATA

Materi Pembelajaran

NORMALISASI BASIS DATA

Disusun Oleh : Kelompok 6

AMSAL SALOMO WILLIAM SAGALA 5203151007


DAVID GRISH SIAGIAN 5203151018
DAMAI CHRISTINA SIHOTANG 5203151022
SETIA ANTIKA BR. GULTOM 5203151025

PTIK Kelas B 2020

Dosen Pengampu : Dr. Janner Simarmata,S.T.,M.Kom

PENDIDIKAN TEKNOLOGI INFORMATIKA DAN KOMPUTER


FAKULTAS TEKNIK
UNIVERSITAS NEGERI MEDAN
2020
I. Pengantar Normalisasi

1.1. Definisi Normalisasi

Perancangan basis data diperlukan agar tercipta basis data relasional yang efisien dalam
penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah dalam pemanipulasian
(tambah, ubah, hapus) data. Dalam merancang basis data relasional, kita dapat melakukannya
dengan cara:

1. Melakukan normalisasi data, lalu membuat model Entity-Relationship.


2. Membuat model Entity-Relationship terlebih dahulu, lalu melakukan normalisasi data.

Dalam model Entity-Relationship (E-R) kelompok-kelompok data dan relasi antarkelompok


data tersebut diwujudkan/direpresentasikan dalam bentuk diagram. Normalisasi sendiri merupakan
cara pendekatan lain yang tidak secara langsung berkaitan dengan model data, tetapi dengan
menerapkan sejumlah aturan dan kriteria standar untuk menghasilkan struktur tabel yang normal.

Dalam pendekatan normalisasi, item-item data ditempatkan dalam baris dan kolom pada tabel-
tabel relasional dengan sejumlah aturan tentang keterhubungan antara item-item data tersebut.
Sementara pendekatan model E-R, lebih tepat dilakukan jika yang telah diketahui baru prinsip-
prinsip sistem secara keseluruhan (belum diketahui item-item data yang digunakan pada sistem).
Pada prakteknya, kedua pendekatan ini bisa dilakukan secara bergantian. Dari fakta yang telah kita
miliki, kita lakukan normalisasi. Untuk kepentingan evaluasi dan dokumentasi, hasil normalisasi
kita wujudkan dalam sebuah model data. Model data yang sudah jadi tersebut bisa saja
dimodifikasi dengan pertimbangan tertentu. Hasil modifikasinya kemudian kita implementasikan
dalam bentuk sejumlah struktur tabel dalam sebuah basis data. Struktur ini dapat kita uji kembali
dengan menerapkan aturan normalisasi, hingga akhirnya kita peroleh sebuah struktur basis data
yang benar-benar efektif dan efisien.

Menurut Kadir (2009 : 116) normalisasi adalah suatu proses yang digunakan untuk menentukan
pengelompokan atribut-atribut dalam sebuah relasi/tabel sehingga diperoleh relasi yang berstruktur
baik. Dalam hal ini yang dimaksud dengan berstruktur baik adalah relasi/tabel yang memenuhi
kondisi sebagai berikut:

1. Mengandung redundansi sesedikit mungkin, dan

2. Memungkinkan baris-baris dalam relasi/tabel disisipkan, dimodifikasi, dan dihapus tanpa


menimbulkan kesalahan atau ketidakkonsistenan.
1.2. Jenis Atribut

Atribut adalah suatu nama untuk kolom yang terdapat pada sebuah relasi. Atribut juga sering
disebut sebagai kolom data atau field. Penerapan aturan-aturan normalisasi terhadap atribut-atribut
pada sebuah tabel bisa berdampak pada penghilangan kolom tertentu, penambahan kolom baru,
atau bahkan penambahan tabel baru. Atribut harus diberi nama yang unik dan tidak menggunakan
spasi agar mudah pada saat implementasi rancangan basis data. Atribut dapat dibedakan
berdasarkan sejumlah pengelompokan (jenis atribut).

1.2.1. Atribut Kunci (Key) dan Atribut Deskriptif

Atribut kunci (key) adalah satu atau gabungan dari beberapa atribut yang dapat membedakan
semua baris data dalam tabel secara unik. Ada beberapa macam key yang dapat diterapkan pada
suatu tabel, yaitu: 1. Superkey 2. Candidate Key 3. Primary Key 4. Foreign Key Keempat atribut
kunci (key) tersebut sudah dijelaskan pada materi sebelumnya. Atribut ini dapat digunakan untuk
tujuan identifikasi. Atribut deskriptif adalah atribut-atribut yang bukan merupakan atribut primary
key pada sebuah tabel. Atribut ini digunakan untuk tujuan informasi.

1.2.2. Atribut Sederhana (Simple Attribute) dan Atribut Komposit (Composite Attribute)

Atribut sederhana adalah atribut atomic yang tidak dapat dipilah lagi. Sedangkan atribut komposit
merupakan atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing
memiliki makna.

Nim Nama_mhs Alamat_mhs


10507234 Alam Nurjaya Jl. Dipatiukur No.91, Bandung,
40135
10507235 Bani Isro Jl. Cijerah No.20, Cimahi
40533
10507236 Ningsih Amira Jl. Raya Timur No.321,
Tasikmalaya 46416

Alamat Kota Kode_pos


Jl. Dipatiukur No.91, Bandung, Bandung 40135
40135
Jl. Cijerah No.20, Cimahi cimahi 40533
40533
Jl. Raya Timur No.321, Tasikmalaya 46416
Tasikmalaya 46416
Gambar 1. Atribut Sederhana dan Atribut Komposit

Pada gambar 1 di atas, atribut nim dapat dikategorikan sebagai atribut sederhana,
sedangkan atribut alamat_mhs dapat dikategorikan sebagai atribut komposit karena atribut tersebut
dapat diuraikan menjadi beberapa subatribut seperti alamat, kota dan kode_pos yang masing-
masing memiliki makna.

1.2.3. Atribut Bernilai Tunggal (Single-Valued Attribute) dan Atribut Bernilai Banyak
(Multivalued Attribute)

Atribut bernilai tunggal ditujukan pada atribut-atribut yang memiliki hanya satu nilai untuk
setiap baris data. Sedangkan atribut bernilai banyak ditujukan pada atributatribut yang dapat kita isi
dengan lebih dari satu nilai, tetapi jenisnya sama.

Atribut Bernilai Tunggal Atribut Bernilai Banyak

Nim Nama_mhs Alamat_mhs hobby


10507234 Alam Nurjaya Jl. Dipatiukur No.91, Futsal Berenang
Bandung, 40135
10507235 Bani Isro Jl. Cijerah, Cimahi Basket
40533
10507236 Ningsih Amira Jl. Raya Timur, Baca Buku Melukis
Tasikmalaya 46416
Gambar 2. Atribut Bernilai Tunggal dan Atribut Bernilai Banyak

Pada gambar 2 di atas atribut nim, nama_mhs, alamat_mhs merupakan atribut bernilai
tunggal, sedangkan atribut hobby merupkan atribut bernilai banyak karena ada beberapa
mahasiswa yang memiliki lebih dari satu hobby.

1.2.4. Atribut Harus Bernilai (Mandatory Attribute) dan Atribut Bernilai Null

Ada sejumlah atribut pada sebuah tabel yang kita tetapkan harus berisi data. Jadi nilainya
tidak boleh kosong. Atribut semacam ini disebut mandatory attribute (atribut harus bernilai).
Sedangkan kebalikan dari atribut tersebut adalah non mandatory attribute (atribut yang boleh tidak
bernilai). Contohnya dapat dilihat pada gambar 3 di bawah ini.

Mandatory Attribute No Mandatory Attribute


Nim Nama_mhs Alamat_mhs hobby
10507234 Alam Nurjaya Jl. Dipatiukur No.91, Futsal Berenang
Bandung, 40135
10507235 Bani Isro Jl. Cijerah, Cimahi Basket
40533
10507236 Ningsih Amira Jl. Raya Timur, Baca Buku Melukis
Tasikmalaya 46416

Berisi Null, karena datanya belum siap Berisi Null, karena memang tidak punya hobby

Gambar 3. Mandatory Attribute dan Nilai Null

Nilai Null tidak sama dengan spasi, walaupun pada waktu nilai ditampilkan samasama tidak
memperilihatkan apa-apa. Perbedaan tersebut dapat ditinjau dari segi makna maupun dari segi
representasi fisik. Dari segi makna, pengisian spasi ke suatu atribut berarti atribut tersebut memiliki
nilai yaitu spasi, sedangkan pengisian nilai Null berarti atribut tersebut belum/tidak memiliki nilai.
Dari segi representasi fisik, nilai spasi ekivalen dengan karakter ke-32 dalam tabel ASCII,
sedangkan nilai Null ekivalen dengan karakter ke-0.

1.2.5. Atribut Turunan (Derived Attribute)

Atribut turunan adalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat
diturunkan dari atribut atau tabel lain yang berhubungan. Atribut tersebut sebetulnya dapat
ditiadakan dari sebuah tabel, karena nilai-nilainya bergantung pada nilai yang ada di atribut
lainnya.

Atribut Turunan

Nim Nama_mhs Alamat_mhs angkatan ip


10507234 Alam Nurjaya Jl. Dipatiukur 2007 3.64
No.91, Bandung,
40135
10507235 Bani Isro Jl. Cijerah, Cimahi 2007 3.46
40533
10507236 Ningsih Amira Jl. Raya Timur, 2007 3.87
Tasikmalaya 46416
Gambar 4. Atribut Turunan
Pada gambar 4 di atas nilai atribut angkatan dapat diketahui dari atribut nim, dimana
karakter ke 4 dan 7 dari nim menyatakan dua dijit akhir tahun masuknya mahasiswa yang
bersangkutan. Sedangkan untuk atribut ip diperoleh dari pengolahan data yang melibatkan
indek_nilai dari tabel nilai dan atribut sks yang ada di tabel mata_kuliah.

1.3. Domain dan Tipe Data

Domain adalah seluruh kemungkinan nilai yang dapat diberikan ke suatu atribut. Sebagai
contoh, kemungkinan nilai untuk atribut sks adalah 1, 2, 3, 6. Sedangkan tipe data yang dapat
digunakan untuk atribut tersebut adalah integer, meskipun integer memungkinkan kita menyimpan
data angka yang bulat Antara -32,768 hingga 32,767. Dalam menentukan tipe data sebuat atribut
sebaiknya terlebih dahulu kita melihat domain dari atribut tersebut.

Sumber : Fathansyah. 2012. Basis Data. Bandung: Informatika.

II. Tahapan/Bentuk Normalisasi Basis Data

1. Anomali
Normalisasi bertujuan untuk meminimalkan redundansi data karena redundansi data dapat
menimbulkan masalah yang disebut anomali. Anomali adalah masalah yang timbul dalam
relasi/tabel ketika terjadi pemutakhiran data di dalam relasi/tabel.
Terdapat 3 Jenis anomali ada, diantaranya:
1. Anomali Penyisipan
2. Anomali Pengubahan
3. Anomali Penghapusan

Pada gambar 5 dan 6 di bawah ini berisi informasi yang sebenarnya sama, tetapi mempunyai efek
berbeda yang terkati dengan anomali.

Tabel barang_pemasok

kode_barang nama_baran harga_jual kode_pemasok nama_pemaso kota


g k
T-001 TV ABC 14” 600000 P22 PT. Citra Jaya Bogor
T-002 TV ABC 21” 950000 P22 PT. Citra Jaya Bogor
T-003 TV XYZ 14” 450000 P11 PT. Amerta Bandung
T-004 TV Rhino 29” 1750000 P33 PT. Kartika Yogya
T-005 TV Kirana 475000 P44 PT. Nindya Tangerang
14”
Gambar 5. Relasi/Tabel barang_pemasok

Tabel barang

kode_barang nama_barang harga_jual kode_pemasok


T-001 TV ABC 14” 600000 P22
T-002 TV ABC 21” 950000 P22
T-003 TV XYZ 14” 450000 P11
T-004 TV Rhino 29” 1750000 P33
T-005 TV Kirana 14” 475000 P44

Tabel pemasok

kode_pemasok nama_pemasok kota


P11 PT. Amerta Bandung
P22 PT. Citra Jaya Bogor
P33 PT. Kartika Yogya
P44 PT. Nindya Tangerang
Gambar 6. Relasi/Tabel barang dan Relasi/Tabel pemasok

1.1. Anomali Penyisipan


Anomali penyisipan adalah masalah yang terjadi ketika suatu baris disisipkan ke dalam
tabel. Anomali ini dapat muncul pada tabel barang_pemasok yang ada pada gambar 5. Contoh
anomaly pada tabel barang_pemasok:
1. Apabila ada pemasok baru dengan nama PT. Santosa yang berlokasi di Bekasi dan kode
pemasok P55. Data pemasok tersebut dapat dimasukan apabila sudah ada barang yang dipasok.

2. Pemasok dengan kode P33 akan memasukan barang baru berupa TV Toslila 29” dan harga jual
yang ditetapkan 2000000. Maka pada saat dimasukan, data pemasok dengan kode P11 (Nama
pemasok dan lokasinya) perlu diisikan ulang. Masalahpun bertambah apabila data lokasi pemasok
yang dimasukan adalah Yogyakarta (bukan Yogya) maka terjadi ketidakkonsistenan data lokasi
untuk pemasok tersebut.
Permasalahan tersebut tidak mungkin terjadi pada tabel barang dan tabel pemasok yang
tercantum di gambar 6. Karena apabila ada pemasok baru maka cukup dimasukan pada tabel
pemasok, dan apabila ada barang baru dengan pemasok yang sudah ada maka cukup dimasukan ke
dalam tabel barang.

1.2. Anomali Pengubahan


Anomali pengubahan adalah maslah yang timbul ketika data dalam tabel diubah.
Contohnya apabila kita akan mengubah data lokasi pemasok untuk kode pemasok P22 pada tabel
barang_pemasok yang ada di gambar 5. Lokasi pemasok dengan kode pemasok P22 berpindah dari
Bogor ke Bekasi, sedangkan yang dirubah hanya pada baris pertama, sedangkan pada baris ke dua
tidak dirubah. Hal tersebut dapat minimbulkan kerancuan atau ketidakkonsistenan. Sedangkan
pada gambar 6, hal tersebut cukup dilakukan pada satu baris di tabel pemasok.

1.3. Anomali Penghapusan


Anomali penghapusan adalah masalah yang timbul ketika suatu baris dalam tabel dihapus.
Pada saat sebuah baris dihapus terdapat data lain yang hilang. Sebagai contoh pada tabel
barang_pemasok di gambar 5, apabila akan menghapus kode barang T-003 maka data pemasok
dengan kode pemasok P11 akan ikut terhapus. Hal demikian tidak terjadi pada tabel barang yang
ada di gambar 6, karena data pemasok tetap tersimpan pada tabel pemasok.

2. . Dependensi
Dependensi menjelaskan hubungan antara atribut dengan atribut lainnya, atau secara lebih khusus
menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya. Dependensi ini kelak
menjadi acuan bagi pendekomposisian data kedalam bentuk yang paling efisien. Ada beberapa
jenis dependesi yaitu diantaranya:
1. Dependensi Fungsional
2. Dependensi Sepenuhnya
3. Dependensi Parsial
4. Dependensi Total

5. Dependensi Transitif

2.1. Dependensi Fungsional


Dependensi fungsional adalah kekangan antara dua buah atribut atau dua buah himpunan. Suatu
atribut Y mempunyai dependesi fungsional terhadap atribut X jika dan hanya jika setiap nilai X
berhubungan dengan sebuah nilai Y. Dependensi fungsional Y terhadp X dapat dinotasikan sebagai
berikut:

X -> Y
Notasi tersebut dapat dibaca dengan:
1. X panah Y
2. X menentukan Y
3. Y tergantung secara fungsional pada X

Contohnya pada tabel barang_pemasok (gambar 5) berlaku penotasian sebagai berikut:

kode_barang -> nama_barang


Dimana setiap kode_barang pasti akan berhubungan dengan hanya satu nama_barang. Misalnya,
kode barang T-001 hanya berlaku untuk nama barang TV ABC 14”.
Sebuah atribut juga bisa bergantung pada lebih satu atribut. Hal tersebut dapat dinotasikan sebagai
berikut:
{X, Y} -> Z
Notasi di atas menyatakan bahwa atribut Z mempunya dependensi fungsional terhadap paasangan
atribut X dan Y. Sebagai contoh perhatikan tabel/relasi dalam gambar 7 di bawah ini.

Tabel dosen_pendidikan

no_dosen nama_dosen jenis_kelamin pendidikan tahun_lulus


D41 Rahayu Febrianti Wanita S1 1987
D41 Rahayu Febrianti Wanita S2 1990
D42 Amira Mari Wanita S1 1988
D42 Amira Mari Wanita S2 1990
D42 Amira Mari Wanita S3 1998
D43 Bara Adipura Pria S1 1994
Gambar 7. Relasi/Tabel dosen_pendidikan

Contohnya pada tabel dosen_pendidikan (gambar 7) berlaku penotasian sebagai berikut:


{no_dosen, pendidikan} -> tahun_lulus
Dimana tidak setiap no_dosen menetukan tahun_lulus, tetapi tahun_lulus ditentukan oleh
perpaduan antara no_dosen dengan pendidikan. Misalnya, dosen dengan nomor D41 lulus S1 pada
tahun 1987.

2.2. Dependensi Sepenuhnya


Suatu atribut Y dikatakan memiliki dependensi sepenuhnya terhadap X apabila memenuhi dua
kondisi berikut:
1. Y mempunyai dependensi fungsional terhadap X,
2. Y tidak memiliki dependensi terhadap bagian dari X.
Contohnya pada tabel dosen_pendidikan (gambar 7) berlaku penotasian sebagai berikut:

{no_dosen, pendidikan} -> tahun_lulus

Dimana tidak setiap no_dosen menetukan tahun_lulus, dan tidak setiap pendidikan
menentukan tahun_lulus. Atau dapat dilihat bahwa atribut no_dosen tidak berhubungan dengan
satu nilai tahun_lulus, dan atribut pendidikan tidak berhubungan dengan satu nilai tahun_lulus.

2.3. Dependensi Parsial


Dependensi parsial merupakan kebalikan dari dependensi sepenuhnya. Dimana suatu atribut Y
dikatakan memiliki dependensi parsial terhadap X apabila memenuhi dua kondisi sebagai berikut:
1. Y adalah atribut non-kunci utama dan X adalah kunci utama,
2. Y memiliki dependensi terhadap bagian dari X (tatapi tidak terhadap keseluruhan dari X)
Sebagai contoh pada tabel dosen_pendidikan (gambar 7) yang memiliki kunci utama berupa
{no_dosen, pendidikan}. Atribut jenis_kelamin yang memiliki dependensi terhadap no_dosen
(bagian dari kunci utama) merupakan dependensi parsial.

2.4. Dependensi Total


Suatu atribut Y dikatakan memiliki dependensi total terhadap X jika memenuhi dua kondisi
sebagai berikut:
1. Y memiliki dependensi fungsional terhadap X
2. X memiliki dependensi fungsional terhadap Y

Contohnya pada tabel pemasok (gambar 6) berlaku penotasian sebagai berikut:


kode_pemasok -> nama_pemasok
nama_pemasok -> kode_pemasok

Dengan demikian berlaku penotasian sebagai berikut:


kode_pemasok <-> nama_pemasok
Sebuah nilai kode_pemasok hanya akan berpasangan dengan sebuah nama_pemasok, dan
begitu juga sebaliknya. Hal tersebut dengan asumsi tidak aka nada dua pemasok yang namanya
sama.

2.5. Dependensi Transitif


Suatu atribut Z dikatakan memiliki dependensi transitif terhadap X apabila memenuhi dua kondisi
sebagai berikut:
1. Z memiliki dependensi fungsional terhadap Y
2. Y memiliki dependensi fungsional terhadap X

Dependensi transitif dapat dinotasikan sebagai berikut:


X -> Y -> Z
Contohnya pada tabel barang_pemasok (gambar 5) berlaku penotasian sebagai berikut:
kode_barang -> kode_pemasok -> nama_pemasok
Dimana setiap nama_pemasok memiliki dependensi fungsional terhadap kode_pemasok,
dan kode_pemasok memiliki dependensi fungsional terhadap kode_barang. Dengan demikian
maka nama_pemasok memiliki dependensi transitif terhadap kode_barang.

III. Bentuk Normalisasi

Normalisasi data adalah proses yang berkaitan dengan model data relasional untuk
mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil
dari proses normalisasi adalah tabel–tabel data dalam bentuk normal (normal form), yaitu tabel–
tabel data yang terhindar dari dua hal yaitu: Pengulangan informasi dan Potensi inkonsistensi data
pada operasi pengubahan. Terdapat enam bentuk normal (normal form) dalam teknik normalisasi
data, keenam bentuk tersebut adalah :

1. Bentuk Normal Pertama (1NF/ First Normal Form)


2. Bentuk Normal Kedua (2NF/ Second Normal Form)
3. Bentuk Normal Ketiga (3NF/ Third Normal Form)
4. Bentuk Normal Boyce-Codd (BCNF/ Boyce-Codd Normal Form)
5. Bentuk Normal Keempat (4NF/ Fourth Normal Form)
6. Bentuk Normal Kelima (5NF/ Fifth Normal Form)

Adapun hubungan keenam bentuk normal tersebut dapat dilihat pada gambar di bawah ini.
Bentuk Tidak
Ternormalisasi (UNF)

Menghilangkan atribut
bernilai ganda

Bentuk Normal
Pertama (1NF)

Menghilangkan dependensi
parsial

Bentuk Normal Kedua


(2NF)

Menghilangkan dependensi
transitif

Bentuk Normal Ketiga


(3NF)

Menghilangkan
ketergantungan yang
penentunya bukan kunci
kandidat
Bentuk Normal Boyce-
Codd (BCNF)

Menghilangkan lebih dari


satu dependensi bernilai
ganda

Bentuk Normal
Keempat (4NF)

Menghilangkan dependensi
gabungan
Bentuk Normal
Kelima (5NF)

Gambar 8. Langkah-Langkah Dalam Normalisasi

1. Bentuk Normal Pertama (1NF/ First Normal Form)


Suatu relasi/tabel dikatakan dalam bentuk normal pertama apabila setiap atribut bernilai
tunggal (Atomic Value) untuk setiap barisnya. Untuk membentuk relasi/tabel agar berada
dalam bentuk normal pertama, perlu langkah untuk menghilangkan atribut- atribut yang
bernilai ganda.
Sebagai contoh, terdapat suatu bentuk yang belum ternormalisasi (UNF/UnNormalized
Form) seperti yang ditunjukkan pada Gambar dibawah ini.
no_pegawai nama_pegawai no_klien nama_klien
P27 Rahayu Febrianti K01 Rini Suswandi
K02 Dani Damhudi
K04 Fatwa Sari
P28 Danang K03 Randa Irwanda
K07 Suci Jelita
P29 Amira Mari K05 Febrianti
P30 Riki Maenaki K06 Siti Aminarti
K08 Sandi Sunardi

Gambar 9. Contoh Bentuk yang Belum Ternormalisasi

Untuk menghilangkan atribut yang bernilai ganda, bentuk sejumlah baris hingga setiap
sel berisi satu nilai. Kemudian bagian yang kosong diisi dengan data yang sesuai. Pada
gambar di bawah ini menunjukkan hasil setelah semua sel diatur bernilai tunggal.
Tabel pegawai_klien
no_pegawai nama_pegawai no_klien nama_klien
P27 Rahayu Febrianti K01 Rini Suswandi
P27 Rahayu Febrianti K02 Dani Damhudi
P27 Rahayu Febrianti K04 Fatwa Sari
P28 Danang K03 Randa Irwanda
P28 Danang K07 Suci Jelita
P29 Amira Mari K05 Febrianti
P30 Riki Maenaki K06 Siti Aminarti
P30 Riki Maenaki K08 Sandi Sunardi

Gambar 10. Bentuk Normal Pertama

Hal penting yang lainnya yang perlu dilakukan setelah melakukan normalisasi ke
bentuk pertama adalah menentukan kunci utamanya. Kunci utama dapat dipilih melalui
determinan-determinan (suatu penentu) yang muncul dalam relasi/tabel yang membuat setiap
baris dapat diidentifikasi secara unik (tidak ada yang kembar). Kalau tidak ada determinan
dengan satu atribut yang memenuhi, pilihlah gabungan atribut yang dapat digunakan untuk
membedakan antara satu baris dengan baris lainnya. Sebagai contoh, dependensi fungsional
yang ada pada relasi/tabel pegawai_klien yaitu:
no_pegawai -> nama_pegawai
no_klien -> nama_klien
Determinan no_pegawai atau no_klien tidak dapat digunakan sebagai kunci utama.
Satu-satunya kunci utama yang bisa digunakan adalah {no_pegawai, no_klien}. Relasi/tabel
yang berada pada bentuk normal pertama ada kemungkinan masih
mengandung anomali. Sebagai contoh, perhatikan gambar 10 yang masih terdapat beberapa
anomali diantaranya:
1. Anomali penyisipan. Bila terdapat klien baru dan klien tersebut belum ditentukan akan
ditangani oleh seseorang pegawai, penyisipan tidak dapat dilakukan karena kunci utama
tidak boleh berupan Null (tidak diisi).
2. Anomali pengubahan. Bila nama pegawai diubah (karena ada kesalahan), ada
kemungkunan lebih dari satu baris yang harus dimodifikasi. Apabila salah satu ada yang
tidak diubah untuk nama yang sama, akan muncul ketidakkonsistenan.
3. Anomali penghapusan. Jika klien bernama Febrianti dihapus maka pegawai bernama
Amira Mari akan ikut terhapus.
Maka dari itu relasi/tabel yang memenuhi bentuk normal pertama masih harus diproses
untuk menjadi bentuk normal kedua.
2. Bentuk Normal Kedua (2NF/ Second Normal Form)
Suatu relasi/tabel dikatakan dalam bentuk normal kedua apabila:
1. Berada pada bentuk normal pertama.
2. Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap kunci utama atau
tidak mengandung dependensi parsial.
Sebagai contoh pada gambar 10 (tabel pegawai_klien) masih terdapat dependensi parsial
diantaranya:
1. {no_pegawai, no_klien} -> nama_pegawai, dimana nama_pegawai hanya bergantung
pada no_pegawai (bagian dari kunci utama).
2. {no_pegawai, no_klien} -> nama_klien, dimana nama_klien hanya bergantung pada
no_klien (bagian dari kunci utama).

Agar relasi/tabel yang mengandung dependensi parsial memenuhi bentuk normal kedua,
dependensi parsialnya harus dihilangkan. Adapun cara untuk mengkonversi bentuk normal
pertama ke bentuk normal kedua adalah sebagai berikut:
1. Ubahlah setiap dependensi parsial menjadi sebuah relasi/tabel, dengan kunci utama
adalah determinannya.
2. Ubahlah dependensi yang terkait langsung dengan kunci utama sebagai relasi/tabel
tersendiri dan kunci utamanya adalah kunci utama dalam relasi/tabel semula.
Berdasarkan cara diatas maka akan tercipta dua buah relasi/tabel baru karena terdapat
dua buah dependensi parsial. Selain itu, langkah nomor dua juga menghasilkan
sebuah relasi/tabel. Dengan demikian relasi/tabel pegawai_klien didekomposisi (dipecah)
menjadi tiga buah relasi/tabel seperti pada gambar di bawah ini.
Tabel pegawai Tabel klien
no_pegawai nama_pegawai no_klien nama_klien
P27 Rahayu Febrianti K01 Rini Suswandi
P28 Danang K02 Dani Damhudi
P29 Amira Mari K03 Randa Irwanda
P30 Riki Maenaki K04 Fatwa Sari
K05 Febrianti
K06 Siti Aminarti
K07 Suci Jelita
K08 Sandi Sunardi

Tabel pegawai_klien

no_pegawai no_klien
P27 K01
P27 K02
P27 K04
P28 K03
P28 K07
P29 K05
P30 K06
P30 K08

Gambar 11. Bentuk Normal Kedua

3. Bentuk Normal Ketiga (3NF/ Third Normal Form)


Suatu relasi/tabel dikatakan dalam bentuk normal ketiga apabila:
1. Berada pada bentuk normal kedua.
2. Setiap atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama.
Agar suatu relasi/tabel masuk ke dalam bentuk normal ketiga, dependensi transitif harus
dibuang. Adapun cara mendekomposisi relasi/tabel yang mengandung dependensi transitif
adalah sebagai berikut:
1. Bentuk relasi/tabel yang mewakili dependensi fungsional yang tidak melibatkan kunci
utama dalam relasi semula. Determinannya menjadi kunci utama relasi yang dibentuk.
2. Bentuk relasi/tabel yang berisi kunci utama relasi semula. Kemudian pindahkan semua
atribut bukan kunci utama yang bergantung pada kunci utama tetapi tidak bergantung
pada determinan lain ke relasi tersebut. Jadikan atribut yang menjadi kunci utama relasi
semula sebagai kunci utama relasi baru. Adapun atribut yang
berasal dari determinan yang menjadi perantara dalam dependensi transitif akan
bertindak sebagai kunci tamu/asing.
Sebagai contoh, pada tabel barang_pemasok (gambar 5) terdapat dependensi transitif
sebagai berikut:
kode_barang -> kode_pemasok -> {nama_pemasok, kota}
Berdasarkan cara di atas, relasi/tabel barang_pemasok (gambar 5) dipecah menjadi
tabel barang dan tabel pemasok seperti pada gambar 6.
4. Bentuk Normal Boyce-Codd (BCNF/ Boyce-Codd Normal Form)
Suatu relasi/tabel dikatakan dalam bentuk normal Boyce-Codd (BCNF) apabila setiap
determinan (penentu) dalam suatu relasi/tabel berkedudukan sebagai kunci kandidat. Cara
mengkonversi relasi yang telah memenuhi bentuk normal ketiga ke BCNF adalah:
1. Carilah semua penentu.
2. Bila terdapat penentu yang bukan berupa kunci kandidat, maka:
a. Pisahkan relasi tersebut.
b. Buat penentu tersebut sebagai kunci utama.
Sebagai contoh, misalkan terdapat relasi/tabel wawancara seperti pada gambar di bawah
ini.
Tabel wawancara
no_klien tgl_wawancara jam_wawancara no_staff ruangan
K33 2 Juli 2014 08.00 S44 R72
K34 2 Juli 2014 10.00 S44 R72
K35 2 Juli 2014 14.00 S45 R72
K36 3 Juli 2014 08.00 S44 R73
K37 3 Juli 2014 10.00 S45 R73

Gambar 12. Relasi/Tabel wawancara

Relasi/tabel tersebut jelas memenuhi bentuk normal ketiga karena tidak mengandung
dependensi transitif. Terlebih dahulu kita lakukan pengkajian terhadap seluruh aturan yang
bisa berlaku pada relasi tersebut:
1. Kunci utama pada relasi tersebut adalah {no_klien, tgl_wawancara}
2. Pada satu hari tertentu setiap staff diberi satu ruangan tertentu. Misalnya, pada tanggal 2
Juli 2014, staff S44 mendapat jatah ruangan R72.
3. Pada hari yang sama setiap ruang bisa dialokasikan untuk lebih dari satu staff. Sebagai
contoh, R72 digunakan untuk S44 dan S45 (pada jam yang berlainan) pada tanggal 22
Juli 2014.
4. Setiap klien bisa diwawancarai lebih dari satu kali, tetapi hanya sekali dalam satu hari.
Itulah sebabnya, tgl_wawancara perlu dijadikan bagian dari kunci utama, tetapi
jam_wawancara tidak.
Anomali masih muncul pada relasi tersebut. Sebagai contoh, jika pada tanggal 2 Juli
2014 wawancara yang ditangani staff S44 dipindahkan ke ruangan R77 maka terdapat dua
buah baris yang harus diperbaharui, kalau hanya satu maka akan timbul ketidakkonsistenan.
Agar relasi yang memenuhi bentuk normal ketiga berada pada bentuk BCNF,
dependensi yang melibatkan atribut bukan kunci kandidat harus dinyatakan dalam relasi
tersendiri dan atribut yang berkedudukan sebagai dependen dikeluarkan dari relasi semula.
Dengan demikian relasi wawancara perlu didekomposisi menjadi seperti pada gambar
dibawah ini.
Tabel jadwal_wawancara
no_klien tgl_wawancara jam_wawancara no_staff
K33 2 Juli 2014 08.00 S44
K34 2 Juli 2014 10.00 S44
K35 2 Juli 2014 14.00 S45
K36 3 Juli 2014 08.00 S44
K37 3 Juli 2014 10.00 S45
Tabel staff_ruang

no_staff tgl_wawancara ruangan


S44 2 Juli 2014 R72
S45 2 Juli 2014 R72
S44 3 Juli 2014 R73
S45 3 Juli 2014 R73
Gambar 13. Bentuk Normal Boyce-Codd

5. Bentuk Normal Keempat (4NF/ Fourth Normal Form)


Suatu relasi/tabel memenuhi bentuk normal ke empat (4NF) apabila:
1. Telah berada pada BCNF.
2. Tidak mengandung dependensi bernilai banyak (MVD/Multi-Valued Dependency).
MVD merupakan dependensi antara dua atribut dalam sebuah relasi dengan sifat untuk
setiap nilai A terdapat sejumlah nilai B. Jadi sebuah nilai A berpasangan dengan sejumlah
nilai B. Contohnya ditunjukan pada gambar di bawah ini.
Ahmad Bahasa Inggris
Bahasa Prancis
Bahasa Arab
Gambar 14. Gambaran Dependensi Bernilai Banyak
Contoh di atas menyatakan bahwa seseorang bisa memiliki kemampuan berbahasa asing
lebih dari satu. Hubungan tersebut berada dalam sebuah relasi/tabel. Dependensi seperti itu
digambarkan sebagai berikut:
nama ->> bahasa_asing
Tabel mdb
matakuliah dosen buku_wajib
Basis Data Amri Yahya Database Systems
Basis Data Amri Yahya Modern Database Management
Basis Data Rini Subono Database Systems
Basis Data Rini Subono Modern Database Management
Teknologi Informasi Sunaryo Hadi Information Technology Management
Teknologi Informasi Sunaryo Hadi Pengantar Teknologi Informasi
Teknologi Informasi Karyo Junaedi Information Technology Management
Teknologi Informasi Karyo Junaedi Pengantar Teknologi Informasi

Gambar 15. Contoh Relasi/Tabel dengan Dependensi Bernilai Banyak


Relasi mdb memiliki dua buah dependensi bernilai banyak, yaitu: matakuliah
->> dosen
matakuliah ->> buku_wajib
Yang perlu diperhatikan adalah bahwa baik dosen mapun buku_wajib bersifat
independen atau tidak saling berketergantungan. Keadaan seperti ini biasa dinyatakan seperti
berikut:
matakuliah ->> dosen | buku_wajib
Relasi mdb memiliki dependensi bernilai banyak, tetapi sudah memenuhi bentuk
normasi Boyce-Codd. Relasi tersebut memiliki redudansi data yang berlebihan. Suatu relasi
yang mengandung dependensi bernilai banyak dapat dikonversi agar memenuhi bentuk
normak keempat dengan mengguanak teorema Fagin. Teorema tersebut berbunyi sebagai
berikut:
“Bila R(A,B,C) merupakan suatu relasi, dengan A, B, dan C adalah atribut-atributnya,
maka R dapat dipecah menjadi (A,B) dan (A,C) jika R memenuhi MVD A ->> B | C”
Berdasarkan teorema tersebut, relasi mdb dapat dipecah menjadi seperti pada gambar 16
di bawah ini.
Tabel mdb
matakuliah dosen
Basis Data Amri Yahya
Basis Data Rini Subono
Teknologi Informasi Sunaryo Hadi
Teknologi Informasi Karyo Junaedi
Tabel mdb

matakuliah buku_wajib
Basis Data Database Systems
Basis Data Modern Database Management
Teknologi Informasi Information Technology Management
Teknologi Informasi Pengantar Teknologi Informasi

Gambar 16. Bentuk Normal Keempat

6. Bentuk Normal Kelima (5NF/ Fifth Normal Form)


Secara praktis, bentuk normal kelima adalah suatu keadaan yang membuat relasi/tabel
yang telah memenuhi bentuk normal keempat tidak dapat didekomposisi menjadi relasi-
relasi yang lebih kecil dengan kunci kandidat relasi-relasi pecahannya tersebut tidak sama
dengan kunci kandidat relasi.
Sebagai contoh, perhatikan gambar di bawah ini.
Tabel mahasiswa
nim nama_mhs jenis_kelamin tanggal_lahir
10507234 Alam Nurjaya Pria 2 November 1987
10507235 Bani Isro Pria 2 Desember 1989
10507236 Ningsih Amira Wanita 1 Februari 1989

Gambar 17. Bentuk Normal Kelima

Relasi tersebut dapat dipecah menjadi dua atau tiga relasi, yang apabila
derekonstruksi akan membentuk kembali data semula. Relasinya bisa berupa seperti
berikut:
R1 (nip*, nama_mhs)
R2 (nip*,
jenis_kelamin) R3
(nip*, tanggal_lahir)
Perhatikan bahwa kunci utama hasil dekomposisi R1, R2 dan R3 sama dengan kunci utama relasi
mahasiswa. Hal ini menyatakan bahwa relasi mahasiswa sebenarnya telah memenuhi bentuk
normal kelima.

Daftar pustaka :

Fathansyah. 2012. Basis Data. Bandung: Informatika.


Kadir, A. 2009. Dasar Perancangan dan Implementasi Database Relasional. Yogyakarta: Andi.
Simarmata, J. 2007. Perancangan Basis Data. Yogyakarta: Andi.
IV. Kriteria Normalisasi

Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria berikut:

1. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman
(Lossless-Join Decomposition). Setelah tabel tersebut didekomposisi menjadi tabel-tabel
baru, tabel-tabel baru tersebut tetap dapat menghasilkan tabel semula dengan sama persis.
2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency
Preservation).
3. Tidak melanggar Boyce-Code Normal Form (BCNF). Jika kriteria BCNF tidak dapat
terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga
(3rd Normal Form/3NF).

Daftar Pustaka:
Fathansyah. 2012. Basis Data. Bandung: Informatika.

Kadir, A. 2009. Dasar Perancangan dan Implementasi Database Relasional. Yogyakarta:


Andi.

Kristanto, H. 2004. Konsep dan Perancangan Database. Yogyakarta: Andi

V. PROSES NORMALISASI

Pada bagian ini, Kita akan belajar cara menggunakan normalisasi untuk menghasilkan
serangkaian tabel normal untuk menyimpan data yang akan digunakan untuk menghasilkan
informasi yang diperlukan. Tujuan normalisasi adalah untuk memastikan bahwa setiap tabel
sesuai dengan konsep hubungan yang terbentuk dengan baik yaitu, tabel yang memiliki
karakteristik sebagai berikut:
• Setiap tabel mewakili satu subjek. Misalnya, tabel kursus hanya akan berisi data yang terkait
langsung dengan kursus. Demikian pula, tabel siswa hanya akan berisi data siswa.
• Tidak ada item data yang tidak perlu disimpan di lebih dari satu tabel (singkatnya, tabel
memiliki redundansi terkontrol minimum). Alasan persyaratan ini adalah untuk memastikan
bahwa data hanya diperbarui di satu tempat.
• Semua atribut nonprima dalam tabel tergantung pada kunci utama, seluruh kunci dan tidak lain
adalah kunci utama. Alasan persyaratan ini adalah untuk memastikan bahwa data dapat
diidentifikasi secara unik dengan nilai kunci utama.
• Setiap tabel tidak memiliki anomali penyisipan, pembaruan, atau penghapusan. Ini untuk
memastikan integritas dan konsistensi data. Untuk mencapai tujuan ini, proses normalisasi
membawa Kita melalui langkah-langkah yang mengarah pada bentuk normal yang lebih tinggi
berturut-turut. Bentuk normal dan karakteristik dasar yang paling umum tercantum dalam
Konsep utama sangat penting dalam diskusi tentang normalisasi. Kunci kandidat adalah kunci
super minimum (tidak dikurangi). Kunci utama adalah kandidat utama yang dipilih ke alat utama
yang digunakan untuk mengidentifikasi garis-garis dalam tabel. Meskipun normalisasi biasanya
disajikan dari perspektif kunci kandidat, untuk kesederhanaan ketika menjelaskan proses
normalisasi pada awalnya, kami akan membuat asumsi bahwa untuk setiap tabel hanya ada satu
kunci kandidat, dan oleh karena itu, kunci kandidat adalah kunci utama. ,
Dari sudut pkitang model data, tujuan normalisasi adalah untuk memastikan bahwa semua tabel
setidaknya dalam bentuk normal ketiga (Third Normal Form). Bentuk normal tingkat yang lebih
tinggi ada. Namun, bentuk normal seperti bentuk normal kelima (5NF) dan bentuk normal kunci
domain (DKNF) tidak dapat ditemukan di lingkungan bisnis dan sebagian besar adalah
kepentingan teoritis. Bentuk normal yang lebih tinggi seperti itu meningkat digabungkan
(memperlambat kinerja) tanpa menambahkan nilai apa pun dalam penghapusan redundansi data.
Beberapa aplikasi yang sangat istimewa, seperti penelitian statistik, mungkin memerlukan
normalisasi di luar 4NF, tetapi aplikasi ini berada di luar jangkauan sebagian besar operasi
bisnis.

Ketergantungan Fungsional
Sebelum menggambarkan proses normalisasi, lebih baik mengetahui konsep penentuan
fungsional dan ketergantungan. Penting untuk memahami konsep-konsep ini karena mereka
digunakan untuk mendapatkan serangkaian dependensi fungsional untuk hubungan tertentu.
Proses normalisasi bekerja satu hubungan pada satu waktu, mengidentifikasi ketergantungan
pada hubungan dan menormalkan hubungannya. Seperti yang akan kita lihat di bagian berikut,
normalisasi dimulai dengan mengidentifikasi ketergantungan hubungan tertentu dan secara
progresif putus hubungan (tabel) menjadi satu set hubungan baru (tabel) berdasarkan dependensi
yang diidentifikasi.
Dua jenis dependensi fungsional yang menjadi perhatian khusus dalam normalisasi adalah
dependensi parsial dan dependensi transitif. Ketergantungan parsial ada ketika ada
ketergantungan fungsional di mana faktor-faktor penentu hanya merupakan bagian dari kunci
utama (ingat kami menganggap hanya ada satu kandidat utama). Misalnya, jika (a, b) → (c, d), b
→ c, dan (a, b) adalah kunci utama, kemudian ketergantungan fungsional b → c adalah
ketergantungan parsial karena hanya sebagian dari kunci utama (b ) diperlukan untuk
menentukan nilai C. dependensi parsial cenderung agak mudah dan mudah diidentifikasi.
Ketergantungan transitif adalah ketika ada ketergantungan fungsional seperti x → y, y → z, dan
x adalah kunci utama. Dalam hal ini, ketergantungan X → Z adalah ketergantungan transitif
karena X menentukan nilai Z melalui Y. Tidak seperti dependensi parsial, dependensi transitif
lebih sulit untuk diidentifikasi antara satu set data. Untungnya, ada cara yang lebih mudah untuk
mengidentifikasi dependensi transitif. Ketergantungan transitif hanya akan terjadi jika
ketergantungan fungsional adalah di antara atribut nonprima. Dalam contoh sebelumnya,
ketergantungan transitif aktual adalah X → Z. Namun, ketergantungan Y → Z menunjukkan
bahwa ketergantungan transitif ada. Oleh karena itu, selama pembahasan proses normalisasi,
keberadaan ketergantungan fungsional di antara atribut nonprima akan dianggap sebagai tkita
ketergantungan transitif. Untuk mengatasi masalah yang terkait dengan ketergantungan transitif,
perubahan dalam struktur tabel dilakukan berdasarkan ketergantungan fungsional yang
menunjukkan adanya ketergantungan transitif. Oleh karena itu, untuk menyederhanakan
deskripsi normalisasi, mulai saat ini kita akan merujuk pada ketergantungan pensinyalan sebagai
ketergantungan transitif.

1. Coversion to First Normal Form (Konversi Ke Bentuk Normal Pertama)


Karena model relasional melihat data sebagai bagian dari tabel atau kumpulan tabel di mana
semua nilai kunci harus diidentifikasi. Grup yang berulang mendapatkan namanya dari fakta
bahwa grup dengan beberapa entri dengan jenis yang sama dapat ada untuk setiap atribut kunci
tunggal.
Normalisasi struktur tabel akan mengurangi redundansi data. Jika kelompok yang berulang
memang ada, grup harus dihilangkan dengan memastikan bahwa setiap baris mendefinisikan satu
entitas. Selain itu, ketergantungan harus diidentifikasi untuk mendiagnosis bentuk normal.
Identifikasi formulir normal akan memberi tahu Kita di mana Kita berada dalam proses
normalisasi. Proses normalisasi dimulai dengan prosedur tiga langkah sederhana.
Langkah 1: Hilangkan sekelompok berulang kali dengan menyajikan data dalam format tabel, di
mana setiap sel memiliki satu nilai dan tidak ada grup yang diulang. Untuk menghilangkan grup
yang berulang, hapus NULL dengan memastikan bahwa setiap atribut grup berulang berisi nilai
data yang sesuai.
Langkah 2: Identifikasi kunci utama
Langkah 3: Identifikasi Semua Dependensi
Ketergantungan ini adalah antara dua atribut nonprime. Oleh karena itu ini adalah sinyal bahwa
ketergantungan transitif ada. Ketergantungan sangat membantu dalam mendapatkan gambaran
komprehensif tentang semua hubungan antara atribut tabel, dan penggunaannya membuat kita
cenderung mengabaikan ketergantungan penting.
Meskipun ketergantungan parsial kadang-kadang digunakan untuk alasan kinerja, dependensi ini
harus digunakan dengan hati-hati. Perhatian seperti itu diperlukan karena tabel yang
mengandung dependensi parsial masih tunduk pada redundansi data, dan karenanya, berbagai
anomali. Redundansi data terjadi karena setiap entri baris memerlukan duplikasi data.
2. Conversion to Second Normal Form (Koversi ke Bentuk Normal Kedua)
Konversi ke Second Normal Form dilakukan hanya jika First Normal Form memiliki kunci
tombol komposit. Jika First Normal Form memiliki satu atribut tunggal kunci, maka tabel secara
otomatis dalam Second Normal Form. Konversi First Normal Form-Second Normal Form
sederhana. Dimulai dengan format First Normal Form, kita melakukan hal berikut:
Langkah 1: Buat tabel baru untuk menghilangkan ketergantungan parsial
Untuk setiap komponen kunci utama yang bertindak sebagai penentu dalam ketergantungan
parsial, buat tabel baru dengan salinan komponen sebagai kunci utama. Meskipun komponen ini
ditempatkan di tabel baru, penting bahwa komponen tetap ada di tabel asli. Penting bahwa
penentu tetap ada di tabel asli karena mereka akan menjadi kunci asing untuk hubungan yang
diperlukan untuk menghubungkan tabel baru ini ke tabel asli. Untuk pengembangan diagram
dependensi yang direvisi, tulis setiap komponen kunci dalam baris terpisah; Kemudian tulis
kunci asli (komposit) di baris terakhir.
Langkah 2: Tugaskan ulang atribut dependen yang sesuai
Atribut yang tergantung pada ketergantungan parsial dihapus dari tabel asli dan ditempatkan di
tabel baru dengan determinannya. Atribut apa pun yang tidak tergantung pada ketergantungan
parsial akan tetap ada di tabel asli. Dengan kata lain, tiga tabel yang dihasilkan dari konversi ke
Second Normal Form diberi nama yang sesuai. Karena ketergantungan parsial hanya dapat ada
jika kunci tabel primer terdiri dari beberapa atribut, tabel yang tombol utamanya hanya terdiri
dari satu atribut secara otomatis dalam Second Normal Form setelah berada di First Normal
Form.
3. Conversion to Third Normal Form (Koversi ke Bentuk Normal Ketiga)
Langkah 1: Buat tabel baru untuk menghilangkan ketergantungan transitif untuk setiap
ketergantungan transitif, tulis salinan determinan sebagai kunci utama untuk tabel baru.
Determinan adalah atribut yang nilainya menentukan nilai lain dalam satu baris. Jika Kita
memiliki tiga dependensi transitif yang berbeda, Kita akan memiliki tiga faktor penentu yang
berbeda. Seperti konversi ke Second Normal Form, penting bahwa faktor-faktor penentu tetap
ada di tabel asli berfungsi sebagai kunci asing.
Langkah 2: Tugaskan ulang atribut dependen yang sesuai
Identifkasi atribut yang tergantung pada masing-masing penentu yang diidentifikasi pada
langkah 1. Tempatkan atribut dependen di tabel baru dengan determinan dan hapus dari tabel
asli.
Sangat menarik untuk mencatat kesamaan antara menyelesaikan masalah Second Normal Form
dan Third Normal Form. Untuk mengonversi tabel dari First Normal Form ke Second Normal
Form, Kita perlu menghapus dependensi parsial. Untuk mengonversi tabel dari Second Normal
Form ke Third Normal Form, kita perlu menghapus dependensi transitif. Tidak peduli apakah
ketergantungan "masalah" adalah ketergantungan parsial atau ketergantungan transitif, solusinya
sama. Buat tabel baru untuk ketergantungan masalah. Penentu dari ketergantungan masalah tetap
di tabel asli dan ditempatkan sebagai kunci utama dari tabel baru. Masalah dependensi
ketergantungan dihapus dari tabel asli dan ditempatkan sebagai atribut nonprima di tabel baru.
Namun, perlu untuk mengetahui bahwa meskipun tekniknya sama, Second Normal Form harus
dicapai sebelum beralih ke Third Normal Form; Pastikan untuk menyelesaikan dependensi
parsial sebelum menyelesaikan dependensi transitif. Ingat, bagaimanapun, asumsi yang dibuat
pada awal pembahasan proses normalisasi - bahwa setiap tabel hanya memiliki satu kandidat
utama, yang merupakan kunci utama. Jika tabel memiliki beberapa kunci kandidat, maka seluruh
proses tetap sama, tetapi ada pertimbangan tambahan.
Misalnya, jika tabel memiliki beberapa kandidat utama dan salah satu kandidat utama adalah
kunci komposit, tabel dapat memiliki ketergantungan parsial berdasarkan kunci kandidat
gabungan ini, bahkan ketika tombol utama dipilih adalah atribut tunggal. Dalam kasus ini,
mengikuti proses yang dijelaskan di atas, ketergantungan akan dianggap sebagai ketergantungan
transitif dan tidak akan diselesaikan hingga Third Normal Form. Proses yang disederhanakan
yang dijelaskan di atas akan memungkinkan perancang untuk mencapai hasil yang benar, tetapi
melalui praktik, Kita harus mengenali semua kandidat dan ketergantungan utama seperti itu, dan
menyelesaikannya. Keberadaan beberapa kandidat juga dapat mempengaruhi identifikasi
dependensi transitif. Sebelumnya, dependensi transitif didefinisikan ketika satu atribut nonprima
menentukan atribut nonprima lainnya. Jika ada beberapa kunci kandidat, definisi atribut
nonprima sebagai atribut yang bukan bagian dari kunci kandidat yang sangat penting. Jika
penentu ketergantungan fungsional bukanlah kunci utama tetapi merupakan bagian dari kandidat
utama, maka itu bukan atribut nonprima dan tidak menunjukkan ketergantungan transitif.
DAFTAR PUSTAKA: Carlos, Coronel. Steven Morris., dan Peter Rob. (2009). Database
Systems: Design, Implementation, and Management (9th ed). Boston: Cengage Learning.

Anda mungkin juga menyukai