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
💡 Rekomendasi:
• Edukasi / sandi sederhana → A1Z26
• Pemrograman / kriptografi → A0Z25
• Dokumen historis → Romawi