Implementasi Operasi XOR dan Teknik Transposisi Segitiga Untuk Pengamanan Citra JPEG Berbasis Android

A-1

LISTING PROGRAM
Menu Enkripsi
package com.example.program;
import
import
import
import
import
import
import
import
import
import

java.io.File;
java.io.FileInputStream;
java.io.FileNotFoundException;
java.io.FileOutputStream;
java.io.IOException;

java.io.OutputStreamWriter;
java.text.SimpleDateFormat;
java.util.ArrayList;
java.util.Date;
java.util.Random;

import
import
import
import
import
import
import
import
import
import
import
import
import
import

import
import
import
import
import
import
import
import
import

android.app.Activity;
android.app.AlertDialog;
android.content.ActivityNotFoundException;
android.content.DialogInterface;
android.content.Intent;
android.database.Cursor;
android.graphics.Bitmap;
android.graphics.BitmapFactory;
android.graphics.Color;
android.graphics.Bitmap.Config;

android.graphics.drawable.BitmapDrawable;
android.net.Uri;
android.os.Bundle;
android.os.Environment;
android.provider.MediaStore;
android.util.Log;
android.view.Menu;
android.view.MenuItem;
android.view.View;
android.widget.Button;
android.widget.EditText;
android.widget.ImageView;
android.widget.Toast;

public class Enkripsi extends Activity{
public int SELECT_PICTURE = 1;
public String selectedImagePath;
EditText nama, ukuran, kunci;
ImageView img, imgxor, imgtranspos;
Bitmap bmp;

Button btn_pilih, btn_acak, btn_xor, btn_transpos, btn_reset,
btn_save, btn_tampil;
Integer x,y;
ArrayList kunci1 ;
ArrayList nilai_R = new ArrayList();
ArrayList nilai_G = new ArrayList();
ArrayList nilai_B = new ArrayList();
ArrayList nilai_Rh = new ArrayList();
ArrayList nilai_Gh = new ArrayList();
ArrayList nilai_Bh = new ArrayList();
Integer baris,kolom;
String namafilekunci;

Universitas Sumatera Utara

A-2

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

setContentView(R.layout.enkripsi);
nama = (EditText)findViewById(R.id.editText1);
ukuran = (EditText)findViewById(R.id.EditText01);
img = (ImageView)findViewById(R.id.imageView1);
imgxor = (ImageView)findViewById(R.id.ImageView01);
imgtranspos = (ImageView)findViewById(R.id.ImageView02);
btn_tampil = (Button)findViewById(R.id.Buttonkunci);
btn_tampil.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0){
File file=new File(namafilekunci);
if(file.exists())
{
try{
Intent i=new Intent(Intent.ACTION_EDIT);
i.setDataAndType(Uri.fromFile(file),"text/plain");
startActivity(i);
}
catch(ActivityNotFoundException e)
{
Toast.makeText(Enkripsi.this, "Proses gagal",

Toast.LENGTH_LONG).show();
}
}
}
});
btn_pilih = (Button)findViewById(R.id.Buttonpilih);
btn_pilih.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"S
elect Picture"), SELECT_PICTURE);
}
});
btn_acak = (Button)findViewById(R.id.button1);
btn_acak.setOnClickListener(new View.OnClickListener(){
public void onClick(View arg0) {
kunci1 = new ArrayList();
Random rand = new Random();

Bitmap bitmap =
((BitmapDrawable)img.getDrawable()).getBitmap();
for(int i=0;
i