Menu

Kode negara ISO 3166 dan kode wilayah di bawahnya

ISO 3166 menyediakan kode dua huruf, tiga huruf, dan angka untuk negara, serta kode terpisah untuk wilayah di bawahnya. Salah memilih bentuk membuat data tidak cocok.

Diterbitkan

  • data uji
  • alamat
  • standar

Kode negara ISO 3166 adalah cara singkat menyebut sebuah negara dalam data, dan hampir setiap sistem perdagangan, logistik, maupun perpajakan memakainya. Masalahnya, satu negara memiliki lebih dari satu kode, dan begitu dua bagian sistem memakai bentuk yang berbeda, pencocokan data berhenti bekerja tanpa pesan galat yang jelas.

Halaman ini menjelaskan tiga bentuk kode negara, perbedaan antara kode negara dan kode wilayah di bawahnya, serta cara menyimpan kode agar data tetap rapi saat muncul nilai yang tidak dikenal.

Tiga bentuk kode negara dalam ISO 3166-1

Standar ISO 3166-1 memberi setiap negara tiga penulisan. Kode dua huruf adalah yang paling umum dipakai di pertukaran data karena pendek dan mudah dibaca manusia. Kode tiga huruf lebih sering muncul pada dokumen resmi, laporan keuangan, dan sistem lama. Kode angka terdiri dari tiga digit dan punya keunggulan tersendiri: karena berupa angka, ia tidak berubah bila terjadi perbedaan penulisan nama negara, dan lebih tahan terhadap kesalahan penyalinan tangan.

Ketiganya merujuk pada negara yang sama dengan daftar yang sama. Tidak ada makna tambahan di balik pemilihan satu bentuk; perbedaannya hanya pada konteks pemakaian. Yang berbahaya adalah mencampur ketiganya di dalam satu sistem tanpa aturan yang jelas, misalnya menyimpan dua huruf di satu tabel dan tiga huruf di tabel lain, lalu menggabungkan keduanya dengan kunci yang sama.

Kapan memakai bentuk yang mana

Tabel berikut merangkum pemakaian yang lazim.

Bentuk Panjang Biasanya dipakai untuk
Dua huruf Dua karakter Kunci data, antarmuka, konfigurasi, API
Tiga huruf Tiga karakter Dokumen resmi, pelaporan, sistem warisan
Angka Tiga digit Pertukaran lintas bahasa, pengisian formulir kertas

Karena bentuk dua huruf paling banyak dipakai, ia sering dianggap satu-satunya bentuk yang ada. Akibatnya muncul konversi yang dikerjakan sekadar memotong tiga huruf pertama, padahal aturan itu tidak berlaku umum: sebagian kode tiga huruf tidak diawali huruf yang sama dengan kode dua hurufnya. Konversi semacam itu harus memakai daftar pemetaan, bukan potongan teks.

Apakah kode negara bisa dipakai untuk wilayah di bawahnya?

Tidak, dan di sinilah banyak kesalahan terjadi. Kode negara hanya menunjuk negaranya, bukan provinsi, negara bagian, prefektur, atau emirat di dalamnya. Untuk tingkat di bawah negara, ada standar terpisah, yaitu ISO 3166-2, yang menyusun kode dari kode negara ditambah tanda hubung dan kode wilayah setempat.

Dengan susunan itu, provinsi di berbagai negara punya bentuk kode yang konsisten meski namanya berbeda-beda. Yang perlu dipahami, kode wilayah tingkat pertama ini hanya mencakup satu tingkat. Wilayah di bawahnya, seperti kabupaten atau kecamatan, tidak diatur oleh standar ini dan biasanya mengikuti penomoran resmi negara masing-masing.

Karena itu rancangan data yang baik menyediakan bidang terpisah untuk negara dan wilayah, bukan menggabungkan keduanya menjadi satu kode. Bila keduanya digabung, memindahkan sebuah kota ke wilayah lain menjadi pekerjaan yang mahal, dan pencarian daftar wilayah per negara menjadi rumit.

Mengapa kode sendiri tidak boleh dikarang?

Kode yang dibuat sendiri tampak tidak berbahaya selama aplikasi masih kecil, tetapi cepat atau lambat bertabrakan dengan data dari luar. Ketika data itu bertemu dengan daftar resmi, nilai karangan tersebut tidak dikenal, dan pilihan yang tersisa hanyalah menolaknya atau memetakannya secara manual satu per satu.

Ada juga risiko tabrakan: kode karangan bisa kebetulan sama dengan kode resmi negara lain, sehingga data satu negara muncul sebagai negara yang berbeda. Kesalahan seperti itu sulit ditemukan karena tidak memicu galat apa pun; ia hanya membuat laporan salah.

Sumber nilai yang paling aman adalah daftar resmi yang sudah diterbitkan, dipakai apa adanya, dan diperbarui secara berkala. Bila organisasi Anda membutuhkan kode internal untuk entitas yang tidak diakui standar, tandai jelas sebagai kode internal dan jangan pernah mencampurnya dengan bidang kode negara.

Uji juga perilaku sistem ketika daftar rujukan diperbarui. Tanyakan apa yang terjadi pada data lama ketika sebuah kode berubah atau ditambahkan, dan pastikan tersedia pemetaan yang menjelaskan perubahannya, bukan penghapusan nilai yang sudah tersimpan.

Kode lokal yang mirip tetapi berbeda

Selain kode wilayah standar, setiap negara punya kumpulan kode sendiri untuk keperluan statistik, pos, perpajakan, atau kependudukan. Kode-kode itu sering mirip kode wilayah standar, kadang memakai awalan yang sama, tetapi tidak identik, dan tidak boleh saling menggantikan.

Contoh yang paling mudah dijumpai adalah kode untuk keperluan pengiriman, yang mengikuti sistem pos nasional, serta kode untuk keperluan administrasi, yang mengikuti kementerian dalam negeri. Bila salah satu kode dimasukkan ke bidang yang seharusnya berisi kode wilayah standar, data akan tetap tampak wajar, dan pemeriksaan hanya akan menemukan masalah ketika dicocokkan dengan sumber resmi.

Negara dengan pembagian wilayah yang rumit, seperti negara Jerman misalnya, memperlihatkan bagaimana satu negara bisa memiliki banyak lapisan wilayah sekaligus. Halaman negara di situs ini menyajikan bentuk yang dipakai untuk alamat, bukan seluruh sistem kode administrasi negara tersebut.

Catatan untuk pengembang: menyimpan dan mencocokkan

Simpan kode negara dalam satu bentuk baku di seluruh sistem, dan tetapkan sejak awal bentuk mana yang dipilih. Bila sistem Anda harus menerima bentuk lain pada antarmuka pemrograman, ubah ke bentuk baku sebelum data masuk ke penyimpanan, dan simpan bentuk aslinya hanya bila ada kebutuhan audit.

Pilih data sumber yang punya pemeliharaan jelas, lalu sematkan versinya. Daftar kode negara memang jarang berubah, tetapi tetap berubah lebih cepat daripada yang biasanya diperkirakan, dan sistem yang tidak pernah memperbarui daftarnya akan menemui kode baru sebagai nilai yang tidak dikenal. Sediakan pula perilaku untuk kode yang tidak dikenal: jangan membuang data, tetapi tandai dan minta peninjauan manusia, karena menolak seluruh permintaan hanya karena satu kolom sulit dikenali akan merugikan pengguna.

Siapkan kasus uji dengan kode negara yang ditulis dalam huruf kecil, kode yang disertai spasi di ujung, kode tiga huruf yang diumpankan ke bidang dua huruf, dan satu kode yang tidak ada di daftar. Cara menyusunnya dalam satu berkas acuan dibahas di panduan data alamat untuk pengujian, dan contoh penggunaannya pada formulir ada di contoh kasus uji formulir alamat.

Langkah berikutnya

Cari semua tempat di sistem Anda yang menyimpan kode negara, dan pastikan hanya ada satu bentuk baku di antaranya. Sebagai langkah lanjutan, buka generator alamat, pilih beberapa negara, lalu periksa apakah formulir Anda menerima semua hasilnya tanpa perbaikan manual.

Lanjut membaca

Artikel tentang Generator alamat palsu