Anda di halaman 1dari 45

NORMALISASI BASIS DATA

KOMPETENSI DASAR

• 3.1 Menerapkan Teknik Normalisasi Basis Data


• 4.1 Membuat Basis Data Dengan Teknik
Normalisasi
TUJUAN PEMBELAJARAN

Setelah kegiatan pembelajaran, siswa dapat:


1. Memahami pengertian normalisasi
2. Memahami anomaly basis data
3. Mengenal bentuk-bentuk normalisasi
4. Menciptakan ide untuk menghasilkan karya
dengan normalisasi
PENGERTIAN NORMALISASI

NORMALISASI
DATA

TEKNIK MENGURANGI
OPTIMALISASI
SISTEMATIS REDUNDANSI

Suatu tindakan yang dilakukan melalui pendekatan atau teknik


sistematis untuk meminimalkan anomali dan data berganda pada
sebuah basis data, supaya database dapat bekerja dengan optimal
• Dengan kata lain, normalisasi akan membuat
table yang tidak normal menjadi normal.
• Tujuan Normalisasi
– Menghasilkan struktur table yang baik atau
normal
– Menghilangkan anomali
– Tabel hanya berisi data yang diperlukan saja
– Tabel memiliki sesedikit mungkin redundasi
– Menghindari kehilangan data yang tidak
disengaja atau tidak diketahui
CONTOH TABEL TIDAK NORMAL
NIS NAMA KODE_MP MAPEL JML_JAM NILAI
L
6969 Eka AG Agama 3 70
6969 Eka PP PPKn 2 69
6970 Yoga AG Agama 3 90
6970 Yoga PP PPkn 2 100
6971 Yoga AG Agama 3 71

INSERT ANOMALI
DELETE ANOMALI
UPDATE ANOMALI
• Insert Anomali: Ketika seorang siswa mengambil
mapel lain, maka akan dituliskan sebanyak mapel
yang diambil. Misal mengikuti 16 Mapel, input
sebanyak 16x akan menimbulkan anomaly insert
• Kemudian apabila ingin menghapus seorang
siswa, misalnya saja Yoga bukan siswa di sekolah
tsb maka akan ada penghapusan sebanyak nama
Yoga sehingga menyebabkan delete anomali
• Update Anomali. Contohnya bagaimana kalau
NIS 6971 buka Yoga tetapi Yogi? Maka akan
dilakukan update terhadap semua baris yang
berkaitan dengan siswa tersebut
SYARAT TABEL NORMAL

TABEL
NORMAL

TIDAK MELANGGAR
LOSSLESS JOIN
BOYCE CODE
DECOMPOSITION
NORMAL FORM
• Jika ada dekomposisi/penguraian table, maka
dekomposisinya dijamin aman. Ketika tabel
dikembalikan ke bentuk semula, bentuknya sama
• Jika tidak bisa memenuhi BCNF, minimal tidak
melanggar bentuk normalisasi ketiga
LOSSLESS JOIN DECOMPOSITION
NIS NAMA NILAI TABEL DIPECAH
NIS NAMA – NAMA
1069 ASTAWA 85 NILAI
1070 PANJI 80 NIS NAMA – NIS NILAI
NIS NILAI – NAMA
1071 SULIS 75
NILAI
1072 PANJI 70 NIS NAMA NILAI
1072 PANJI 65 1069 ASTAWA 85
1070 PANJI 80
NIS NAMA NAMA NILAI 1070 PANJI 70
1069 ASTAWA ASTAWA 85 1070 PANJI 65
1070 PANJI PANJI 80 1071 SULIS 75
1071 SULIS SULIS 75 1072 PANJI 80
1072 PANJI PANJI 70 1072 PANJI 70
1072 PANJI PANJI 65 1072 PANJI 65
LOSSLESS JOIN DECOMPOSITION
NIS NAMA NILAI TABEL DIPECAH
NIS NAMA – NAMA
1069 ASTAWA 85 NILAI
1070 PANJI 80 NIS NAMA – NIS NILAI
NIS NILAI – NAMA
1071 SULIS 75
NILAI
1072 PANJI 70 NIS NAMA NILAI
1072 PANJI 65 1069 ASTAWA 85
1070 PANJI 80
NIS NAMA NIS NILAI 1071 SULIS 75
1069 ASTAWA 1069 85 1072 PANJI 70
1070 PANJI 1070 80 1072 PANJI 65
1071 SULIS 1071 75
1072 PANJI 1072 70
1072 PANJI 1072 65
LOSSLESS JOIN DECOMPOSITION
NIS NAMA KODE_MP MAPEL JML_JAM NILAI
L
6969 Eka AG Agama 3 70
6969 Eka PP PPKn 2 69
6970 Yoga AG Agama 3 90
6970 Yoga PP PPkn 2 100
6971 Yoga AG Agama 3 75

NIS, NAMA – NIS, KODE_MPL, MAPEL, JML_JAM, NILAI


NIS, NAMA – NAMA, KODE_MPL, MAPEL, JML_JAM, NILAI
NIS, NAMA, KODE_MPL – KODE_MPL, MAPEL, JML_JAM, NILAI
………
LOSSLESS JOIN DECOMPOSITION
NIS NAM KODE_M MAPEL JML_JA NILAI
A PL M
6969 Eka AG Agama 3 70
6969 Eka PP PPKn 2 69
6970 Yoga AG Agama 3 90
6970 Yoga PP PPkn 2 100
6971 Yoga AG Agama 3 75
NIS, NAMA – NIS, KODE_MPL, MAPEL, JML_JAM, NILAI
NIS NAM NIS KODE_M MAPEL JML_JA NILAI
A PL M
6969 Eka 6969 AG Agama 3 70
6969 Eka 6969 PP PPKn 2 69
6970 Yoga 6970 AG Agama 3 90
6970 Yoga 6970 PP PPkn 2 100
6971 Yoga 6971 AG Agama 3 75
LOSSLESS JOIN DECOMPOSITION
NIS, NAMA – NIS, KODE_MPL, MAPEL, JML_JAM, NILAI
NIS NAMA NIS KODE_MP MAPE JML_JA NILA
L L M I
6969 Eka
6969 AG Agama 3 70
6969 Eka
6969 PP PPKn 2 69
6970 Yoga
6970 AG Agama 3 90
6970 Yoga
6970 PP PPkn 2 100
6971 Yoga
6971 AG Agama 3 75

NIS NAM KODE_M MAPEL JML_JA NILAI


A PL M
6969 EKA AG AGAMA 3 70
6969 EKAPP PPKn 2 69
6970 YOGA AG AGAMA 3 90
6970 YOGA PP PPKn 2 100
6971 YOGA AG AGAMA 3 75
LOSSLESS JOIN DECOMPOSITION
TABEL 1 TABEL 2
NIS NAMA NIS KODE_MP MAPE JML_JA NILA
L L M I
6969 Eka
6969 AG Agama 3 70
6970 Yoga
6969 PP PPKn 2 69
6971 Yoga
6970 AG Agama 3 90
6970 PP PPkn 2 100
6971 AG Agama 3 75

NIS, KODE_MPL, MAPEL – KODE_MPL, JML_JAM, NILAI


NIS, KODE_MPL, NILAI – KODE_MPL, MAPEL, JML_JAM
NIS, KODE_MPL, MAPEL – MAPEL, JML_JAM, NILAI
…………
LOSSLESS JOIN DECOMPOSITION
NIS KODE_MP MAPE JML_JA NILA
L L M I NIS, KODE_MPL, MAPEL –
6969 AG Agama 3 70 KODE_MPL, JML_JAM,
6969 PP PPKn 2 69 NILAI
6970 AG Agama 3 90
6970 PP PPkn 2 100
6971 AG Agama 3 75
NIS KODE_MP MAPE KODE_MP JML_JA NILA
L L L M I
6969 AG Agama AG 3 70
6969 PP PPKn PP 2 69
6970 AG Agama AG 3 90
6970 PP PPkn PP 2 100
6971 AG Agama AG 3 75
LOSSLESS JOIN DECOMPOSITION
NIS KODE_MP MAPE KODE_MP JML_JA NILA
L L L M I
6969 AG Agama AG 3 70
6969 PP PPKn PP 2 69
6970 AG Agama AG 3 90
6970 PP PPkn PP 2 100
6971 AG Agama AG 3 75

TABEL KANAN TIDAK ADA 1 BARISPUN YANG SAMA


TABEL KANAN TIDAK ADA 1 BARISPUN YANG SAMA
SEHINGGA TIDAK ADA YANG BISA DI DEKOMPOSISI KAN
NIS, KODE_MPL, MAPEL – KODE_MPL, JML_JAM, NILAI
NIS, KODE_MPL, NILAI – KODE_MPL, MAPEL, JML_JAM
NIS, KODE_MPL, MAPEL – MAPEL, JML_JAM, NILAI
LOSSLESS JOIN DECOMPOSITION
NIS KODE_MP MAPE JML_JA NILA
L L M I NIS, KODE_MPL, NILAI –
6969 AG Agama 3 70 KODE_MPL, MAPEL,
6969 PP PPKn 2 69 JML_JAM
6970 AG Agama 3 90
6970 PP PPkn 2 100
6971 AG Agama 3 75
NIS KODE_MP NILA KODE_MP MAPE JML_JA
L I L L M
6969 AG 70 AG Agama 3
6969 PP 69 PP PPKn 2
6970 AG 90 AG Agama 3
6970 PP 100 PP PPkn 2
6971 AG 75 AG Agama 3
LOSSLESS JOIN DECOMPOSITION
NIS KODE_MP NILA KODE_MP MAPE JML_JA
L I L L M
6969 AG 70 AG Agama 3
6969 PP 69 PP PPKn 2
6970 AG 90 AG Agama 3
6970 PP 100 PP PPkn 2
6971 AG 75 AG Agama 3

NIS KODE_MP MAPE JML_JA NILA


NIS, KODE_MPL, NILAI – L L M I
6969 AG Agama 3 70
KODE_MPL, MAPEL,
6969 PP PPKn 2 69
JML_JAM
6970 AG Agama 3 90
6970 PP PPKn 2 100
6971 AG Agama 3 75
LOSSLESS JOIN DECOMPOSITION
NIS NAMA KODE_MP MAPEL JML_JAM NILAI
L
6969 Eka AG Agama 3 70
6969 Eka PP PPKn 2 69
6970 Yoga AG Agama 3 90
6970 Yoga PP PPkn 2 100
6971 Yoga AG Agama 3 75
NIS NAMA KODE_M MAPE JML_JA NIS KODE_M NILA
6969 Eka PL L M PL I
6970 Yoga AG Agama 3 6969 AG 70
6971 Yoga PP PPKn 2 6969 PP 69
TABEL 2 mapel
6970 AG 90
TABEL 1 siswa
6970 PP 100
TABEL 3
6971 AG 75
LOSSLESS JOIN DECOMPOSITION
NIS NAMA KODE_MP MAPEL JML_JAM NILAI
L
6969 Eka AG Agama 3 70
6969 Eka PP PPKn 2 69
6970 Yoga AG Agama 3 90
6970 Yoga PP PPkn 2 100
6971 Yoga AG Agama 3 75

SISWA NILAI MAPEL


NIS * NIS ** KODE_MPL
NAMA *
KODE_MPL
** MAPEL
NILAI JML_JAM
AYO KERJAKAN

ID_PE NAMA_PE ID_GM NAMA_GM LAMA_SEW JENIS_P


L L A EL
V05 WATI RPG1 GOD OF WAR 6 VIP
V05 WATI RPG2 FINAL 7 VIP
FANTASY
M02 DELIMA RPG1 GOD OF WAR 3 NON-VIP
M04 WATI ADV1 BUGSNAX 2 NON-VIP
V07 AGUS ADV1 BUGSNAX 8 VIP
V07 AGUS RPG1 GOD OF WAR 9 VIP

Normalkanlah table di atas dengan cara


dekomposisi/ penguraian tabel, pastikan
hasil dekomposisinya bersifat Lossless join
decomposition
AYO KERJAKAN

ID_GM NAMA_GM ID_PE NAMA_PE ID_GM LAMA_SEW JENIS_P


L L A EL
RPG1 GOD OF WAR
V05 WATI RPG1 6 VIP
RPG2 FINAL
FANTASY V05 WTI RPG2 7 VIP
RPG1 GOD OF WAR M02 DELIMA RPG1 3 NON-VIP
ADV1 BUGSNAX M04 WATI ADV1 2 NON-VIP
ADV1 BUGSNAX V07 AGUS ADV1 8 VIP
RPG1 GOD OF WAR V07 AGUS RPG1 9 VIP
AYO KERJAKAN

ID_PE NAMA_PE JENIS_P ID_PE ID_GM LAMA_SEW


L L EL L A
V05 WATI VIP V05 RPG1 6
V05 WATI VIP V05 RPG2 7
M02 DELIMA NON-VIP M02 RPG1 3
M04 WATI NON-VIP M04 ADV1 2
V07 AGUS VIP V07 ADV1 8
V07 AGUS VIP V07 RPG1 9
AYO KERJAKAN

TABEL 1 game
ID_GM NAMA_GM
RPG1 GOD OF WAR
RPG2 FINAL
FANTASY
ADV1 BUGSNAX TABEL 2 pelanggan
ID_PE NAMA_PE JENIS_P
L L EL TABEL 3
V05 WATI VIP ID_PE ID_GM LAMA_SEW
L transaksi
A
M02 DELIMA NON-VIP V05 RPG1 6
M04 WATI NON-VIP V05 RPG2 7
V07 AGUS VIP
M02 RPG1 3
M04 ADV1 2
V07 ADV1 8
V07 RPG1 9
SYARAT TABEL NORMAL

TABEL
NORMAL

TIDAK MELANGGAR
LOSSLESS JOIN
BOYCE CODE
DECOMPOSITION
NORMAL FORM

Jika tidak bisa memenuhi BCNF,


minimal tidak melanggar bentuk
normalisasi ketiga
TABEL TIDAK NORMAL

digunakan dasar untuk membuat table universal/ tidak normal


TABEL TIDAK NORMAL
no_nota
nama_pelanggan
kode_pelanggan
nama_kasir
kode_barang
nama_barang
jumlah
harga_satuan
sub_total
total
kemudian disusun dalam bentuk tabel tanggal
nama_kontak
telp
TABEL TIDAK NORMAL
no_nota nama_pe kode_pel nama_ka kode_ba nama_bar jumlah harga_sa …
langgan anggan sir rang ang tuan

83453 Toko 7831 anita B01 Monitor 2 1000000 …


ABC B02 Keyboard 3 200000
B03 Harddisk 2 1200000
83455 Toko 7833 anita B01 Monitor 1 1000000 …
XYZ B02 Keyboard 1 200000
B03 Harddisk 1 1200000

… sub_total total tanggal nama_ telp


kontak

… 2000000 5000000 22-08-2019 dion 0854612434


600000
2400000
… 1000000 2400000 22-09-2019 dessy 0878622408
200000
1200000
BENTUK NORMALISASI PERTAMA
(1-NF)
no_nota
nama_pelanggan
1-NF kode_pelanggan
+ kode_kasir nama_kasir
kode_barang
nama_barang
tidak bernilai ganda (multi jumlah
value) harga_satuan
sub_total
total
tambahkan atribut yang tanggal
diperlukan (terutama calon nama_kontak
primary key) telp

hapus atribut yang tidak


diperlukan (berpotensi
menyebabkan redundansi)
TABEL TIDAK NORMAL
+ kode_kasir
no_nota nama_pe kode_pel nama_ka kode_ba nama_bar jumlah harga_sa …
langgan anggan sir rang ang tuan

83453 Toko 7831 anita B01 Monitor 2 1000000 …


ABC B02 Keyboardtidak3 200000
B03 Harddiskboleh2 1200000
83455 Toko 7833 anita B01 Monitor multi1 1000000 …
XYZ B02 Keyboard
value1 200000
B03 Harddisk 1 1200000

… sub_total total tanggal nama_ telp


kontak

… 2000000 5000000 22-08-2019 dion 0854612434


600000
2400000
… 1000000 2400000 22-09-2019 dessy 0878622408
200000
1200000
BENTUK NORMALISASI PERTAMA
(1-NF)
no_nota nama_pelan kode_pel kode_k nama_kasi kode_ba nama_barang juml …
ggan anggan asir r rang ah
83453 Toko ABC 7831 k01 anita B01 Monitor 2 …
83453 Toko ABC 7831 k01 anita B02 Keyboard 3 …
83453 Toko ABC 7831 k01 anita B03 Harddisk 1 …
83455 Toko XYZ 7833 k01 anita B01 Monitor 1 …
83455 Toko XYZ 7833 k01 anita B02 Keyboard 1 …
83455 Toko XYZ 7833 k01 anita B03 Harddisk 1 …

… harga_satuan tanggal nama_kontak telp

… 1000000 22-08-2019 dion 0854612434

… 200000 22-08-2019 dion 0854612434

… 1200000 22-08-2019 dion 0854612434

… 1000000 22-09-2019 dessy 0878622408

… 200000 22-09-2019 dessy 0878622408

… 1200000 22-09-2019 dessy 0878622408


BENTUK NORMALISASI KEDUA (2-
NF)

2-NF

memenuhi 1-NF, cari atribut yang


bisa dijadikan Primary Key

evaluasi atribut lain:


• jika bernilai tunggal, masukkan
dalam 1 table
• jika bernilai jamak, buat table
baru dengan primary key adalah
primary key table induk Bersama
perwakilannya
BENTUK NORMALISASI KEDUA (2-
NF)
no_nota pilih primary key dan cari atribut lain yang bernilai tunggal
nama_pelanggan kemudian jadikan 1 tabel
kode_pelanggan
no_nota  nama_pelanggan, kode_pelanggan,
kode_kasir kode_kasir, nama_kasir, tanggal, nama_kontak,
nama_kasir telp
kode_barang
nama_barang bernilai jamak, buat table baru dengan primary key adalah
primary key table induk Bersama perwakilannya
jumlah
harga_satuan no_nota, kode_barang  nama_barang, jumlah,
tanggal harga_satuan
nama_kontak
Dari 1-NF menghasilkan 2 Tabel Baru. Tabel 1 untuk atribut
telp
yang bernilai tunggal, table 2 untuk atribut yang bernilai
jamak. Jika ada atribut lain yang tidak berkaitan dengan
atribut barang, bisa dibuatkan table ke-3
BENTUK NORMALISASI KEDUA (2-
NF)
table 1
no_nota nama_pelan kode_pela kode_k nama tanggal nama_ telp
ggan nggan asir _kasir kontak
83453 Toko ABC 7831 k01 anita 22-08-2019 dion 0854612434
83453 Toko ABC 7831 k01 anita 22-08-2019 dion 0854612434
83453 Toko ABC 7831 k01 anita 22-08-2019 dion 0854612434
83455 Toko XYZ 7833 k01 anita 22-09-2019 dessy 0878622408
83455 Toko XYZ 7833 k01 anita 22-09-2019 dessy 0878622408
83455 Toko XYZ 7833 k01 anita 22-09-2019 dessy 0878622408

table 2
no_nota kode_barang nama_barang jumlah harga_satuan
83453 B01 Monitor 2 1000000
83453 B02 Keyboard 3 200000
83453 B03 Harddisk 1 1200000
83455 B01 Monitor 1 1000000
83455 B02 Keyboard 1 200000
83455 B03 Harddisk 1 1200000
BENTUK NORMALISASI KETIGA
(3-NF)

3-NF

memenuhi 2-NF

semua atribut tidak boleh memiliki


ketergantungan transitif

A B C AB
BC
BENTUK NORMALISASI KETIGA
(3-NF)
no_nota  nama_pelanggan, kode_pelanggan, ABC
kode_kasir, nama_kasir, tanggal, nama_kontak,
telp

no_nota, kode_barang  nama_barang, jumlah, AB


harga_satuan BC

no_nota  kode_pelanggan, kode_kasir, tanggal


kode_pelanggan  nama_pelanggan, nama_kontak, telp
kode_kasir  nama_kasir

no_nota, kode_barang  jumlah, harga_satuan


kode_barang  nama_barang
BENTUK NORMALISASI KETIGA
(3-NF)
no_nota  kode_pelanggan, kode_kasir, tanggal penjualan
kode_pelanggan  nama_pelanggan, nama_kontak, telp pelanggan
kode_kasir  nama_kasir kasir
no_nota, kode_barang  jumlah, harga_satuan detail_nota
kode_barang  nama_barang barang

PELANGGAN PENJUALAN DETAIL_NOTA


kode_pelanggan * no_nota * no_nota **
nama_pelanggan kode_pelanggan ** kode_barang **
nama_kontak kode_kasir ** jumlah
telp tanggal harga_satuan

KASIR BARANG
kode_kasir * kode_barang *
nama_kasir nama_barang
NOTA PENJUALAN

digunakan dasar untuk membuat table universal/ tidak normal


TABEL TIDAK NORMAL
no_nota nama_pe kode_pel nama_ka kode_ba nama_bar jumlah harga_sa …
langgan anggan sir rang ang tuan

83453 Toko 7831 anita B01 Monitor 2 1000000 …


ABC B02 Keyboard 3 200000
B03 Harddisk 2 1200000
83455 Toko 7833 anita B01 Monitor 1 1000000 …
XYZ B02 Keyboard 1 200000
B03 Harddisk 1 1200000

… sub_total total tanggal nama_ telp


kontak

… 2000000 5000000 22-08-2019 dion 0854612434


600000
2400000
… 1000000 2400000 22-09-2019 dessy 0878622408
200000
1200000
BENTUK NORMALISASI PERTAMA
(1-NF)
no_nota nama_pelan kode_pel kode_k nama_kasi kode_ba nama_barang juml …
ggan anggan asir r rang ah
83453 Toko ABC 7831 k01 anita B01 Monitor 2 …
83453 Toko ABC 7831 k01 anita B02 Keyboard 3 …
83453 Toko ABC 7831 k01 anita B03 Harddisk 1 …
83455 Toko XYZ 7833 k01 anita B01 Monitor 1 …
83455 Toko XYZ 7833 k01 anita B02 Keyboard 1 …
83455 Toko XYZ 7833 k01 anita B03 Harddisk 1 …

… harga_satuan tanggal nama_kontak telp

… 1000000 22-08-2019 dion 0854612434

… 200000 22-08-2019 dion 0854612434

… 1200000 22-08-2019 dion 0854612434

… 1000000 22-09-2019 dessy 0878622408

… 200000 22-09-2019 dessy 0878622408

… 1200000 22-09-2019 dessy 0878622408


BENTUK NORMALISASI KEDUA (2-
NF)
table 1. Tunggal
no_nota nama_pelan kode_pela kode_k nama tanggal nama_ telp
ggan nggan asir _kasir kontak
83453 Toko ABC 7831 k01 anita 22-08-2019 dion 0854612434
83453 Toko ABC 7831 k01 anita 22-08-2019 dion 0854612434
83453 Toko ABC 7831 k01 anita 22-08-2019 dion 0854612434
83455 Toko XYZ 7833 k01 anita 22-09-2019 dessy 0878622408
83455 Toko XYZ 7833 k01 anita 22-09-2019 dessy 0878622408
83455 Toko XYZ 7833 k01 anita 22-09-2019 dessy 0878622408

table 2. Jamak
no_nota kode_barang nama_barang jumlah harga_satuan
83453 B01 Monitor 2 1000000
83453 B02 Keyboard 3 200000
83453 B03 Harddisk 1 1200000
83455 B01 Monitor 1 1000000
83455 B02 Keyboard 1 200000
83455 B03 Harddisk 1 1200000
BENTUK NORMALISASI KETIGA (3-
NF)
tidak ada ketergantungan transitif
kode_pel nama_pela nama_k telp kode_ nama_ka kode_ nama_bara
anggan nggan ontak kasir sir baran ng
g
7831 Toko ABC dion 0854612434 k01 anita
B01 Monitor
7831 Toko ABC dion 0854612434 k01 anita
B02 Keyboard
7831 Toko ABC dion 0854612434 k01 anita
B03 Harddisk
7833 Toko XYZ dessy 0878622408 k01 anita
B01 Monitor
7833 Toko XYZ dessy 0878622408 k01 anita
B02 Keyboard
7833 Toko XYZ dessy 0878622408 k01 anita
B03 Harddisk

no_nota kode_pela kode_k tanggal no_nota kode_ba jumla harga_sat


nggan asir rang h uan
83453 7831 k01 22-08-2019 83453 B01 2 1000000
83453 7831 k01 22-08-2019 83453 B02 3 200000
83453 7831 k01 22-08-2019 83453 B03 1 1200000
83455 7833 k01 22-09-2019 83455 B01 1 1000000
83455 7833 k01 22-09-2019 83455 B02 1 200000
83455 7833 k01 22-09-2019 83455 B03 1 1200000
BENTUK NORMALISASI KETIGA
(3-NF)

PELANGGAN PENJUALAN DETAIL_NOTA


kode_pelanggan * no_nota * no_nota **
nama_pelanggan kode_pelanggan ** kode_barang **
nama_kontak kode_kasir ** jumlah
telp tanggal harga_satuan

KASIR BARANG
kode_kasir * kode_barang *
nama_kasir nama_barang
AYO KERJAKAN

Berdasarkan nota sewa di


samping, buatlah:
1. Tabel Tidak Normal
2. Bentuk Tabel 1-NF
3. Bentuk Tabel 2-NF
4. Bentuk Tabel 3-NF

Anda mungkin juga menyukai