Anda di halaman 1dari 26

PENGEMBANGAN AUTHENTIFIKASI QR CODE MENGGUNAKAN ALGORITMA

RSA PADA APLIKASI DELIVERY ORDER MAKANAN BERBASIS ANDROID


1
Ahmat Yavi Yulian (13 1065 1133), 2Victor Wahanggara, S.Kom., M.Kom,
1
ahmatyaviyulian82@gmail.com

Universitas Muhammadiyah Jember


Jln. Karimata No. 49, Telp (0331) 336728, Jember

ABSTRAK

Pengiriman makanan (delivery order) merupakan salah satu layanan makanan siap saji
yang popular. Selain mempermudah konsumen dalam mendapatkan makanan, layanan ini
juga membantu meningkatkan penjualan bagi perusahaan (rumah makan). Kebanyakan
masyarakat modern saat ini cenderung lebih menyukai memesan makanan untuk diantar
kerumah dan menikmatinya di rumah. Kabupaten Jember adalah salah satu kota yang
memiliki banyak rumah makan jenis apapun, semua rumah makan dikota ini bersaing dalam
menghidangkan makanan dan segi pelayanan. Pemberian sandi untuk pengaman data berupa
QR Code yang telah terenkripsi adalah hal yang paling ampuh dalam mengatasi Penggandaan
pesanan atau yang dimaksud order fiktif oleh karena itu konsumen, driver atau pelapak dapat
melakukan proses jual beli secara real dan terpantau. Dengan menggunakan sebuah ponsel
yang memiliki sistem operasi dan dapat mengakses internet, metode transaksi yang
digunakan nantinya adalah dengan memanfaatkan kode batang Qr Code dengan enkripsi
algoritma RSA. Jadi, data berupa pesanan konsumen nantinya akan dienkripsi otomatis oleh
sistem dan digenerate ke dalam Qr Code. Hasil dari penelitian ini berupa kode batang Qr
Code konsumen terenkripsi, sehingga dalam proses transaksi kurir pengantar menscan
langsung Qr Code konsumen jika asli sistem akan otomatis memberikan status terbayar,
namun jika palsu status akan tetap sehingga kurir akan dapat mengetahui dengan aplikasi
scanning khusus yang dimilikinya.

Kata Kunci : Qr Code, algoritma RSA, kriptografi, Delivery Order.

1.1 Latar Belakang masyarakat modern saat ini cenderung


Pengiriman makanan (delivery lebih menyukai memesan makanan untuk
order) merupakan salah satu layanan diantar kerumah dan menikmatinya di
makanan siap saji yang popular. Selain rumah. Kabupaten Jember adalah salah
mempermudah konsumen dalam satu kota yang memiliki banyak rumah
mendapatkan makanan, layanan ini juga makan jenis apapun, semua rumah makan
membantu meningkatkan penjualan bagi dikota ini bersaing dalam menghidangkan
perusahaan (rumah makan). Kebanyakan makanan dan segi pelayanan.
Menurut data pada tahun 2014, pulau untuk mendukung tugas akhir dengan
jawa dan bali memiliki kontribusi lebih judul “Pengembangan Authentifikasi Qr
dari 73, 6 persen dari total jumlah restoran Code Menggunakan Algoritma RSA
dan rumah makan di Indonesia. Pada Aplikasi Delivery Order Makanan
Peningkatan jumlah rumah makan Berbasis Android” .
membuat persaingan antar rumah makan Pada penelitian sebelumnya
menjadi semakin ketat, sehingga masing- menggunakan algoritma vigenere untuk
masing rumah makan berusaha untuk proses pengamannya yaitu menggunakan
meningkatkan kualitas pelayanan. Salah kunci simetris (one key) yang sangat
satu usaha yang dilakukan yakni dengan mudah untuk di pecahkan dengan
menyediakan jasa delivery order. Jasa menggunakan brute force, maka dari itu
delivery order ditawarkan sejumlah rumah digunakan algoritma yang lebih aman
makan, dengan cara melakukan pemesanan yaitu menggunakan algoritma RSA yang
melalui ponsel. Seiring dengan menggunakan kunci asimetris (kunci
berkembangnya teknologi informasi, privat dan publik).
beberapa rumah makan ternama 1.2 Rumusan Masalah
menyediakan aplikasi-aplikasi mobile Berdasarkan latar belakang yang
untuk mempermudah melakukan diuraikan sebelumnya, terdapat beberapa
pemesanan makanan secara online permasalahan yang akan diangkat dalam
(Firmansyah, 2014). penelitian ini, antara lain :
Meskipun delivery Order merupakan 1. Bagaimana menerapkan algoritma
penyedia layanan yang memberikan RSA pada Qr Code pemesanan ?
kemudahan dalam melakukan komunikasi 2. Bagaimana pengujian aplikasi
pemesanan, namun dalam kenyataannya delivery order makanan
masih banyak terdapat kendala, yaitu menggunakan algoritma RSA pada
masih adanya salah kirim pesanan atau authentifikasi Qr code berbasis
ketidaksesuaian pesanan konsumen bisa android?
dikarenakan informasi yang salah atau
duplikasi data informasi itu sendiri
sehingga tentu akan berdampak kerugian 1.3 Batasan Masalah
bagi kedua belah pihak, hal ini tentunya Agar tidak menyimpang jauh dari
dapat menimbulkan kerugian bagi kedua permasalahan, maka penelitian ini
belah pihak, baik konsumen maupun jasa mempunyai batasan masalah sebagai
delivery order. berikut :
Berdasarkan latar belakang masalah 1. Area rumah makanan yang
tersebut, maka akan dibuat suatu aplikasi digunakan masih sekitar kabupaten
berbasis mobile android, pada delivery Jember (khususnya area kota).
order makanan, dengan memanfatkan 2. Makanan dan minuman memiliki
perangkat android yang terintegrasi kode minimum order dari setiap rumah
batang QR Code dan nantinya akan makan.
diekripsi menggunakan sandi Algoritma 3. Pemesan hanya dapat melakukan
RSA yang memiliki dua kunci yaitu kunci satu transaksi pemesanan untuk
privat dan kunci publik, sehingga akan satu alamat.
memiliki tingkat keamanan yang baik
4. Pendaftaran atau Regristrasi hanya 2. Meningkatkan laba dan dapat
dapat dilakukan oleh admin. menjaring lebih banyak pelanggan
5. Biaya delivery sudah tercantum bagi rumah makan.
pada nota pembayaran. 3. Mengurangi kemungkinan
6. Notifikasi pemesanan akan konsumen tidak mendapatkan
disampaikan kepada pengguna tempat makan karena ramai.
kurang lebih setelah 5 menit II. LANDASAN TEORI
pemesanan. 2.1 Definisi Restoran dan Rumah
7. Rumah makan yang dipilih dapat Makan.
memasukkan menu terbaru, promo Restoran adalah salah satu jenis
dan lain-lain secara langsung. usaha jasa pangan yang bertempat di
8. Lokasi delivery order hanya sebagian atau seluruh bangunan yang
kawasan kabupaten jember (khusus permanen, dilengkapi dengan peralatan
area Kota). dan perlengkapan untuk proses pembuatan,
9. Aplikasi yang dibangun adalah penyimpanan, penyajian, dan penjualan
aplikasi berbasis mobile. makanan dan minuman bagi umum di
tempat usahanya dan memenuhi ketentuan
persyaratan yang ditetapkan dalam
1.4 Tujuan Penelitian
keputusan ini (Keputusan Menteri
Berdasarkan rumusan masalah di
Pariwisata, Pos dan Telekomunikasi
atas maka tujuan dari penelitian ini
Nomor KM. 95/HK.103/MPT-87).
adalah:
1. Menghasilkan QR Code Menurut Marsum (2008), restoran
pemesanan yang menerapkan adalah tempat atau bangunan yang
sistem pengamanan diorganisir secara komersial, yang
menggunakan algoritma RSA menyelenggarakan pelayanan dengan baik
sehingga pemesanan lebih kepada tamunya baik berupa makanan atau
aman. minuman. Restoran ada yang berada dalam
2. Menghasilkan beberapa suatu hotel, kantor, maupun pabrik, dan
pengujian dari aplikasi banyak juga yang berdiri sendiri diluar
sehingga meminimalkan bug / bangunan itu. Restoran merupakan suatu
kesalahan aplikasi serta tempat atau bangunan yang terorganisasi
memberikan kemudahan secara komersil, yang menyelenggarakan
pengguna. pelayanan dengan baik kepada semua
tamunya baik berupa makan maupun
minum.
1.5 Manfaat Penelitian
Penelitian ini dilakukan dengan
harapan dapat memberikan manfaat 2.2 Definisi Makanan dan Minuman
diantaranya sebagai berikut : Pengertian makanan sehat
1. Mempermudah konsumen atau adalah makanan yang mengandung zat
user dalam melakukan proses zat yang dibutuhkan oleh tubuh.
pemesanan makanan atau Makanan sehat mengandung gizi yang
minuman. seimbang, yaitu makanan yang sarat
gizi dan baik dikonsumsi oleh tubuh. menggunakan kernel linux. Android
Mengetahui hubungan antara makanan memungkinkan untuk di modifikasi
yang dikonsumsi dan air secara bebas dan di distibusikan oleh
(Hardani,2012). pembuat perangkat tersebut. Dengan
2.3 Pengertian Layanan Antar sifat open source tersebut telah
(Delivery Order) banyak mendorong komunitas
Pengertian Layanan antar pengembang aplikasi untuk menggunakan
(Home delivery service) menurut source code android sebagai dasar proyek
beberapa ahli yaitu : pembuatan aplikasi.
1. ―Home-delivery services Android dimulai sebagai sebuah
where meals are delivered at start up rahasia pada tahun 2003, dan
home of the person who orders dibeli oleh Google pada tahun 2005 dan
the meals.‖ Sudhir Andrews sebagai jalan google untuk memasuki
(2009). pasar perangkat lunak bergerak.
2. ―Where prepared food is Handphone komersil pertama yang
brought to the customer’s menggunakan OS Android adalah HTC
home‖ Kaye Chon dan Dream, yang diluncurkan pada 22
Thomas A. Maier (2010). Oktober 2008. Dikutip dari okezone.com
3. ―Delivery service relies (2013), terungkap pula sebanyak 4,5 juta
heavily on telephone orders, smartphone yang berhasil terjual di
with an increasing number of Indonesia selama Januari sampai Maret
restaurants accepting delivery 2013, sebanyak 2,28 juta di antaranya
order via the internet.‖ Regina menjalankan OS Android.
S. Barbaran dan Joseph F. Sumber :
Durocher (2010). https://id.wikipedia.org/wiki/Daftar_versi_
Dari beberapa pengertian di Android dan
atas, maka penulis menyimpulkan http://developer.android.com/index.html
bahwa pengertian layanan antar adalah
suatu aktivitas dan pemberian jasa 2.5 Quick Response Code
dimana customers memesan produk Quick Response Code sering di sebut
yang disediakan produsen dan biasanya Qr Code atau Kode QR adalah semacam
menggunakan media komunikasi simbol dua dimensi yang dikembangkan
melalui telepon atau internet lalu oleh Denso Wave yang merupakan anak
produk yang dipesan akan diantarkan perusahaan dari Toyota sebuah perusahaan
sampai ke tempat tujuan customers Jepang pada tahun 1994. Tujuan dari Qr
tanpa customers perlu untuk datang dan Code ini adalah untuk menyampaikan
bertemu langsung dengan penjual / informasi secara cepat dan juga
produsen. mendapat tanggapan secara cepat. Pada
awalnya Qr Code digunakan untuk
2.4 Android pelacakan bagian kendaraan untuk
Android adalah sistem operasi manufacturing. Namun sekarang, telah
mobile berbasis open source yang di digunakan untuk komersil yang
miliki raksasa internet saat ini, Google. ditujukan pada pengguna telepon seluler.
Android dikembangkan dengan Qr Code adalah perkembangan dari
barcode atau kode batang yang hanya 3. Data berfungsi untuk
mampu menyimpan informasi secara menyimpan data yang
horizontal sedangkan QR Code mampu dikodekan.
menyimpan informasi lebih banyak, 4. Timing Pattern merupakan pola
baik secara horizontal maupun vertikal. yang berfungsi untuk
identifikasi koordinat pusat Qr
Code, berbentuk modul hitam
putih.
5. Alignment Pattern merupakan
Gambar 2.1 Contoh Qr Code“Dokumen pola yang berfungsi
Sertifikat Hak Milik Tanah Doni Prayugo memperbaiki penyimpangan Qr
Agung Pribadi” Code terutama distorsi non
linier.
QR Code biasanya berbentuk 6. Version Information adalah
persegi putih kecil dengan bentuk versi dari sebuah Qr Code.
geometris hitam (dapat dilihat di gambar 7. Quiet Zone merupakan
2.1), meskipun sekarang banyak yang telah daerah kosong di bagian
berwarna dan digunakan sebagai brand terluar QR Code yang
produk. Informasi yang dikodekan mempermudah mengenali
dalam QR Code dapat berupa URL, pengenalan QR oleh sensor
nomor telepon, pesan SMS, V-Card, atau CCD.
teks apapun (Ashford,2010). QR Code 8. Qr Code version adalah versi
telah mendapatkan standarisasi dari Qr Code yang digunakan.
internasional ISO/IEC18004 dan Jepang
2.5.2 Versi Qr Code
JIS-X-0510 (Denso, 2011).

2.5.1 Anatomi Qr Code Gambar 2.3 Versi Qr Code


(Sumber : qrcode.com)
Qr Code dapat menghasilkan
40 versi yang berbeda dari versi 1 (21 x
21 modul) sampai versi 40 (177 x 177
modul). Tingkatan Versi Qr Code 1
dan 2 berbeda 4 modul berlaku sampai
dengan versi 40. Setiap versi memiliki
konfigurasi atau jumlah modul yang
Gambar 2.2 Anatomi Qr Code berbeda. Modul ini mengacu pada titik
Beberapa penjelasan anatomi Qr Code hitam dan putih yang membentuk suatu
Menurut (Ariadi, 2011) antara lain : QR Code. Setiap versi QR Code
1. Finder Pattern berfungsi untuk memiliki kapasitas maksimum data,
identifikasi letak Qr Code. jenis karakter dan tingkat koreksi
2. Format Information berfungsi kesalahan. Jika Jumlah data yang
untuk informasi tentang error ditampung banyak maka modul yang
correction level dan mask yang akan diperlukan dan menjadikan
pattern.
Qr Code menjadi lebih besar (Denso, dipecahkan dengan mudah (melalui
2011). penggunaan statistik, terkaan, intuisi, dan
sebagainya). Algoritma kriptografi modern
2.6 Kriptografi dibuat sedemikian kompleks sehingga
Kriptografi berasal dari bahasa kriptanalis sangat sulit untuk memecahkan
Yunani yaitu cryptós yang artinya cipherteks tanpa mengetahui kunci.
“secret” (yang tersembunyi) dan gráphein Pengelompokan algoritma juga dilakukan
yang artinya “writting” (tulisan). Jadi, berdasarkan kunci enkripsi – dekripsi yang
kriptografi berarti ‖secret writting‖ (tulisan digunakan, yaitu symmetric cryptosystem
rahasia). Definisi yang dikemukakan oleh atau simetris (menggunakan kunci yang
Bruce Schneier (1996), kriptografi adalah sama untuk proses enkripsi – dekripsi) dan
ilmu dan seni untuk menjaga keamanan Assymmetric cryptosystem atau asimetris
pesan (Cryptography is the art and science (menggunakan kunci yang berbeda untuk
of keeping messages secure). Kriptografi proses enkripsi – dekripsi).
merupakan ilmu sekaligus seni untuk
menjaga keamanan pesan (message).
Algoritma kriptografi adalah :
1. Aturan untuk enkripsi
(enciphering) dan dekripsi
(deciphering). 2.7 Sandi Algoritma RSA
2. Fungsi matematika yang digunakan RSA di bidang kriptografi adalah
untuk enkripsi dan dekripsi. sebuah algoritma pada enkripsi public key.
Suatu pesan yang tidak disandikan RSA merupakan algoritma pertama yang
disebut sebagai plaintext ataupun dapat cocok untuk digital signature seperti
disebut juga sebagai cleartext. Proses yang halnya ekripsi, dan salah satu yang paling
dilakukan untuk mengubah plaintext ke maju dalam bidang kriptografi public key.
dalam ciphertext disebut encryption atau RSA masih digunakan secara luas
encipherment. Sedangkan proses untuk dalam protokol electronic commerce, dan
mengubah ciphertext kembali ke plaintext dipercaya dalam mengamankan dengan
disebut decryption atau decipherment. menggunakan kunci yang cukup panjang.
Secara sederhana istilah-istilah di atas RSA sendiri dibuat pada tahun 1978.
dapat digambarkan sebagai berikut : RSA adalah singkatan dari nama para
penemunya, yaitu Ron Rivest, Adi Shamir,
dan Leonard Adleman. RSA adalah salah
satu algoritma penyandian yang paling
banyak mengundang kontroversi, selain
Gambar 2.10 Proses Enkripsi/Dekripsi DES. Sejauh ini belum seorang pun yang
Sederhana berhasil menemukan lubang sekuriti pada
Algoritma kriptografi berkembang DES dan RSA, tetapi tak seorang pun juga
terus dan terbagi atas dua bagian yaitu yang berhasil memberikan pembuktian
algoritma kriptografi klasik dan modern. ilmiah yang memuaskan dari keamanan
Pada kriptografi klasik, kriptografer kedua teknik sandi ini.
menggunakan algoritma sederhana, yang Untuk menyandi informasi dan
memungkinkan cipherteks dapat untuk menerjemahkan pesan tersandi
sebuah algoritma penyandian memerlukan kemungkinan kombinasi kunci yang
sebuah data biner yang disebut kunci. bisa dijebol dengan metode mengencek
Tanpa kunci yang cocok orang tidak bisa kombinasi satu persatu kunci atau lebih
mendapatkan kembali pesan asli dari pesan dikenal dengan istilah brute force
tersandi. Pada DES digunakan kunci yang attack. Jika dibuat suatu sandi RSA
sama untuk menyandi (enkripsi) maupun dengan panjang 256 bit, maka metode
untuk menterjemahan (dekripsi), brute force attack akan menjadi tidak
sedangkan RSA menggunakan dua kunci ekonomis dan sia-sia dimana para
yang berbeda. Isitilahnya, DES disebut hacker pun tidak mau/sanggup untuk
sistem sandi simetris sementara RSA menjebol sandi tersebut.
disebut sistem sandi asimetris. Kedua
sistem ini memiliki keuntungan dan ii. Proses Pembuatan Kunci
kerugiannya sendiri. Sistem sandi simetris Dalam membuat suatu sandi,
cenderung jauh lebih cepat sehingga lebih RSA mempunyai cara kerja dalam
disukai oleh sementara kalangan industri. membuat kunci publik dan kunci privat
Kejelekannya, pihak-pihak yang ingin adalah sebagai berikut:
berkomunikasi secara privat harus punya 1. Pilih dua bilangan prima p dan q
akses ke sebuah kunci DES bersama. secara acak , p ≠ q. Bilangan ini
Walaupun biasanya pihak-pihak yang harus bilangan prima.
terkait sudah saling percaya, skema ini 2. Hitung N = pq. Bilangan N disebut
memungkinkan satu pihak untuk parameter sekuriti.
memalsukan pernyataan dari pihak 3. Hitung φ = (p-1)(q-1).
lainnya. RSA yang menggunakan 4. Pilih bilangan bulat (integer) antara
algoritma asimetrik mempunyai dua kunci satu dan φ (1 < e < φ) yang tidak
yang berbeda, disebut pasangan kunci (key mempunyai faktor pembagi dari φ.
pair) untuk proses enkripsi dan dekripsi. 5. Hitung d hingga d e ≡ 1 (mod φ).
Kunci-kunci yang ada pada pasangan Keterangan :
kunci mempunyai hubungan secara a. Langkah 3 dan 4 dapat
matematis, tetapi tidak dapat dilihat secara dihasilkan dengan cara
komputasi untuk mendeduksi kunci yang algoritma Euclidean
satu ke pasangannya. Algoritma ini disebut b. Langkah 4 dapat dihasilkan
kunci publik, karena kunci enkripsi dapat dengan menemukan integer x
disebarkan. Orang-orang dapat sehingga d = (x(p-1)(q-1) +
menggunakan kunci publik ini, tapi hanya 1)/e menghasilkan bilangan
orang yang mempunyai kunci privat bulat, kemudian menggunakan
sajalah yang bisa mendekripsi data nilai dari d (mod (p-1)(q-1)).
tersebut. Setelah melalu cara ini, maka kita akan
mendapatkan kunci publik dan kunci
i. Cara kerja sandi algoritma RSA privat. Kunci publik terdiri dari dua
Tingkat keamanan algoritma elemen, yaitu :
penyandian RSA sangat bergantung a. N, merupakan modulus
pada ukuran kunci sandi tersebut yang digunakan
(dalam bit), karena makin besar ukuran b. e, eksponen publik atau
kunci, maka makin besar juga eksponen enkripsi.
dan kunci privat, yang terdiri dari: bersama-sama akan menghasilkan n,
a. N, merupakan modulus kemudian pessan yang berisi ASCII
yang digunakan, sama tunggal karakter NUL (nilai numeris 0)
seperti pada kunci publik. akan menghasilkan n = 0, yang akan
b. d, eksponen pribadi atau menghasilkan ciphertext 0 apapun itu
eksponen deskripsi, yang nilai dari e dan N yang digunakan.
harus dijaga kerahasiaanya. Maka A mempunyai nilai n dan
Nilai p dan q sebaiknya dibuang mengetahui N dan e, yang telah
atau dijaga kerahasiaannya, karena diumumkan oleh B. A kemudian
terdapat N dimana p dan q adalah menghitung ciphertext c yang terkait
faktor pembagi dari N. Walaupun pada n:
bentuk ini memperbolehkan dekripsi c = ne mod N
secara cepat dan signing menggunakan Perhitungan tersebut dapat
Chinese Remainder Theorem (CRT), diselesaikan dengan menggunakan
hal ini mejadi lebih tidak aman karena metode exponentation by squaring,
bentuk ini memperbolehkan side yaitu sebuah algoritma yang dipakai
channel attacks. Side channel attacks untuk komputasi terhadap sejumlah
adalah sebuah serangan yang nilai integer yang besar dengan cepat.
berdasarkan informasi yang Kemudian A mengirimkan nilai C
dikumpulkan dari implementasi fisik kepada B.
(atau kelemahan secara fisik) dari
sebuah sistem kriptografi, dibanding iv. Proses Dekripsi Pesan
dengan kelemahan teoritis dari B sudah menerima C dari A, dan
algoritmanya sendiri. Sebagai mengetahui kunci privat yang
contohnya, faktor-faktor kurun waktu digunakan B. B kemudian
dari informasi, konsumsi tenaga, mengembalikan nilai n dari C dengan
bahkan suara yang ditimbulkan dapat langkah-langkah sebagai berikut:
membantu mempermudah informasi n = cd mod N
yang bisa diambil untuk menjebol Perhitungan diatas akan
sistem tersebut. menghasilkan n, dengan begitu B dapat
mengembalikan pesan semula m.
iii. Proses Enkripsi Pesan Prosedur dekripsi bekerja karena.
Misalkan pada suatu kasus si A
cd ≡ (ne)d ≡ ned (mod N)
ingin mengirim pesan m kepada si B. A
Kemudian, karena ed ≡ 1 (mod p-1) dan
mengubah m menjadi angka n < N,
ed ≡ 1 (mod q-1), hasil dari Fermat's
menggunakan protokol yang
little theorem.
sebelumnya telah disepakati dan dikenal
sebagai padding scheme. Padding
ned ≡ n (mod p)
scheme harus dibangun secara hati-hati dan
sehingga tidak ada nilai dari m yang ned ≡ n (mod q)
menyebabkan masalah keamanan.
Contohnya, jika kita ambil contoh Karena p dan q merupakan bilangan prima
sederhana dari penampilan ASCII dari yang berbeda, mengaplikasikan Chinese
m dan menggabungkan bit-bit secara
remainder theorem akan menghasilkan juga merupakan integer. Setelah
dua macam kongruen. melalui proses penghitungan,
ned ≡ n (mod pq) salah satu nilai yang mungkin
adalah d = 3.
serta 5. Lalu kita masukkan kata yang
akan dienkripsi, ―SECRET‖.
Kita akan mengkonversi string
cd ≡ n (mod N) ini ke representasi desimal
menggunakan nilai karakter
ASCII, yang akan menghasilkan
nilai ASCII 83 69 67 82 69 84
6. Pengirim akan mengenkripsi
setiap digit angka pada saat
v. Contoh Penghitungan RSA yang bersamaan menggunakan
nilai kunci publik ( e, n) =
Sekarang kita mencoba suatu
(11,15). Lalu setiap karakter
contoh untuk mengenal lebih dalam
ciphertext akan masuk ke
sistem kerja enkripisi RSA. Misalnya
persamaan Ci = Mi11 mod 15.
kita mau mengenkripsi kata “SECRET”
Yang akan menghasilkan nilai
dengan RSA, lalu kita dekripsi kembali
digit masukan adalah
ke dalam plain text.
0x836967826984 yang akan
Karena p dan q berjumlah
dikirim sebagai
minimal 100 digit atau lebih, nilai d dan
0x2c696d286924.
e bisa berjumlah sama dengan 100 digit
7. Penerima akan mendekripsi
dan nilai N akan berjumlah 200 digit.
setiap digit angka menggunakan
Untuk itu di contoh pemakaian berikut,
nilai kunci privat ( d, n) = (3,
kita akan memakai angka-angka yang
15). Lalu, setiap karakter
kecil agar mudah dalam penghitungan.
plaintext akan masuk persamaan
Cara pengerjaannya adalah:
Mi = Ci3 mod 15. String
1. Kita pilih p = 3 dan q = 5
masukan yang bernilai
2. Hitung N = pq = 3*5 = 15
0x2c696d286924, akan
3. Nilai e harus merupakan
dikonversi kembail menjadi
bilangan prima yang lebih besar
0x836967826984, dan akhirnya
dan relatif dekat dengan (p-1)(q-
angka-angka tersebut akan
1) = (2)(4) = 8, sehingga kita
diubah kembali menjadi bentuk
pilih e = 11. Angka 11 adalah
string plaintext yang bernilai
bilangan prima terdekat dan
―SECRET‖.
lebih besar daripada 8.
4. Nilai d harus dipilih sehingga, Dari contoh di atas kita dapat
menangkap suatu kelemahan dari
pemakaian p dan q yang bernilai kecil
yaitu bisa kita lihat di digit ke-4, ke-6
adalah sebuah integer. Lalu nilai dan ke-9 tidak berubah saat dienkripsi,
(11 d - 1) / [(2)(4)] = (11d - 1) / 8 dan nilai 2 dan 8 dienkripsi menjadi 8
dan 2, yang berarti dienkripsi menjadi menghitung eksponen rahasia dari d dan
kebalikannya. Tapi kesimpulan yang dari kunci publik ( e, n ), lalu
bisa diambil dari contoh yang sederhana mendekripsi c menggunakan prosedur
ini adalah RSA dapat digunakan dalam standar. Untuk menyelesaikannya,
penyandian dalam pengiriman penyerang (bisa penyadap, penguping,
informasi. dll.) memfaktor nilai n menjadi p dan q,
lalu menghitung (p-1)(q-1) yang dapat
Kunci RSA yang mempunyai
menghasilkan nilai d dan e.
ukuran 512 dan 768 bit dianggap masih
Penyerangan yang paling umum
lemah dan mudah dijebol. Ukuran kunci
pada RSA ialah pada penanganan
yang dianjurkan adalah 1024 bit.
masalah faktorisasi pada bilangan yang
Ukuran 2048 dan 3072 bit merupakan
sangat besar. Apabila terdapat
suatu ukuran yang lebih baik.
faktorisasi metode yang baru dan cepat
vi. Keamanan RSA telah dikembangkan, maka ada
Keamanan dari sistem kemungkinan untuk membongkar RSA.
kriptografi RSA adalah didasari oleh Pada tahun 2005, bilangan
dua problem matematika: faktorisasi terbesar yang digunakan
1. Problem dalam faktorisasi secara umum ialah sepanjang 663 bit,
bilangan berjumlah banyak. menggunakan metode distribusi
2. Problem RSA, yaitu mencari mutakhir. Kunci RSA pada umumnya
modulo akar en dari sebuah sepanjang 1024—2048 bit. Beberapa
bilangan komposit ( yang pakar meyakini bahwa kunci 1024-bit
faktor-faktornya tidak ada kemungkinan dipecahkan pada
diketahui. waktu dekat (hal ini masih dalam
Proses dekripsi penuh dari perdebatan), tetapi tidak ada
sebuah ciphertext RSA dianggap seorangpun yang berpendapat kunci
sesuatu hal yang tidak mudah karena 2048-bit akan pecah pada masa depan
kedua problem ini diasumsikan sulit. yang terprediksi. Jika N sepanjang 256-
Belum ada algoritma yang mampu bit atau lebih pendek, maka kunci RSA
untuk menyelesaikannya. Problem akan dapat ditemukan dalam beberapa
RSA didefinisikan sebagai tugas untuk jam hanya dengan menggunakan PC,
mencari suatu akar modulo en (e dengan menggunakan perangkat lunak
pangkat ke n) dari bilangan komposit N. yang tersedia. Jika N sepanjang 512-bit
Mengembalikan suatu nilai m dimana atau lebih pendek, N akan dapat
me=c mod n, ( e, n ) adalah kunci difaktorisasi dalam hitungan ratusan
publik RSA dan c adalah ciphertext jam seperti pada tahun 1999 dengan
RSA. menggunakan ratusan komputer. Secara
Metode pendekatan yang teori, perangkat keras bernama TWIRL
diyakini dapat menyelesaikan problem dan penjelasan dari Shamir dan Tromer
RSA saat ini adalah memfaktor dari pada tahun 2003 mengundang berbagai
modulus n. Dengan kemampuan untuk pertanyaan akan keamanan dari kunci
mengembalikan faktor yang merupakan 1024- bit. Saat ini disarankan bahwa N
bilangan prima, sebuah serangan dapat setidaknya sepanjang 2048-bit.
vii. Membuat RSA Sukar Dijebol ix. Pertimbangan Teknis dalam
Jika nilai N berjumlah kecil, Enkripsi RSA
maka nilai faktor p dan q akan mudah Jika kita berniat untuk
diterka oleh para hacker . Maka untuk mengenkripsi suatu data untuk dikirim
membuat nilai N sukar untuk dijebol ke suatu tujuan, ada beberapa faktor
oleh para hacker kita perlu nilai faktor p yang sebaiknya diperhatikan agar data
dan q yang besar. Misalkan, yang kita kirim tidak mudah dijebol di
dibandingkan kita memilih nilai 5 dan tengah jalan.
11, lebih baik kita pilih bilangan prima 1. Dalam pembuatan kunci,
yang besar, seperti 673 dan 24971, yang sebaiknya memilih nilai p dan q
akan menghasilkan nilai d = 16805483 yang jumlahnya tidak saling
dan nilai e = 16779840. berdekatan dan besar, karena
Tetapi jika dihitung dengan jika nilai N kecil, faktor dari N
suatu perangkat lunak ataupun suatu akan sangat mudah didapat.
program yang kita buat yang dapat 2. Penggunakan pembangkit
menghitung faktor-faktor dari suatu bilangan acak yang kuat untuk
nilai. Angka- angka di atas dapat kunci simetrik yang digunakan,
dengan mudahnya didapatkan faktor- karena eavesdropper dapat
faktornya. Sehingga hal ini melakukan bypass terhadap
menyimpulkan bahwa kita RSA dengan menebak kunci
membutuhkan nilai p dan q yang sangat simetrik yang digunakan.
besar. 3. Sebagaimana halnya cipher ,
bagaimana public key RSA
viii. Ancaman yang Mungkin didistribusi menjadi hal penting
Menyerang RSA dalam keamanan. Distribusi
Sistem pengenkripsian RSA kunci harus aman dari man- in-
mempunyai kemungkinan- the-middle attack (penghadang-
kemungkinan kelemahan yang bisa ditengah-jalan).
diserang oleh para eavesdropper 4. Memastikan bahwa operasi
(penyadap, penguping), berikut adalah dekripsi menggunakan waktu
kelemahan-kelemahan dalam RSA yang yang konstan untuk setiap
sebaiknya dihindari: ciphertext yang diproses.
1. Nilai n terlalu kecil, sehingga 5. Menggunakan padding scheme
mudah untuk difaktorisasi yang relatif terbukti aman
2. Jumlah nilai eksponen en yang seperti Optimal Asymmetric
terlalu kecil Encryption Padding.
3. Ukuran kunci yang terlalu kecil,
sehingga sandi dapat dijebol
dengan brute force attack III. METODOLOGI PENELITIAN
4. Nilai d terlalu kecil
Tahapan Penelitian
5. Pengunaan nilai modulus yang
familiar, hal ini memudahkan Dalam pengerjaan Tugas Akhir ini
para hacker untuk menjebol diperlukan langkah-langkah kegiatan
sandi yang ada. penelitian untuk mendapatkan hasil yang
maksimal. Untuk itu penulis pesananan yang terjadi pada aplikasi-
merencanakan suatu langkah-langkah aplikasi sebelumnya.
untuk dapat memaksimalkan dalam
pengerjaan Tugas Akhir ini. Langkah-
langkah tersebut adalah sebagai berikut :
3.4.2 Perancangan Sistem
3.1 Analisis dan Perancangan
Prosedur yang akan digunakan untuk
3.4.1 Analisis pelabelan dokumen adalah :
Masalah yang terjadi pada
penjualan makanan dan minuman 1. Setiap konsumen pemesan
dirumah makan saat ini masih diharuskan mempunyai aplikasi
mengandalkan penjualan secara delivery order, untuk dapat
langsung atau dengan cara menunggu memilih makanan dan
konsumen/pelanggan datang ke tempat minuman serta rumah makan
rumah makan tersebut hal ini tentu penyedianya, prosedur
kurang efisien dan peluang untuk pemesanan yaitu konsumen
mendapatkan keuntungan masih mendownload aplikasi, pilih
tergolong rendah, belum juga adanya menu makanan atau minuman
persaingan dari rumah makan lainnya. yang ingin dipesan, kemudian
Di era digital sekarang ini banyak orang akan diproses oleh sistem yang
tidak mau membuang-buang waktunya nantinya berupa authentifikasi
dan lebih memilih hal-hal yang efisien QR Code yang terenkripsi.
meskipun hanya sekedar membeli suatu 2. Format data QR Code sebelum
makanan, karena terkadang orang lebih akan di sandikan oleh
suka memesan makanan untuk diantar algoritma RSA berupa, nama
lalu menikmatinya dirumah atau pemesan, alamat pemesan,
ditempat kerjanya. Hal ini mendorong menu pesanan dan kode
banyak rumah makan yang memakai pesanan.
jasa kurir untuk mempromosikan dan 3. Dalam proses delivery order,
mengantarkan makanan kepada kurir akan diberikan aplikasi
konsumen, selain jasa kurir berbagai pemindai khusus atau aplikasi
aplikasi-aplikasi pendukung pemesanan scanner khusus yang digunakan
secara online pun banyak bermunculan, untuk menscan kode QR Code
namun masih banyak aplikasi yang pemesan.
kurang baik dalam segi keamanan data Pada sistem pelabelan dokumen
sehingga memungkinkan adanya ini, sandi algoritma RSA yang digunakan
kecurangan atau pemalsuan data sebuah untuk menyandikan data di dalam QR
pesanan oleh orang lain yang dapat Code adalah sandi algoritma RSA dengan
merugikan kedua belah pihak. Dengan 160 karakter.
menambahkan sandi Algoritma RSA
pada authentifikasi QR Code
3.4.3 Flowchart Diagram
diharapkan dapat mengatasi adanya
Flowchart atau diagram aliran
kecurangan pihak lain dan pemalsuan
adalah langkah-langkah prosedur sistem
yang digambarkan secara grafik.
Flowchart dapat memberi solusi untuk sembarang, p dan q.
menyelesaikan masalah dalam proses
2. Hitung n = p.q
atau algoritma program dalam sistem.
3. Hitung Φ(n) = (p - 1)(q - 1).
Berikut adalah flowchart sistem yang
akan dibuat pada penelitian ini : 4. Pilih kunci publik e, yang
relatif prima terhadap Φ(n ).
5. Bangkitkan kunci pribadi
1. Flowchart Proses Enkripsi dengan menggunakan e.d ≡
Pembuatan Label menggunakan 1 mod Φ(n) atau e*d mod Φ(n)
Algoritma RSA =1
2. Flowchart Scan QR Code
Flowchart pada gambar 3.4 Hasil dari algoritma tersebut akan
adalah flowchart saat melakukan scan menghasilkan dua kunci, yaitu kunci
qr code pada authentifikasi pesanan public (e,n) dan kunci private (d,n).
konsumen oleh kurir. Generate dari QR
Cntoh Perhitungan Pembangkit Kunci
Code dilakukan dengan menggunakan
Algoritma RSA.
library Zxing. Pada proses scanning Qr
Code yang otomatis terhubung dengan Misalkan B akan
database sistem. Jika data yang discan membangkitkan kunci publik dan
sesuai maka system akan kunci pribadi miliknya. B memilih p =
mengidentifikasi identitas Konsumen 7 dan q = 13 (keduanya prima).
pemesan. Namun jika data tidak valid Selanjutnya B menghitung.
maka proses akan langsung terhenti n =
tanpa mengetahui identitas konsumen 7 x 13 = 91
pemesan
Dan
3. Flowchart Algoritma
Φ(n)
Pembangkit Kunci
= (7-1) (13-1) = 72
Algoritma RSA memiliki dua kunci yang B memilih e = 5 karena 5
berbeda untuk proses enkripsi dan relatif prima terhadap 72. B
dekripsi. Dalam menentukan dua mengumumkan nilai e dan n.
bilangan prima sebagai kunci adalah Selanjutnya B menghitung
bilangan prima yang besar, karena nilai dengan algoritma Euclid yang
pemfaktoran bilangan dari dua bilangan diperluas menjadi
prima yang besar sangat sulit, sehingga
72 = 14.5 + 2 n =
keamanan pesan lebih terjamin. Pasangan
1, a1 = 5, q1 = 14
kunci adalah elemen penting dari
algoritma RSA. 5 = 2.2 + 1 n =
2, a2 = 2, q2 = 2
Berikut ini langkah- langkah
dalam membangkitkan dua kunci 2 = 2.1
algoritma RSA. n = 3, a3 = 1, q3 = 2
1. Pilih dua bilangan prima t2 =
t0 – q1.t1 = 0 – 14(10) = -14 = 58 yang nantinya akan menjadi
t3 = t1 kode delivery order konstumer
– q2.t2 = 1 – 2.(-14) = 29. atau pemesan makanan.

Karena e.d ≡ 1 mod Φ(n)


dapat ditulis menjadi e-1 mod Φ(n) =
d, maka didapat 5-1 mod 72 = 29. Contoh Perhitungan :
Sehingga diperoleh d = 29. Ini
Misalkan A akan mengirim pesan ke
adalah kunci pribadi untuk
B. Pesan (Plainteks) yang akan dikirim
mendekripsikan pesan dan harus
adalah
dirahasiakan oleh B. Dari perhitungan
tersebut didapat kunci publik dan m =
kunci pribadi berturut- turut adalah YAVI
Kunci public = (e = atau dalam sistem desimal pengkodean
5, n = 91) ASCII adalah
Dan
Kunci privat = (d =
29, n = 91) 89658673
4. Flowchart Proses Enkripsi A memecah m menjadi blok yang
Algoritma RSA lebih kecil, misalkan membagi
Langkah-langkah dalam melakukan menjadi 5 blok yang berukuran 2
proses enkripsi adalah sebagai berikut: digit
m1 = 89
1. Langkah pertama m2 = 65
menentukan kunci public penerima m3 = 8
pesannya, kunci public disini telah m4 = 73
dibuat yaitu nilai e dan n.
Nilai-nilai mi ini masih terletak di
2. Kedua Plainteks atau kode
selang [0,91 – 1] agar transformasi
pemesanan konsumen dibuat
menjadi satu-ke-satu. A mengetahui
menjadi blok-blok m1, m2, m3,
kunci publik B adalah e = 5 dan n =
m4, sehingga block mi
91. A dapat mengenkripsikan setiap
nantinya akan dijadikan pesan
blok plainteks sebagai berikut :
chipertext.
c1 = 895 mod 91 = 59
3. Ketiga Proses enkripsi c2 = 655 mod 91 = 39
menggunakan kunci public c3 = 865 mod 91 = 60
(e, n) dari plaintext menjadi c4 = 735 mod 91 = 47
chipertext dengan rumus
sebagai berikut : ci = Jadi chiperteks yang dihasilkan adalah
e
mi mod n c = 59396047
4. Sehingga langkah terakhir 5. Flowchart Proses Dekripsi
plaintext yang telah dienkripsi Algoritma RSA
menjadi pesan chipertext akan
Langkah-langkah dalam melakukan
digenerate menjadi QR Code
proses dekripsi adalah sebagai berikut:
1. Pertama QR Code konsumen Use case merupakan gambaran
pemesan delivery order akan dari sebuah sistem dari sudut pandang
discan oleh aplikasi pemindai pengguna. Diagram use case digunakan
khusus atau aplikasi scanning untuk menggambarkan fungsi-fungsi
QR Code. dari aspek perilaku sebuah sistem
tersebut.
2. Kedua aplikasi akan
menscan QR Code dengan Pada sistem ini aktor dibagi
menggunakan nilai dekripsi menjadi 4 bagian yaitu konsumen
yang telah ditentukan dengan pemesan makanan, admin server, rumah
nilai d dan nilai n. makan penyedia, dan kurir pengantar.
3. Ketiga QR Code yang User merupakan pengguna pada mobile
berisikan chipertext akan device yaitu konsumen dan kurir.
discan menggunakan kunci Sedangkan admin adalah petugas
private (d) dengan rumus administrator yang memproses setiap
dekripsi sebagai berikut : mi pesanan konsumen yang nantinya akan
= cid mod n. diantarkan oleh kurir atau diproses
delivery order. Dan terakhir adalah
4. Keempat sehingga setelah rumah makan sebagai penyedia barang
discan atau didekripsikan dari yang dipesan, sehingga ketika rumah
kode chipertext akan menjadi makan mendapatkan notifikasi dari
nilai plaintext kembali. admin makan disitu terdapat pesanan
5. Langkah terakhir dari nilai dari konsumen. Diagram use case
plaintext akan dikonversikan sistem dapat dilihat pada gambar 3.8
menggunakan kode ASCII
yang nantinya akan menjadi Penjelasan dari use diatas adalah sebagai
segala pesanan konsumen itu berikut :
sendiri. 1. Terdapat empat aktor yaitu
Contoh Perhitungannya : B akan konsumen, admin server, rumah
mendekripsi pesan dengan makan dan kurir.
menggunakan kunci pribadi (d = 29, n 2. Terdapat 8 use case dimana ada :
= 91). Blok – blok chiperteks pemesanan (delivery order),
didekripsikan dengan cara : pemberian kode authentifikasi
berupa QR Code, memberikan
c1 = 5929 mod 91 = 89 daftar pesanan, konfirmasi pesanan
c2 = 5329 mod 91 = 65 siap antar , konfirmasi kurir untuk
c3 = 7829 mod 91 = 86 mengantarkan pesanan,
c4 = 4729 mod 91 = 73 mengantarkan pesanan konsumen,
Akhirnya diperoleh plainteks scan authentifikasi dan
semula yaitu m = 89658673 pengambilan tagihan, kemudian
yang dalam sistem karakter simpan ke database.
pengkodean ASCII m = YAVI. 3.5 Implementasi
Implementasi aplikasi delivery order
3.4.4 Use Case Diagram
atau pemesanan makanan secara online
nantinya diharapkan dapat memudahkan penyandian khusus untuk menjaga
konsumen dalam pemesanan dan keamanan dalam pemesanan dan menjaga
memberikan dampak baik bagi pengusaha kepercayaan para pelanggannya.
rumah makan, dengan memanfaatkan
kode batang QR Code yang telah
dienkripsi sebagai authentifikasinya, 3.6 Pengujian
sehingga kurir nantinya dalam proses 3.6.1 Proses pembuatan isi
pengiriman barangnya hanya diberikan label QR Code pesanan
aplikasi pemindai atau aplikasi scanner QR konsumen yang akan
Code khusus untuk menscanning dienkripsi menggunakan
authentifikasi setiap pemesan. Sehingga algoritma RSA.
diharapkan dapat mengurangi pemalsuan
Proses ini menjelaskan
pesanan yang mengakibatkan kerugian
pembuatan label dan isi dari QR
kedua belah pihak. Pada implementasinya,
Code yang nantinya akan
untuk mengolah gambar penanda QR Code
dienkripsi menggunakan algoritma
digunakan sebuah library open source
RSA, adapun isi dari QR Code
bernama Zxing. Sistem generator QR Code
disini yaitu nama pemesan, alamat
dan data dienkripsi menggunakan open
pemesan, menu pesanan dan kode
source Php ( php hypertext preprocessor ),
id pemesan. Adapun cara kerja
dan Smartphone Android dengan bahasa
pembuatan label QR Code seperti
pemrogaman java.
dibawah ini :
Pada sistem pelabelan dokumen
1. Nama pemesan : YAVI
dibutuhan beberapa aplikasi pendukung
2. Alamat Pemesan :
seperti : Android Studio, Qr Code
KARIMATA
generator, sublime text. Pada tahap uji
3. Menu Pesanan : 1 Buah Mie
coba akan diimplementasikan pada
Kober Pedas Level 10 pada menu
authentifikasi delivery order konsumen
mie kober disini diberi kode
yang sudah memesan makanan kepada
―T1FA1H‖
admin/server. Data yang akan dienkripsi
T1 : Menunjukkan
untuk menjadi authentifikasi berupa kode
Tempat Rumah Makan (Mie
QR Code adalah Nama pemesan,
Kober Karimata)
Lokasi/posisi pemesan, Menu barang
pesanan, dan Kode pesanan. Dengan FA : Jenis Makanan
adanya aplikasi delivery order makanan (Mie Kober)
menggunakan authentifikasi berupa QR
1 : Jumlah Pesanan
Code yang telah terenkripsi didaerah
(Satu Bungkus)
kabupaten jember diharapkan dapat
H : Level Makanan
memudah konsumen dalam memesan dan
(High)
menikmati makanan diseluruh rumah
makan dan tentunya diharapkan dapat 4. Kode id Pemesan :
menambah keuntungan dari segi usaha ―1J001‖
yang dilakukan rumah makan itu sendiri, 1J : Lokasi Pemesan
dikarenakan prosesnya yang menggunakan Makanan (Karimata)
001 : Id Nomor Urut menu pesanan ―T1FA1H‖, dan kode id
Order pemesan ―1J001‖. Data yang dienkripsi
disini ialah YAVI, KARIMATA,
Sehingga didapatkan
T1FA1H, dan 1J001. Sehingga data akan
beberapa data yaitu nama pemesan
dikonversikan kedalam ASCII terlebih
―YAVI‖, alamat pemesan
dahulu adapun prosesnya seperti pada
―JEMBER‖, menu pesanan
tabel 3.1 berikut ini :
―T1FA1H‖, dan kode id
pemesanan ―1J001‖. Yang
nantinya data berupa nama, alamat
pemesan, menu pesanan, dan kode
id pemesanan yang akan dienkripsi
menggunakan sandi algoritma
Nilai
RSA. Karakt
ANSI
er
3.6.2 Proses generate kode ASCII
batang QR Code dan YAVI 89658673
proses enkripsi
menggunakan sandi KARI 75658273
algoritma RSA. MATA 77658465
Pada proses pengimputan
T1FA1 84497065
diatas sebelumnya didapatkan data
H 4972
untuk proses pemesanan makanan
siap antar (delivery order) yaitu 49744848
1J001
nama pemesan ―YAVI‖, alamat 49
pemesan ―KARIMATA‖, menu
pesanan ―T1FA1H‖ dan kode id
pemesanan ―1J001‖. Dari data Tabel 3.2 Proses konversi karakter
yang diperoleh sebelumnya disini kedalam ASCII
jika belum dienkripsi Data diatas adalah data
menggunakan sandi algoritma pemesan yang telah dikonfersikan
RSA maka bentuk kode batang QR kedalam ASCII yang nantinya data
Code nya seperti gambar dibawah tersebut akan dienkripsi menggunakan
ini sandi algoritma RSA, dengan contoh
perhitungan enkripsinya, namun
sebelum menghitung enkripsi terlebih
Gambar diatas ialah kode batang QR Code dahulu kita bangkitkan kunci public dan
pesanan konsumen yang belum dienkripsi kunci privatnya terlebih dahulu, seperti
menggunakan algoritma RSA, sehingga contoh dibawah ini :
untuk menjaga keamanan data dari setiap
konsumen pemesan makanan siap antar Kunci public :
(delivery order) maka dari data yang p=7 n = p*q
diperoleh sebelumnya ialah nama pemesan Φ(n) = (p-1)(p-1)
―YAVI‖, alamat pemesan ―KARIMATA‖,
q = 13 n = 7*13 a. T = 845 mod 91 = 28
Φ(n) = (7-1)(13-1) b. 1 = 495 mod 91 = 56
c. F = 705 mod 91 = 70
e=5 n = 91
d. A = 655 mod 91 = 39
Φ(n) = 72
e. 1 = 495 mod 91 = 56
Pada kunci public diperoleh f. H = 725 mod 91 = 11
nilai p = 7, q = 13 dan e = 5 dan untuk
kunci sandi algoritma RSA harus
4. 1J001 = 4974484849
menggunakan bilangan prima. Sehingga
a. 1 = 495 mod 91 = 56
kunci bilangan privatnya atau kunci d
b. J = 745 mod 91 = 16
nya adalah e.d ≡ 1 mod Φ(n) atau dapat
c. 0 = 485 mod 91 = 55
dituliskan e-1 mod Φ(n) = d jadi kunci d. 0 = 485 mod 91 = 55
privatnya atau nilai d adalah 5-1 mod 72 e. 1 = 495 mod 91 = 56
= 29. Yang dapat diketahui d = 29.
Adapun perhitungan untuk proses
enkripsinya seperti dibawah ini : Pada perhitungan diatas adalah
perhitungan untuk proses enkripsi dari
Rumus Enkripsi yaitu ci = nama pemesan dan lokasi pemesan
e
mi mod n perhitungan tersebut dilakukan sampai
proses enkripsi menu pesanan
konsumen dan kode id konsumen
1. YAVI = 89658673 sehingga didapatkan kode enkripsi
a. Y = 895 mod 91 = 59 sebagai pada tabel 3.2 dibawah ini :
b. A = 655 mod 91 = 39
c. V = 865 mod 91 = 60
d. I = 735 mod 91 = 47 Nilai ANSI
Karakter Enkripsi
ASCII
2. KARIMATA =
7565827377658465 YAVI 89658673 59396047
a. K = 755 mod 91 = 17
KARIM 7565827377 1739104777
5
b. A = 65 mod 91 = 39 ATA 658465 392839

c. R = 825 mod 91 = 10 8449706549 2856703956


T1FA1H
72 11
d. I = 735 mod 91 = 47
1J001 4974484849 5616555556
e. M = 775 mod 91 = 77
f. A = 655 mod 91 = 39
Tabel 3.3 Proses Enkripsi Isi Kode Batang
g. T = 845 mod 91 = 28
QR Code
h. A = 655 mod 91 = 39 Ketika proses enkripsi mulai
dari nama, lokasi, menu pesanan dan
kode id pesanan telah selesai maka
3. T1FA1H = 844970654972 proses selanjutnya adalah menggenerate
semua kode hash atau kode enkripsi Code tersebut dengan contoh jika kode
tersebut ke dalam kode batang QR batang QR Code discan dengan tidak
Code konsumen atau pemesan makanan menggunakan aplikasi pemindai atau
siap antar (delivery order) karakter aplikasi scanner khusus akan tampil
yang dipakai pada proses enkripsi disini seperti gambar dibawah ini :
dibatasi dengan jumlah maksimum Seperti contoh gambar diatas jika
karakter yaitu 50 karakter, adapun pada aplikasi scanning tidak menggunakan
contoh karakter diatas berjumlah 23 sandi algoritma RSA maka akan
karakter sehingga didapatkan kode memunculkan kode hash atau kode
batang QR Code seperti gambar enkripsi dari nama, lokasi, menu
dibawah ini : pesanan dan id pesanan, sehingga hanya
memunculkan angka-angka enkripsi
Adapun diatas adalah kode batang QR
seperti contoh gambar diatas, namun
Code yang telah terenkripsi, sehingga
jika menggunakan aplikasi pemindai
dalam proses scanning data nantinya
khusus yang telah diberikan sandi
dibutuhkan aplikasi scanning atau
algoritma RSA nantinya maka scanning
pemindai QR Code khusus yang telah
kode batang QR Code akan
disetting atau diberi sandi algoritma
mendekripsikan dari setiap kode hash
RSA agar dapat mengetahui isi dari
atau kode enkripsi yang ada pada
setiap pemesanan makanan dari setiap
batang QR Code itu sendiri sehingga
konsumen. Yang nantinya aplikasi ini
dapat diketahui keasliannya seperti
diharapkan dapat mempermudah dalam
contoh gambar dibawah ini :
melakukan proses pemesanan maupun
kurir yang mengantarkan makanan
(delivery order) dan mengurangi
adanya pemalsuan, kecurangan dan Pada gambar scanning diatas adalah
salah antar kepada konsumen. contoh aplikasi scanning kode batang
QR Code yang telah menggunakan
sandi algoritma RSA sehingga kode
batang yang awalnya terenkripsi akan
3.7 Analisa Hasil didekripsikan oleh aplikasi scanning
3.7.1 Analisa hasil dan pengujian khusus untuk dapat mengetahui nama,
Scanning Kode Batang QR Code lokasi, menu pesanan dan id konsumen.
Konsumen delivery order
Yang nantinya diharapkan
Pada pengujian scanning ini dalam pengaplikasiannya tidak akan
dilakukan dengan menggunakan terdapat lagi pemalsuan ataupun
aplikasi scanner khusus yang telah kecurangan konsumen dalam proses
diberikan sandi algoritma RSA sehingga delivery order dikarenakan setiap
jika kode batang QR Code yang telah konsumen yang memesan akan
terenkripsi discan akan dapat diketahui mendapatkan kode batang QR Code
isi keaslian dari data tersebut karena yang tidak sama dan telah dienkripsi
dalam proses ini aplikasi scanner akan oleh sandi algoritma RSA tersebut, yang
mendekripsikan kode hash atau kode memungkin bagi konsumen/user tidak
enkripsi yang ada pada kode batang QR mendapatkan kerugian karena
kesalahan pengiriman dan bagi pihak kunci public dan kunci privat, dengan
rumah makan/penyedia jasa makanan kunci public yaitu p = 7, q = 13, n = 91,
tidak akan mendapatkan kerugian Φ(n)= 72, e = 5 dan kunci privatnya adalah
karena adanya kesalahan ataupun d = 29, maka proses enkripsinya dengan
pemalsuan pengiriman. cara id pembeli, tanggal pembeli dan nama
driver dijadikan atau dikonversikan
IV. Pembahasan
kedalam kode ASCII lalu kemudian
Pada bab ini akan dijelaskan tentang dienkripsi menggunakan rumus ci =
e
proses pengimplementasian integrasi mi mod nsehingga rumus perhitungannya
sistem antara Delivery Order (Pemesanan seperti dibawah ini :
Makanan Secara Online) yang berlabel
1. Id pembeli disini bersifat automatis
QR Code yang telah terenkripsi algortima
dimisalkan id pembeli yaitu 12.
RSA dengan aplikasi scan QR Code
2. Tanggal pembeli : 12-10-2018
algoritma RSA berbasis androi, sesuai
3. Nama driver : doni
perancangan sisetem yang telah dibahas
Konversi kode ASCII dari id pembeli,
pada bab 3 serta melakukan pengujian
tanggal pembeli dan nama driver seperti
sistem yang telah dibangun.
dibawah ini :

1. IdPembeli ―12‖ Konversi kode


4.1 Proses Sandi Algoritma RSA ASCIInya adalah 49,50
Pada proses sandi Algoritma RSA 2. Tanggal Pembeli―12-10-20‖
ini, akan dilakukan beberapa ujicoba Konversi Kode ASCIInya
enkripsi pada nama pemesan, alamat adalah49,50,45,49,48,45,50,48,49,
pemesan, menu pesanan, kode pesanan 56
yang nantinya akan dienkripsi. Adapun 3. Nama Driver ―doni‖ Konversi kode
prosesnya seperti gambar 4.1 dibawah ini : ASCIInya adalah 100,111,110,105.
Jika id pembeli, tanggal pembeli
Penjelasan pada proses enkripsi dan nama driver telah dikonversikan
algoritma RSA ini dilakukan oleh sistem, kedalam kode ASCII maka proses enkripsi
dimana nantinya konsumen atau pihak dapat dilakukan, artinya dalam proses
pemesan melalui delivery order yang telah enkripsi kode harus dikonversikan
melakukan login dan memesan makanan kedalam bentuk kode ASCII terlebih
dengan mengisikan sesuai format yang dahulu, rumus yang digunakan dalam
ditentukan, lalu pesanan konsumen akan proses enkripsi adalah ci = miemod
diproses oleh sistem, sehingga jika nsehingga didapatkan kode chipertext atau
pesanan konsumen tersedia maka kode yang telah dienkripsi dari kode
konsumen/pemesan (delivery order) akan ASCII ―id pembeli, tanggal pembeli dan
mendapatkan authentifikasi berupa QR nama driver‖ seperti berikut :
Code yang telah terenkripsi oleh sistem ―142,74,267,379,74,257,56,70,74,257,70,2
Pada proses enkripsi, pesan yang 57,379,267,152,71,384,365‖kemudian dari
dienkripsi adalah id pembeli, tanggal chipertext tersebut akan langsung
pembeli &nama driver. Pada proses digenerate menjadi kode batang QR Code
enkripsi kunci yang digunakan adalah yang nantinya itu menjadi kode pemesanan
untuk konsumen yang akan discan oleh
kurir atau driver pengantar pesanan dilihat pada menu history karena telah
menggunakan aplikasi scanner khusus. didekripsikan.

Dari percobaan diatas dapat disimpulkan 4.3 Contoh Kasus Kecurangan


bahwadata kode batang Qr Code Manipulasi QR Code
pemesanan delivery order konsumen Contoh kasus yang dimanipulasi
adalah benar sehingga aplikasi scaning tes oleh orang lain. Misalkan ada
berhasil, namun jika data kode batang Qr authentifikasi berupa QR Code pesanan
Code palsu atau dimanipulasi maka sistem makanan dengan data QR Code palsu.
tidak akan bisa memproses sehingga status Maka jika terdapat masalah pada kode QR
pembayaran konsumen delivery order Code yang bukan dari pihak aplikasi
tidak akan berganti terbayar, pada proses delivery order, sistem akan dapat
scanning kurir atau driver pengantar mengetahui sehingga, misalkan data QR
pesanan aplikasi scanning yang di gunakan Code yang dibuat itu palsu ketika
akan otomatis melakukan dekripsi kode dilakukan proses scanning menggunakan
batang QR Code konsumen delivery order Algoritma RSA output yang dikeluarkan
sehingga data konsumen berupa QR Code akan berbeda pada perangkat android.
tidak akan bisa mudah di manipulasi.

4.2 Proses Dekripsi Algoritma RSA


Pada proses dekripsi algoritma RSA Dan apabila data tersebut tidak
disini, data yang telah dienkripsi berupa terenkripsi, maka hasil output data yang
kode hash delivery order berbentuk QR akan dikeluarkan tidak berupa validasi
Code. Selanjutnya akan didekripsi data yang telah terbayar atau berupa data
kembali dengan menggunakan aplikasi tidak terbayar dan sistem tidak akan
scanner khusus yang telah terintegrasi mengetahui transaksi apa pada saat kita
dengan sistem sehingga nantinya akan melihatnya dihistory, contoh gambar
muncul kode awal dan pesanan dapat seperti dibawah ini :
diproses artinya pesanan telah terbayar,
seperti pada gambar 4.3 berikut ini
:Penjelasan pada proses deskripsi ini,
dilakukan oleh sistem. Dimana nantinya
konsumen yang telah memesan (delivery
order ) akan mendapatkan authentifikasi
berupa kode QR Code yang telah
terenkripsi, kemudian akan discan
menggunakan aplikasi android scanner
khusus. Sehingga proses deskripsi ini
dimulai dengan menscan authentifikasi Gambar 4.6 Data Dekripsi Dengan
pesanan konsumen berupa kode QR Code Data Palsu/Manipulasi
yang output dari hasil scan tersebut adalah
tanda validasi bahwa makanan benar telah 4.4 Proses Pengimputan Data,
terbayar dan isi kod QR Code akan dapat Pemesanan &Delivery Order Pada
Website
Pada proses desain login, admin
akan memasukkan user dan password yang
telah ada pada sistem atau website
Delivery Order, dapat dilihat pada gambar Gambar 4.9Data Pengguna Yang
4.7 berikut ini : Tersimpan
Pada data pengguna diatas berisikan
Pemilik lapak atau Pemilik toko, Driver,
Admin, dan User Pembeli selaku (Delivery
Order) sehingga nanti dalam proses
pemesanan makanan atau proses delivery
order dapat diketahui rumah makan, driver
yang akan melakukan proses transaksi,
kemudian proses transaksi tersebut akan
Gambar 4.7Proses Login Admin tersimpan dalam menu Histroy Transaksi
Website seperti gambar 4.10 dibawah ini :
Pada desain sistem login admin,
admin memasukkan user dan password
yang telah ada pada sistem. Dan kemudian Setelah admin melakukan
melanjutkan proses penginputan data perjanjian kerjasama maka pelapak
setting pertama bisa dilihat pada gambar atau rumah makan penyedia pesanan
4.8. dapat melakukan pemesaran melalui
akun yang telah dibuat melalui admin
pada web delivery order, seperti
gambar dibawah ini, gambar dibawah
ini adalah contoh login pelapak atau
rumah makan :
Pada web admin pengimputan data
diatas pada menu management user Pada menu login pelapak user dan
digunakan untuk membuat atau membuka password yang diinputkan adalah user dan
akun baru seperti pelapak (rumah makan), password yang telah dibuat oleh admin
driver ataupun user (pemesan) namun user dan telah melakukan kerjasama dengan
dapat membuat akun sendiri menggunakan admin, sehingga admin dapat melakukan
aplikasi android delivery order pada pemasaran makanannya atau menu apa
ponselnya masing-masing maka akan yang disediakan, seperti pada
muncul data yang telah tersimpan pada gambar4.12 berikutini:
menu management user seperti gambar 4.9
dibawah ini :
Gambar 4.12Web Pemilik Toko Gambar 4.13 Desain Tambilan
LoginUser Android
Pada gambar 4.12 diatas terdapat
beberapa menu yaitu menu master lokasi Gambar diatas adalah tampilan
dimana menu ini untuk menentukan letak awal atau login dari aplikasi Delivery
lokasi dari pelapak atau rumah makan Order dismarthphone, aplikasi delivery
yang menjalin kerja sama dengan admin order memiliki beberapa menu yaitu menu
atau dengan web delivery order tersebut, Daftar hidangan, History pemesanan dan
yang kedua adalah menu master makanan Keluar.Yang pertama ialah menu daftar
menu ini memuat segala macam barang hidangan, menu ini digunakan untuk
dagangan pelapak atau rumah makan melihat hidangan yang tersedia dirumah
sehingga menu ini berisikan nama produk, makan yang telah sekaligus memilih
harga, detail produk beserta foto produk, hidangan yang ingin dipesan atau ingin di
produk disini yaitu berupa makanan siap delivery order tentunya hidangan-hidangan
saji yang akan di delivery oder, yang tersebut sesuai dengan rumah makan yang
nantinya semua transaksi tersebut akan telah menjalin kerjasama dengan pihak
dimuat pada menu transaksi, jika terjadi aplikasi. Kedua history pemesanan, pada
transaksi maka sistem akan memberikan menu history pemesanan inilah transaksi
notifikasi kepada pelapak atau rumah jual beli akan dicatat dan diketahui proses
makan yang nantinya rumah makan akan statusnya seperti contoh makanan masih
segara memproses transaksi tersebut dalam proses pemasakan atau makanan
dengan menyediakan makanan pesanan dalam proses pengiriman kurir yang
konsumen (delivery order), ketika nantinya menu ini akan dapat mencetak
makanan telah siap pelapak akan kode QR Code sesuai nama, alamat, kode,
memberikan status proses, kemudian dan menu pemesanyang tentunya juga
secara otomatis sistem akan memberikan kode tersebut nantinya akan dienkripsi
authentifikasi kepada driver, adapun dengan Algoritma RSAsehingga data
proses langkah-langkah pemesanan pada pemesanan akan terjaga keamannnya
aplikasi delivery order di android adapun contoh menu tampilan Delivery
smartphone adalah sebagai berikut : Order user diandroid sebagai berikut :

Langkah Pertama adalah download Sehingga Langkah Kedua yang kita


aplikasi delivery order diibaratkan aplikasi lakukan jika ingin memesan makan
berada diplaystore ketika telah menggunakan aplikasi tersebut ialah
terdownload makan install aplikasi lalu dengan memilih menu Daftar Hidangan
jalankan aplikasinya, sehingga nantinya adapun gambar jelasnya seperti dibawah
tampilan login usernya akan seperti berikut ini :
:
Gambar 4.15 Tampilan Menu Gambar 4.22 Bukti Data Konsumen
Pemesanan di Android Asli dan Transaksi Selesai
Pada tampilan diatas itu adalah Pada proses akhir yaitu ketika kode
tampilan menu hidangan terdapat dua batang QR Code yang telah terenkripsi
pilihan yaitu menu hidangan es sunder tersebut discan oleh kurir jika kode
bolong dan menu hidangan bebek tersebut asli maka status transaksi akan
galak,sehingga jika konsumen ingin berubah menjadi ―terbayar‖ dan proses
membeli atau memesan secara delivery transaksi selesai, namun apabila dalam
order maka konsumen tinggal klik menu proses scanning kode batang QR Code
yang ingin dipesan seperti contoh pada bukan yang asli maka status transaksi tidak
gambar sampingnya ialah konsumen akan berubah menjadi terbayar sehingga
memesan menu bebek galak dengan status transaksinya tetap yaitu proses,
jumlah 5 bungku, lalu tinggal pilih menu disini perbedaan antara sistem dilevery
simpan, maka secara otomatis pesanan order yang menggunakan keamanan data
yang memiliki kelebihan agar data atau
Pada proses akhir yaitu ketika kode
pesanan tidak dengan mudah terjadi
batang QR Code yang telah terenkripsi
pemalsuan order atau order fiktif, adapun
tersebut discan oleh kurir jika kode
contoh transaksi delivery order yang
tersebut asli maka status transaksi akan
berubah menjadi ―terbayar‖ dan proses
transaksi selesai, namun apabila dalam
4.5 Perbandingan Sistem
proses scanning kode batang QR Code
Integrasi pada sistem
bukan yang asli maka status transaksi tidak
pemesanan makanan (delivery order)
akan berubah menjadi terbayar sehingga
dikembangkan untuk mempermudah
status transaksinya tetap yaitu proses,
pemesanan makanan dan memberikan
disini perbedaan antara sistem dilevery
solusi cepat pada proses delivery
order yang menggunakan keamanan data
order dikarenakan makanan dapat di
yang memiliki kelebihan agar data atau
cek ada atau tidaknya. Data
pesanan tidak dengan mudah terjadi
pengembangan sistem dan perbedaan
pemalsuan order atau order fiktif, adapun
sistem lama dengan sistem baru dapat
contoh transaksi delivery order yang benar
dilihat pada tabel 4.1
dan sampai proses transaksi selesai, seperti
gambar dibawah ini :
4.6 Pengujian
A. Pengujian Black Box
Pengujian black box
merupakan metode pengujian
yang berfokus pada kebutuhan
fungsional dari
aplikasi.pengujian black box
dilakukan dengan focus pada
hasil keluaran yang diharapkan
dari sistem yang diuji, apakah Pada penelitian ini masih sangat jauh
dapat berjalan sesuai yang dari nilai sempurna, penulis menyarankan
diharapkan atau tidak. Tabel bagi peneliti selanjutnya agar :
pengujian black box dapat
1. Peneliti selanjutnya diharapkan
dilihat pada tabel 4.2.
menggunakan penyandian QR
Code dengan metode atau
algoritma terbaru.
V. ESIMPULAN DAN SARAN
2. Sistem ini masih memiliki
5.1 Kesimpulan kekurangan pada akurasi GPS
Berdasarkan uraian permasalahan yang masih rendah, sehingga
dan pembahasan pada bab sebelumnya disarankan untuk peneliti
mengenai “Pengembangan Aplikasi selanjutnya melakukan
Delivery Order Menggunakan Algoritma pengembangan sistem dengan
RSA Pada Authentifikasi QR Code pengambilan titik koordinat
Berbasis Android”, Maka dapat diambil menggunakan alat bantu berupa
kesimpulan bahwa : GPS Tracker.
3. Pada proses pengambilan titik
1. Implementasi QR Code yang koordinat pengembang
telah terenkripsi menggunakan diharapkan dapat lebih
Algoritma RSA pada mendetailkan setiap garis titik
authentifikasi pemesanan koordinat yang diambil pada
makanan (delivery order) dapat lokasi tanah pemohon.
mempermudah transaksi dan
dapat menjaga keamanan data. DAFTAR PUSTAKA
2. Sistem atau Aplikasi yang Devha, Canda P. 2013.
digunakan dapat mempermudah PengamananPesanRahasiaMengg
dan mempercepat transaksi unakanAlgoritmaKriptografiRivest
dikarenan sistem yang Shank Adleman (RSA),
digunakan juga terhubung UniversitasPendidikan Indonesia.
dengan pelapak atau penyedia
makanan ( rumah makan) Asmono. 2013.PemanfaatKomponen
3. Sistem atau Aplikasi yang Layer DalamSistemOperasi
dikembangkan dapat menguji Android, Universitas Indonesia.
adanya data yang dimisalkan
Ariadi.( 2011).AnalisisdanPerancanganKo
palsu dan dapat mengetahui
deMatriksDuaDimensiQuickRespo
proses transaksi sehingga dapat
nse(QR)Code.Skripsi.UniversitasS
mengurangi driver terlanjur
umateraUtara.
datang ke tempat namun tempat
makan tidak menyediakan Ashford, Robin. 2010. QR Code and
makanan yang dipesan. academic libraries reaching mobile
users.(Online)http://crln.acrl.org/c
5.2 Saran ontent/71/10/526.full
Bruen,Aiden.A&Forcinito,Mario.A. Wildan, Habibi. 2011. Undergraduate
2011.Cryptography,InformationTh Thesis Google Maps. ITS : Surabaya.
eory,andError-Correction:
AHandbook forthe21stCentury. Yuhana, LailiUmi. 2010.Pemanfaatan
JohnWiley&Sons :Canada. Google Maps
UntukPemetaan&Pencarian Data
EdyWinarno.2009.PenggunaanXML PerguruanTinggiNegeri Di
Database Indonesi, ITS : Surabaya.
XindicepadaAplikasiKriptografime
nggunakan Data XML Abdul, Kadir. 2003.
untukKeamananDistribusi Data, PengenalanSistemInformasi. ANDI
JurnalTeknologiInformasi Yogyakarta, Yogyakarta.
DINAMIK Volume XIV, No.2.
RifkiSadikin. 2012.
Bunafit Nugroho. 2004. PHP dan MySQL KriptografiuntukKeamananJaringa
dengan editor Dreamweaver n. EdisiPertama. Penerbit
MX.ANDIYogyakarta, Yogyakarta. ANDI,Yogyakarta.

Denso Wave Incorporated. 2013. Shodiq, Amri. 2008. Pemrograman


Answers to your question about Google Maps API.ITB : Bandung
the QR Code. (Online)
http://www.qrcode.com/en/

Denso ADC.2011. QR Code


Essentials.http://www.nacs.org
/LinkClick.aspx?fileticket=D1FpV
AvvJuo%3D&tabid=1426&mid=4
802.
Munir,Rinaldi.2006.Kriptografi,Algoritma
RSA
&ElGamal.DapartemenTeknikInfor
matika, ITB:Bandung.

Savitri, Ayunda W. 2013. Android kian


mengepakkan sayapnya di
Indonesia.Sumber :Okezone.com.

JurnalSarjanaTeknikInformatika e-ISSN:
2338-5197 Volume 1 Nomor 1,
Pemanfaatan Google Maps Api
Untuk Pembangunan Sistem
Informasi Manajemen Bantuan
Logistik Pasca Bencana Alam
Berbasis Mobile Web.Juni 2013.

Anda mungkin juga menyukai