Jumat, 24 Juni 2016

ALGORITMA LUHN DALAM VALIDASI CREDIT CARD


Karya : Fuji Lailatul Fazri – 152151084
C
redit card atau kartu kredit adalah sebuah kartu yang dikeluarkan oleh suatu bank untuk nasabahnya agar dapat digunakan sebagai sarana transaksi yang praktis. Menggunakan kartu kredit memiliki banyak sekali keuntungan seperti keamanan, kemudahan, kepraktisan dan tentunya masih banyak hal lagi.
Namun, pernahkah Anda berpikir bagaimana cara kita mengecek validitas atau keabsahan dari suatu kartu kredit? Sekarang ini memang sudah banyak beredar aplikasi untuk mengecek validitas suatu kartu kredit. Aplikasinya pun bisa didapatkan secara gratis atau cuma-cuma di PlayStoreAndroid, seperti CreditCardValidator.
Meskipun demikian, pada dasarnya aplikasi tersebut melakukan pengecekan dengan menggunakan formula matematika yang akan saya paparkan pada penjelasan berikut ini.
Sejarah
Pada tahun 1954, seorang ilmuwan berkebangsaan Jerman bernama Hans Peter Luhnyang bekerja dalam bidang teknik komputer di sebuah perusahaan komputer raksasa bernama IBM menciptakan sebuah rumusan sistem algoritme untuk memvalidasi berbagai kombinasi rangkaian nomor-nomor untuk identifikasi.


Hans Peter Luhn
Algoritme temuan Luhn ini merupakan perkembangan dari penelitian yang dilakukan pendahulunya seorang ilmuwan bernama Carl Friedrich Gauss (1801) yang terkenal akan aritmatika modulo pada jam.
Pada awalnya rumusan Luhn diciptakan dan disimpan sebagai hak paten, namun sekarang ini rumusan Luhn dapat digunakan secara bebas. Rumusan Luhndikenal sebagai Algoritme Luhn atau dikenal juga dengan “modulus 10”.
Pada saat ini Algoritme Luhn digunakan dalam dunia perbankan yaitu dalam mengecek validitas sebuah kartu kredit. Algoritme Luhn membantu membuat angka-angka secara acak dan mencegah terdapatnya angka-angka kartu kredit yang salah sebelum diterbitkan. Algoritme Luhn tidak digunakan untuk membuat nomor kartu kredit secara langsung, tetapi digunakan sebagai rumusan matematis yang sederhana untuk memeriksa angka-angka kartu kredit yang sah dari daftar angka acak yang sudah di buat sebelumnya.
Harus ditekankan pula bahwa Algoritme Luhn hanya mengecek keabsahan atau validitas rentetan digit kartu kredit dan bukan komponen yang lain (urutan nomor rekening, tanggal expire, dan lain-lain).
Menurut Algoritme Luhn, pada dasarnya semua nomor kartu kredit menggunakan Algoritme cek digit, yaitu penambahan satu digit terakhir dari rentetan nomor kartu kredit untuk memastikan kalau tidak terjadi kesalahan dalam memasukkan atau pengiriman transaksi ke tempat tujuan.
Metode pengecekan digit terakhir ini memerlukan 4 langkah :
1.        Untuk kartu kredit yang berjumlah digit genap kalikan dengan dua setiap digit pada urutan genap (n2, n4, n6,dst) atau untuk kartu kredit yang berjumlah digit ganjil kalikan dengan dua setiap digit pada urutan ganjil (n1, n3, n5, dst).
Jika hasil perkaliannya lebih besar atau sama dengan 10, maka jumlahkan masing-masing digit tersebut
n... x 2 = ab, ab≥ 10
ab haruslah < 10, maka abè a + b
2.        Jumlahkan semua hasil dari tahap pertama (baik yang dikalikan dua maupun tidak).
3.        Modulus hasil dari tahap kedua dengan 10, kemudian kurangkan hasilnya dengan 10.
4.        Hasil dari digit langkah di atas merupakan check digit yang kemudian diletakkan di bagian akhir deret digit kartu kredit.
Setelah diperoleh cek digit, maka validasi bisa dilakukan dengan langkah sebagai berikut:
1.        Untuk kartu kredit yang berjumlah digit genap kalikan dengan dua setiap digit pada urutan genap (n2, n4, n6,dst) atau untuk kartu kredit yang berjumlah digit ganjil kalikan dengan dua setiap digit pada urutan ganjil (n1, n3, n5, dst).
Jika hasil perkaliannya lebih besar atau sama dengan 10, maka jumlahkan masing-masing digit tersebut :
n... x 2 = ab, ab> 10
ab haruslah < 10, maka abè a + b

2.        Jumlahkan semua hasil dari tahap pertama (baik yang dikalikan dua maupun tidak)
3.        Hasil dari tahap kedua haruslah kelipatan 10 (jika di mod-10≡0), jika tidak maka nomor kartu kredit tersebut tidak valid.

Contoh : 
          

Untuk mengecek apakah kartu kredit ini bisa dicari tahu validitasnya menggunakan Algoritme Luhn, pertama kita harus mengecek digit terakhir pada kartu kredit tersebut.
Cek Digit
Dalam kartu kredit tersebut kita mendapat deretangka :
4
4
5
3
7
7
1
2
3
4
5
6
7
8
9
9
1.        Karena digitnya genap, maka kalikan masing-masing digit genap (warna merah) dengan 2, sedangkan digit ganjil dikali satu
4
4
5
3
7
7
1
2
3
4
5
6
7
8
9
9
x1
x2
x1
x2
x1
x2
x1
x2
x1
x2
x1
x2
x1
x2
x1
x2
4
8
5
6
7
14
1
4
3
8
5
12
7
16
9
18

2.        Jumlahkan hasil dari tahap pertama
4 + 8 + 5 + 6 + 7 + (1+4) + 1 + 4 + 3 + 8 + 5 + (1+2) + 7 + (1+6) + 9 + (1+8)
= 4 + 8 + 5 + 6 + 7 + 5 + 1 + 4 + 3 + 8 + 5 + 3 + 7 + 7 + 9 + 9
= 91
3.        Modulus hasil tahap kedua dengan 10, kemudian kurangkan hasilnya dari 10
91 ≡ 1 (mod 10)
10 – 1 = 9
4.        Hasil akhir langkah 3 merupakan cek digit yang disimpan di samping nomor kartu sebelumnya, sehingga deret kartu kredit menjadi:
4453 7712 3456 7899 9

Cek Validitas
Deret nomor kartu kredit setelah ditambahkan cek digit :
4
4
5
3
7
7
1
2
3
4
5
6
7
8
9
9
9

1.        Karena digitnya genap (deret awal), maka kalikan masing-masing digit genap (warna merah) dengan 2, sedangkan digit ganjil dikali satu
4
4
5
3
7
7
1
2
3
4
5
6
7
8
9
9
9
x1
x2
x1
x2
x1
x2
x1
x2
x1
x2
x1
x2
x1
x2
x1
x2
x1
4
8
5
6
7
14
1
4
3
8
5
12
7
16
9
18
9


2.        Jumlahkan hasil dari tahap pertama
4 + 8 + 5 + 6 + 7 + (1+4) + 1 + 4 + 3 + 8 + 5 + (1+2) + 7 + (1+6) + 9 + (1+8)
= 4 + 8 + 5 + 6 + 7 + 5 + 1 + 4 + 3 + 8 + 5 + 3 + 7 + 7 + 9 + 9 +9
= 100
3.        100 ≡ 0 (mod 10) è sesuai langkah 3 di atas (Secara teori / algoritme modulusnya harus 0)

Jadi, nomor dalam kartu kredit tersebut dinyatakan valid karena sesuai atau memenuhi aturan dari Algoritme Luhn.

Kesimpulan
Kartu kredit merupakan bagian dari kehidupan pada zaman sekarang. Kemudahan, keamanan dan kepraktisannya menjadikan banyak orang memilih menggunakannya daripada uang tunai.
Algoritme Luhn adalah salah satu cara untuk mengecek validitas atau keabsahan dari suatu kartu kredit secara manual. Algoritme ini mengecek validitas deret digit kartu kredit dengan menambahkan ‘cek digit’ terlebih dahulu, kemudian baru bisa di cek validitasnya.
Kelebihan dari metode AlgoritmeLuhn ini adalah metodenya yang sederhana. Namun kekurangannya adalah jika mengecek secara manual terdapat kemungkinan suatu deret valid menurut Algoritme Luhn tetapi tidak dapat diketahui jenis kartu kreditnya. Selain itu, pengecekan secara manual juga rentan mengalami kesalahan karena harus teliti menghitung setiap digit, jika salahsatu digit salah dalam penghitungan maka dapat dipastikan langkah selanjutnyapun akan mengalami kesalahan.

Harapan
Penulis berharap esai ini dapat memberikan informasi kepada para pembaca agar senantiasa berhati-hati dalam urusan kartu kredit. Selain itu, Penulis berharap esai ini dapat bermanfaat bagi kehidupan karena pada dasarnya ilmu perhitungan sangat dibutuhkan oleh manusia dan ada yang mengembangkan tulisan bagaimana mengecek validitas kartu debet.
           
Saran
Pada penelitian ini penulis hanya membahas penggunaan AlgoritmeLuhn pada validasi kartu kredit. Untuk itu penulis menyarankan agar AlgoritmeLuhn ini dapat lebih dikembangkan lagi. Mungkin untuk peneliti selanjutnya dapat menggali lebih dalam lagi mengenai AlgoritmeLuhn ini pada bidang yang lainnya.


DAFTAR PUSTAKA
Anonim. (2011). Rumus Manual. [Online]. Tersedia: http://danish56.blogspot.com/2011/09/rumus-manual.html/m=1/. [11 Juni 2016].
Anonim. (2011). Sang Jenius Hans Peter Luhn. [Online]. Tersedia: http://www.mafiakartukredit.com/2011/07/sang-jenius-hans-peter-luhn.html?m=1/. [14 Juni 2016].
Anonim. (2012). Luhn Formula. [Online]. Tersedia : http://ezine.echo.or.id/ezine12/echo12-08.txt/. [ 10 Juni 2016].
Scut. (2002). RahasiaKartu Kredit. In Komunitas Radikal Team. [Online]. Tersedia: http://www.oocities.org/f173/rahasia_sebuah_kartu_kredit.htm/. [10 Juni 2016].
Wikipedia. Hans Peter Luhn. [Online]. Tersedia: http://en.m.wikipedia.org/wiki/Hans_Peter_Luhn/. [14 Juni 2016].

Tidak ada komentar:

Posting Komentar