• Tidak ada hasil yang ditemukan

Lampiran 1. Tabel Kode (0-93)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Lampiran 1. Tabel Kode (0-93)"

Copied!
17
0
0

Teks penuh

(1)

64

(2)

65

Lampiran 1.

Tabel Kode (0-93)

No Kode No Kode No Kode No Kode

0 a 24 y 48 M 72 ) 1 b 25 z 49 N 73 _ 2 c 26 1 50 O 74 + 3 d 27 2 51 P 75 ` 4 e 28 3 52 Q 76 = 5 f 29 4 53 R 77 - 6 g 30 5 54 S 78 { 7 h 31 6 55 T 79 } 8 i 32 7 56 U 80 | 9 j 33 8 57 V 81 [ 10 k 34 9 58 W 82 ] 11 l 35 0 59 X 83 \ 12 m 36 A 60 Y 84 : 13 n 37 B 61 Z 85 " 14 o 38 C 62 ~ 86 ; 15 p 39 D 63 ! 87 < 16 q 40 E 64 @ 88 > 17 r 41 F 65 # 89 ? 18 s 42 G 66 $ 90 , 19 t 43 H 67 % 91 . 20 u 44 I 68 ^ 92

/

21 v 45 J 69 & 93 <space> 22 w 46 K 70 * 94

23 x 47 L 71 (

(3)

66

Lampiran 2.

Program untuk Proses Menentukan Pembangkit Kunci.

Pihak 1

function pembentukan1 format long g

disp('masukkan nilai n untuk menentukan ukuran matriks n x n'); n=input('n= ');

disp('masukkan nilai matriks yang determinannya tidak sama dengan 0'); disp('11 A sampai nn A untuk membentuk matriks A dan seterusnya'); for i=1:n i=i for j=1:n j=j X(i,j)=input('A(i,j)='); j=1+j; end i=1+i; end dx=det(X); while dx == 0 disp('detererminan A = 0');

disp('ulangi menginputkan matriks'); for i=1:n i=i for j=1:n j=j X(i,j)=input('A(i,j)='); j=1+j; end i=1+i; end dx=det(X); end for i=1:n i=i for j=1:n j=j Y(i,j)=input( 'B(i,j)='); j=1+j; end i=1+i;

(4)

67 end

dy=det(Y); while dy == 0

disp('detererminan B = 0');

disp('ulangi menginputkan matriks'); for i=1:n i=i for j=1:n j=j Y(i,j)=input( 'B(i,j)='); j=1+j; end i=1+i; end dy=det(Y); end for i=1:n i=i for j=1:n j=j C(i,j)=input( 'C(i,j)='); j=1+j; end i=1+i; end dc=det(C); while dc == 0 disp('detererminan C = 0');

disp('ulangi menginputkan matriks'); for i=1:n i=i for j=1:n j=j C(i,j)=input( 'C(i,j)='); j=1+j; end i=1+i; end dc=det(C); end for i=1:n i=i for j=1:n j=j

(5)

68 D(i,j)=input( 'D(i,j)='); j=1+j; end i=1+i; end dd=det(D); while dd == 0 disp('detererminan D = 0');

disp('ulangi menginputkan matriks'); for i=1:n i=i for j=1:n j=j D(i,j)=input( 'D(i,j)='); j=1+j; end i=1+i; end dd=det(D); end

disp('masukan sebarang bilangan asli p,q,k dan l'); p=input('p= '); q=input('q= '); k=input('k= '); l=input('l= '); Xm=X^p; Ym=Y^q; Cm=C^k; Dm=D^l; U=Xm*Ym W=Cm*Dm

disp('kirim U dan W ke pihak 2'); disp('masukkan V dan Z dari pihak 2'); disp('masukkan nilai matriks');

for i=1:n i=i for j=1:n j=j V(i,j)=input('V(i,j)='); j=1+j; end i=1+i; end for i=1:n

(6)

69 i=i for j=1:n j=j Z(i,j)=input( 'Z(i,j)='); j=1+j; end i=1+i; end K=Xm*V*Ym L=Cm*Z*Dm for i=1:n for j=1:n K(i,j)=K(i,j)*(10^-(((n*(i-1))*2)+((2*j)-1))); j=1+j; end i=1+i; end for i=1:n for j=1:n L(i,j)=L(i,j)*(10^-(((n*(i-1))*2)+((2*j)-1))); j=1+j; end i=1+i; end KK=sum(sum(K)); LL=sum(sum(L)); disp('nilai awal x = ') while KK > 1 KK=KK*(10^-1); end disp(KK) disp('nilai awal y = ') while LL > 1 LL=LL*(10^-1); end disp(LL) Pihak 2 function pembentukan2 format long g

disp('masukkan nilai n untuk menentukan ukuran matriks n x n'); n=input('n= ');

(7)

70 disp('masukkan nilai matriks yang determinannya tidak sama dengan 0');

disp('11 A sampai nn A untuk membentuk matriks A dan seterusnya'); for i=1:n i=i for j=1:n j=j X(i,j)=input('A(i,j)='); j=1+j; end i=1+i; end dx=det(X); while dx == 0 disp('detererminan A = 0');

disp('ulangi menginputkan matriks'); for i=1:n i=i for j=1:n j=j X(i,j)=input('A(i,j)='); j=1+j; end i=1+i; end dx=det(X); end for i=1:n i=i for j=1:n j=j Y(i,j)=input( 'B(i,j)='); j=1+j; end i=1+i; end dy=det(Y); while dy == 0 disp('detererminan B = 0');

disp('ulangi menginputkan matriks'); for i=1:n

i=i for j=1:n j=j

(8)

71 j=1+j; end i=1+i; end dy=det(Y); end for i=1:n i=i for j=1:n j=j C(i,j)=input( 'C(i,j)='); j=1+j; end i=1+i; end dc=det(C); while dc == 0 disp('detererminan C = 0');

disp('ulangi menginputkan matriks'); for i=1:n i=i for j=1:n j=j C(i,j)=input( 'C(i,j)='); j=1+j; end i=1+i; end dc=det(C); end for i=1:n i=i for j=1:n j=j D(i,j)=input( 'D(i,j)='); j=1+j; end i=1+i; end dd=det(D); while dd == 0 disp('detererminan D = 0');

disp('ulangi menginputkan matriks'); for i=1:n

(9)

72 i=i for j=1:n j=j D(i,j)=input( 'D(i,j)='); j=1+j; end i=1+i; end dd=det(D); end

disp('masukan sebarang bilangan asli p,q,k dan l'); p=input('r= '); q=input('s= '); k=input('i= '); l=input('j= '); Xm=X^p; Ym=Y^q; Cm=C^k; Dm=D^l; V=Xm*Ym Z=Cm*Dm

disp('kirim V dan Z ke pihak 2');

disp('masukkan U dan W dari pihak 2'); disp('masukkan nilai matriks');

for i=1:n i=i for j=1:n j=j U(i,j)=input('U(i,j)='); j=1+j; end i=1+i; end for i=1:n i=i for j=1:n j=j W(i,j)=input( 'W(i,j)='); j=1+j; end i=1+i; end K=Xm*U*Ym L=Cm*W*Dm

(10)

73 for i=1:n for j=1:n K(i,j)=K(i,j)*(10^-(((n*(i-1))*2)+((2*j)-1))); j=1+j; end i=1+i; end for i=1:n for j=1:n L(i,j)=L(i,j)*(10^-(((n*(i-1))*2)+((2*j)-1))); j=1+j; end i=1+i; end KK=sum(sum(K)); LL=sum(sum(L)); disp('nilai awal x = ') while KK > 1 KK=KK*(10^-1); end disp(KK) disp('nilai awal y = ') while LL > 1 LL=LL*(10^-1); end disp(LL) Lampiran 3.

Program untuk Proses Mengkonversi Pesan.

function [angka] = konversipesan(huruf) angka = [];

for i=1:size(huruf,2) angka(i) = ubah(huruf(i)); end

function [angka] = ubah(huruf) if strcmp(huruf,'a')==1

angka=0;

elseif strcmp(huruf,'b')==1 angka=1;

(11)

74 angka=2; elseif strcmp(huruf,'d')==1 angka=3; elseif strcmp(huruf,'e')==1 angka=4; elseif strcmp(huruf,'f')==1 angka=5; elseif strcmp(huruf,'g')==1 angka=6; elseif strcmp(huruf,'h')==1 angka=7; elseif strcmp(huruf,'i')==1 angka=8; elseif strcmp(huruf,'j')==1 angka=9; elseif strcmp(huruf,'k')==1 angka=10; elseif strcmp(huruf,'l')==1 angka=11; elseif strcmp(huruf,'m')==1 angka=12; elseif strcmp(huruf,'n')==1 angka=13; elseif strcmp(huruf,'o')==1 angka=14; elseif strcmp(huruf,'p')==1 angka=15; elseif strcmp(huruf,'q')==1 angka=16; elseif strcmp(huruf,'r')==1 angka=17; elseif strcmp(huruf,'s')==1 angka=18; elseif strcmp(huruf,'t')==1 angka=19; elseif strcmp(huruf,'u')==1 angka=20; elseif strcmp(huruf,'v')==1 angka=21; elseif strcmp(huruf,'w')==1 angka=22; elseif strcmp(huruf,'x')==1 angka=23; elseif strcmp(huruf,'y')==1

(12)

75 angka=24; elseif strcmp(huruf,'z')==1 angka=25; elseif strcmp(huruf,'1')==1 angka=26; elseif strcmp(huruf,'2')==1 angka=27; elseif strcmp(huruf,'3')==1 angka=28; elseif strcmp(huruf,'4')==1 angka=29; elseif strcmp(huruf,'5')==1 angka=30; elseif strcmp(huruf,'6')==1 angka=31; elseif strcmp(huruf,'7')==1 angka=32; elseif strcmp(huruf,'8')==1 angka=33; elseif strcmp(huruf,'9')==1 angka=34; elseif strcmp(huruf,'0')==1 angka=35; elseif strcmp(huruf,'A')==1 angka=36; elseif strcmp(huruf,'B')==1 angka=37; elseif strcmp(huruf,'C')==1 angka=38; elseif strcmp(huruf,'D')==1 angka=39; elseif strcmp(huruf,'E')==1 angka=40; elseif strcmp(huruf,'F')==1 angka=41; elseif strcmp(huruf,'G')==1 angka=42; elseif strcmp(huruf,'H')==1 angka=43; elseif strcmp(huruf,'I')==1 angka=44; elseif strcmp(huruf,'J')==1 angka=45; elseif strcmp(huruf,'K')==1

(13)

76 angka=46; elseif strcmp(huruf,'L')==1 angka=47; elseif strcmp(huruf,'M')==1 angka=48; elseif strcmp(huruf,'N')==1 angka=49; elseif strcmp(huruf,'O')==1 angka=50; elseif strcmp(huruf,'P')==1 angka=51; elseif strcmp(huruf,'Q')==1 angka=52; elseif strcmp(huruf,'R')==1 angka=53; elseif strcmp(huruf,'S')==1 angka=54; elseif strcmp(huruf,'T')==1 angka=55; elseif strcmp(huruf,'U')==1 angka=56; elseif strcmp(huruf,'V')==1 angka=57; elseif strcmp(huruf,'W')==1 angka=58; elseif strcmp(huruf,'X')==1 angka=59; elseif strcmp(huruf,'Y')==1 angka=60; elseif strcmp(huruf,'Z')==1 angka=61; elseif strcmp(huruf,'~')==1 angka=62; elseif strcmp(huruf,'!')==1 angka=63; elseif strcmp(huruf,'@')==1 angka=64; elseif strcmp(huruf,'#')==1 angka=65; elseif strcmp(huruf,'$')==1 angka=66; elseif strcmp(huruf,'%')==1 angka=67; elseif strcmp(huruf,'^')==1

(14)

77 angka=68; elseif strcmp(huruf,'&')==1 angka=69; elseif strcmp(huruf,'*')==1 angka=70; elseif strcmp(huruf,'(')==1 angka=71; elseif strcmp(huruf,')')==1 angka=72; elseif strcmp(huruf,'_')==1 angka=73; elseif strcmp(huruf,'+')==1 angka=74; elseif strcmp(huruf,'`')==1 angka=75; elseif strcmp(huruf,'-')==1 angka=76; elseif strcmp(huruf,'=')==1 angka=77; elseif strcmp(huruf,'{')==1 angka=78; elseif strcmp(huruf,'}')==1 angka=79; elseif strcmp(huruf,'|')==1 angka=80; elseif strcmp(huruf,'[')==1 angka=81; elseif strcmp(huruf,']')==1 angka=82; elseif strcmp(huruf,'\')==1 angka=83; elseif strcmp(huruf,':')==1 angka=84; elseif strcmp(huruf,'"')==1 angka=85; elseif strcmp(huruf,';')==1 angka=86; elseif strcmp(huruf,'<')==1 angka=87; elseif strcmp(huruf,'>')==1 angka=88; elseif strcmp(huruf,'?')==1 angka=89; elseif strcmp(huruf,',')==1

(15)

78 angka=90; elseif strcmp(huruf,'.')==1 angka=91; elseif strcmp(huruf,'/')==1 angka=92; elseif strcmp(huruf,' ')==1 angka=93; end Lampiran 4.

Program untuk Proses Pembangkitan Kunci.

function [angka1] = pembangkit1(huruf1) angka1 = []; for i=1:size(huruf1,2) if i==1 angka1(i) = input('x='); else angka1(i) = hitung3(angka1(i-1)); end end

function [angka2] = pembangkit2(huruf2) angka2 = []; for i=1:size(huruf2,2) if i==1 angka2(i) = input('y='); else angka2(i) = hitung5(angka2(i-1),huruf2(i-1)); end end

function [angka1] = hitung3(huruf1) if huruf1 <= 0.5

angka1=(2*huruf1); else

angka1=((2*huruf1)-1); end

function [angka1] = hitung5(huruf2,ada1) if ada1 <= 0.5

(16)

79 angka1=(huruf2/2); else angka1=((huruf2+1)/2); end Lampiran 5.

Program untuk Proses Enkripsi.

function enkripsi format long g

m=input('tulis pesan= ','s');

disp('masukkan x & y maksimal 12 digit dibelakang koma tanpa pembulatan'); n=length(m); p=ones(1,ceil(n/2)); o=konversipesan(m); c=pembangkit1(p); d=pembangkit2(c); cc=floor(c*100); dd=floor(d*100); for i=1:n if mod(i,2)==0 C='abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^& *()_+`-={}|[]\:";<>?,./ '; z=mod(o(i)+dd(ceil(i/2)),94)+1; mat=C(z); a(i)=mat(1); else C='abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^& *()_+`-={}|[]\:";<>?,./ '; z=mod(o(i)+cc(ceil(i/2)),94)+1; mat=C(z); a(i)=mat(1); end end

disp('Maka Chipertextnya adalah') disp(a)

(17)

80

Lampiran 6.

Program untuk Proses Dekripsi.

function dekripsi format long g

m=input('tulis pesan= ','s');

disp('masukkan x & y maksimal 12 digit dibelakang koma tanpa pembulatan'); n=length(m); p=ones(1,ceil(n/2)); o=konversipesan(m); c=pembangkit1(p); d=pembangkit2(c); cc=floor(c*100); dd=floor(d*100); for i=1:n if mod(i,2)==0 C='abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^& *()_+`-={}|[]\:";<>?,./ '; z=mod(o(i)-dd(ceil(i/2)),94)+1; mat=C(z); a(i)=mat(1); else C='abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^& *()_+`-={}|[]\:";<>?,./ '; z=mod(o(i)-cc(ceil(i/2)),94)+1; mat=C(z); a(i)=mat(1); end end

disp('Maka Plaintextnya adalah') disp(a)

Gambar

Tabel Kode (0-93)

Referensi

Dokumen terkait

Anggota-anggota Mazhab Frankfurt berpegang pada tiga tesis tentang Ideologiekritik, yakni: (1) Bahwa kritik radikal atas masyarakat dan kritik atas ideologi yang dominan merupakan

Dina Lestari, Analisis Koneksi Matematika Siswa Kelas VII dalam Menyelesaikan Soal Cerita pada Materi Himpunan , (Surakarta: Universitas Muhammadiyah Surakarta, 2017),

Menurut ibu Susi bagaimana pelaksaan/ penyelenggaraan kebijakan yang dilalcukan oleh pemerintah kota Pangkal Pinang dalam hal kepariwisataan apakah dapat

Tujuan dari penelitian ini adalah untuk mengetahui dan mendapatkan kajian tentang pengaruh service recovery, perceived value dan brand image terhadap

Walaupun penelitian ini telah dapat menunjukkan bahwa media yang dikembangkan layak digunakan sebagai perangkat pembelajaran fisika bagi siswa SMP, namun

Saya merasa kurang nyaman jika orang tua membahas mengenai karir saya kelak Membahas keinginan orang tua terhadap karir dan pendidikan saya hanya menambah beban pikiran Bantuan

Nilai koefisien determinasi sebesar 0,964 yang menunjukkan bahwa 96,4 persen variasi (naik turunnya) jumlah kredit konsumtif pada bank umum di Bali dijelaskan oleh variasi

&#34;We consider it one of our more vital and important sponsorships, one that helps ensure that the industry’s future leaders have the tools to succeed.&#34; Currently, both Tyler