Mata Kuliah : BASIS DATA�Minggu ke 12
Tujuan Perkuliahan
Mahasiswa mampu mendesain struktur normalisasi basis data .
Materi Pembelajaran
Normalisasi adalah teknik perbaikan struktur tabel berdasarkan ketergantungan fungsional dan primary key atau candidate key (Plaza, 2021). Proses normalisasi dilakukan dengan metode dekomposisi, atau pemecahan tabel menjadi tabel-tabel yang lebih kecil secara berulang-ulang.
Proses normalisasi terdiri dari beberapa tahapan:
Normalisasi pada Basis Data
Karakteristik dari bentuk normal ke-2 adalah:
Karakteristik dari bentuk normal ke-3 adalah:
Langkah-Langkah Normalisasi
Bentuk normal ke-3 biasanya sudah cukup untuk dilakukan analisis basis data. Akan tetapi, bentuk normal ke-4 dibutuhkan bila masih terdapat anomali pada bentuk normal ke-3.
Langkah ini dilakukan untuk memecah relasi menjadi 2 sehingga relasi tersebut tidak disatukan kembali. Tahap ini juga dilakukan bila masih terdapat anomali pada bentuk normal ke-4.
Langkah-Langkah Normalisasi
Contoh Normalisasi
Contoh Normalisasi
Bentuk Tidak Ternormalisasi (Unnormalized Form)
No. Transaksi | Tanggal Transaksi | Metode Pembayaran | Batas Waktu Pembayaran | Petugas Sales | Mata Uang |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Penjual | Alamat Penjual | Telepon Penjual | Perusahaan Pembeli | Nama Pembeli | Telepon Pembeli |
PT. Sample Sarana Abadi | Ruko Graha Arteri Mas JL. Panjang Blok 101 No. 1 Jakarta 12223 | (62-21) 58305578 | PT. Sample Indonesia | Yuda Haryanto | 021-3985656 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Contoh Normalisasi
Product Description | Quantity | UOM | Unit Price | Gross Amount | Diskon (%) | Diskon (SGD) | Net Amount |
GOLD- RING (.749X.133) | 6 | Pcs | 19.04 | 114.24 | 0% | 0 | 114.24 |
RING | 6 | Pcs | 325.86 | 1,955.16 | 0% | 0 | 1,955.16 |
VALVE | 1 | Pcs | 672.08 | 672.08 | 0% | 0 | 672.08 |
BALL | 12 | Pcs | 37.72 | 452.64 | 0% | 0 | 452.64 |
Gross Total | Discount Total | Down Payment | Pajak | Biaya Pengiriman | Total Pembelian |
3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Contoh Normalisasi
Bentuk Normal Ke-1 (First Normal Form / 1NF)
No. Transaksi | Tanggal Transaksi | Metode Pembayaran | Batas Waktu Pembayaran | Petugas Sales | Mata Uang |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD |
Perusahaan Pembeli | Nama Pembeli | Telepon Pembeli | Product Description | Quantity |
PT. Sample Indonesia | Yuda Haryanto | 021-3985656 | GOLD- RING (.749X.133) | 6 |
PT. Sample Indonesia | Yuda Haryanto | 021-3985656 | RING | 6 |
PT. Sample Indonesia | Yuda Haryanto | 021-3985656 | VALVE | 1 |
PT. Sample Indonesia | Yuda Haryanto | 021-3985656 | BALL | 12 |
Contoh Normalisasi
UOM | Unit Price | Gross Amount | Diskon (%) | Diskon (SGD) | Net Amount |
Pcs | 19.04 | 114.24 | 0% | 0 | 114.24 |
Pcs | 325.86 | 1,955.16 | 0% | 0 | 1,955.16 |
Pcs | 672.08 | 672.08 | 0% | 0 | 672.08 |
Pcs | 37.72 | 452.64 | 0% | 0 | 452.64 |
Gross Total | Discount Total | Down Payment | Pajak | Biaya Pengiriman | Total Pembelian |
3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
Contoh Normalisasi
Bentuk Normal Kedua (2nd Normal Form / 2NF)
No. Transaksi (primary key) | Tanggal Transaksi | Metode Pembayaran | Batas Waktu Pembayaran | Petugas Sales | Mata Uang | Gross Total | Discount Total | Down Payment | Tax | Shipping | Total Pembelian |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD | 3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD | 3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD | 3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD | 3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
Tabel Penjualan
Contoh Normalisasi
Tabel Detail Penjualan
Tabel Pembeli
Kode Detail Penjualan | Product Description | Quantity | UOM | Unit Price | Gross Amount | Diskon (%) | Diskon (SGD) | Net Amount |
0001 | GOLD- RING (.749X.133) | 6 | Pcs | 19.04 | 114.24 | 0% | 0 | 114.24 |
0002 | RING | 6 | Pcs | 325.86 | 1,955.16 | 0% | 0 | 1,955.16 |
0003 | VALVE | 1 | Pcs | 672.08 | 672.08 | 0% | 0 | 672.08 |
0004 | BALL | 12 | Pcs | 37.72 | 452.64 | 0% | 0 | 452.64 |
Kode Pembeli (primary key) | Perusahaan Pembeli | Nama Pembeli | Telepon Pembeli |
A001 | PT. Sample Indonesia | Yuda Haryanto | 021-3985656 |
A002 | PT. Sample Indonesia | Yuda Haryanto | 021-3985656 |
A003 | PT. Sample Indonesia | Yuda Haryanto | 021-3985656 |
A004 | PT. Sample Indonesia | Yuda Haryanto | 021-3985656 |
Contoh Normalisasi
Bentuk Normal Ketiga (3rd Normal Form / 3NF)
Tabel Penjualan
No. Transaksi (primary key) | Tanggal Transaksi | Metode Pembayaran | Batas Waktu Pembayaran | Petugas Sales | Mata Uang | Gross Total | Discount Total | Down Payment | Tax | Shipping | Total Pembelian |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD | 3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD | 3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD | 3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
00000145 | 11 Februari 2013 | Cash/Tunai | 11 Februari 2013 | Dimas Tyo | SGD | 3,194.12 | 0 | 3,513.53 | 319.41 | 0 | 3,513.53 |
Contoh Normalisasi
Tabel Pembeli
Tabel Detail Penjualan
Kode Pembeli (primary key) | Perusahaan Pembeli | Nama Pembeli | Telepon Pembeli |
A001 | PT. Sample Indonesia | Yuda Haryanto | 021-3985656 |
A002 | PT. Sample Indonesia | Yuda Haryanto | 021-3985656 |
A003 | PT. Sample Indonesia | Yuda Haryanto | 021-3985656 |
A004 | PT. Sample Indonesia | Yuda Haryanto | 021-3985656 |
Kode Detail Penjualan (primary key) | Product Description | Quantity | UOM | Unit Price | Gross Amount | Diskon (%) | Diskon (SGD) | Net Amount |
0001 | GOLD- RING (.749X.133) | 6 | Pcs | 19.04 | 114.24 | 0% | 0 | 114.24 |
0002 | RING | 6 | Pcs | 325.86 | 1,955.16 | 0% | 0 | 1,955.16 |
0003 | VALVE | 1 | Pcs | 672.08 | 672.08 | 0% | 0 | 672.08 |
0004 | BALL | 12 | Pcs | 37.72 | 452.64 | 0% | 0 | 452.64 |
Contoh Normalisasi
Kode Barang (primary key) | Product Description | UOM | Unit Price |
C001 | GOLD- RING (.749X.133) | Pcs | 19.04 |
C002 | RING | Pcs | 325.86 |
C003 | VALVE | Pcs | 672.08 |
C004 | BALL | Pcs | 37.72 |
Tabel Barang
Bentuk Normal Keempat (Fourth Normal Form / 4NF)
Karena tidak ada anomali pada Bentuk Normal Ketiga, maka tidak ada Bentuk Normal Keempat pada desain basis data.
Bentuk Normal Kelima (Fifth Normal Form / 5NF)
Pada Tabel Detail Penjualan masih terdapat relasi dengan Tabel Barang yaitu pada atribut Product Description. Oleh karena itu, relasi tersebut perlu dihilangkan.
Kode Detail Penjualan (primary key) | Product Description | Quantity | UOM | Unit Price | Gross Amount | Diskon (%) | Diskon (SGD) | Net Amount |
0001 | C001 | 6 | Pcs | 19.04 | 114.24 | 0% | 0 | 114.24 |
0002 | C002 | 6 | Pcs | 325.86 | 1,955.16 | 0% | 0 | 1,955.16 |
0003 | C003 | 1 | Pcs | 672.08 | 672.08 | 0% | 0 | 672.08 |
0004 | C004 | 12 | Pcs | 37.72 | 452.64 | 0% | 0 | 452.64 |
Contoh Normalisasi Pada Basis Data
Lakukan proses normalisasi pada dokumen Kartu Hasil Studi (KHS) berikut ini!
Contoh Normalisasi Pada Basis Data (2)
NIM | Nama Mahasiswa | Semester | Jurusan | Kode Mata Kuliah | Nama Mata Kuliah | SKS |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi | ISP201 | Pengantar Ilmu Politik | 3 |
|
|
|
| KFT110 | Pengantar Ilmu Komputer | 3 |
|
|
|
| KFT203 | Statistika 1 | 3 |
|
|
|
| KOM101 | Pengantar Ilmu Komunikasi | 3 |
|
|
|
| KOM108 | Pengantar Sosiologi | 3 |
|
|
|
| KUU101 | Pancasila | 2 |
|
|
|
| KUU102 | Agama | 2 |
|
|
|
| KUU106 | Bahasa Inggris 1 | 2 |
|
|
|
| PSI109 | Psikologi Umum | 3 |
Nilai | Angka | KxN | Jumlah SKS | IP Semester | IP Kumulatif | SKS yang Telah Diambil | SKS Maksimal yang dapat Diambil |
C | 2 | 6.0 | 24 | 1.75 | 1.75 | 24 | 18 |
E | 0 | 0 |
|
|
|
|
|
D | 1 | 3.0 |
|
|
|
|
|
E | 0 | 0 |
|
|
|
|
|
A | 4 | 12.0 |
|
|
|
|
|
B | 3 | 6.0 |
|
|
|
|
|
B | 3 | 6.0 |
|
|
|
|
|
B | 3 | 6.0 |
|
|
|
|
|
D | 1 | 3.0 |
|
|
|
|
|
Contoh Normalisasi Pada Basis Data (2)
Kota Penetapan | Tanggal Penetapan | Ketua Jurusan | Dosen Pembimbing Akademik |
Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Contoh Normalisasi Pada Basis Data (2)
2. Bentuk Normal Ke-1 (1st Normal Form / 1NF)
NIM | Nama Mahasiswa | Semester | Jurusan | Kode Mata Kuliah | Nama Mata Kuliah | SKS |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi | ISP201 | Pengantar Ilmu Politik | 3 |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi | KFT110 | Pengantar Ilmu Komputer | 3 |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi | KFT203 | Statistika 1 | 3 |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi | KOM101 | Pengantar Ilmu Komunikasi | 3 |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi | KOM108 | Pengantar Sosiologi | 3 |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi | KUU101 | Pancasila | 2 |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi | KUU102 | Agama | 2 |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi | KUU106 | Bahasa Inggris 1 | 2 |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi | PSI109 | Psikologi Umum | 3 |
Nilai | Angka | KxN | Jumlah SKS | IP Semester | IP Kumulatif | SKS yang Telah Diambil | SKS Maksimal yang dapat Diambil |
C | 2 | 6.0 | 24 | 1.75 | 1.75 | 24 | 18 |
E | 0 | 0 | 24 | 1.75 | 1.75 | 24 | 18 |
D | 1 | 3.0 | 24 | 1.75 | 1.75 | 24 | 18 |
E | 0 | 0 | 24 | 1.75 | 1.75 | 24 | 18 |
A | 4 | 12.0 | 24 | 1.75 | 1.75 | 24 | 18 |
B | 3 | 6.0 | 24 | 1.75 | 1.75 | 24 | 18 |
B | 3 | 6.0 | 24 | 1.75 | 1.75 | 24 | 18 |
B | 3 | 6.0 | 24 | 1.75 | 1.75 | 24 | 18 |
D | 1 | 3.0 | 24 | 1.75 | 1.75 | 24 | 18 |
Contoh Normalisasi Pada Basis Data (2)
Kota Penetapan | Tanggal Penetapan | Ketua Jurusan | Dosen Pembimbing Akademik |
Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
Contoh Normalisasi Pada Basis Data (2)
3. Bentuk Normal Ke-2 (2nd Normal Form / 1NF)
Tabel Mahasiswa
Tabel KHS
NIM | Nama Mahasiswa | Semester | Jurusan |
220023001 | Yudhistira | 1 | S1 – Ilmu Komunikasi |
ID KHS (Primary Key) | NIM | Jumlah SKS | IP Semester | IP Kumulatif | SKS yang Telah Diambil | SKS Maksimal yang dapat Diambil | Kota Penetapan | Tanggal Penetapan | Ketua Jurusan | Dosen Pembimbing Akademik |
KHS001 | 220023001 | 24 | 1.75 | 1.75 | 24 | 18 | Yogyakarta | 31 Mei 2010 | Aslam | Yuwono |
Contoh Normalisasi Pada Basis Data (2)
Tabel Detail KHS
ID KHS | Kode Mata Kuliah | Nama Mata Kuliah | SKS | KxN |
KHS001 | ISP201 | Pengantar Ilmu Politik | 3 | 6.0 |
KHS002 | KFT110 | Pengantar Ilmu Komputer | 3 | 0 |
KHS003 | KFT203 | Statistika 1 | 3 | 3.0 |
KHS004 | KOM101 | Pengantar Ilmu Komunikasi | 3 | 0 |
KHS005 | KOM108 | Pengantar Sosiologi | 3 | 12.0 |
KHS006 | KUU101 | Pancasila | 2 | 6.0 |
KHS007 | KUU102 | Agama | 2 | 6.0 |
KHS008 | KUU106 | Bahasa Inggris 1 | 2 | 6.0 |
KHS009 | PSI109 | Psikologi Umum | 3 | 3.0 |
Contoh Normalisasi Pada Basis Data (2)
4. Bentuk Normal Ke-3 (3rd Normal Form / 3NF)
Tabel Mata Kuliah
Kode Mata Kuliah | Nama Mata Kuliah | SKS |
ISP201 | Pengantar Ilmu Politik | 3 |
KFT110 | Pengantar Ilmu Komputer | 3 |
KFT203 | Statistika 1 | 3 |
KOM101 | Pengantar Ilmu Komunikasi | 3 |
KOM108 | Pengantar Sosiologi | 3 |
KUU101 | Pancasila | 2 |
KUU102 | Agama | 2 |
KUU106 | Bahasa Inggris 1 | 2 |
PSI109 | Psikologi Umum | 3 |
Contoh Normalisasi Pada Basis Data (2)
5. Bentuk Normal Ke-4 (4th Normal Form / 4NF)
Tabel-tabel basis data sudah tidak mengandung anomali.
6. Bentuk Normal Ke-5 (5th Normal Form / 5NF)
Tabel-tabel basis data sudah tidak mengandung relasi.
Contoh Normalisasi Pada Basis Data (2)