• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
17
0
0

Teks penuh

(1)

LISTING PROGRAM

MainActivity.java

package com.example.jessicatamara.myapplication4;

import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

TextView txt_home;

Button btn_enkripsi, btn_dekripsi, btn_tentang, btn_bantuan, btn_keluar;

@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 onClick(View v) {

int klik = v.getId();

if (klik == R.id.buttonEnkripsi) {

Intent i = new Intent (MainActivity.this, Enkripsi_File.class);

startActivity(i); }

else if (klik==R.id.buttonDekripsi) {

Intent i = new Intent (MainActivity.this, dekripsi_file.class);

startActivity(i); }

(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 com.itextpdf.text.Document;

import com.itextpdf.text.DocumentException; import com.itextpdf.text.Font;

import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.PdfReader; import com.itextpdf.text.pdf.PdfWriter;

import com.itextpdf.text.pdf.parser.PdfTextExtractor;

import java.io.File;

import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;

import 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);

(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();

(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<hsl_double.length()-1; i++) print += (int)hsl_double.charAt(i) + " "; print +=

(int)hsl_double.charAt(hsl_double.length()-1);

document.add(new Paragraph(print)); document.close();

Toast.makeText(Enkripsi_File.this, "File Berhasil Disimpan", Toast.LENGTH_LONG).show();

/*

File file = new File(namafile); FileOutputStream fOut = new FileOutputStream(file);

(5)

//open the document doc.open();

Paragraph p1 = new Paragraph(hsl_double); Font paraFont= new

Font(Font.FontFamily.COURIER);

p1.setAlignment(Paragraph.ALIGN_CENTER); p1.setFont(paraFont);

//add paragraph to document doc.add(p1);

} catch (DocumentException de) {

Log.e("PDFCreator", "DocumentException:" + de); */

} catch (FileNotFoundException e) { Log.d("ooo", "File not found: " + e.getMessage());

} catch (IOException e) {

Log.d("ooo", "Error accessing file: " + e.getMessage());

} catch (DocumentException e) { e.printStackTrace();

} return; }

});

builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

return; }

});

builder.show();

break; }

}

String fileuri;

@Override

public void onActivityResult(int requestCode, int resultCode, Intent resultData) {

if (requestCode == 0 && resultCode == Activity.RESULT_OK) { Uri uri = null;

uri = resultData.getData(); fileuri = uri.getPath(); String parsedText = ""; try {

File ukuranfile = new File(fileuri);

(6)

parsedText = "";

PdfReader reader = new PdfReader(fileuri); Integer n = reader.getNumberOfPages(); for (int i = 0; i < n; i++) {

parsedText = parsedText +

PdfTextExtractor.getTextFromPage(reader, i + 1).trim() + "\n"; }

reader.close(); awal = parsedText;

lokasi_file.setText(fileuri); } catch (Exception e) {

Toast.makeText(getBaseContext(), "Harap Input file PDF", Toast.LENGTH_LONG).show();

lokasi_file.setText(""); }

} else {

Toast.makeText(getBaseContext(), "Ukuran Maksimal File 1MB", Toast.LENGTH_LONG).show();

lokasi_file.setText(""); }

} catch (Exception e) {

Toast.makeText(getBaseContext(), "Keterangan Error:" + e.getMessage(), Toast.LENGTH_LONG).show();

} } else {

Toast.makeText(this, "Tidak ada file yang dipilih", Toast.LENGTH_LONG).show();

} } }

dekripsi_file.java

package com.example.jessicatamara.myapplication4;

/**

* Created by JessicaTamara on 18/04/2017. */

import android.app.Activity;

import android.content.DialogInterface; import android.content.Intent;

import android.net.Uri; import android.os.Bundle; import android.os.Environment;

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 com.itextpdf.text.Document;

import com.itextpdf.text.DocumentException; import com.itextpdf.text.Paragraph;

(7)

import com.itextpdf.text.pdf.parser.PdfTextExtractor;

import java.io.BufferedReader; import java.io.File;

import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException;

import java.io.OutputStreamWriter; import java.io.PrintWriter;

public class dekripsi_file extends AppCompatActivity implements View.OnClickListener {

Button choose, proses_double, proses_ttm, simpan; TextView lokasi_file;

EditText kunci1, kunci2, kuncittm;

String awal = "", hsl_dt, hsl_ttm, namafile;

@Override

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

setContentView(R.layout.dekripsi_file);

lokasi_file = (TextView) findViewById(R.id.textViewIsiFileDek); kuncittm = (EditText) findViewById(R.id.editTextInputKunciDek); kunci1 = (EditText) findViewById(R.id.editTextKunci1DTCDek); kunci2 = (EditText) findViewById(R.id.editTextKunci2DTCDek);

choose = (Button) findViewById(R.id.buttonBrowseDek); choose.setOnClickListener(this);

proses_double = (Button) findViewById(R.id.buttonDekDTC); proses_double.setOnClickListener(this);

proses_ttm = (Button) findViewById(R.id.buttonDekTtm); proses_ttm.setOnClickListener(this);

simpan = (Button) findViewById(R.id.buttonSimpanFile); simpan.setOnClickListener(this);

}

@Override

public void onClick(View v) { switch (v.getId()) {

case R.id.buttonBrowseDek:

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(dekripsi_file.this, "Please install a File Manager.", Toast.LENGTH_SHORT).show();

} break;

case R.id.buttonDekDTC:

(8)

hsl_dt = db.dekripsi_double(awal,

kunci1.getText().toString(), kunci2.getText().toString()); Long endTime = System.currentTimeMillis(); Long totalTime = endTime - startTime;

Toast.makeText(dekripsi_file.this, hsl_dt, Toast.LENGTH_LONG).show();

Toast.makeText(dekripsi_file.this, "Dekripsi dengan Double TRansposition Cipher Berhasil \nRunning Time:" + totalTime.toString() + "ms", Toast.LENGTH_LONG).show();

break;

case R.id.buttonDekTtm:

startTime = System.currentTimeMillis(); trithemius ttm = new trithemius(); hsl_ttm = ttm.dekripsi_ttm(hsl_dt, kuncittm.getText().toString());

endTime = System.currentTimeMillis(); totalTime = endTime - startTime;

Toast.makeText(dekripsi_file.this, hsl_ttm, Toast.LENGTH_LONG).show();

Toast.makeText(dekripsi_file.this, "Dekripsi dengan Algoritma Trithemius Berhasil \nRunning Time:" + totalTime.toString() + "ms", Toast.LENGTH_LONG).show();

break;

case R.id.buttonSimpanFile:

AlertDialog.Builder builder = new AlertDialog.Builder(dekripsi_file.this);

builder.setTitle("SAVE");

builder.setMessage("Masukkan Nama File");

// Use an EditText view to get user input.

final EditText input = new EditText(dekripsi_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_ttm); myOutWriter.close();

fOut.close(); */

(9)

FileOutputStream(namafile));

document.open();

document.add(new Paragraph(hsl_ttm)); document.close();

Toast.makeText(dekripsi_file.this, "File Berhasil Disimpan", Toast.LENGTH_LONG).show();

/*

File file = new File(namafile); FileOutputStream fOut = new FileOutputStream(file);

PdfWriter.getInstance(doc, fOut);

//open the document doc.open();

Paragraph p1 = new Paragraph(hsl_double); Font paraFont= new

Font(Font.FontFamily.COURIER);

p1.setAlignment(Paragraph.ALIGN_CENTER); p1.setFont(paraFont);

//add paragraph to document doc.add(p1);

} catch (DocumentException de) {

Log.e("PDFCreator", "DocumentException:" + de); */

Toast.makeText(dekripsi_file.this, "File Berhasil Disimpan", Toast.LENGTH_LONG).show();

} catch (FileNotFoundException e) { Log.d("ooo", "File not found: " + e.getMessage());

} catch (IOException e) {

Log.d("ooo", "Error accessing file: " + e.getMessage());

} catch (DocumentException e) { e.printStackTrace();

} return; }

});

builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

return; }

});

(10)

break; }

}

String fileuri;

@Override

public void onActivityResult(int requestCode, int resultCode, Intent resultData) {

if (requestCode == 0 && resultCode == Activity.RESULT_OK) { Uri uri = null;

uri = resultData.getData(); fileuri = uri.getPath();

String parsedText = "";

try {

parsedText = "";

PdfReader reader = new PdfReader(fileuri); Integer n = reader.getNumberOfPages(); for (int i = 0; i < n; i++) {

parsedText = parsedText +

PdfTextExtractor.getTextFromPage(reader, i + 1).trim() + "\n"; }

reader.close();

String[] temp = parsedText.split("\\s+"); awal="";

for(int i=0; i<temp.length; i++)

awal+=(char)Integer.parseInt(temp[i]);

Toast.makeText(this, "File Dibuka", Toast.LENGTH_LONG).show();

Toast.makeText(this, parsedText, Toast.LENGTH_LONG).show(); } catch (IOException e) {

e.printStackTrace(); }

lokasi_file.setText(fileuri);

/* try {

String parsedText="";

PdfReader reader = new PdfReader(fileuri); Integer n = reader.getNumberOfPages();

Toast.makeText(dekripsi_file.this, fileuri + " " + n.toString(), Toast.LENGTH_SHORT).show();

for (int i = 0; i <n ; i++) { parsedText = parsedText+

PdfTextExtractor.getTextFromPage(reader, i + 1).trim()+"\n"; }

reader.close(); awal = parsedText; } catch (Exception e) { System.out.println(e); }

(11)

void methodWriteStorage(String data) {

String namaFileOutput = Environment.getExternalStorageDirectory() + "/Hasil Dekrisi Jeje.txt";

try {

PrintWriter pw = new PrintWriter(namaFileOutput); pw.println(data);

pw.close();

//AlertDialog dialog=new AlertDialog.Builder(this).create(); //dialog.setMessage("Hasil Enkripsi : " + data);

//dialog.show();

} catch (FileNotFoundException e) {

AlertDialog dialog = new AlertDialog.Builder(this).create(); dialog.setMessage("Error menulis data!\nKeterangan error:\n" + e.toString());

dialog.show(); }

} }

trithemius.java

package com.example.jessicatamara.myapplication4;

/**

* Created by JessicaTamara on 18/05/2017. */

public class trithemius { String index =

"abcdefghiklmnopqrstuwxyzjvABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"+' '+".,!"; char[] arrayindex= index.toCharArray();

private char[] createkey(String key, String plaintext){ char[] arrayplaintext = plaintext.toCharArray(); char[] arraykey = new char[arrayplaintext.length]; char[] filler = key.toCharArray();

int flag=0;

for (int i=0,j=0; i<arraykey.length; i++){ arraykey[i]=filler[j];

j++;

if (j==filler.length){ flag=1;

}

if (flag==1){ j=0; flag=0; }

}

return arraykey; }

private int getindex(char character){ for(int i=0; i<index.length(); i++){ if (character==arrayindex[i]){ return i;

} }

(12)

private char getcharacter(int indext){ for(int i=0; i<index.length(); i++){ if (i==indext){

return arrayindex[i]; }

}

return '0'; }

public String enkripsi_ttm(String plaintext, String key){ char[]arraykey = createkey(key, plaintext);

char[]arrayplaintext = plaintext.toCharArray();

char[]arrayciphertext = new char[arrayplaintext.length]; int p,k,c;

for (int i=0; i<arrayplaintext.length;i++){ if(getindex(arrayplaintext[i])==-1){ arrayciphertext[i]=arrayplaintext[i]; continue;

}

p= getindex(arrayplaintext[i]); k= getindex(arraykey[i]); c= (p+k)%index.length();

arrayciphertext[i]=getcharacter(c); }

String hasil = new String(arrayciphertext); return hasil;

}

public String dekripsi_ttm(String ciphertext, String key){ char[]arraykey = createkey(key, ciphertext);

char[]arrayciphertext = ciphertext.toCharArray();

char[]arrayplaintext = new char[arrayciphertext.length]; int p,k,c;

for (int i=0; i<arrayciphertext.length;i++){ if(getindex(arrayciphertext[i])==-1){ arrayplaintext[i]=arrayciphertext[i]; continue;

}

c= getindex(arrayciphertext[i]); k= getindex(arraykey[i]);

p= (c-k); if(p<0) {

p=p+index.length(); }

else{

p=p%index.length(); }

arrayplaintext[i]=getcharacter(p); }

String hasil = new String(arrayplaintext); return hasil;

(13)

doublet.java

package com.example.jessicatamara.myapplication4;

/**

* Created by JessicaTamara on 18/05/2017. */

public class doublet {

public Integer[] urutan(String key) { char[] kk1 = key.toCharArray();

Integer[] kk2 = new Integer[kk1.length]; for (int i = 0; i < kk2.length; i++) { kk2[i] = i;

}

for (int i = 0; i < kk1.length; i++) for (int j = 0; j < kk1.length; j++) if (kk1[i] < kk1[j]) {

char ctemp = kk1[i]; kk1[i] = kk1[j]; kk1[j] = ctemp; int itemp = kk2[i]; kk2[i] = kk2[j]; kk2[j] = itemp; }

return kk2; }

public String enkripsi_double(String plain, String key1, String key2) { String k1 = key1, k2 = key2, cipher1 = "", cipher2 = "";

Integer i1 = (int) Math.ceil(plain.length() * 1.0 / k1.length()); Integer j1 = k1.length();

char[][] tabel1 = new char[i1][j1]; int k = 0;

for (int i = 0; i < i1; i++) for (int j = 0; j < j1; j++) { if (k < plain.length())

tabel1[i][j] = plain.charAt(k); else

tabel1[i][j] = 'Ā'; k++;

}

Integer[] runtutan = urutan(k1);

for (int i = 0; i < runtutan.length; i++) for (int j = 0; j < i1; j++)

cipher1 += tabel1[j][runtutan[i]];

Integer i2 = (int) Math.ceil(cipher1.length() * 1.0 / k2.length()); Integer j2 = k2.length();

char[][] tabel2 = new char[i2][j2]; k = 0;

for (int i = 0; i < i2; i++) for (int j = 0; j < j2; j++) { if (k < cipher1.length())

(14)

else

tabel2[i][j] = 'Ī'; k++;

}

runtutan = urutan(k2);

for (int i = 0; i < runtutan.length; i++) for (int j = 0; j < i2; j++)

cipher2 += tabel2[j][runtutan[i]];

return cipher2; }

public String dekripsi_double(String cipher, String key1, String key2) {

String k1 = key1, k2 = key2, plain1 = "", plain2 = ""; Integer i1 = (cipher.length() / k2.length());

Integer j1 = k2.length();

char[][] tabel1 = new char[i1][j1]; int k = 0;

Integer[] runtutan = urutan(k2);

for (int i = 0; i < runtutan.length; i++) for (int j = 0; j < i1; j++) {

tabel1[j][runtutan[i]] = cipher.charAt(k); k++;

}

for (int i = 0; i < i1; i++) for (int j = 0; j < j1; j++) plain1 += tabel1[i][j];

String temp = "";

for (int i = 0; i < plain1.length(); i++) if (plain1.charAt(i) != 'İ')

temp += plain1.charAt(i); plain1 = temp;

Integer i2 = (plain1.length() / k1.length()); Integer j2 = k1.length();

char[][] tabel2 = new char[i2][j2]; k = 0;

runtutan = urutan(k1);

for (int i = 0; i < runtutan.length; i++) for (int j = 0; j < i2; j++) {

tabel2[j][runtutan[i]] = plain1.charAt(k); k++;

}

for (int i = 0; i < i2; i++) for (int j = 0; j < j2; j++) plain2 += tabel2[i][j];

temp = "";

(15)

temp += plain2.charAt(i); plain2 = temp;

return plain2; }

}

tentang.java

package com.example.jessicatamara.myapplication4;

/**

* Created by JessicaTamara on 06/04/2017. */

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity; import android.webkit.WebView;

public class tentang extends AppCompatActivity {

@Override

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

setContentView(R.layout.tentang);

String text1 = "Nama : Jessica"; String text2 = "Nim : 131401134"; String text3 = "Stambuk : 2013";

String text4 = "Judul : Implementasi Super Enkripsi dengan

Algoritma Trithemius dan Double Transposition Cipher dalam Pengamanan File PDF Berbasis Android";

String text5 = "Program Studi S1 Ilmu Kompuer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara "; String text6 = "2017";

WebView webView = (WebView) findViewById(R.id.webview2); webView.loadData("<p style=\"text-align: justify\">" + text1 + "</p>" +

"<p style=\"text-align: justify\">" + text2 + "</p>" +

"<p style=\"text-align: justify\">" + text3 + "</p>" +

"<p style=\"text-align: justify\">" + text4 + "</p>" +

"<p style=\"text-align: justify\">" + text5 + "</p>" +

"<p style=\"text-align: justify\">" + text6 + "</p>",

"text/html", "UTF-8"); }

}

bantuan.java

package com.example.jessicatamara.myapplication4;

(16)

* Created by JessicaTamara on 18/05/2017. */

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity; import android.webkit.WebView;

public class bantuan extends AppCompatActivity {

@Override

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

setContentView(R.layout.bantuan);

String text1 = "1.Ukuran maksimal file adalah 1MB";

String text2 = "2.Disarankan menginputkan tiga buat password yang berbeda guna meningkatkan keamanan file";

String text3 = "3.Password yang diinputkan pada saat proses enkripsi harus sama dengan password yang diinputkan pada saat proses dekripsi.";

WebView webView = (WebView)findViewById(R.id.webview);

webView.loadData("<p style=\"text-align: justify\">" + text1 + "</p>"+

"<p style=\"text-align: justify\">" + text2 + "</p>"+

"<p style=\"text-align: justify\">" + text3 + "</p>",

"text/html", "UTF-8");

}

(17)

CURRICULUM VITAE

DATA PRIBADI

Nama Lengkap

: Jessica

Jenis Kelamin

: Perempuan

Tempat, Tanggal Lahir

: Medan, 18 April 1995

Alamat

: Jl. Cengkeh 3 No. 3 Perumnas

Simalingkar

Alamat Orangtua

: Jl. Cengkeh 3 No. 3 Perumnas

Simalingkar

Agama

: Kristen

No. Hp

: 082276686507

E-mail

: jessicasinaga5@gmail.com

Pendidikan Terakhir : Universitas Sumatera Utara Medan, Fakultas Ilmu

Komputer dan Teknologi Informasi Jurusan S1 Ilmu

Komputer

PENDIDIKAN FORMAL

2013

2017

: S1 Ilmu Komputer Universitas Sumatera Utara, Medan

2010

2013

: SMA Santo Thomas 1 Medan

2007

2010

: SMP Budi Murni 2 Medan

2001

2007

: SD Budi Murni 2 Medan

PENGALAMAN ORGANISASI DAN KEGIATAN ILMIAH

Anggota Departemen Dana dan Usaha Ikatan Mahasiswa S1 Ilmu Komputer

(IMILKOM), 2015-2016

Referensi

Dokumen terkait

Sampling Ikan Selar Kuning pada bulan April 2017.. Sampling Ikan Selar Kuning pada bulan

The present study describes the relationship between macerals constituent, chemical properties and hydrocarbon potential in some Tertiary coals from Lower and Upper Kutai

Pengakuan Model Noken Dalam Putusan Mahkamah Konstitusi Tentang Pemilukada Lanny Jaya Papua Dan Implementasinya Terhadap Sistem Pemilu Di Indonesia .Thesis :

Narasumber yang dipilih penulis adalah dua orang perawat yang telah bekerja lebih dari lima tahun di Panti Lansia Santa Anna dan dua orang lansia yang tinggal di Panti Lansia Santa

terikat permanen, dan aktiva bersih terikat temporer. Tetapi dalam laporan.. keuangan Rumah Sakit Ibnu Sina Padang yang dicantumkan hanya dua, yaitu aset. bersih tidak

Tujuan dari paper ini adalah untuk memperlihatkan bagaimana pemimpin NU, Abdurrahman Wahid (selanjutnya ditulis Gus Dur), menggunakan wacana dialog antaragama sebagai: pertama

Informan Kalau itu sebenarnya kenapa, karena strategi marketnya udah benar kenapa kita masuk pasar LCGC intinya sih secara keseluruhan dulu itu logo Nissan sama dengan logo

kecemasan siswa SMK Negeri 1 dalam menghadapi ujian kenaikan kelas. Terapi musik yang digunakan adalah musik instrumental