IMPLEMENTASI
QR CODE
DAN ALGORITMA
VIGENERE
PADA SISTEM LAPORAN KEHILANGAN
KENDARAAN BERMOTOR
SKRIPSI
GINANJAR CIPTO PRASETYO
091402008
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
IMPLEMENTASI
QR CODE
DAN ALGORITMA
VIGENERE
PADA
SISTEM LAPORAN KEHILANGAN KENDARAAN BERMOTOR
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh
ijazah Sarjana Teknologi Informasi
GINANJAR CIPTO PRASETYO
091402008
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI QR CODE DAN ALGORITMA
VIGENERE PADA SISTEM LAPORAN
KEHILANGAN KENDARAAN BERMOTOR
Kategori : SKRIPSI
Nama : GINANJAR CIPTO PRASETYO
Nomor Induk Mahasiswa : 091402008
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dani Gunawan, ST.MT Romi Fadillah Rahmat, B.Comp.Sc.M.Sc
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
PERNYATAAN
IMPLEMENTASI QR CODE DAN ALGORITMA VIGENERE PADA SISTEM LAPORAN KEHILANGAN KENDARAAN BERMOTOR
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 9 Oktober 2014
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Allah SWT yang maha pengasih lagi maha penyayang. Karena berkat rahmat dan hidayat-Nya, penulis dapat menyelesaikan skripsi ini. Serta tidak lupa Salawat beriring salam penulis sampaikan kepada junjungan kita, Nabi Muhammad SAW.
Dalam penyelesaian skripsi ini, banyak pihak yang telah membantu baik moril dan materil. Untuk itu penulis sampaikan ucapan terima kasih dan penghargaan kepada :
1. Kedua orang tua, Kapten Inf. Agus Salam dan Indah Viatiningsih. Yang tidak henti-hentinya memberi doa, dorongan serta motivasi kepada penulis untuk menyelesaikan skripsi ini.
2. Bapak Romi Fadillah Rahmat, B.Comp.Sc.M.Sc dan Bapak Dani Gunawan, ST.MT. selaku dosen pembimbing yang dengan sabar membimbing, meluangkan waktu, tenaga, pikiran serta memberi saran dan masukan kepada penulis.
3. Ibu Sarah Purnamawati, ST, M.Sc dan Bapak Baihaqi Siregar, S.Si.MT selaku dosen penguji dan pembanding yang telah meluangkan waktu serta memberi kritik dan saran untuk menyelesaikan skripsi ini.
4. Bapak Ipda. Pol. Tuchfat lubis, Panit Laka Polsek Patumbak dan Bapak Iptu. Pol. Justar Puba beserta Staf di Dirlantas Poldasu yang telah banyak memberi masukan dan bantuan untuk skripsi ini. Serta kepada seluruh Staf Renmin Dirlantas Poldasu, Staf Setum Poldasu dan Staf Samsat Sumatera Utara yang tidak dapat saya sebutkan satu persatu.
5. Semua dosen, staf dan pegawai Fakultas Ilmu Komputer dan Teknologi Informasi Khususnya Program Studi (S1) Teknologi Informasi.
6. Abangda Heru Ramadhan Hareva, S.Pd, yang banyak memberi bantuan serta motivasi kepada penulis.
7. Teman-teman penulis, khususnya mahasiswa di Teknologi Informasi USU angkatan 2009 yang selalu memberi dukungan dan bantuan.
ABSTRAK
Kurangnya bukti-bukti dan informasi mengenai data pencurian kendaraan bermotor menjadi kendala di dalam pengungkapan kasus. Pengungkapan kasus yang terlalu lama dan banyaknya kasus yang tidak dapat di ungkap menjadikan masyarakat pesimis akan kinerja aparat kepolisian. Oleh karena itu dibutuhkan suatu sistem yang saling terintegrasi serta dapat melakukan pengecekan kendaraan secara mobile dan efisien. Dengan mengimplementasikan QR Code dan algoritma Vigenere untuk media penyampaian informasi secara cepat serta untuk menjaga kerahasiaan data pemilik kendaraan bermotor. Pada penelitian ini juga menggunakan Android sebagai media yang dapat digunakan secara mobile. Berdasarkan pengujian beberapa data, aplikasi
mobile akan menampilkan layar merah pada data yang dilaporkan hilang dan kerahasiaan serta otentikasi data dengan sistem database untuk mencari bukti-bukti dan informasi kendaraan dapat lebih cepat.
IMPLEMENTATION QR CODE AND VIGENERE ALGORITM REPORT OF LOSS VEHICLE SYSTEM
ABSTRACT
The lack of evidence and information about the data theft of motor vehicles become an obstacle in the case of disclosure. Disclosure of cases that are too long and the number of cases that can not be said to make the community pessimistic police performance. Therefore we need an integrated and interconnected system can check the mobile and efficient vehicles. By implementing QR Code and Vigenere algorithm for medium to deliver information quickly and to maintain data confidentiality vehicle owners. In this study also uses Android as a medium that can be used in mobile. Based on some test data, the mobile application will display a red screen on data reported missing and confidentiality and authentication of data with database systems to seek evidence and vehicle information can be more quickly.
DAFTAR ISI
1.4 Batasan Masalah atau Ruang Lingkup Penelitian 3
1.5 Manfaat Penelitian 3
2.1.3 Mengoreksi ksesalahan qr code 8
2.1.4 Manfaat qr code 9
2.1.5 Macam-macam qr code 10
2.2 Sandi Vigenere 12
2.2.1 Cara kerja sandi vigenere 13
2.2.2 Sandi vigenere dengan 95 karakter 15 2.2.3 Syarat Algoritma Kriptografi yang aman 16 2.2.4 Aspek Keamanan data informasi 17
2.3 Android 17
2.3.1 Versi-versi android 18
2.3.2 Arsitektur android 18
2.3.3 Dasar aplikasi android 20
2.3.4 Komponen aplikasi android 20
2.4 Library PHP Qr Code 21
2.5 Library Zxing 22
2.6 Undang-Undang 22
2.6.1 Fungsi peraturan perundang-undangan 22 2.6.2 Undang-undang no.22 tahun 2009 23 2.7 Peraturan Pemerintah Pengganti Undang-Undang 23
2.7.1 Perpu no.80 tahun 2012 23
2.8 Penelitian Terdahulu 23
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Masalah 25
3.2 Analisis Data 25
3.3 Perancangan Sistem 26
3.3.1 Perancangan prosudural sistem 26 3.3.2 Perancangan sandi vigenere pada sistem 26
3.3.3 Arsitektur sistem 29
3.3.4 Flowchart 29
3.3.5 Diagram use case 33
3.3.6 Perancangan antarmuka sistem 37
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem 44
4.2 Implementasi Perancangan Antarmuka 45
4.2.1 Tampilan halaman login 45
4.2.2 Tampilan halaman menu utama admin STNK 45 4.2.3 Tampilan halaman input data admin STNK 46 4.2.4 Tampilan halaman daftar data admin STNK 46 4.2.5 Tampilan halaman edit data admin STNK 47 4.2.6 Tampilan cetak qr code admin STNK 47 4.2.7 Tampilan halaman utama admin laporan 49 4.2.8 Tampilan halaman data laporan admin laporan 49 4.2.9 Tampilan halaman input data admin laporan 50 4.2.10 Tampilan halaman edit data admin laporan 51 4.2.11 Tampilan halaman lihat data admin laporan 52 4.2.12 Tampilan QR Code pada plat kendaraan 53 4.2.13 Tampilan aplikasi mobile user 53 4.3 Implementasi Sandi Vigenere dan QR Code 57 4.3.1 Implementasi sandi vigenere 95 karakter dan qr code 57 4.3.2 Implementasi sandi vigenere 63 karakter pada url 60 4.3.1 Implementasi sandi enkripsi vigenere 95 karakter pada json 61
4.4 Pengujian Sistem 63
4.4.1 Rencana pengujian sistem 63
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 66
5.2 Saran 67
DAFTAR PUSTAKA 68
DAFTAR TABEL
Halaman
Tabel 2.1 Level Koreksi 8
Tabel 2.2 Contoh gambar tabel Vigenere 14
Tabel 2.3 Karakter ASCII yang digunakan 16
Tabel 2.4 Versi Android 18
Tabel 2.5 Penelitian terdahulu yang berkaitan dengan sistem 24 Tabel 3.1 Perancangan sandi vigenere dengan 95 karakter 26 Tabel 3.2 Perancangan sandi vigenere dengan 63 karakter 28
Tabel 3.3 Use case input data 34
Tabel 3.4 Use case edit data 34
Tabel 3.5 Use case hapus data 35
Tabel 3.6 Use case cetak qr code 35
Tabel 3.7 Use case login 36
Tabel 3.8 Use case user scan qr code 36
Tabel 3.9 Use case user input 36
Tabel 4.1 Rencana pengujian sistem 63
Tabel 4.2 Hasil pengujian sistem 64
DAFTAR GAMBAR
Gambar 3.1 Arsitektur sistem dasar 29
Gambar 3.2 Flowchart Scan QR Code 30
Gambar 3.3 Flowchart input pada aplikasi mobile 31 Gambar 3.4 Flowchart input data pada Admin STNK 32 Gambar 3.5 Flowchart input data pada admin Laporan kehilangan 32
Gambar 3.6 Diagram use case 33
Gambar 3.7 Rancangan halaman Login 37
Gambar 3.8 Rancangan halaman menu utama admin STNK 38 Gambar 3.9 Rancangan halaman Input data Admin STNK 38 Gambar 3.10 Rancangan halaman daftar data kendaraan admin STNK 39 Gambar 3.11 Rancangan halaman edit data admin STNK 39 Gambar 3.12 Rancangan halaman cetak qr code admin STNK 40 Gambar 3.13 Rancangan halaman menu utama admin Laporan 40 Gambar 3.14 Rancangan halaman input laporan admin laporan 41 Gambar 3.15 Rancangan halaman data laporan admin laporan 41 Gambar 3.16 Rancangan halaman edit data kehilangan admin laporan 42 Gambar 3.17 Rancangan halaman Input admin laporan 42 Gambar 3.18 Rancangan Aplikasi mobile User 43 Gambar 3.19 Rancangan Plat kendaraan dengan qr code 43
Gambar 4.1 Tampilan halaman login 45
Gambar 4.9 Tampilan data laporan admin laporan 50 Gambar 4.10 Tampilan input data admin laporan 50 Gambar 4.11 Tampilan edit data admin laporan 51 Gambar 4.12 Tampilan lihat data admin laporan 52 Gambar 4.13 Tampilan QR Code pada plat belakang kendaraan 53 Gambar 4.14 Tampilan QR Code pada plat depan kendaraan 53
Gambar 4.15 Tampilan awal aplikasi 54
Gambar 4.16 Library Zxing 54
Gambar 4.17 Tampilan hasil scan 55
Gambar 4.18 Tampilan cek data 56
Gambar 4.19 Tampilan hasil cek data 56
Gambar 4.20 Tampilan about dan keluar 57
Gambar 4.21 QR Code Enkripsi 58
Gambar 4.22 QR Code tidak valid 59
Gambar 4.23 Contoh url dengan metode get 60
Gambar 4.24 Url yang di enkripsi 60
Gambar 4.25 Url yang telah enkripsi 61
ABSTRAK
Kurangnya bukti-bukti dan informasi mengenai data pencurian kendaraan bermotor menjadi kendala di dalam pengungkapan kasus. Pengungkapan kasus yang terlalu lama dan banyaknya kasus yang tidak dapat di ungkap menjadikan masyarakat pesimis akan kinerja aparat kepolisian. Oleh karena itu dibutuhkan suatu sistem yang saling terintegrasi serta dapat melakukan pengecekan kendaraan secara mobile dan efisien. Dengan mengimplementasikan QR Code dan algoritma Vigenere untuk media penyampaian informasi secara cepat serta untuk menjaga kerahasiaan data pemilik kendaraan bermotor. Pada penelitian ini juga menggunakan Android sebagai media yang dapat digunakan secara mobile. Berdasarkan pengujian beberapa data, aplikasi
mobile akan menampilkan layar merah pada data yang dilaporkan hilang dan kerahasiaan serta otentikasi data dengan sistem database untuk mencari bukti-bukti dan informasi kendaraan dapat lebih cepat.
IMPLEMENTATION QR CODE AND VIGENERE ALGORITM REPORT OF LOSS VEHICLE SYSTEM
ABSTRACT
The lack of evidence and information about the data theft of motor vehicles become an obstacle in the case of disclosure. Disclosure of cases that are too long and the number of cases that can not be said to make the community pessimistic police performance. Therefore we need an integrated and interconnected system can check the mobile and efficient vehicles. By implementing QR Code and Vigenere algorithm for medium to deliver information quickly and to maintain data confidentiality vehicle owners. In this study also uses Android as a medium that can be used in mobile. Based on some test data, the mobile application will display a red screen on data reported missing and confidentiality and authentication of data with database systems to seek evidence and vehicle information can be more quickly.
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dikarenakan sebagian besar kendaraan bermotor melintas di jalan raya, Seharusnya Polisi melalui Polisi lalu lintas berhak menindak lanjuti kasus pencurian tersebut. Menurut amanah Undang-Undang Republik Indonesia No.22 Tahun 2009 tentang lalu lintas dan angkutan jalan. Kepolisian Negara Republik Indonesia berwenang mengurusi registrasi dan identifikasi kendaraan bermotor dan pengemudi, penegakan hukum, operasional manajemen dan rekayasa lalu lintas serta pendidikan berlalu lintas. Korps yang bertugas di tubuh Kepolisian Republik Indonesia yaitu Korps Polisi Lalu Lintas.
Beberapa hal inilah yang mendorong pemikiran mengenai membangun sistem yang dapat melakukan pengecekan kendaraan secara mobile, cepat, efektif dan efisien. Android, sandi vigenere dan qr code digunakan dalam penelitian ini karena android merupakan OS (Operating System) mobile yang sangat populer dan banyak digunakan, sedangkan sandi vigenere merupakan sebuah sandi klasik yang memiliki konsep yang relatif sederhana dan banyak digunakan sampai sekarang (Bruen & Forcinito, 2011), sandi yang simpel dan sulit dalam pemecahan sandinya apabila dimodifikasi sedemikian rupa dan qr code merupakan media yang digunakan dalam penyampaian informasi secara cepat dan mendapat respons yang cepat tanpa melakukan input secara manual dengan cara mengetik. Informasi yang dikodekan dalam QR Code dapat berupa URL, nomor telepon, pesan SMS, V-Card, atau teks apapun (Ashford, 2010).
1.2 Rumusan Masalah
1.3 Tujuan Penelitian
Tujuan penelitian ini adalah menerapkan sandi vigenere dan qr code dalam melakukan otentikasi data pemilik kendaraan bermotor pada data pelaporan kehilangan kendaraan sehingga dapat mengatasi masalah pencurian kendaraan bermotor di wilayah Republik Indonesia.
1.4 Batasan atau Ruang Lingkup Penelitian
Batasan atau ruang lingkup penelitian ini adalah
a. Database kendaraan menggunakan data dari STNK.
b. Jenis kendaraan yang digunakan berupa sepeda motor dan mobil penumpang. c. Menggunakan 95 karakter ASCII.
d. Data yang di QR Code berupa Nomor Polisi, Nama, Alamat, Nomor Rangka dan Nomor Mesin yang telah tersandikan oleh Sandi Vigenere.
e. QR Code yang digunakan yaitu QR Code level M. f. Android yang digunakan versi 2.3.6 keatas.
1.5 Manfaat Penelitian
Beberapa manfaat dari penelitian ini yaitu :
1. Proses otentikasi kendaraan dapat lebih cepat dan kerahasiaan data pemilik kendaraan tetap terjaga.
2. Membantu dan mempermudah pekerjaan Kepolisian dalam menanggapi laporan masyarakat tentang kendaraan yang hilang.
1.6 Metodologi Penelitian
Dalam melakukan penelitian ada beberapa tahapan yang dilakukan, yaitu :
1. Studi literatur
Penelitian ini dimulai dengan melakukan studi literatur, yaitu proses pengumpulan data sebagai bahan referensi baik dari Polisi Lalu Lintas, Undang-undang, buku, artikel, jurnal, makalah atau situs internet yang berkaitan dengan Kepolisian, android, QR Code dan sandi Vigenere.
2. Analisis dan Perancangan Sistem
Proses rancangan ini meliputi pembuatan rancangan sistem laporan kehilangan kendaraan bermotor dengan penerapan qr code serta sandi vigenere dan aplikasi
mobile berbasis android
3. Implementasi Sistem
Pada tahap ini sistem yang telah dirancang kemudian diimplementasikan ke dalam bentuk coding program dengan menggunakan pemrograman web dan Android.
4. Pengujian Sistem
Pada tahap pengujian sistem ini untuk menguji apakah aplikasi yang dibuat telah berhasil berjalan sesuai dengan keinginan dan melakukan perbaikan kesalahan jika masih terdapat error pada aplikasi.
5. Dokumentasi Sistem
1.7 Sistematika Penulisan
Ada lima bagian utama yang digunakan dalam sistematika penulisan skripsi ini, di antaranya :
BAB 1 PENDAHULUAN
Di dalam bab ini terdapat pemaparan mengenai latar belakang, rumusan masalah, tujuan penelitian, batasan atau ruang lingkup penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan.
BAB 2 LANDASAN TEORI
Di dalam bab ini terdapat pemaparan mengenai beberapa teori yang digunakan dalam penelitian ini, penelitian-penelitian terdahulu dan beberapa teori yang masih berkaitan dengan penelitian ini. Seperti, pengertian qr code dan sandi vigenere.
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Di dalam bab ini terdapat pemaparan mengenai analisis penelitian dan dasar-dasar perancangan yang digunakan untuk membangun suatu sistem. Seperti flowchart, cara kerja sandi vigenere dan lain-lain.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Di dalam bab ini terdapat pemaparan mengenai implementasi teori-teori dan algoritma pada bahasa pemrograman yang telah dibahas di bab sebelumnya dan melakukan pengujian sistem yang dibangun.
BAB 5 KESIMPULAN DAN SARAN
BAB II
LANDASAN TEORI
2.1 Quick Response Code
Quick Response Code sering di sebut QR Code atau Kode QR adalah semacam simbol
dua dimensi yang dikembangkan oleh Denso Wave yang merupakan anak perusahaan dari Toyota sebuah perusahaan Jepang pada tahun 1994. Tujuan dari QR Code ini adalah untuk menyampaikan informasi secara cepat dan juga mendapat tanggapan secara cepat. Pada awalnya QR Code digunakan untuk pelacakan bagian kendaraan untuk manufacturing. Namun sekarang, telah digunakan untuk komersil yang ditujukan pada pengguna telepon seluler. QR Code adalah perkembangan dari barcode atau kode batang yang hanya mampu menyimpan informasi secara horizontal sedangkan QR Code mampu menyimpan informasi lebih banyak, baik secara horizontal maupun vertikal.
Gambar 2.1 Contoh QR Code “Saya anak USU”
QR Code biasanya berbentuk persegi putih kecil dengan bentuk geometris
dapat berupa URL, nomor telepon, pesan SMS, V-Card, atau teks apapun (Ashford, 2010). QR Code telah mendapatkan standarisasi internasional ISO/IEC18004 dan Jepang JIS-X-0510 (Denso, 2011).
2.1.1 Anatomi qr code
Gambar 2.2 Anatomi QR Code
Beberapa penjelasan anatomi QR Code Menurut Ariadi (2011) antara lain :
a. Finder Pattern berfungsi untuk identifikasi letak QR Code.
b. Format Information berfungsi untuk informasi tentang error correction level dan
mask pattern.
c. Data berfungsi untuk menyimpan data yang dikodekan.
d. Timing Pattern merupakan pola yang berfungsi untuk identifikasi koordinat pusat
QR Code, berbentuk modul hitam putih.
e. Alignment Pattern merupakan pola yang berfungsi memperbaiki penyimpangan
QR Code terutama distorsi non linier.
f. Version Information adalah versi dari sebuah QR Code.
g. Quiet Zone merupakan daerah kosong di bagian terluar QR Code yang mempermudah mengenali pengenalan QR oleh sensor CCD.
2.1.2 Versi 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 berbeda. Modul ini mengacu pada titik hitam dan putih yang membentuk suatu QR Code. Setiap versi QR Code memiliki kapasitas maksimum data, jenis karakter dan tingkat koreksi kesalahan. Jika Jumlah data yang ditampung banyak maka modul yang yang akan diperlukan dan menjadikan QR Code menjadi lebih besar (Denso, 2011).
2.1.3 Mengoreksi kesalahan qr code
QR Code mampu mengoreksi kesalahan dan pengembalian data dalam pembacaan
kode apabila qr code kotor atau rusak. Menurut Denso (2011), Ada 4 tingkatan koreksi kesalahan dalam QR code :
Tabel 2.1 Level Koreksi
Level Koreksi kesalahan Jumlah Perkiraan Koreksi
L 7%
M 15%
Q 25%
H 30%
Level Q dan H baik digunakan di pabrik yang kotor, sedangkan L untuk tempat yang bersih. Level yang sering digunakan adalah level M dengan perkiraan koreksi mencapai 15% (qrcode.com, 2013).
2.1.4 Manfaat qr code
Beberapa manfaat yang terdapat pada QR Code menurut Denso (2011) antara lain:
1. Kapasitas tinggi dalam menyimpan data
Sebuah QR Code tunggal dapat menyimpan sampai 7.089 angka.
2. Ukuran yang kecil
Sebuah QR Code dapat menyimpan jumlah data yang sama dengan barcode 1D dan tidak memerlukan ruang besar.
3. Dapat mengoreksi kesalahan
Tergantung pada tingkat koreksi kesalahan yang dipilih, data pada QR code yang kotor atau rusak sampai 30% dapat diterjemahkan dengan baik.
4. Banyak jenis data
QR Code dapat menangani angka, abjad, simbol, karakter bahasa Jepang, Cina
atau Korea dan data biner.
5. Kompensasi distorsi
QR Code tetap dapat dibaca pada permukaan melengkung atau terdistorsi.
6. Kemampuan menghubungkan
Sebuah QR Code dapat dibagi hingga 16 simbol yang lebih kecil agar sesuai dengan ruang. Simbol-simbol kecil yang dibaca sebagai kode tunggal apabila di
2.1.5 Macam-macam qr code
a) Qr code model 1 dan model 2 i. Qr code model 1
Gambar 2.4 Contoh QR Code Model 1 (Sumber : qrcode.com)
Model 1 adalah QR Code asli, dapat menampung 1.167 angka dengan versi maksimum 14 (73 x 73 modul) (qrcode.com, 2013).
ii. Qr code model 2
Gambar 2.5 Contoh QR Code Model 2 (Sumber : qrcode.com)
b) Microqr code
Gambar 2.6 Contoh Micro QR Code
(Sumber : qrcode.com)
Versi terbesar dari kode ini adalah M4 (17 x 17 modul) yang dapat menyimpan hingga 35 angka. Fitur utama dari Micro QR Code adalah hanya memiliki satu pola deteksi posisi, dibandingkan dengan regular QR Code yang memerlukan sejumlah tempat karena pola deteksi posisi yang terletak di tiga sudut simbol. QR Code biasa membutuhkan setidaknya empat modul yang lebar di sekitar simbol, sedangkan Micro
QR Code hanya membutuhkan cukup dua modul margin. Konfigurasi Micro QR
Code memungkinkan pencetakan di tempat lebih kecil dari QR Code (qrcode.com,
2013).
c) iQR Code
Gambar 2.7 Contoh iQR Code
Kode yang dapat dihasilkan dari salah satu modul, persegi atau persegi panjang. Dan dapat di cetak sebagai kode inversi hitam putih atau kode pola dot (bagian penanda). Versi terbesar dari kode ini dapat mencapai 61 (422x 422 modul), yang dapat menyimpan 40.000 angka (qrcode.com, 2013).
d. SQRC
Jenis QR Code ini dilengkapi dengan membaca fungsi pembatas. Ini dapat digunakan untuk menyimpan informasi pribadi untuk mengelola informasi internal perusahaan dan sejenisnya (qrcode.com, 2013).
e. LogoQ
Gambar 2.8 Contoh LogoQ
(Sumber : qrcode.com)
Jenis QR Code yang dapat menggabungkan fitur desain tingkat tinggi seperti ilustrasi, huruf dan logo. QR Code ini menggunakan Logika Since proprietary (qrcode.com, 2013).
2.2. Sandi Vigenere
yang relatif sederhana dan banyak digunakan sampai sekarang. Ide dari sandi
Vigenere ini adalah sandi Caesar yang dimodifikasi. Jika sandi Caesar menggunakan
kata kunci sandi tunggal, sedangkan sandi vigenere menggunakan kata kunci yang diulang sebanyak yang diperlukan dengan panjang pesan. Huruf yang akan disandikan di sesuaikan dengan angka, a = 0, b = 1, c = 2, …, z = 25. Kemudian tambahkan angka kata kunci dan angka pesan. Lalu hasilnya dimodulukan dengan 26, dan hasilnya yang berupa angka tersebut dirubah ke dalam huruf untuk mendapatkan huruf yang tersandi. Sandi Vigenere merupakan sebuah algoritma kriptografi klasik, algoritma ini tergolong algoritma dasar karena menggunakan algoritma berbasis karakter (Kurniawan, 2012).
2.2.1 Cara kerja sandi vigenere
Tabel 2.2 digunakan untuk menyandikan sebuah pesan. Setiap huruf yang disandikan dengan menggunakan baris yang berbeda, sesuai dengan kata kunci yang diulang-ulang.
Contoh :
Pesan = S E R A T U S R I B U
Kata kunci = J A L A N
Kata kunci harus diulang sampai jumlah huruf sama dekan pesan. Jumlah huruf pada pesan ada 11 huruf sedangkan kata kunci ada 5 huruf. Kata kunci menjadi “J A L A N J A L A N J” sesuai dengan banyaknya huruf pesan.
Huruf pertama pada pesan di sandikan dengan huruf pertama kata kunci, dan begitu seterusnya. Huruf pertama pada contoh adalah “S” dan huruf pertama pada kata kunci “J” disandikan/enkripsi menjadi huruf “B”. (Lihat tabel 2.2)
Pesan = S E R A T U S R I B U
Kata kunci = J A L A N J A L A N J
Tabel 2.2 Contoh gambar tabel Vigenere
Untuk proses deskripsi atau mengembalikan sama seperti di atas. Huruf pertama pesan tersandi, disandikan dengan huruf pertama kata kunci, dan begitu seterusnya.
Pesan tersandi = B E C A G D S C I O D
Kata kunci = J A L A N J A L A N J
Pesan = S E R A T U S R I B U
Sandi vigenere dapat ditulis secara matematis, seperti dengan penjelasan
Rumus Enkripsi
Ci = ( Pi + Ki ) mod 26
Rumus Deskripsi
Pi = ( Ci – Ki ) mod 26
Keterangan
Ci = nilai desimal (a=0) karakter tersandi ke-i Pi = nilai desimal karakter pesan ke-i
Ki = nilai desimal karakter kata kunci ke-i
Contoh:
menggunakan kasus di atasdengan menggunakan RumusEnkripsi dimana Pi = S dan Ki = J
Ci = ( Pi + Ki ) mod 26
Ci = ( S + J ) mod 26 Ci = ( 18 + 9 ) mod 26 Ci = 27 mod 26 Ci = 1 = B
Sedangkan Rumus Dekripsi Pi = ( Ci – Ki ) mod 26
Pi = ( B – J ) mod 26 Pi = ( 1 – 9 ) mod 26 Pi = -8 mod 26 Pi = 18 = S
2.2.2 Sandi Vigenere dengan 95 karakter
Sandi Vigenere dengan 95 karakter merupakan pengembangan dari kriptografi
vigenere yang asli dengan menambahkan beberapa karakter yang terdapat pada tabel
Penambahan karakter ini, berguna untuk mempersulit pemecahan sandi dan untuk memudahkan di aplikasi ke bahasa pemrograman komputer.
Tabel 2.3 Karakter ASCII yang digunakan
2.2.3 Syarat Algoritma Kriptografi yang aman
Menurut Munir (2006), Syarat Algoritma yang aman (computationally secure) adalah 1. Persamaan matematis yang kompleks sehingga susah di pecahkan dengan
menganalisa
2. Biaya untuk pemecahan sandi melampaui nilai informasi yang terkandung di
ciphertext.
3. Waktu yang diperlukan untuk pemecahan sandi melampaui lamanya informasi tersebut dijaga kerahasiaannya.
Decimal Karakt er Decim al Karakt er Decim al Karakter
2.2.4 Aspek keamanan data informasi
Menurut Munir (2006), ada 4 aspek keamanan data informasi : 1. Confidentiality/Privacy (Kerahasiaan)
Menjaga informasi dari yang tidak berhak.
2. Data Integrity (Integritas Data)
Memastikan informasi tidak dimanipulasi selama pengiriman informasi.
3. Authentication (otentikasi)
Memastikan keaslian data / identifikasi data.
4. Non-Repudiation (Nirpenyangkalan)
Memastikan pesan dikirim oleh pengirim dan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan.
4 aspek diatas merupakan tujuan dari penggunaan kriftografi yang menyediakan layanan keamanan informasi.
2.3 Android
Android adalah sistem operasi mobile berbasis open source yang di miliki raksasa internet saat ini, Google. Android dikembangkan dengan menggunakan kernel linux. Android memungkinkan untuk di modifikasi secara bebas dan di distibusikan oleh pembuat perangkat tersebut. Dengan sifat open source tersebut telah banyak mendorong komunitas pengembang aplikasi untuk menggunakan source code android sebagai dasar proyek pembuatan aplikasi.
2.3.1 Versi-versi android
Daftar versi android yang pernah dirilis menurut developer.android.com (2013) dapat di lihat pada tabel berikut :
Tabel 2.4 Versi Android
Versi Nama Kode Tanggal Rilis Level API
1.5 Cupcake 30 April 2009 3
1.6 Donut 15 September 2009 4
2.0 – 2.1 Éclair 26 Oktober 2019 7
2.2 Froyo 20 Mei 2010 8
2.3 – 2.3.2 Gingerbread 6 Desember 2010 9 2.3.3 – 2.3.7 Gingerbread 9 Februari 2011 10
3.1 Honeycomb 10 Mei 2011 12
3.2 Honeycomb 15 Juli 2011 13
4.0.3 – 4.0.4 Ice Cream Sandwich 16 Desember 2011 15
4.1.x Jelly Bean 9 Juli 2012 16
4.2.x Jelly Bean 13 November 2012 17
4.3 Jelly Bean 24 Juli 2013 18
4.4 Kitkat 31 Oktober 2013 19
Sumber : developer.android.com
2.3.2 Arsitektur android
Android sebagai sistem operasi memiliki beberapa layer komponen di antaranya (Asmono, 2013), adalah :
1. Linux kernel
Linux kernel merupakan layer dasar dari sistem operasi android. Di dalam layer
2. Libraries
Pada layer ini terdapat fitur-fitur android berada, sering diakses untuk menjalankan aplikasi. Beberapa libraries yang terdapat pada android di antaranya adalah :
a. Libraries media untuk memutar video dan audio. b. Libraries manajemen tampilan.
c. Libraries Graphics
d. Libraries SQLite digunakan untuk dukungan database.
e. Libraries SSL dan WebKit
f. Libraries LiveWebcore g. Libraries 3d
3. Android runtime
Layer ini berfungsi untuk menjalankan aplikasi di android. Proses dalam
menjalankan aplikasi menggunakan implementasi dari Linux. Android RunTime dibagi dua bagian, yaitu :
a. Core Libraries
Berfungsi untuk menerjemahkan bahasa java atau bahasa C.
b. Dalvik Virtual machine
Merupakan sebuah mesin berbasis register untuk menjalankan fungsi-fungsi pada android secara efisien.
4. Applications framework
Layer ini di peruntukan bagi para pembuat aplikasi untuk menggunakan
komponen-komponen yang terdapat pada layer ini untuk membuat aplikasi mereka. Komponen-komponen yang termasuk di dalam layer ini antara lain :
a. Views
5. Applications and Widget
Layer ini berhubungan dengan aplikasi inti yang berjalan pada sistem operasi
android.
2.3.3 Dasar aplikasi android (Android Application Fundamentals)
Aplikasi android ditulis dengan menggunakan bahasa pemrograman java. Untuk mengcompile kode-kode tersebut Android menggunakan android SDK (Software
development Kit) tool bersama dengan data dan files resource dan di paketkan menjadi
satu dan file hasil compile tersebut diberi akhiran .APK. APK ini dapat digunakan untuk menginstal aplikasi yang telah dibuat di sistem operasi android.
2.3.4 Komponen aplikasi android
Komponen aplikasi android adalah bagian penting dari sebuah aplikasi android. Setiap komponen mempunyai peranan yang berbeda sesuai dengan keperluan aplikasi. Ada 4 jenis komponen aplikasi android (Asmono, 2013) yang memiliki peranan atau tujuan yang berbeda di antaranya adalah
1. Activities
Activities biasanya untuk menyajikan user interface (UI) kepada user untuk
melakukan interaksi. Untuk pindah dari satu activity ke activity lain dapat melakukannya dengan satu even, misalnya klik tombol, atau memilih opsi.
2. Services
Services merupakan komponen yang berjalan di background saat melakukan
pekerjaannya. Service tidak memiliki user interface. Contohnya pada layanan pemutar musik yang dapat menjalankan satu memutar lagu di background saat pengguna menjalankan aplikasi yang berbeda.
3. Content providers
Antarmuka yang digunakan untuk berbagi data antar aplikasi. Dengan Content
providers programmer dapat menyimpan data dalam sistem file, SGLite dan
demikian aplikasi apapun yang memerlukan kontak pengguna atas izin pengguna dapat mengaksesnya.
4. Broadcast receivers
Komponen yang merespon pengumuman ke user dari sistem android. Ini berfungsi untuk mengingatkan user itu sendiri. Misalnya baterai lemah, pesan masuk, telepon seluler telah dimatikan atau lain sebagainya. Broadcast recivers merespon dengan menghidupkan lampu latar, led light, getaran, suara dan lain-lain.
2.3.5 Kelebihan android
Menurut rudyes.com (2013), kelebihan android di antaranya adalah :
1. Sistem operasi bersifat open source.
2. Memiliki banyak aplikasi maupun permainan. 3. Tampilan terlihat elegan dan tidak mudah bosan. 4. Bersifat Multitasking.
5. Kemudahan dalam notifikasi.
6. Memiliki widget yang dapat mempermudah pengguna 7. Memiliki synchronize online.
2.4 Library PHP Qr Code
PHP (Hypertext Preprocessor) qr code merupakan library open source (LGPL) yang digunakan untuk menghasilkan qr code. Library ini dikembangkan berdasarkan
library libqrencode C, yang menyediakan API (Application Programming Interface)
untuk membentuk gambar qr code dan diimplementasikan pada PHP (phpqrcode.sourceforge.net, 2014).
Fitur-fitur yang terdapat pada library php qr code diantaranya :
1. Mendukung versi qr code 1 sampai dengan 40.
4. Dapat di ekspor ke png dan jpeg. 5. Mudah dalam mengkonfigurasi. 6. 100% open source (LGPL). 7. Dan lain-lain.
2.5 Library Zxing
Zxing merupakan aplikasi open source dan library java yang dapat melakukan proses berbagai format gambar barcode satu dimensi atau 2 dimensi (Tresnani, 2012). Fungsi dari library ini adalah untuk memudahkan programmer untuk membangun aplikasi pembacaan qr code di android dan dapat melakukan scan qr code tanpa harus terhubung ke server.
2.6 Undang-Undang
Undang-undang atau perundangan dan sering disingkat UU merupakan peraturan perundangan yang dibentuk dan di susun oleh Dewan perwakilan Rakyat (DPR) dengan persetujuan bersama Presiden. Menurut UU No.10 Tahun 2004, Perundang-undangan adalah peraturan tertulis yang dibentuk oleh lembang Negara atau pejabat berwenang dan mengikat secara umum dan memuat aturan dan mekanisme hubungan antarwarga negara, antar warga negara dan negara, serta antar warga negara dengan pemerintah dan antar lembaga negara. Setiap warga Negara wajib menaati UU karena bertujuan untuk mengatur kehidupan berbangsa dan bernegara.
2.6.1 Fungsi peraturan perundang-undangan
Menurut Faridy (2009), UU dibuat untuk menjaga ketertiban bermasyarakat dan bernegara dan bukan untuk menakut-nakuti masyarakat. Ada 4 fungsi UU yaitu :
1. menciptakan ketertiban hidup bermasyarakat 2. menciptakan ketertiban hidup bernegara 3. menciptakan keadilan
2.6.2 Undang-undang no.22 tahun 2009
Undang-Undang No.22 Tahun 2009 tentang lalu lintas dan angkutan merupakan peraturan tertulis yang dibentuk DPR bersama Presiden. Undang-undang ini adalah pengganti UU No. 14 Tahun 1992 tentang lalu lintas dan angkutan jalan karena tidak sesuai dengan kondisi, perubahan lingkungan strategis, dan kebutuhan penyelenggaraan lalu lintas dan angkutan jalan. Isi dari UU ini berkaitan dengan pembagian tugas aparat, kewajiban pengendara kendaraan, pasal pelanggaran dan denda.
2.7 Peraturan Pemerintah Pengganti Undang-Undang
Peraturan pemerintah pengganti undang-undang atau biasa disebut PERPU adalah peraturan perundang-undangan yang di tetapkan oleh presiden dalam hal ikhwal kegentingan yang memaksa. PERPU disebut di dalam undang-undang dasar 1945 pasal 22 ayat (1). Pembahasan RUU tentang penetapan PERPU menjadi Undang-undang dilaksanakan seperti tata cara pembahasan RUU (Faridy, 2009).
2.7.1 Perpu no.80 tahun 2012
Peraturan pemerintah pengganti undang-undang no.80 tahun 2012 tentang tata cara pemeriksaan kendaraan bermotor di jalan dan penindakan pelanggaran lalu lintas dan angkutan jalan. PERPU ini berlaku tanggal 15 Oktober 2012. PERPU ini juga mengatur pembagian tugas penyidik Polisi dan penyidik pegawai negeri sipil, tata cara pemeriksaan dan penindakan kendaraan bermotor di jalan, denda dan hukuman bagi pelanggar lalu lintas.
2.8 Penelitian Terdahulu
Bagian ini merupakan bagian yang digunakan sebagai bahan rujukan dan masukan untuk membangun sistem ini.
Tabel 2.5 Penelitian terdahulu yang berkaitan dengan sistem
No Judul Pengarang Tahun Hasil Penelitian
1
QR code data representation for mobile augmented reality
Perancangan pengenalan qr code dengan jaringan syaraf tiruan metode percepron Aplikasi enkripsi sms pada telepon seluler berbasis j2me dengan metode vigenere keunggulan untuk menyimpan data pegawai dan menjadi sebuah alat
Membuat aplikasi pembacaan dan pengenalan qr code dengan jaringan syaraf.
Membuat aplikasi enkripsi dan dekripsi sms dengan vigenere di handphone.
Membuat aplikasi untuk mengenkripsi dan deksripsi aksara korea.
Membuat aplikasi enkripsi dan dekrispsi teks menggunakan vigenere .
Sidewinder memiliki tingkat keamanan lebih unggul dibanding vigenere tetapi membutuhkan biaya dan waktu lebih untuk membangkitkan kunci.
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Masalah
Masalah yang ada pada pelaporan kendaraan hilang adalah masalah waktu pengungkapan kasus yang terlalu lama, sebagian besar kasus tidak dapat terungkap. Masyarakat seakan pesimis terhadap kinerja polisi jika terjadi pencurian kendaraan. Kepolisian bukan tidak bekerja, tetapi Polisi melalui Polisi lalu lintas selaku penegak hukum di jalan raya tidak memiliki data tentang laporan kendaraan hilang yang terhubung ke seluruh Indonesia. Petugas polisi lalu lintas di lapangan tidak dibekali sistem yang dapat melakukan cek kendaraan secara online dan kurangnya bukti-bukti untuk kendaraan yang di curigai. Polisi tidak dapat melakukan tindakan hukum jika kurangnya bukti-bukti yang memberatkan terduga. Misalnya seperti kendaraan
“bodong” yang tidak memiliki STNK.
3.2 Analisis Data
3.3 Perancangan Sistem
3.3.1 Perancangan prosudural sistem
Prosedur yang akan digunakan untuk sistem adalah :
1. Setiap kendaraan yang berjalan di jalan raya harus memiliki qr code di plat kendaraan masing-masing.
2. Qr code berupa data kendaraan sesuai STNK yang di sandikan oleh vigenere. 3. Format data Qr code sebelum di sandikan oleh vigenere berupa, No.Polisi,
Nama, Alamat, No. Rangka, dan No. Mesin. Fungsi dari data qr code ini adalah untuk membandingkan data yang ada di STNK dengan data di qr code untuk mendapatkan data yang valid dengan 2 sampel data.
4. Dalam penindakan di lapangan, setiap petugas harus memiliki perangkat android dengan aplikasi pemindai qr code khusus.
5. Standart Operational Procedur (SOP) petugas polisi lalu lintas di lapangan harus patuh pada UU no.22 tahun 2009 dan PERPU no.80 tahun 2012.
3.3.2 Perancangan sandi vigenere pada sistem
Pada sistem, sandi vigenere yang digunakan untuk menyandikan data di dalam qr
code adalah sandi vigenere dengan 95 karakter. Dengan susunan seperti tabel 3.1 dan
dilakukan sedikit modifikasi untuk memudahkan dalam implementasi.
Tabel 3.1 Perancangan sandi vigenere dengan 95 karakter
Karena di dalam implementasi sandi vigenere dengan 95 karakter pada link halaman ada beberapa karakter yang tidak sesuai dengan format dan merupakan bagian dari format tersebut, maka sandi vigenere di modifikasi kembali dengan menggunakan 63 karakter. Rumus yang digunakan sama tetapi modulo yang digunakan 63 sesuai karakter yang digunakan. Dapat dilihat pada tabel 3.2.
Tabel 3.2 Perancangan sandi vigenere dengan 63 karakter
Tabel 3.2 Perancangan sandi vigenere dengan 63 karakter (Lanjutan)
No. ASCII Desimal No. ASCII Desimal
30 E 69 62 = 61
31 F 70
3.3.3 Arsitektur sistem
Arsitektur sistem digunakan untuk menerjemahkan bagian-bagian dari keseluruhan sistem yang lebih bersifat khusus secara terstruktur dan dengan bertujuan yang menjawab kebutuhan sistem.
Arsitektur sistem pada penelitian ini dapat di lihat pada gambar berikut ini :
Gambar 3.1 Arsitektur sistem dasar
3.3.4 Flowchart
Flowchart atau diagram aliran adalah langkah-langkah prosedur sistem yang
digambarkan secara grafik. Flowchart dapat memberi solusi untuk menyelesaikan masalah dalam proses atau algoritma program dalam sistem.
1. Flowcart Scan QR Code
Gambar 3.2 Flowchart Scan QR Code
Flowchart pada gambar 3.2 adalah flowchart saat melakukan scan qr code pada
kendaraan. Generate dari qr code menjadi teks data dilakukan dengan menggunakan
library Zxing. Setelah qr code di scan, sistem akan melakukan cek data valid atau
2. Flowcart Input pada Aplikasi Mobile
Dekripsi Vigenere 95 karakt er
Selesai Cek No Polisi/ M esin/ Rangka
Cek Internet
Tidak ada Ada
Enkripsi Vigenere 63 karakt er
Cek database server
output
Tidak ada ada
M ulai
Gambar 3.3 Flowchart Scan QR Code
Flowcart pada gambar 3.3 adalah flowcart pada aplikasi mobile android. Bagian ini
digunakan untuk melakukan input secara manual. Inputnya berupa No. Polisi, No Rangka dan No. Mesin. Pada mulanya aplikasi akan melakukan cek koneksi internet, jika tidak ada aplikasi input ini tidak dapat digunakan. Jika internet tersedia, hasil
input akan di enkripsi dengan sandi vigenere 63 karakter sesuai format yang tersedia.
3. Flowcart input data pada admin STNK
Gambar 3.4 Flowchart input data pada Admin STNK
Sistem akan meminta pengguna untuk melakukan input, jika selesai sistem akan melakukan validasi data, data valid akan dilanjutkan ke tahap berikutnya disimpan ke
database dan dilakukan enkripsi sandi vigenere 95 karakter. Dan data hasil enkripsi di
generate menggunakan Library PHP Qr Code menjadi qr code. Dan dilakukan
pencetakan qr code.
4. Flowchart input data pada admin laporan kehilangan
Flowcart gambar 3.5 merupakan input data sederhana. Pengguna di minta untuk
melakukan input kemudian dilakukan pengecekan data. Jika valid data tersebut akan di simpan pada databese jika tidak pengguna akan diminta untuk melakukan input kembali.
3.3.5 Diagram use case
Use case merupakan gambaran dari sebuah sistem dari sudut pandang pengguna.
Diagram use case digunakan untuk menggambarkan fungsi-fungsi dari aspek perilaku sebuah sistem tersebut.
Pada sistem ini aktor dibagi menjadi 3 bagian yaitu user, admin STNK, admin laporan. User merupakan pengguna pada mobile device yaitu petugas yang bekerja di lapangan. Sedangkan admin STNK adalah petugas administrasi yang menginput data pengguna kendaraan ke sistem. Dan terakhir adalah admin Laporan adalah petugas yang menginput data laporan kehilangan pada sistem yang di laporkan oleh masyarakat. Diagram use case sistem dapat dilihat pada gambar 3.6.
a. Model spesifikasi Use Case
Tabel 3.3 Use case input data
Nama Use Case Input data
Penjelasan singkat Digunakan untuk menginput data yang di butuh pada sistem
Aktor Admin STNK, Admin Laporan
Pra kondisi Aktor harus terlebih dahulu login pada sistem dan masuk ke halaman input
Skenario (Flow of
events)
a. Dimulai dengan login terlebih dahulu
b. Memilih “input data” untuk admin STNK dan “input kehilangan” untuk admin laporan pada menu
c. Sistem akan menampilkan halaman input
d. aktor dapat meng-input data sesuai pada data yang dibutuhkan sistem di form tersebut dan melakukan penyimpanan
e. sistem akan melakukan penyimpanan data
f. selanjutnya akan ada tampilan cetak, jika dipilih akan mencetak file tersebut. Admin STNK akan mencetak
qr code. Sedangkan admin laporan tidak ada halaman
cetak data.
Pasca kondisi Aktor dapat menambahkan data lengkap sesuai pada
form yang tersedia
Tabel 3.4 Use case Edit data
Nama Use Case Edit data
Penjelasan singkat Digunakan untuk mengedit data yang telah tersimpan di sistem
Aktor Admin STNK, Admin Laporan
Pra kondisi Admin Aktor harus terlebih dahulu login pada sistem dan masuk ke halaman daftar data untuk admin STNK dan data laporan untuk admin laporan
events) b. Memilih daftar data untuk admin STNK dan data
laporan untuk admin laporan pada menu
c. Sistem akan menampilkan halaman Daftar data/data laporan
d. aktor dapat memilih data pemilik yang akan di edit e. sistem akan melakukan penyimpanan data
Pasca kondisi Aktor dapat menyimpan data yang telah di edit
Tabel 3.5 Use case Hapus data
Nama Use Case Hapus data
Penjelasan singkat Digunakan untuk menghapus data pemilik kendaraan bermotor yang sebelumnya telah tersimpan pada sistem.
Aktor Admin STNK
Pra kondisi Aktor harus terlebih dahulu login pada sistem dan masuk ke halaman hapus data
Skenario (Flow of
events)
a. Dimulai dengan login terlebih dahulu b. Memilih “daftar data” pada menu
c. aktor dapat memilih data pemilik yang akan di hapus d. data yang dipilih akan terhapus dari database
Pasca kondisi Data yang di hapus tidak lagi terlihat pada sistem
Tabel 3.6 Use case Cetak QR Code
Nama Use Case Cetak qr code
Penjelasan singkat Digunakan untuk mencetak data sebelumnya yang telah tersimpan pada sistem.
Aktor Admin STNK
Pra kondisi Aktor harus terlebih dahulu login pada sistem dan masuk ke halaman hapus data
Skenario (Flow of events)
a. Dimulai dengan login terlebih dahulu b. Memilih “beranda” pada menu
Pasca kondisi Halaman akan kembali pada halaman beranda
Tabel 3.7 Use case login
Nama Use Case login
Penjelasan singkat Digunakan untuk masuk ke dalam sistem. Aktor Admin STNK, admin Laporan Pasca kondisi Aktor akan masuk ke sistem
Tabel 3.8 Use case User Scan QR Code
Nama Use Case Scan QR Code
Penjelasan singkat Digunakan untuk menscan qr code
Aktor User
Pra kondisi User dapat langsung menggunakan sistem tanpa login Skenario (Flow of
Pasca kondisi Menampilkan hasil dekripsi scan qr code
Tabel 3.9 Use case User Input
Nama Use Case Input Manual
Penjelasan singkat Digunakan untuk mencari informasi kendaraan secara manual
Aktor User
events) b. Pilih jenis input, cek no polisi / no mesin / no rangka
c. Kemudian user memasukkan input dan men Tab cek d. Sistem akan melakukan pengecekan secara online e. Data kendaraan akan terlihat
Pasca kondisi Halaman akan kembali pada halaman Cek data
3.3.6 Perancangan antarmuka sistem
Perancangan antarmuka sistem adalah sketsa dasar yang digunakan untuk mempermudah perancangan sistem. Sketsa ini yang akan di implementasikan ke dalam sistem. Perancangan antarmuka sistem yang akan dibuat untuk sistem ini yaitu :
1. Rancangan halaman login
2. Rancangan halaman menu utama admin STNK
Gambar 3.8 Rancangan halaman menu utama admin STNK
3. Rancangan halaman input data admin STNK
4. Rancangan halaman daftar data kendaraan admin STNK
Gambar 3.10 Rancangan halaman daftardata kendaraan admin STNK
5. Rancangan halaman edit data admin STNK
6. Halaman cetak qr codeadmin STNK
Gambar 3.12 Rancangan halaman cetak qr codeadmin STNK
7. Rancangan halaman menu utama admin Laporan
8. Rancangan halaman input laporan admin Laporan
Gambar 3.14 Rancangan halaman input laporan admin laporan
9. Rancangan halaman data laporan admin Laporan
10. Rancangan halaman edit data kehilangan admin Laporan
Gambar 3.16 Rancangan halaman edit data kehilangan admin laporan
11. Tampilan lihat data admin laporan
12. Rancangan aplikasi mobileuser
Gambar 3.18 Rancangan Aplikasi mobileUser
13. Rancangan plat kendaraan
Gambar 3.19 Rancangan Plat kendaraan dengan qr code
Qr code yang terletak pada plat kendaraan berukuran 3,5 x 3,5 cm. Qr code di cetak
BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem
Implementasi sistem merupakan penerapan sistem yang telah di analisa dan di rancang pada bahasa pemrograman untuk menghasilkan aplikasi yang bermanfaat.
4.1.1 Spesifikasi perangkat keras (Hardware)
Berikut ini adalah perangkat keras yang digunakan untuk mengimplementasikan sistem ini, di antaranya adalah :
a. Processor Intel Core 2 Duo 2.13 GHz b. Memory 2048 MB
c. Hardisk 320 GB
d. VGA Nvidia GeForce 9200M GS 256 MB
e. Smartphone Android dengan kamera dan Memory 512 MB
4.1.2 Spesifikasi perangkat lunak (Software)
Berikut ini adalah perangkat lunak yang digunakan untuk mengimplementasi sistem ini, di antaranya adalah :
a. Windows 7 Ultimate 32 bit b. Notepad++
c. Xampp 1.7.3 d. Eclipse Android e. Inkscape
f. Google Chrome
4.2 Implementasi Perancangan Antarmuka
4.2.1 Tampilan halaman login
Halaman ini merupakan halaman pertama yang ditampilkan kepada pengguna sebelum masuk ke dalam sistem. Pengguna dapat memasukkan username dan
password pada kotak teks yang tersedia. Tampilan login dapat dilihat di gambar 4.1.
Gambar 4.1 Tampilan halaman login
4.2.2 Tampilan halaman menu utama admin STNK
Gambar 4.2 Tampilan halaman utama admin STNK
4.2.3 Tampilan halaman input data admin STNK
Halaman ini digunakan untuk menginput data kendaraan pengguna ke dalam database dan membuat qr code dari data tersebut. Halaman input dapat dilihat pada gambar 4.3.
Gambar 4.3 Tampilan halaman input data admin STNK
4.2.4 Tampilan halaman daftar data admin STNK
Gambar 4.4 Tampilan halaman daftar data admin STNK
4.2.5 Tampilan halaman edit data Admin STNK
Halaman edit data digunakan untuk melakukan perubahan data dan menyimpannya kembali ke database. Halaman edit tersebut dapat dilihat pada gambar 4.5.
Gambar 4.5 Tampilan halaman edit data admin STNK
4.2.6 Tampilan cetak qr code admin STNK
Halaman ini adalah halaman cetak qr code, data kendaraan di enkripsi dengan
dalam bentuk qr code digunakan library php qr code. Halaman cetak data qr code dapat dilihat pada gambar 4.6. Dan pengguna dapat melakukan cetak dengan mengklik “cetak”. Hasil cetak data dapat dilihat pada gambar 4.7.
Gambar 4.6 Tampilan halaman cetak qr code admin stnk
4.2.7 Tampilan halaman utama admin laporan
Ini merupakan halaman utama admin laporan. Pada halaman ini akan ditampilkan semua data laporan kehilangan kendaraan sesuai daerah pengguna. Contoh, Username = anjar, lokasi = kota Binjai, maka data yang ditampilkan hanya yang berada di kota Binjai. Halaman ini dapat dilihat pada gambar 4.8.
Gambar 4.8 Tampilan halaman utama admin laporan
4.2.8 Tampilan halaman data laporan admin laporan
Gambar 4.9 Tampilan data laporan admin laporan
4.2.9 Tampilan halaman input data admin laporan
Halaman input data terdiri dari no. polisi, nama pelapor, jenis kelamin, alamat, tempat tanggal lahir, no. telepon, agama, pekerjaan, keterangan, tanggal/jam terjadi dan lokasi. Data ini harus di isi sesuai data yang sah. Untuk field no. polisi, sistem akan melakukan cek otomatis apabila no. kendaraan tidak terdaftar maka sistem tidak dapat melakukan penyimpanan laporan. Halaman dapat dilihat pada gambar 4.10.
4.2.10 Tampilan halaman edit data admin laporan
Halaman edit ini dapat diakses pada halaman utama, data laporan kehilangan daerah dan data laporan. Pengguna dapat melakukan perubahan perubahan data yang terdapat pada form kecuali nomor polisi. Pengguna juga dapat mengganti status kendaraan dari hilang menjadi ditemukan dan sebaliknya. Apabila status menjadi ditemukan akan ada 2 field yang harus diisi berupa tanggal ditemukan dan lokasi ditemukan. Dapat dilihat pada gambar 4.11.
4.2.11 Tampilan halaman lihat data admin laporan
Halaman ini hanya menampilkan data saja tidak dapat melakukan perubahan. Halaman dapat di pada gambar 4.12.
4.2.12 Tampilan QR Code pada plat kendaraan
Gambar 4.13 Tampilan QR Code pada plat belakang kendaraan
Gambar 4.14 Tampilan QR Code pada plat depan kendaraan
Qr code yang di tempel pada plat kendaraan berukuran 3,5 x 3,5 cm. QR Code
ditempel pada plat kendaraan bagian depan dan di letakkan pada sebelah kiri tanggal berlaku plat kendaraan.
4.2.13 Tampilan aplikasi mobile user
Pada tampilan aplikasi mobile user android ini, menggunakan resolusi layar 320x480
a. Tampilan awal aplikasi
Gambar 4.15 Tampilan awal aplikasi (a) Splash Screen, (b) Halaman Utama
Gambar 4.15 (a) adalah splash screen aplikasi yaitu tampilan saat program dijalankan sebelum masuk ke halaman utama. Sedangkan gambar 4.15 (b) merupakan tampilan halaman utama. Hanya terdapat 3 button utama, scan, cek data dan keluar.
b. Tampilan saat melakukan Scanning
Gambar 4.16 Library Zxing (a) Proses Scan, (b) Memproses qr code
Dalam melakukan scan qr code ini menggunakan library zxing dapat dilihat di gambar 4.16. pada gambar 4.16 (a) mencari objek qr code yang akan di scan sedangkan gambar 4.16 (b) adalah proses apabila qr code berhasil di scan.
(a) (b)
c. Tampilan hasil scan
Gambar 4.17 Tampilan hasil scan (a) tidak di laporkan hilang, (b) dilaporkan
hilang
Pada bagian ini data yang berhasil di scan dari qr code kemudian di deskripsikan dengan vigenere dan hasilnya kemudian ditampilkan. Lihat gambar 4.17. background merah menandakan kendaraan tersebut dalam pelaporan hilang akan tampil nama pelapor dan nomor telepon.
(a)
d. Tampilan cek data
Gambar 4.18 Tampilan cek data
Pada gambar 4.16 adalah tampilan cek data dengan menginput secara manual nomor polisi, nomor mesin atau nomor rangka. Pilihannya dapat dilihat pada gambar 4.18 (b) apabila tidak dipilih maka textbox dan button cek tidak akan muncul.
e. Tampilan hasil cek data
Gambar 4.19 Tampilan hasil cek data, (a) tidak dalam pelaporan hilang, (b)
dalam pelaporan hilang
(a) (b) (c)
Pada gambar 4.19 (a), terdapat no. polisi, nama, alamat, no. rangka, no. mesin, merk, jenis, type, warna, dan masa berlaku STNK. Ini merupakan tampilan data kendaraan yang tidak dalam pelaporan hilang. Sedangkan untuk gambar 4.19 (b), tidak berbeda jauh hanya saja warna tulisan data kendaraan berubah menjadi merah, tidak menampilkan masa berlaku kendaraan dan ada tambahan nama pelapor dan nomor telepon.
f. Tampilan about dan keluar
Gambar 4.20Tampilan about dan keluar (a) Tampilan about, (b) Tampilan
pertanyaan keluar
4.3 Implementasi Sandi Vigenere dan QR Code
4.3.1 Implementasi sandi vigenere 95 karakter dan qr code
Pada implementasi sandi vigenere dengan 95 karakter dan qr code ini dilakukan pada saat input data dan edit data di admin stnk. Data yang digunakan dalam qr code berupa Nomor Polisi, Nama, Alamat, Nomor Rangka dan Nomor Mesin.
Formatnya sebagai berikut :
No_Polisi;Nama;Alamat;No_Rangka;No_Mesin
Fungsi dari ; (titik koma) adalah untuk memudahkan melakukan pemotongan data sesuai yang dibutuhkan sistem. Format ini juga sebagai Plaintext atau pesan untuk enkripsi sandi vigenere. Dan key atau kata kunci pada contoh ini menggunakan kata anjar.
Pesan = BK4567CBA;SETYADI NUGRAHA;JL. MEGAWATI GG. DAMAI
NO. 15, KEL. PASAR MERAH TIMUR, MEDAN;MH314D0029K305890;14D-306160
Kunci = anjar
Enkripsi = BX#5-7PKAbSR2YRDV)N!G4JHR;WU.;MRPA#A6R XG_)DRMNR
4O_)1,,-TE2.-YA9A4)MVRNQ IZ3R{ ZNDRN|VH*1'M0'2,T3'5+(0b1'M-*0) 6'
Kemudian, data hasil enkripsi tersebut di tambahkan kata GcP di awal dan PcG di akhir. Fungsi dari kata ini adalah untuk pengecekan data valid pada saat di
scan oleh aplikasi android. Dan juga untuk menyulitkan pemecahan sandi.
Nilai = GcPBX#5-7PKAbSR2YRDV)N!G4JHR;WU.;MRPA#A6R XG_)DRMNR 4O_)1,,-TE2.-YA9A4)MVRNQ IZ3R{
ZNDRN|VH*1'M0'2,T3'5+(0b1'M-*0) 6'PcG
Lalu data nilai di atas di ubah kembali dengan bantuan library phpqrcode untuk menjadikan sebuah qr code. Dengan correction level M dengan jumlah perkiraan koreksi 15 % dan matrix point size 8. Lihat gambar 4.21.
Scan qr code dilakukan di perangkat mobil android dengan bantuan library
Zxing, data hasil scan qr code yang masih berupa enkripsi sandi vigenere kemudian
dilakukan tahap validasi GcP di awal dan PcG (lihat gambar 4.22) di akhir apabila valid, validasi di awal dan di akhir di hilangkan dan hanya berupa data enkripsi sandi
vigenere saja. Data inilah yang akan menjadi pesan yang akan di deskripsikan oleh
perangkat mobile dan ditampilkan.
Gambar 4.22 QR Code tidak valid
Enkripsi = BX#5-7PKAbSR2YRDV)N!G4JHR;WU.;MRPA#A6R XG_)DRMNR
4O_)1,,-TE2.-YA9A4)MVRNQ IZ3R{ ZNDRN|VH*1'M0'2,T3'5+(0b1'M-*0) 6'
Kata kunci deskripsi harus sama dengan kata kunci saat enkripsi. Apabila tidak sama maka pesan tidak akan bisa di baca oleh pengguna.
Pesan = BX#5-7PKAbSR2YRDV)N!G4JHR;WU.;MRPA#A6R XG_)DRMNR
4O_)1,,-TE2.-YA9A4)MVRNQ IZ3R{ ZNDRN|VH*1'M0'2,T3'5+(0b1'M-*0) 6'
Kunci = anjar
Dekripsi = BK4567CBA;SETYADI NUGRAHA;JL. MEGAWATI GG. DAMAI
Kemudian dari data inilah, lalu di proses menjadi data yang mudah di baca oleh pengguna. Dapat dilihat pada gambar 4.17. Proses enkripsi data vigenere dan qr
code dan sebaliknya dilakukan di balik layar, pengguna hanya dapat melihat hasil dari
proses tersebut.
4.3.2 Implementasi sandi vigenere 63 karakter pada url
Implementasi sandi vigenere dengan 63 karakter ini dilakukan hanya URL (Uniform
Resource Locator) dengan metode GET. Karena di dalam sistem banyak yang
menggunakan metode get ini. Metode get ini kurang aman karena nilai variabel ditampilkan di URL sehingga dapat dilihat siapa saja. Contohnya dapat dilihat pada gambar 4.23.
Gambar 4.23 Contoh url dengan metode get
Maka untuk melindungi data tersebut dilakukanlah enkripsi dengan sandi
vigenere 63 karakter. Sandi vigenere 63 karakter di pilih karena pada saat
implementasi sandi vigenere 95 ada beberapa karakter yang merupakan bagian url dan tidak dapat digunakan pada url tersebut. Contohnya karakter / (garis miring), spasi dan masih banyak lagi. Karakter ASCII yang digunakan dapat dilihat pada tabel 3.2.
URL yang di enkripsi hanya bagian yang menampilkan data saja. Lihat gambar 4.24
Gambar 4.24 url yang di enkripsi
Ini tidak berbeda jauh dengan sandi vigenere dengan 95 karakter, hanya saja jumlah hurufnya saja yang berbeda. Pada Kunci tidak boleh memiliki spasi.
Pesan = op=lihat&NoPolisi=N3741QO Kunci = anjar
Gambar 4.25 url yang telah enkripsi
Pesan Enkripsi = oCilzhnC&4o2xlzsviNj7g=Q5
Kunci = anjar
Dekripsi = op=lihat&NoPolisi=N3741QO
Deskripsi tidak di tampilkan di layar tetapi langsung ditampilkan halaman yang diakses. Seperti gambar 4.26 yaitu pengguna mengakses halaman
admin_view.php dengan opsi lihat data dengan No. polisi N3741QO.
Gambar 4.26 Hasil url yang di dekripsi
4.3.3 Implementasi sandi vigenere 95 karakter pada json
Pada implementasi di JSON (JavaScript Object Notation) ini digunakan untuk pertukaran data dari server ke perangkat mobile. Pertukaran data dengan json ini
relative ringan dan mudah. Pada saat melakukan scan pada perangkat mobile dan
baik input no. polisi dan no. mesin server akan mengirimkan No. Polisi, Nama, Alamat, No. Rangka, No. Mesin, Merk, Jenis, Type, Warna, Tgl Berlaku, Nama Pelapor, No. Telepon pada perangkat mobile.
Contoh Data
Nama pelapor dan Nomor Telepon akan terisi jika kendaraan masuk dalam pelaporan kehilangan. Jika tidak, data akan kosong.
Kemudian data tersebut di encode ke JSON
{"cek":[{"NoPolisi":"BK4567CBA","Nama":"SETYADI NUGRAHA","Alamat":"JL. MEGAWATI GG. DAMAI NO. 15, KEL. PASAR MERAH TIMUR,