Modul V
Normalisasi
I. Tujuan
a. Mahasiswa mampu membuat database yang baik (Efisien)
b. Mahasiswa mampu melakukan normalisasi tabel
a. Primary Key : Key utama atau kunci primer adalah satu atau lebih atribut yang
digunakan untuk mengidentifikasi setiap baris dalam tabel. Setiap tabel hanya
memiliki satu primary key.
b. Foreign Key : Key asing atau kunci asing adalah atribut yang digunakan untuk
membuat hubungan antara dua tabel dalam database. Atribut ini merupakan
primary key dari tabel asal (atau parent table) dan ditambahkan ke tabel tujuan
(atau child table) sebagai foreign key.
c. Candidate Key : Kunci kandidat atau candidate key adalah atribut atau
kombinasi atribut yang dapat digunakan sebagai primary key karena memiliki
sifat unik dan tidak null.
d. Alternate Key : Kunci alternatif atau alternate key adalah candidate key selain
primary key yang dapat digunakan untuk mengidentifikasi setiap baris dalam
tabel.
Praktikum Basis Data
1.2 Atribut Deskriptif
Atribut deskriptif dalam database adalah atribut yang digunakan untuk
memberikan informasi atau deskripsi tentang suatu objek atau entitas dalam sebuah
tabel. Atribut deskriptif biasanya digunakan untuk memberikan informasi tambahan
atau deskripsi yang berguna dalam proses pengolahan data. Contoh atribut deskriptif
adalah nama, alamat, nomor telepon, email, dan sebagainya. Atribut ini dapat
digunakan untuk menggambarkan atau menjelaskan suatu objek dalam tabel, seperti
pelanggan, produk, atau transaksi. Atribut deskriptif ialah Atribut-atribut yang tidak
menjadi atau bukan merupakan anggota dari atribut primary key.
1.2.1 Atribut sederhana dan Komposit
- Atribut Sederhana
Atribut sederhana adalah atribut yang nilainya tunggal atau tidak terdiri
dari atribut lainnya. Contoh atribut sederhana adalah nama, alamat, umur,
dan lain sebagainya. Setiap atribut sederhana
memiliki tipe data tertentu seperti string, integer, atau float. Atribut
sederhana adalah atribut atomik yang tidak dapat dibagi lagi. Contoh :
Atribut nama mahasiswa
- Atribut komposit adalah atribut yang masih dapat diuraikan lagi menjadi
sub-sub atribut yang masing-masing memiliki makna.
Contoh : Atribut alamat (sub atribut nama kota, jalan, kode pos).
1.2.2 Atribut bernilai tunggal dan bernilai banyak
- Atribut bernilai banyak adalah Atribut bernilai banyak adalah atribut yang
memiliki lebih dari satu nilai untuk setiap baris data dalam tabel.
Contohnya adalah atribut 'bahasa' pada tabel karyawan, dimana setiap
karyawan dapat menguasai lebih dari satu bahasa.
Praktikum Basis Data
1.2.3 Atribut harus bernilai dan nilai Null
2. Ketergantungan (Dependency)
Konsep ketergantungan (dependency) dalam basis data mengacu pada hubungan
antara dua atau lebih atribut dalam sebuah tabel. Dalam konsep ini, ketergantungan
terjadi ketika nilai dari satu atau beberapa atribut dalam tabel dapat menentukan nilai
dari atribut lainnya. Jenis-jenis ketergantungan :
a. Ketergantungan Fungsional
Ketergantungan fungsional terjadi ketika nilai dari satu atau beberapa
atribut dalam tabel dapat menentukan nilai dari atribut lainnya secara unik.
Contohnya, dalam tabel karyawan, nomor identitas karyawan dapat menentukan
nama karyawan secara unik. Dalam hal ini, kita dapat mengatakan bahwa ada
Praktikum Basis Data
ketergantungan fungsional antara nomor identitas karyawan dan nama
karyawan.
b. Ketergantungan Nonfungsional
Ketergantungan nonfungsional terjadi ketika terdapat ketergantungan
antara dua atau lebih atribut dalam tabel, tetapi ketergantungan tersebut tidak
bersifat fungsional. Contohnya, dalam tabel karyawan, alamat email dan nomor
telepon dapat berkaitan, tetapi tidak bersifat fungsional.
c. Ketergantungan Total
Ketergantungan total (total dependency) adalah jenis ketergantungan
fungsional di mana suatu atribut dapat ditentukan sepenuhnya oleh kombinasi
nilai dari beberapa atribut lain dalam sebuah tabel. Dalam hal ini, nilai dari
atribut tersebut tidak dapat ditentukan hanya oleh salah satu atribut saja,
melainkan harus melibatkan kombinasi nilai dari beberapa atribut.
d. Ketergantungan Transitif
Ketergantungan transitif (transitive dependency) adalah jenis ketergantungan
fungsional di mana suatu atribut dapat ditentukan oleh atribut lain melalui
atribut yang ketiga dalam sebuah tabel. Dalam hal ini, nilai dari suatu atribut
tidak ditentukan langsung oleh atribut utama, melainkan melalui atribut yang
tidak langsung terhubung dengan atribut tersebut.
3. Normalisasi
Teknik/pendekatan yang digunakan dalam membangun desaign logic
database relasional melalui organisasi himpunan data dengan tingkat
ketergantungan fungsional dan keterkaitan yang tinggi sedemikian sehingga
menghasilkan struktur tabel yang normal. Proses normalisasi bertujuan untuk,
meminimalisasi redundansi (pengulangan data), memudahkan identifikasi entitas,
mencegah terjadinya anomali, mengurangi kompleksitas, menciptakan basisdata
yang efektif dan efisien.
Proses desain database yang bertujuan untuk mengurangi redundansi data
dan memperbaiki struktur basis data agar lebih efisien dan terorganisir dengan baik.
Normalisasi dilakukan dengan memecah tabel-tabel yang tidak memenuhi syarat-
syarat normalisasi menjadi beberapa tabel kecil yang terkait dengan baik satu sama
lain.
Praktikum Basis Data
Proses Normalisasi : (1.) Data diuraikan dalam bentuk tabel, selanjutnya
dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. (2.) Apabila tabel
yang diuji belum memenuhi persyaratan tertentu (bentuk normal), maka tabel
tersebut perlu dipecah menjadi beberapa tabel yanglebih sederhana sampai
memenuhi bentuk yang optimal. Beberapa bentuk normal (normal forms, NF):
1NF, 2NF, 3NF, BCNF based on keys and functional dependencies
4NF, 5NF based on keys and multi-valued dependencies
Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria
sebagai berikut :
a. Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus
dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut
diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut
bisa menghasilkan tabel semula dengan sama persis.
b. Terpeliharanya ketergantungan fungsional pada saat perubahan data
(Dependency Preservation).
c. Tidak melanggar Boyce-Code Normal Form (BCNF)
Normalisasi terdiri dari beberapa tingkat normalisasi atau normal form.
1. Bentuk Normal Pertama (1NF)
Suatu relasi disebut memenuhi bentuk normal pertama (1NF) jika dan hanya
jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dan tidak ada
pengulangan grup atribut dalam baris. Bentuk
1NF tidak boleh mengandung grup atribut yang berulang.
Tujuan membentuk 1NF :
• Semantik tabel menjadi lebih eksplisit (say anything once).
• Semua operator aljabar relasional dapat diaplikasikan pada tabel.
Praktikum Basis Data
Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu
III. Guided
PT. Mencari Berkah Sejati
Jl. D.I Panjaitan No 128 Purwokerto 53147
IV.Unguided
Hasil perancangan basidata dalam bentuk normal ketiga (3NF) atau BCNF dari
persoalan dibawah ini.
Perpusda Hongwarts
Jl. In aja No.23