π’ 1. Pendahuluan
Dalam pengembangan sistem informasi, database menjadi komponen utama untuk menyimpan data. Database yang tidak dirancang dengan baik dapat menyebabkan:
- Duplikasi data
- Inkonsistensi data
- Kesalahan input
- Pemborosan penyimpanan
- Sulit melakukan update data
Untuk mengatasi masalah tersebut digunakan teknik Normalisasi Database.
Normalisasi merupakan proses pengelompokan data ke dalam tabel-tabel yang lebih terstruktur agar database menjadi:
β
Efisien
β
Konsisten
β
Mudah dikelola
β
Minim redundansi data
π’ 2. Pengertian Normalisasi Database
π Definisi Normalisasi
Normalisasi adalah proses pengorganisasian data dalam database untuk mengurangi redundansi dan meningkatkan integritas data.
π Narasi Penjelasan
Dalam database yang belum dinormalisasi sering ditemukan:
- Data berulang
- Data ganda
- Kesalahan update
- Kesulitan pencarian data
Normalisasi membantu memecah tabel besar menjadi tabel-tabel kecil yang saling berhubungan.
πΌοΈ Ilustrasi Normalisasi Database
7
π’ 3. Tujuan Normalisasi
π Tujuan Utama
Normalisasi dilakukan untuk:
- Mengurangi redundansi data
- Menghindari inkonsistensi data
- Mempermudah pengelolaan database
- Meningkatkan efisiensi penyimpanan
π Narasi Penjelasan
Tanpa normalisasi:
- Data menjadi tidak teratur
- Penyimpanan boros
- Sulit melakukan maintenance
- Risiko kesalahan tinggi
Database yang baik harus:
- Terstruktur
- Konsisten
- Fleksibel
- Mudah dikembangkan
π Manfaat Normalisasi
| Manfaat | Penjelasan |
|---|---|
| Mengurangi duplikasi | Data tidak berulang |
| Integritas data | Data lebih akurat |
| Efisiensi storage | Penyimpanan lebih hemat |
| Maintenance mudah | Update lebih sederhana |
π’ 4. Permasalahan Database Tidak Normal
π‘ 4.1 Redundansi Data
π Pengertian
Data yang sama disimpan berulang kali.
π Narasi Penjelasan
Contoh:
Nama mahasiswa ditulis berulang di setiap transaksi.
Akibat:
- Boros penyimpanan
- Sulit update data
π‘ 4.2 Anomali Data
π Jenis Anomali
Insert Anomaly
Kesulitan menambah data.
Update Anomaly
Data tidak konsisten saat diubah.
Delete Anomaly
Data penting ikut terhapus.
πΌοΈ Ilustrasi Masalah Database
6
π Contoh Anomali
| Jenis | Contoh |
|---|---|
| Insert | Tidak bisa tambah dosen tanpa jadwal |
| Update | Nama berubah tidak semua terupdate |
| Delete | Hapus transaksi menyebabkan data hilang |
π’ 5. Bentuk Normalisasi (Normal Forms)
π‘ 5.1 Unnormalized Form (UNF)
π Pengertian
Bentuk data yang belum terstruktur dan masih memiliki data berulang.
π Narasi Penjelasan
Ciri-ciri:
- Banyak data dalam satu field
- Tidak teratur
- Sulit diproses
π Contoh UNF
| No Transaksi | Nama Barang |
|---|---|
| TR001 | Buku, Pensil, Penghapus |
πΌοΈ Ilustrasi UNF
6
π‘ 5.2 First Normal Form (1NF)
π Pengertian
1NF mengharuskan setiap field memiliki nilai tunggal (atomic).
π Narasi Penjelasan
Aturan 1NF:
- Tidak boleh ada data ganda dalam satu field
- Setiap kolom memiliki satu nilai
π Contoh 1NF
| No Transaksi | Nama Barang |
|---|---|
| TR001 | Buku |
| TR001 | Pensil |
| TR001 | Penghapus |
πΌοΈ Ilustrasi 1NF
6
π‘ 5.3 Second Normal Form (2NF)
π Pengertian
2NF menghilangkan ketergantungan parsial.
π Narasi Penjelasan
Syarat 2NF:
- Sudah memenuhi 1NF
- Semua attribute bergantung penuh pada primary key
π Contoh 2NF
Sebelum
| NIM | Nama Mahasiswa | Kode MK | Nama MK |
|---|
Sesudah
Tabel Mahasiswa
Tabel Mata Kuliah
πΌοΈ Ilustrasi 2NF
7
π‘ 5.4 Third Normal Form (3NF)
π Pengertian
3NF menghilangkan ketergantungan transitif.
π Narasi Penjelasan
Syarat 3NF:
- Sudah memenuhi 2NF
- Tidak ada attribute tergantung pada non-key attribute
π Contoh 3NF
Sebelum
| NIM | Nama | Kode Jurusan | Nama Jurusan |
Sesudah
Tabel Mahasiswa
Tabel Jurusan
πΌοΈ Ilustrasi 3NF
6
π’ 6. Ringkasan Bentuk Normalisasi
π Tabel Perbandingan
| Bentuk | Tujuan |
|---|---|
| UNF | Data belum normal |
| 1NF | Nilai atomic |
| 2NF | Hilangkan partial dependency |
| 3NF | Hilangkan transitive dependency |
π’ 7. Dependency dalam Normalisasi
π‘ 7.1 Functional Dependency
π Pengertian
Hubungan antar attribute dimana satu attribute menentukan attribute lain.
π Narasi Penjelasan
Contoh:
NIM β Nama Mahasiswa
Artinya:
Jika NIM diketahui maka nama mahasiswa dapat diketahui.
π‘ 7.2 Partial Dependency
π Pengertian
Attribute bergantung sebagian pada primary key.
π‘ 7.3 Transitive Dependency
π Pengertian
Attribute bergantung pada attribute non-key lainnya.
πΌοΈ Dependency Database
7
π’ 8. Studi Kasus Normalisasi
π Studi Kasus Sistem Penjualan
Tabel Awal
| No Faktur | Nama Pelanggan | Barang | Harga |
|---|
Masalah:
- Barang berulang
- Nama pelanggan berulang
π‘ Tahap 1NF
Pisahkan setiap barang menjadi baris berbeda.
π‘ Tahap 2NF
Pisahkan:
- Tabel Pelanggan
- Tabel Barang
- Tabel Transaksi
π‘ Tahap 3NF
Pisahkan data tambahan yang tidak bergantung langsung.
πΌοΈ Ilustrasi Studi Kasus Normalisasi
7
π’ 9. Hubungan Normalisasi dan ERD
π Penjelasan
ERD digunakan untuk:
- Mendesain relasi data
Normalisasi digunakan untuk:
- Menyempurnakan struktur tabel
π Perbedaan ERD dan Normalisasi
| ERD | Normalisasi |
|---|---|
| Fokus relasi entity | Fokus struktur tabel |
| Desain database | Optimasi database |
| Visual diagram | Analisis tabel |
π’ 10. Kelebihan dan Kekurangan Normalisasi
π Tabel Kelebihan dan Kekurangan
| Kelebihan | Kekurangan |
|---|---|
| Data lebih rapi | Query lebih kompleks |
| Mengurangi redundansi | Banyak tabel |
| Integritas tinggi | Join lebih banyak |
π’ 11. Software Pendukung Database
π Tools Database
| Software | Fungsi |
|---|---|
| MySQL Workbench | Desain database |
| phpMyAdmin | Manajemen database |
| SQL Server | Database enterprise |
| PostgreSQL | Database open source |
| XAMPP | Server lokal database |
πΌοΈ Ilustrasi Software Database
6
π’ 12. Tutorial Praktikum
π» Praktikum 1 β Normalisasi Tabel Sederhana
π― Tujuan
Mahasiswa mampu melakukan normalisasi dasar.
π Langkah Praktikum
Langkah 1
Buat tabel transaksi belum normal.
Langkah 2
Ubah menjadi:
- 1NF
- 2NF
- 3NF
Langkah 3
Identifikasi:
- Primary key
- Dependency
π Contoh Tabel
| No Nota | Nama Barang | Harga |
|---|
π» Praktikum 2 β Implementasi Database
π― Tujuan
Mahasiswa memahami implementasi hasil normalisasi.
π Langkah Praktikum
- Buka MySQL/phpMyAdmin
- Buat database
- Buat tabel hasil normalisasi
- Tentukan primary key
- Tentukan foreign key
πΌοΈ Tutorial Database
7
π’ 13. Latihan Mahasiswa
π― Latihan Individu
- Jelaskan pengertian normalisasi!
- Apa tujuan normalisasi?
- Jelaskan perbedaan 1NF, 2NF, dan 3NF!
- Apa yang dimaksud functional dependency?
π― Latihan Kelompok
Lakukan normalisasi:
- Sistem akademik
- Sistem perpustakaan
- Sistem penjualan
- Sistem rumah sakit
Minimal sampai:
- 3NF
π’ 14. Diskusi Kelas
π Topik Diskusi
- Mengapa database harus dinormalisasi?
- Apa akibat redundansi data?
- Apakah semua sistem harus sampai 3NF?
π’ 15. Kesimpulan
π Ringkasan Materi
Normalisasi database merupakan proses penting dalam desain database untuk:
- Mengurangi redundansi
- Menjaga integritas data
- Meningkatkan efisiensi database
Tahapan normalisasi:
- UNF
- 1NF
- 2NF
- 3NF
Normalisasi membantu database menjadi:
β
Lebih rapi
β
Konsisten
β
Mudah dikelola
β
Efisien
π― Capaian Pembelajaran
Setelah mempelajari materi ini mahasiswa mampu:
β
Memahami konsep normalisasi database
β
Mengidentifikasi redundansi data
β
Memahami dependency database
β
Melakukan normalisasi hingga 3NF
β
Mendesain tabel database yang efisien
β
Mengimplementasikan database sederhana