MODUL X
NORMALISASI
Disusun Oleh :
Narantyo Maulana A.N
NIM : 19104048
Dosen
Sena Wijayanto, S.Pd., M.T
A. Atribut Tabel
1. Key dan Atribut Deskriptif
Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan
semua baris data (row) dalam tabel secara unik. Jika suatu atribut dijadikan key, maka
tidak boleh ada dua atau lebih baris data dengan nilai yang sama untuk atribut tersebut.
2. Atribut sederhana dan Komposit
Atribut sederhana adalah atribut atomik yang tidak dapat dibagi lagi. Contoh:
Atribut nama mahasiswa.
3. Atribut bernilai tunggal dan bernilai banyak
Atribut bernilai tunggal (single value attribute) adalah atribut- atribut yang
memiliki nilai paling banyak satu nilai untuk setiap baris data. Contoh: atribut nim, nama
mahasiswa, alamat, tanggal lahir.
4. Atribut harus bernilai dan nilai Null
Atribut Harus Bernilai (Mandatory Attribute): Atribut yang ditetapkan harus
memiliki nilai, tidak boleh kosong/null. Contoh: Atribut Nim, Nama mahasiswa.
5. Atribut turunan
Atribut turunan (Derevatif Attribute) adalah atribut yang nilai- nilainya diperoleh
dari pengolahan atau dapat diturunkan dari atribut atau tabel lain. Atribut ini sebenarnya
dapat ditiadakan dari sebuah tabel, karena nilai-nilainya bergantung pada nilai yang ada
didalam atribut lain. Contoh: atribut angkatan, IP, Usia.
B. Ketergantungan (Dependency)
Ketergantungan merupakan konsep yang mendasari normalisasi. Ketergantungan
menjelaskan hubungan antar atribut atau secara lebih khusus menjelaskan nilai suatu
atribut yang menentukan nilai atribut
lainnya. Ketergantungan ini kelak akan menjadi acuan bagi pendekomposisian data
kedalam bentuk yang paling efisien. Jenis-jenis ketergantungan:
1. Ketergantungan Fungsional
Ketergantungan Fungsional didefinisikan sebagai berikut: Suatu atribut Y
mempunyai Ketergantungan Fungsi terhadap atribut X jika dan hanya jika setiap nilai X
berhubungan dengan sebuah nilai Y. Berarti A secara fungsional menentukan B atau B
secara fungsional tergantung pada A.
Ditulis dengan notasi: X → Y
2. Ketergantungan Fungsional Penuh
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). Suatu
atribut Y mempunyai dependensi sepenuhnya terhadap atribut X jika:
✓ Y mempunyai dependensi terhadap X
✓ Y tidak mempunyai dependensi terhadap bagian dari X
3. Ketergantungan Total
Didefinisikan sebagai berikut: Suatu atribut Y mempunyai ketergantungan total
terhadap atribut X jika:
✓ Y memiliki ketergantungan fungsional terhadap X
✓ X mempunyai ketergantungan fungsional terhadap Y
4. Ketergantungan Transitif
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.
✓ Y memiliki dependensi terhadap X dan
✓ Z memiliki dependensi terhadap Y
Ditulis dengan notasi: X → Y → Z
C. Normalisasi
Teknik/pendekatan yang digunakan dalam membangun disain lojik 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 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 yang lebih
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)
Untuk normalisasi ke bentuk 2NF, maka tabel 1NF didekomposisi menjadi beberapa
tabel yang masing-masing memenuhi 2NF. Bila terdapat ketergantungan parsial maka:
eliminate.
Pengertian lain dari bentuk normal ketiga (3NF) jika dan hanya jika setiap FD
nontrivial: X → A, dimana X dan A atribut (atau kompositnya), memenuhi salah satu
kondisi :
a. X adalah superkey
b. A merupakan anggota candidate key (A disebut prime attribute)
Jika suatu relasi sudah memenuhi 2NF tapi tidak memenuhi 3 NF, maka untuk
normalisasi ke bentuk 3NF, tabel 2NF didekomposisi menjadi beberapa tabel hingga
masing-masing memenuhi 3NF. Jika suatu relasi memenuhi 2NF dan hanya memiliki
tepat satu atribut yang bukan kunci utama maka relasi tsb memenuhi 3NF.
Semantik tabel 3NF menjadi lebih eksplisit (fully FD hanya pada primary key).
GUIDED
Rancangan tabel penyimpanan data dan normalisasi hingga 3NF atau BCNF.
SP001 PT.Niagara Jl.Supersemar No. 14 0222-775634 PB0012 12 Desember 2020 BR00003 Meja
1.200.000 5
6.000.000 30.000.000
Surabaya BR00004 Kursi 8.000.000
800.000 10
BR00005 Papan Tulis 7.000.000
1.400.000 5
BR00007 Proyektor 9.000.000
3.000.000 3
SP003 PT.Berlian Jl. Superwomen No. 17 021-795689 PB0015 15 Januari 2021 BR00006 Dispenser 3.000.000 4.400.000
1.500.000 2
Jakarta BR00009 Tempat 1.000.000
Sampah 100.000 10
BR00011 Ember 400.000
40.000 10
Implementasi DBMS MySQL bentuk normal ketiga (3NF) atau BCNF dari persoalan GUIDED.
1. Tabel Barang
2. Tabel Suplier
3. Tabel Harga
Data tabel harga
4. Tabel Nota