Rahasia Sebuah Nomor Kartu Kredit
Kami
tidak mengajarkan pembaca untuk bermian main dengan nomor kartu kredit,
tapi kami hanya mengajarkan konsep dasar bagaimana perhitungan didalam
sebuah nomor kartu kredit.
Pernahkan Anda memiliki keinginan
untuk membuat script untuk mengecek valid tidaknya nomor dari sebuah
kartu kredit ? Tulisan dibawah ini akan menjelaskan hal tersebut agar
Anda bisa membuat script untuk pengecekan nomor kartu kredit sendiri.
Pada dasarnya semua nomor kartu kredit
menggunakan algoritma cek digit, yaitu sebuah algoritma yang
digunakan untuk mengecek validitas suatu angka berdasarkan digit-digit
yang membentuknya. Algoritma yang dipergunakan untuk seluruh nomor
kartu kredit adalah algoritma. Entah bagiamana sejarahnya, yang jelas
algoritma cek digit Luhn adalah algoritma cek digit yang saat ini
digunakan oleh seluruh bank besar di dunia yang mengeluarkan kartu
kredit.
Perlu tiga langkah untuk membuktikan
apakah suatu kartu memenuhi algoritma cek digit Luhn, langkah-langkah
tersebut adalah sebagai berikut :
1. Kalikan
dua setiap nilai untuk setiap digit yang letaknya pada posisi ganjil,
jika hasilnya lebih dari 9, kurangi hasilnya dengan 9. Setelah itu
jumlahkan semua angka yang telah didapat itu.
2. Jumlahkan semua nilai untuk setiap digit yang letaknya pada posisi genap.
3. Jika
hasil penjumlahan langkah pertama dan kedua adalah sebuah bilangan
yang habis dibagi 10, berarti nomor kartu tersebut valid.
Umumnya
kartu kredit memiliki jumlah digit sebanyak 16, tetapi ada juga kartu
kredit yang memiliki jumlah digit yang ganjil, misalnya 13 atau 15
digit. Untuk kartu-kartu kredit yang memiliki jumlah digit ganjil,
langkah pertama yang dikalikan adalah digit yang terletak pada posisi
genap, dan langkah kedua yang dijumlahkan adalah digit pada posisi
ganjil.
Contoh :
Nomor kartu kredit : 1800-2020-3047-8690
Apakah kartu kredit ini valid ? Cara pengecekannya adalah sebagai berikut :
1. Langkah pertama, (1x2)+(0x2)+(2x2)+(2x2)+(3x2)+(4x2)+(8x2-9)+(9x2-9)=39
2. Langkah kedua, 8+0+0+0+0+7+6+0=21
3. Langkah
ketiga, 39+21=60. Bilangan 60 adalah bilangan yang habis dibagi 10,
maka bisa dipastikan nomor kartu kredit tersebut valid.
Contoh :
Jika saya punya kartu dengan nomor :
7889-8594-5435-5413
dan saya ingin tahu apakah angka ini
benar-benar nomor kartu kredit yang sah atau tidak saya bisa melakukan
langkah sbb (perhatikan jumlah digit ada 16):
1) mengalikan semua angka pada digit
ganjil dengan dua dan mengurangkan hasilnya dengan 9 jika lebih dari
9, lalu dijumlahkan
inilah digit-digit pada posisi ganjil
D01 = 7
D03 = 8
D05 = 8
D07 = 9
D09 = 5
D11 = 3
D13 = 5
D15 = 1
Jika dilakukan operasi kali dua dan kurangi 9 (jika lebih dari 9) didapat
D01' = 7 x 2 = 14, karena lebih dari maka hasilnya dikurangi 9 D02' = 14 - 9 = 5
D03' = 8 x 2 = 16, karena lebih dari maka hasilnya dikurangi 9 D02' = 16 - 9 = 7
D05' = 8 x 2 = 16, karena lebih dari maka hasilnya dikurangi 9 D02' = 16 - 9 = 7
D07' = 9 x 2 = 18, karena lebih dari maka hasilnya dikurangi 9 D02' = 18 - 9 = 9
D09' = 5 x 2 = 10, karena lebih dari maka hasilnya dikurangi 9 D02' = 10 - 9 = 1
D11' = 3 x 2 = 6 , kurang dari 9 jadi tetap 6
D13' = 5 x 2 = 10, karena lebih dari maka hasilnya dikurangi 9 D02' = 10 - 9 = 1
D15' = 1 x 2 = 2 , kurang dari 9 jadi tetap 2
Jumlah:
D01' + D03' + D05' + D07' + D09' + D11' + D13' + D15' = 5 + 7 + 7 + 9 + 1 + 6 + 1 + 2 = 38
2) Menjumlahkan semua digit pada posisi genap
D02 = 8
D04 = 9
D06 = 5
D08 = 4
D10 = 4
D12 = 5
D14 = 4
D16 = 3
Jumlah = 8 + 9 + 5 + 4 + 4 + 5 + 4 + 3 = 42
Bila
hasil langkah 1 dan langkah 2 dijumlahkan didapat 38 + 42 = 80,
karena 80 habis dibagi 10 maka nomor tersebut sah sebagai nomor kartu
kredit.
Sudah
jelas kan?, ternyata algoritma cek digit pada kartu kredit sangat
mudah dilakukan Anda pun bisa menghasilkan nomor-nomor yang sah
sebagai nomor kartu kredit dengan menggunakan program, dan katanya
dulu ini bisa dipakai untuk melakukan credit card fraud saya sendiri
masih kurang mengerti dengan caranya karena menurut saya sekarang ini
pemeriksaan sudah jauh lebih ketat dan hampir tidak mungkin seseorang
lolos dengan hanya berbekal nomor yang sah saja tanpa expiration date
dan nama pemiliknya.
Untuk penambahan jika Anda membuat
script validasi nomor kartu kredit, tabel dibawah ini bisa disertakan
untuk mengecek apakah kartu tersebut sesuai dengan bank yang
mengeluarkannya (jenisnya).
Prefiks
|
Jumlah Digit
|
Jenis Kartu
|
300
|
14
|
Diners
|
301
|
14
|
Diners
|
302
|
14
|
Diners
|
303
|
14
|
Diners
|
304
|
14
|
Diners
|
305
|
14
|
Diners
|
34
|
15
|
Amex
|
36
|
14
|
Diners
|
37
|
15
|
Amex
|
38
|
14
|
Diners
|
4
|
13
|
Visa
|
4
|
16
|
Visa
|
51
|
16
|
Mastercard
|
52
|
16
|
Mastercard
|
53
|
16
|
Mastercard
|
54
|
16
|
Mastercard
|
55
|
16
|
Mastercard
|
<a href="http://www.mylivesignature.com" target="_blank"><img src="http://signatures.mylivesignature.com/54491/34/E9AE0305F362C9765C24318243A78347.png" style="border: 0 !important; background: transparent;"/></a>
Tidak ada komentar:
Posting Komentar