B-1
LISTING PROGRAM
1. Form Utama
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Numerics;
namespace TA_091401006_alespanjaitan
{ public
partial class
Halaman_Utama :
Form {
Pengaman aman =
new Pengaman
; pengungkapan
ungkap = new
pengungkapan ;
hitungmse mse =
new hitungmse
; Bantuan
fbantu = new
Bantuan ;
Tentang ftentang =
new Tentang
; public
Halaman_Utama {
InitializeComponent; }
private void
Halaman_Utama_Load object
sender, EventArgs
e {
CenterToScreen; char
a; int
b = 169; a =
Convert .ToCharb;
label1.Text = a.ToString + Ales Sanro Sotardodo
Panjaitan ;
} private
void button1_Click
object sender,
EventArgs e
{ Application
.Exit; }
private void
filleToolStripMenuItem_Click object
sender, EventArgs
e {
}
private void
tutupToolStripMenuItem_Click object
sender, EventArgs
e {
Application .Exit;
}
Universitas Sumatera Utara
B-2
private void
pengamananToolStripMenuItem_Click object
sender, EventArgs
e {
aman.ShowDialog; }
private void
gbr_pengamanan_Click object
sender, EventArgs
e {
aman.ShowDialog; }
private void
pengungkapanToolStripMenuItem_Click object
sender, EventArgs
e {
ungkap.ShowDialog; }
private void
gbr_pengungkapan_Click object
sender, EventArgs
e {
ungkap.ShowDialog; }
private void
tentangProgrammerToolStripMenuItem_Click object
sender, EventArgs
e {
ftentang.ShowDialog; }
private void
menggunakanAplikasiToolStripMenuItem_Click object
sender, EventArgs
e {
fbantu.ShowDialog; }
private void
pictureBox1_Click object
sender, EventArgs
e {
mse.ShowDialog; }
private void
toolStripMenuItem2_Click object
sender, EventArgs
e {
mse.ShowDialog; }
private void
Halaman_Utama_FormClosed object
sender, FormClosedEventArgs
e {
Application .Exit;
} }
}
Universitas Sumatera Utara
B-3
2. Form Pengamanan Embedding dan Enkripsi
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Numerics;
namespace TA_091401006_alespanjaitan
{ public
partial class
Pengaman :
Form {
endOfFile embd =
new endOfFile
; prosesBilangan
bilangan = new
prosesBilangan ;
elgamal enkripDekrip =
new elgamal
; inputOutput
io = new
inputOutput ;
string propgambar,propteks;
BigInteger sebelum=123, nilai_hitung_a;
public Pengaman
{ InitializeComponent;
}
private void
Pengaman_Load object
sender, EventArgs
e {
CenterToScreen; bt_embed.Enabled = bt_spData.Enabled = sp_sgimage.Enabled
= bt_bgkt_g.Enabled = false
; bt_bilprim.Enabled = bt_enkripsi.Enabled =
bt_htgk.Enabled = bt_htgy.Enabled = false
; bt_nilaiy.Enabled = bt_spData.Enabled = bk_teks.Enabled =
false ;
gbr_asli.Image = gb_sgimage.Image = gb_cpimage.Image = null
; propCA.Text = propText.Text =
; teks_asli.Text = bilprima.Text = nilg.Text = nilk.Text =
nilx.Text = nily.Text = ;
} private
void bk_gbr_asli_Click
object sender,
EventArgs e
{ try
{ Cursor
.Current = Cursors
.Default; gbr_asli.Image = io.bukagbr
Format Bitmap .bmp|.bmp|Format JPEG.jpg|.jpg
; if
gbr_asli.Image = null
{ propgambar =
Lebar : +
gbr_asli.Image.Width.ToString
Universitas Sumatera Utara
B-4
+ Piksel\nTinggi :
+ gbr_asli.Image.Height.ToString +
Piksel\n\n ;
propCA.Text = propgambar; bk_teks.Enabled =
true ;
} if
teks_asli.Text = bk_teks.Enabled =
true ;
} catch
Exception ex
{ pesanKesalahan
Terjadi Kesalah pada \n- +
ex.ToString; }
finally {
Cursor .Current =
Cursors .WaitCursor;
} }
private void
bk_gbr_sgimage_Click object
sender, EventArgs
e {
try {
Cursor .Current =
Cursors .WaitCursor;
gb_sgimage.Image = io.bukagbr Format Bitmap
.bmp|.bmp ;
if gb_sgimage.Image =
null {
bt_bilprim.Enabled = true
; propCS.Text =
Lebar : +
gb_sgimage.Image.Width.ToString +
Piksel\nTinggi : +
gb_sgimage.Image.Height.ToString + Piksel
; }
} catch
Exception ex
{ pesanKesalahan
Terjadi Kesalahan pada \n- +
ex.ToString; }
finally {
Cursor .Current =
Cursors .Default;
} }
private void
bk_teks_Click object
sender, EventArgs
e {
try {
teks_asli.Text = io.bukateks; if
teks_asli.Text = {
bt_embed.Enabled = true
; propText.Text =
Panjang : +
teks_asli.TextLength.ToString + Karakter
; }
}
Universitas Sumatera Utara
B-5
catch Exception
ex {
pesanKesalahan Terjadi Kesalah pada \n-
+ ex.ToString;
} }
private void
sp_sgimage_Click object
sender, EventArgs
e {
try {
if io.spGambargb_sgimage.Image
pesanInformasi Gambar berhasil di simpan
; }
catch Exception
ex {
pesanKesalahan Terjadi Kesalah pada \n-
+ ex.ToString;
} }
private void
bt_embed_Click object
sender, EventArgs
e {
try {
Cursor .Current =
Cursors .WaitCursor;
DateTime awal, akhir;
string selisih;
awal = DateTime
.Now; Bitmap
gbasli = new
Bitmap gbr_asli.Image;
Bitmap sg =
new Bitmap
embd.embedgbasli, teks_asli;
gb_sgimage.Image = sg; propCS.Text =
Lebar : + sg.Width.ToString
+ Piksel\nTinggi :
+ sg.Height.ToString +
Piksel ;
sp_sgimage.Enabled = true
; bt_bilprim.Enabled =
true ;
akhir = DateTime
.Now; selisih =
akhir.Subtractawal.TotalMilliseconds.ToString ;
pesanInformasi Lama Embed :
+ selisih + Milliseconds
; }
catch Exception
ex {
pesanKesalahan Terjadi Kesalah pada \n-
+ ex.ToString;
} finally
{ Cursor
.Current = Cursors
.Default; }
}
Universitas Sumatera Utara
B-6
private void
bt_enkripsi_Click object
sender, EventArgs
e {
try {
BigInteger p, g, x, y, k;
Cursor .Current =
Cursors .WaitCursor;
DateTime awal, akhir;
awal = DateTime
.Now; p =
BigInteger .Parsebilprima.Text;
g = BigInteger
.Parsenilg.Text; x =
BigInteger .Parsenilx.Text;
y = BigInteger
.Parsenily.Text; k =
BigInteger .Parsenilk.Text;
nilai_hitung_a = bilangan.moduloexponensialg, k, p; gb_cpimage.Image =
enkripDekrip.enkripsi Bitmap
gb_sgimage.Image,p,y ,k;
bt_spData.Enabled = true
; akhir =
DateTime .Now;
string selisih =
akhir.Subtractawal.TotalMilliseconds.ToString; propCC.Text =
\nLebar : +
gb_cpimage.Image.Width.ToString +
Piksel\nTinggi : +
gb_cpimage.Image.Height.ToString + Piksel
; pesanInformasi
Lama Enkripsi : + selisih;
} catch
Exception ex
{ pesanKesalahan
Terjadi Kesalah pada \n- +
ex.ToString; }
finally {
Cursor .Current =
Cursors .Default;
} }
private void
bt_htgy_Click object
sender, EventArgs
e {
try {
BigInteger prim, g, x;
prim = BigInteger
.Parsebilprima.Text; g =
BigInteger .Parsenilg.Text;
x = BigInteger
.Parsenilx.Text; nily.Text = bilangan.moduloexponensialg, x,
prim.ToString; bt_htgk.Enabled =
true ;
} catch
Exception ex
{ pesanKesalahan
Terjadi Kesalah pada \n- +
ex.ToString; }
}
Universitas Sumatera Utara
B-7
private void
bt_bilprim_Click object
sender, EventArgs
e {
DateTime wkt1, wkt2;
BigInteger bwh,atas;
try {
Cursor .Current =
Cursors .WaitCursor;
bwh = 3; if
pilihbit.Text == P = 8-bit
{ atas = 255;
} else
if pilihbit.Text ==
P = 16-bit {
atas = 65535; }
else if
pilihbit.Text == P = 24-bit
{ atas = 16777215;
} else
if pilihbit.Text ==
P = 32-bit {
atas = 4294967295; }
else if
pilihbit.Text == P = 64-bit
{ atas = 18446744073709551615;
} else
if pilihbit.Text ==
P = 128-bit {
atas = BigInteger
.Parse 3402823669209384634633746074317682
11455 ;
} else
if pilihbit.Text ==
P = 256-bit {
atas = BigInteger
.Parse 1157920892373161954235709850086879
07853269984665640564039457584007913129639935 ;
} else
if pilihbit.Text ==
P = 512-bit {
atas = BigInteger
.Parse 1340780792994259709957402499820584
6127479365820592393377723561443721764030073546976801 8742981669034276900318581864860508537538828119465699
46433649006084096 ;
} else
if pilihbit.Text ==
P = 1-Mb {
atas = BigInteger
.Parse 1797693134862315907729305190789024
7336179769789423065727343008115773267580550096313270 8477322407536021120113879871393357658789768814416622
4928474306394741243777678934248654852763022196012460 9411945308295208500576883815068234246288147391311054
0827237163350510684586298239947245938479716304835356 329624224137216
; }
Universitas Sumatera Utara
B-8
else {
atas = 65535; }
wkt1 = DateTime
.Now; bilprima.Text =
bilangan.bangkitprimabwh,atas.ToString; bt_bgkt_g.Enabled =
true ;
wkt2 = DateTime
.Now; string
lamaeksekusi = wkt2.Subtractwkt1.TotalMilliseconds.ToString;
pesanInformasi Bilangan prima menggunakan
+bilangan.ceksuku BigInteger
.Parsebilprima.Text 8.ToString+
\n +lamaeksekusi+
Milliseconds ;
} catch
Exception ex
{ pesanKesalahan
Terjadi Kesalah pada \n- +
ex.ToString; }
finally {
Cursor .Current =
Cursors .Default;
} }
private void
bt_spData_Click object
sender, EventArgs
e {
try {
Cursor .Current =
Cursors .WaitCursor;
if io.spDatagb_cpimage.Image, bilprima.Text,
nilx.Text, nilai_hitung_a.ToString pesanInformasi
Gambar dan Kunci berhasil di simpan
; }
catch Exception
ex {
pesanKesalahan Terjadi Kesalah pada \n-
+ ex.ToString;
} finally
{ Cursor
.Current = Cursors
.Default; }
} private
void bt_bgkt_gx_Click
object sender,
EventArgs e
{ try
{ BigInteger
zi; if
nilg.Text == {
zi = 1;
Universitas Sumatera Utara
B-9
} else
{ zi =
BigInteger .Parsenilg.Text;
} nilg.Text = bilangan.acak997, zi,
BigInteger .Parsebilprima.Text.ToString;
bt_nilaiy.Enabled = true
; }
catch Exception
ex {
pesanKesalahan Terjadi Kesalah pada \n-
+ ex.ToString;
} }
private void
bt_nilaiy_Click object
sender, EventArgs
e {
try {
BigInteger zi;
if nilx.Text ==
{ zi = 1;
} else
{ zi =
BigInteger .Parsenilx.Text;
} nilx.Text = bilangan.acak997, zi,
BigInteger .Parsebilprima.Text.ToString;
bt_htgy.Enabled = true
; }
catch Exception
ex {
pesanKesalahan Terjadi Kesalah pada \n-
+ ex.ToString;
} }
private void
bt_htgk_Click object
sender, EventArgs
e {
try {
BigInteger p,zi;
if nilk.Text ==
{ zi = 1;
} else
{ zi =
BigInteger .Parsenilk.Text;
} p =
BigInteger .Parsebilprima.Text;
zi = bilangan.acak997, zi, p; while
BigInteger .GreatestCommonDivisorp, zi==1
{ zi = bilangan.acak997, zi, p;
}
Universitas Sumatera Utara
B-10
nilk.Text = zi.ToString; bt_enkripsi.Enabled =
true ;
} catch
Exception ex
{ pesanKesalahan
Terjadi Kesalah pada \n- +
ex.ToString; }
} private
void teks_asli_Leave
object sender,
EventArgs e
{ if
teks_asli.Text == || gbr_asli.Image ==
null bt_embed.Enabled =
false ;
else bt_embed.Enabled =
true ;
if teks_asli.Text =
{ bt_embed.Enabled =
true ;
propteks = Panjang :
+ teks_asli.TextLength.ToString +
Karakter ;
propText.Text = propteks; }
}
private void
check_Click object
sender, EventArgs
e {
try {
Bitmap gbr =
new Bitmap
gbr_asli.Image; Cursor
.Current = Cursors
.WaitCursor; if
embd.checkgbrgbr propCA.Text = propgambar +
Tidak ada kunci ;
else propCA.Text = propgambar +
Ada kunci ;
if embd.checktextteks_asli
propText.Text = propteks + \nTidak ada kunci
; else
propText.Text = propteks + \nAda kunci
; }
catch Exception
a {
pesanKesalahan Terjadi kesalahan pada \n-
+ a.ToString;
} finally
{ Cursor
.Current = Cursors
.Default; }
} void
pesanInformasi string
pesan {
MessageBox .Showpesan,
Informasi ,
MessageBoxButtons .OK,
MessageBoxIcon .Information,
MessageBoxDefaultButton .Button1;
} void
pesanKesalahan string
pesan {
Universitas Sumatera Utara
B-11
MessageBox .Showpesan,
Kesalahan ,
MessageBoxButtons .OK,
MessageBoxIcon .Warning,
MessageBoxDefaultButton .Button1;
} private
void Pengaman_FormClosed
object sender,
FormClosedEventArgs e
{ }
} }
3. Form Pengungkapan Ekstraksi dan Dekripsi