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
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
pengungkapan :
Form {
prosesBilangan bilangan =
new prosesBilangan
; elgamal
enkripDekrip = new
elgamal ;
endOfFile embedEkstrak =
new endOfFile
; inputOutput
io = new
inputOutput ;
public pengungkapan
{ InitializeComponent;
}
private void
pengungkapan_Load object
sender, EventArgs
e {
CenterToScreen; gbr_asli.Image =
null ;
gbr_sgimage.Image = null
; gbr_asli.Image =
null ;
gb_hasil.Image = null
; teks_asli.Text =
; nilp.Text =
; nila.Text =
; nilx.Text =
; bt_dekripsi.Enabled =
false ;
bt_ekstrak.Enabled = false
; bt_simpangbr_sgimage.Enabled =
false ;
bk_teks.Enabled = false
; bt_bukakunci.Enabled =
false ;
Universitas Sumatera Utara
B-12
} private
void bk_cpimage_Click
object sender,
EventArgs e
{ try
{ gbr_asli.Image = io.bukagbr
Format Bitmap .bmp|.bmp
; if
gbr_asli.Image = null
{ propCA.Text =
\nLebar : +
gbr_asli.Image.Width + Piksel\nTinggi :
+ gbr_asli.Image.Height +
Piksel ;
bt_bukakunci.Enabled = true
; }
} catch
{ pesanKesalahan
Terjadi kesalahan ;
} }
private void
bt_bukagbr_Click object
sender, EventArgs
e {
gbr_sgimage.Image = io.bukagbr Format Bitmap
.bmp|.bmp ;
if gbr_sgimage.Image =
null {
bt_bukakunci.Enabled = true
; bt_ekstrak.Enabled =
true ;
} }
private void
bk_teks_Click object
sender, EventArgs
e {
SaveFileDialog simpan =
new SaveFileDialog
; simpan.Filter =
Format Bitmap .bmp|.bmp|Format JPEG.jpg|.jpg
; if
gb_hasil.Image = null
{ if
simpan.ShowDialog == DialogResult
.OK {
RichTextBox sementara =
new RichTextBox
; sementara.Text =
; FileStream
teks = new
FileStream simpan.FileName
+ .txt
, FileMode
.CreateNew, FileAccess
.Write; StreamWriter
tulis = new
StreamWriter teks;
for int
i = 0; i teks_asli.TextLength; i++ {
sementara.Text += teks_asli.Text[i]; if
teks_asli.Text[i] == 13 | teks_asli.TextLength == i + 1
tulis.WriteLineteks_asli.Text; }
tulis.Close; teks.Close;
gb_hasil.Image.Savesimpan.FileName +
.bmp ,
System.Drawing.Imaging. ImageFormat
.Bmp;
Universitas Sumatera Utara
B-13
pesanInformasi Gambar dan pesan berhasil di
simpan ;
} }
else {
pesanKesalahan Gambar Kosong
; }
} private
void bt_simpangbr_sgimage_Click
object sender,
EventArgs e
{ if
gbr_sgimage.Image = null
{ if
io.spGambargbr_sgimage.Image pesanInformasi
Gambar berhasil di simpan ;
} else
{ pesanKesalahan
Gambar masih kosong... ;
} }
private void
bt_dekripsi_Click object
sender, EventArgs
e {
try {
Cursor .Current =
Cursors .WaitCursor;
DateTime awal, akhir;
awal = DateTime
.Now; gbr_sgimage.Image =
enkripDekrip.dekripsi Bitmap
gbr_asli.Image, BigInteger
.Parsenilp.Text, BigInteger
.Parsenilx.Text, BigInteger
.Parsenila.Text; akhir =
DateTime .Now;
string selisih =
akhir.Subtractawal.TotalMilliseconds.ToString; propSC.Text =
\nTinggi : +
gbr_sgimage.Image.Height.ToString + Piksel\nLebar :
+ gbr_sgimage.Image.Width.ToString +
Piksel ;
bt_simpangbr_sgimage.Enabled = true
; bt_ekstrak.Enabled =
true ;
pesanInformasi Lama dekripsi
+ selisih + Millisecond
; }
catch Exception
ex {
pesanKesalahan Silahkan periksa semua keabsahan
informasi anda\n Terjadi Kesalah pada \n- +
ex.ToString; }
finally {
Cursor .Current =
Cursors .WaitCursor;
} }
Universitas Sumatera Utara
B-14
private void
bt_ekstrak_Click object
sender, EventArgs
e {
DateTime awal =
DateTime .Now, akhir;
try {
Cursor .Current =
Cursors .WaitCursor;
Bitmap gbrstego =
new Bitmap
gbr_sgimage.Image; int
status = embedEkstrak.cekposisigbrstego; if
status = 0 {
gb_hasil.Image = embedEkstrak.pisahgbrgbrstego, status;
teks_asli.Text = embedEkstrak.pisahteksgbrstego, status.Text;
propHasil.Text = \nLebar :
+ gb_hasil.Image.Width.ToString +
Piksel\nTinggi : + gb_hasil.Image.Height.ToString +
Piksel\n\nPanjang : +
teks_asli.TextLength.ToString + Karakter
; bk_teks.Enabled =
true ;
} else
{ pesanKesalahan
Maaf, Tidak menemukan teks dalam Citra
; }
} catch
{ pesanKesalahan
Terjadi Kesalahan ;
} finally
{ Cursor
.Current = Cursors
.Default; akhir =
DateTime .Now;
pesanInformasi Lama Ekstrak :
+ akhir.Subtractawal.TotalMilliseconds.ToString +
Milliseconds ;
} }
private void
bt_bukakunci_Click object
sender, EventArgs
e {
try {
OpenFileDialog bukatxt =
new OpenFileDialog
; bukatxt.Filter =
File Text .txt|.txt ;
if DialogResult
.OK == bukatxt.ShowDialog {
string bacaloh =
; StreamReader
objReader = new
StreamReader bukatxt.FileName;
bacaloh = objReader.ReadLine; while
bacaloh = null
{ if
cekstringbacaloh == NILAIP
{
Universitas Sumatera Utara
B-15
nilp.Text = ceknilaibacaloh; }
if cekstringbacaloh ==
NILAIA {
nila.Text = ceknilaibacaloh; }
if cekstringbacaloh ==
NILAIX {
nilx.Text = ceknilaibacaloh; }
bacaloh = objReader.ReadLine; }
objReader.Close; label4.Text =
Kunci menggunakan : +
bilangan.ceksuku BigInteger
.Parsenilp.Text 8.ToString +
- bit ;
bt_dekripsi.Enabled = true
; }
} catch
{ pesanKesalahan
Ada Kesalahan ;
} }
public string
cekstring string
kiriman {
string maukirim =
; for
int i = 0; i kiriman.Length; i++
{ if
kiriman[i] = {
maukirim = maukirim + kiriman[i]; }
else {
break ;
} }
return maukirim;
} public
string ceknilai
string kiriman
{ string
maukirim = ;
for int
i = kiriman.Length - 1; i = 0; i-- {
if kiriman[i] =
kiriman[i] = kiriman[i] =
9 {
maukirim = kiriman[i] + maukirim; }
else {
break ;
} }
Universitas Sumatera Utara
B-16
return maukirim;
} void
pesanInformasi string
pesan {
MessageBox .Showpesan,
Informasi ,
MessageBoxButtons .OK,
MessageBoxIcon .Information,
MessageBoxDefaultButton .Button1;
}
void pesanKesalahan
string pesan
{ MessageBox
.Showpesan, Kesalahan
, MessageBoxButtons
.OK, MessageBoxIcon
.Warning, MessageBoxDefaultButton
.Button1; }
private void
pengungkapan_FormClosed object
sender, FormClosedEventArgs
e {
} }
}
4. Form Hitung Mean Squared Error MSE