• Tidak ada hasil yang ditemukan

LISTING PROGRAM. if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); else gui_mainfcn(gui_state, varargin{:}); end

N/A
N/A
Protected

Academic year: 2021

Membagikan "LISTING PROGRAM. if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); else gui_mainfcn(gui_state, varargin{:}); end"

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

k11=str2double(get(handles.k11,'string')); k12=str2double(get(handles.k12,'string'));

(2)

k13=str2double(get(handles.k13,'string')); k14=str2double(get(handles.k14,'string')); k21=str2double(get(handles.k21,'string')); k22=str2double(get(handles.k22,'string')); k23=str2double(get(handles.k23,'string')); k24=str2double(get(handles.k24,'string')); k31=str2double(get(handles.k31,'string')); k32=str2double(get(handles.k32,'string')); k33=str2double(get(handles.k33,'string')); k34=str2double(get(handles.k34,'string')); k41=str2double(get(handles.k41,'string')); k42=str2double(get(handles.k42,'string')); k43=str2double(get(handles.k43,'string')); k44=str2double(get(handles.k44,'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); end tic; handles.kata=abs(input); guidata(hObject,handles); handles.l=length(handles.kata);

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 handles.l=handles.l+1; guidata(hObject,handles); handles.ltemp=handles.l; guidata(hObject,handles); i=1; guidata(hObject,handles); for i=1:i<=(handles.ltemp-length(handles.kata)) end handles.kata=[handles.kata char(32)]; end end handles.kata;

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

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

handles.temp=zeros(4,length(handles.word)/4); 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); handles.poskata=handles.poskata+1; end end %disp(temp) %kata=kata handles.temp

%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 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.listbox2,'string',handles.askos); set(FKripto.listbox2,'Userdata',handles.askos); set(FKripto.r,'String',num2str(s)); wk=toc*1000; set(FKripto.wkten,'String',num2str(wk)); waitbar(handles.poskol/length(handles.kata)); end

(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); m11=str2double(get(handles.m11,'string')); m12=str2double(get(handles.m12,'string')); m13=str2double(get(handles.m13,'string')); m14=str2double(get(handles.m14,'string')); m21=str2double(get(handles.m21,'string')); m22=str2double(get(handles.m22,'string')); m23=str2double(get(handles.m23,'string')); m24=str2double(get(handles.m24,'string')); m31=str2double(get(handles.m31,'string')); m32=str2double(get(handles.m32,'string')); m33=str2double(get(handles.m33,'string')); m34=str2double(get(handles.m34,'string')); m41=str2double(get(handles.m41,'string')); m42=str2double(get(handles.m42,'string')); m43=str2double(get(handles.m43,'string')); m44=str2double(get(handles.m44,'string')); 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); end tic; handles.word=abs(handles.kata); guidata(hObject,handles); handles.temp=zeros(4,length(handles.word)/4); guidata(hObject,handles); 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); 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);

k11=str2double(get(handles.k11,'string')); k12=str2double(get(handles.k12,'string'));

(6)

k13=str2double(get(handles.k13,'string')); k14=str2double(get(handles.k14,'string')); k21=str2double(get(handles.k21,'string')); k22=str2double(get(handles.k22,'string')); k23=str2double(get(handles.k23,'string')); k24=str2double(get(handles.k24,'string')); k31=str2double(get(handles.k31,'string')); k32=str2double(get(handles.k32,'string')); k33=str2double(get(handles.k33,'string')); k34=str2double(get(handles.k34,'string')); k41=str2double(get(handles.k41,'string')); k42=str2double(get(handles.k42,'string')); k43=str2double(get(handles.k43,'string')); k44=str2double(get(handles.k44,'string')); m11=str2double(get(handles.m11,'string')); m12=str2double(get(handles.m12,'string')); m13=str2double(get(handles.m13,'string')); m14=str2double(get(handles.m14,'string')); m21=str2double(get(handles.m21,'string')); m22=str2double(get(handles.m22,'string')); m23=str2double(get(handles.m23,'string')); m24=str2double(get(handles.m24,'string')); m31=str2double(get(handles.m31,'string')); m32=str2double(get(handles.m32,'string')); m33=str2double(get(handles.m33,'string')); m34=str2double(get(handles.m34,'string')); m41=str2double(get(handles.m41,'string')); m42=str2double(get(handles.m42,'string')); m43=str2double(get(handles.m43,'string')); m44=str2double(get(handles.m44,'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]; tic; data=get(handles.cpt,'Userdata') data=str2num(data) data=data' data=char(data) data=str2num(data) detemp=zeros(4,length(data)/4); posdata=1; h=waitbar(0,'Harap Tunggu...'); while posdata<=length(data)/4 for i=1:(length(data)/4) for k=1:4 detemp(k,i)=[data(1,posdata)]; posdata=posdata+1; end end waitbar(posdata/length(data)/4); end close(h); detemp

%perkalian matriks dengan invers kunci kedua 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) aa=get(handles.w,'string'); aa=str2double(aa);

(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 tamp=zeros(1,bakhir*w);

(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

: [email protected]

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

4.

Pelatihan Dasar Organisasi IMILKOM USU

2010

5.

Seminar Sehari ROBOTIKA dan INFORMATIKA

2011

6.

Seminar Teknologi Informasi “ “The Development of Modern

2011

(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

Uji ini dilakukan untuk mengetahui data normal atau tidak dan uji homogenitas digunakan untuk menguji kesamaan varians antara data nilai power tungkai hasil pengukuran pada

Penelitian ini bertujuan untuk mengetahui‌ 1) Minat siswa dalam belajar bahasa Arab, 2) Motivasi siswa dalam belajar bahasa Arab, 3) Upaya guru dalam menumbuhkan minat

Maka dari putusan-putusan tersebut, penulis merasa ketika Pengadilan Agama menolak izin poligami pemohon (Putusan Nomor 0007/Pdt.G/2019/PA.Lpk) dikhawatirkan

Analisis kesesuaian soal akan menelaah validitas isi apakah soal try out UN Biologi sudah sesuai dengan kisi-kisi pembuatan yang memuat SKL UN, sedangkan kualitas butir soal

Indonesia merupakan Negara kepulauan dengan kebudayaan yang beragam. Struktur masyarakat Indonesia ditandai dengan keragaman suku bangsa, ras, agama dan budaya.

Dapat disimpulkan bahwa kualitas hidup pasien gagal ginjal kronik di RS PKU Muhammadiyah Unit II Yogyakarta sebagian besar besar berada dalam kualitas hidup

Hasil dari penelitian ini menunjukan bahwa dua guru bahasa Inggris yang mengajar siswa kelas sebelas mengalami masalah yang cukup sama saat mengajar listening,

Di dapatkan hasil kesimpulan kualitas pelayanan pada Unit Donor Darah PMI Kota Pekanbaru dalam pemenuhan janji, masih banyak masyarakat yang mengeluhkan megenai