Notes Topics Projects Statistik Now About
Field Note #136

Data Adalah Kontrak, Bukan Sekadar Field

Sebuah field tidak hanya menyimpan nilai. Ia membawa makna yang digunakan oleh berbagai capability untuk mengambil keputusan. Ketika maknanya tidak jelas, masalah akan menyebar ke seluruh sistem.

Data Adalah Kontrak, Bukan Sekadar Field

Ringkasan

Dalam banyak sistem, perhatian sering tertuju pada struktur data:

  • nama field,
  • tipe data,
  • indeks,
  • atau performa query.

Padahal yang jauh lebih penting adalah makna dari data tersebut.

Sebuah field bukan sekadar tempat menyimpan nilai.

Ia merupakan kontrak yang menghubungkan berbagai bagian sistem.

Semakin banyak capability yang menggunakan data tersebut, semakin penting memastikan bahwa maknanya dipahami secara konsisten.


Mengapa Data Disebut Kontrak?

Setiap data memiliki dua pihak.

  • Producer, yaitu pihak yang menghasilkan data.
  • Consumer, yaitu pihak yang menggunakan data.

Keduanya harus memiliki pemahaman yang sama terhadap arti data tersebut.

Jika tidak, sistem akan menghasilkan keputusan yang berbeda meskipun menggunakan data yang sama.


Mental Model

Producer
    ↓
Data
    ↓
Consumer
    ↓
Decision

Yang paling penting bukan nilai datanya.

Yang paling penting adalah apakah producer dan consumer memiliki interpretasi yang sama.


Ketika Satu Field Memiliki Banyak Makna

Salah satu penyebab umum kualitas data menurun adalah satu field digunakan untuk mewakili beberapa konsep sekaligus.

Akibatnya:

  • producer mengisi berdasarkan satu pemahaman,
  • consumer membaca dengan pemahaman yang berbeda.

Secara teknis tidak ada error.

Namun secara semantik keputusan mulai menyimpang.


Sebelum Membuat Field Baru

Daripada langsung membuat field baru, tanyakan beberapa hal berikut.

  • Apa makna sebenarnya dari field ini?
  • Siapa yang menghasilkan nilainya?
  • Siapa saja yang menggunakan data tersebut?
  • Keputusan apa yang bergantung pada field ini?
  • Apakah satu field hanya merepresentasikan satu konsep?

Pertanyaan sederhana tersebut sering kali mampu mencegah munculnya masalah yang jauh lebih besar di kemudian hari.


Data Mengalir Melewati Banyak Capability

Dalam sistem modern, sebuah data jarang berhenti di satu tempat.

Ia dapat mengalir ke berbagai capability.

Contohnya:

Capability A
      ↓
Capability B
      ↓
Capability C
      ↓
Analytics
      ↓
AI
      ↓
Decision

Semakin panjang rantai tersebut, semakin besar dampak apabila makna data berubah tanpa disadari.


Checklist

Sebelum menggunakan sebuah data sebagai dasar keputusan, pastikan:

  • definisinya jelas;
  • hanya memiliki satu makna;
  • producer dan consumer memiliki pemahaman yang sama;
  • perubahan definisi memiliki proses yang terdokumentasi;
  • setiap capability mengetahui ketergantungannya terhadap data tersebut.

Penutup

Kualitas sistem tidak hanya ditentukan oleh kualitas kode.

Ia juga ditentukan oleh kualitas makna yang dibawa oleh data.

Ketika data diperlakukan sebagai kontrak, setiap perubahan menjadi lebih mudah dipahami, lebih mudah diaudit, dan lebih aman digunakan sebagai dasar pengambilan keputusan.

Pada akhirnya, keputusan yang baik selalu dimulai dari data yang dipahami dengan cara yang sama oleh seluruh capability yang menggunakannya.

Recommended Learning Path

↓ Data Adalah Kontrak, Bukan Sekadar Field (Current)