Praktikum Desain Basis data 6
Normalisasi
Menggunakan Microsoft Excel
Landasan Teori
Pada pembahasan kali ini, kita akan membahas tentang
normalisasi. Apa itu normalisasi? Apa tujuannya? Dan bagaimana caranya? Berikut
sedikit cuplikannya.....
Ada beberapa definisi dari
normalisasi, yaitu normalisasi adalah suatu teknik untuk mengorganisasi data ke
dalam tabel-tabel untuk memenuhi
kebutuhan pemakai di dalam suatu organisasi atau sebuah teknik dalam logical
desain sebuah basis data yang mengelompokkan atribut dari suatu relasi sehingga
membentuk struktur relasi yang baik (tanpa redudansi). Normalisasi dapat juga didefinisikan sebagai proses pembentukan struktur basis
data sehingga sebagian besar anomali
bisa dihilangkan.
Anomali adalah proses pada basis
data yang memberikan efek samping yang tidak di harapkan, seperti menyebabkan
ketidak konsistenan data atau membuat suatu data menjadi hilang ketika data
lain di hapus.
Macam-macam anomali:
1. anomali peremajaan/edit/update
2. anomali penyisipan/insert
3. anomali penghapusan/delete
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. Tujuan dari normalisasi itu sendiri yaitu :
•
Untuk menghilang kerangkapan data
•
Untuk mengurangi kompleksitas
•
Untuk mempermudah pemodifikasian data
Ada beberapa
bentuk normalisasi, yaitu :
- Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)
- Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF)
- Bentuk Normal Tahap (3rd Normal Form / 3NF)
- Boyce-Code Normal Form (BCNF)
- Bentuk Normal Tahap (4th Normal Form / 4NF)
- Bentuk Normal Tahap (5th Normal Form / 5NF)
Proses normalisasi yaitu data
diuraikan dalam bentuk tabel, selanjutnya
dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila
tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu
dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang
optimal.
Ada 3 kriteria Sebuah tabel dikatakan baik (efisien) atau
normal, yaitu :
- Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Maksudnya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis.
- Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).
- Tidak melanggar Boyce-Codd Normal Form (BCNF)
Jika
kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut
tidak melanggar Bentuk Normal tahap
ketiga (3rd Normal Form / 3NF).
Tahap Normalisasi dimulai dari
tahap paling ringan yaitu 1NF hingga
paling ketat yaitu 5NF. Tapi biasanya hanya sampai pada tingkat 3NF atau BCNF
karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas
baik.
Berikut urutan tahapannya :
Bentuk Tidak Normal
(Unnormalization)
Bentuk Normal Pertama (1NF)
Bentuk Normal Kedua (2NF)
Bentuk Normal Ketiga (3NF)
Bentuk Normal Boyce-Codd (BCNF)
Bentuk Normal Keempat (4NF)
Bentuk Normal Kelima (5NF)
Sedikit
penjelasan tentang tahapan tersebut adalah sebagai berikut :
1. Unnormalization Form (UF)
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
2. 1NF
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). Maksudnya atom adalah zat terkecil yang
masih memiliki sifat induknya, bila terpecah lagi maka ia tidak memiliki sifat
induknya.
Syarat 1NF adalah sebagai berikut :
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. tiap tribut hanya memiliki satu pengertian.
3. 2NF
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.
Pada 2NF haruslah sudah ditentukan
kunci field yang unik dan dapat mewakili atribut lain yang menjadi anggotanya.
Syarat dari 2NF adalah sebagai
berikut :
1. Bentuk data telah memenuhi
kriteria bentuk normal kesatu (1NF).
2. Atribute bukan kunci (non-key)
haruslah memiliki ketergantungan fungsional sepenuhnya (fully functional
dependency) pada kunci utama / primary key.
4. 3NF
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit
dari pada relasi 1-NF, namun relasi tersebut masih mungkin mengalami
kendala bila terjadi anomaly update terhadap relasi tersebut.
Pada 3NF semua atribut bukan primer tidak punya hubungan yang
transitif. Dengan kata lain setiap atribut bukan kunci, haruslah bergantung
hanya pada primary key dan pada primary key secara menyeluruh.
Adapun syarat dari 3NF yaitu :
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.
5. BCNF
BCNF memiliki paksaan yang lebih kuat dari bentuk 3NF. Untuk
menjadi BCNF, relasi haruslah dalam bentuk 1NF dan setiap atribut harus
bergantung fungsi pada atribut super key.
Sejauh mana normalisasi harus dilakukan?
pertanyaan ini sering kali muncul ketika kita akan melakukan normalisasi. Pada
dasarnya, kita harus terus melakukan langkah-langkah normalisasi sehingga kita
tidak menemukan anomali-anomali. Pada umumnya, normalisasi hingga 3NF saja
sudah cukup untuk menghilangkan anomali-anomali. Tetapi tanpa sadar kadang kita
melangkah terus hingga BCNF, 4NF dan 5NF. Tidak ada standar baku sampai sejauh
mana kita perlu melaksanakan langkah-langkah normalisasi. Prinsipnya, lakukan
normalisasi hingga anomali-anomali tidak di temukan lagi.
Hasil praktikum
Untuk me-normalisasikan soal di atas, langkah pertama yaitu dengan unnormalization
seperti gambar di bawah ini hasilnya :
Sesudah itu, kita mulai dengan 1NF.
Berikut gambarnya :
Sesudah 1NF-kan, kemudian 2NF.
Berikut gambarnya :
2NF selesai. Sekarang
penambahan-penambahannya yaitu pada 3NF. Berikut gambarnya :
Dan cukup 3NF untuk normalization
kali ini.
Pekerjaan rumah
Pada pekerjaan rumah,
langkah-langkahnya sama saja dengan tugas praktikum. Soalnya yaitu pada gambar
di bawah ini :
Berikut gambar langkah-langkahnya
:
Unnormalization form
1NF
2NF
3NF
Kesimpulan
Dari
hasi praktikum dan pekerjaan rumah, dapat disimpulkan bahwa normalisasi
dilakukan agar tidak ada kerangkapan data, meminimalisis kompleksitas pada data
dan untuk memudahkan untuk memodifikasi data. Langkah untuk menormalisasi di
mulai dari meng-unnormaliztion, 1NF, 2NF, 3NF, BCNF, 4NF dan yang paling ketat
yaitu 5NF. Tetapi pada umumnya, normalisasi dilakukan hanya sampai 3NF atau
BCNF karena tidak ada standar baku yang membatasi.
Pada
intinya, normalisasi dilakukan sampai anomali-anomali tidak di temukan lagi.
Kritik /Saran
Ilmu yang tidak
di amalkan bagai pohon yang tak berbuah, itulah kata pepatah. Begitu juga Ilmu dari
para senior di harapkan untuk di amalkan sebagai kritik dan saran agar blog ini
semakin bermanfaat.
Semoga coretan di
atas memberikan manfaat dan sedikit pandangan kepada pada pembaca. Tidak pernah
bosan, saya mengingatkan untuk berdoa terlebih dahulu. Terima kasih. ^_^
Daftar Pustaka
normalisasi-data.pdf
Tidak ada komentar:
Posting Komentar