Abstrak
Kedudukan sebuah Transkrip nilai sangatlah penting, setara dengan kedudukan sebuah Ijazah. Transkrip
nilai berisi informasi mengenai matakuliah, jumlah SKS, Nilai pada masing-masing matakuliah, dan
Indeks Prestasi Komulatif. Sehingga dari transkrip nilai dapat diperoleh gambaran bagaimana prestasi
akademik dari pemilik transkrip. Selain sebagai bukti selesai studi, Transkrip nilai sangat diperlukan
dalam melamar pekerjaan pada suatu instansi atau perusahaan. Oleh karena itu transkrip nilai merupakan
suatu dokumen yang bernilai tinggi dan harus dijamin keaslian isinya, maupun sumber yang
mengeluarkannya. Dewasa ini, perkembangan teknologi sangat pesat terutama dalam bidang teknologi
informasi. Kondisi tersebut menyebabkan transkrip nilai dapat disalin dan dicetak secara mudah oleh
pihak yang tidak berwenang sehingga menyebabkan munculnya transkrip nilai palsu, atau transkrip yang
sudah direkayasa isinya. Pemalsuan ataupun modifikasi nilai dapat dilakukan dengan mudah salah
satunya disebabkan karena tidak adanya sistem keamanan pada transkrip nilai yang diterbitkan.
Berdasarkan penjelasan diatas, maka dilakukan penelitian yang bertujuan untuk merancang dan membuat
sistem keamanan pada transkrip nilai. Sistem keamanan pada penelitian ini dirancang menggunakan
QR Code dan algoritma kriptography asymmetric RSA (Rivest Shamir Adleman). Sehingga transkrip
nilai tidak mudah dipalsukan atau dimodifikasi isinya, dan proses verifikasi keaslian transkrip dapat
dilakukan dengan cepat, mudah, dan secara offline dengan menggunakan smartphone berbasis android.
Kata Kunci: Algoritma RSA, Berbasis Android, QR Code, Sistem keamanan Transkrip.
28
Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
Pembangkitan Kunci
Pembangkitan kunci terdiri atas pembangkitan
kunci public (e,n) dan kunci private (d,n). Kunci-kunci
tersebut diperoleh dengan menggunakan aturan
pembangkitan kunci [1],[2] sebagai berikut:
1. Pilih dua buah bilangan prima sembarang, p Gambar 1. Jenis-Jenis QR Code
dan q. p dan q bersifat rahasia. Versi QR Code
2. Hitung n = p.q (sebaiknya p ≠ q, sebab jika Perbedaan ukuran dari QR Code disebut dengan istilah
p=q maka n = p2 sehingga p dapat diperoleh versi. Ada 40 versi yang tersedia. Versi yang terkecil
dengan mudah dengan menarik akar pangkat dua adalah versi 1 (21 x 21 modul) dan yang terbesar adalah
dari n). n tidak bersifat rahasia. versi 40 (177 x 177 modul). Setiap versi lebih besar 4
3. Hitung ф(n) = (p-1)(q-1).
ф(n) bersifat modul dari versi sebelumnya dan setiap versi memiliki
rahasia. kapasitas maksimum, tergantung pada mode atau tipe
4. Pilih bilangan bulat e (tidak rahasia) untuk data yang digunakan. Gambar 2 memperlihatkan versi
kunci publik, yang relatif prima terhadap ф(n).
QR Code [4].
5. Hitung kunci private (bersifat rahasia) dengan
menggunakan persamaan e.d ≡ 1(mod ф(n)) yang
ekivalen dengan e.d = 1 + kф(n), sehingga secara
sederhana d dapat dihitung dengan persamaan 1.
d= (1)
Proses Dekripsi
Dekripsi dari ciphertext ke plainteks 3. Metode Penelitian
menggunakan kunci private (d,n) Proses dekripsi
dilakukan dengan menggunakan persamaan 3 [1] [2]. Perancangan penerapan algoritma RSA dan QR
Code pada penelitian ini dapat dilihat pada Gambar 3.
mi = cid mod n (3) Data dari transkrip nilai dan KTP yang terdiri dari No.
Ijazah, Nama, No. Mahasiswa, Tempat Lahir, Tanggal
Lahir, Jurusan, Program Studi, Jumlah Nilai, Jumlah
SKS, dan IPK serta data Nomor induk Kependudukan
(NIK) merupakan data penting yang dienkripsi dengan
29
Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
menggunakan algoritma RSA dan kunci private dari Diagram Verifikasi Keaslian Transkrip Nilai dengan
kampus pembuat transkrip nilai. Hasil dari proses Smartphone
enkripsi tersebut adalah ciphertext, yaitu data yang
sudah tersandi dan tidak dimengerti lagi maknanya. Dari gambar tersebut dapat dilihat bahwa proses
Kemudian dari ciphertext tersebut dibangkitkan suatu verifikasi keaslian transkrip nilai dapat dilakukan oleh
QR Code. pihak-pihak yang membutuhkannya secara offline
Message M
dengan menggunakan aplikasi GPA validator yang telah
(Data transkrip) di instal pada smartphone android.
GPA Validator berfungsi untuk membaca QR Code
yang terdapat pada transkrip nilai sekaligus melakukan
dekripsi terhadap ciphertext yang tersimpan pada QR
Code tersebut. Hasil pembacaan GPA Validator adalah
Kunci
Private PNL pesan asli (plaintext) yang berupa No. Ijazah, Nama,
No. Mahasiswa, Tempat Lahir, Tanggal Lahir, Jurusan,
Program Studi, Jumlah Nilai, Jumlah SKS, dan IPK
serta data Nomor induk Kependudukan.
Enkripsi Ciphertex
RSA 256 bit
Data hasil pembacaan GPA Validator kemudian di
Transkrip
Nilai bandingkan dengan data yang terdapat pada lembar
+ transkrip nilai dan KTP. Apabila data tersebut sama,
maka transkrip asli. Dan sebaliknya apabila data
tersebut tidak sama maka transkrip nilai palsu atau telah
QR Code QR Code
dimodifikasi.
Generator
Transkrip
Nilai
+ Pilih p dan q
Pilih k, k≥1
Nama, NIM, No
Ijazah, Tmp Lahir,
Jur, Prodi, IPK
Hitung n=pxq
Hitung d=
No
(1+k.phi)/e
Ciphertex Pilih e,
Dekripsi
1<e<phi Yes
RSA 256
bit No
Kunci publik (e,n)
Gcd(e, phi)=1? Kunci privat (d,n)
KTP Message M
(NIK) (Data transkrip +
=? NIK)
Yes
Stop
YA TDK A
Transkrip Transkrip
Asli Palsu
Gambar 4. Blok
30
Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
Gambar 5. Flowchart Pembuatan Kunci Proses Dekripsi dilakukan dengan menggunakan kunci
publik (e,n). Ciphertext terlebih dahulu di bagi-bagi
B. Perancangan Proses Enkripsi dalam blok-blok ciphertext. Kemudian blok-blok
Proses perancangan enkripsi dilakukan dengan ciphertext tersebut di dekripsi. Hasil dekripsi yang
menggunakan algoritma RSA, dan kunci private (d,n). berupa blok-blok plaintext kemudian diubah kedalam
Perancangan proses enkripsi digambarkan dengan karakter ASCII untuk menampilkan pesan asli.
flowchart seperti pada Gambar 6. Dari flowchart dapat Perancangan proses dekripsi digambarkan dengan
dilihat bahwa plainteks terlebih dahulu diubah kedalam flowchart seperti pada Gambar 7
kode ASCII decimal, kemudian dibagi-bagi dalam blok-
blok yang panjangnya tertentu. Blok-blok plainteks 4. Hasil dan Pembahasan
tersebut kemudian di enkripsi satu persatu sehingga Pada tahap ini dilakukan pengujian terhadap
membentuk blok-blok cipherteks. aplikasi yang dibuat, yaitu pengujian untuk proses
enkripsi dan pembangkitan QR Code, pembuatan
START transkrip nilai ber-QR Code, pembacaan QR Code dan
proses dekripsi dengan GPA Validator, pembacaan QR
Plaintext Code dengan aplikasi QR Code reader lain, penentuan
ukuran pencetakan QR Code, pembacaan QR Code
Kode ASCII desimal (M) yang rusak dan kotor. Hasil dan pembahasan dari
masing-masing pengujian diuraikan pada point-point
berikut.
Susu Mn, Enkripsi Mn
M ≥76 digit? No
Mn = sisa digit Cn = Mn d mod n
STOP
START
C
QR Code,
Ciphertext (C)
Cek 2 digit pertama M
Yes Tampilkan
Setelah data-data tersebut di inputkan, maka proses
Gabung M= Mi+Mn
plaintext
enkripsi sekaligus proses pembangkitan QR Code dapat
STOP
dilakukan dengan memilih tombol generate yang
C terdapat pada user interface tersebut. Hasil enkripsi
. yang berupa ciphertext dan QR Code akan tampil.
Terdapat tombol reset dan tombol save pada user
Gambar 7. Flowchart Perancangan Proses Dekripsi interface tersebut. Tombol reset digunakan untuk
31
Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
menghapus data sebelumnya, sehingga memudahkan ulang sehingga diperoleh ukuran QR Code yang masih
user untuk memasukkan data baru yang akan dienkripsi. bisa terbaca dan ukuran QR Code yang tidak dapat
Sedangkan tombol save digunakan untuk menyimpan terbaca lagi dari jarak pembacaan 6 inch. Hasil
QR Code yang dibangkitkan. pengujian dan perhitungan dapat dilihat pada Tabel 2.
4.2. Hasil Pembangkitan Versi dan Ukuran Tabel 2. : Ukuran Optimal Pencetakan QR Code
QR Code.
No. Versi Ukuran optimal Ukuran terkecil
Dengan mengubah panjang karakter plaintext yang QR Code pencetakan pencetakan
mungkin, untuk data Nama mahasiswa, Tempat Lahir, (cm) (cm)
Tanggal Lahir, Jurusan, dan Program studi maka
diperoleh sampel 3 jenis panjang plaintext yang 1. 8(49x49) (2,98 x 2,98) (2 x 2)
mungkin. Panjang karakter untuk Nama mahasiswa, Level L
Tempat Lahir, Jurusan, dan Program studi dapat
berbeda antara mahasiswa yang satu dengan yang lain. 2. 10(57x5) (3,47x3,47) (2,2 x 2,2)
Sementara data lain seperti NIK, No. Ijazah, No. Level L
Mahasiswa, Jumlah Nilai, Jumlah SKS, dan IPK
3. 13(69x69) (4,20 x 4,20) (2,3 x 2,3)
memiliki panjang karakter yang sama untuk setiap
Level L
Mahasiswa. Hal tersebutlah yang mendasari panjang
plaintext bisa berbeda.
Dari hasil pengujian, diperoleh plaintext
terpendek yang mungkin adalah 101 karakter, yang Ukuran optimal QR Code yang akan dicetak pada
terpanjang 187 karakter, dan kebanyakan menghasilkan kertas dapat dihitung dengan menggunakan,
plaintext dengan panjang 145 karakter. Berdasarkan QR Code Size = (Scanning Distance / Distance Factor)
plaintext tersebut dilakukan proses enkripsi dan * Data Density Factor [6]. Dimana, Distance Factor
pembangkitan QR Code, sehingga diperoleh versi QR dimulai dengan 10, tetapi dapat dikurangi 1 disebabkan
Code yang dibangkitkan dengan menggunakan Zxing. karena pencahayaan yang kurang atau kemiringan posisi
Tabel 1. memperlihatkan versi dan ukuran dari QR pembacaan. Data Density Factor merupakan nilai modul
Code yang dibangkitkan berdasarkan panjangnya dari versi QR Code dibagi dengan 25 [6].
karakter ciphertext yang disimpan ke dalam QR Code. Berdasarkan hasil pengujian tersebut, ukuran QR Code
yang dipilih untuk dicetak pada lembar transkrip nilai
Tabel 1. Versi dan ukuran QR Code yang dibangkitkan adalah ukuran 3 cm x 3 cm. Gambar 9. memperlihatkan
hasil penyisipan QR Code pada lembar transkrip nilai
No. Panjang Panjang QR Code Ukuran
plaintext ciphertext yang QR Code
(karakter) (karakter) dibangkitkan (cm)
QR Code yang dibangkitkan kemudia dicetak, lalu Untuk melihat apakah QR Code yang dibangkitkan
dibaca dengan menggunakan aplikasi GPA Validator masih dapat dibaca dengan baik atau tidak apabila QR
dan aplikasi QR Code biasa yang umum terdapat di Code rusak atau kotor, maka dilakukan pengujian
internet. Tampilan hasil pembacaan QR Code pada dengan merusak dan mengotori sebagian area dari QR
smartphone menggunakan GPA Validator diperlihatkan Code. Hasil pembacaan diperlihatkan oleh Tabel 3.
oleh Gambar 10. sedangkan tampilan hasil pembacaan
QR Code dengan menggunakan aplikasi QR Code Tabel 3. Hasil Scanning QR Code Rusak dan Kotor
reader lain diperlihatkan oleh Gambar 11.
No. QR Kondisi Tingkat Pembacaan
Code QR Koreksi Pada
Code Kesalahan Smartphone
1. Rusak L(57x57) Berhasil
dibaca
Simpulan
1. Versi QR Code yang dibangkitkan bervariasi,
tergantung pada panjang karakter ciphertext yang
dihasilkan oleh proses enkripsi, tipe data dan level
correction error QR Code yang digunakan.
Gambar 11. Hasil pembacaan QR Code reader lain
2. QR code dengan korektion error level L, masih
dapat dibaca isinya dengan baik walaupun QR code
Dari hasil pengujian dapat disimpulkan bahwa proses
tersebut terkena air dihampir semua permukaannya.
verifikasi keaslian transkrip nilai hanya dapat dilakukan
3. QR code dengan korection error level L tidak dapat
dengan aplikasi GPA Validator. Aplikasi QR Code
dibaca lagi jika terdapat kotor terkena tinta yang
reader yang lain tidak dapat digunakan untuk membaca
tebal pada salah satu finding patternnya, dan jika
plaintext (pesan asli) yang terdapat dalam QR Code,
area yang terkena tinta tersebut banyak. QR code
yang terbaca hanya hasil enkripsinya (ciphertext) saja.
masih dapat diverifikasi dengan baik jika area QR
4.5. Hasil Scanning QR Code yang Rusak code yang terkena tinta tidak terlalu banyak.
dan Kotor
33
Jurnal Infomedia Vol.1 No.2 Desember 2016 | ISSN: 2527-9858
6. Daftar Acuan
[1] Munir, R., Kriptografi, Bandung: Informatika,
2006.
[2] Nentawe Y. Goshwe, 2013, Data Encryption and
Decription Using RSA Algorithm in a Network
Environment, IJCSNS International Journal of
Computer Science and Network Security, Vol. 13
No.7, July.
[3] Type of QR Code,
http://www.qrcode.com/en/codes/
[4] Information capacity and versions of the QR
Code,
http://www.qrcode.com/en/about/version.html
[5] Error correction feature
http://www.qrcode.com/en/about/error_correction.
html
[6] QRStuff,
http://www.qrstuff.com/blog/2011/01/18/what-
size-should-a-qr-code-be
34