Anda di halaman 1dari 3

Anomali

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

Kode kursus Kursus


01 Mandarin
02 Bahasa Inggris
03 Bahasa Jepang
04 Bahasa Jerman

2. Deletion Anomalies terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga
akibatnya terdapat data lain yang hilang. Contoh,

NO_Siswa Kursus Biaya


S01 Bahasa Inggris 150000
S02 Bahasa Mandarin 100000
S03 Bahasa Inggris 200000
S04 Bahasa Jepang 150000

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

Kode kursus Kursus Biaya


01 Bahasa Jepang 150000
02 Bahasa Jerman 200000
03 Bahasa mandarin 100000
04 Bahasa Inggris 300000

3. Modification Anomalies terjadi bila ada perubahan pada sejumlah data, tetapi tidak seluruhnya
diubah. Contohnya,
Data sebelum perubahan

Supplier Kota Barang Jumlah


PT. Sumber Jaya Jakarta Laptop 50
PT. Ginting Bandung Printer 50
PT. Sumber Jaya Bandung Mouse 100
PT. Technoindo Bogor Hard Disk 100

Data setelah perubahan

Supplier Kota Barang Jumlah


PT. Sumber Jaya Semarang Laptop 50
PT. Ginting Bandung Printer 50
PT. Sumber Jaya Surabaya Mouse 100
PT. Technoindo Bogor Hard Disk 100

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.

Kode_Supplier Supplier Kota


01 PT. Sumber Jaya Semarang
02 PT. Ginting Bandung
03 PT. Technoindo Bogor
Kode_Supplier Barang Jumlah
01 Laptop 50
02 Printer 50
01 Mouse 100
03 Harddisk 100

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

Anda mungkin juga menyukai