TAHAPAN NORMALISASI
Assalamu'alaikum Warahmatullahi Wabarakatuh...
Salam sejahtera untuk kita semua, Alhamdulillah atas segala Kenikmatan-Nya. Aamiin....
Perkenalkan nama saya Ilham Fajar F, saya adalah salah seorang Pelajar Di SMK Taruna Bangsa Kota Bekasi Saya mengambil jurusan Teknik Informatika. Langsung saja, dalam kesempatan yang berbahagia ini saya akan menjelaskan apa itu Tahapan Normalisasi, Normalisasi itu sendiri serta hal-hal yang saling berkaitan.
- TUJUAN NORMALISASI : untuk menghilangkan kerangkapan data, untuk mengurangi kompleksitas, serta untuk mempermudah pemodifikasian data.
- PROSES NORMALISASI : data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat, apabila tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
- TAHAPAN NORMALISASI : Tahapan Normalisasi dimulai dari tahap ringan (1NF) hingga paling ketat (5NF). Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Urutannya : 1NF, 2NF, 3NF, BCNF, 4 NF, 5NF
- Bentuk Tidak Normal
- Bentuk Normal Pertama (1NF) : Menghilangkan Perulangan Grup
- Bentuk Normal Kedua (2NF) : Menghilangkan Ketergantungan Parsial
- Bentuk Normal Ketiga (3NF) : Menghilangkan Ketergantungan Transitif
- Bentuk Normal Boyce-Code Form (BCNF) : Menghilangkan anomali-anomali hasil dari ketergantungan fungsional
- Bentuk Normal Keempat (4NF) : Menghilangkan ketergantungan multivalue
- Bentuk Normal Kelima : Menghilangkan anomali-anomali yang tersisa
- FUNGSIONAL DEPENDENSI : misalkan kita pakai notasi A--> B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama. Sebagai contohnya, ada sebuah nota seperti pada gambar di bawah ini :
fungsi formulir ?
masalah yang muncul ?
jumlah atribut ?
Kemudian dijadikan ke dalam bentuk
2. Bentuk Normal Tahap Pertama (1NF)
Masalah yang muncul : Duplication, Inconsistency, Data Isolation, dan Un-Efficiency
3. Bentuk Normal Tahap Kedua (2NF)
masalah yang muncul ?
jumlah atribut ?
Kemudian dijadikan ke dalam bentuk
- Un-Normal Form
- Berupa relasi umum, sesuai kenyataan
- Mencerminkan item data nyata
- Mencerminkan bagian dari suatu sistem
- Belum dapat digunakan sebagai database
- Bentuk Flat Table menggambarkan jumlah atribut
2. Bentuk Normal Tahap Pertama (1NF)
- Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued attribute), atribut composite atau kombinasinya dalam domain data yang sama.
- Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi).
Masalah yang muncul : Duplication, Inconsistency, Data Isolation, dan Un-Efficiency
3. Bentuk Normal Tahap Kedua (2NF)
- Bentuk Normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional dependency pada primary key.
- Sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungannya (Functional Dependency) hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key).
- Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan.
Lanjutan dari materi diatas, bahwa tabel yang sudah ada tadi yang berisi atribut Nota No., Tanggal, Tuan, Alamat, Kota, Phone, Seri, Nama Barang, Jumlah, Harga, Satuan, Jumlah Harga, dan Total.
Kita dapat urai lagi menjadi beberapa tabel baru, sebagai contoh saya bagi tiga tabel baru. Untuk penamaannya terserah kita. Misalkan kita dapat pecah dengan nama Tabel NTT, Tabel TAKP, dan Tabel SNJHS-J seperti pada gambar berikut :
Dari ketiga tabel tersebut masih ada beberapa masalah yang muncul yakni masalah :
Dengan tambahan dari pemecahan tabel SNJHS-J menjadi SNHS dan SJJ. Seperti pada gambar di bawah ini :
Apakah perlu dilakukan tahapan selanjutnya ke BCNF? Dari awal sudah ada penjelasan bahwa untuk Tahap Ketiga ini tabel-tabel sudah berkualitas baik. Kalau bisa dilakukan ke BCNF tidak masalah. OK...daripada bingung-bingung saya jelaskan langsung saja Apa itu BCNF.
Kita dapat urai lagi menjadi beberapa tabel baru, sebagai contoh saya bagi tiga tabel baru. Untuk penamaannya terserah kita. Misalkan kita dapat pecah dengan nama Tabel NTT, Tabel TAKP, dan Tabel SNJHS-J seperti pada gambar berikut :
Dari ketiga tabel tersebut masih ada beberapa masalah yang muncul yakni masalah :
- Lose-Less Decomposition
- Dependency Preservation. Coba kita lihat pada tabel SNJHS-J, atribut Jumlah serta Jumlah Harga masih juga samar-samar jadi permasalahan yang muncul adalah Transitive Dependency. Maka perlu dilakukan langkah normalisasi bentuk ketiga (3NF).
- Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF, dan jika tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya,
- Untuk setiap Functional Dependency dengan notasi X-->A, maka :
- X harus menjadi superkey pada tabel tersebut.
- Atau A merupakan bagian dari primary key pada tabel tersebut.
Dengan tambahan dari pemecahan tabel SNJHS-J menjadi SNHS dan SJJ. Seperti pada gambar di bawah ini :
Apakah perlu dilakukan tahapan selanjutnya ke BCNF? Dari awal sudah ada penjelasan bahwa untuk Tahap Ketiga ini tabel-tabel sudah berkualitas baik. Kalau bisa dilakukan ke BCNF tidak masalah. OK...daripada bingung-bingung saya jelaskan langsung saja Apa itu BCNF.
5. Boyce-Code Normal Form (BCNF)
- Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap Functional Dependency terhadap setiap atribut atau gabungan atribut dalam bentuk : X --> Y maka X adalah Super Key.
- Tabel tersebut harus di dekomposisi berdasarkan Functional Dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi.
- Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF. Perbedaannya, untuk Functional Dependency X--> A, BCNF tidak membolehkan A sebagai bagian dari primary key.
- Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued attribute.
- Untuk setiap multivalued attribute (MVD) juga harus merupakan Functional Dependency
- Bentuk normal 5NF terpenuhi jika memiliki sebuah loseloss decomposition menjadi tabel-tabel yang lebih kecil.
- Jika 4 bentuk normal sebelumnya dibentuk berdasarkan Functional Dependency, 5NF dibentuk berdasarkan konsep Join Dependence. Yakni apabila sebuah tabel telah di dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi untuk membentuk tabel semula.
- Analisa Overnormalisasi diperlukan jika :
- Database ini digunakan untuk sistem multi user
- Tabel-tabel yang sudah normal ini digabungkan dengan fungsi lain yang ada di lapangan, misalnya; untuk fungsi retur, untuk fungsi inventori, untuk fungsi sales order maupun order pembelian, untuk fungsi keamanan database, dan lain-lain.
Semoga bermanfaat sobat....!!!!
0 komentar:
Posting Komentar