Format nomor SSN Amerika Serikat cukup mudah dikenali: sembilan digit yang lazim ditulis sebagai tiga bagian, yaitu tiga angka, lalu dua, lalu empat, dipisahkan tanda hubung. Bentuknya sederhana, tetapi ada dua hal yang sering disalahpahami. Sebagian rentang angka memang tidak pernah dipakai, dan nomor ini bukan kartu identitas. Uraian berikut menjelaskan susunannya, rentang yang kosong, dan cara memperlakukannya dengan benar ketika Anda menyusun data uji.
Susunan sembilan digit
Nomor ini selalu terdiri dari sembilan angka, dan pembacaannya selalu dari kiri ke kanan dalam tiga kelompok. Kelompok pertama berisi tiga angka, kelompok kedua dua angka, dan kelompok ketiga empat angka. Tanda hubung di antara kelompok hanyalah kebiasaan penulisan; nilainya tetap nomor yang sama ketika ditulis tanpa pemisah, dan banyak sistem menyimpan serta menampilkan nomornya tanpa tanda hubung sama sekali.
Karena itu, di dalam basis data, keputusan yang perlu diambil bukanlah soal tanda hubung, melainkan soal apakah nomornya disimpan sebagai teks atau sebagai bilangan. Menyimpannya sebagai bilangan menimbulkan masalah yang tampak sepele tetapi sering menyakitkan: angka nol di depan hilang, dan nomor yang sama muncul dalam dua bentuk yang berbeda di dua tempat. Untuk nomor identitas, bentuk teks hampir selalu lebih aman.
Satukan juga aturan penulisannya di seluruh sistem. Bila satu halaman menampilkan nomor dengan tanda hubung dan halaman lain tanpa tanda hubung, pencarian catatan akan gagal meski datanya benar. Pilih satu bentuk penyimpanan, satu bentuk tampilan, dan ubah nilai hanya di satu tempat ketika data masuk.
Rentang yang tidak pernah dipakai
Tidak semua nilai yang mungkin secara aritmetika pernah benar-benar diterbitkan. Beberapa kelompok angka memang disisihkan sejak awal, dan mengenalinya berguna ketika Anda memeriksa data uji sendiri.
| Bagian | Nilai yang tidak dipakai |
|---|---|
| Kelompok tiga angka pertama | tiga angka nol, angka enam ratus enam puluh enam, serta seluruh rentang sembilan ratus sampai sembilan ratus sembilan puluh sembilan |
| Kelompok dua angka tengah | dua angka nol |
| Kelompok empat angka terakhir | empat angka nol |
Nomor yang mengandung salah satu nilai di atas hampir pasti bukan nomor sungguhan, dan justru karena itu banyak tim sengaja memakainya sebagai penanda data buatan. Kebiasaan itu masuk akal selama Anda sadar bahwa penanda semacam ini tidak selalu dikenali oleh sistem pihak lain, yang mungkin menerima seluruh nilai selama panjangnya benar.
Apakah tiga angka pertama menunjukkan tempat tinggal?
Tidak lagi, dan ini perubahan yang paling sering luput dari perhatian orang yang belajar dari sumber lama. Sepanjang sejarahnya, kelompok tiga angka pertama memang berkaitan dengan wilayah penerbitan, sehingga sebagian orang masih menganggapnya sebagai petunjuk tempat tinggal atau tahun kelahiran. Pada 2011, cara penerbitannya diubah menjadi acak, dan sejak saat itu angka di dalam nomor tidak lagi mewakili lokasi maupun waktu.
Konsekuensinya praktis: jangan sekali-kali menurunkan kota, negara bagian, atau tahun lahir dari nomor ini, dan jangan memakai nomor ini untuk menebak usia seseorang. Data uji yang melakukan hal itu akan menghasilkan catatan yang tidak masuk akal tanpa terlihat salah, dan kesalahan seperti itu sulit ditemukan karena semuanya tampak wajar ketika dibaca sekilas.
Apakah nomor ini bisa dijadikan kartu identitas?
Tidak, dan pembedaan ini penting untuk dipahami sebelum menyusun formulir apa pun. Nomor ini dipakai untuk keperluan administrasi tertentu, misalnya pelaporan pajak dan pencatatan ketenagakerjaan, bukan sebagai bukti identitas umum yang bisa dipakai untuk memastikan siapa seseorang. Di Amerika Serikat sendiri tidak ada kartu identitas nasional wajib, dan banyak situasi sehari-hari tidak memerlukan nomor ini sama sekali.
Memperlakukannya sebagai bukti identitas menimbulkan dua masalah. Pertama, nomor ini tidak memuat foto, tanda tangan, atau ciri fisik apa pun, sehingga tidak dapat membuktikan bahwa orang yang menuliskannya adalah pemiliknya. Kedua, karena bentuknya sering dipakai sebagai kata sandi pengganti di layanan keuangan, nilai itu justru termasuk yang paling berharga bagi penipu. Karena itu, saat merancang formulir, tanyakan dahulu apakah nomor ini benar-benar diperlukan; bila tidak, jangan minta.
Bagaimana nomor seperti ini diuji dengan aman?
Kalau sistem Anda memang harus memproses nomor seperti ini, seluruh pengujian sebaiknya memakai nilai buatan yang jelas tidak terbit. Yang penting diuji bukan apakah nomornya asli, melainkan apakah sistem Anda menangani masukan dengan benar.
- Nilai dengan panjang kurang atau lebih dari sembilan digit, yang harus ditolak dengan pesan yang jelas.
- Nilai yang memuat huruf, spasi berlebih, atau tanda hubung di posisi tak terduga, yang sering muncul dari tempel salin.
- Nilai dari rentang yang tidak pernah terbit, untuk memastikan sistem Anda tidak menolaknya karena alasan yang salah.
- Nilai yang sengaja ditulis dengan angka nol di depan, untuk melihat apakah nol itu hilang saat disimpan.
- Masukan kosong dan masukan yang hanya berisi tanda hubung.
Selain daftar di atas, uji juga tampilan nomor pada layar yang berbeda. Sebagian antarmuka menyembunyikan seluruh nomor sebelum diverifikasi, sebagian menampilkan empat angka terakhir, dan sebagian menampilkan semuanya. Ketiganya punya perilaku sendiri terhadap pemotongan teks dan penyalinan, dan justru di situ kesalahan kecil paling sering muncul.
Data seperti ini hanya untuk pengujian dan tidak boleh dipakai untuk menyamar sebagai orang lain. Tidak ada nilainya yang berasal dari orang nyata, dan tidak ada yang bisa dipakai untuk membuka rekening, mengajukan pinjaman, atau melewati pemeriksaan identitas sungguhan.
Untuk pengembang: batasi pemeriksaan pada bentuk
Pemeriksaan yang wajar untuk nomor ini hanya dua: panjangnya sembilan digit, dan seluruh isinya angka setelah tanda hubung dibuang. Berhenti di situ. Menambahkan pemeriksaan terhadap rentang yang tidak terbit boleh, tetapi harus dipahami sebagai pemeriksaan mutu data, bukan sebagai jaminan keaslian. Tidak ada pemeriksaan aritmetika yang bisa memastikan sebuah nomor diterbitkan oleh pihak berwenang, karena susunannya memang tidak memuat digit pemeriksa seperti yang dipakai di beberapa negara lain, misalnya pada sistem nomor identitas di berbagai negara.
Yang harus dihindari adalah menyimpulkan fakta dari nomor, dan menyimpan nomor tanpa pembatasan akses. Perlakukan nilai ini seperti data rahasia: jangan tampilkan penuh di layar administrasi, jangan masukkan ke catatan log, dan jangan sertakan pada tangkapan layar pelaporan kutu. Untuk data uji, siapkan satu catatan tetap berisi nilai buatan, lalu ubah bentuknya pada setiap kasus uji alih-alih mengganti nilainya.
Bila Anda memerlukan contoh negara lain untuk perbandingan, halaman Amerika Serikat merangkum kebiasaan penulisan di sana, dan padanannya tersedia untuk tiap negara yang didukung. Untuk keperluan pengisian cepat, generator data identitas menyusun bidang-bidang ini sekaligus dalam satu negara, sehingga Anda tidak perlu menyusunnya sendiri. Sumber resmi penerbit nomor di Amerika Serikat, yaitu Social Security Administration, merinci aturan rentang dan perubahan cara penerbitan di situs resminya.
Langkah berikutnya
Periksa dahulu apakah formulir Anda benar-benar perlu meminta nomor ini, lalu sederhanakan pemeriksaannya menjadi panjang dan jenis karakter saja. Setelah itu, siapkan satu rangkaian kecil nilai buatan yang mewakili kasus di atas, dan jalankan melalui seluruh alur pendaftaran Anda untuk memastikan tidak ada satu pun yang lolos ke produksi.