Anda di halaman 1dari 30

Anomali dan Redudansi

Pertemuan Ke-13

- Desi Pibriana, S.SI., M.T.I -


ANOMALI
• Anomali atau penyimpangan, adalah masalah
yang timbul pada suatu tabel yang terjadi
pada saat tabel akan dimanipulasi

• Masalah-masalah tersebut dapat berupa :


- Ketidak-konsistenan data
- Data menjadi hilang ketika data lain dihapus
ANOMALI
Ada 3 Macam Anomali:

1. Anomali Penambahan (Insert Anomaly)

Terjadi pada saat akan dilakukan penambahan data


ternyata ada elemen data yang masih kosong.
Elemen data tersebut diperlukan untuk proses
penambahan
ANOMALI INSERT
Contoh Anomali penambahan
Tabel disamping
menunjukkan relasi:

KodeMK NamaMK Ruang Tempat


- Satu mata kuliah
MK01 Pancasila A 201 Lantai 2
menggunakan ruang
MK02 Jaringan A 302 Lantai 3
tertentu
MK03 Basis Data A 204 Lantai 2
MK04 Statistika A 401 Lantai 4
- Satu ruang berada
MK05 Kalkulus A 402 Lantai 4
pada tempat
tertentu (201 di lt. 2)
Desi Pibriana, S.SI., M.T.I
ANOMALI INSERT
Permasalahan :
Bagaimana cara menyimpan data bila terdapat fakta
ada ruang baru dengan nama A 501 yang terdapat
pada lantai 5 ?

Penyisipan tidak dapat dilakukan mengingat tidak


ada/ belum ada perkuliahan yang menggunakan
ruang tersebut
KodeDosen NamaDosen Mata Semester
Kuliah
D001 Fina SBD 3
D002 Ferry BDT 5
D003 Fifi SBD 3
D004 Fersy PTI 1
D005 Ferdy C++ 3

Desi Pibriana, S.SI., M.T.I


ANOMALI
2. Anomali Pengubahan (Update Anomaly)

Terjadi apabila pengubahan pada sejumlah data


yang duplikasi tetapi tidak seluruhnya diubah
ANOMALI UPDATE
Pemasok Kota Barang Jumlah
Bahagia Palembang Monitor 10
Sentosa Bandung Keyboard 15
Makmur Jakarta Mouse 20
Bahagia Palembang CDROM 50

Seandainya pemasok Bahagia pindah ke kota lain misalnya


Semarang dan pengubahan hanya dilakukan pada data yang
pertama (data pemasok Bahagia pada relasi Pemasok ada 2
buah) maka hasilnya akan menyebabkan ketidakkonsistenan
Desi Pibriana, S.SI., M.T.I
ANOMALI UPDATE
Bila kota pemasok Bahagia diubah, maka :

Pemasok Kota Barang Jumlah


Bahagia Semarang Monitor 10
Sentosa Bandung Keyboard 15
Makmur Jakarta Mouse 20
Bahagia Palembang CDROM 50

Akan terjadi ketidak-konsistenan karena :


- Data pertama menyatakan bahwa pemasok Bahagia
berlokasi di Semarang
- Data kedua menyatakan bahwa pemasok Bahagia
berlokasi di Palembang
Desi Pibriana, S.SI., M.T.I
ANOMALI
3. Anomali Penghapusan (Delete Anomaly)

Terjadi apabila ada suatu tupel yang tidak terpakai


dihapus mengakibatkan adanya data lain yang
hilang
ANOMALI DELETE
No Siswa Nama Siswa Nama Kursus Biaya
001 Ali Bahasa Inggris 100000
002 Budi Bahasa Jerman 150000
003 Iwan Bahasa Mandarin 120000
004 Arief Bahasa Inggris 100000
005 Putri Bahasa Jepang 175000

Seandainya data siswa dengan No Siswa 005 yang bernama


Putri dihapus (dikarenakan data tersebut tidak digunakan lagi
maka recordnya akan dihapus) maka mengakibatkan data yang
menyatakan bahwa biaya kursus bahasa Jepang sebesar 175000
juga akan terhapus Desi Pibriana, S.SI., M.T.I
REDUDANSI
Redudansi (Redundancy) adalah munculnya data secara berulang
kali pada file basis data yang semestinya tidak diperlukan.

Redudansi perlu dihindari karena:


1. Pemborosan media penyimpanan basis data
2. Biaya penyimpanan yang semakin besar
3. Kesulitan/inefisiensi dalam pengolahan data
4. Pemborosan waktu dalam pengolahan data
5. Semakin besar kemungkinan muncul data tidak konsisten
REDUDANSI
Redudansi terjadi pada dua (2) kemungkinan,
yaitu :

1. Redudansi data dalam satu file

2. Redudansi data dalam beberapa file


Redudansi Data Dalam Satu File
File Karyawan

NIK Nama_kary Alamat Gol_Gaji Gaji_pokok


K001 Rita Yogyakarta IIIA 500.000
K002 Rina Semarang IVA 750.000
K003 Rini Jakarta IIIA 500.000
K004 Rani Yogyakarta IIIB 550.000
K005 Rika Surabaya IVA 750.000
Redudansi Data Dalam Beberapa File

File Mahasiswa File Minat_Mahasiswa


NIM Nama_Mhsw NIM Nama_Mhsw Minat
2002.25.0001 Rita 2002.25.0001 Rita Pemrograman
2005.25.0002 Rina 2005.25.0002 Rina Jaringan
2005.25.0003 Rini 2005.25.0003 Rini Web
2005.25.0004 Rani 2005.25.0004 Rani Basis Data
2005.25.0005 Rika 2005.25.0005 Rika Multimedia
Desi Pibriana, S.SI., M.T.I
Dependency (Ketergantungan)
Pertemuan Ke-14

- Desi Pibriana, S.SI., M.T.I -


Dependency / Ketergantungan
• Merupakan konsep yang mendasari
normalisasi. Dependensi menjelaskan
hubungan antar atribut, atau secara lebih
khusus menjelaskan nilai suatu atribut yang
menentukan nilai atribut lainnya.

• Ada beberapa jenis dependency:


 Ketergantungan Fungsional
• Suatu atribut Y mempunyai ketergantungan fungsi
terhadap atribut X, jika dan hanya jika setiap nilai
X berhubungan dengan sebuah nilai Y.

– Definisi diatas dituangkan dalam bentuk notasi


X  Y
– Dibaca : X secara fungsional menentukan Y
• Contoh:
Terdapat relasi PESANAN_JUAL yang
dinotasikan dengan:

PESANAN_JUAL (PEMBELI, KOTA, BARANG,


JUMLAH)
Yang artinya bahwa relasi PESANAN_JUAL
mengandung atribut PEMBELI, KOTA,
BARANG dan JUMLAH.
PEMBELI KOTA BARANG JUMLAH

P1 Yogya B1 10

P1 Yogya B2 5

P2 Solo B1 7

P2 Solo B2 6

P2 Solo B3 6

P3 Klaten B3 7

P3 Klaten B4 6
• Pada contoh ini, PEMBELI secara fungsional
menentukan KOTA, sebab terlihat bahwa untuk
PEMBELI yang sama, KOTA-nya juga sama.
• Dengan demikian:
PEMBELI  KOTA
contoh lain:
{Pembeli, Barang} Jumlah
{Pembeli, Barang} Kota
{Pembeli, Barang} {Jumlah, Kota}
 Bagian yang terletak di sebelah kiri panah biasa
disebut penentu (determinan) dan yang di sebelah
kanan panah disebut yang tergantung
(dependen).
 Tanda { } biasa digunakan kalau ada lebih dari
satu atribut, baik pada penentu maupun yang
tergantung
 Ketergantungan Fungsional Penuh
• Suatu atribut Y mempunyai ketergantungan
fungsional penuh terhadap atribut X, jika

– Y mempunyai dependensi fungsional terhadap X


– Y tidak memiliki dependensi terhadap bagian dari
X
– Notasi : X  Y
contoh , terdapat relasi pelanggan:
Pelanggan (KODE_PELANGGAN, NAMA, KOTA,
NOMOR_FAX )
Pada relasi ini:
1. {KODE_PELANGGAN, KOTA} NOMOR_FAX
2. KODE_PELANGGAN NOMOR_FAX
KET: Mengingat bahwa Nomor_Fax bergantung pada
{KODE_PELANGGAN, KOTA} (kondisi 1) dan bergantung pada
KODE_PELANGGAN (Kondisi 2) yang tidak lain adalah bagian
dari {KODE_PELANGGAN, KOTA}, maka Nomor_Fax hanya
mempunyai dependenci fungsional sepenuhnya terhadap
KODE_PELANGGAN
Ketergantungan Transitif
– Atribut Z mempunyai dependensi transitif
terhadap X bila:
– Y memiliki dependensi fungsional terhadap X
– Z memiliki dependensi fungsional terhadap Y

X YZ
NIP Nama Gol_gaji Gaji_pokok
0001 Ian III A 600000
0002 Saputra III B 650000
0003 Rohim III A 600000
0004 Fani III B 650000

• Gol_gaji fungsional dependency pada NIP dan


Gaji_pokok Fungsional Dependency pada Gol_gaji.
• NIP sebagai X, Gol_gaji sebagai Y, dan Gaji_pokok
sebagai Z
• Jadi nilai-nilai rinci data pada atribut Gaji_pokok (Z)
bergantung transitif terhadap NIP
• XYZ
NIP  Gol_gaji Gaji_pokok
Desi Pibriana, S.SI., M.T.I
 Dependensi Total

• Suatu atribut Y mempunyai ketergantungan total


pada atribut X jika:
– Y memiliki ketergantungan fungsi terhadap X
– X memiliki ketergantungan fungsi terhadap Y
– Notasi : X  Y
Desi Pibriana, S.SI., M.T.I
Terima Kasih

Anda mungkin juga menyukai