• Tidak ada hasil yang ditemukan

Implementasi Sistem Keamanan Data Menggunakan Steganografi Teknik First Of File Dan Inverse Matrix Cipher Kunci Ganda

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Sistem Keamanan Data Menggunakan Steganografi Teknik First Of File Dan Inverse Matrix Cipher Kunci Ganda"

Copied!
12
0
0

Teks penuh

(1)

LISTING PROGRAM

function varargout = beranda(varargin)

Kode Program Tampilan Home

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @beranda_OpeningFcn, ... 'gui_OutputFcn', @beranda_OutputFcn, ... 'gui_LayoutFcn', [] , ...

'gui_Callback', []); if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1}); end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:}); end

function beranda_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

guidata(hObject, handles);

function varargout = beranda_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

function Beranda_Callback(hObject, eventdata, handles) function Untitled_2_Callback(hObject, eventdata, handles) function Help_Callback(hObject, eventdata, handles)

help

function Exit_Callback(hObject, eventdata, handles) close all

function Enkripsi_Callback(hObject, eventdata, handles) hill

function Dekripsi_Callback(hObject, eventdata, handles) extract

function latar_CreateFcn(hObject, eventdata, handles) FKripto=guidata(gcbo);

p=imshow('bgr.bmp');

set(FKripto.latar,'Userdata',p);

function latar_ButtonDownFcn(hObject, eventdata, handles) function About_Callback(hObject, eventdata, handles) about

function latar_DeleteFcn(hObject, eventdata, handles)

Kode Program Enkripsi dengan kunci 1

function enkrip1_Callback(hObject, eventdata, handles) % hObject handle to enkrip1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) FKripto=guidata(gcbo);

(2)

k13=str2double(get(handles.k13,'string'));

kunci=[k11 k12 k13 k14;k21 k22 k23 k24;k31 k32 k33 k34;k41 k42 k43 k44];

dk=det(kunci); if dk==0

errordlg('Determinan matriks kunci 1 tidak boleh 0'); guidata(hObject,handles);

end

input=get(FKripto.listbox1,'Userdata'); if isequal(input,[])

errordlg({'Plaintext tidak ditemukan.','silahkan isi plaintext .'},'Error','modal');

guidata(hObject,handles); %menambahkan spasi agar jumlah array habis dibagi 4

handles.kata

if mod(handles.l,4)~=0

while mod(handles.l,4)~=0

for i=1:i<=(handles.ltemp-length(handles.kata))

%membuat matriks baru dengan ukuran 4xn, n=jumlah kolom (panjang kalimat/4)

handles.word=abs(handles.kata); guidata(hObject,handles);

(3)

handles.poskata=1;

guidata(hObject,handles);

for i=1:(length(handles.word)/4) for k=1:4

handles.temp(k,i)=handles.word(1,handles.poskata); guidata(hObject,handles);

%perkalian matriks dengan kunci pertama handles.m=handles.temp;

guidata(hObject,handles); for i=1:length(handles.kata)/4 temp2=handles.m(:,i); sel=kunci*temp2; handles.m(:,i)=sel;

guidata(hObject,handles); end

handles.m

%mengubah kebentuk array 1 dimensi

handles.kos=zeros(1,length(handles.kata)); guidata(hObject,handles);

handles.poskol=1;

guidata(hObject,handles);

h=waitbar(0,'Harap Tunggu...');

while handles.poskol<=length(handles.kata); for i=1:(length(handles.kata)/4)

sem=handles.m(:,i);

handles.sem2= sem'; %sem' artinya transpose matriks sem guidata(hObject,handles);

for k=1:4

(4)

close(h);

function enkripsi2_Callback(hObject, eventdata, handles)

Kode Program Enkripsi dengan kunci 2

% hObject handle to enkripsi2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) FKripto=guidata(gcbo);

kunci2=[m11 m12 m13 m14;m21 m22 m23 m24;m31 m32 m33 m34;m41 m42 m43 m44];

dm=det(kunci2); if dm==0

errordlg('Determinan matriks kunci 2 tidak boleh 0'); guidata(hObject,handles);

end

cipher1=get(FKripto.listbox2,'Userdata'); if isequal(cipher1,[])

errordlg({'Belum ada ciphertext hasil enkripsi kunci 1.','silahkan lakukan enkripsi dengan kunci 1 .'},'Error','modal');

guidata(hObject,handles);

for i=1:(length(handles.word)/4) for k=1:4

handles.temp(k,i)=handles.word(1,handles.poskata); guidata(hObject,handles);

handles.poskata=handles.poskata+1; end

end

%perkalian matriks dengan kunci kedua for i=1:length(handles.kata)/4

(5)

sel=kunci2*temp2; handles.m(:,i)=sel;

guidata(hObject,handles); end

handles.m

%mengubah kebentuk array 1 dimensi

handles.kos=zeros(1,length(handles.kata)); guidata(hObject,handles);

handles.poskol=1;

guidata(hObject,handles);

h=waitbar(0,'Harap Tunggu...');

while handles.poskol<=length(handles.kata); for i=1:(length(handles.kata)/4)

sem=handles.m(:,i);

handles.sem2= sem'; %sem' artinya transpose matriks sem guidata(hObject,handles);

for k=1:4

handles.kos(1,handles.poskol)=handles.sem2(1,k); handles.poskol=handles.poskol+1;

end end %kos

handles.askos=(abs(num2str(handles.kos)))'; guidata(hObject,handles);

handles.laskos=length(handles.askos); guidata(hObject,handles);

s=handles.laskos+4;

%cp=abs(plain);

%k=str2Double(get(FKripto.ekunci1,'String')); %pt=abs(plain);

set(FKripto.listbox3,'string',handles.askos); set(FKripto.listbox3,'Userdata',handles.askos); set(FKripto.r2,'String',num2str(s));

wk=toc*1000;

set(FKripto.wkten2,'String',num2str(wk));

waitbar(handles.poskol/length(handles.kata)); end

close(h);

wkt1=str2double(get(FKripto.wkten,'string')); totalwktm=wkt1+wk;

set(FKripto.totalwkt,'string',num2str(totalwktm)); set(FKripto.totalwkt,'Userdata',num2str(totalwktm));

Kode Program Dekripsi

function pushbutton6_Callback(hObject, eventdata, handles) FKripto=guidata(gcbo);

(6)

k13=str2double(get(handles.k13,'string'));

kunci=[k11 k12 k13 k14;k21 k22 k23 k24;k31 k32 k33 k34;k41 k42 k43 k44];

kunci2=[m11 m12 m13 m14;m21 m22 m23 m24;m31 m32 m33 m34;m41 m42 m43 m44];

h=waitbar(0,'Harap Tunggu...'); while posdata<=length(data)/4 for i=1:(length(data)/4)

(7)

detemp2=detemp(:,i);

desel=inv(kunci2)*detemp2; detemp(:,i)=round(desel); end

detemp

%perkalian matriks dengan invers kunci pertama for i=1:length(data)/4

detemp2=detemp(:,i); desel=inv(kunci)*detemp2; detemp(:,i)=round(desel); end

detemp

%mengubah kebentuk array 1 dimensi kalimat=zeros(1,length(data)); poskol=1;

h=waitbar(0,'Harap Tunggu...'); while poskol<=length(data)/4 for i=1:(length(data)/4) sem=detemp(:,i);

sem2= [sem']; %sem' artinya transpose matriks sem for k=1:4

kalimat(1,poskol)=sem2(1,k); poskol=poskol+1;

end end

waitbar(poskol/length(data)/4); end

close(h); kalimat;

handles.kalimat=char(kalimat);

set(FKripto.plain,'string',handles.kalimat); set(FKripto.plain,'Userdata',handles.kalimat); wkt=toc*1000;

set(FKripto.wktemb,'string',num2str(wkt));

Kode Program Embed

function embed_Callback(hObject, eventdata, handles) )

leb=str2num(get(handles.w,'string')) leg=str2num(get(handles.r,'string')) sisa=mod(leg,leb)

if(sisa==1||sisa==2)

errordlg({'Lebar gambar anda tidak memenuhi syarat untuk penanda akhir,','silahkan cari gambar lain .'},'Error','modal');

guidata(hObject,handles); else

tic;

FKripto=guidata(gcbo); a=handles.askos;

a=a';

last=[double('basrah')] a=[14 a 35 35 35]

s=length(a)

(8)

if(s<aa) lm=1; else

lm=ceil(s/aa); end

za=zeros(1,(lm*aa)-s); a=[a za]

detemp=zeros(lm,aa,3); pos=1;

for i=1:lm for k=1:aa

detemp(i,k,1)=a(1,pos); detemp(i,k,2)=0;

detemp(i,k,3)=0; pos=pos+1; end

end pos;

stego2=detemp stego2;

citcover=[handles.data1]; stegolay1=[citcover];

handles.citstego=[stego2;stegolay1]; gbr=handles.citstego(:,:,1)

axes(handles.axes2); guidata(hObject,handles);

handles.open=imshow(handles.citstego); set(FKripto.axes2,'Userdata',handles.open); t=toc*1000;

set(FKripto.wkt,'String',num2str(t)); end

Kode Program Ekstrak

function extract_Callback(hObject, eventdata, handles) FKripto=guidata(gcbo)

tic;

I=handles.data1(:,:,1); w=get(handles.w,'String'); w=str2double(w);

h=get(handles.h,'String'); h=str2double(h);

if (I(1,1)==14) for i=1:h for k=1:w

if((I(i,k)==35&&I(i,k+1)==35&&I(i,k+2)==35)) bakhir=i

kakhir=k break

end end end

(9)

posdata=1;

h=waitbar(0,'Harap Tunggu...'); while posdata<=bakhir;

for i=1:bakhir for k=1:w

tamp(1,posdata)=I(i,k); posdata=posdata+1; end

end

waitbar(posdata/bakhir); end

close(h);

tamp

for k=1:bakhir*w

if(tamp(1,k)==35&&tamp(1,k+1)==35&&tamp(1,k+2)==35) behind=k

break end

end

cptx =[tamp(1,2:behind-1)] cipher=cptx';

cipher=[(num2str(cipher))];

set(handles.cpt,'string',cipher); set(handles.cpt,'Userdata',cipher); wt=toc*1000;

set(FKripto.wkteks,'string',num2str(wt));

else

errordlg('Citra tidak menyimpan pesan rahasia'); guidata(hObject,handles);

(10)

CURRICULUM VITAE

1.

DATA PRIBADI

Nama Lengkap

: BASRAH NASUTION

Nama Panggilan

: BASRAH

Tempat/ Tgl. Lahir

: Padangsidimpuan, 14 Agustus 1990

Jenis Kelamin

: Laki-laki

Agama

: Islam

Warga Negara

: Indonesia

Alamat

: Jln. Dr. Mansyur Gg. Sipirok No.3 Medan

No. Telp./HP

: -/ 085296114588

Email

: banasti@gmail.com

Status

: Belum Menikah

2.

LATAR BELAKANG PENDIDIKAN

No.

Nama Sekolah

Tahun

1.

SDN .200206 Kota Padangsidimpuan

1997 - 2003

3.

SMP N.2 Kota Padangsidimpuan

2003 - 2006

4.

SMA N.4 Kota Padangsidimpuan

2006 - 2009

5.

S1 Ilmu Komputer Universitas Sumatera Utara

2009 - 2013

3.

PENGALAMAN KERJA

No.

Instansi/Unit

Jabatan/Posisi

Tahun

1.

Asisten Ilmu Komputer USU

Asisten Laboratorium

(Pengajaran Berbantuan

Komputer)

2012

2.

IKLC(Ilmu Komputer

Laboratory Center

)

Asisten Laboratorium

(Grafika Komputer)

2012

3.

IKLC(Ilmu Komputer

Laboratory Center

)

Asisten Laboratorium

(Pemrograman Internet)

2013

4.

PENGALAMAN KURSUS/PELATIHAN/SEMINAR

No.

Nama Kursus/Pelatihan/Seminar

Tahun

1.

Jaya Course

2009

2.

Workshop Addakwah Bloggership Camp (ABC)

2012

3.

PELADKES BKM Al-Khuwarizmi

2010

(11)

Operating System Technolog: Android The New Trend in

Modern Operating System”.

7.

Workshop Digital Paperless Publication

2011

8.

Workshop dasar pemrograman mikrokontroler

2010

9.

SMART LIBRARY

2012

10. Diskusi Panel Sains Interdisipliner Dunia Terkini: Pengenalan

Agent Based Model dan Aplikasinya

2010

11. Workshop Teknik Hacking

2010

12. Workshop Teknik Dasar Fotografi

2010

13. Pembicara PLADKES UKMI Al-Khuwarizmi

2013

14. Pembicara Pelatihan Dasar Organisasi IMILKOM USU

2012

15. USU Workshop English Debating

2012

16. Seminar Nasional Kongres Nasional ILP2MI “Pencaplokan

Budaya”

2013

5.

PENGALAMAN ORGANISASI

No Nama Organisasi

Jabatan

Tahun

1.

Ikatan Mahasiswa Kota

Padangsidimpuan

(IMAKOPASID)

Kabid. LITBANG

2012

2.

UKMI Al-Khuwarizmi

Fasilkom-TI USU

Sekretaris Umum

2011

3.

UKMI Ad-Dakwah USU

Anggota Komunikasi Dakwah

2012

4.

SGC (Smartgeneration

Community) USU

Anggota Divisi Jaringan

2012

5.

PEMA Fasilkom-TI USU

Kabid. ROHIS

2012

6.

IKLC (Ilmu Komputer

Laboratory Center)

Ketua Umum

2013

7.

Sobat Bumi Medan

Anggota

2012-2013

6.

PRESTASI/PENGHARGAAN

No

Prestasi/Penghargaan

Tahun

1.

Finalis Nasional Trust By Danone

2012

2.

Cadre Of This Month UKMI

Ad-Dakwah USU.

2012

3.

Pemenang Hibah Bina Desa MITI

2013

7.

PENGABDIAN MASYARAKAT

No

Kegiatan Pengabdian

Tahun

1.

IKLC Mengabdi “Pelatihan Spesifikasi Ilmu

Komputer di SMA N 1 Perbaungan Kab.Serdang

Bedagai SUMUT

2012

2.

Bakti Sosial Panti Asuhan Bani Adam UKMI

Al-Khuwarizmi Fasilkom-TI USU

(12)

3.

Gerakan Seribu Qur’an UKMI Ad-Dakwah USU

2012

4.

Sedekah Bumi Sobat Bumi Medan

2013

5.

Sedekah Bumi “ Aksi tanam pohon di pondok

pesantren yatim darul fatimah Binjai SUMUT”

2013

6

Penyelenggara Try Out SNMPTN Se-Kota

Padangsidimpuan IMAKOPASID

2012

Demikian riwayat hidup ini saya perbuat dengan sebenar-benarnya.

Hormat saya,

Referensi

Dokumen terkait

yang ditemukan selama pengamatan adalah Gejala serangan Penggerek Batang padi, populasi Wereng hijau dan Walang sangit (lihat gambar 4, 5 dan Lampiran 2), Hasil pengamatan rata

Yohanes Indrayono/Iman Santoso, S.E.. Yohanes Indrayono/Iman

Swasakti Utama Tasikmalaya yang didasarkan pada hasil dari analisis faktor internal dan analisis faktor eksternal juga analisis SWOT yang kemudian datanya digunakan

Setelah berdiskusi siswa diharapkan mampu menyajikan dalam bentuk tulisan tentang perkembangan kerajaan –kerajaan Islam di Jawa.. Setelah berdiskusi siswa diharapkan

Sehubungan dengan itu, Lembaga Penelitian Universitas Negeri Padang bekerjasama dengan Pimpinan Universitas, telah memfasilitasi peneliti untuk melaksanakan penelitian

dalam pasal 11 ayat (1) dilakukan paling lama 1 (satu) bulan sejak diterimanya permohonan pengembalian kelebihan pembayaran pajak sehubungan diterbitkannya Surat

Demikian juga dengan kepemimpinan manajer yang menunjukkan kategori kurang baik dengan persentase 70%.Hasil penelitian ini juga menunjukkan bahwa adanya hubungan yang

Hal itu dipertegas melalui Permendiknas Nomor 41 Tahun 2007 tentang standar proses yang berbunyi perencanaanproses pembelajaran yang mensyaratkan pendidik untuk mengembangkan