Kode area telepon adalah bagian awal sebuah nomor yang dahulu menandai wilayah tempat sambungan dipasang. Banyak sistem masih memperlakukannya sebagai penanda kota, lalu menolak nomor yang kode areanya tidak cocok dengan alamat yang diisi. Padahal aturan seperti itu sudah lama tidak sepenuhnya berlaku, dan penolakannya sering menyusahkan pengguna yang nomornya benar.
Uraian ini membahas susunan nomor telepon, batas kemampuan kode area dalam menunjukkan wilayah, cara menyimpan nomor agar konsisten, dan seberapa ketat aturan kecocokan sebaiknya diterapkan pada formulir alamat.
Bagian-bagian sebuah nomor telepon
Secara internasional, nomor telepon disusun dari kode negara di depan, lalu nomor nasional yang panjangnya ditentukan oleh negara bersangkutan. Kode negara panjangnya satu sampai tiga digit, dan di dalam nomor nasional biasanya terkandung penanda wilayah, jenis layanan, serta nomor pelanggan. Batas antar bagian ini tidak seragam: negara dengan jumlah pelanggan besar memerlukan nomor nasional yang lebih panjang, sedangkan negara kecil bisa lebih pendek.
Di dalam satu negara, penulisan nomor juga berbeda-beda. Ada yang memakai awalan nol sebelum nomor area saat menelepon dari dalam negeri, ada yang tidak. Karena itu nomor yang sama bisa ditulis dengan beberapa cara berbeda, dan semuanya benar dalam konteks masing-masing.
Bagi sistem, perbedaan itu berarti bentuk penyimpanan harus dipilih secara sadar. Menyimpan nomor dalam bentuk internasional memberi keuntungan: satu bentuk untuk seluruh dunia, tanpa perlu menebak konteks negara. Bentuk itu juga menghindari kebingungan akibat awalan yang hanya berlaku di dalam negeri.
Apakah kode area selalu menunjukkan kota pemilik nomor?
Dahulu jawabannya hampir selalu ya, karena sambungan telepon tetap secara fisik berada di satu wilayah. Sekarang jawabannya tidak lagi sesederhana itu. Nomor dapat dipindahkan antarpenyedia layanan tanpa berubah, sementara pemiliknya pindah ke kota lain dan tetap memakai nomor lama karena praktis.
Ada juga nomor yang sejak awal tidak terikat wilayah sama sekali. Layanan berbasis internet, nomor untuk keperluan bisnis terpusat, dan nomor virtual membuat pemetaan kode area ke kota menjadi tidak dapat diandalkan sebagai aturan yang kaku.
Akibat praktisnya, mencocokkan kode area dengan kota pada alamat adalah pemeriksaan yang lemah. Ia masih berguna sebagai petunjuk, misalnya untuk menandai data yang perlu ditinjau, tetapi tidak layak dijadikan alasan tunggal untuk menolak sebuah nomor.
Mengapa nomor seluler sulit dipetakan ke wilayah
Nomor seluler biasanya tidak memuat kode area kota dalam arti yang berlaku pada telepon tetap. Awalan pada nomor seluler lebih sering menandai penyedia layanan atau jenis layanan, bukan lokasi pemakainya. Pemilik nomor bisa berpindah kota, bahkan berpindah negara untuk sementara, tanpa mengganti nomornya.
Ditambah lagi, pemindahan nomor antarpenyedia membuat awalan penyedia tidak lagi menunjukkan penyedia yang sebenarnya melayani. Data yang menyimpulkan operator dari awalan nomor akan salah pada sebagian populasi, dan kesalahan itu bertambah seiring waktu.
Karena itu menyimpan kolom operator atau kolom wilayah turunan dari nomor telepon adalah keputusan yang perlu ditimbang ulang. Bila kolom itu dipakai untuk keputusan yang berdampak, seperti memilih gerbang pesan singkat atau menentukan tarif, sumber datanya sebaiknya bukan tebakan dari nomor, melainkan keterangan yang diberikan pengguna atau hasil pemeriksaan ke penyedia layanan.
Bagaimana nomor sebaiknya disimpan
Simpan nomor sebagai teks, bukan bilangan. Tanda tambah, tanda hubung, dan spasi tidak punya tempat pada tipe bilangan, dan nomor dengan nol di depan akan kehilangan angkanya bila diperlakukan sebagai bilangan. Sama seperti kode pos, kesalahan tipe data di sini jarang memunculkan galat, tetapi merusak data secara diam-diam.
Pilih satu bentuk baku, umumnya bentuk internasional tanpa tanda pemisah, dan simpan bentuk asli yang diketik pengguna di kolom terpisah bila jejak audit dibutuhkan. Bentuk baku itu yang dipakai untuk pencocokan dan pengiriman, sedangkan bentuk asli dipakai saat menampilkan kembali kepada pengguna.
Untuk negara yang nomornya ditulis dengan awalan khusus, normalisasi perlu memperhatikan konteks negara yang dipilih. Nomor yang sama bisa memiliki awalan berbeda bagi orang yang menelepon dari dalam dan dari luar negeri, sehingga sistem yang menggabungkan keduanya tanpa memperhatikan asal penelepon akan menyimpan nilai yang tidak konsisten.
Seberapa kuat aturan kecocokan sebaiknya diterapkan?
Aturan yang sebaiknya dipertahankan adalah aturan yang pasti benar: panjang nomor pada rentang yang wajar untuk negaranya, karakter yang dipakai hanya angka dan tanda pemisah, serta kode negara yang dikenal. Pemeriksaan semacam ini jarang menghasilkan penolakan keliru.
Aturan yang sebaiknya dilunakkan adalah aturan yang bergantung pada keadaan yang bisa berubah: kecocokan kode area dengan kota, kecocokan awalan dengan penyedia, dan jenis layanan tertentu untuk jenis nomor tertentu. Bila pemeriksaan itu tetap ingin dipakai, jadikan peringatan yang tidak menghalangi pengguna melanjutkan, dan catat berapa banyak peringatan yang muncul agar Anda bisa menilai apakah aturannya terlalu ketat.
| Pemeriksaan | Sikap yang disarankan |
|---|---|
| panjang nomor dalam rentang yang wajar untuk negaranya | dipertahankan sebagai pemeriksaan keras |
| karakter yang dipakai hanya angka dan tanda pemisah | dipertahankan sebagai pemeriksaan keras |
| kecocokan kode area dengan kota | dilunakkan menjadi peringatan |
| kecocokan awalan dengan penyedia layanan | dilunakkan menjadi peringatan |
Titik keseimbangan ini penting karena penolakan yang salah lebih mahal daripada data yang perlu ditinjau. Pengguna yang nomornya ditolak akan meninggalkan formulir, sedangkan data yang hanya ditandai masih bisa diperiksa kemudian.
Catatan untuk pengembang: bentuk baku dan aturan lunak
Tetapkan bentuk baku nomor telepon di seluruh sistem, sama seperti kode negara. Bila sistem Anda menerima masukan dari beberapa sumber, ubah semuanya ke bentuk baku pada satu tempat, bukan di setiap layar. Dengan begitu, aturan pencocokan dan pengiriman hanya perlu tahu satu bentuk.
Pisahkan pemeriksaan menjadi keras dan lunak. Pemeriksaan keras menolak nilai yang tidak mungkin, misalnya nomor berisi huruf atau panjangnya jauh di luar kewajaran. Pemeriksaan lunak menandai nilai yang mencurigakan, misalnya kode area yang tidak sesuai kota pada alamat, dan meneruskannya dengan tanda agar bisa ditinjau. Cara menyusun kedua jenis kasus itu sebagai berkas uji tetap dijelaskan di panduan data alamat untuk pengujian.
Bila formulir Anda memakai satu kolom alamat dan satu kolom telepon, pastikan urutan pengisiannya tidak saling mengunci. Nomor telepon sering diisi lebih dulu, dan pemeriksaan yang bergantung pada negara akan gagal bila negara belum dipilih. Format penulisan nomor menurut kebiasaan setempat dibahas lebih jauh di panduan format alamat internasional, sedangkan contoh negara tertentu bisa dilihat di halaman Indonesia.
Langkah berikutnya
Periksa apakah kolom nomor telepon di basis data Anda bertipe bilangan; bila ya, ubah ke teks sebelum masalahnya muncul. Setelah itu, buka generator alamat, hasilkan beberapa nomor beserta alamat yang sesuai, lalu uji apakah formulir Anda menerimanya tanpa penolakan yang tidak perlu.