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.
| Elemen | Fungsi | Aturan perubahan | Contoh kontrol |
|---|---|---|---|
| item_id | Pengenal internal yang unik dan stabil | Tidak berubah karena koreksi nama, kategori, atau status | UUID atau nomor acak yang tidak dipakai ulang |
| kode_tampil | Kode ringkas untuk pencarian dan dokumen | Dapat memiliki riwayat bila skema kode organisasi berubah | Unik dalam ruang lingkup dan periode yang dinyatakan |
| label | Nama yang mudah dibaca pengguna | Dapat dikoreksi tanpa membentuk identitas baru bila makna tetap | Riwayat label dan alasan penyuntingan |
| versi_spesifikasi | Definisi teknis item pada periode tertentu | Versi baru saat perubahan memengaruhi kesetaraan atau harga | Nomor versi, berlaku mulai/akhir, status persetujuan |
| status | Kelayakan item untuk dipilih | Berubah melalui alur persetujuan, tidak menghapus rekaman | Draft, aktif, ditangguhkan, tidak aktif |
| successor_item_id | Relasi ke item pengganti | Diisi jika item lama diteruskan oleh identitas lain | Alasan dan jenis relasi penerus |
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.
- Normalisasi untuk pencarian: Bentuk nilai bantu dari huruf besar-kecil, tanda baca, singkatan, satuan, dan istilah umum tanpa mengubah rekaman sumber.
- Bangun kandidat: Cari kesamaan label, kode pemasok bila tersedia, kategori, atribut teknis, satuan, dan pola harga untuk mempersempit pasangan yang perlu ditelaah.
- 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.
- Putuskan tindakan: Pilih mempertahankan keduanya, menggabungkan duplikat, memisahkan rekaman yang terlalu umum, atau membuat versi maupun item penerus.
- Alihkan relasi secara terkendali: Petakan referensi menuju item kanonis, simpan alias dan ID lama, uji jumlah relasi, lalu larang pemakaian baru atas duplikat.
- 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.
| Metadata | Pertanyaan yang dijawab | Aturan kontrol |
|---|---|---|
| created_at | Kapan rekaman pertama dibuat? | Dibentuk sistem dan tidak diubah pengguna |
| approved_at | Kapan versi memperoleh persetujuan? | Kosong selama draft dan terkait identitas pemberi persetujuan |
| effective_from | Sejak kapan versi boleh digunakan? | Tidak boleh tumpang tindih untuk versi aktif item yang sama |
| effective_to | Sampai kapan versi berlaku? | Dapat kosong untuk versi berjalan; harus lebih akhir dari tanggal mulai |
| source_id | Bukti atau otoritas mana yang mendasari data? | Merujuk register sumber, bukan uraian bebas semata |
| status | Apakah rekaman dapat dipakai dan pada tahap apa? | Transisi status dibatasi dan dicatat dalam audit log |
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.
| Fungsi | Hak minimum | Kontrol utama |
|---|---|---|
| Pengusul | Membuat usulan dan melampirkan bukti | Tidak dapat mengaktifkan atau menerbitkan item |
| Pengelola data | Memperbaiki draft, taksonomi, dan pemetaan | Perubahan material masuk antrean reviu |
| Penelaah teknis | Membandingkan spesifikasi dan memberi keputusan reviu | Tidak mengubah bukti asli tanpa jejak |
| Pemberi persetujuan | Menyetujui versi dan tanggal efektif | Konflik kepentingan dan otorisasi diperiksa |
| Integrator | Membaca data sesuai lingkup API | Token terbatas, kedaluwarsa, dan dapat dicabut |
| Auditor | Membaca riwayat, bukti, dan log yang diizinkan | Akses baca tercatat dan mengikuti klasifikasi informasi |
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.
- Bekukan kontrak: Tetapkan kamus, domain kode, skema pertukaran, peran, serta aturan perubahan untuk versi awal.
- Inventarisasi sumber: Petakan daftar item pada aplikasi, spreadsheet, dokumen penetapan, dan survei beserta pemilik serta tanggal acuannya.
- Bentuk master kandidat: Berikan ID stabil, strukturkan spesifikasi, petakan kategori dan satuan, lalu simpan ID lama sebagai crosswalk.
- Selesaikan duplikasi: Jalankan pencarian kandidat dan reviu substantif; dokumentasikan penggabungan, pemisahan, alias, serta relasi penerus.
- Uji integrasi: Validasi impor, ekspor, dan API terhadap salinan data; uji tanggal efektif, karakter khusus, nilai kosong, serta permintaan ulang.
- 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.



