Database
1/29
secara berulang
Update anomaly: Jika satu copy data terulang tsb diubah,
inkonsistensi data dpt terjadi kecuali kalau semua copy dari
data tsb diubah dengan cara yang sama
Insertion anomaly: Mungkin dpt terjadi kesulitan utk
menyisipkan data tertentu kecuali kalau beberapa data
tidak terkait lainnya juga ikut disisipkan
Deletion anomaly: Mungkin dpt terjadi kesulitan utk
menghapus data tertentu tanpa harus kehilangan beberapa
data tidak terkait lainnya
2/29
Nama
Yana
Yani
Yono
Yuni
Yuno
Jabatan
Kepala Pusat
Kepala Pusat
Kepala Bidang
Pelaksana
Pelaksana
Grading
23
23
20
15
15
Penyebab Anomali
Mengapa anomali - anomali ini terjadi ?
Karena menggabungkan dua tema (konsep entitas) dalam satu
4/29
Normalisasi
Normalisasi adalah proses pembentukan struktur
5/29
Normalisasi
Sebuah tabel dikatakan baik (efisien) atau normal jika
memenuhi 3 kriteria sbb:
1.
2.
3.
Normalisasi
Jika kriteria ketiga (BCNF) tidak dapat terpenuhi,
maka paling tidak tabel tersebut tidak melanggar
Bentuk Normal tahap ketiga (3rd Normal Form /
3NF).
7/29
8/29
Tabel Universal
Tabel Universal (Universal / Star Table) sebuah
tabel yang merangkum semua kelompok data
yang saling berhubungan, bukan merupakan tabel
yang baik.
Misalnya:
9/29
Tabel Universal
NIP
037
038
039
Nama
Nina
Tono
Hadi
No_klien
Nama_klien
K05
Martini
K08
Anton
K02
Sarmini
K04
Eka
K10
Andin
K06
Mitha
K24
Buyung
K90
Indah
10/29
Functional Dependency
Notasi: A B
11/29
Functional Dependency
Contoh tabel pemasok
Kode
Nama_Brg
Harga
Kd_Pemasok
Nm_Pemaso
k
Kota
T-001
TV SN 14
600.000
P22
PT Sumber
Jakarta
T-002
TV SN 21
950.000
P22
PT Sumber
Jakarta
T-003
TV SS 14
450.000
P11
PT Tunas
Jaya
Surabaya
T-004
TV M 34
4.500.000
P33
PT Mekar
Semarang
T-005
TV S 24
1.200.000
P44
PT Holic
Semarang
12/29
Dependensi Fungsional
Berdasarkan tabel tersebut, diperoleh:
Kode Nama_Brg
Kode Harga
Kode Kd_Pemasok
Kode Nm_Pemasok
Kd_Pemasok Nm_Pemasok
Setiap Kode pasti berhubungan dengan satu Nama_Brg begitu juga antara Kode
dan Harga. Begitu seterusnya.
Misalnya: T-001 hanya cocok dengan 1 barang, yaitu TV SN 14
Catatan: Bagaimana kalau dibalik?
Harga tidak menentukan barangnya, (karena banyak barang mempunyai harga
yang sama); tapi satu jenis barang punya satu harga.
Nama_Brg Kode
Nm_Pemasok Kode_Pemasok
13/29
Dependensi Fungsional
Perhatikan bagian ini:
Kode Nama_Brg
Kode Harga
Kode Kd_Pemasok
Kode Nm_pemasok
Kd_Pemasok Nm_Pemasok
Bentuk-bentuk Normal
1.
2.
3.
4.
5.
6.
15/29
16/29
038
039
Nama
Nina
Tono
Hadi
No_klien
Nama_klien
K05
Martini
K08
Anton
K02
Sarmini
K04
Eka
K10
Andin
K06
Mitha
K24
Buyung
K90
Indah
17/29
Data 1NF
NIP
Nama
No_klien
Nama_klien
037
Nina
K05
Martini
037
Nina
K08
Anton
037
Nina
K02
Sarmini
038
Tono
K04
Eka
038
Tono
K10
Andin
039
Hadi
K06
Mitha
039
Hadi
K24
Buyung
039
Hadi
K90
Indah
18/29
Contoh 2 (composite)
JadwalKuliah
Kodekul
NamaKul
Dosen
Kelas
Jadwal
NamaKul
Dosen
Kelas
JadwalHari JadwalJam
19/29
20/29
Contoh
Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF:
NIM
Nama
Alamat
Mk_kode
mk_nama
mk_sks
nihuruf
Contoh
Functional
dependencynya
sbb:
{NIM, mk_kode}
nihuruf
(fd1)
NIM
(fd2)
Mk_kode
(fd3)
{mhs_nama, mhs_alamat}
{mk_nama, mk_sks}
fd1
(NIM, mk_kode, nihuruf)
Tabel Nilai
fd2
(NIM, mhs_nama, mhs_alamat) Tabel Mahasiswa
fd3 (mk_kode, mk_nama, mk_sks) Tabel MataKuliah
22/29
23/29
Contoh
Tabel berikut memenuhi 2NF, tapi tidak memenuhi 3NF:
Pegawai
NIP
Nama
Alm_Jalan
Alm_Kota
Alm_Provinsi Alm_Kodepos
alm_kodepos)
Kodepos (alm_kodepos, alm_provinsi,
alm_kota)
24/29