Wilayah kecil dan kode khusus adalah tempat asumsi paling umum tentang data negara mulai runtuh. Banyak sistem dibangun dengan anggapan bahwa setiap wilayah punya satu kode pendek sendiri, mata uang sendiri, dan aturan alamat sendiri. Kenyataannya tidak selalu begitu.
Halaman ini membahas bentuk kode yang berbeda-beda, cara memperlakukan wilayah dengan status yang belum tuntas, dan cara memasukkan wilayah kecil ke dalam kumpulan data uji tanpa menimbulkan salah tafsir.
Apa yang dimaksud wilayah kecil dalam data alamat?
Wilayah kecil dalam pengertian di sini adalah kawasan yang punya pemerintahan atau pengaturan sendiri, tetapi tidak diperlakukan sebagai negara berdaulat oleh semua pihak. Termasuk di dalamnya wilayah dependen, daerah seberang laut, kawasan dengan pemerintahan sendiri, dan beberapa kawasan yang statusnya masih menjadi pembahasan.
Yang membuat kawasan ini penting bukan jumlah penduduknya, melainkan kecenderungannya muncul di tempat yang tidak diperkirakan. Pengiriman dari sebuah toko daring, pendaftaran akun dari kawasan dengan aturan perpajakan tersendiri, atau nomor telepon dengan awalan tertentu semuanya bisa menunjuk ke kawasan semacam ini.
Karena itu, memperlakukannya sebagai kasus pinggiran berisiko. Justru kawasan inilah yang paling sering memunculkan kegagalan pemeriksaan, dan kegagalan itu biasanya berbentuk penolakan terhadap data yang benar.
Tidak semua wilayah punya kode dua huruf sendiri
Anggapan pertama yang perlu ditinggalkan adalah bahwa setiap wilayah pasti punya kode pendeknya sendiri dalam setiap sistem penomoran. Sebagian kawasan ditempatkan di bawah kode pihak lain dalam satu sistem, sementara dalam sistem yang berbeda kawasan itu memiliki penanda sendiri.
Akibatnya, kode yang sama bisa memiliki arti berbeda tergantung sistem yang membacanya. Sistem yang menyimpan satu kolom kode tanpa mencatat sistem mana yang dipakai akan mencampur dua arti berbeda dalam satu kolom, dan pencampuran itu sulit dideteksi karena bentuk nilainya mirip.
Jalan keluarnya bukan memilih salah satu sistem, melainkan mencatat sistemnya. Kolom kode sebaiknya disertai keterangan tentang sistem penomoran yang dipakai, sehingga pembaca data tahu arti nilai yang dibacanya.
Untuk alamat pengiriman, pertanyaan yang lebih penting daripada bentuk kode adalah bagaimana kawasan itu ditulis di baris alamat. Sebagian jasa pengiriman menuntut nama kawasan ditulis pada baris tersendiri, dan sebagian lagi mengharapkannya menyatu dengan baris wilayah induk.
Kode dengan panjang berbeda dan kode untuk keperluan khusus
Beberapa sistem penomoran memakai bentuk yang panjangnya berbeda dari yang biasa dipakai untuk negara berdaulat. Ada juga sistem yang menyediakan penanda khusus untuk keadaan yang tidak mewakili wilayah mana pun, misalnya penanda untuk nilai yang belum diketahui dan penanda untuk nilai yang memang tidak berlaku.
Penanda khusus ini sering disalahgunakan sebagai nilai pengganti ketika data belum diisi. Akibatnya, laporan tidak bisa membedakan antara pengguna yang tidak diketahui wilayahnya dan pengguna yang memang berada di luar cakupan layanan. Keduanya butuh penanganan yang berbeda, dan pencampuran itu menghapus perbedaan tersebut.
Selain itu, ada kode lama yang masih dipertahankan untuk masa peralihan setelah sebuah wilayah berganti penanda. Kode lama itu perlu dikenali saat membaca data lama, tetapi tidak sebaiknya ditawarkan sebagai pilihan baru.
Aturan yang bisa dipakai: pisahkan daftar nilai yang boleh dipilih pengguna dari daftar nilai yang boleh dibaca dari data lama. Menggabungkan keduanya akan membuat nilai yang sudah tidak berlaku tetap muncul di antarmuka.
| Jenis nilai kode | Kapan muncul | Perlakuan yang tepat |
|---|---|---|
| Kode wilayah biasa | Wilayah dengan penanda sendiri | Boleh ditawarkan sebagai pilihan dan disimpan apa adanya |
| Kode gabungan | Kawasan yang ditempatkan di bawah penanda pihak lain | Simpan bersama keterangan sistem penomorannya |
| Penanda untuk nilai yang belum diketahui | Data belum diisi atau tidak terbaca | Jangan dianggap sebagai wilayah |
| Penanda untuk nilai yang tidak berlaku | Kolom memang tidak berlaku di sana | Simpan sebagai pengecualian resmi dan keluarkan dari daftar pilihan |
| Kode lama masa peralihan | Data lama yang dibaca kembali | Kenali saat membaca, jangan tawarkan sebagai pilihan baru |
Bagaimana memperlakukan wilayah yang statusnya diperdebatkan?
Pertanyaan ini jarang murni teknis. Yang bisa dilakukan tim teknis adalah menetapkan aturan yang konsisten dan tidak memihak: data mengikuti apa yang tertulis di sumber penerbitnya, dan setiap penyimpangan dari itu dicatat beserta alasannya.
Hindari menyusun nama wilayah berdasarkan penilaian sendiri. Ketika dua pihak menyebut sebuah kawasan dengan nama berbeda, sistem yang memaksakan satu nama akan menolak masukan yang sah dari pihak lain, dan penolakan itu terasa seperti kesalahan sistem, bukan sebagai keputusan kebijakan.
Untuk hal-hal yang memang berkaitan dengan kebijakan, misalnya wilayah mana yang boleh dipilih pada pendaftaran, pisahkan dari data wilayahnya. Dengan pemisahan itu, keputusan kebijakan bisa berubah tanpa mengubah arti data yang sudah tersimpan.
Yang perlu dipastikan hanyalah tidak ada kawasan yang hilang di antara dua daftar. Kasus paling merepotkan biasanya bukan kawasan yang sengaja dikecualikan, melainkan kawasan yang tidak masuk daftar mana pun karena tidak ada yang memutuskan.
Wilayah kecil dalam kumpulan data uji
Untuk keperluan pengujian, wilayah kecil paling berguna bila dimasukkan sebagai bagian dari cakupan, bukan sebagai tambahan di akhir. Bila dimasukkan sebagai tambahan, ia akan diuji dengan aturan yang dibuat khusus untuknya, dan justru itulah yang tidak terjadi di kenyataan.
Sertakan paling sedikit satu kawasan yang ditempatkan di bawah kode pihak lain dalam salah satu sistem penomoran, dan satu kawasan yang punya penanda sendiri. Keduanya menguji kemampuan sistem menyimpan kode beserta keterangan sistemnya.
Sertakan juga kasus ketika masukan dari kawasan itu ditolak oleh pihak lain, misalnya oleh jasa pengiriman. Yang diuji bukan penolakan itu sendiri, tetapi apakah sistem tetap dapat menyimpan data yang dimasukkan pengguna sambil menandai bahwa ada pihak lain yang tidak menerimanya.
Cara memilih wilayah mana yang masuk daftar uji mengikuti prinsip yang sama seperti memilih negara, dan penjelasannya ada di panduan memilih negara untuk data uji.
Catatan untuk pengembang: izinkan kode yang panjangnya berbeda
Jangan menetapkan panjang kode secara tetap pada saat penyimpanan, dan jangan menolak nilai hanya karena bentuknya tidak sesuai dugaan. Nilai yang ditolak akan hilang sebelum sempat diperiksa, dan kehilangan itu biasanya baru disadari ketika ada laporan yang tidak bisa direkonsiliasi.
Simpan selalu keterangan tentang sistem penomoran yang dipakai bersama nilai kodenya. Keterangan itu boleh berupa penanda singkat, tetapi harus cukup untuk membedakan nilai dari satu sistem dengan nilai dari sistem lain.
Tampilkan nama wilayah dalam bentuk yang sesuai dengan bahasa antarmuka, tanpa mengubah nilai kodenya. Nama tampilan yang berubah-ubah tidak boleh dipakai sebagai kunci pencarian data.
Ketika satu pengiriman menyentuh wilayah kecil di satu sisi dan negara biasa di sisi lain, aturan pihak mana yang dipakai dijelaskan di panduan skenario alamat lintas negara. Sedangkan daftar resmi penomoran wilayah, termasuk penanda untuk tingkat di bawah negara, dibahas di panduan kode negara dan kode wilayah.
Semua nama kawasan, bentuk kode, dan nilai contoh di halaman ini adalah data sintetis yang dibuat untuk ilustrasi, bukan daftar resmi wilayah atau penomoran mana pun, dan tidak menggambarkan keadaan wilayah yang sebenarnya.
Langkah berikutnya
Periksa apakah ada nilai kode di sistem Anda yang panjangnya berbeda dari biasanya, lalu tanyakan sistem penomoran mana yang dipakai nilai itu. Sebagai pembanding, direktori negara dan wilayah memperlihatkan bagaimana setiap wilayah dicatat bersama kode dan tingkat di bawahnya.