Implementasi Sandi Vigenere dan QR Code

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.20 Tampilan 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 a b Universitas Sumatera Utara 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 = BX5-7PKAbSR2YRDVNG4JHR;WU.;MRPAA6R XG_DRMNR 4O_1,,-TE2.-YA9A4MVRNQ IZ3R{ ZNDRN|VH1M02,T35+0b1M-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 = GcPBX5-7PKAbSR2YRDVNG4JHR;WU.;MRPAA6R XG_DRMNR 4O_1,,-TE2.-YA9A4MVRNQ IZ3R{ ZNDRN|VH1M02,T35+0b1M-0 6PcG 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. Gambar 4.21 QR Code Enkripsi Universitas Sumatera Utara 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 = BX5-7PKAbSR2YRDVNG4JHR;WU.;MRPAA6R XG_DRMNR 4O_1,,-TE2.-YA9A4MVRNQ IZ3R{ ZNDRN|VH1M02,T35+0b1M-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 = BX5-7PKAbSR2YRDVNG4JHR;WU.;MRPAA6R XG_DRMNR 4O_1,,-TE2.-YA9A4MVRNQ IZ3R{ ZNDRN|VH1M02,T35+0b1M-0 6 Kunci = anjar Dekripsi = BK4567CBA;SETYADI NUGRAHA;JL. MEGAWATI GG. DAMAI NO. 15, KEL. PASAR MERAH TIMUR, MEDAN;MH314D0029K305890;14D- 306160 Universitas Sumatera Utara 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=lihatNoPolisi=N3741QO Kunci = anjar Enkripsi = oCilzhnC4o2xlzsviNj7g=Q5 Universitas Sumatera Utara Gambar 4.25 url yang telah enkripsi Pesan Enkripsi = oCilzhnC4o2xlzsviNj7g=Q5 Kunci = anjar Dekripsi = op=lihatNoPolisi=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 melakukan cek database, No. Polisi, Nama, No. Telepon, Alamat akan di kirim ke perangkat mobile. Sedangkan pada saat melakukan cek data dengan input manual, Universitas Sumatera Utara 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 No. Polisi = BK4567CBA, Nama = SETYADI NUGRAHA, Alamat = JL. MEGAWATI GG. DAMAI NO. 15, KEL. PASAR MERAH TIMUR,MEDAN, No. Rangka = MH314D0029K305890, No. Mesin = 14D-306160, Merk = YAMAHA, Jenis = SPD MOTOR, Type = 3C1VIXIONFZ150, Warna = MERAH, Nama Pelapor= No. Telepon = Tgl. Berlaku = 15-05-2019. 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, MEDAN,NoRangka:MH314D0029K305890,NoMesin:14D- 306160,Merk:YAMAHA,Jenis:SPD MOTOR,Type:3C1VIXION\FZ150,Warna:MERAH,NamaPelapor:,N oTelepon:,TglBerlaku:15-05-2019,data1:0}],sukses:1} Dimana cek merupakan objek dan di dalam kurung kurawal [ ] merupakan data array dari cek. Data tersebut dimasukkan ke dalam array ini. Data1 dengan nilai 0 adalah untuk memberi nilai bahwa data tersebut tidak dalam pelaporan kehilangan. Jika bernilai 1 data masuk dalam pelaporan. Sedangkan sukses memiliki nilai 1 untuk menunjukkan data ada di database. Kemudian data format json ini dilakukan enkripsi dengan menggunakan sandi vigenere 95 karakter lalu di kirim ke perangkat mobile. Universitas Sumatera Utara Pesan = {cek:[{NoPolisi:BK4567CBA,Nama:SETYADI NUGRAHA,Alamat:JL. MEGAWATI GG. DAMAI NO. 15, KEL. PASAR MERAH TIMUR, MEDAN,NoRangka:MH314D0029K305890,NoMesin:14D- 306160,Merk:YAMAHA,Jenis:SPD MOTOR,Type:3C1VIXION\FZ150,Warna:MERAH,NamaPelapor:,N oTelepon:,TglBerlaku:15-05-2019,data1:0}],sukses:1} Kunci = anjar Enkripsi = {leB{~{=NBYoCiFraOT4,6LBR]+Nrmn+:=SR2YRDVNG4JHR]+ACazjt=: SL} ZNGRWN2I;GT[ UAZJI;N1[ 5]KVL_PRSN0 3E4JH;TVVU8,- VEUA0+,=NB0aEgxjaZQ34Q909X0,8,9{0xMvsvwaD|31- 0?3eEtaJMRHN+,=JrwiJ{+S6D-VO O4+,=TLye=:C8RXZO0aWZ0]+WrrAjaZNRRH?4azjPvlnyoI{+{0xTv lryoE{+{6plSeEuaBu]595|2 9=,maKa+:=0h]{FDkJeF+:=1h Pada perangkat mobile data ini lalu di deskripsi kembali dengan sandi vigenere 95 karakter harus dengan kunci yang sama. Jika tidak, maka hasil deskripsi akan berbeda dengan data asli. Kemudian dilakukan parsing data untuk memisahkan json format menjadi data yang diperlukan. Kemudian data di urai dan di tampilkan ke layar pengguna. Dapat dilihat pada gambar 4.19

4.4 Pengujian Sistem