Menu

Format kode pos di berbagai negara dan jebakan nol di depan

Panjang dan susunan kode pos berbeda jauh antarnegara, dan tidak semua negara memakainya. Kenali keluarga formatnya agar validasi formulir tidak salah tolak.

Diterbitkan

  • data uji
  • kode pos
  • alamat

Format kode pos tidak mengikuti satu standar dunia, melainkan ditentukan oleh lembaga pos masing-masing negara. Akibatnya ada kode pos yang seluruhnya angka, ada yang memuat huruf, dan ada wilayah yang sama sekali tidak memakai kode pos. Bagi pembuat formulir, perbedaan ini adalah sumber penolakan yang salah terhadap masukan yang sebenarnya benar.

Artikel ini merangkum keluarga format yang paling sering dijumpai, menjelaskan masalah nol di depan, dan menutup dengan cara menyimpan serta memvalidasi kode pos tanpa mengunci diri pada satu negara.

Mengapa panjang kode pos berbeda-beda

Kode pos lahir sebagai alat pengurutan surat di dalam satu sistem pos nasional. Karena setiap negara menyusun sendiri pembagian wilayah pengirimannya, jumlah digit yang dibutuhkan pun berbeda: negara kecil dengan banyak titik pengiriman bisa memerlukan lebih banyak karakter, sementara negara luas dengan pembagian sederhana bisa cukup dengan beberapa digit saja.

Hal yang lebih penting bagi pembuat perangkat lunak adalah sifatnya yang tidak tetap. Suatu negara dapat menambah digit, mengubah pengelompokan, atau memperkenalkan huruf pada suatu saat. Karena itu aturan yang berbunyi panjangnya selalu sekian digit cepat atau lambat akan menolak kode pos yang sah. Yang lebih tahan lama adalah memeriksa karakter yang diizinkan, panjang pada rentang yang masuk akal, dan kecocokan wilayah secara opsional.

Keluarga format yang paling sering dijumpai

Tabel berikut merangkum tiga keluarga besar yang mencakup sebagian besar kasus.

Keluarga Ciri khas Contoh wilayah yang lazim disebut
Angka saja Umumnya beberapa digit, sering di bawah enam Banyak negara di Eropa daratan dan Asia
Huruf dan angka bercampur Ada huruf di posisi tertentu, sering dipisah spasi Kanada, Inggris, Belanda, Irlandia
Berkelompok per wilayah Sebagian karakter menandai area, sisanya titik pengiriman Inggris dan Belanda yang memakai dua bagian

Yang perlu dicatat, pembagian ini hanya kebiasaan umum, bukan aturan resmi. Dua negara bertetangga bisa berada di keluarga yang berbeda, dan satu negara bisa berpindah keluarga setelah reformasi pos. Jangan jadikan tabel ini sebagai sumber kebenaran per negara; gunakan data rinci negara yang bersangkutan, seperti yang tampak pada halaman negara Belanda di situs ini.

Bagaimana kalau negara tujuan tidak memakai kode pos?

Sebagian negara dan teritori memang tidak memiliki sistem kode pos sampai sekarang. Bagi penghuni di sana, kolom kode pos pada formulir asing adalah kolom yang tidak punya jawaban benar. Reaksi umum mereka adalah mengetik angka pengganti seperti empat angka nol, atau mengisi nama kotak surat.

Perlakuan yang paling ramah adalah menjadikan kolom kode pos wajib hanya untuk negara yang memang memakainya. Bila kolom itu tetap harus ada karena alasan teknis, terima nilai kosong atau penanda khusus, lalu tampilkan penjelasan singkat kepada pengguna. Memaksa format tertentu pada negara yang tidak memiliki kode pos hanya menghasilkan data palsu yang tampak sah, dan itu lebih buruk daripada kolom kosong.

Apakah kode pos selalu menunjuk satu wilayah?

Tidak selalu. Pada banyak sistem, satu kode pos menaungi beberapa kelurahan, dan satu kelurahan bisa dilayani lebih dari satu kode pos. Ada juga kode pos khusus untuk kotak surat, instansi besar, atau pangkalan militer yang tidak mewakili permukiman biasa.

Implikasinya untuk validasi cukup jelas: kode pos dapat dipakai untuk mempersempit kemungkinan wilayah, tetapi tidak bisa dipakai untuk memastikan alamat lengkap. Sistem yang menyimpulkan kota hanya dari kode pos akan salah pada kasus-kasus pinggiran, dan kesalahan itu sulit dilacak karena pesan galatnya tampak meyakinkan. Cara berpikir yang lebih aman adalah memakai kode pos sebagai petunjuk tambahan, bukan sebagai bukti tunggal.

Jebakan yang paling sering terjadi

Jebakan pertama adalah nol di depan. Banyak kode pos diawali satu atau dua angka nol, dan begitu nilai itu disimpan sebagai bilangan, angka nol di depan hilang tanpa peringatan apa pun. Data yang tersimpan berbeda dari yang diketik pengguna, lalu laporan per wilayah menjadi salah tanpa ada yang menyadarinya.

Jebakan kedua adalah spasi. Sebagian orang menuliskan kode pos dengan spasi di tengah, sebagian tanpa spasi sama sekali, dan keduanya merujuk pada kode yang sama. Bila sistem menyimpan apa adanya, dua catatan untuk satu wilayah akan terlihat berbeda saat dicocokkan.

Jebakan ketiga adalah pemaksaan huruf besar atau kecil. Perbedaan huruf besar dan kecil tidak mengubah arti kode pos, tetapi bisa menggagalkan pencocokan bila salah satu sisi sudah diubah dan sisi lain belum.

Jebakan keempat adalah mencocokkan seluruh nilai secara persis. Banyak pemeriksaan hanya perlu tahu apakah awalan kode pos sesuai dengan wilayah yang dipilih, dan membandingkan seluruh karakter membuat kode pos yang sah ditolak karena beberapa karakter terakhirnya berbeda. Sebaliknya, membandingkan terlalu sedikit karakter bisa meloloskan nilai dari wilayah yang jauh. Tentukan berapa banyak karakter awal yang benar-benar menandai wilayah, pakai panjang itu secara konsisten, dan catat keputusan tersebut agar orang berikutnya tidak mengubahnya tanpa alasan yang jelas.

Kode pos bukan kode titik pengiriman

Banyak orang mengira kode pos menunjuk satu gedung. Pada sebagian besar sistem, kode pos menunjuk sekelompok alamat yang dilayani bersama, dan tingkat kerinciannya berbeda antarnegara. Sebagian sistem menambahkan bagian lanjutan untuk menunjuk titik penyerahan yang lebih sempit, seperti blok bangunan atau sisi jalan tertentu, dan bagian itu hanya berguna bila nilainya benar.

Perbedaan ini menjelaskan mengapa kode pos yang bentuknya benar bisa tetap tidak dapat dikirim. Nilai yang lolos pemeriksaan format belum tentu termasuk rentang yang dipakai di wilayah itu, dan kode pos dari wilayah lain dengan panjang yang sama akan tampak sah bagi pemeriksa yang hanya melihat bentuk. Karena itu pemeriksaan format sebaiknya dilengkapi pencocokan awalan wilayah bila datanya tersedia, dan tetap disertai jalan keluar manual untuk kasus yang tidak tercakup.

Bagi data uji, konsekuensinya sederhana: sediakan kode pos yang cocok dengan kotanya sebagai kasus normal, dan kode pos yang bentuknya benar tetapi berasal dari wilayah lain sebagai kasus negatif.

Catatan untuk pengembang: menyimpan dan memeriksa

Simpan kode pos sebagai teks, bukan sebagai bilangan bulat, karena nol di depan dan huruf tidak punya tempat pada tipe bilangan. Tetapkan satu bentuk penyimpanan, misalnya tanpa spasi dan dengan huruf besar, lalu ubah masukan ke bentuk itu sebelum disimpan. Simpan juga bentuk asli yang diketik pengguna bila jejak audit dibutuhkan.

Aturan pemeriksaan sebaiknya dipilih per negara: karakter yang diizinkan, panjang pada rentang yang wajar, dan bila tersedia, pencocokan dengan daftar awalan yang sah untuk negara itu. Untuk negara tanpa kode pos, tandai kolomnya sebagai tidak berlaku alih-alih memaksa pola tertentu.

Siapkan kasus uji tetap untuk hal-hal yang mudah terlewat: kode pos dengan nol di depan, kode pos yang mengandung huruf, kode pos kosong pada negara yang memakainya, dan kode pos dari negara tetangga yang panjangnya sama tetapi awalannya berbeda. Rincian pembagian bidang antarnegara ada di panduan format alamat internasional, sedangkan perilaku sistem yang menolak masukan sah dibahas di panduan validasi dan normalisasi alamat.

Langkah berikutnya

Periksa hari ini juga bagaimana kode pos disimpan di basis data Anda; bila tipenya bilangan, itu perbaikan yang paling mendesak. Setelah itu, buka generator alamat dan hasilkan beberapa alamat dari negara berbeda untuk menguji ulang aturan validasi kode pos yang Anda pakai.

Lanjut membaca

Artikel tentang Generator alamat palsu