Skip to content Skip to sidebar Skip to footer

Materi tentang Normalisasi dalam Database (+ Video Materi)

Assalamu‘alaikum wr. wb.

Hello gais! Jika sebelumnya sudah membahas tentang Aljabar Relasional / Relational Algebra mengenai Basis Data atau Database, sekarang giliran kita masuk ke pembahasan tentang Normalisasi atau Normalization.




A. Pengertian Normalisasi Database

Secara umum normalisasi berarti sebuah proses pengelompokan atribut data yang membentuk entitas yang sederhana, fleksibel, non-redundant, serta mudah beradaptasi. Hal tersebut untuk memastikan bahwa database yang dibuat memiliki kualitas yang sangat baik. Contoh normalisasi bisa dilihat pada penggunaan database untuk beberapa kebutuhan khusus.

Teknik yang digunakan dengan mengorganisasi data kedalam tabel khusus untuk memenuhi kebutuhan pengguna di dalam suatu organisasi. Sebuah kumpulan atau organisasi khusus membutuhkan sistem normalisasi untuk mengorganisir data secara maksimal. Jika proses ini tidak digunakan maka beberapa hal bisa saja terjadi.

Bahkan beberapa jenis kerugian bisa saja terjadi jika tidak melalui proses normalisasi tersebut. Dalam hal ini terdapat beberapa hal yang mungkin saja terjadi berupa beberapa situasi khusus yang merugikan. Pertama adanya insert anomali yaitu situasi tidak memungkinkan memasukkan beberapa jenis data secara langsung di database.

Kedua delete anomali yaitu penghapusan data yang tidak sesuai dengan harapan. Data yang seharusnya tidak terhapus mungkin bisa saja ikut terhapus tanpa adanya proses normalisasi. Contoh normalisasi yang tidak digunakan ialah bisa membahayakan data yang dimiliki oleh organisasi tersebut.

Ketiga terjadi situasi update anomali yaitu nilai yang diubah menyebabkan inkonsistensi database. Data yang diubah tidak sesuai dengan apa yang diperintahkan atau yang diinginkan sesuai kebutuhan pada organisasi tersebut. Ketiga hal tersebut tentunya cukup merugikan Terlebih jika organisasi atau perusahaan tersebut melibatkan sejumlah data di dalamnya.

B. Tujuan Normalisasi Database

Tujuan dari normalisasi ini ialah untuk menghilangkan dan mengurangi redudansi atau data yang rangkap. Selain itu, proses ini juga bertujuan untuk memastikan dependency data atau memastikan data berada pada tabel yang tepat. Intinya proses tersebut sangat dibutuhkan untuk memastikan sebuah data berada pada tempat dan posisi yang sesuai.

Jika sudah terdapat gejala adanya data yang melenceng dari seharusnya proses normalisasi tersebut bisa membantu mengembalikan dan mengatasi gejala tersebut. Data bisa digunakan secara normal dan sesuai kapasitasnya jika penempatan serta penggunaannya sesuai. Contoh normalisasi yang baik tentunya bisa menunjang dalam penempatan serta penggunaan database yang tepat.

Selain itu, tujuan dari proses ini ialah untuk mengurangi kompleksitas atau masalah dari database. Hal ini dapat membantu mempermudah pemodifikasian data sesuai kebutuhan dan organisasi atau perusahaan tersebut. Untuk beberapa perusahaan atau organisasi yang mengelola data maka hal ini akan sangat dibutuhkan.

Suatu rancangan database disebut buruk jika :
  • Data yang sama tersimpan di beberapa tempat (file atau record).
  • Ketidakmampuan untuk menghasilkan informasi tertentu.
  • Terjadi kehilangan informasi.
  • Terjadi adanya redudansi (pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan saat proses updating data.
  • Timbul adanya NULL VALUE.
  • Kehilangan informasi bisa terjadi bila pada waktu merancang database (melakukan proses dekomposisi yang keliru).
  • Bentuk normalisasi yang sering digunakan adalah 1NF, 2NF, 3NF,dan BCNF.

C. Tahapan Normalisasi Database

Untuk melakukan proses tersebut dibutuhkan beberapa tahapan khusus sesuai prosedur sehingga prosesnya bisa dilakukan dengan baik. Jika Anda membaca setiap contoh normalisasi maka Anda akan menemukan beberapa tahapan yang akan dilalui oleh kasus atau contoh masalah yang akan melalui proses tersebut.

Tahapan Normalisasi Database :
  • Unnormalized Form (UNF) : Merupakan bentuk tidak normal berdarsarkan data yang diperoleh dan mengandung kerangkapan data.
  • First Normal Form (1NF) : Entitas yang atributnya memiliki tidak lebih dari satu nilai untuk contoh tunggal entitas tersebut.
  • Second Normal Form (2NF) : Entitas yang atribut non-primary key-nya hanya tergantung pada full primary key.
  • Third Normal Form (3NF) : Entitas yang atribut non-primary key-nya tidak tergantung pada atribut nonprimary key yang lain.
  • Boyce Code Normal Form (BCNF) : Dilakukan remove multivalued dependent. BCNF terjadi jika masih terdapat anomali pada bentuk 3NF dikarenakan relasi memiliki lebih dari satu candidate key.
  • Fourth Normal Form (4NF) : Muncul ketika Dependensi Multi-Nilai terjadi dalam relasi apa pun.
  • Fifth Normal Form (5NF) : Tahapan ini dilakukan untuk mengatasi terjadinya join dependent pemecahan relasi menjadi dua sehingga relasi tersebut tidak dapat digabungkan kembali menjadi satu.

Untuk lebih jelasnya, marilah simak pada bagian ini.

1. Unnormalized Form (UNF)

Bentuk Tidak Normal (Unnormalized Form) merupakan kumpulan data yang direkam tidak ada keharusan dengan mengikuti suatu format tertentu.

Pada bentuk tidak normal terdapat repeating group (Pengulangan Group), sehingga pada kondisi ini data menjadi permasalahan dalam melakukan manipulasi data (insert, update, dan delete) atau biasa disebut anomali.

Contoh :


2. First Normal Form (1NF)

1NF mensyaratkan beberapa kondisi dalam sebuah database, berikut adalah fungsi dari bentuk normal pertama ini.
  • Menghilangkan duplikasi kolom dari tabel yang sama.
  • Buat tabel terpisah untuk masing-masing kelompok data terkait dan mengidentifikasi setiap baris dengan kolom yang unik (primary key).
Contoh :


Contoh lainnya :


Pada intinya bentuk normalisasi 1NF ini mengelompokkan beberapa tipe data atau kelompok data yang sejenis agar dapat dipisahkan sehingga anomali data dapat di atasi.

Contoh adalah ketika kita ingin menghapus, mengupdate, atau menambahkan data peminjam, maka kita tidak bersinggungan dengan data buku atau data penerbit. Sehingga inkonsistensi data dapat mulai di jaga.

3. Second Normal Form (2NF)

Syarat untuk menerapkan normalisasi bentuk kedua ini adalah data telah dibentuk dalam 1NF, berikut adalah beberapa fungsi Normalisasi 2NF :
  • Menghapus beberapa subset data yang ada pada tabel dan menempatkan mereka pada tabel terpisah.
  • Menciptakan hubungan antara tabel baru dan tabel lama dengan menciptakan foreign key.
  • Tidak ada atribut dalam tabel yang secara fungsional bergantung pada candidate key tabel tersebut.
Contoh :


Bentuk normal kedua dengan melakukan dekomposisi tabel diatas menjadi beberapa tabel dan mencari kunci primer dari tiap-tiap tabel tersebut dan atribut kunci haruslah unik.

4. Third Normal Form (3NF)

Pada 3NF tidak diperkenankan adanya partial “transitive dependency“ dalam sebuah tabel. Transitive dependency biasanya terjadi pada tabel hasil relasi, atau kondisi dimana terdapat tiga atribut A, B, C. Kondisinya adalah A ⇒ B dan B ⇒ C. Maka C dikatakan sebagai transitive dependency terhadap A melalui B.

Syarat dari bentuk normal ketiga atau 3NF adalah :
  • Memenuhi semua persyaratan dari bentuk normal kedua.
  • Menghapus kolom yang tidak tergantung pada primary key.
Contoh :


Contoh lainnya :


5. Boyce–Codd Normal Form (BCNF/3.5NF)

Merupakan sebuah teknik normalisasi database yang sering disebut 3.5NF, memiliki hubungan yang sangat erat dengan bentuk 3NF. Pada dasarnya adalah untuk menghandle anomali dan overlooping yang tidak dapat di handle dalam bentuk 3NF. Normalisasi database bentuk ini tergantung dari kasus yang disediakan, tidak semua tabel wajib di normalisasi dalam bentuk BCNF.

Untuk tabel untuk memenuhi Bentuk Normal Boyce-Codd, harus memenuhi 2 (Dua) Kondisi berikut :
  • Yaitu Table harus dalam Bentuk Normal Ketiga.
  • Dan, untuk ketergantungan apa pun A → B, A harus menjadi super key. Dengan kata sederhana, itu berarti, bahwa untuk ketergantungan A → B, A tidak dapat menjadi atribut non-prima, jika B adalah atribut utama.

Adapun Tahap-tahap untuk membuat Normalisasi dalam Database dari bentuk Normal Pertama sampai Normal Ketiga (1NF-3NF) :


Namun, ada 2 (Dua) Tahapan lagi yang sedikit jarang dalam Database, yaitu Fourth Normal Form (4NF) dan Fifth Normal Form (5NF).

6. Fourth Normal Form (4NF)

Fourth Normal Form  muncul ketika Dependensi Multi-Nilai terjadi dalam relasi apa pun. Sebuah table dikatakan berada di dalam Bentuk Normal Keempat ketika : 
  • Tabel dalam Bentuk Normal Boyce-Codd.
  • Tabel tidak memiliki Ketergantungan Multi-Nilai.

Apa itu Ketergantungan Multi Nilai?

Sebuah tabel dikatakan memiliki ketergantungan multi-nilai, jika kondisi berikut ini benar: 
  • Untuk ketergantungan A → B, jika untuk satu nilai A, beberapa nilai B ada, maka tabel mungkin memiliki ketergantungan multi-nilai.
  • Juga, tabel harus memiliki setidaknya 3 kolom untuk memiliki ketergantungan multi-nilai.
  • Dan, untuk relasi R (A, B, C), jika ada ketergantungan multi-nilai antara, A dan B, maka B dan C harus independen satu sama lain.
Jika semua kondisi ini benar untuk setiap relasi (tabel), dikatakan memiliki ketergantungan multi-nilai.

7. Fifth Normal Form (5NF)

Merupakan Bentuk Normal Kelima dan merupakan bentuk Normalisasi tertinggi dalam Basis Data (Database). Sebuah database dikatakan dalam 5NF, jika dan hanya jika :
  • Ada di 4NF
  • Bentuk normal 5NF terpenuhi jika tidak dapat memiliki lossless decomposition menjadi tabel-tabel yang lebih kecil.
  • Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependencies, 5NF dibentuk berdasarkan konsep join dependencies. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula.

VIDEO MATERI

Untuk memahami lebih lanjut terkait dengan Normalisasi dalam Database, lihatlah Video-video YouTube di bawah ini.






Semoga Postingan kali ini bermanfaat bagi Mahasiswa TI. Semoga saja materi ini bisa membantu untuk memahami bagi Mahasiswa TI.

Terima Kasih šŸ˜„šŸ˜˜šŸ‘ŒšŸ‘ :)

Wassalamu‘alaikum wr. wb.

Ads