Anomali data adalah ketidaksesuaian atau inkonsistensi dalam data yang sering terjadi dalam pengelolaan basis data, terutama ketika tidak ada perencanaan yang baik dalam mendesain struktur database. Anomali ini bisa mengakibatkan berbagai masalah dalam sistem, seperti data yang duplikat, ketidaktepatan informasi, atau ketidakstabilan dalam proses pembaruan data. Anomali data sering terjadi dalam tiga bentuk utama: anomali penyisipan (insertion anomaly), anomali pembaruan (update anomaly), dan anomali penghapusan (deletion anomaly).

Untuk mengatasi masalah ini, berbagai teknik telah dikembangkan, di antaranya normalisasi database, penggunaan aturan referensial, dan pemanfaatan model NoSQL untuk data yang tidak terstruktur.

Berikut adalah jenis-jenis anomali data serta langkah-langkah untuk mengatasinya.

Jenis-Jenis Anomali Data

  1. Anomali Penyisipan, anomali ini terjadi ketika penambahan data baru tidak dapat dilakukan tanpa harus menyisipkan informasi yang tidak relevan atau tidak diketahui. Misalnya, jika kita memiliki tabel “Siswa dan Kelas” dan hanya satu tabel untuk menyimpan data siswa beserta kelasnya, maka kita tidak bisa menambahkan data siswa baru yang belum punya kelas. Ini akan menyebabkan ketidakmampuan memasukkan informasi yang belum lengkap, tetapi tetap penting.
  2. Anomali Pembaruan, anomaly ini terjadi ketika informasi yang sama disimpan di beberapa tempat dalam database dan tidak semuanya diperbarui secara bersamaan. Akibatnya, data menjadi tidak konsisten. Misalnya, jika informasi alamat untuk seorang siswa disimpan di beberapa tabel dan hanya satu tabel yang diperbarui, maka alamat siswa tersebut menjadi tidak konsisten di seluruh database.
  3. Anomali Penghapusan, anomali penghapusan muncul ketika penghapusan data tertentu menyebabkan hilangnya informasi penting lainnya yang sebenarnya masih diperlukan. Contohnya, dalam tabel “Siswa dan Kelas”, jika kita menghapus siswa terakhir yang tergabung dalam suatu kelas, maka kita juga kehilangan informasi tentang kelas tersebut.

Cara Mengatasi Anomali Data

      I.         Normalisasi Database

Normalisasi adalah proses mengatur tabel dalam database agar mengurangi redundansi dan ketidakonsistenan data. Normalisasi mengelompokkan data ke dalam beberapa tabel dengan menerapkan aturan-aturan tertentu yang disebut bentuk normal. Berikut adalah beberapa tahap normalisasi:

  1. Bentuk Normal Pertama (1NF): Menghilangkan pengulangan kolom dalam tabel dan memastikan bahwa setiap kolom hanya memiliki satu nilai unik.
  2. Bentuk Normal Kedua (2NF): Menghilangkan ketergantungan parsial di mana setiap atribut bukan kunci bergantung sepenuhnya pada kunci utama tabel.
  3. Bentuk Normal Ketiga (3NF): Menghilangkan ketergantungan transitif, yaitu ketergantungan antara kolom non-primer dengan kolom non-primer lainnya.

Dengan normalisasi, database dipecah menjadi beberapa tabel kecil yang saling berhubungan, sehingga meminimalkan anomali penyisipan, pembaruan, dan penghapusan.

 

     II.         Menggunakan Kunci Utama dan Kunci Asing (Primary and Foreign Keys)

Kunci utama dan kunci asing sangat penting untuk menjaga integritas referensial dalam database. Kunci utama adalah kolom yang secara unik mengidentifikasi setiap baris dalam tabel, sedangkan kunci asing adalah kolom yang menghubungkan tabel satu dengan tabel lain. Dengan adanya kunci-kunci ini, relasi antar data terjaga sehingga ketika ada perubahan pada satu tabel, data di tabel terkait dapat diperbarui atau dihapus dengan lebih mudah tanpa menimbulkan anomali. Misalnya, tabel “Siswa” memiliki kunci utama “ID_Siswa”, dan tabel “Kelas” memiliki kunci utama “ID_Kelas”. Lalu, tabel “Siswa_Kelas” memiliki dua kolom kunci asing dari kedua tabel tersebut untuk menghubungkan siswa dengan kelasnya, sehingga setiap perubahan atau penghapusan data siswa atau kelas dapat dikelola tanpa menghilangkan informasi penting.

   III.         Mengimplementasikan Aturan Referensial (Referential Integrity Constraints)

Aturan referensial memastikan bahwa data di satu tabel tetap konsisten dengan data di tabel lain. Misalnya, aturan referensial dapat mengatur agar ketika ada perubahan atau penghapusan data pada tabel induk, perubahan ini juga tercermin di tabel anak. Misalnya dalam sistem perbankan, jika data nasabah dihapus, maka semua transaksi terkait di tabel transaksi juga perlu dihapus, atau ditandai sebagai “tidak berlaku.” Hal ini bisa dilakukan dengan menerapkan aturan referensial untuk mencegah adanya transaksi yang tidak memiliki nasabah.

   IV.         Menggunakan Teknologi dan Model Database yang Sesuai

Berdasarkan jenis dan volume data yang dikelola, pemilihan model database bisa membantu mengurangi risiko anomali data. Pada data yang sangat kompleks atau tidak terstruktur, Non-Relasional Database (NoSQL) seperti MongoDB atau Cassandra bisa menjadi pilihan karena struktur data yang lebih fleksibel dan tidak terikat skema. Sebaliknya, untuk data yang sangat terstruktur dan butuh konsistensi tinggi, Relational Database (RDBMS) seperti MySQL atau PostgreSQL lebih sesuai.Misalnya pada aplikasi media sosial, di mana pengguna sering memposting konten yang berbeda-beda, MongoDB memungkinkan penyimpanan data tanpa struktur yang tetap, menghindari risiko anomali pembaruan yang terjadi karena perubahan pada konten yang beragam.

    V.         Membuat Triggers dan Procedures untuk Menjaga Konsistensi Data

Triggers adalah prosedur otomatis yang dijalankan di database ketika ada perubahan tertentu, seperti penyisipan, pembaruan, atau penghapusan data. Triggers berguna untuk memastikan bahwa setiap perubahan data tetap konsisten di seluruh sistem. Misalnya di sistem manajemen inventaris, ketika ada penjualan barang, trigger dapat mengurangi jumlah stok di tabel “Stok”. Jika stok mencapai jumlah minimum, trigger lain dapat mengaktifkan peringatan agar manajer melakukan pemesanan ulang barang. Dengan demikian, sistem dapat secara otomatis menjaga data tetap konsisten.

   VI.         Menggunakan Data Validation dan Constraints

Data validation adalah proses yang memastikan data yang dimasukkan sesuai dengan format atau aturan yang telah ditentukan. Constraints (batasan) dalam database membantu menjaga data agar tetap konsisten, misalnya dengan menambahkan constraint untuk memastikan bahwa tidak ada nilai yang duplikat atau kolom yang kosong.. Misalnya jika ada kolom “Nomor_Telepon” pada tabel “Nasabah”, constraint dapat diterapkan untuk memastikan bahwa nomor telepon unik untuk setiap nasabah dan hanya menerima format tertentu, misalnya, hanya angka dan panjang minimal 10 digit.

 

 

Refrences

https://databasemanagement.fandom.com/wiki/Data_Anomalies

https://www.simplilearn.com/data-anomalies-article

https://www.dqlabs.ai/blog/what-is-data-anomaly-detection/

https://catalog.data.gov/dataset/distributed-anomaly-detection-using-1-class-svm-for-vertically-partitioned-data