Skip to main content

Normalisasi

Normalisasi adalah proses mengorganisir data dalam basis data untuk mengurangi redundansi (pengulangan data) dan memastikan integritas data. Dengan menggunakan normalisasi, kita dapat memecah tabel yang kompleks dan menghindari duplikasi data yang tidak perlu. Normalisasi dilakukan dengan menerapkan beberapa Bentuk Normal (Normal Forms) yang memiliki aturan-aturan tertentu.

Berikut adalah beberapa tingkatan normalisasi yang umum digunakan beserta contohnya:


1. First Normal Form (1NF)

Syarat: Data dalam tabel harus atomik, artinya setiap kolom hanya boleh menyimpan satu nilai, dan tidak boleh ada kolom yang berisi beberapa nilai dalam satu entri.

Contoh: Misalnya, kita punya tabel yang menyimpan data pesanan pelanggan, di mana beberapa produk yang dipesan tercatat dalam satu kolom:

Order_IDCustomer_NameProducts
1AndiLaptop, Mouse
2BudiKeyboard, Monitor

Tabel di atas tidak memenuhi 1NF karena kolom Products berisi lebih dari satu nilai.

Solusi: Pisahkan produk menjadi baris-baris yang terpisah untuk setiap pesanan:

Order_IDCustomer_NameProduct
1AndiLaptop
1AndiMouse
2BudiKeyboard
2BudiMonitor

Sekarang tabel tersebut memenuhi 1NF karena setiap kolom hanya berisi satu nilai per baris.


2. Second Normal Form (2NF)

Syarat: Tabel harus memenuhi 1NF, dan setiap atribut non-kunci harus bergantung secara penuh pada kunci utama (primary key).

Biasanya, 2NF diterapkan pada tabel dengan kunci komposit (kunci utama yang terdiri dari lebih dari satu kolom). Setiap kolom non-kunci harus bergantung pada semua bagian dari kunci komposit, bukan hanya sebagian.

Contoh: Misalnya, kita punya tabel Order_Details yang menyimpan informasi pesanan:

Order_IDProduct_IDCustomer_NameProduct_Price
1101Andi10000
2102Budi20000

Di sini, Order_ID dan Product_ID bersama-sama berfungsi sebagai kunci utama. Namun, kolom Customer_Name dan Product_Price hanya bergantung pada sebagian dari kunci (hanya Order_ID atau Product_ID), yang berarti tidak memenuhi 2NF.

Solusi: Pisahkan tabel menjadi dua tabel:

  1. Tabel Orders untuk menyimpan data pelanggan terkait setiap pesanan.
  2. Tabel Products untuk menyimpan informasi produk.
Order_IDCustomer_Name
1Andi
2Budi
Product_IDProduct_NameProduct_Price
101Laptop10000
102Keyboard20000

Sekarang tabel tersebut memenuhi 2NF karena setiap atribut non-kunci bergantung sepenuhnya pada kunci utama.


3. Third Normal Form (3NF)

Syarat: Tabel harus memenuhi 2NF, dan semua kolom non-kunci harus bergantung langsung pada kunci utama, bukan pada kolom non-kunci lainnya (tidak ada dependensi transitif).

Contoh: Misalnya, kita memiliki tabel berikut yang menyimpan informasi karyawan dan departemennya:

Employee_IDEmployee_NameDepartment_IDDepartment_Name
1AndiD01Sales
2BudiD02Marketing

Tabel ini tidak memenuhi 3NF karena Department_Name bergantung pada Department_ID, bukan langsung pada Employee_ID.

Solusi: Pisahkan menjadi dua tabel, satu untuk karyawan dan satu lagi untuk departemen.

Employee_IDEmployee_NameDepartment_ID
1AndiD01
2BudiD02
Department_IDDepartment_Name
D01Sales
D02Marketing

Sekarang tabel memenuhi 3NF karena semua kolom non-kunci bergantung langsung pada kunci utama masing-masing tabel.


4. Boyce-Codd Normal Form (BCNF)

BCNF adalah bentuk normal yang lebih ketat daripada 3NF. Suatu tabel dikatakan memenuhi BCNF jika memenuhi 3NF dan setiap determinan (kolom yang menentukan nilai kolom lain) adalah kunci kandidat.

BCNF tidak selalu diperlukan untuk semua kasus, tetapi biasanya digunakan jika kita ingin memastikan konsistensi data di tingkat yang lebih tinggi.


5. Bentuk Normal Lanjutan (4NF dan 5NF)

4NF dan 5NF jarang diterapkan dalam basis data komersial, kecuali untuk situasi data yang sangat kompleks.

  • 4NF: Mengatasi ketergantungan multivalued (multivalued dependencies), yaitu kondisi di mana satu atribut tergantung pada lebih dari satu atribut.

  • 5NF: Digunakan untuk menghilangkan ketergantungan join yang kompleks dan memastikan bahwa data hanya bisa dibagi berdasarkan hubungan asli tabel.


Ringkasan Proses Normalisasi

  1. 1NF: Hilangkan kolom dengan nilai berulang, pisahkan data ke dalam baris-baris terpisah.
  2. 2NF: Pastikan semua kolom non-kunci bergantung sepenuhnya pada kunci utama.
  3. 3NF: Hilangkan dependensi transitif antara kolom non-kunci.
  4. BCNF: Pastikan setiap determinan adalah kunci kandidat.
  5. 4NF dan 5NF: Memastikan integritas dalam data yang sangat kompleks.

Normalisasi membantu menjaga integritas data, meminimalkan pengulangan, dan membuat database lebih efisien. Namun, ada juga kelemahan karena proses ini dapat meningkatkan kompleksitas database, terutama dalam menggabungkan (join) tabel-tabel yang terpisah saat memerlukan data terintegrasi.

Comments

Popular posts from this blog

80 ping service for blog promotions

Salah satu cara mempromosikan blog adalah dengan menggunakan fasilitas layanan ping. cara ini merupakan cara praktis agar blog selalu diketahui banyak pengunjung. Blogger sebenarnya telah menyediakan layanan ping bisa dilihat pada halaman pengaturan->Publikasikan->ping. jika kamu gak puas dengan layanan blooger kamu bisa memilih salah satu layanan yang ada dibawah. Ping Tips: Lakukan ping jika kamu telah mengupdate blog kamu. Lakukan ping jika kamu melakukan posting terbaru Jangan lakukan ping terlalu sering karna ini bisa dikatakan sebagai spam Lakukan ping seperlunya dan jangan berlebihan Ping favorite saya: http://mypagerank.net/service_pingservice_index http://www.pingoat.com/ http://pingomatic.com/ Dibawah ini merupakan kumpulan alamat ping service yang bisa kamu gunakan untuk promosi blog. 1470.net a2b.cc amagle.com apple.com bakeinu.jp bblog.com bitacoles.net bitacoras.com bitacoras.net blo.gs

Cara Share Printer

Cara Menghubungkan 2 Komputer : MEMBERIKAN ALAMAT TCP/IP Sebelum memberikan alamat TCP/IP tentu terlebih dahulu harus di pastikan Ethernet Card atau banyak juga menyebut LAN Card harus sudah terpasang dan ter-install Driver-nya di tiap PC yang akan di hubungkan. Mainboard generasi sekarang kebanyakan sudah ada Onboard Ethernet Card nya, bila belum ada bisa di beli dan di pasang serta di install Driver-nya. Ok..untuk memberi TCP/IP sekarang kita ambil contoh pada konfigurasi menggunakan Win xp,untuk OS lain nya kurang lebih juga sama, yang penting kan logika-nya...!Klik -> start --> Setting --> Network Connections --> klik-kanan Local are Connections-->Properties --> pada jendela Local are Connections Properties : pilih --> Internet Protocol(TCP/IP) -->klik Tab Properties --> lalu pilih : Use the following IP address -->lalu isikan IP address kelas C, seperrti gambar di bawah ini: Seperti gambar di atas IP address PC utama/Server adalah: IP address: 192.168

Perbedaan Bitmap Dan Vektor

Gambar Bitmap Gambar bitmap atau yang sering juga disebut raster adalah gambar yang terdiri dari sekumpulan titik-titik (pixel) yang berdiri sendiri dan mempunyai warna sendiri pula yang membentuk sebuah gambar. Gambar bitmap sangat bergantung pada resolusi. Jika gambar diperbesar maka gambar akan tampak kurang halus sehingga mengurangi detailnya. Selain itu gambar bitmap akan mempunyai ukuran file yang lebih besar. Semakin besar resolusi gambar akan semakin besar pula ukuran filenya. Gambar dengan tampilan 100% Gambar dengan tampilan 500% Contohnya adalah pada gambar di atas. Gambar Atas merupakan gambar yang asli dengan tampilan 100% sedangkan gambar yang Bawah adalah gambar yang sudah diperbesar. Gambar yang Bawah kelihatan kurang halus (kotak-kotak) setelah diperbesar 500%. Contoh software yang berbasis bitmap adalah Adobe Photoshop, Paint, PhotoPaint, dan lain-lain. Gambar Vektor Gambar vektor adalah gambar yang dibuat dari unsur garis dan kurva yang disebut vektor. Kumpulan dari