Base36

Dipublikasikan: 11 Desember 2025

Terakhir diperbarui: 11 Desember 2025

Raymond Kelvin Nando — Base36 merupakan metode encoding yang mengubah data numerik ke dalam representasi teks menggunakan 36 karakter: 0–9 dan A–Z. Teknik ini terutama digunakan untuk kompresi numerik, pembuatan kode identitas pendek, sistem penomoran, dan representasi string yang ringkas namun tetap dapat dibaca manusia. Base36 lebih padat dibanding Base10 dan Base16, menjadikannya pilihan ideal untuk pengkodean data non-kriptografis yang membutuhkan keluaran pendek dan mudah diketik.

Pengertian Base36

Base36 adalah sistem encoding yang mewakili angka dalam basis 36, memanfaatkan sepuluh digit dan dua puluh enam huruf alfabet Latin. Dalam konteks komputasi, Base36 digunakan untuk mengompres angka besar menjadi representasi yang lebih pendek. Tidak seperti Base32 atau Base64, Base36 umumnya tidak digunakan untuk encoding biner langsung melainkan untuk representasi numerik, hashing non-kriptografis, pelabelan, dan sistem ID.

Secara matematis, Base36 memungkinkan representasi yang lebih padat:
Setiap digit Base36 mewakili log₂(36) ≈ 5.17 bit informasi, lebih tinggi daripada hex (4 bit).
Karena itu, angka panjang dapat direduksi menjadi string yang lebih ringkas, sekaligus tetap mudah dibaca, ditulis, dan diucapkan oleh manusia.

Orang lain juga membaca :  Base58

Sejarah Perkembangan Base36

Base36 mulai muncul pada masa-masa awal komputasi ketika para pengembang mencari cara untuk mewakili angka dalam format string yang kompak namun tetap kompatibel dengan sistem pengetikan berbasis ASCII. Dalam banyak sistem lama, hanya karakter alfanumerik yang diizinkan, sehingga Base36 menjadi pilihan ideal.

Pada tahun 1980–1990-an, Base36 digunakan dalam berbagai sistem indeks database, pelabelan objek komputasi, nomor seri perangkat keras, shortlink URL internal perusahaan, hingga representasi timestamp yang dipadatkan. Dengan berkembangnya web modern dan kebutuhan membuat URL pendek, Base36 semakin populer karena menyediakan keseimbangan antara panjang representasi dan kemudahan penggunaan.

Hingga sekarang, Base36 digunakan dalam banyak skenario: pengkodean primary key database agar tidak mudah ditebak, sistem pelacakan logistik, pembuatan short-code program, identifikasi transaksi internal, dan berbagai platform yang membutuhkan konversi bilangan cepat ke bentuk alfanumerik.

Prinsip Dasar, dan Metode Base36

1. Alfabet Base36

Set karakter Base36 terdiri dari:
0–9 → nilai 0 hingga 9
A–Z → nilai 10 hingga 35

Tidak ada simbol tambahan, sehingga sangat kompatibel dengan hampir semua sistem.

2. Konversi Angka ke Base36

Angka desimal diubah menjadi Base36 melalui proses pembagian berulang:

  • Bagi angka dengan 36
  • Catat sisa pembagian
  • Gunakan sisa sebagai karakter Base36
  • Ulangi hingga hasil pembagian = 0
  • Balikkan urutan

Contoh: 12345 → 9IX

3. Konversi Base36 ke Angka

Setiap karakter dikonversi ke nilai:
A = 10, B = 11, …, Z = 35
Kemudian dihitung dalam basis 36.

4. Representasi Case-insensitive

Decoder harus menerima huruf besar dan kecil.
abc123 = ABC123

5. Kompatibilitas Sistem Tinggi

Karena hanya menggunakan karakter alfanumerik, Base36 aman untuk:

  • URL
  • Nama file
  • ID database
  • Sistem yang membatasi karakter non-alfanumerik
Orang lain juga membaca :  A-XDR

6. Tidak Ada Padding

Berbeda dengan Base32/64, Base36 tidak menggunakan tanda “=”.

7. Tidak Cocok untuk Encoding Biner Murni

Meski bisa diakali, Base36 tidak didesain untuk memetakan byte langsung. Fokus utamanya adalah representasi angka.

8. Tingkat Kepadatan

Lebih padat dari Base32, Base16, Base10, namun kurang padat dibanding Base58/Base62/Base64.

Contoh Input → Output Base36

Contoh 1: Angka sederhana

Input: 35
Output: Z

Contoh 2: Angka lebih besar

Input: 12345
Output: 9IX

Contoh 3: Angka sangat besar

Input: 999999999
Output: GJDGXR

Contoh 4: Timestamp UNIX

Input: 1700000000
Output: Q1N5QK

Contoh 5: Kode unik

Input: 123456789012345
Output: 2LSOHXAWJ

Contoh 6: Decoding

Input: ABC
Perhitungan:
A = 10 × 36² = 12960
B = 11 × 36¹ = 396
C = 12 × 36⁰ = 12
Total = 13368

Output: 13368

Contoh 7: Menyamarkan ID database

ID integer: 524288
Base36 output: 8K0

Digunakan untuk memperpendek URL atau API route.

Kelebihan & Kekurangan Base36

Kelebihan:

  • Representasi pendek untuk angka besar.
  • Mudah dibaca, diketik, dan diingat.
  • Aman untuk URL, file system, dan protokol ketat.
  • Case-insensitive sehingga mudah digunakan.
  • Lebih efisien daripada Base10 dan Base16.
  • Tidak membutuhkan padding.
  • Implementasi sederhana di hampir semua bahasa pemrograman.
  • Sangat cocok untuk ID, token non-kriptografis, dan short-code.

Kekurangan:

  • Tidak sepadat Base62 atau Base64.
  • Hanya cocok untuk angka, bukan data biner.
  • Tidak memberikan keamanan (mudah didekodekan).
  • Berpotensi bentrok jika case sensitivity dibutuhkan.
  • Tidak memiliki validasi atau checksum internal.
  • Tidak standar untuk protokol internet resmi seperti RFC.
  • Encoding angka besar dapat menghasilkan string cukup panjang untuk dataset masif.

Referensi

  • Knuth, D. (1997). The Art of Computer Programming.
  • Tanenbaum, A. (2015). Structured Computer Organization.
  • RFC 4648 (Base Encoding Background).
  • Microsoft Developer Network. Numerical Base Conversion Guidelines.
  • Oracle Documentation. (2021). Alphanumeric Identifier Encoding Standards.
Orang lain juga membaca :  Adaptive Arithmetic Coding

Citation

Previous Article

Base32

Next Article

Base45

Citation copied!