Mengenal Anomali, Contoh Anomali dan Solusinya Dalam Basidata

Share:

Assalamualaikumwarahmatullahi wabarakaatuh, Alhamdulillah segala puji bagi Allah yang telah memberikan nikmat dan rahmatnya kepada kita semua khususnya kepada admin, sehingga admin dapat memberikan artikel-artikel yang insyaAllah bermanfaat bagi kita semua.

Anomali
Anomali merupakan proses pada basisdata yang memberikan efek samping yang tidak diharapkan, Anomali ini terjadi karena struktur tabel yang kita buat memiliki masalah. Masalah ini akan meningkatkan kompleksitas daata dan menyulitkan dalam pemodifikasian data itu sendiri. Sehingga harus dilakukan cara-cara yang disebut dengan normalisasi. Terdapat 3 macam anomali 
  • Anomali Peremajaan Adalah masalah yang timbul saat terjadi perubahan terhadap sejumlah data yang mubazir, tetapi tidak seluruhnya diubah. Contoh : Jika PT. Kencan pindah ke Surabaya, kemudian perubahan data hanya dilakukan pada data pertama, sedangkan data yang lain tetap, maka akan terjadi inkonsistensi data pada PT. Kencana. Jika hasil data setelah diubah menjadi seperti tabel nomor 2, maka orang akan bingung apakah PT. Kencana ada dua ? satu di bandung dan satu lagi di surabaya, padahal PT. Kencana hanya ada satu dan sutadah pindah tempat ke Surabaya
contoh tabel 1.1 data sebelum diubah

contoh tabel 1.2 data setelah diubah
  • Solusi Untuk Contoh Kasus Anomali Peremajaan, supplier dan kota dijadikan dalam satu tabel dalam tabel 1.3, dengan kode_supplier sebagai primary keynya. Kemudian barulah kode_suplier dipakai untuk melengkapi tabel 1.4. Dengan cara seperti ini kita hanya perlu merubah kota pada tabel 1.3, dan otomatis semua data akan berubah. Untuk penjelasan ini akan dibahas lebih detail pada artikel normalisasi.
tabel 1.3

tabel 1.4

  • Anomali Penyisipan, Adalah masalah yang timbul saat melakukan penambahan data. Dan data itu adalah Primary Key atau elemen kunci. Contoh : tabel dibawah menunjukkan bahwa jenis kursus bahasa hanya ada 3, dan kursus bahasa lain tidak akan dapat ditambah kecuali jika ada siswa yang mengambil kursus tersebut. 
tabel 2.1 data kursus bahasa
  • Solusi Untuk Anomali Penyisipan, solusinya adalah membuat 2 tabel berbeda, 1 tabel untuk data siswa dan satu lagi tabel untuk kursus. Contoh sperti tabel 2.2 dan 2.3. Untuk dapat menambahkan data kursus bahasa yang baru kita hanya perlu menambahkan data pada tabel 2.3. Sehingga datanya lebih dinamis dan mencegah dari kolom pada tabel yang tidak terisi. Untuk tabel 2.1, kita dapat menggunakannya sebagai gabungan dari tabel 2.2 dan 2.3. Untuk penjelasan lebih lanjut tentang pemecahan tabel dapat dilihat lebih detail di pembahasan normalisasi
tabel 2.2

tabel 2.3

  • Anomali Penghapusan, Adalah masalah yang timbul saat melakukan penghapusan data, dan data lain ikut terhapus atau hilang. Contoh : Jika siswa dengan no_siswa S02 batal mengambil kursus, sehingga datanya dihapus, maka data yang menyatakan biaya kursus bahasa mandarin juga akan terhapus.
tabel 3.1
  • Solusi Anomali Penghapusan, tabel perlu dipecah seperti kasus anomali penyisipan. contoh tabelnya seperti  3.2 dan 3.3 hanya saja pada tabel kursus ditambah dengan biaya. Pada tabel 3.1 diatas bisa lebih dirampingkan lagi dengan membuang kolom kursus dan biaya dan digantikan dengan kd_kursus. Maka jika data siswa S02 dihapus maka biaya kursus bhsa mandarin tidak terhapus karena tersimpan di dalam tabel lain.
tabel 3.2

tabel 3.3

Itu dia pengertian singkat apa itu anomali yang terjadi di dalam basisdata dan solusinya, anomali ini adalah sebuah masalah yang serius jika data-data yang ada di dalamnya tidak diatur sesimpel mungkin, seramping mungkin, dan serapi mingkin. Dan itu diaplikasikan dalam metode yang disebut normalisasi. Di dalam normalisasi nantinya kita akan memahami apa itu depedensi, dan tahapan-tahapan dalam normalisasi itu sendiri. Saya tutup artikel saya dan mudah-mudahan bermanfaat bagi kita semua

2 comments:

  1. Mantap bgt penjelasannya, dri dlu susah bgt buat pahamin normalisasi, ternyata belajar anomali jadi bisa normalisasi

    ReplyDelete
    Replies
    1. banyak-banyak belajar contoh-contoh struk/nota belanja trus diaplikasikan kedalam bentuk tabel :)

      Delete