LISTING PROGRAM
Menu Enkripsi
package com.example.program;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;
import java.io.OutputStreamWriter; import java.text.SimpleDateFormat; import java.util.ArrayList;
import java.util.Date; import java.util.Random;
import android.app.Activity; import android.app.AlertDialog;
import android.content.ActivityNotFoundException; import android.content.DialogInterface;
import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.Color;
import android.graphics.Bitmap.Config;
import android.graphics.drawable.BitmapDrawable; import android.net.Uri;
import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.util.Log;
import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import 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<Integer> kunci1 ;
ArrayList<Integer> nilai_R = new ArrayList<Integer>(); ArrayList<Integer> nilai_G = new ArrayList<Integer>(); ArrayList<Integer> nilai_B = new ArrayList<Integer>(); ArrayList<Integer> nilai_Rh = new ArrayList<Integer>(); ArrayList<Integer> nilai_Gh = new ArrayList<Integer>(); ArrayList<Integer> nilai_Bh = new ArrayList<Integer>(); Integer baris,kolom;
@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<Integer>(); Random rand = new Random();
Bitmap bitmap =
((BitmapDrawable)img.getDrawable()).getBitmap(); for(int i=0;
i<bitmap.getHeight()*bitmap.getWidth();i++) {
kunci1.add(rand.nextInt(256));
}
Toast.makeText(getBaseContext(), "Kunci Berhasil Dibuat", Toast.LENGTH_SHORT).show();
} });
btn_xor.setOnClickListener(new View.OnClickListener(){ public void onClick(View arg0) {
double startTime= System.currentTimeMillis();
Bitmap bitmap =
((BitmapDrawable)img.getDrawable()).getBitmap(); Bitmap hasil =
Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); int p, R, G, B, k=0;
for(int i=0; i<bitmap.getWidth();i++) {
for(int j=0; j<bitmap.getHeight();j++)
{
p = bitmap.getPixel(i, j);
R = Color.red(p);
G = Color.green(p);
B = Color.blue(p);
hasil.setPixel(i, j, Color.argb(255,
R^kunci1.get(k), G^kunci1.get(k), B^kunci1.get(k)));
k++;
}
}
imgxor.setImageBitmap(hasil);
double endTime= System.currentTimeMillis();
double total =(endTime-startTime)/1000;
Toast.makeText(getBaseContext(), "Proses Enkripsi
XOR selesai dengan waktu " + total + "s", Toast.LENGTH_SHORT).show();
} });
btn_transpos = (Button)findViewById(R.id.Button02);
btn_transpos.setOnClickListener(new View.OnClickListener(){ public void onClick(View arg0) {
double startTime= System.currentTimeMillis();
Bitmap bitmap =
((BitmapDrawable)imgxor.getDrawable()).getBitmap(); Bitmap hasil =
Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); int p, R, G, B, k=0;
for(int i=0; i<bitmap.getWidth();i++) {
for(int j=0; j<bitmap.getHeight();j++)
{
p = bitmap.getPixel(i, j);
R = Color.red(p);
G = Color.green(p);
B = Color.blue(p);
nilai_R.add(R);
nilai_G.add(G);
nilai_B.add(B);
}
}
nilai_Rh.clear();
nilai_Gh.clear();
nilai_Bh.clear();
nilai_R = proses(nilai_R,1);
nilai_B = proses(nilai_B,3);
for(int i=0; i<bitmap.getWidth();i++)
{
for(int j=0; j<bitmap.getHeight();j++)
{
hasil.setPixel(i, j, Color.argb(255,
nilai_R.get(k), nilai_G.get(k), nilai_B.get(k)));
k++;
}
}
imgtranspos.setImageBitmap(hasil);
double endTime= System.currentTimeMillis();
double total =(endTime-startTime)/1000;
Toast.makeText(getBaseContext(), "Proses Enkripsi
Transposisi Segitiga selesai dengan waktu " + total + "s", Toast.LENGTH_SHORT).show();
} });
btn_reset = (Button)findViewById(R.id.Button04);
btn_reset.setOnClickListener(new View.OnClickListener(){ public void onClick(View arg0){
img.setImageResource(R.drawable.ssss);
imgxor.setImageResource(R.drawable.ssss);
imgtranspos.setImageResource(R.drawable.ssss);
nama.setText(""); ukuran.setText(""); }
});
btn_save = (Button)findViewById(R.id.Button05);
btn_save.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {
Bitmap bitmap =
((BitmapDrawable)imgtranspos.getDrawable()).getBitmap ();
storeImage(bitmap);
} });
}
private void storeImage(Bitmap image) {
File pictureFile = getOutputMediaFile(); if (pictureFile == null) {
Log.d("ooo",
"Error creating media file, check storage permissions: ");// e.getMessage()); return;
} try {
double startTime= System.currentTimeMillis(); FileOutputStream fos = new
FileOutputStream(pictureFile);
image.compress(Bitmap.CompressFormat.PNG, 90, fos); fos.close();
namafilekunci = pictureFile.getPath().substring(0, pictureFile.getPath().length()-4) + "_k.txt";
File myFile = new File(namafilekunci); myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile); OutputStreamWriter myOutWriter = new
OutputStreamWriter(fOut);
for(int i = 0; i< kunci1.size()-1; i++)
myOutWriter.append(kunci1.get(i).toString()+"~");
myOutWriter.append(kunci1.get(kunci1.size()-1).toString()+"\n");
myOutWriter.close();
fOut.close();
String namafile = pictureFile.getPath().substring(0, pictureFile.getPath().length()-4) + ".txt";
myFile = new File(namafile); myFile.createNewFile();
fOut = new FileOutputStream(myFile);
myOutWriter = new OutputStreamWriter(fOut); for(int i = 0; i< nilai_Rh.size()-1; i++)
myOutWriter.append(nilai_Rh.get(i).toString()+"~");
myOutWriter.append(nilai_Rh.get(nilai_Rh.size()-1).toString()+"\n");
for(int i = 0; i< nilai_Gh.size()-1; i++)
myOutWriter.append(nilai_Gh.get(i).toString()+"~");
myOutWriter.append(nilai_Gh.get(nilai_Gh.size()-1).toString()+"\n");
for(int i = 0; i< nilai_Bh.size()-1; i++)
myOutWriter.append(nilai_Bh.get(i).toString()+"~");
myOutWriter.append(nilai_Bh.get(nilai_Bh.size()-1).toString()+"\n");
myOutWriter.append(baris.toString()+"\n"); myOutWriter.append(kolom.toString()+"\n"); myOutWriter.close();
fOut.close();
double endTime= System.currentTimeMillis();
double total =(endTime-startTime)/1000;
Toast.makeText(this, "File Berhasil Disimpan dengan waktu " + total + "s", Toast.LENGTH_SHORT).show();
} catch (FileNotFoundException e) {
Log.d("ooo", "File not found: " + e.getMessage()); } catch (IOException e) {
Log.d("ooo", "Error accessing file: " + e.getMessage()); }
}
private File getOutputMediaFile(){ File mediaStorageDir = new
File(Environment.getExternalStorageDirectory() + "/Pictures");
if (! mediaStorageDir.exists()){ if (! mediaStorageDir.mkdirs()){ return null;
} }
String timeStamp = new
SimpleDateFormat("ddMMyyyy_HHmm").format(new Date()); File mediaFile;
mediaFile = new File(mediaStorageDir.getPath() + File.separator + mImageName);
return mediaFile; }
ArrayList<Integer> proses(ArrayList<Integer> temp, int x) {
int limit = 0, j = 1, i, row = 0, col = 0;
ArrayList<Integer> temp2 = new ArrayList<Integer>(); i=0;
limit = i*i;
while(limit<temp.size()) {
i++;
limit = i*i; row++;
}
col = row + (row-1);
String[][] triangle = new String[row][col]; int mid = ((col + 1) /2)-1;
int idx = 0;
for(i = 0; i<row; i++) {
for(j = mid-i; j<=mid+i; j++) {
if(temp.size() <= idx)
triangle[i][j] = "-1";
else
{
triangle[i][j] = temp.get(idx).toString();
idx++; }
} }
for(i=0; i<col; i++) for(j=0; j<row; j++)
if(triangle[j][i] != null && triangle[j][i] != "-1")
temp2.add(Integer.parseInt(triangle[j][i]));
for(i=0; i<col; i++) {
for(j=0; j<row; j++) {
if(triangle[j][i] != null)
{
if(x==1)
nilai_Rh.add(Integer.parseInt(triangle[j][i]));
else if(x==2)
nilai_Gh.add(Integer.parseInt(triangle[j][i]));
else if(x==3)
nilai_Bh.add(Integer.parseInt(triangle[j][i]));
}
} }
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
Uri selectedImageUri = data.getData();
selectedImagePath = getPath(selectedImageUri); nama.setText(selectedImagePath.toString()); try{
File f = new File(selectedImagePath); bmp = BitmapFactory.decodeStream(new
FileInputStream(f)); img.setImageBitmap(bmp);
if
(f.getPath().endsWith(".JPEG")||(f.getPath().endsWith(
".jpg"))) {
img.setImageBitmap(bmp); }
else {
nama.setText(""); ukuran.setText("");
img.setImageBitmap(null);
Toast.makeText(getBaseContext(), "Silahkan
pilih gambar dengan ekstensi .jpg atau JPEG", Toast.LENGTH_SHORT).show();
}
x = bmp.getWidth(); y = bmp.getHeight();
ukuran.setText(x.toString()+" X "+y.toString()); if ((bmp.getWidth() > 600) && (bmp.getHeight() > 600
)) {
nama.setText(""); ukuran.setText("");
img.setImageBitmap(null);
Toast.makeText(getBaseContext(), "silahkan pilih gambar lebih kecil dari 600 x 600 piksel", Toast.LENGTH_SHORT).show();
} }
catch (FileNotFoundException e){ e.printStackTrace();
} } } }
public String getPath(Uri uri) { if( uri == null ) { return null; }
String[] projection = { MediaStore.Images.Media.DATA }; Cursor cursor = managedQuery(uri, projection, null, null,
null);
if( cursor != null ){ int column_index =
cursor.getColumnIndexOrThrow(MediaStore.Images.Media.D ATA);
cursor.moveToFirst();
cursor.close(); return path; }
return uri.getPath(); }
@Override
public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {
case R.id.action_home:
Intent home = new Intent(Enkripsi .this, MainActivity.class);
this.finish();
startActivity(home); break;
case R.id.action_enkripsi:
Intent enkrip = new Intent(Enkripsi .this, Enkripsi.class); this.finish();
startActivity(enkrip);
break;
case R.id.action_help:
Intent help = new Intent(Enkripsi .this, Help.class); this.finish();
startActivity(help);
break;
case R.id.action_dekripsi:
Intent dekrip = new Intent(Enkripsi .this, Dekripsi.class); this.finish();
startActivity(dekrip);
break; }
return super.onOptionsItemSelected(item); }
Menu Dekripsi
package com.example.program; import java.io.BufferedReader; import java.io.File;
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.IOException;
import java.io.OutputStreamWriter; import java.text.SimpleDateFormat; import java.util.ArrayList;
import java.util.Date;
import android.app.Activity;
import android.content.ActivityNotFoundException; import android.content.Intent;
import android.database.Cursor; import android.graphics.Bitmap;
import android.graphics.BitmapFactory; import android.graphics.Color;
import android.graphics.Bitmap.Config;
import android.graphics.drawable.BitmapDrawable; import android.net.Uri;
import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.util.Log;
import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast;
public class Dekripsi extends Activity { public int SELECT_PICTURE = 1; public String selectedImagePath; EditText nama, ukuran;
ImageView img, imgxor, imgtranspos; Bitmap bmp;
Button btn_pilih, btn_xor, btn_transpos, btn_reset, btn_save, btn_tampil;
Integer x,y;
ArrayList<Integer> kunci1 = new ArrayList<Integer>(); ArrayList<Integer> nilai_R = new ArrayList<Integer>(); ArrayList<Integer> nilai_G = new ArrayList<Integer>(); ArrayList<Integer> nilai_B = new ArrayList<Integer>(); ArrayList<Integer> nilai_Rh = new ArrayList<Integer>(); ArrayList<Integer> nilai_Gh = new ArrayList<Integer>(); ArrayList<Integer> nilai_Bh = new ArrayList<Integer>(); int baris,kolom;
String namafilekunci; @Override
super.onCreate(savedInstanceState); setContentView(R.layout.dekripsi);
nama = (EditText)findViewById(R.id.editText1); ukuran = (EditText)findViewById(R.id.EditText01); img = (ImageView)findViewById(R.id.imageView1); imgxor = (ImageView)findViewById(R.id.ImageView02); imgtranspos = (ImageView)findViewById(R.id.ImageView01);
btn_tampil = (Button)findViewById(R.id.Button06);
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),"tex t/plain");
startActivity(i);
}
catch(ActivityNotFoundException e)
{
Toast.makeText(Dekripsi.this, "error",Toast.LENGTH_LONG).show();
}
}
} });
btn_pilih = (Button)findViewById(R.id.Button01);
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(in tent,"Select Picture"), SELECT_PICTURE); }
});
btn_transpos = (Button)findViewById(R.id.Button03);
btn_transpos.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {
double startTime= System.currentTimeMillis(); Bitmap bitmap =
((BitmapDrawable)img.getDrawable()).getBitmap(); Bitmap hasil =
Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); nilai_R = proses2(nilai_Rh);
nilai_G = proses2(nilai_Gh); nilai_B = proses2(nilai_Bh); int k=0;
{
for(int j=0; j<bitmap.getHeight();j++) {
hasil.setPixel(i, j, Color.argb(255, nilai_R.get(k), nilai_G.get(k), nilai_B.get(k)));
k++; }
}
imgtranspos.setImageBitmap(hasil); double endTime= System.currentTimeMillis(); double total =(endTime-startTime)/1000;
Toast.makeText(getBaseContext(), "Proses Dekripsi Transposisi Segitiga selesai dengan waktu " + total + "s", Toast.LENGTH_SHORT).show();
} });
btn_xor = (Button)findViewById(R.id.Button02);
btn_xor.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {
double startTime= System.currentTimeMillis(); Bitmap bitmap =
((BitmapDrawable)imgtranspos.getDrawable()).getBitmap(); Bitmap hasil = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Config.ARGB_8888); int p, R, G, B, k=0;
for(int i=0; i<bitmap.getWidth();i++) {
for(int j=0; j<bitmap.getHeight();j++)
{
p = bitmap.getPixel(i, j); R = Color.red(p);
G = Color.green(p); B = Color.blue(p);
hasil.setPixel(i, j, Color.argb(255, R^kunci1.get(k), G^kunci1.get(k), B^kunci1.get(k)));
k++;
}
}
imgxor.setImageBitmap(hasil);
double endTime= System.currentTimeMillis(); double total =(endTime-startTime)/1000;
Toast.makeText(getBaseContext(), "Proses Dekrip XOR selesai dengan waktu " + total + "s",
Toast.LENGTH_SHORT).show(); }
});
btn_reset = (Button)findViewById(R.id.Button04);
btn_reset.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {
img.setImageResource(R.drawable.ssss); imgxor.setImageResource(R.drawable.ssss); imgtranspos.setImageResource(R.drawable.ssss); nama.setText("");
} });
btn_save = (Button)findViewById(R.id.Button05);
btn_save.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) {
Bitmap bitmap =
((BitmapDrawable)imgxor.getDrawable()).getBitmap(); storeImage(bitmap);
} }); }
ArrayList<Integer> proses2(ArrayList<Integer> temp) {
int j = 1, i, row = baris, col = kolom;
ArrayList<Integer> temp2 = new ArrayList<Integer>(); String[][] triangle = new String[row][col];
int mid = ((col + 1) /2)-1; int idx = 0;
for(i = 0; i<col; i++) {
if( i >= mid) {
for(j = i-row+1; j<row; j++) {
triangle[j][i] = temp.get(idx).toString(); idx++;
} }
else if(i<mid) {
for(j = row-i-1; j<row; j++) {
triangle[j][i] = temp.get(idx).toString(); idx++;
} } }
for(i=0; i<row; i++) for(j=0; j<col; j++)
if(triangle[i][j] != null && triangle[i][j] != "-1")
temp2.add(Integer.parseInt(triangle[i][j])); return temp2;
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
String temp = "";
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) { Uri selectedImageUri = data.getData();
selectedImagePath = getPath(selectedImageUri); temp =
namafilekunci =
selectedImagePath.substring(0,selectedImagePath.length()-4) + "_k.txt";
nama.setText(selectedImagePath.toString());
try{
File f = new File(selectedImagePath);
bmp = BitmapFactory.decodeStream(new FileInputStream(f)); img.setImageBitmap(bmp);
x = bmp.getWidth(); y = bmp.getHeight();
ukuran.setText(x.toString()+" X "+y.toString());
}
catch (FileNotFoundException e){ e.printStackTrace();
}
File file = new File(namafilekunci);
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
line = br.readLine();
String[] tmp = line.split("~"); if(kunci1!=null)
kunci1.clear();
for(int i=0; i<tmp.length; i++) {
kunci1.add(Integer.parseInt(tmp[i])); }
br.close(); }
catch (IOException e) { e.printStackTrace(); }
file = new File(temp);
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line;
line = br.readLine();
String[] tmp1 = line.split("~"); if(nilai_Rh!=null)
nilai_Rh.clear();
for(int i=0; i<tmp1.length; i++) {
nilai_Rh.add(Integer.parseInt(tmp1[i])); }
line = br.readLine();
String[] tmp2 = line.split("~"); if(nilai_Gh!=null)
{
nilai_Gh.add(Integer.parseInt(tmp2[i])); }
line = br.readLine();
String[] tmp3 = line.split("~"); if(nilai_Bh!=null)
nilai_Bh.clear(); for(int i=0; i<tmp3.length; i++) {
nilai_Bh.add(Integer.parseInt(tmp3[i])); }
line = br.readLine();
baris = Integer.parseInt(line); line = br.readLine();
kolom = Integer.parseInt(line);
br.close();
Toast.makeText(this, "File Dibuka", Toast.LENGTH_LONG).show();
}
catch (IOException e) { e.printStackTrace(); }
} } }
public String getPath(Uri uri) { if( uri == null ) { return null; }
String[] projection = { MediaStore.Images.Media.DATA }; Cursor cursor = managedQuery(uri, projection, null, null,
null);
if( cursor != null ){ int column_index =
cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA) ;
cursor.moveToFirst();
String path = cursor.getString(column_index); cursor.close();
return path; }
return uri.getPath(); }
private File getOutputMediaFile(){ File mediaStorageDir = new
File(Environment.getExternalStorageDirectory() + "/Pictures");
if (! mediaStorageDir.exists()){ if (! mediaStorageDir.mkdirs()){ return null;
} }
String timeStamp = new
String mImageName="NUR_"+timeStamp +".jpg"; mediaFile = new File(mediaStorageDir.getPath() +
File.separator + mImageName); return mediaFile;
}
private void storeImage(Bitmap image) {
File pictureFile = getOutputMediaFile(); if (pictureFile == null) {
Log.d("ooo","Error creating media file, check storage permissions: ");
return; }
try {
FileOutputStream fos = new FileOutputStream(pictureFile); image.compress(Bitmap.CompressFormat.PNG, 90, fos); fos.close();
Toast.makeText(this, "File Berhasil Disimpan", Toast.LENGTH_SHORT).show();
} catch (FileNotFoundException e) {
Log.d("ooo", "File not found: " + e.getMessage()); } catch (IOException e) {
Log.d("ooo", "Error accessing file: " + e.getMessage()); }
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu); return true; }
@Override
public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) {
case R.id.action_home:
Intent home = new Intent(Dekripsi.this, MainActivity.class);
this.finish(); startActivity(home); break;
case R.id.action_enkripsi:
Intent enkrip = new Intent(Dekripsi.this, Enkripsi.class);
this.finish();
startActivity(enkrip); break;
case R.id.action_help:
Intent help = new Intent(Dekripsi.this, Help.class); this.finish();
startActivity(help); break;
case R.id.action_dekripsi:
Intent dekrip = new Intent(Dekripsi.this, Dekripsi.class);
this.finish();
startActivity(dekrip); break;}
return super.onOptionsItemSelected(item); }
D
AFTAR
R
IWAYAT
H
IDUP
CURRICULUM VITAE
I. DATA PRIBADI /Personal Identification Nama Lengkap
: Nurhasanah
Tempat/ Tgl. Lahir
: Guntung/ 17 Oktober 1995
Jenis Kelamin : Perempuan
Agama : Islam
Kebangsaan : Indonesia
Alamat : Desa Empat Negri Dusun VII Kec. Lima Puluh Kab. Batu Bara
Telepon : 089663362594
Email : [email protected]
II. KEMAMPUAN / Capabilities
Bahasa : Bahasa Indonesia, Bahasa Inggris
Bahasa Pemrograman : C#, C++,Pascal
Database : MySQL
Lainnya : HTML, Ms. Office
III. PENDIDIKAN FORMAL / Formal Education
[ 2013
–
2017 ]S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara
[ 2010
–
2013 ]MA Perguruan Cipta Simpang Dolok
[ 2007
–
2010 ]SMP Negeri 2 Lima Puluh
[ 2001
–
2007 ]SD Negeri No: 010162
IV. PELATIHAN DAN SEMINAR / Trainings & Workshop
1) Peserta Seminar Nasional “Melalui Inovasi Teknologi untuk Menciptkan Mahasiswa Kreatif
dan Mandiri” , Universitas Sumatera Utara [2017]
2) Peserta Seminar IMPACT Medan “Success Has No Limit”, Universitas Sumatera Utara
[2016]
3) Peserta Workshop “Bank Indonesia Goes To Campus Bersama NET.”, Universitas
Sumatera Utara [2016]
4) Peserta Seminar Nasional Literasi Informasi (SENARAI) Fasilkom-TI Universitas Sumatera Utara [2014]
5) Peserta Seminar “What Will You Be?” IMILKOM Universitas Sumatera Utara [2013]
V. LAINNYA / Others
1) Penerima Beasiswa Bidik Misi [2013 – 2017]