Sejak ribuan tahun lalu, manusia sudah tertarik menyembunyikan pesan. Salah satu teknik paling sederhana adalah mengganti setiap huruf dengan posisinya dalam alfabet. Metode ini disebut A1Z26, populer di kalangan pecinta teka-teki dan bahkan sempat dipakai dalam kriptografi dasar militer zaman perang dunia. Mengapa? Karena cukup mudah diingat: A=1, B=2, … Z=26. Coba bayangkan, kata "HELP" berubah menjadi 8-5-12-16 ; sederhana tapi membingungkan bagi yang tidak tahu polanya.
Di era komputer, para programmer lebih suka versi A0Z25 (A=0, B=1, … Z=25). Kenapa? Karena hampir semua bahasa pemrograman mengindeks array dari 0. Jadi saat ingin memindahkan huruf ke sandi Caesar atau algoritma Vigenère, mereka tinggal pakai angka 0–25 lalu modulo 26. Praktis dan efisien. Bahkan fungsi `ord(ch) - ord('A')` di Python sudah jadi kebiasaan sehari-hari. Kalau kamu pernah main tantangan kriptografi di website seperti HackTheBox atau Capture The Flag, pasti tidak asing dengan kedua varian ini.
Lalu bagaimana dengan angka Romawi? Meski bukan sandi murni, huruf I, V, X, L, C, D, M memiliki nilai numerik tersendiri. Dalam aplikasi ini, kita memetakan setiap huruf Romawi satu per satu (bukan parsing bilangan kompleks seperti IV=4). Contoh: "XII" menjadi 10-1-1. Ini berguna untuk mengubah label bab, jam, atau sekadar eksplorasi. Metode per huruf sangat mudah dipahami dan bisa dikombinasikan dengan sandi lain.
Selain buat main-main, konversi abjad-ke-angka juga dipakai di dunia nyata: pengindeksan data (misal kolom spreadsheet A,B,C → 1,2,3), kode produk (kode rahasia di mainan anak), puzzle escape room, hingga steganografi sederhana. Bahkan beberapa aplikasi navigasi menggunakan sistem mirip untuk mengkodekan nama jalan dalam bentuk numerik.
Teknik konversi huruf ke angka ternyata juga punya sisi artistik. Banyak desainer grafis menggunakannya untuk membuat kode warna semu atau menciptakan pola rahasia dalam layout. Dan bagi guru matematika, ini jadi jembatan asyik untuk mengajarkan sistem bilangan dan pemetaan fungsi. Jadi selamat bereksperimen! Coba tulis namamu, kode rahasia, atau kata favorit ; lihat betapa ajaibnya sebuah huruf bisa "berbicara" dalam bahasa angka.
🔢 A1Z26
A=1, Z=26
Karakteristik:
• Urutan alfabet langsung
• Rentang 1–26
Kelebihan:
• Sangat intuitif
• Mudah dipahami
• Cocok sandi sederhana
Kekurangan:
• Butuh pemisah angka
• Tidak beda huruf besar/kecil
Contoh:
CAT → 3-1-20
DOG → 4-15-7
💻 A0Z25
A=0, Z=25
Karakteristik:
• Berbasis nol
• Digunakan di pemrograman
Kelebihan:
• Cocok modulo (kriptografi)
• Sesuai indeks array
Kekurangan:
• Kurang intuitif
• Perlu penyesuaian tampilan
Contoh:
CAT → 2-0-19
DOG → 3-14-6
🏛️ Romawi
I, V, X, L, C, D, M
Karakteristik:
• Tidak semua huruf ada
• Sistem historis
Kelebihan:
• Cocok dokumen klasik
• Nilai historis
Kekurangan:
• Tidak universal
• Aturan kompleks
Contoh:
VII = 7
XIV = 14
📊 Perbandingan Sistem
| Aspek | A1Z26 | A0Z25 | Romawi |
|---|---|---|---|
| Rentang | 1–26 | 0–25 | Tidak tetap |
| Kemudahan | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| Komputer | Perlu konversi | Langsung | Parser khusus |
| Contoh | HELLO = 8-5-12-12-15 | HELLO = 7-4-11-11-14 | Tidak berlaku |
• Edukasi / sandi sederhana → A1Z26
• Pemrograman / kriptografi → A0Z25
• Dokumen historis → Romawi