Apa itu Algoritma Luhn?

Algoritma Luhn, juga disebut modulus 10 atau modulus 10 algorithm, adalah rumus matematika sederhana yang digunakan untuk memvalidasi nomor identifikasi pengguna. Awalnya dibuat oleh sekelompok matematikawan dan penemu Hans Peter Luhn pada 1960-an, algoritma Luhn digunakan oleh sebagian besar perusahaan kartu kredit utama untuk memverifikasi bahwa nomor kartu yang dimasukkan valid. Algoritma ini juga digunakan untuk memvalidasi urutan angka dalam nomor identifikasi pemerintah, nomor Jaminan Sosial, nomor Asuransi Sosial di Kanada, dan nomor International Mobile Equipment Identity (IMEI). Algoritma ini bersifat domain publik dan dapat digunakan oleh siapa saja. Algoritma ini dirancang untuk mendeteksi kesalahan nilai dan kesalahan satu digit yang mungkin terjadi akibat kesalahan ketik, tetapi tidak untuk mendeteksi serangan berbahaya yang spesifik.

Rumus matematika yang digunakan disebut checksum, yaitu nilai yang mewakili jumlah bit dalam pesan transmisi. Mirip dengan bagaimana checksum digunakan dalam algoritma Luhn, checksum umumnya digunakan oleh profesional IT untuk mendeteksi kesalahan tingkat tinggi dalam transmisi data.

Bagaimana Algoritma Luhn Bekerja?

Rumus Luhn menerapkan beberapa aritmetika dasar pada nomor identifikasi untuk menghitung nilai yang harus sesuai dengan digit pemeriksa—yang dalam kasus kartu kredit, adalah angka terakhir pada kartu. Berikut adalah empat langkah dalam rumus ini:

  1. Mulai dari digit kedua dari akhir, bergerak dari kanan ke kiri, kalikan setiap angka kedua dengan dua.
  2. Selanjutnya, ambil digit yang dilewati pada langkah 1 dan kalikan dengan 1.
  3. Tambahkan semua angka dari langkah 1 dan 2. Jika hasil perkalian dalam langkah 1 menghasilkan angka dua digit, seperti 5 x 2 = 10, maka gunakan jumlah dari digit-digit tersebut (1 + 0 = 1) saat menjumlahkan semua hasil.
  4. Jika jumlah akhir berakhir dengan 0, maka nomor tersebut valid. Jika tidak, nomor tersebut tidak valid.

Contoh Penggunaan Algoritma Luhn di Dunia Nyata

Bisnis dapat menggunakan rumus Luhn untuk memastikan nomor kartu kredit valid sebelum mengirimkannya untuk otorisasi. Perusahaan kartu kredit, termasuk American Express, Visa, Mastercard, dan Discover, menggunakan algoritma Luhn. Namun, algoritma ini tidak memverifikasi informasi lain pada kartu kredit, seperti apakah tanggal kedaluwarsa kartu masih berlaku.

Nomor IMEI digunakan untuk mengidentifikasi jenis perangkat keras pada ponsel. Setiap ponsel memiliki kode unik 15 hingga 17 digit, di mana digit paling kiri mengandung informasi tentang jenis ponsel. Kode IMEI juga dapat digunakan untuk mencegah ponsel yang hilang atau dicuri agar tidak dapat digunakan untuk melakukan panggilan, serta membantu pembeli ponsel bekas menentukan apakah ponsel tersebut valid.

Rumus Luhn juga digunakan pada kartu hadiah, di mana kode kartu hadiah dihasilkan secara acak dan memiliki checksum yang terkait dengannya. Kode kartu hadiah ini disimpan dalam database dengan data terkaitnya. Algoritma Luhn memastikan kode kartu hadiah yang ditulis secara manual tetap valid dan tidak mengandung kesalahan.

Selain validasi nomor kartu kredit dan kartu hadiah, beberapa contoh lain penggunaan algoritma Luhn meliputi:

  • Nomor kartu SIM
  • Kode survei
  • Sistem point-of-sale
  • Nomor identifikasi nasional Afrika Selatan
  • Nomor identifikasi nasional Swedia
  • Bahasa pemrograman dan pustaka kode
Tagged:

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *