Facebook

Cari Blog Ini

Diberdayakan oleh Blogger.

Pages

Blogger templates

Minggu, 24 Agustus 2025

kapan kita memakai ERD dan menormalisasi DATA?

Posted By: AlhamdDinasty - Agustus 24, 2025

 

1. Kapan Kita Memakai ERD (Entity Relationship Diagram)?

Pengertian:

ERD adalah diagram yang digunakan untuk menggambarkan struktur konseptual data, termasuk:

  • Entitas (seperti Mahasiswa, Dosen)

  • Atribut dari entitas (seperti Nama, NIM)

  • Relasi antar entitas (seperti Mahasiswa mengambil Mata Kuliah)


Kapan Digunakan:

ERD digunakan pada:

  1. Tahap awal perancangan sistem informasi – untuk memahami data yang dibutuhkan sistem.

  2. Tahap analisis dan desain database – sebelum pembuatan tabel di database.

  3. Komunikasi antar tim – agar semua stakeholder memahami struktur data.


Kelebihan ERD:

  • Memudahkan pemahaman struktur data secara visual.

  • Alat komunikasi yang baik antara analis, developer, dan klien.

  • Mengurangi risiko kesalahan perancangan awal database.

Kekurangan ERD:

  • ⚠ Tidak menunjukkan detail teknis seperti tipe data atau constraint.

  • ⚠ Kurang fleksibel jika sistem berubah-ubah.

  • ⚠ Tidak menghindari redundansi atau anomali data → perlu normalisasi.


2. Kapan Kita Memakai Normalisasi?

Pengertian:

Normalisasi adalah proses menyusun tabel dan atribut dalam database agar:

  • Tidak terjadi redundansi data

  • Tidak ada anomali data (insert, update, delete)

  • Struktur data menjadi logis dan efisien


Kapan Digunakan:

Normalisasi digunakan pada:

  1. Setelah ERD selesai, saat mulai menyusun tabel (struktur logis).

  2. Sebelum implementasi ke database (DBMS), untuk memastikan desain bersih.

  3. Audit database lama, untuk memperbaiki struktur tabel yang buruk.


Kelebihan Normalisasi:

  • Mengurangi pengulangan data (redundansi).

  • Menghindari anomali saat manipulasi data.

  • Menjadikan database lebih efisien dan mudah dikelola.

Kekurangan Normalisasi:

  • Bisa menghasilkan banyak tabel → join jadi lebih kompleks.

  • Performa query bisa menurun jika join terlalu banyak.

  • Kadang terlalu “rapi” untuk aplikasi yang butuh kecepatan baca tinggi.


3. Perbandingan Singkat ERD vs Normalisasi

AspekERDNormalisasi
TujuanMendesain model konseptual dataMengorganisir struktur tabel
Waktu penggunaanAwal proses perancanganSetelah ERD, saat desain logis
BentukDiagram visual (entitas & relasi)Tabel-tabel dengan aturan
KelebihanVisual, mudah dimengertiEfisien, bebas anomali
KekuranganTidak detail secara teknisKompleks jika over-normalisasi

4. Tahapan Normalisasi (Normal Forms)

Normalisasi dilakukan dalam beberapa tahapan (Normal Form / NF). Semakin tinggi NF, semakin sedikit redundansi data, tapi struktur semakin kompleks.


1NF – First Normal Form

Syarat:

  • Setiap kolom hanya memiliki satu nilai (atomic value).

  • Tidak ada kolom berisi data yang berulang/bergrup.

Contoh pelanggaran:

NIMNamaMata Kuliah
101AniBasis Data, Algoritma

Harus dipecah agar satu kolom hanya satu nilai.


2NF – Second Normal Form

Syarat:

  • Sudah memenuhi 1NF.

  • Semua atribut non-kunci sepenuhnya tergantung pada seluruh primary key (bukan hanya sebagian).

Relevan jika tabel punya composite key (kunci gabungan).


3NF – Third Normal Form

Syarat:

  • Sudah memenuhi 2NF.

  • Tidak ada transitive dependency (atribut non-kunci bergantung pada atribut non-kunci lainnya).

Contoh pelanggaran:
| NIM | Nama | KodeProdi | NamaProdi |


NamaProdi bergantung pada KodeProdi, bukan NIM → Pisahkan ke tabel Prodi.


BCNF – Boyce-Codd Normal Form

Syarat:

  • Sudah memenuhi 3NF.

  • Semua determinan adalah kandidat key.

Versi lebih ketat dari 3NF untuk kasus tertentu.


4NF – Fourth Normal Form

Syarat:

  • Sudah memenuhi BCNF.

  • Tidak ada multi-valued dependency.

Digunakan jika satu atribut bisa punya banyak nilai independen terhadap kunci utama.


5NF – Fifth Normal Form

Syarat:

  • Sudah memenuhi 4NF.

  • Tidak ada join dependency.

Jarang dipakai dalam praktik kecuali untuk sistem yang sangat kompleks.


Kesimpulan

TahapKegiatanTujuan
1. ERD| Mendesain entitas dan relasi| Memahami struktur data secara global
2. Normalisasi| Menyusun tabel agar efisien| Menghindari duplikasi dan anomali data

Gunakan ERD untuk perancangan awal, dan lanjutkan dengan normalisasi agar database yang kamu bangun stabil, efisien, dan siap diimplementasikan.

Normalisasi database 1NF, 2NF, 3NF

Posted By: AlhamdDinasty - Agustus 24, 2025

 


Apa itu Normalisasi Database?

Normalisasi database adalah proses merapikan struktur tabel agar:

  • Tidak ada data ganda (redundansi).

  • Data lebih konsisten dan rapi.

  • Mudah di-update tanpa bikin anomali.

Normalisasi biasanya dilakukan bertahap: 1NF → 2NF → 3NF.


1NF (First Normal Form)





Aturan:

  • Setiap kolom harus bernilai atomik (tidak boleh ada data ganda dalam satu sel).

  • Tidak boleh ada kolom yang berulang.

Contoh Tidak 1NF

ID    Nama  No_Telepon
 1|   Budi|  08123, 08145
 2|   Siti|  08222

Kolom No_Telepon berisi lebih dari satu nilai (tidak atomik).

Versi 1NF

ID   Nama    No_Telepon
1|  Budi|  08123
1|  Budi|  08145
2|  Siti|  08222

2NF (Second Normal Form)





Aturan:

  • Harus sudah memenuhi 1NF.

  • Semua kolom non-kunci harus bergantung sepenuhnya pada primary key, bukan hanya sebagian.

Contoh Tidak 2NF

Tabel Pesanan:

OrderID     ProdukID    NamaProduk     Qty
   101|      P01|        Kopi|     2
   101|      P02|        Teh|     1

Primary key = (OrderID, ProdukID).
Tapi NamaProduk hanya tergantung pada ProdukID, bukan OrderID. Jadi ada redundansi.

Versi 2NF

Pisahkan jadi 2 tabel:
Tabel Pesanan

OrderID    ProdukID     Qty
   101|      P01|    2
   101|      P02|    1

Tabel Produk

ProdukID        NamaProduk
    P01|          Kopi
    P02|          Teh

3NF (Third Normal Form)





Aturan:

  • Harus sudah memenuhi 2NF.

  • Tidak boleh ada kolom non-kunci yang bergantung pada kolom non-kunci lain (tidak ada transitive dependency).

Contoh Tidak 3NF

NIM     Nama      KodeJurusan NamaJurusan
01|   Andi|          TI|   Teknik Informatika
02|   Siti|          SI|    Sistem Informasi

NamaJurusan bergantung pada KodeJurusan, bukan langsung pada NIM → ini transitive dependency.

Versi 3NF

Pisahkan jadi 2 tabel:
Tabel Mahasiswa

NIM    Nama  KodeJurusan
  01|   Andi|         TI
  02|   Siti|         SI

Tabel Jurusan

KodeJurusan  NamaJurusan
        TI|  Teknik Informatika
        SI|  Sistem Informasi

Ringkasan

  • 1NF: Data atomik, tidak ada kolom berulang.

  • 2NF: Tidak ada ketergantungan sebagian pada primary key (setiap kolom non-kunci tergantung penuh pada PK).

  • 3NF: Tidak ada ketergantungan antar kolom non-kunci (hilangkan transitive dependency).

Copyright © alhamd™ is a registered trademark.

Designed by Templateism. Hosted on Blogger Platform.