Algoritma Luhn..Sebuah Rumus Untuk Mengetahaui Keaslian Smart Card Anda

Standar

Algoritma Luhn atau Formula Luhn, dikenal juga sebagai algoritma “modulus 10”, adalah sebuah formula checksum sederhana yang digunakan untuk memvalidasi macam-macam Nomor Identifikasi seperti nomor Kartu Kredit.
Checksum adalah sebuah cara sederhana untuk melindungi integritas data dengan mendeteksi kesalahan (error) dalam data yang
dikirim melalui media telekomunikasi atau data dalam media penyimpanan.
Formula ini hanyalah merupakan sebuah metoda untuk memastikan kalau
nomor pada smartcard adalah benar/valid.
Smartcard umumnya digunakan sebagai kartu kredit, kartu SIM (Subscriber
Identity Module), kartu mahasiswa, kartu asuransi, kartu kesehatan, dll.
Tidak semua smartcard menggunakan formula Luhn, beberapa diantaranya:
– ICCID (Integrated Circuit Card IDentifier) dari kartu SIM (19/20 digit).
Contohnya: 8962XXXXXXXXXXXXXX-X atau 8962XXXXXXXXXXXXXXXX
– Kartu kredit MasterCard (16 digit)
– Kartu kredit Visa (16 digit)
Kalkulasi untuk Menghasilkan Digit Terakhir (Check Digit)

Berikut adalah tahap-tahap generate-nya:

– Kalikan dengan dua setiap digit pada urutan ‘genap’ (digit ke-2, ke-4,
ke-6, …) jika smartcard memiliki jumlah digit ‘genap’, atau
kalikan dengan dua setiap digit pada urutan ‘ganjil’ (digit ke-1, ke-3,
ke-5, …) jika smartcard memiliki jumlah digit ‘ganjil’, atau
kamu bisa mengabaikan antara ‘genap’ dan ‘ganjil’ dengan cara mengalikan
dengan dua digit yang terakhir, kemudian digit-digit selanjutnya yang
berjarak dua hingga digit yang paling awal.

Jika hasil perkaliannya lebih besar dari 9, maka jumlahkan masing-masing
digit tersebut. Contoh: hasilnya adalah 16 (8 dikali dengan 2), lalu
jumlahkan 1 dengan 6 menjadi 7. Jadi hasil akhirnya adalah 7.

– Jumlahkan semua digit (semua hasil dari tahap pertama dan semua digit
yang tidak dikalikan dengan dua).

– Modulus hasil dari tahap kedua dengan 10, kemudian kurangkan hasilnya
dengan 10.

– Jadikan digit tersebut (hasil dari tahap ketiga) sebagai ‘check digit’
dan letakkan pada urutan terakhir dari rentetan digit-digit smartcard.

Bingung? Sama… 🙂 Langsung lihat contoh di bawah ini saja;

Nomor kartu kredit yang akan dikeluarkan oleh Bank Krut: 1234 5678 9012 345
Dengan formula berikut (Luhn), kita akan mendapatkan digit terakhir tersebut
(check digit)…
– 1 2 3 4 5  6  7  8  9  0 1 2 3 4 5
x x x  x x x  x   x  x  x x x x x x
2 1 2  1 2  1  2   1  2  1 2 1 2  1 2

– 2 + 2 + 6 + 4 + 1+0+6 + 1+4+8 + 1+8+0 + 2 + 2 + 6 + 4 + 1+0 = 58

– 58 % 10 = 8
10 – 8 = 2 (check digit)

– Hasil akhir dari nomor kartu kredit yang selanjtnya akan digunakan di
adalah: 1234 5678 9012 3452
Kalkulasi untuk Memvalidasi Nomor

Berikut adalah tahap-tahap validate-nya:

– Kalikan dengan dua setiap digit pada urutan ‘genap’ (digit ke-2, ke-4,
ke-6, …) jika smartcard memiliki jumlah digit ‘ganjil’, atau
kalikan dengan dua setiap digit pada urutan ‘ganjil’ (digit ke-1, ke-3,
ke-5, …) jika smartcard memiliki jumlah digit ‘genap’, atau
kamu bisa mengabaikan antara ‘genap’ dan ‘ganjil’ dengan cara mengalikan
dengan dua digit ke dua dari terakhir, kemudian digit-digit selanjutnya
yang berjarak dua hingga digit yang paling awal.

Jika hasil perkaliannya lebih besar dari 9, maka jumlahkan masing-masing
digit tersebut. Contoh. hasilnya adalah 16 (8 dikali dengan 2), lalu
jumlahkan 1 dengan 6 menjadi 7. Jadi hasil akhirnya adalah 7.

– Jumlahkan semua digit (semua hasil dari tahap pertama dan semua digit
yang tidak dikalikan dengan dua).

– Hasil dari tahap kedua haruslah kelipatan dari 10. Jika tidak, maka nomor
tersebut tidak valid.

Berikut contohnya;

Nomor kartu kredit dari Bank Krut: 1234 5678 9012 3452
Kita akan memvalidasinya…

– 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 2
x x x x x x x x x x x x x x x x
2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1
= = = = = = = = = = = = = = = =
2 2 6 4 10 6 14 8 18 0 2 2 6 4 10 2

– 2 + 2 + 6 + 4 + 1+0+6 + 1+4+8 + 1+8+0 + 2 + 2 + 6 + 4 + 1+0+2 = 60

– 60 % 10 = 0 (V A L I D)
om hans-peter-luhn

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s