Masalah-masalah yang timbul dalam pembuatan tabel disebut anomaly. Anomali adalah proses pada
basis data yang mempunyai efek samping yang tidak diharapkan.
Ada 3 jenis Anomali yaitu :
1. Insertion Anomalies terjadi pada saat penambahan data ternyata ada elemen yang kosong dan
elemen tersebut justru menjadi key. Contoh,
No_Siswa Kursus
S01 Bahasa Inggris
S02 Bahasa Mandarin
S03 Bahasa Inggris
S04 Bahasa Jepang
Pada diatas menunjukkan bahwa jenis khusus hanya ada 3 dan kursus bahasa lainnya tidak dapat
ditambah kecuali jika ada siswa yang mengambil kursus. Solusinya adalah membuat 2 tabel yang
berbeda yaitu 1 tabel untuk data siswa dan satu table untuk kursus sehingga datanya lebih dinamis
dan mencegah dari kolom pada table yang tidak terisi dimana untuk menambahkan data kursus
bahasa kita hanya perlu manambahkan data pada table kursus saja.
No_siswa Nama
S01 Joko
S02 Danu
S03 Ilham
S04 Rudi
2. Deletion Anomalies terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga
akibatnya terdapat data lain yang hilang. Contoh,
Pada table diatas, jika siswa dengan No_Siswa S01 batal mengambil kursus, sehingga datanya
dihapus, maka data yang menyatakan biaya kursus bahasa mandarin juga akan terhapus.
Solusinya memecah table seperti kasus Insertion Anomalies satu table untuk table kursus
ditambah dengan biaya dan satu table nama dengan No_siswa saja, sehingga jika data siswa S02
dihapus maka biaya kursus tidak terhapus karena berada pada table lainnya.
No_siswa Nama
S01 Joko
S02 Danu
S03 Ilham
S04 Rudi
3. Modification Anomalies terjadi bila ada perubahan pada sejumlah data, tetapi tidak seluruhnya
diubah. Contohnya,
Data sebelum perubahan
Pada table diatas, jika PT Sumber Jaya pindah ke semarang dari Jakarta, kemudian perubahan
data hanya dilakukan pada data pertama, sedangkan yang lain tetap maka akan terjadi
inkonsistensi data pada PT Sumber jaya. Jika hasil data setelah perubahan, maka orang akan
bingung apakah PT Sumber Jaya ada dua, satu di Jakarta dan satu lagi di Semarang padahal sudah
pindah ke Semarang. Solusinya supplier dan kota dijadikan dalam satu table dengan kode
supplier sebagai primary key. Kemudian kode supplier dipakai untuk melengkapi table barang
dan jumlah sehingga dengan hanya mengubah kota makan otomatis semua data akan berubah.
References :
1. LN4-W4-S5-R0.pdf Lecture Note
2. https://www.sahretech.com/2018/11/mengenal-anomali-contoh-anomali-dan.html
3. https://docplayer.info/69983843-Anomali-anomali-ada-3-jenis-yaitu-anomali-pengubahan-
anomali-penyisipan-anomali-penghapusan.html
4. https://www.slideshare.net/derinaellya/materi-basis-data-anomali-dan-normalisasi