Bedakan Kamus Data dari Master Item

Keduanya saling melengkapi, tetapi menyelesaikan masalah yang berbeda: kamus menjelaskan struktur data, sementara master item mengendalikan objek yang dirujuk.

Kamus data mendefinisikan elemen seperti item_id, nama_item, satuan_id, status, berlaku_mulai, dan sumber_id. Untuk setiap elemen, kamus sebaiknya memuat definisi, tipe dan format, kewajiban pengisian, domain nilai, aturan validasi, relasi, klasifikasi akses, serta pemilik definisi. Kamus mencegah dua sistem memakai nama kolom yang sama dengan arti berbeda atau arti yang sama dengan format berbeda.

Master item adalah himpunan rekaman acuan untuk barang atau jasa. Ia menjawab objek apa yang dimaksud, bagaimana spesifikasi membedakannya dari objek lain, satuan apa yang sah, di kategori mana ia ditempatkan, kapan versinya berlaku, dan apakah masih dapat dipilih. Harga survei, usulan perangkat daerah, dokumen penetapan, dan evaluasi realisasi sebaiknya merujuk ke identitas master, bukan menggandakan nama item bebas pada setiap aplikasi.

Pisahkan ID Stabil, Label, dan Versi Spesifikasi

Identitas menjaga kesinambungan relasi; label membantu manusia; versi menjelaskan definisi yang berlaku pada suatu waktu.

ElemenFungsiAturan perubahanContoh kontrol
item_idPengenal internal yang unik dan stabilTidak berubah karena koreksi nama, kategori, atau statusUUID atau nomor acak yang tidak dipakai ulang
kode_tampilKode ringkas untuk pencarian dan dokumenDapat memiliki riwayat bila skema kode organisasi berubahUnik dalam ruang lingkup dan periode yang dinyatakan
labelNama yang mudah dibaca penggunaDapat dikoreksi tanpa membentuk identitas baru bila makna tetapRiwayat label dan alasan penyuntingan
versi_spesifikasiDefinisi teknis item pada periode tertentuVersi baru saat perubahan memengaruhi kesetaraan atau hargaNomor versi, berlaku mulai/akhir, status persetujuan
statusKelayakan item untuk dipilihBerubah melalui alur persetujuan, tidak menghapus rekamanDraft, aktif, ditangguhkan, tidak aktif
successor_item_idRelasi ke item penggantiDiisi jika item lama diteruskan oleh identitas lainAlasan dan jenis relasi penerus
Pemisahan elemen identitas dan perubahan pada master item SHSD

Jangan membangun ID dari nama kategori, tahun anggaran, atau urutan yang dapat berubah. Kode seperti ATK-KERTAS-A4-2026 terlihat informatif, tetapi perubahan taksonomi atau periode dapat memaksa penggantian kode dan memutus relasi historis. Informasi bisnis tersebut lebih aman disimpan sebagai atribut. Jika organisasi membutuhkan kode yang bermakna untuk tampilan, bedakan kode itu dari item_id internal dan kelola masa berlakunya.

Koreksi ejaan tidak selalu membutuhkan versi spesifikasi baru. Sebaliknya, perubahan gramatur, kapasitas, mutu minimum, cakupan jasa, isi kemasan, atau syarat penyerahan dapat mengubah objek yang dihargai. Tetapkan matriks perubahan: mana yang hanya memperbarui label, mana yang membentuk versi spesifikasi, dan mana yang menciptakan item baru. Keputusan tersebut harus konsisten agar deret harga tidak menyambungkan objek yang sebenarnya berbeda.

Kendalikan Taksonomi, Satuan, dan Atribut Spesifikasi

Teks deskripsi saja tidak cukup untuk pencarian, validasi, perbandingan harga, dan integrasi lintas aplikasi.

  • Taksonomi: Gunakan kategori berhierarki dengan category_id stabil, definisi cakupan, parent_id, status, dan riwayat pemindahan; jangan menyimpan jalur kategori hanya sebagai satu teks.
  • Satuan: Gunakan daftar satuan terkendali yang membedakan simbol, nama, dimensi, dan presisi. Hindari variasi bebas seperti unit, buah, bh, atau pcs untuk konsep yang sama.
  • Kemasan: Pisahkan satuan dasar dari bentuk kemasan dan jumlah isi. Simpan faktor konversi beserta sumbernya, karena satu dus tidak selalu berisi jumlah yang sama.
  • Atribut teknis: Modelkan atribut pembeda sebagai data terstruktur bila dipakai untuk pencarian atau validasi, misalnya bahan, kapasitas, ukuran, mutu minimum, durasi, dan keluaran jasa.
  • Domain nilai: Tentukan apakah atribut memakai daftar kode, angka dengan rentang, boolean, tanggal, atau teks terbatas; sertakan unit ukur dan aturan kosong.

Keputusan Kepala BPS Nomor 846 Tahun 2024 tentang Standar Data Statistik Nasional dapat menjadi rujukan desain untuk konsep, definisi, klasifikasi, ukuran, dan satuan. Penggunaannya pada SHSD perlu disesuaikan dengan klasifikasi data dan kewenangan yang berlaku, bukan diperlakukan sebagai bukti bahwa semua master item SHSD adalah data statistik. Jika belum ada kode referensi nasional yang tepat, organisasi dapat mengelola domain lokal dengan definisi, pemilik, versi, dan pemetaan yang jelas.

Deduplikasi Tanpa Menghilangkan Riwayat

Kemiripan nama adalah kandidat pemeriksaan, bukan bukti bahwa dua rekaman merupakan item yang sama.

  1. Normalisasi untuk pencarian: Bentuk nilai bantu dari huruf besar-kecil, tanda baca, singkatan, satuan, dan istilah umum tanpa mengubah rekaman sumber.
  2. Bangun kandidat: Cari kesamaan label, kode pemasok bila tersedia, kategori, atribut teknis, satuan, dan pola harga untuk mempersempit pasangan yang perlu ditelaah.
  3. Bandingkan substansi: Periksa fungsi, mutu, kapasitas, isi kemasan, cakupan jasa, wilayah, serta tanggal efektif. Nama dekat dapat mewakili item berbeda; nama berbeda dapat mewakili item sama.
  4. Putuskan tindakan: Pilih mempertahankan keduanya, menggabungkan duplikat, memisahkan rekaman yang terlalu umum, atau membuat versi maupun item penerus.
  5. Alihkan relasi secara terkendali: Petakan referensi menuju item kanonis, simpan alias dan ID lama, uji jumlah relasi, lalu larang pemakaian baru atas duplikat.
  6. Catat bukti keputusan: Rekam pemeriksa, waktu, atribut pembanding, alasan, dampak, dan persetujuan agar penggabungan dapat dijelaskan atau dikoreksi.

Penggabungan fisik yang menghapus salah satu ID berisiko membuat dokumen lama tidak dapat direkonstruksi. Lebih aman mempertahankan tabel alias atau redirect dari duplicate_item_id menuju canonical_item_id. Untuk penggantian substantif, gunakan relasi penerus yang menyatakan jenis hubungan seperti menggantikan, dipecah menjadi, digabung menjadi, atau tidak setara langsung. Relasi tersebut tidak otomatis mengizinkan harga lama dibawa ke item baru.

Rekam Sumber, Tanggal Efektif, dan Status Aktif

Data yang benar hari ini dapat salah digunakan bila pengguna tidak mengetahui asal, cakupan, dan periode berlakunya.

Pisahkan metadata definisi item dari metadata observasi harga. Definisi item memerlukan sumber usulan atau penetapan, dasar perubahan, pengelola, versi, serta tanggal efektif. Observasi harga memerlukan sumber penawaran, waktu akses atau survei, lokasi, syarat transaksi, pajak, logistik, masa berlaku, dan bukti. Satu item dapat memiliki banyak sumber harga; menaruh satu kolom sumber pada master item akan mencampur asal definisi dengan bukti pembentukan nilai.

MetadataPertanyaan yang dijawabAturan kontrol
created_atKapan rekaman pertama dibuat?Dibentuk sistem dan tidak diubah pengguna
approved_atKapan versi memperoleh persetujuan?Kosong selama draft dan terkait identitas pemberi persetujuan
effective_fromSejak kapan versi boleh digunakan?Tidak boleh tumpang tindih untuk versi aktif item yang sama
effective_toSampai kapan versi berlaku?Dapat kosong untuk versi berjalan; harus lebih akhir dari tanggal mulai
source_idBukti atau otoritas mana yang mendasari data?Merujuk register sumber, bukan uraian bebas semata
statusApakah rekaman dapat dipakai dan pada tahap apa?Transisi status dibatasi dan dicatat dalam audit log
Metadata minimum untuk membedakan pencatatan, persetujuan, dan keberlakuan

Status aktif tidak sama dengan terbaru dibuat. Versi dapat disetujui hari ini tetapi baru efektif pada awal periode berikutnya. Sistem perlu memfilter berdasarkan status dan tanggal acuan pengguna. Penonaktifan juga membutuhkan alasan, tanggal efektif, serta penerus bila ada. Dengan demikian aplikasi perencanaan dapat memilih versi yang benar tanpa menghapus kemampuan membaca transaksi historis.

Rancang Impor, Ekspor, dan API sebagai Kontrak Data

Interoperabilitas bukan sekadar kemampuan mengunduh spreadsheet, melainkan kemampuan mempertukarkan data dengan arti dan kontrol yang tetap konsisten.

Permenkominfo Nomor 1 Tahun 2023 dapat menjadi prinsip rujukan ketika data dipertukarkan dalam penyelenggaraan SPBE dan Satu Data Indonesia. Secara teknis, kontrak perlu menyatakan versi skema, pengenal objek, format tanggal dan angka, pengodean karakter, domain satuan dan status, aturan nilai kosong, paginasi, filter tanggal efektif, serta bentuk kesalahan. Dokumentasi juga harus menjelaskan apakah keluaran merupakan draft, versi aktif, atau arsip historis.

  • Impor: Gunakan template berversi, staging area, validasi seluruh baris, pratinjau perubahan, dan hasil penolakan per baris. Jangan menulis langsung ke master aktif.
  • Ekspor: Sertakan versi dataset, waktu pembentukan, filter, ID stabil, kode domain, label, tanggal efektif, dan checksum bila dibutuhkan untuk verifikasi berkas.
  • API baca: Sediakan filter status dan tanggal acuan, pagination yang konsisten, kode galat, serta kebijakan perubahan skema dan penghentian versi.
  • API tulis: Gunakan autentikasi kuat, idempotency key untuk permintaan ulang, optimistic concurrency atau nomor revisi, validasi yang sama dengan antarmuka, dan persetujuan terpisah.
  • Pemetaan sistem: Simpan crosswalk antara item_id kanonis dan ID aplikasi sumber. Jangan menganggap label sebagai kunci integrasi.

Batasi Akses dan Audit Setiap Perubahan

Keterbukaan definisi tidak berarti semua orang boleh mengubah master atau melihat seluruh bukti sumber.

FungsiHak minimumKontrol utama
PengusulMembuat usulan dan melampirkan buktiTidak dapat mengaktifkan atau menerbitkan item
Pengelola dataMemperbaiki draft, taksonomi, dan pemetaanPerubahan material masuk antrean reviu
Penelaah teknisMembandingkan spesifikasi dan memberi keputusan reviuTidak mengubah bukti asli tanpa jejak
Pemberi persetujuanMenyetujui versi dan tanggal efektifKonflik kepentingan dan otorisasi diperiksa
IntegratorMembaca data sesuai lingkup APIToken terbatas, kedaluwarsa, dan dapat dicabut
AuditorMembaca riwayat, bukti, dan log yang diizinkanAkses baca tercatat dan mengikuti klasifikasi informasi
Contoh pemisahan hak berdasarkan fungsi; nama peran disesuaikan dengan organisasi

Terapkan prinsip hak minimum dan pemisahan tugas secara proporsional. Bukti penawaran dapat memuat informasi komersial atau data kontak yang tidak perlu disebarkan bersama master publik. Pisahkan akses terhadap definisi, data kerja, bukti sumber, keputusan, dan dataset terbit. Tinjau hak secara berkala, cabut akun yang tidak lagi berwenang, dan hindari kredensial bersama yang menghilangkan akuntabilitas.

Audit log setidaknya merekam siapa, kapan, tindakan, objek dan versi, nilai sebelum dan sesudah, kanal perubahan, alasan, serta identitas persetujuan. Log perlu terlindung dari penyuntingan biasa dan memiliki kebijakan retensi. Untuk impor massal, hubungkan setiap perubahan dengan batch_id dan berkas sumber. Untuk API, catat client_id serta request_id tanpa merekam rahasia autentikasi. Audit log mendukung penelusuran, tetapi tidak menggantikan bukti substantif mengapa perubahan dibenarkan.

Terapkan Validasi Otomatis dan Gerbang Penerbitan

Mesin efektif menemukan pelanggaran aturan eksplisit; manusia tetap diperlukan untuk menilai kesetaraan spesifikasi dan kelayakan keputusan.

  • Keunikan: Tolak item_id ganda, kode tampil aktif yang bertabrakan dalam ruang lingkupnya, dan relasi alias yang berputar.
  • Kelengkapan: Wajibkan label, kategori, satuan, spesifikasi minimum, status, pemilik data, sumber definisi, serta tanggal efektif sesuai tahap proses.
  • Referensial: Pastikan category_id, unit_id, source_id, predecessor, successor, dan ID sistem eksternal merujuk rekaman yang sah.
  • Temporal: Cegah rentang tanggal terbalik, versi aktif tumpang tindih, dan item penerus efektif sebelum keputusan penggantian yang mendasarinya.
  • Semantik: Tandai satuan yang tidak cocok dengan jenis atribut, spesifikasi yang bertentangan, label terlalu umum, dan perubahan besar yang belum memiliki alasan.
  • Publikasi: Bandingkan jumlah tambah, ubah, nonaktif, dan gagal; verifikasi checksum keluaran; lalu lakukan uji baca pada aplikasi konsumen.
  1. Bekukan kontrak: Tetapkan kamus, domain kode, skema pertukaran, peran, serta aturan perubahan untuk versi awal.
  2. Inventarisasi sumber: Petakan daftar item pada aplikasi, spreadsheet, dokumen penetapan, dan survei beserta pemilik serta tanggal acuannya.
  3. Bentuk master kandidat: Berikan ID stabil, strukturkan spesifikasi, petakan kategori dan satuan, lalu simpan ID lama sebagai crosswalk.
  4. Selesaikan duplikasi: Jalankan pencarian kandidat dan reviu substantif; dokumentasikan penggabungan, pemisahan, alias, serta relasi penerus.
  5. Uji integrasi: Validasi impor, ekspor, dan API terhadap salinan data; uji tanggal efektif, karakter khusus, nilai kosong, serta permintaan ulang.
  6. Terbitkan bertahap: Setujui versi, aktifkan akses menurut peran, pantau galat konsumen, dan sediakan jalur koreksi yang tidak menimpa riwayat.

Permendagri Nomor 77 Tahun 2020 memberi konteks pengelolaan keuangan daerah bagi penggunaan SHSD, sedangkan kerangka data membantu memastikan item yang dirujuk konsisten dan dapat ditelusuri. Kamus dan master item tidak menetapkan harga dengan sendirinya. Kualitasnya harus dihubungkan dengan metodologi survei, zonasi, proses pemutakhiran, penetapan yang berwenang, serta evaluasi terhadap realisasi.