Arti Digit Kode Pos Indonesia : Struktur, Cara Kerja, dan Cara Validasinya di Aplikasi

Arti Digit Kode Pos Indonesia : Struktur, Cara Kerja, dan Cara Validasinya di Aplikasi

Tutorial - 24 Jul 2026

Kode pos Indonesia terdiri dari 5 digit angka, dan tiap posisi digit punya arti berbeda : mulai dari provinsi, kota/kabupaten, sampai kecamatan dan kelurahan. Buat kamu yang develop form alamat atau checkout, memahami struktur ini bukan cuma pengetahuan iseng. Kamu bisa pakai polanya untuk validasi cepat tanpa harus selalu hit database.

Apa Arti Setiap Digit di Kode Pos Indonesia?

Secara umum, kelima digit kode pos Indonesia dibagi jadi tiga kelompok : digit pertama untuk provinsi/zona besar, digit kedua-ketiga untuk kota atau kabupaten, dan dua digit terakhir untuk kecamatan serta kelurahan/desa.

Digit pertama : zona provinsi

Digit pertama membagi Indonesia jadi 9 zona besar. Berikut pemetaannya :

Digit 1Wilayah
1DKI Jakarta dan sekitarnya (Jabodetabek)
2Aceh, Sumatera Utara, Sumatera Barat, Riau, Kepulauan Riau
3Bengkulu, Jambi, Bangka Belitung, Sumatera Selatan, Lampung
4Banten, Jawa Barat
5Jawa Tengah, DI Yogyakarta
6Jawa Timur
7Kalimantan
8Bali, Nusa Tenggara
9Sulawesi, Maluku, Papua

Beberapa provinsi memang berbagi digit yang sama, misalnya Aceh sampai Kepulauan Riau semua diawali angka 2. Ini karena pembagian zonanya berdasarkan kelompok wilayah geografis, bukan satu provinsi satu digit. Rincian lengkap tiap zona bisa kamu cek di daftar kode pos Indonesia versi Wikipedia.

Digit kedua dan ketiga : kota/kabupaten

Dua digit ini menyempitkan wilayah dari zona besar ke kota atau kabupaten spesifik. Contoh: kode pos yang diawali “531” menunjukkan provinsi Jawa Tengah (digit 5) di kabupaten/kota tertentu (digit 31).

Digit keempat dan kelima : kecamatan dan kelurahan

Dua digit terakhir ini menandai kecamatan lalu kelurahan/desa. Jadi total 5 digit ini bisa mengidentifikasi lokasi sampai level kelurahan, bukan cuma kota.

Pengecualian : DKI Jakarta

Wilayah Jakarta pakai skema sedikit berbeda : digit ketiga menunjukkan kecamatan, digit keempat menunjukkan kelurahan, dan digit kelima selalu diisi angka “0”. Jadi kalau kamu develop aplikasi yang menyasar alamat Jakarta secara spesifik, jangan samakan pola parsing-nya dengan wilayah lain.

Peta Kode Pos Indonesia

Contoh breakdown 1 kode pos secara utuh

Supaya lebih jelas, coba pecah kode pos 40135 (kelurahan Dago, kecamatan Coblong, Kota Bandung, Jawa Barat):

Posisi digitNilaiArtinya
Digit 14Zona Jawa Barat/Banten
Digit 2-301Kode Kota Bandung
Digit 43Kode kecamatan Coblong
Digit 55Kode kelurahan Dago

Pola breakdown ini yang bikin 1 kode pos bisa langsung “dibaca” sampai level kelurahan tanpa perlu buka peta.

Kenapa Struktur Ini Penting untuk Developer?

Kalau kamu develop form alamat, e-commerce, atau aplikasi logistik, paham struktur ini punya beberapa manfaat praktis:

  • Validasi cepat di sisi frontend : kamu bisa cek panjang & format digit tanpa perlu request ke server dulu
  • Deteksi kesalahan input : misalnya user mengetik kode pos yang jelas nggak sesuai pola 5 digit
  • Estimasi wilayah kasar : buat kebutuhan non-krusial seperti grouping data regional, kamu bisa lihat digit pertama untuk estimasi zona tanpa lookup database penuh

Untuk validasi yang butuh akurasi penuh sampai level kelurahan (misalnya cek apakah kode pos tersebut benar-benar ada), kamu tetap butuh data lengkap seperti di Database Kode Pos Indonesia.

Cara Membuat Validasi Format Kode Pos dengan Regex

Validasi format paling dasar cukup pakai regex untuk memastikan input berupa 5 digit angka:

^[0-9]{5}$

Contoh di JavaScript (validasi form) :

function isValidPostalCodeFormat(value) {
  return /^[0-9]{5}$/.test(value);
}

console.log(isValidPostalCodeFormat("40135")); // true
console.log(isValidPostalCodeFormat("401")); // false

Contoh di PHP (validasi backend) :

function isValidPostalCodeFormat($value) {
    return preg_match('/^[0-9]{5}$/', $value) === 1;
}

var_dump(isValidPostalCodeFormat('40135')); // true
var_dump(isValidPostalCodeFormat('4013'));  // false

Perlu diingat, regex ini cuma memvalidasi format (5 digit angka), bukan memastikan kode pos tersebut benar-benar terdaftar. Kode pos “99999” misalnya, lolos regex tapi belum tentu itu wilayah yang valid.

Cara Cek Wilayah dari Kode Pos Tanpa Regex (Pakai Database)

Kalau kamu butuh validasi yang lebih akurat, yaitu memastikan kode pos itu benar-benar ada dan tahu wilayahnya, regex saja nggak cukup. Kamu butuh data lengkap kode pos berikut wilayahnya.

Dua opsi yang bisa kamu pakai:

  1. Download database lengkap dan import ke database aplikasi kamu sendiri, kalau butuh query dalam jumlah besar atau offline. Panduannya ada di Database Kode Pos Indonesia.
  2. Cek satuan tanpa install apa-apa, kalau cuma butuh cari 1-2 kode pos sesekali, lewat kodepos.eplusgo.com.

FAQ Seputar Kode Pos Indonesia

Beberapa pertanyaan yang sering muncul soal struktur dan validasi kode pos, kalau kamu masih ada yang mengganjal setelah baca pembahasan di atas.

Apakah kode pos Indonesia selalu 5 digit?

Ya, termasuk untuk wilayah Jakarta. Bedanya cuma di pola isinya: Jakarta punya aturan khusus di mana digit ketiga sampai kelima dipakai untuk kecamatan, kelurahan, dan angka “0” tetap, bukan mengikuti pola kecamatan-kelurahan biasa seperti wilayah lain.

Kalau cuma lihat digit pertama, bisa tahu wilayahnya sampai sedetail apa?

Cuma sampai level zona besar, bukan kota atau kelurahan. Satu zona bisa mencakup beberapa provinsi sekaligus (lihat tabel di atas), jadi untuk tahu kota dan kelurahan secara pasti, kamu tetap perlu cek database kode pos yang lengkap.

Regex 5 digit sudah cukup buat validasi kode pos, atau kurang?

Cukup untuk memastikan formatnya benar, tapi nggak menjamin kode pos itu benar-benar ada. Sebagai contoh, “99999” tetap lolos regex meskipun bukan kode pos yang terdaftar. Kalau kamu butuh memastikan keberadaannya, validasi harus dilanjutkan ke database, bukan berhenti di regex.

Kenapa ada beberapa provinsi yang digit pertamanya sama?

Karena pembagian zonanya berdasarkan kelompok wilayah geografis, bukan satu digit untuk satu provinsi. Aceh, Sumatera Utara, Sumatera Barat, Riau, dan Kepulauan Riau misalnya, semuanya masuk zona yang sama dan diawali angka 2.

Kesimpulan

Struktur 5 digit kode pos Indonesia mengikuti hierarki provinsi ? kota/kabupaten ? kecamatan ? kelurahan, dengan pengecualian khusus di Jakarta. Untuk kebutuhan sehari-hari, regex ^[0-9]{5}$ sudah cukup buat validasi format di form. Tapi kalau aplikasi kamu butuh memastikan kode pos itu valid dan tahu wilayahnya secara pasti, gunakan database kode pos lengkap atau tool pencarian kode pos.