Implementasi Super Enkripsi Menggunakan Algoritma Tritmius Dan Double transposition Cipher Pada Pengamanan File Berbasis Android

A-1

LISTING PROGRAM
MainActivity.java
package

com.example.jessicatamara.myapplication4;

import
import
import
import
import
import

android.content.Intent;
android.support.v7.app.AppCompatActivity;
android.os.Bundle;
android.view.View;
android.widget.Button;
android.widget.TextView;


public class MainActivity
View.OnClickListener{
TextView
Button btn_enkripsi,
btn_keluar;

extends

AppCompatActivity

btn_dekripsi,

btn_tentang,

implements
txt_home;
btn_bantuan,

@Override

protected
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txt_home
=
(TextView)
findViewById(R.id.textViewHome);
btn_enkripsi = (Button) findViewById(R.id.buttonEnkripsi);
btn_enkripsi.setOnClickListener(this);
btn_dekripsi = (Button) findViewById(R.id.buttonDekripsi);
btn_dekripsi.setOnClickListener(this);
btn_tentang
=
(Button)
findViewById(R.id.buttonTentang);
btn_tentang.setOnClickListener(this);

btn_bantuan
=
(Button)
findViewById(R.id.buttonBantuan);
btn_bantuan.setOnClickListener(this);
}
@Override
public
void
int
klik
if
(klik
{
Intent
i
=
Enkripsi_File.class);
startActivity(i);
}

else
if
{
Intent
i
=
dekripsi_file.class);
startActivity(i);
}
else
if
{

onClick(View
=
==
new

Intent


v)

{
v.getId();
R.id.buttonEnkripsi)
(MainActivity.this,

(klik==R.id.buttonDekripsi)
new

Intent

(MainActivity.this,

(klik==R.id.buttonTentang)

Universitas Sumatera Utara

A-2


Intent i = new Intent (MainActivity.this, tentang.class);
startActivity(i);
}
else
if
(klik==R.id.buttonBantuan)
{
Intent i = new Intent (MainActivity.this, bantuan.class);
startActivity(i);
}
}
}

Enkripsi_File.java
package com.example.jessicatamara.myapplication4;
/**
* Created by JessicaTamara on 19/04/2017.
*/
import android.app.Activity;
import android.content.DialogInterface;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import
import
import
import
import
import
import

com.itextpdf.text.Document;

com.itextpdf.text.DocumentException;
com.itextpdf.text.Font;
com.itextpdf.text.Paragraph;
com.itextpdf.text.pdf.PdfReader;
com.itextpdf.text.pdf.PdfWriter;
com.itextpdf.text.pdf.parser.PdfTextExtractor;

import
import
import
import
import

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

public class Enkripsi_File extends AppCompatActivity implements

View.OnClickListener {
Button choose, proses_double, proses_ttm, simpan;
TextView lokasi_file;
EditText kunci1, kunci2, kuncittm;
String awal, hsl_ttm, hsl_double, namafile;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.enkripsi_file);
lokasi_file = (TextView) findViewById(R.id.textViewIsiFile);

Universitas Sumatera Utara

A-3

kuncittm = (EditText) findViewById(R.id.editTextInputKunci);
kunci1 = (EditText) findViewById(R.id.editTextKunci1DTC);
kunci2 = (EditText) findViewById(R.id.editTextKunci2DTC);
choose = (Button) findViewById(R.id.buttonBrowseEnk);
choose.setOnClickListener(this);

proses_double = (Button) findViewById(R.id.buttonEnkDTC);
proses_double.setOnClickListener(this);
proses_ttm = (Button) findViewById(R.id.buttonEnkTtm);
proses_ttm.setOnClickListener(this);
simpan = (Button) findViewById(R.id.buttonSimpan);
simpan.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.buttonBrowseEnk:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
//all files
intent.addCategory(Intent.CATEGORY_OPENABLE);
try {
startActivityForResult(Intent.createChooser(intent,
"Select a File to Upload"), 0);
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(Enkripsi_File.this, "Please install a

File Manager.", Toast.LENGTH_SHORT).show();
}
break;
case R.id.buttonEnkTtm:
Long startTime = System.currentTimeMillis();
trithemius ttm = new trithemius();
hsl_ttm = ttm.enkripsi_ttm(awal,
kuncittm.getText().toString());
Long endTime = System.currentTimeMillis();
Long totalTime = endTime - startTime;
Toast.makeText(Enkripsi_File.this, hsl_ttm,
Toast.LENGTH_LONG).show();
Toast.makeText(Enkripsi_File.this, "Enkripsi dengan
Algoritma Trithemius Berhasil \nRunning Time:" + totalTime.toString() +
"ms", Toast.LENGTH_LONG).show();
break;
case R.id.buttonEnkDTC:
startTime = System.currentTimeMillis();
doublet db = new doublet();
hsl_double = db.enkripsi_double(hsl_ttm,
kunci1.getText().toString(), kunci2.getText().toString());
endTime = System.currentTimeMillis();
totalTime = endTime - startTime;
Toast.makeText(Enkripsi_File.this, hsl_double,
Toast.LENGTH_LONG).show();
Toast.makeText(Enkripsi_File.this, "Enkripsi dengan Double
Transposition Cipher Berhasil \nRunning Time:" + totalTime.toString() +
"ms", Toast.LENGTH_LONG).show();
break;

Universitas Sumatera Utara

A-4

case R.id.buttonSimpan:
AlertDialog.Builder builder = new
AlertDialog.Builder(Enkripsi_File.this);
builder.setTitle("SAVE");
builder.setMessage("Masukkan Nama File");
// Use an EditText view to get user input.
final EditText input = new EditText(Enkripsi_File.this);
input.setId(0);
builder.setView(input);
builder.setPositiveButton("Ok", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int
whichButton) {
namafile = input.getText().toString();
//Document doc = new Document();
try {
namafile = "/mnt/sdcard/" + namafile+".pdf";
/*
File myFile = new File(namafile);
myFile.createNewFile();
FileOutputStream fOut = new
FileOutputStream(myFile);
OutputStreamWriter myOutWriter = new
OutputStreamWriter(fOut);
myOutWriter.append(hsl_double);
myOutWriter.close();
fOut.close();
*/
String print="";
Document document = new Document();
PdfWriter.getInstance(document, new
FileOutputStream(namafile));
document.open();
for(int i=0; i