Laporan Praktikum Desain Basis Data VI : Normalisasi

Sunday, November 2, 2014

Teori

   Ketika kita merancang suatu basis data untuk suatu sistem relational, prioritas utama dalam mengembangkan model data logical adalah dengan merancang suatu representasi data yang tepat bagi relationship dan constrainnya (batasannya).Kita harus mengidentifikasi suatu set relasi yang cocok, demi mencapai tujuan di atas. Tehnik yang dapat kita gunakan untuk membantu mengidetifikasi relasi-relasi tersebut dinamakan Normalisasi.

   Proses normalisasi pertama kali diperkenalkan oleh E.F.Codd pada tahun 1972. Normalisasi sering dilakukan sebagai suatu uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi tersebut sudah baik atau masih melanggar aturan-aturan standar yang diperlakukan pada suatu relasi yang normal (sudah dapat dilakukan proses insert, update, delete, dan modify pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut).


   Proses normalisasi merupakan metode yang formal/standar dalam mengidentifikasi dasar relasi bagi primary keynya (atau candidate key dalam kasus BCNF), dan dependensi fungsional diantara atribut-atribut dari relasi tersebut. Normalisasi akan membantu perancang basis data dengan menyediakan suatu uji coba yang berurut yang dapat diimplementasikan pada hubungnan individualshingga skema relasi dapat di normalisasi ke dalam bentuk yang lebih spesifik untuk menghindari terjadinya error atau inkonsistansi data, bila dilakuan update tehadap relasi tersebut dengan Anomaly.

Definisi Normalisasi

   Normalisasi adalah suatu proses memperbaiki / membangun dengan model data relasional, dan secara umum lebih tepat dikoneksikan dengan model data logika.
Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi.

   Normalisasi dapat berguna dalam menjawab 2 pertanyaan mendasar yaitu: “apa yang dimaksud dengan desain database logical?” dan “apa yang dimaksud dengan desain
database fisikal yang baik? What is phisical good logical database design?”.
Normalisasi adalah suatu proses untuk mengidentifikasi “tabel” kelompok atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut dengan atrubut lainnya.
Normalisasi bisa disebut jga sebagai proses pengelompokan atribut-atribut dari suatu
relasi sehingga membentuk WELL STRUCTURED RELATION.

Source >> http://serba---ada.blogspot.com/2012/12/normalisasi-database.html


Tujuan Normalisasi

   Pada dasarnya normalisasi dilakukan untuk memperbaiki desain tabel yang kurang baik sehingga penyimpanan data menjadi lebih efisien dan bebas anomali data. Untuk memperjelas pemahaman tentang proses normalisasi, perhatikan diagram berikut:



   Intinya, normalisasi dilakukan terhadap desain tabel yang sudah ada dengan tujuan untuk meminimalkan redundansi (pengulangan) data dan menjamin integritas data dengan cara menghidari 3 Anomali Data:Update, Insertion dan Deletion Anomaly.
Update Anomaly



   Tabel di atas adalah contoh tabel yang memiliki desain yang kurang baik. Perhatikan bahwa jika kita ingin meng-update jumlah sks mata kuliah English dari 2 menjadi 3 sks, maka kita harus mengupdate lebih dari 1 record, yaitu baris 2 dan 4.
Jika hanya salah satu baris saja yang di-update, maka data menjadi tidak konsisten (ada mata kuliah English dengan 2 sks dan ada mata kuliah English dengan 3 sks) . Kondisi seperti inilah yang disebut dengan update anomaly.
Insertion Anomaly



   Pada tabel yang sama seperti contoh di atas, terjadi pula insertion anomaly. Misalkan terdapat mahasiswa baru dengan nim 1-02 bernama ‘Zubaedah’ dengan kode jurusan ‘TE’ dan nama jurusan ‘Elektro’.
Data mahasiswa tersebut tidak dapat dimasukkan ke dalam tabel sebab dia belum mengambil kuliah apapun (misalnya karena belum melakukan registrasi). Kondisi inilah yang disebut dengan insertion anomaly.
Deletion Anomaly


   Pada contoh tabel di atas terjadi deletion anomaly. Perhatikan bahwa jika kita menghapus data mahasiswa bernama ‘Maemunah’ maka kita harus menghapus data pada baris ke 5, hal ini akan mengakibatkan kita juga kehilangan data mata kuliah ‘Database’. Kondisi inilah yang disebut dengan deletion anomaly.

Source >> http://informatika.web.id/definisi-dan-tujuan-normalisasi.htm

Proses Normalisasi 

1. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat
2. Kalau tabel diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Tahapan Normalisasi

1. Bentuk tidak normal (unnormal form) - Menghilangkan perulangan group
2. Bentuk Normal Pertama (1NF), Menghilangkan ketergantungan sebagian
3. Bentuk Normal Kedua (2NF), Menghilangkan ketergantungan transitif
4. Bentuk Normal Ketiga (3NF), Menghilangkan anomali-anomali hasil dari ketergantungan funsional
5. Bentuk Normal Boyce-Codd (BCNF), Menghilangkan ketergantungan multivalue
6. Bentuk Normal Keempat (4NF), Menghilangkan anomali-anomali yang tersisa
7. Bentuk Normal Kelima (5NF), Memecah relasi menjadi dua sehingga relasi tersebut tidak digabungkan kembali menjadi satu.


Source >> http://b_lolita.staff.gunadarma.ac.id/Downloads/files/37803/NORMALISASI.pdf

Hasil Praktikum & Tugas (Klik gambar untuk memperbesar)

>> Praktikum

Soal

>> UNF (Unnormalisasi Form)







>>1NF (First Norm Form)








>>2NF (Second Norm Form)









>> 3NF (Third Norm Form)








ERD Hasil Normalisasi
















>>Tugas  

Soal tugas rumah

>>UNF (Unnormalisasi Form)






>> 1NF (First Norm Form)







>> 2NF (Second Norm Form)

























>> 3NF (Third Norm Form)






ERD Hasil Normalisasi


Kesimpulan

   Normalisasi data merupakan proses pembentukan struktur basis data sehingga sebagian besar keambiguitasan pada data bisa dihilangkan. Teknik normalisasi ini juga dapat mengurangi kompleksitas dan menghilangkan kerangkapan pada data. Dalam normalisasi ini juga terdapat tahapan-tahapan, yaitu :


1. Bentuk tidak normal (unnormal form) - Menghilangkan perulangan group 
2. Bentuk Normal Pertama (1NF), Menghilangkan ketergantungan sebagian
3. Bentuk Normal Kedua (2NF), Menghilangkan ketergantungan transitif
4. Bentuk Normal Ketiga (3NF), Menghilangkan anomali-anomali hasil dari ketergantungan funsional
5. Bentuk Normal Boyce-Codd (BCNF), Menghilangkan ketergantungan multivalue
6. Bentuk Normal Keempat (4NF), Menghilangkan anomali-anomali yang tersisa
7. Bentuk Normal Kelima (5NF), Memecah relasi menjadi dua sehingga relasi tersebut tidak digabungkan kembali menjadi satu.

 THANKS FOR COMING