• Tidak ada hasil yang ditemukan

Implementasi QR Code Dan Algoritma Vigenere Pada Sistem Laporan Kehilangan Kendaraan Bermotor

N/A
N/A
Protected

Academic year: 2019

Membagikan "Implementasi QR Code Dan Algoritma Vigenere Pada Sistem Laporan Kehilangan Kendaraan Bermotor"

Copied!
15
0
0

Teks penuh

(1)

LAMPIRAN A (KODE PROGRAM)

1. link_sandi.php (Vigenere)

<?php

i ncl ude " vi g63. php" ; i ncl ude " vi g95. php" ;

/ * 63 kar akt er Enkr i psi ===================================================* / f unct i on l i nkenkr i p( $x) {

$pl ant ext = $x;

$kunci = " 1nd0n3s14" ;

$panj ang_kunci = st r l en( $kunci ) ; / / panj ang kar akt er kunci $panj ang_pl ant ext = st r l en( $pl ant ext ) ; / / panj ang kar akt er pl ant ext $spl i t _kunci = st r _spl i t ( $kunci ) ; / / memi sahkan kunci / kar akt er $spl i t _pl ant ext = st r _spl i t ( $pl ant ext ) ; / / memi sahkan pl ant ext / kar akt er

$ci pt o = ar r ay( ) ;

$i =0;

f or ( $j =0; $j <$panj ang_pl ant ext ; $j ++) / / pengul angan kunci sampai panj ang pl ant ext

{

i f ( $i == $panj ang_kunci ) { $i = 0; }

$spl i t _kunci 2[ $j ] = $spl i t _kunci [ $i ] ; $i ++;

}

f or ( $k=0; $k<$panj ang_pl ant ext ; $k++) / / Pr oses enkr i psi vi gener e {

$a = kar _ke_des( $spl i t _kunci 2[ $k] ) ; / / menggant i hur uf pada kunci menj adi angka

$b = kar _ke_des( $spl i t _pl ant ext [ $k] ) ; / / menggant i hur uf pada pl ant ext menj adi angka

i f ( ( $a && $b) ! = nul l ) {

$ci pt o[ $k] = vi gener e_enkr i psi ( $a, $b) ; } el se{

$ci pt o[ $k] = $spl i t _pl ant ext [ $k] ; } }

$ni l ai = ar r ay_val ues( $ci pt o) ; / / menyat ukan ar r ay $ni l ai 1 = i mpl ode( $ni l ai ) ; / / konver t ar r ay ke st r i ng r et ur n $ni l ai 1;

}

/ * 63 kar akt er Dekr i psi ===================================================* / f unct i on l i nkdekr i p( $x) {

$kunci = " 1nd0n3s14" ; $pecahURI = expl ode( ' ?' , $x) ; $pl ant ext = $pecahURI [ 1] ;

$panj ang_kunci = st r l en( $kunci ) ; / / panj ang kar akt er kunci

$panj ang_pl ant ext = st r l en( $pl ant ext ) ; / / panj ang kar akt er pl ant ext $spl i t _kunci = st r _spl i t ( $kunci ) ; / / memi sahkan kunci per kar akt er $spl i t _pl ant ext = st r _spl i t ( $pl ant ext ) ; / / memi sahkan pl ant ext per kar akt er

(2)

$i =0;

f or ( $j =0; $j <$panj ang_pl ant ext ; $j ++) / / pengul angan kunci sampai panj ang pl ant ext

{

i f ( $i == $panj ang_kunci ) { $i = 0; }

$spl i t _kunci 2[ $j ] = $spl i t _kunci [ $i ] ; $i ++;

}

f or ( $k=0; $k<$panj ang_pl ant ext ; $k++) / / Pr oses enkr i psi vi gener e {

$a = kar _ke_des( $spl i t _kunci 2[ $k] ) ; / / menggant i hur uf pada kunci menj adi angka

$b = kar _ke_des( $spl i t _pl ant ext [ $k] ) ; / / menggant i hur uf pada pl ant ext menj adi angka

i f ( ( $a && $b) ! = nul l ) {

$ci pt o[ $k] = vi gener e_dekr i psi ( $b, $a) ; } el se {

$ci pt o[ $k] = $spl i t _pl ant ext [ $k] ; } }

$ni l ai = ar r ay_val ues( $ci pt o) ; / / menyat ukan ar r ay $ni l ai 1 = i mpl ode( $ni l ai ) ; / / konver t ar r ay ke st r i ng

$pecahNi l ai = expl ode( ' &' , $ni l ai 1) ;

f or ( $i =0; $i <= count ( $pecahNi l ai ) - 1; $i ++) { $decode = expl ode( ' =' , $pecahNi l ai [ $i ] ) ; $var [ $decode[ 0] ] = $decode[ 1] ; }

r et ur n $var ; }

/ * dekr i psi get dar i ur l =================================================* / f unct i on andr oi dl i nkdekr i p( $x) {

$kunci = " 1nd0n3s14" ; $pecahURI = expl ode( ' ?' , $x) ; $pl ant ext = $pecahURI [ 1] ;

$panj ang_kunci = st r l en( $kunci ) ; / / panj ang kar akt er kunci

$panj ang_pl ant ext = st r l en( $pl ant ext ) ; / / panj ang kar akt er pl ant ext $spl i t _kunci = st r _spl i t ( $kunci ) ; / / memi sahkan kunci

per kar akt er

$spl i t _pl ant ext = st r _spl i t ( $pl ant ext ) ; / / memi sahkan pl ant ext per kar akt er

$ci pt o = ar r ay( ) ;

$i =0;

f or ( $j =0; $j <$panj ang_pl ant ext ; $j ++) / / pengul angan kunci sampai panj ang pl ant ext

{

i f ( $i == $panj ang_kunci ) { $i = 0; }

$spl i t _kunci 2[ $j ] = $spl i t _kunci [ $i ] ; $i ++;

}

(3)

$a = kar _ke_des( $spl i t _kunci 2[ $k] ) ; / / menggant i hur uf pada kunci menj adi angka

$b = kar _ke_des( $spl i t _pl ant ext [ $k] ) ; / / menggant i hur uf pada pl ant ext menj adi angka

i f ( ( $a && $b) ! = nul l ) {

$ci pt o[ $k] = vi gener e_dekr i psi ( $b, $a) ; } el se{

$ci pt o[ $k] = $spl i t _pl ant ext [ $k] ; } }

$ni l ai = ar r ay_val ues( $ci pt o) ; / / menyat ukan ar r ay $ni l ai 1 = i mpl ode( $ni l ai ) ; / / konver t ar r ay ke st r i ng $pecahNi l ai = expl ode( ' GcP' , $ni l ai 1) ;

f or ( $i =0; $i <= count ( $pecahNi l ai ) - 1; $i ++) { $decode = expl ode( ' =' , $pecahNi l ai [ $i ] ) ; $var [ $decode[ 0] ] = $decode[ 1] ; }

r et ur n $var ; }

/ * 95 kar akt er Enkr i psi ===================================================* / f unct i on enkr i psi ( $x, $y) {

$kunci = $y; $pl ant ext = $x;

$panj ang_kunci = st r l en( $kunci ) ; / / panj ang kar akt er kunci $panj ang_pl ant ext = st r l en( $pl ant ext ) ; / / panj ang kar akt er pl ant ext $spl i t _kunci = st r _spl i t ( $kunci ) ; / / memi sahkan kunci

per kar akt er

$spl i t _pl ant ext = st r _spl i t ( $pl ant ext ) ; / / memi sahkan pl ant ext per kar akt er

$ci pt o = ar r ay( ) ;

$i =0;

f or ( $j =0; $j <$panj ang_pl ant ext ; $j ++) / / pengul angan kunci sampai panj ang pl ant ext

{

i f ( $i == $panj ang_kunci ) { $i = 0; }

$spl i t _kunci 2[ $j ] = $spl i t _kunci [ $i ] ; $i ++;

}

f or ( $k=0; $k<$panj ang_pl ant ext ; $k++) / / Pr oses enkr i psi vi gener e {

$a = char _t o_dec( $spl i t _kunci 2[ $k] ) ; / / menggant i hur uf pada kunci menj adi angka

$b = char _t o_dec( $spl i t _pl ant ext [ $k] ) ; / / menggant i hur uf pada pl ant ext menj adi angka

i f ( ( $a && $b) ! = nul l ) {

$ci pt o[ $k] = t abel _vi gener e_encr ypt ( $a, $b) ; } el se{

echo $spl i t _pl ant ext [ $k] ; / / menampi l kan pl ant ext $ci pt o[ $k] = $spl i t _pl ant ext [ $k] ; }

}

(4)

2. vig95.php (Vigenere 95)

<?php

f unct i on char _t o_dec( $a) / / mer ubah kar akt er menj adi desi mal asci i asci i {

$i = or d( $a) ;

i f ( $i >=97 && $i <=122) { / / asci i desi mal hur uf keci l r et ur n ( $i - 96) ; } / / 1 s/ d 26

el se i f ( $i >=65 && $i <=90) { / / asci i desi mal hur uf besar r et ur n ( $i - 38) ; } / / 27 s/ d 52

el se i f ( $i >=48 && $i <=57) { / / asci i desi mal angka r et ur n ( $i +5) ; } / / 53 s/ d 62

el se i f ( $i >=32 && $i <=47) { / / asci i desi mal spasi s/ d / r et ur n ( $i +31) ; } / / 63 s/ d 78

el se i f ( $i >=58 && $i <=64) { / / asci i desi mal : s/ d @ r et ur n ( $i +21) ; } / / 79 s/ d 85

el se i f ( $i >=91 && $i <=96) { / / asci i desi mal [ s/ d ' r et ur n ( $i - 5) ; } / / 86 s/ d 91

el se i f ( $i >=123 && $i <=126) { / / asci i desi mal { s/ d ~ r et ur n ( $i - 31) ; } / / 92 s/ d 95

el se{

r et ur n nul l ; } }

f unct i on dec_t o_char ( $a) / / mer ubah desi mal menj adi kar akt er sesuai asci i {

i f ( $a>=1 && $a<=26) { / / asci i desi mal hur uf keci l r et ur n ( chr ( $a+96) ) ; }

el se i f ( $a>=27 && $a<=52) { / / asci i desi mal hur uf besar r et ur n ( chr ( $a+38) ) ; }

el se i f ( $a>=53 && $a<=62) { / / asci i desi mal angka r et ur n ( chr ( $a- 5) ) ; }

el se i f ( $a>=63 && $a<=78) { / / asci i desi mal spasi s/ d / r et ur n ( chr ( $a- 31) ) ; }

el se i f ( $a>=79 && $a<=85) { / / asci i desi mal : s/ d @ r et ur n ( chr ( $a- 21) ) ; }

el se i f ( $a>=86 && $a<=91) { / / asci i desi mal [ s/ d ' r et ur n ( chr ( $a+5) ) ; }

el se i f ( $a>=92 && $a<=95) { / / asci i desi mal { s/ d ~ r et ur n ( chr ( $a+31) ) ; }

el se{

r et ur n nul l ; } }

f unct i on t abel _vi gener e_encr ypt ( $a, $b) / / r umus enkr i psi {

$i =$a+$b- 1; i f ( $i >95) {

$i =$i - 95; }

r et ur n ( dec_t o_char ( $i ) ) ; }

f unct i on t abel _vi gener e_decr ypt ( $a, $b) / / r umus deskr i psi {

$i =$a- $b+1; i f ( $i <1) {

$i =$i +95; }

r et ur n ( dec_t o_char ( $i ) ) ; }

(5)

3. admin_input_proses.php (QR Code Proses)

/ * 95 kar akt er Enkr i psi ===================================================* / $pl ant ext = $No_Pol i si . " ; " . $Nama. " ; " . $Al amat . " ; " . $No_Rangka. " ; " . $No_Mesi n; $kunci = " 1nd0n3s14" ;

$ni l ai 1 = enkr i psi ( $pl ant ext , $kunci ) ; $ni l ai 2 = " GcP" . $ni l ai 1. " PcG" ;

/ * QR Code Pr oses=========================================================* / echo " <h1 al i gn=' cent er ' ><i mg sr c=' . . / ot her / i mages/ Lambang_Pol r i . png' hei ght ' 120' wi dt h=' 91' >Dat a QR Code</ h1><hr / >" ;

/ / l okasi t empat

$PNG_TEMP_DI R=di r name( __FI LE__) . DI RECTORY_SEPARATOR. ' t emp' . DI RECTORY_SEPARA TOR;

/ / t empat png qr code

$PNG_WEB_DI R = ' t emp/ ' ;

/ / cek t empat & membuat l okasi t empat i f ( ! f i l e_exi st s( $PNG_TEMP_DI R) )

mkdi r ( $PNG_TEMP_DI R) ;

/ / nama f i l e gambar

$PK = ( st r l en( $ni l ai 2) - 5) ; / / panj ang t ext di kur ang 5 $sub1 = subst r ( $ni l ai 2, 0 , 5) ; / / menampi l kan 10 kar akt er saj a $sub2 = subst r ( $ni l ai 2, $PK ) ; / / menampi l kan 5 hur uf t er akhi r

$subj oi n = $sub1. " " . $sub2; / / menggabungkan $anj ar = $subj oi n;

/ / pr oses

$er r or Cor r ect i onLevel = ' M' ; $mat r i xPoi nt Si ze = 8;

$f i l ename=$PNG_TEMP_DI R. ' anj ar ' . md5( $anj ar . ' | ' . $er r or Cor r ect i onLevel . ' | ' . $m at r i xPoi nt Si ze) . ' . png' ;

i f ( i sset ( $_REQUEST[ ' dat a' ] ) ) { / / cek dat a

i f ( t r i m( $_REQUEST[ ' dat a' ] ) == ' ' )

di e( ' <p al i gn=" cent er " >Dat a Ti dak bol eh Kosong! <a hr ef =" j avascr i pt : j avascr i pt : hi st or y. go( - 1) " >Kembal i </ a></ p>' ) ;

/ / user dat a

$f i l ename=$PNG_TEMP_DI R. ' anj ar ' . md5( $_REQUEST[ ' dat a' ] . ' | ' . $er r or Cor r e ct i onLevel . ' | ' . $mat r i xPoi nt Si ze) . ' . png' ;

QRcode: : png( $_REQUEST[ ' dat a' ] , $f i l ename, $er r or Cor r ect i onLevel , $mat r i xPoi nt Si ze, 2) ;

}

el se{

/ / def aul t dat a

QRcode: : png( $ni l ai 2, $f i l ename, $er r or Cor r ect i onLevel , $mat r i xPoi nt Si ze, 2) ; }

/ / menampi l kan qr code

echo " <p al i gn=' cent er ' ><b>" . $dat a[ ' No_Pol i si ' ] . " </ b></ p>" ; echo " <p al i gn=' cent er ' ><i mg i d=' i mg' wi dt h=' 133' hei ght =' 133' sr c=' " . $PNG_WEB_DI R. basename( $f i l ename) . " ' / >" ;

echo " </ br ><i >Dat a sesuai dengan STNK</ i ></ br ></ p>" ; echo " <p al i gn=' cent er ' ><a

(6)

4. cek.php (Cek data)

<?php

i ncl ude " . . / koneksi . php" ;

i ncl ude " . . / vi gener e/ l i nk_sandi . php" ;

$var = andr oi dl i nkdekr i p( $_SERVER[ ' REQUEST_URI ' ] ) ; $sandi 1 = " 1nd0n3s14" ;

$sandi 2 = " NuS4nT4r a" ;

i f ( $var [ ' op' ] == " cekDat a" ) / / Hasi l Scan Act i vi t y {

$No_Pol i si = $var [ " NoPol i si " ] ;

$quer y = " sel ect * f r om dat a_kehi l angan wher e No_Pol i si =' $No_Pol i si ' " ;

$hasi l = mysql _quer y( $quer y) ; i f ( mysql _num_r ows( $hasi l ) > 0) {

$r esponse = ar r ay( ) ;

$r esponse[ " cek" ] = ar r ay( ) ;

$dat a = mysql _f et ch_ar r ay( $hasi l ) ;

$h[ ' NoPol i si ' ] = $dat a[ ' No_Pol i si ' ] ; $h[ ' Nama' ] = $dat a[ ' nama' ] ; $h[ ' NoTel epon' ] = $dat a[ ' no_t el epon' ] ; $h[ ' dat a1' ] = $dat a[ ' st at us_i d' ] ;

ar r ay_push( $r esponse[ " cek" ] , $h) ;

$r esponse[ " sukses" ] = " 1" ; $j son = j son_encode( $r esponse) ; echo enkr i psi ( $j son, $sandi 2) ; } el se{

$r esponse = ar r ay( ) ;

$r esponse[ " cek" ] = ar r ay( ) ;

$h[ ' dat a' ] = " Ti dak ada dat a" ; ar r ay_push( $r esponse[ " cek" ] , $h) ; $r esponse[ " sukses" ] = " 2" ;

$j son = j son_encode( $r esponse) ; echo enkr i psi ( $j son, $sandi 2) ; } }

el se{

$r esponse = ar r ay( ) ;

$r esponse[ " cek" ] = ar r ay( ) ;

$h[ ' dat a' ] = " Er r or 09" ; ar r ay_push( $r esponse[ " cek" ] , $h) ; $r esponse[ " sukses" ] = " 0" ;

$j son = j son_encode( $r esponse) ; echo enkr i psi ( $j son, $sandi 2) ; } ?>

5. MainActivity.java (Halaman utama aplikasi

mobile

dan

Scan QR Code

)

package i d. anj ar . pr oj ect z1;

i mpor t com. googl e. zxi ng. i nt egr at i on. andr oi d. I nt ent I nt egr at or ; i mpor t com. googl e. zxi ng. i nt egr at i on. andr oi d. I nt ent Resul t ; i mpor t i d. anj ar . pr oj ect z1. R;

(7)

cekI nt er net cekNet ;

Bool ean Net Ter sedi a = f al se;

@Over r i de

pr ot ect ed voi d onCr eat e( Bundl e savedI nst anceSt at e) { super . onCr eat e( savedI nst anceSt at e) ;

set Cont ent Vi ew( R. l ayout . act i vi t y_mai n) ;

scanBt n = ( But t on) f i ndVi ewByI d( R. i d. scan_but t on) ; cekBt n = ( But t on) f i ndVi ewByI d( R. i d. cek_but t on) ; exi t Bt n = ( But t on) f i ndVi ewByI d( R. i d. exi t _but t on) ;

Text Vi ew dat a= ( Text Vi ew) f i ndVi ewByI d( R. i d. scan_f or mat ) ; St r i ng devi ceVer si on = Bui l d. VERSI ON. RELEASE;

dat a. set Text ( " Andr oi d Ver . " +devi ceVer si on) ; scanBt n. set OnCl i ckLi st ener ( t hi s) ;

cekBt n. set OnCl i ckLi st ener ( t hi s) ; exi t Bt n. set OnCl i ckLi st ener ( t hi s) ; }

/ * FUNGSI DARI TOMBOL=====================================================* / publ i c voi d onCl i ck( Vi ew v) {

/ / scan but t on

i f ( v. get I d( ) ==R. i d. scan_but t on) { / * Cek Ver si Per angkat * /

St r i ng devi ceVer si on = Bui l d. VERSI ON. RELEASE; St r i ng devi ce = devi ceVer si on. subst r i ng( 0, 1) ; i nt ver si = I nt eger . par seI nt ( devi ce) ;

i f ( ver si >= 4) {

/ * Memanggi l l i br ar y Zxi ng bawaan* / I nt ent i nt ent = new

I nt ent ( " com. googl e. zxi ng. cl i ent . andr oi d. SCAN" ) ; i nt ent . put Ext r a( " com. googl e. zxi ng. cl i ent . andr oi d. SCAN. SCAN_MODE" , " QR_CODE_MODE" ) ;

st ar t Act i vi t yFor Resul t ( i nt ent , 0) ; } el se{

/ * Memanggi l l i br ar y Zxi ng t i dak bawaan* / / / kel as i nst ant i at e ZXi ng i nt egr at i on I nt ent I nt egr at or scanI nt egr at or = new

I nt ent I nt egr at or ( t hi s) ; / / memul ai memi ndai

scanI nt egr at or . i ni t i at eScan( ) ; } }

el se i f ( v. get I d( ) ==R. i d. cek_but t on) { / * Memanggi l kel as cekact i vi t y* / I nt ent i = new

I nt ent ( get Appl i cat i onCont ext ( ) , CekAct i vi t y. cl ass) ; st ar t Act i vi t y( i ) ; }

el se i f ( v. get I d( ) ==R. i d. exi t _but t on) {

Al er t Di al og. Bui l der ad = new Al er t Di al og. Bui l der ( t hi s) ; ad. set Message( " Apakah Anda i ngi n kel uar ?" ) ;

(8)

publ i c voi d onCl i ck( Di al ogI nt er f ace di al og, i nt i d) { / / cl oseDi al og. t hi s. f i ni sh( ) ;

I nt ent i = new I nt ent ( I nt ent . ACTI ON_MAI N) ; i . addCat egor y( I nt ent . CATEGORY_HOME) ; i . set Fl ags( I nt ent . FLAG_ACTI VI TY_NEW_TASK) ; st ar t Act i vi t y( i ) ;

f i ni sh( ) ;

Syst em. exi t ( 0) ; } } ) ;

ad. set Negat i veBut t on( " Ti dak" , new Di al ogI nt er f ace. OnCl i ckLi st ener ( ) {

publ i c voi d onCl i ck( Di al ogI nt er f ace di al og, i nt i d) { di al og. cancel ( ) ; }

} ) ;

ad. show( ) ; } }

/ * Hasi l QR CODE SCANNER==================================================* / publ i c voi d onAct i vi t yResul t ( i nt r equest Code, i nt r esul t Code, I nt ent

i nt ent ) {

St r i ng devi ceVer si on1 = Bui l d. VERSI ON. RELEASE; St r i ng devi ce1 = devi ceVer si on1. subst r i ng( 0, 1) ; i nt ver si 1 = I nt eger . par seI nt ( devi ce1) ;

i f ( ver si 1 >= 4) {

i f ( r equest Code == 0) {

i f ( r esul t Code == RESULT_OK) {

St r i ng scanCont ent = i nt ent . get St r i ngExt r a( " SCAN_RESULT" ) ; St r i ng scanFor mat =

i nt ent . get St r i ngExt r a( " SCAN_RESULT_FORMAT" ) ;

/ / Scan Ber hasi l

i f ( scanFor mat ! = nul l ) {

/ / obj ek par se dengan bundl e f ungsi Bundl e par se = new Bundl e( ) ;

/ / memasukkan dat a ke var i abel par se

par se. put St r i ng( " par se_scanFor mat " , scanFor mat ) ; par se. put St r i ng( " par se_scanCont ent " , scanCont ent ) ; / / pi ndah l ayout

I nt ent i = new

I nt ent ( Mai nAct i vi t y. t hi s, Hasi l ScanAct i vi t y. cl ass) ; i . put Ext r as( par se) ;

st ar t Act i vi t y( i ) ; } el se{

/ / dat a scan t i dak cocok at au scan di bat al kan

Toast t oast = Toast . makeText ( get Appl i cat i onCont ext ( ) , " Ti dak ada dat a yang di t er i ma! " , Toast . LENGTH_SHORT) ; t oast . show( ) ; }

}

el se i f ( r esul t Code == RESULT_CANCELED) {

(9)

Toast t oast = Toast . makeText ( get Appl i cat i onCont ext ( ) , " Ti dak ada dat a yang di t er i ma! " , Toast . LENGTH_SHORT) ; t oast . show( ) ; }

} } el se{

/ / mengambi l hasi l pemi ndai an - i nst ant i at e ZXi ng obj ect I nt ent Resul t scanni ngResul t =

I nt ent I nt egr at or . par seAct i vi t yResul t ( r equest Code, r esul t Code, i nt ent ) ;

/ / cek dat a val i d

i f ( scanni ngResul t ! = nul l ) {

/ / mendapat kan kont en dar i Hasi l I nt ent

St r i ng scanCont ent = scanni ngResul t . get Cont ent s( ) ; / / mendapat kan nama f or mat dat a yang di pi ndai

St r i ng scanFor mat = scanni ngResul t . get For mat Name( ) ;

i f ( scanFor mat ! = nul l ) {

/ / obj ek par se dengan bundl e f ungsi Bundl e par se = new Bundl e( ) ;

/ / memasukkan dat a ke var i abel par se

par se. put St r i ng( " par se_scanFor mat " , scanFor mat ) ; par se. put St r i ng( " par se_scanCont ent " , scanCont ent ) ;

/ / pi ndah l ayout I nt ent i =new

I nt ent ( Mai nAct i vi t y. t hi s, Hasi l ScanAct i vi t y. cl ass) ; i . put Ext r as( par se) ;

st ar t Act i vi t y( i ) ; } el se{

/ / dat a scan t i dak cocok at au scan di bat al kan

Toast t oast = Toast . makeText ( get Appl i cat i onCont ext ( ) , " Ti dak ada dat a yang di t er i ma! " , Toast . LENGTH_SHORT) ; t oast . show( ) ; }

} el se{

/ / dat a scan t i dak cocok at au scan di bat al kan

Toast t oast = Toast . makeText ( get Appl i cat i onCont ext ( ) ,

" Ti dak ada dat a yang di t er i ma! " , Toast . LENGTH_SHORT) ; t oast . show( ) ; }

} } }

6. HasilScanActivity.java

package i d. anj ar . pr oj ect z1;

publ i c cl ass Hasi l ScanAct i vi t y ext ends Act i vi t y{ St r i ng ur l , ur l 1, sukses;

publ i c St r i ng Sandi 63 = " 1nd0n3s14" ; publ i c St r i ng Sandi 95_1 = " 1nd0n3s14" ; publ i c St r i ng Sandi 95_2 = " NuS4nT4r a" ; cekI nt er net cekNet , cekSer ver ;

(10)

i nt PNoPol ;

@Suppr essWar ni ngs( " depr ecat i on" )

publ i c voi d onCr eat e( Bundl e savedI nst anceSt at e) { super . onCr eat e( savedI nst anceSt at e) ;

set Cont ent Vi ew( R. l ayout . hasi l scan) ;

Text Vi ew dat a1= ( Text Vi ew) f i ndVi ewByI d( R. i d. t ext Vi ew2) ; / * Par si ng dat a dar i hal aman sebel umnya* /

Bundl e par se2 = new Bundl e( ) ; par se2 = get I nt ent ( ) . get Ext r as( ) ;

St r i ng kal i mat = par se2. get St r i ng( " par se_scanCont ent " ) ; St r i ng awal = " GcP" ;

St r i ng akhi r = " PcG" ;

i nt PK = kal i mat . l engt h( ) ; i nt kur ang = PK - 3;

/ * Cek dat a qr code* / i f ( PK ! = 0) {

/ * val i dasi * /

St r i ng kal i mat 1 = kal i mat . subst r i ng( 3, kur ang) ; St r i ng kal i mat 2 = kal i mat . subst r i ng( 0, 3) ; St r i ng kal i mat 3 = kal i mat . subst r i ng( kur ang) ;

i f ( ( ( kal i mat 2. equal s( awal ) ) == t r ue) && ( ( kal i mat 3. equal s( akhi r ) ) == t r ue) ) { / * dekr i psi * /

St r i ng hasi l = Vi gener e. dekr i psi ( Sandi 95_1, kal i mat 1) ; St r i ng s = " " ;

St r i ng[ ] hasi l spl i t = hasi l . spl i t ( " ; " ) ; St r i ng No_Pol i si = hasi l spl i t [ 0] ; PNoPol = No_Pol i si . l engt h( ) ;

f or ( i nt i =0; i <hasi l spl i t . l engt h; i ++) { i f ( i == 0) {

s += " <bi g><f ont col or =' #848484' ><b>No Pol i si </ b></ f ont ><br ><f ont col or =' #FFBF00' ><b><i >" +( hasi l spl i t [ i ] ) +" </ i ></ b></ f ont ><br ><br >" ; }

el se i f ( i == 1) {

s += " <f ont col or =' #848484' ><b>Nama</ b></ f ont ><br ><f ont col or =' #FFBF00' ><b><i >" +( hasi l spl i t [ i ] ) +" </ i ></ b></ f ont ><br ><br >" ; }

el se i f ( i == 2) {

s += " <f ont col or =' #848484' ><b>Al amat </ b></ f ont ><br ><f ont col or =' #FFBF00' ><b><i >" +( hasi l spl i t [ i ] ) +" </ i ></ b></ f ont ><br ><br >" ; }

el se i f ( i == 3) {

s += " <f ont col or =' #848484' ><b>No. Rangka</ b></ f ont ><br ><f ont col or =' #FFBF00' ><b><i >" +( hasi l spl i t [ i ] ) +" </ i ></ b></ f ont ><br ><br >" ; }

el se i f ( i == 4) {

s += " <f ont col or =' #848484' ><b>No. Mesi n</ b></ f ont ><br ><f ont col or =' #FFBF00' ><b><i >" +( hasi l spl i t [ i ] ) +" </ i ></ b></ f ont ><br ><br >" ; }

el se

s += ( hasi l spl i t [ i ] ) +" <br >" ; }

dat a1. set Text ( Ht ml . f r omHt ml ( s) ) ;

cekNet = new cekI nt er net ( get Appl i cat i onCont ext ( ) ) ; Net Ter sedi a = cekNet . i sConnect i ngToI nt er net ( ) ;

St r i ng l i nk =

" op=cekDat aGcPNoPol i si =" +No_Pol i si . t oSt r i ng( ) ;

(11)

/ / cek st at us I nt er net i f ( Net Ter sedi a) { i f ( PNoPol > 9) {

Al er t Di al og al er t Di al og = new

Al er t Di al og. Bui l der ( Hasi l ScanAct i vi t y. t hi s) . cr eat e( ) ; al er t Di al og. set Ti t l e( " Per i ngat an! " ) ;

al er t Di al og. set Message( " Sandi Ti dak Cocok ! " ) ; al er t Di al og. set I con( R. dr awabl e. i c_act i on_about ) ;

al er t Di al og. set But t on( " OK" , new Di al ogI nt er f ace. OnCl i ckLi st ener ( ) {

publ i c voi d onCl i ck( f i nal Di al ogI nt er f ace di al og, f i nal i nt whi ch) {

Toast . makeText ( get Appl i cat i onCont ext ( ) , " Sandi Ti dak Cocok" , Toast . LENGTH_SHORT) . show( ) ;

f i ni sh( ) ; } } ) ;

al er t Di al og. show( ) ; }

el se{ ur l =

" ht t p: / / 192. 168. 72. 1/ pr oj ect Z/ andr oi d/ cek. php?" +l i nkenkr i p; new Ambi l Dat a( ) . execut e( ) ; }

} r et ur n; }

/ * MENGAMBI L DATA DARI SERVER ============================================* / publ i c cl ass Ambi l Dat a ext ends AsyncTask<St r i ng, St r i ng, St r i ng>{

Ar r ayLi st <HashMap<St r i ng, St r i ng>> cont act Li st = new Ar r ayLi st <HashMap<St r i ng, St r i ng>>( ) ;

Pr ogr essDi al og pDi al og;

pr i vat e St r i ng dat a, NoPol i si , Nama, NoTel epon, dat a1, hasi l JsonDekr i psi ;

/ / Menghent i kan Pr oses dengan wakt u

f i nal Count DownTi mer t i mer = new Count DownTi mer ( 30000, 1000) { publ i c voi d onTi ck( l ong mi l l i sUnt i l Fi ni shed) {

pDi al og. set Message( " Memuat Dat a . . . \ nMenghi t ung Wakt u Mundur : " + mi l l i sUnt i l Fi ni shed / 1000) ; }

publ i c voi d onFi ni sh( ) { pDi al og. di smi ss( ) ;

Toast . makeText ( get Appl i cat i onCont ext ( ) , " Ser ver Ti dak Di t emukan" , Toast . LENGTH_SHORT) . show( ) ; }

} ;

@Over r i de

pr ot ect ed voi d onPr eExecut e( ) {

/ / TODO Aut o- gener at ed met hod st ub super . onPr eExecut e( ) ;

pDi al og = new Pr ogr essDi al og( Hasi l ScanAct i vi t y. t hi s) ; pDi al og. set I ndet er mi nat e( f al se) ;

pDi al og. set Cancel abl e( t r ue) ; pDi al og. show( ) ;

t i mer . st ar t ( ) ; }

@Over r i de

(12)

I nput St r eam i si = ambi l _dat a_web( ) ; St r i ng i si _web = dat aweb_ke_st r i ng( i si ) ; hasi l JsonDekr i psi = Vi gener e. dekr i psi ( Sandi 95_2, i si _web) ;

t r y{

/ * Menggant i ke Json obj ek* /

JSONObj ect j son = new JSONObj ect ( hasi l JsonDekr i psi ) ; sukses = j son. get St r i ng( " sukses" ) ;

Log. e( " er r or " , " ni l ai sukses=" + sukses) ; JSONAr r ay hasi l = j son. get JSONAr r ay( " cek" ) ;

i f ( sukses. equal s( " 0" ) ) {

f or ( i nt i = 0; i < hasi l . l engt h( ) ; i ++) { JSONObj ect c = hasi l . get JSONObj ect ( i ) ; dat a = c. get St r i ng( " dat a" ) . t r i m( ) ; Log. e( " ok" , " ambi l dat a 0" ) ; } }

el se i f ( sukses. equal s( " 1" ) ) {

f or ( i nt i = 0; i < hasi l . l engt h( ) ; i ++) { JSONObj ect c = hasi l . get JSONObj ect ( i ) ; NoPol i si =c. get St r i ng( " NoPol i si " ) . t r i m( ) ; Nama = c. get St r i ng( " Nama" ) . t r i m( ) ;

NoTel epon=c. get St r i ng( " NoTel epon" ) . t r i m( ) ; dat a1 = c. get St r i ng( " dat a1" ) . t r i m( ) ; Log. e( " ok" , " ambi l dat a 1" ) ; } }

el se{

f or ( i nt i = 0; i < hasi l . l engt h( ) ; i ++) { JSONObj ect c = hasi l . get JSONObj ect ( i ) ; dat a = c. get St r i ng( " dat a" ) . t r i m( ) ; Log. e( " ok" , " ambi l dat a 2" ) ; } }

}

cat ch ( Except i on e) {

Log. e( " er r or " , " t i dak bi sa ambi l dat a" ) ; Ambi l Dat a. t hi s. cancel ( t r ue) ; }

r et ur n nul l ; }

@Over r i de

pr ot ect ed voi d onPost Execut e( St r i ng r esul t ) {

Text Vi ew dat a2= ( Text Vi ew) f i ndVi ewByI d( R. i d. t ext Vi ew3) ; Text Vi ew dat a3= ( Text Vi ew) f i ndVi ewByI d( R. i d. t ext Vi ew4) ; Text Vi ew dat a5= ( Text Vi ew) f i ndVi ewByI d( R. i d. t ext Vi ew6) ; Text Vi ew dat a6= ( Text Vi ew) f i ndVi ewByI d( R. i d. t ext Vi ew7) ;

Li near Layout backgr ound =

( Li near Layout ) f i ndVi ewByI d( R. i d. hasi l Scan) ; Li near Layout f oot er =

( Li near Layout ) f i ndVi ewByI d( R. i d. f oot er ) ;

super . onPost Execut e( r esul t ) ; pDi al og. di smi ss( ) ;

t i mer . cancel ( ) ;

i f ( sukses. equal s( " 1" ) ) {

i f ( I nt eger . par seI nt ( dat a1) == 1) {

(13)

dat a3. set Text ( Ht ml . f r omHt ml ( " <bi g><f ont col or =' #848484' ><b>Pel apor </ b></ f ont ><br ><f ont

col or =' #FFBF00' ><b>" +Nama+" <br >" +NoTel epon+" </ b></ f ont >" ) ) ; dat a5. set Vi si bi l i t y( Vi ew. GONE) ; dat a6. set Vi si bi l i t y( Vi ew. GONE) ;

backgr ound. set Backgr oundCol or ( Col or . RED) ; f oot er . set Vi si bi l i t y( Vi ew. VI SI BLE) ; } el se{

dat a2. set Vi si bi l i t y( Vi ew. GONE) ; dat a3. set Vi si bi l i t y( Vi ew. GONE) ; dat a5. set Vi si bi l i t y( Vi ew. GONE) ; dat a6. set Vi si bi l i t y( Vi ew. GONE) ;

Toast . makeText ( get Appl i cat i onCont ext ( ) , " St at us Aman" , Toast . LENGTH_SHORT) . show( ) ; }

} el se{

dat a2. set Text ( Ht ml . f r omHt ml ( " <b>Kendar aan Ti dak Memi l i ki Cat at an Kehi l angan</ b>" ) ) ;

dat a5. set Vi si bi l i t y( Vi ew. GONE) ; dat a6. set Vi si bi l i t y( Vi ew. GONE) ;

Toast . makeText ( get Appl i cat i onCont ext ( ) ,

" Kendar aan Ti dak Memi l i ki Cat at an Kehi l angan" , Toast . LENGTH_SHORT) . show( ) ; }

}

/ * FUNGSI MENGAMBI L DATA DENGAN I NPUTSTREAM===============================* / pr i vat e I nput St r eam ambi l _dat a_web( ) {

I nput St r eam cont ent = nul l ;

Ht t pCl i ent kl i en = new Def aul t Ht t pCl i ent ( ) ; Ht t pGet r eq = new Ht t pGet ( ur l ) ;

t r y{

Ht t pResponse r espon = kl i en. execut e( r eq) ; cont ent = r espon. get Ent i t y( ) . get Cont ent ( ) ; } cat ch ( Except i on e) {

e. pr i nt St ackTr ace( ) ; } r et ur n cont ent ;

}

/ * FUNGSI MERUBAH I NPUTSTREAM KE STRI NG===================================* / pr i vat e St r i ng dat aweb_ke_st r i ng( I nput St r eam i si ) {

Buf f er edReader r d = new Buf f er edReader ( new I nput St r eamReader ( i si ) , 4096) ;

St r i ng bar i s;

St r i ngBui l der sb = new St r i ngBui l der ( ) ; t r y{

whi l e( ( bar i s = r d. r eadLi ne( ) ) ! = nul l ) { sb. append( bar i s) ; }

r d. cl ose( ) ; } cat ch ( Except i on e) {

e. pr i nt St ackTr ace( ) ; } St r i ng i si _web = sb. t oSt r i ng( ) ; r et ur n i si _web;

} } }

6. Vigenere.java

(14)

St r i ng r esul t =" " ;

i nt of f set , of f set 1, shi f t , shi f t 1 = 0; i nt j =0;

f or ( i nt i =0; i <pl ai nt ext . l engt h( ) ; i ++) { / / mer ubah kar akt er ke bent uk desi mal shi f t = ( ( i nt ) key. char At ( j ) ) ;

of f set = ( ( i nt ) ( pl ai nt ext . char At ( i ) ) ) ;

j ++;

j %=key. l engt h( ) ;

/ / OFFSET

/ / asci i spasi sampai dengan / ( 63 s/ d 78) i f ( of f set >= 32 && of f set <= 47) {

of f set 1 = of f set + 31; } / / asci i angka ( 53 s/ d 62)

el se i f ( of f set >= 48 && of f set <= 57) { of f set 1 = of f set + 5; }

/ / asci i : sampai dengan @ ( 79 s/ d 85) el se i f ( of f set >= 58 && of f set <= 64) {

of f set 1 = of f set + 21; } / / asci i hur uf besar ( 27 s/ d 52)

el se i f ( of f set >= 65 && of f set <= 90) { of f set 1 = of f set - 38; }

/ / asci i [ sampai dengan ' ( 86 s/ d 91) el se i f ( of f set >= 91 && of f set <= 96) {

of f set 1 = of f set - 5; } / / asci i hur uf keci l ( 1 s/ d 26)

el se i f ( of f set >= 97 && of f set <= 122) { of f set 1 = of f set - 96; }

/ / asci i { sampai dengan ~ ( 92 s/ d 95) el se i f ( of f set >= 123 && of f set <= 126) {

of f set 1 = of f set - 31; } el se{

of f set 1 = of f set * 0; }

/ / SHI FT

/ / asci i spasi sampai dengan / ( 63 s/ d 78) i f ( shi f t >= 32 && shi f t <= 47) {

shi f t 1 = shi f t + 31; } / / asci i angka ( 53 s/ d 62)

el se i f ( shi f t >= 48 && shi f t <= 57) { shi f t 1 = shi f t + 5; }

/ / asci i : sampai dengan @ ( 79 s/ d 85) el se i f ( shi f t >= 58 && shi f t <= 64) {

shi f t 1 = shi f t + 21; } / / asci i hur uf besar ( 27 s/ d 52) el se i f ( shi f t >= 65 && shi f t <= 90) {

shi f t 1 = shi f t - 38; }

/ / asci i [ sampai dengan ' ( 86 s/ d 91) el se i f ( shi f t >= 91 && shi f t <= 96) {

shi f t 1 = shi f t - 5; } / / asci i hur uf keci l ( 1 s/ d 26)

el se i f ( shi f t >= 97 && shi f t <= 122) { shi f t 1 = shi f t - 96; }

/ / asci i { sampai dengan ~ ( 92 s/ d 95) el se i f ( shi f t >= 123 && shi f t <= 126) {

(15)

el se{

shi f t 1 = shi f t * 0; }

i f ( ( of f set 1 >= 0) && ( shi f t 1 >= 0) ) { / / r umus vi gener e dekr i psi

i nt of f set 2 = ( ( of f set 1 - shi f t 1) + 1) ;

i f ( of f set 2 < 1) {

of f set 2 = ( of f set 2 + 95) ; }

/ / mer ubah desi mal ke kar akt er / / hur uf keci l

i f ( ( of f set 2 >= 1 && of f set 2 <= 26) ) { r esul t +=( char ) ( of f set 2 + 96) ; } / / hur uf besar

el se i f ( ( of f set 2 >= 27 && of f set 2 <= 52) ) { r esul t +=( char ) ( of f set 2 + 38) ; } / / angka

el se i f ( ( of f set 2 >= 53 && of f set 2 <= 62) ) { r esul t +=( char ) ( of f set 2 - 5) ; } / / spasi s/ d /

el se i f ( ( of f set 2 >= 63 && of f set 2 <= 78) ) { r esul t +=( char ) ( of f set 2 - 31) ; } / / : s/ d @

el se i f ( ( of f set 2 >= 79 && of f set 2 <= 85) ) { r esul t +=( char ) ( of f set 2 - 21) ; } / / [ sampai dengan '

el se i f ( ( of f set 2 >= 86 && of f set 2 <= 91) ) { r esul t +=( char ) ( of f set 2 + 5) ; } / / { sampai dengan ~

el se i f ( ( of f set 2 >= 92 && of f set 2 <= 95) ) { r esul t +=( char ) ( of f set 2 + 31) ; } el se{

r et ur n r esul t ; } }

el se{

r esul t =r esul t +pl ai nt ext . char At ( i ) ; }

}

Referensi

Dokumen terkait

Hal ini mendukung penelitian yang di lakukan oleh Sutrisni (2010) dalam penelitiannya, Analisis Pengaruh Kualitas Produk, Kualitas Pelayanan, Desain Produk, Harga, dan

Upaya yang dilakukan dalam menghadapi persaingan bisnis, tetap dengan. cara membina relasi, karena hal ini merupakan hal yang utama

Berdasarkan data hasil pengamatan ODTW di Batu Angus dan Pantai Sulamadaha diketahui bahwa Batu Angus memiliki skor 33 termasuk dalam kriteria kualitas Sedang dan Pantai

Tujuan umum penelitian ini adalah untuk mengetahui pengaruh latihan jalan tandem (tandem stance ) terhadap peningkatan keseimbangan untuk mengurangi risiko jatuh

Manajemen pengolahan adalah rangkaian untuk menerapkan fungsi- fungsi manajemen pada pengolahan udang beku dan suatu proses yang melibatkan kegiatan perencanaan,

Pada bab ini Anda diharapkan lebih mengenal lagi sistem persamaan linear tiga peubah, dalam hal ini dibahas berbagai teknik penyelesaian sistem persamaan tiga peubah, juga

Hasil penelitian ini sejalan dengan penelitian Wibawa P, pada penderita anemia penyakit kronis, bahwa tidak diperoleh hasil yang signifikan antara IL-6 dengan serum besi

Penggunaan metoda guna ulang telah memberikan banyak manfaat pada kehidupan Penggunaan metoda guna ulang telah memberikan banyak manfaat pada kehidupan kita, diantaranya adalah