• Tidak ada hasil yang ditemukan

Sistem Prabayar Pengisian Bahan Bakar Minyak Menggunakan Token atau QR Code denganAlgoritma Kriptografi Hibrid

Dalam dokumen prosiding semantik 2015 . pdf (Halaman 166-172)

Agariadne Dwinggo Samala *), Ratna Aisuwarya **), Ratna Aisuwarya ***)

Sistem Komputer, Universitas Andalas

E-Mail: * [email protected], ** [email protected], *** [email protected] Abstrak

Penelitian ini bertujuan untuk merancang sistem prabayar pengisian bahan bakar minyak menggunakan kode token atau QR code dengan algoritma kriptografi hibrid, yaitu algoritma RSA dan tranposisi. Pengguna kendaraan dapat melakukan pengisian bahan bakar dengan menginputkan 20 digit kode token melalui keypad atau menggunakan QR code melalui WebCam. Jarak pembacaan QR code dari WebCam adalah 5 hingga 15 cm. Sistem pengisian akan aktif jika kunci rahasia pada kode token atau QR code sama dengan kunci rahasia yang dimiliki oleh sistem. Keluaran jumlah liter bahan bakar berdasarkan nilai rupiah yang terdapat pada kode token atau QR code. Penerapan algoritma kriptografi hibrid pada enkripsi dan dekripsi kode token berhasil bekerja dengan baik. Error keluaran jumlah liter saat pengisian berkisar antara 2,11 % hingga 5,18% dengan error rata-rata secara keseluruhan adalah 3,80%. Kata kunci: Token, QR Code, Algoritma Kriptografi Hibrid, Sensor Waterflow

1.

PENDAHULUAN

Sistem pembayaran pada pengisian bahan bakar kendaraan di Indonesia saat ini masih menggunakan pembayaran tunai kepada petugas. Petugas yang melakukan pengisian dan menjadi kasir pembayaran membutuhkan waktu cukup lama untuk pengembalian uang, sehingga ada jeda waktu dari saat pengembalian uang dan pengisian bahan bakar pengguna kendaraan berikutnya[1]. Selain itu, kecurangan beberapa petugas kerap terjadi seperti pengisian bahan bakar yang tidak pas[2], penjualan bahan bakar kepada pedagang eceran, sehingga terjadi kelangkaan bahan bakar[3].

Di negara maju seperti Amerika Serikat dan Eropa, telah menerapkan sistem pembayaran menggunakan mesin transaksi otomatis, dan pengisian bahan bakar dapat dilakukan sendiri oleh pengguna sehingga mempercepat waktu transaksi[4]. Sistem pengisian bahan bakar di Jepang, tempat pengisian bahan bakar tidak lagi dijaga pertugas. Pengguna melakukan pembayaran dengan memasukan uang tunai kedalam mesin pembayaran atau dengan kartu kredit, kemudian pengguna memilih jumlah liter pada menu pilihan dan pengisian dilakukan sendiri oleh pengguna[5].

Penelitian terdahulu telah mencoba membuat sistem pengisian bahan bakar menggunakan sensor waterflow. Pada penelitian tersebut sistem pengisian bahan bakar masih dilakukan oleh petugas melalui input volume dan harga melalui keypad[6]. Untuk mengembangkan sistem yang telah dibuat sebelumnya, dibutuhkan sebuah sistem pengisian bahan bakar yang dapat dilakukan sendiri oleh pengguna menggunakan token. Token berupa sederetan angka acak yang dicetak dalam bentuk kertas beserta QR Code (Quick Responde Code). Sistem pengisian akan mengalirkan bahan bakar sesuai dengan ketentuan jumlah liter pada token yang digunakan, seperti PLN (Perusahaan ListrikNegara) yang telah menerapkan sistem prabayar listrik menggunakan token yang dibeli melalui outlet token pulsa[7].

Penggunaan token rentan terhadap serangan keamanan, untuk itu kriptografi digunakan untuk menjaga keamanan data. Sistem ini menggunakan kriptografi hibrid yaitu gabungan kriptografi simetri dan kriptografi asimetri (hybrid cryptosystem). Kriptografi hibrid melakukan enkripsi secara berlapis. Hal ini secara teori akan membuat pemecahannya menjadi semakin kompleks. Token generator berbasis PC mengenkripsi

142

Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015 Id paper: SM095

token menggunakan kriptografi hibrid yaitu algoritma RSA dan algoritma Transposition.

2.

LANDASAN TEORI

2.1.

Sistem Pembelian dan Pembayaran Bahan Bakar Kendaraan

Di Indonesia sistem pembayaran pada pengisian bahan bakar kendaraan masih menggunakan pembayaran berupa uang tunai. Pengguna kendaraan melakukan antrian untuk giliran pengisian dan pembayaran tunai. Transaksi pembayaran dan pengisian dilakukan secara full service atau dilayani penuh oleh petugas. Petugas menjadi kasir saat transaksi pembayaran dilakukan, dan petugas yang melakukan pengisian bahan bakar pada setiap kendaraan.

Berbeda dengan di negara maju seperti Amerika Serikat, Eropa, sistem pembayaran menggunakan mesin pembayaran otomatis dan pelayanan pengisian bahan bakar dilakukan secara self-service. Dimana tempat pengisian bahan bakar tidak lagi dijaga petugas, dan pengguna kendaraan dapat melakukan pengisian sendiri menggunakan voucher. Sistem prabayar voucher dan self service ini meningkatkan pendapatan perusahaan, menghemat biaya pengeluaran gaji petugas, dan meningkatkan efisiensi waktu saat transaksi[4].

2.2.

Algoritma Kriptografi Hibrid

Algoritma kriptografi hibrid (hybrid cryptosystem) merupakan gabungan antara kriptografi simetris dan kriptografi asimetris. Permasalahan yang menarik pada bidang keamanan informasi adalah adanya trade off antara kecepatan dengan kenyamanan. Salah satu contohnya adalah bidang kriptografi. Tetapi hal ini dapat diatasi dengan penggunaan kriptografi hibrid. Kriptografi hibrid sering dipakai karena memanfaatkan keunggulan kecepatan pemrosesan data oleh algoritma kriptrografi simetrik dan kemudahan transfer kunci menggunakan algoritma kriptografi asimetrik. Hal ini mengakibatkan peningkatan kecepatan tanpa mengurangi kenyamanan serta keamanan[5]

2.3.

Algoritma RSA

Algoritma RSA (Rivest-Shamir- Adleman)adalah sebuah algoritma berdasarkan skema public-key cryptography, diperkenalkan oleh tiga peneliti MIT (Massachussets Institute of Technology),

yaitu (R)on Rivest, Adi (S)hamir dan Len (A)dleman [13]. Algoritma RSA merupakan teknik kriptografi dengan memanfaatkan dua bilangan prima[8].

Dari kedua bilangan prima tersebut dapat diperoleh kunci enkripsi dan kunci dekripsi, kunci enkripsi tidak dirahasiakan dan diketahui umum (public key), namun kunci untuk dekripsi bersifat rahasia (private key).

Kunci dekripsi dibangkitkan dari beberapa buah bilangan prima bersama-sama dengan kunci enkripsi. Untuk menemukan kunci dekripsi, maka harus memfaktorkan suatu bilangan non prima menjadi faktor primanya. Kenyataannya, memfaktorkan suatu bilangan non prima menjadi faktor prima bukanlah pekerjaan yang mudah. Belum ada algoritma yang efisien ditemukan untuk pemfaktoran itu. Semakin besar bilangan non-primanya tentu semakin sulit

pemfaktorannya. Semakin sulit

pemfaktorannya, maka semakin kuat algoritma RSA tersebut[9].

Algoritma RSA terdiri dari tiga tahap, yaitu pembangkitan pasangan kunci, enkripsi dan dekripsi[8]:

1. Pembangkitan pasangan kunci

Langkah-langkah untuk melakukan pembangkitan pasangan kunci adalah sebagai berikut:

a.

Pilih p dan q, adalah bilangan prima dan p ≠ q

b.

Hitung pembagi modolus

c.

Hitung )

d.

Pilih kunci publik (public key), yaitu e, yang relatif prima terhadap m dan gunakan extended euclidean algorithm untuk mencari nilai e yang memenuhi gcd (e, m) = 1.

e.

Hitung kunci private (private key), yaitu d dengan persamaan

Atau menggunakan persamaan

(1) sehingga d dapat dihitung dengan cara yang sederhana dengan persamaan berikut:

e

km

d

1

(2) Dengan nilai k adalah (0, 1, 2, 3 , ..)

Hasil dari pembangkitan kunci adalah kunci 142ublic (e, n) dan kunci privat (d, n).

2. Enkripsi

Proses enkripsi dilakukan dengan menggunakan persamaan sebagai berikut:

a. Ambil kunci e dan modulus n

b. Nyatakan pesan menjadi blok-blok plaintext: r1, r2, r3,… sedemikian

sehingga setiap blok

mempresentasikan nilai di dalam selang himpunan [0, n – 1]

c. Setiap blok ridienkripsi menjadi blok

ci dengan rumus

3. Deskripsi

Proses dekripsi dilakukan menggunakan persamaan berikut:

(3) Dalam implementasi yang sebenarnya, nilai p dan q disarankan nilai yang sangat besar (100 angka) agar memfaktorkan n menjadi faktor primanya menjadi sangat sukar bahkan hampir tidak mungkin dapat dilakukan. Kekuatan algoritma RSA itu bergantung pada tingkat kesulitan memfaktor n menjadi dua bilangan prima[8].

2.4.

Algoritma Transposisi

Cara kerja algoritma ini ialah dengan mengubah susunan atau urutan karakter- karakter pada pesan. Pada umumnya hal ini dilakukan dengan cara menuliskan plaintext dengan pola tertentu, kemudian dibaca menggunakan pola atau aturan yang berbeda sehingga dihasilkan suatu ciphertext[11]. Algoritma ini melakukan transpose terhadap rangkaian karakter di dalam teks.

Salah satu metode algoritma transposisi yaitu metode transposisi kolom (Columnar Transpositon), dimana plaintextdijadikan dalam beberapa baris, kemudian chipertext diperoleh dengan cara membacanya kolom per kolom (karakter)[12].

Langkah-langkah untuk melakukan Columnar Tranposition adalah sebagai berikut[9]

a. Hitung panjang karakter p

b. Pilih nilai k, k adalah bilangat bulat positif, dimana k ≠ 0 dan k < p, k merupakan private key untuk enkripsi dan deskripsi

c. Hitung nilai kolom x = p div k dan baris y = k, dimana p mod k = 0

2.5.

Quick Response Code (QR)

Quick Response Code merupakan gambar dua dimensi yang memiliki kemampuan untuk menyimpan data[13]. QR Code biasa digunakan untuk menyimpan data berupa teks, baik itu numerik, alfanumerik, maupun kode biner.

2.6.

Sensor Waterflow

Sensor aliran air (waterflow) terdiri dari tubuh plastik katup, rotor air, dan sensor hall- effect[14]. Ketika air mengalir melalui rotor, rotor akan berputar. Perubahan kecepatan putaran motor bergantung pada kecepatan aliran air.

3.

METODE

Pada gambar di bawah dapat dilihat blok diagram dari sistem yang dibuat:

Gambar 1. Blok Diagram Sistem

Kondisi awal pompa dalam keadaan tidak aktif, kemudian input dapat dilakukan melalui Webcam atau Keypad dengan interface user berupa LCD, kode token yang diinputkan akan diproses oleh mikrokontroler, jika kunci kode token sama dengan kunci sistem, maka sistem akan aktif mengeluarkan bensin sesuai dengan jenis kode token yang digunakan, untuk menghitung jumlah keluaran aliran digunakan sensor waterflow, dan buzzer sebagai indikator saat sistem berjalan.

4.

HASIL DAN PEMBAHASAN

4.1 Pengujian QR Code Menggunakan WebCam

Pada pengujian scan QR Code menggunakan WebCam dilakukan 13 kali pengujian dengan posisi QR Code yang berbeda-beda seperti pada Tabel.1.

144

Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015 Id paper: SM095

Tabel.1 Pengujian Perhitungan Jarak Antar Dua Lokasi

No QR Code Token Ket.

1

Posisi : Atas kiri

32766 88307 42265 79842

Terbaca

2

Posisi : Atas kanan

31350 04555 71788 05727 Terbaca 3 Posisi : Tengah 38350 87955 46781 02627 Terbaca 4

Posisi : Bawah kiri

49656 36065 37643 70123

Terbaca

5

Posisi : Bawah kanan

80644 07517 21870 01230 Terbaca 6 Posisi : 4 cm dari WebCam Tidak Terbaca 7 Posisi : 5 cm dari WebCam 91164 71747 50414 34932 Terbaca 8 Posisi : 10 cm dari WebCam 49656 36065 37643 70123 Terbaca 9 Posisi : 15 cm dari WebCam 56006 86676 97061 67824 Terbaca 10 Posisi : 16 cm dari WebCam Tidak Terbaca 11 Posisi : Rotasi 90o 29160 75947 45413 84832 Terbaca 12 Posisi : Rotasi 180o 56006 86676 97061 67824 Terbaca 13 Posisi : Rotasi 45o 97000 37876 58062 42024 Terbaca

4.2.Pengujian Pembangkitan Kode Token Data waktu sangat berperan dalam menghasilkan kode token yang berbeda setiap kali kode token. berikut dilakukan pembangkitan kode token pada waktu yang berbeda seperti yang terlihat pada Tabel.2.

Tabel.2 Pengujian Pembangkitan Kode Token

No Rp Tanggal Waktu Token

1 5000 13-05-2015 01:59:32 335326968720073 25034 2 5000 13-05-2015 01:59:34 395317142710200 24226 3 5000 13-05-2015 01:59:35 234434183833532 28305 4 5000 13-05-2015 01:59:36 748790631053046 12497 5 5000 13-05-2015 01:59:37 568595262812426 68876 6 5000 13-05-2015 01:59:38 535853844303515 31414 7 5000 13-05-2015 01:59:40 081884119634463 01928 8 5000 13-05-2015 01:59:41 135609231401115 89106 9 5000 13-05-2015 01:59:42 865333458721073 68834 10 5000 13-05-2015 01:59:43 994614687030777 93487

4.3.Pengujian Dekripsi Token Pada Arduino Uno

Tabel.3 Pengujian Dekripsi Kode Token No Token Sebelum Dekripsi Token Setelah Dekripsi Kunci Ket 1 3153609627342 0786826 1913419019809 4192420 22893 Benar 2 4253324987700 7517234 2713219027819 2272220 22893 Benar 3 3153749627342 0386826 1913419019839 4192420 22893 Benar 4 6785765428514 2580376 3213719032829 7322720 22893 Benar 5 2344751838335 3588305 5013519050829 5502520 22893 Benar 6 5065492203616 2365870 7413919074839 9742920 22893 Benar 7 2653457487550 7294134 3713219037849 2372220 22893 Benar 8 3285118328424 2771176 6213719062849 7622720 22893 Benar 9 9065906903206 2034570 2413919024859 9242920 22893 Benar 10 0318935196944 6503228 4513019045859 0452020 22893 Benar

Setelah dilakukan 10 kali penginputan kode token yang dihasilkan dari aplikasi token generator melalui keypad, didapatkan presentase keberhasilan 100% dimana semua token berhasil didekripsikan dengan benar dengan kunci rahasia yang sama dengan token decryptor seperti yang terlihat pada Tabel. 3.

Tabel.4 Keluaran Jumlah Liter Bensin Kode Token Rp 5.000 No Jumlah liter terbaca sensor waterflow (ml) Jumla h liter seharu snya (ml) Juml ah liter denga n gelas ukur (ml) Selisih gelas ukur (ml) Error 1 475,08 685 690 5 0,73 % 2 461,76 685 670 15 2,19 % 3 463,98 685 675 10 1,46 % 4 446,19 685 650 35 5,11 % 5 455,07 685 660 25 3,65 % 6 462,77 685 670 15 2,19 % 7 477,13 685 690 5 0,73 % 8 476,51 685 690 5 0,73 % 9 448,20 685 650 35 5,11 % 10 460,28 685 660 25 3,65 % Total 6705 175 25,55 % Rata-rata 670,5 17,5 2,55 %

Dari Tabel. 4 didapatkan rata-rata error saat pengisian untuk kode token Rp. 5.000 sebesar 2,55 %.

4.5.Pendugaan Parameter

Dari 10 pengujian yang dilakukan untuk masing-masing nilai rupiah diperoleh hasil yang bervariasi atau beragam, maka dapat dihitung selang kepercayaan rata-rata keluaran jumlah liter berdasarkan nilai rupiah tertentu menggunakan rumus selang kepercayaan[36].

.

̅ ̅ (4)

Dengan ̅ adalah rata-rata, s adalah simpangan baku, t adalah nilai statistika uji untuk n-1, µ adalah nilai interval dugaan dan n adalah banyak sampel.

Pada sistem ini diyakini 95 % selang kepercayaan bahwa rata-rata keluaran bahan bakar berdasarkan nilai rupiah berikut: Rp. 5.000 berada pada interval 659,28 ml <µ< 681,72 ml

Rp. 10.000 berada pada interval 1405,2 ml <µ< 1479 ml

Rp. 15.000 berada pada interval 2094,67 ml <µ< 2169,33 ml

Rp. 20.000 berada pada interval 2825 ml <µ< 2939 ml

Gambar 2. Presentase kesalahan output

Sistem memiliki error keluaran jumlah liter bahan bakar berdasarkan nilai rupiah dengan rata-rata error sebesar 3,80 % seperti yang terlihat pada Tabel 5 berikut

Tabel.5 Rata-Rata Error Keluaran Sistem

No Nilai Rupiah Presentase Error Keluaran Sistem (%) 1 Rp. 5.000 2,55 % 2 Rp. 10.000 3,71 % 3 Rp. 15.000 3,74 % 4 Rp. 20.000 5,18 % Rata-Rata 3,80 %

146

Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015 Id paper: SM095

5.

KESIMPULAN

Berdasarkan penelitian yang telah dilakukan maka dapat diambil kesimpulan sebagai berikut:

1. Sistem prabayar pengisian bahan bakar menggunakan token atau QR code berbasis mikrokontroler telah berhasil dibuat dengan menerapkan algoritma kriptografi hibrid yang dapat mengenkripsi dan mendekripsikan kode token dengan kunci rahasia.

2. Kode token yang dibangkitkan adalah 20 digit angka yang berbeda dan unik selama waktu pembangkitan dilakukan pada waktu yang berbeda.

3. Jarak efektif untuk pembacaan QR Code adalah jarak minimal 5 cm sampai dengan jarak maksimal 15 cm.

4. Presentase rata-rata error keluaran jumlah liter sistem secara keseluruhan berkisar antara 2,11 % - 5,18 %, dengan rata-rata error keluaran sistem adalah 3,80 %.

5. Presentase keberhasilan sistem berdasarkan selang kepercayaan secara keseluruhan adalah 95%.

6. Pada algoritma RSA memfaktorkan suatu bilangan non prima menjadi faktor prima semakin sulit dilakukan jika nilai n semakin besar, nilai n ditentukan dari perkalian dua bilangan prima p dan q.

6.

DAFTAR PUSTAKA

[1] Susanto, Heri. 2010. Apa Beda SPBU Pertamina dengan Shell. URL: http://bisnis.news.viva.co.id/news/read/1 93389-apa-beda-spbu-pertamina-

dengan-shell. Diakses tanggal 30 Maret 2015.

[2] Tribunjakarta. 2014. Hati-hati SPBU Nakal Kurangi Takaran. URL: http://www.tribunnews.com/metropolita n/2014/04/21/hati-hati-spbu-nakal- kurangi-takaran. Diakses tanggal 30 Maret 2015.

[3] Aktual. 2015. Pertamina Diminta Tindak tegas Petugas SPBU Nakal. URL:

http://www.aktual.co/energi/pertamina- diminta-tindak-tegas-petugas-spbu- nakal. Diakses tanggal 30 Maret 2015. [4] Hamaker, Sarah. 2011. Self-Serve

Evolution. URL:

http://www.nacsonline.com/Magazine/P astIssues/2011/October2011/Pages/Feat ure8.aspx. Diakses tanggal 27 Februari 2015.

[5] URL: www.hkd.mlit.go.jp, Tanpa Tahun. How to use gas stations. Diakses tanggal 30 Maret 2015.

[6] Mesya, A.A. 2015. Rancang Bangun Sistem Kontrol Pengisian Bahan Bakar Kios Eceran Berbasis Sensor Waterflow Dengan Metode Kendali PID. Skripsi S-

1 “tidak diterbitkan. Fakultas Teknologi

Informasi Universitas Andalas.

[7] PLN. 2011. Listrik Pintar. URL: http://www.pln.co.id/blog/listrik-

prabayar. Diakses tanggal 27 Februari 2015.

[8] Chandra, Wico. 2010. Kriptografi dan Algoritma RSA. Sekolah Teknik Elektro dan InformatikaITB. Bandung.

[9] Stallings, William. 2011.Cryptography and Network Principle & Practice. Fitfh Editon. New Jersey: Prentice Hall. [10]Munir, Rinaldi. 2006. Kriptografi.

Bandung: Informatika

[11]Fauziah, Yuli. 2008. Pengamanan Pesan dalam Editor TeksMenggunakan Hybridcryptosystem. UPN Veteran Yoyakarta.

[12] Wahana Komputer. 2010. The Best Encryption Tools. Jakarta: PT Elex Media Komputindo.

13] Nugraha, M.P, Munir, Rinaldi. 2011. Pengembangan Aplikasi QR Code Generator danQR Code Reader dari Data Berbentuk Image. ITB. Bandung. [14] Hobbytronics, Tanpa Tahun. Hall Effect

Water Flow Meter / Sensor. URL: http://www.hobbytronics.co.uk/yf-s201- water-flow-meter. Diakses tanggal 13 Mei 2015.

Pencarian Rute Oleh Non Player Character Menggunakan

Dalam dokumen prosiding semantik 2015 . pdf (Halaman 166-172)

Garis besar

Dokumen terkait