implementasi algoritma luhnpada aplikasi validasi smart card...teknik kriptografi algoritma aes....

14
1 1. Pendahuluan Perkembangan teknologi memberikan fasilitas dan kemudahan dalam kehidupan manusia. Pertukaran informasi mudah dan cepat dilakukan. Perkembangan Internet dan aplikasi menggunakan Internet, juga mengakibatkan berkembangnya pula kejahatan sistem informasi. Informasi yang bersifat pribadi atau rahasia dapat diketahui pihak lain, dan beresiko untuk dipalsukan, atau digunakan tanpa ijin [1]. Salah satu sistem yang paling rentan terhadap pencurian informasi adalah teknologi smart card yaitu media pertukaran data pada sistem berbasis kartu. Teknologi smart card bukanlah hal yang baru, penggunaan smart card sudah umum dijumpai seperti pada kartu kredit, bidang pendidikan seperti kartu siswa/mahasiswa, perhubungan, industri jasa hingga digunakan sebagai kartu identitas multifungsi seorang karyawan pada suatu perusahaan. Oleh karena itu, dibutuhkan keamanan data yang handal ketika terjadinya pertukaran data dalam sistem [2]. Pembobolan rekening bank menghiasi berita baru-baru ini. Selain dengan cara penipuan undian lewat sms, transaksi kartu kredit, ATM Skimming juga perlu diwaspadai. Istilah ini digunakan untuk kejahatan dengan modus pencurian data melalui kartu ATM atau kartu kredit nasabah bank [3]. Algoritma Luhn dapat digunakan untuk melakukan validasi terhadap nomor smart card. Proses validasi ini dapat digunakan sebagai pengamanan tahap awal pada proses transaksi berbasis kartu. Pengamanan selanjutnya dapat digunakan teknik kriptografi untuk menyandikan nomor smart card, dengan tujuan untuk menghindari pencurian nomor smart card. Salah satu algoritma kriptografi yang disepakati sebagai standar saat ini adalah Advanced Encryption Standard (AES). Advanced Encryption Standard (AES) merupakan standar enkripsi dengan kunci-simetris yang diadopsi oleh pemerintah Amerika Serikat. Standar ini terdiri atas 3 blok cipher, yaitu AES-128, AES-192 dan AES-256, yang diadopsi dari koleksi yang lebih besar yang awalnya diterbitkan oleh Rijndael. Masing-masing cipher memiliki ukuran 128-bit, dengan ukuran kunci masing- masing 128, 192, dan 256 bit. AES telah dianalisis secara luas dan sekarang digunakan di seluruh dunia, seperti halnya dengan pendahulunya, Data Encryption Standard (DES). Berdasarkan latar belakang tersebut, maka dilakukan penelitian yang membahas tentang implementasi algoritma Luhn pada aplikasi validasi smart card, dan pengamanan nomor smart card dengan teknik kriptografi Advanced Encryption Standard (AES). 2. Tinjauan Pustaka Penelitian tentang verifikasi kartu kredit yang pernah dilakukan salah satunya adalah “Method and Apparatus for Credit Card Verfication”. Penelitian tersebut menyebutkan tentang perlunya verifikasi kartu kredit, untuk menghindari kerugian pada pihak penjual ataupun pembeli. Teknik yang diajukan adalah dengan menggunakan informasi gambar dan otorisasi data ke dalam kartu kredit.

Upload: others

Post on 01-Mar-2021

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

1

1. Pendahuluan

Perkembangan teknologi memberikan fasilitas dan kemudahan dalam

kehidupan manusia. Pertukaran informasi mudah dan cepat dilakukan.

Perkembangan Internet dan aplikasi menggunakan Internet, juga mengakibatkan

berkembangnya pula kejahatan sistem informasi. Informasi yang bersifat pribadi

atau rahasia dapat diketahui pihak lain, dan beresiko untuk dipalsukan, atau

digunakan tanpa ijin [1]. Salah satu sistem yang paling rentan terhadap pencurian informasi adalah

teknologi smart card yaitu media pertukaran data pada sistem berbasis kartu.

Teknologi smart card bukanlah hal yang baru, penggunaan smart card sudah

umum dijumpai seperti pada kartu kredit, bidang pendidikan seperti kartu

siswa/mahasiswa, perhubungan, industri jasa hingga digunakan sebagai kartu

identitas multifungsi seorang karyawan pada suatu perusahaan. Oleh karena itu,

dibutuhkan keamanan data yang handal ketika terjadinya pertukaran data dalam

sistem [2]. Pembobolan rekening bank menghiasi berita baru-baru ini. Selain

dengan cara penipuan undian lewat sms, transaksi kartu kredit, ATM Skimming

juga perlu diwaspadai. Istilah ini digunakan untuk kejahatan dengan modus

pencurian data melalui kartu ATM atau kartu kredit nasabah bank [3].

Algoritma Luhn dapat digunakan untuk melakukan validasi terhadap

nomor smart card. Proses validasi ini dapat digunakan sebagai pengamanan tahap

awal pada proses transaksi berbasis kartu. Pengamanan selanjutnya dapat

digunakan teknik kriptografi untuk menyandikan nomor smart card, dengan

tujuan untuk menghindari pencurian nomor smart card. Salah satu algoritma

kriptografi yang disepakati sebagai standar saat ini adalah Advanced Encryption

Standard (AES). Advanced Encryption Standard (AES) merupakan standar

enkripsi dengan kunci-simetris yang diadopsi oleh pemerintah Amerika Serikat.

Standar ini terdiri atas 3 blok cipher, yaitu AES-128, AES-192 dan AES-256, yang

diadopsi dari koleksi yang lebih besar yang awalnya diterbitkan oleh Rijndael.

Masing-masing cipher memiliki ukuran 128-bit, dengan ukuran kunci masing-

masing 128, 192, dan 256 bit. AES telah dianalisis secara luas dan sekarang

digunakan di seluruh dunia, seperti halnya dengan pendahulunya, Data

Encryption Standard (DES).

Berdasarkan latar belakang tersebut, maka dilakukan penelitian yang

membahas tentang implementasi algoritma Luhn pada aplikasi validasi smart

card, dan pengamanan nomor smart card dengan teknik kriptografi Advanced

Encryption Standard (AES).

2. Tinjauan Pustaka

Penelitian tentang verifikasi kartu kredit yang pernah dilakukan salah

satunya adalah “Method and Apparatus for Credit Card Verfication”. Penelitian

tersebut menyebutkan tentang perlunya verifikasi kartu kredit, untuk menghindari

kerugian pada pihak penjual ataupun pembeli. Teknik yang diajukan adalah

dengan menggunakan informasi gambar dan otorisasi data ke dalam kartu kredit.

Page 2: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

2

Gambar identitas dari pemilik kartu ditanamkan ke dalam kartu kredit, disimpan

secara digital [4].

Penelitian yang membahas tentang penggunaan algoritma Luhn adalah

“Luhn Validation And Data Security Across Multiple Active Domains”. Penelitian

tersebut membahas tentang penggunaan algoritma Luhn, untuk membangkitkan

dan memvalidasi token dari data sensitif, salah satunya adalah nomor kartu kredit

[5].

Berdasarkan penelitian-penelitian yang telah dilakukan tentang algoritma

Luhn dan validasi nomor kartu kredit, maka dilakukan penelitian yang bertujuan

untuk mengimplementasikan algoritma Luhn pada aplikasi validasi smart card.

Pada penelitian ini juga ditambahkan lapisan keamanan dengan menggunakan

teknik kriptografi algoritma AES.

Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit.

Pada sistem yang terdapat pada kasir-kasir supermarket, bila nomor identitas

setiap barang yang ada dibuat berurutan, maka saat kasir salah memasukkan satu

selisih angka saja, sistem akan tetap menganggap nomor yang dimasukkan

tersebut valid walaupun jenis barang yang diinginkan oleh pembeli tidak sama

dengan jenis barang yang dimasukkan datanya oleh kasir. Hal yang sama berlaku

terhadap nomor kartu kredit. Bila nomor kartu kredit dibuat berurutan, maka

sistem akan menganggap setiap nomor yang dimasukkan saat melakukan transaksi

hampir selalu merupakan nomor valid [6]. Berdasarkan masalah tersebut, maka

dapat dilakukan cara baru untuk membangkitkan nomor kartu kredit yang baik.

Nomor kartu kredit sekarang ini merupakan hasil operasi dari nomor identitas

yang dimiliki oleh tiap-tiap penyelenggara kartu kredit. Nomor kartu kredit pada

umumnya terdiri dari 13 sampai 16 digit. Untuk mencegah nomor kartu kredit

yang berurutan, biasanya nomor-nomor yang dimiliki oleh masing-masing

pengguna kartu kredit merupakan hasil operasi dari angka-angka yang disebut

Check Digit.

Check Digit terletak pada satu digit terakhir pada rangkaian nomor kartu

kredit. Check Digit adalah bilangan yang ditambahkan untuk memastikan nomor

kartu kredit akan dinyatakan valid saat dilakukan pengecekan. Karena 6 digit awal

dan 1 digit terakhir tersebut sudah memiliki arti, berarti tinggal tersisa 9 digit di

tengah yang berfungsi sebagai Account number. 10 kemungkinan angka (dari

angka 0 sampai dengan 9) yang dapat dimasukkan ke tiap digit dari 9 digit

account number tersebut, maka kombinasi yang dihasilkan dari 9 digit tersebut

berjumlah 1 milyar kemungkinan nomor untuk masing-masing jenis kartu kredit.

Panjang nomor kartu kredit pun berbeda-beda tergantung dari

penyelenggaraannya, kebanyakan nomor kartu kredit 16 digit. Berikut ini adalah

panjang nomor kartu kredit dari 3 bank yang telah disebutkan VISA 16 digit,

MasterCard 16 digit, American Express 16 digit [7].

Penelitian yang dilakukan, menggunakan algoritma Luhn untuk validasi

nomor smart card. Algoritma Luhn merupakan pertahanan garis depan pada

banyak layanan e-commerce. Algoritma tersebut digunakan untuk melakukan

validasi berbagai macam nomor identitas, seperti nomor kartu MasterCard dan

Visa. Algoritma Luhn dibuat oleh IBM, dirancang untuk melindungi perusahaan

dan konsumen terhadap kesalahan tidak disengaja atau kesalahan ketik [8].

Page 3: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

3

Penelitian ini membahas teknik kriptografi AES. AES adalah singkatan dari

Advanced Encryption Standard, yakni teknik algoritma kriptografi yang juga

dikenal dengan sebutan Rijndael. Dikembangkan oleh dua orang ahli kriptografi

Belgia, Joan Daemen dan Vincent Rijmen, standar Enkripsi AES kemudian

diadopsi sebagai standar yang digunakan di Amerika Serikat, dan akhirnya di

seluruh penjuru dunia. AES adalah penerus dari Data Encryption Standard (DES)

[9]. Rijndael mendukung panjang kunci 128 bit sampai 256 bit dengan step 32 bit.

Panjang kunci dan ukuran blok dapat dipilih secara independent. Setiap blok

dienkripsi dalam sejumlah putaran tertentu. AES menetapkan panjang kunci

adalah 128 bit, 192 bit, dan 256 bit, maka dikenal AES-128, AES-192, dan AES-

256. Karena AES mempunyai panjang kunci paling sedikit 128 bit, sehingga AES

tahan terhadap serangan exhaustive key search dengan teknologi saat ini, dan

dengan panjang kunci 128 bit, maka terdapat sebanyak

kemungkinan kunci. Jika digunakan komputer tercepat yang dapat mencoba 1 juta

kunci setiap detik, maka akan dibutuhkan waktu tahun untuk mencoba

seluruh kemungkinan kunci. Jika digunakan komputer tercepat yang dapat

mencoba 1 juta kunci setiap milidetik, maka akan dibutuhkan waktu

tahun untuk mencoba seluruh kemungkinan kunci [10].

3. Metode dan Perancangan Sistem

Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang

terbagi dalam empat tahapan, yaitu: (1) Analisis kebutuhan dan pengumpulan

data, (2) Perancangan sistem, meliputi perancangan proses dan antarmuka, (3)

Implementasi sistem, (4) Pengujian dan analisis sistem.

Analisis Kebutuhan dan Pengumpulan Data

Perancangan Sistem meliputi Perancangan Proses, dan Perancangan Antarmuka

Implementasi Sistem

Pengujian dan Analisis Sistem

Gambar 1 Tahapan Penelitian

Tahapan penelitian pada Gambar 1, dijelaskan sebagai berikut: Tahap

pertama: mengumpulkan data latar belakang masalah yaitu perlunya validasi

nomor kartu kredit, kemudian memilih metode validasi yang tepat, yaitu

Algoritma Luhn dan teknik kriptografi AES; Tahap kedua: merancang proses

validasi menggunakan Algoritma LUHN, dan merancang tampilan aplikasi;

Tahap ketiga: yaitu mengimplementasikan hasil perancangan aplikasi,

membangun aplikasi berdasarkan rancangan pada tahap sebelumnya. Sistem

dikembangkan dalam bentuk aplikasi desktop. Data yang akan divalidasi adalah

nomor kartu kredit. Tahap keempat: adalah melakukan pengujian sistem dan

Page 4: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

4

kemudian melakukan analisis terhadap hasil pengujian tersebut. Pengujian

dilakukan untuk mengetahui apakah tujuan pembuatan sistem telah tercapai yaitu

berhasil mengetahui apakah suatu nomor kartu kredit valid atau tidak.

Mulai

Nomor Smart Card

Kunci Enkripsi

Proses Validasi

dengan Luhn

Enkripsi

dengan

AES

Hasil

Enkripsi

Valid

Selesai

Ya

Tidak

Gambar 2 Proses Enkripsi dan Validasi pada Sistem

Proses validasi dan enkripsi sistem ditunjukkan pada Gambar 2. Proses

dimulai dengan input nomor smart card dan input kunci enkripsi. Proses

dilanjutkan dengan validasi nomor kartu, jika nomor kartu valid, maka dilakukan

proses enkripsi.

Page 5: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

5

Mulai

Nomor Smart Card

Terenkripsi

Kunci Dekripsi

Proses Dekripsi

dengan AES

Tampilkan

Pesan Valid

Tampilkan

Pesan

Tidak Valid

Valid

Selesai

Proses Validas

dengan Luhn

Ya

Tidak

Gambar 3 Proses Dekripsi dan Validasi pada Sistem

Proses dekripsi dan validasi merupakan kebalikan dari proses enkripsi,

ditunjukkan pada Gambar 3. Proses ini diawali dengan input nomor smart card

yang telah terenkripsi, dan kunci untuk proses dekripsi. Selanjutnya nomor

tersebut didekripsi, dan hasilnya dilakukan proses validasi dengan algoritma

Luhn. Output dari proses ini adalah pesan valid atau tidak valid.

Page 6: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

6

mulai

Input nomor smart

card

Digit ke-1

adalah chek

digit

I=2

Kalikan digit pada posisi ke-I

dengan angka 2

Kurangi

dengan angka

9Hasil > 9

I = I + 2

Digit

selesai

dikalikan

Sum Of Digit =

jumlahkan semua digit

(tanpa digit)

Sum Of Digit x 9

Angka paling

belakang sama

dengan chek

digit

Valid

Tidak valid

Selesai

Ya

Tidak

Ya

Tidak

Gambar 4 Proses Validasi Nomor Smart Card dengan Algoritma Luhn

Detail Proses validasi nomor kartu kredit menggunakan algoritma Luhn

ditunjukkan dengan flowchart, pada Gambar 4. Penjelasan langkah proses pada

Gambar 4 adalah sebagai berikut:

1) Input nomor kartu kredit;

2) Digit paling kanan adalah Check Digit;

Page 7: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

7

3) Dimulai dari posisi ke-2 sebelah kanan, dilakukan perkalian digit tersebut

dengan angka dua;

4) Jika hasil dari langkah 3 adalah lebih dari 9, maka dilakukan pengurangan 9

pada angka tersebut;

5) Langkah 3 dan 4 dilakukan kembali untuk digit posisi ke- 4, 6, 8, dan

seterusnya;

6) Proses perhitungan Sum of Digits, yaitu dengan menjumlahkan semua digit

yang ada, tanpa Check Digit;

7) Sum of Digits dikalikan dengan 9;

8) Digit terakhir dari langkah 7 merupakan Check Digit sebenarnya.

9) Jika Check Digit dari langkah 8 dengan Check Digit dari langkah 2 sama,

maka nomor kartu kredit dinyatakan valid;

10) Selesai;

Contoh Proses Validasi nomor kartu kredit dengan menggunakan

algoritma Luhn adalah sebagai berikut. Jika diketahui nomor kartu kredit adalah

5542135611412, maka angka hasil proses validasi adalah 342, yang berarti valid

karena digit terakhir antara nomor kartu kredit dengan angka tersebut adalah

sama, yaitu 2. Proses validasi dan hasilnya ditunjukkan pada Gambar 5.

Jika diketahui IMEI suatu handphone adalah 358472042445412, maka

angka hasil proses validasi adalah 540. Digit terakhir nomor berbeda dengan

angka hasil proses validasi (2 tidak sama dengan 0), maka nomor tersebut tidak

valid. Proses validasi dan hasilnya ditunjukkan pada Gambar 6.

Posisi 13 12 11 10 9 8 7 6 5 4 3 2 1

Nomor Kartu 5 5 4 2 1 3 5 6 1 1 4 1 2

Kalikan 2 5 10 4 4 1 6 5 12 1 2 4 2 ?

Sum of Digit 5 1 4 4 1 6 5 3 1 2 4 2 ? 38

Gambar 5 Contoh 1 Proses Validasi Nomor Kartu Kredit Check Digit = 2

Sum of Digit = 38

38 x 9 = 342

Posisi 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

Nomor 3 5 8 4 7 2 0 4 2 4 4 5 4 1 2

Kalikan

2 3 10 8 8 7 4 0 8 2 8 4 10 4 2 ?

Sum of

Digit 3 1 8 8 7 4 0 8 2 8 4 1 4 2 ? 60

Gambar 6 Contoh 2 Proses Validasi IMEI (tidak valid) Check Digit = 2

Sum of Digit = 60

60 x 9 = 540

Page 8: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

8

4. Hasil dan Pembahasan

Pada bagian ini dibahas tentang hasil implementasi sistem berdasarkan

perancangan yang telah dibuat dijelaskan sebagai berikut. Aplikasi yang

dihasilkan dalam penelitian ini, dibangun menggunakan Visual Studio.Net

digunakan untuk memvalidasi dan mengamankan data pemilik kartu kredit,

SQLite digunakan untuk menginput data pemilik kartu kredit, setelah nomor dan

data pemilik kartu kredit diinput maka nomor akan divalidasi menggunakan

algoritma LUHN. Pengamanan nomor dan data pemilik kartu kredit dapat

dienkripsi menggunakan . Net Framework library.

Gambar 7 Database Pemilik Nomor Kartu Kredit

Gambar 7 menjelaskan database dari pemilik kartu kredit yang terdiri dari

nomor kartu kredit, nama pemilik, tanggal lahir, dan alamat. Edit data digunakan

untuk menambahkan data pemilik kartu baru dan dapat menghapus data pemilik

kartu

Page 9: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

9

Gambar 8 Validasi Nomor Kartu Kredit Valid dan Hasil Enkripsi

Gambar 9 Hasil Dekripsi Nomor Kartu Kredit

Pada Gambar 8 ditunjukkan antarmuka aplikasi, yang menyediakan kolom

untuk input nomor kartu kredit. Langkah validasi dan hasilnya akan ditampilkan

pada bagian bawah kolom input tersebut. Bagian kanan bawah form terdapat

fungsi untuk enkripsi dan dekripsi nomor kartu kredit. Hasil dekripsi ditunjukkan

pada Gambar 9. Gambar 10 menunjukkan tampilan antarmuka untuk hasil validasi

nomor kartu kredit yang tidak valid.

Page 10: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

10

Gambar 10 Validasi Nomor Kartu Kredit Invalid

Kode Program 1 Perintah database

1. var list = new List<Pemilik>(); 2 using (var connection = new SQLiteConnection(ConnectionString))

Kode Program 1 merupakan perintah pemanggilan data yang sudah

tersimpan di dalam database.

Kode Program 2 Perintah Validasi

1. for (int i = x.Length - 2; i >= 0; i -= 2)

2. {

3. step2[i] = step1[i] * 2;

4. }

5. for (int i = x.Length - 2; i >= 0; i--)

6. {

7. step3[i] = step2[i] - 9;

8. }

9. int sumOfDigit = step2.Sum();

10. var multiplyBy9 = sumOfDigit * 9;

11. var lastDigit = multiplyBy9 % 10;

Kode Program 2 merupakan perintah untuk validasi. Perintah pada baris 1-

baris 4 merupakan bagian dari validasi nomor kartu kredit, yaitu menggandakan

tiap 2 angka. Proses penggandaan angka dilakukan dengan perintah perulangan,

dimulai dari posisi angka paling kanan. Angka yang ditemukan, dikalikan dengan

angka 2. Kemudian posisi dipindah 2 langkah ke kiri, dan pada angka yang

ditemukan, dikalikan dengan angka 2. Proses ini dilakukan sampai posisi angka

paling kiri (depan). Perintah pada baris 5 – baris 9 merupakan perintah yang

merupakan bagian dari validasi nomor kartu kredit, yaitu menghitung sum of

digits. Proses penjumlahan dilakukan dengan menggunakan perulangan.

Perulangan dilakukan pada tiap 2 angka dimulai dari posisi paling kanan. Jika

angka tersebut bernilai lebih dari 9, maka dilakukan proses pengurangan dengan

Page 11: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

11

angka 9, sehingga digit yang memiliki nilai lebih dari 9 akan menjadi digit

bernilai di bawah 9. Perintah pada baris 10 – baris 11, sum of digit dikalikan

dengan 9, kemudian di-modulo dengan angka 10 untuk mendapatkan digit paling

belakang (lastDigit). Nilai dari lastDigit ini kemudian dibandingkan

dengan nilai digit paling kanan dari nomor kartu kredit, jika hasilnya sama maka

nomor tersebut valid.

Pengujian 1 dilakukan untuk mengetahui apakah aplikasi yang dibuat

berhasil melakukan validasi terhadap beberapa contoh nomor kartu kredit yang

valid. Nomor kartu kredit pada pengujian ini diperoleh dari paypalobject.com.

Nomor kartu kredit yang diujikan adalah 15 nomor valid, terbagi ke dalam 8 jenis

yaitu American Express, American Express Corporate, Diners Club, Discover,

JCB, MasterCard, dan Visa. Pengujian 1 memberikan hasil bahwa aplikasi

berhasil melakukan validasi. Hasil pengujian 1 ditunjukkan pada Tabel 1.

Tabel 1 Hasil Pengujian Nomor Kartu Kredit Valid

No Jenis Kartu Kredit

Nomor Kartu

Kredit

Check

Digit

Last

Digit

Hasil

Pengujian

1 American Express 378282246310005 5 495 5=5 valid

2 American Express 371449635398431 1 711 1=1 valid

3 American Express

Corporate 378734493671000 0 540 0=0 valid

4 Australian

BankCard 5610591081018250 0 360 0=0 valid

5 Diners Club 30569309025904 4 414 4=4 valid

6 Diners Club 38520000023237 7 297 7=7 valid

7 Discover 6011111111111117 7 207 7=7 valid

8 Discover 6011000990139424 4 414 4=4 valid

9 JCB 3530111333300000 0 360 0=0 valid

10 JCB 3566002020360505 5 405 5=5 valid

11 MasterCard 5555555555554444 4 504 4=4 valid

12 MasterCard 5105105105105100 0 180 0=0 valid

13 Visa 4111111111111111 1 261 1=1 valid

14 Visa 4012888888881881 1 801 1=1 valid

15 Visa 4222222222222 2 342 2=2 valid

Hasil pengujian 1 menunjukkan nomor kartu kredit yang valid, sebagai

contoh jenis kartu kredit yaitu American Express dengan nomor kartu kredit

378282246310005 yang tersedia pada kartu kredit. Angka pada Last Digit

dihasilkan dari perhitungan menggunakan algoritma LUHN, kemudian hasil

tersebut dimodulus dengan 10 yang terdapat pada perhitungan algoritma LUHN,

jika hasil Last Digit sama dengan Chek Digit maka nomor kartu valid. Angka

pada Chek Digit didapat dari nomor kartu kredit yang terletak paling kanan.

Pengujian 2 dilakukan terhadap beberapa nomor kartu kredit yang tidak valid.

Nomor kartu kredit yang diujikan terdiri dari 15 nomor, terbagi ke dalam 8 jenis,

sama seperti pada pengujian 1. Hasil pengujian 2 ditunjukkan pada Tabel 2.

Page 12: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

12

Tabel 2 Hasil Pengujian Nomor Kartu Kredit Tidak Valid

No Jenis Kartu Kredit

Nomor Kartu

Kredit

Check

Digit

Last

Digit

Hasil

Pengujian

1 American Express 378282246310001 1 495

1<>5 tidak

valid

2 American Express 371449635398432 2 711

2<>1 tidak

valid

3 American Express

Corporate 378734493671003 3 540

3<>0 tidak

valid

4 Australian

BankCard 5610591081018254 4 360

4<>0 tidak

valid

5 Diners Club 30569309025905 5 414

5<>4 tidak

valid

6 Diners Club 38520000023236 6 297

6<>7 tidak

valid

7 Discover 6011111111111110 0 207

0<>7 tidak

valid

8 Discover 6011000990139420 0 414

0<>4 tidak

valid

9 JCB 3530111333300001 1 360

1<>0 tidak

valid

10 JCB 3566002020360500 0 405

0<>5 tidak

valid

11 MasterCard 5555555555554440 0 504

0<>4 tidak

valid

12 MasterCard 5105105105105101 1 180

1<>0 tidak

valid

13 Visa 4111111111111110 0 261

0<>1 tidak

valid

14 Visa 4012888888881880 0 801

0<>1 tidak

valid

15 Visa 4222222222226 6 342

6<>2 tidak

valid

Pengujian 2 memiliki hasil yang berbeda dengan penelitian pertama

contoh jenis kartu kredit yaitu American Express dengan nomor kartu kredit

378282246310001 yang tersedia pada kartu kredit. Angka pada Last Digit

dihasilkan dari perhitungan menggunakan algoritma LUHN, kemudian hasil

tersebut dimodulus dengan 10 yang terdapat pada perhitungan algoritma LUHN ,

jika hasil Last Digit tidak sama dengan Chek Digit maka nomor kartu tidak valid.

Berdasarkan hasil pengujian 1 dan pengujian 2, disimpulkan bahwa aplikasi yang

dibuat telah berhasil melakukan validasi terhadap nomor kartu kredit.

Pengujian 3 dilakukan untuk mengetahui pengaruh panjang kunci terhadap

waktu proses enkripsi dan dekripsi. Kunci yang digunakan pada AES adalah 128

bit (16 karakter). Pada pengujian ini dimasukkan kunci antara 1 sampai dengan 16

kemudian dicatat perbedaan waktu proses enkripsi dan dekripsi.

Page 13: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

13

Tabel 3 Hasil Pengujian Nomor Kartu Kredit Valid No Panjang Kunci

(byte)

Waktu Enkripsi

(milidetik)

Waktu Dekripsi

(milidetik)

1 1 0.93 0.94

2 2 0.94 0.94

3 3 0.91 0.96

4 4 1.00 0.98

5 5 0.92 0.96

6 6 0.96 0.92

7 7 0.91 0.99

8 8 0.92 0.90

9 9 0.94 0.92

10 10 0.95 0.93

11 11 0.95 0.93

12 12 0.99 0.97

13 13 0.99 0.95

14 14 0.99 0.95

15 15 0.99 0.91

16 16 0.96 0.96

Berdasarkan hasil pengujian 3, maka disimpulkan bahwa panjang kunci

mempengaruhi proses enkripsi dan dekripsi. Kunci kurang dari 16 byte, akan

diulang oleh AES sehingga menjadi 16 byte. Sebagai contoh kunci "abcde" (5

karakter) akan diulang menjadi "abcdeabcdeabcdea" (16 karakter), sebelum

digunakan pada proses enkripsi maupun dekripsi.

5. Simpulan

Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka

dapat diambil kesimpulan sebagai berikut: (1) Penggunaan AES menunjukkan

panjang kunci mempengaruhi waktu proses enkripsi dan dekripsi, dengan kata lain

berapapun panjang kunci, akan dimodifikasi menjadi panjang 16 byte; (2) Validasi

kartu kredit menggunakan algoritma Luhn menunjukkan hasil yang valid yaitu

dengan logika pengujian check digit dan last digit. Dengan kata lain, (3) Aplikasi

untuk menguji validitas nomor kartu kredit dapat memanfaatkan algoritma Luhn;

(4) Aplikasi dapat melakukan validasi terhadap 8 jenis kartu kredit; (5) Hasil

pengujian juga menunjukkan waktu yang diperlukan dalam proses validasi

berkisar di bawah satu detik, atau mencapai 0.99 milidetik. Adapun saran

pengembangan yang dapat diberikan untuk penelitian selanjutnya adalah validasi

nomor kartu kredit dengan menggunakan algoritma Luhn dapat

diimplementasikan pada web e-commerce.

Page 14: Implementasi Algoritma Luhnpada Aplikasi Validasi Smart Card...teknik kriptografi algoritma AES. Penelitian yang dilakukan membahas tentang validasi nomor kartu kredit. Pada sistem

14

6. Daftar Pustaka

[1]. Dal Pozzolo, A., Caelen, O., Le Borgne, Y.-A., Waterschoot, S. &

Bontempi, G. 2014. Learned lessons in credit card fraud detection from a

practitioner perspective. Expert Systems with Applications 41, 4915–4928.

[2]. Chen, Y. & Chou, J.-S. 2014. ID-Based Certificateless Electronic Cash on

Smart Card against Identity Theft and Financial Card Fraud. In The

International Conference on Digital Security and Forensics

(DigitalSec2014), pp. 56–67.

[3]. Duvey, A. A., Goyal, D. & Hemrajani, D. N. 2013. A Reliable ATM

Protocol and Comparative Analysis on Various Parameters with Other

ATM Protocols. International Journal of Communication and Computer

Technologies 1.

[4]. Ellson, R. N. & Ray, L. A. 1994. Method and apparatus for credit card

verification. U.S. Patent No. 5,321,751

[5]. Chambers, J., Robison, T., Dorsner, D., Manickam, S. & Konisky, D. 2012.

Luhn validation and data security across multiple active domains. U.S.

Patent Application 13/527,852

[6]. Rankl, W. & Effing, W. 2010. Smart card handbook. John Wiley & Sons.

[7]. Halim, S. A. 2007. Pembangkitan Nomor Kartu Kredit dan Pengecekannya

Dengan Menggunakan Algoritma Luhn. Program Studi Teknik Informatika

Institut Teknologi Bandung

[8]. Hussein, K. W., Fazlida, N. & Sani, M. 2013. Enhance Luhn Algorithm for

Validation of Credit Cards Numbers. Journal of Computer Science and

Information Technology 2, 262–272.

[9]. Danielyan, E. 2001. Goodbye DES, Welcome AES. Cisco The Internet

Protocol Journal 4, 15–21.

[10]. Munir, R. 2011. Advanced Encryption Standard (AES). Departemen Teknik

Informatika Institut Teknologi Bandung