3.4.3 Perancangan Prosedural
Setelah percancangan struktur program dan antar muka, maka tahapan selanjutnya adalah perancangan prosedural. Perancangan prosedural ini terdiri algoritma dan
flowchart. Tujuan dari perancangan ini adalah mempermudah dalam melakukan pengkodean dimana perancangan ini menghasilkan detail algoritma yang akan
dibangun.
Pada perangkat lunak sistem keamanan data dengan Columnar Transposition dan SHA ini terdapat tiga prosedur utama, yaitu prosedur enkripsi, prosedur dekripsi,
dan prosedur SHA-1. Berikut algoritma dan flowchart untuk masing-masing prosedur.
3.4.3.1 Algoritma dan Flowchart Proses Enkripsi
Prosedur ini digunakan untuk melakukan prosedur enkripsi. Rincian prosesnya ditunjukkan oleh algoritma berikut:
1. Mulai.
2. Plainteks, urutan, pad, kolom = 6.
3. Mengambil isi plainteks per karakter.
4. Menghitung Jumlah atau panjang semua karakter .
5. Pad = Jumlah karakter mod 6.
6. Apakah Pad 0.
7. Jika tidak, masukkan karakter ke dalam kolom.
8. Jika ya, Tambahkan karakter ‘’.
9. Baca karakter berdasarkan urutan kolom.
10. Cipherteks.
11. Selesai.
Gambar aliran proses dari prosedur enkripsi ditunjukkan oleh flowchart pada Gambar 3.13.
Universitas Sumatera Utara
Mulai
Mengambil isi plainteks per karakter
Menghitung panjang atau Jumlah semua karakter
Tambahkan karakter ‘’
Masukkan karakter ke dalam kolom
Selesai ya
tidak
Cipherteks Plainteks, urutan,
kolom = 6
Pad 0 Pad = Jumlah karakter mod 6
Baca karakter sesuai dengan urutan kolom
Gambar 3.13 Flowchart Prosedur Enkripsi
3.4.3.2 Algoritma dan Flowchart Proses Dekripsi
Rincian dari prosedur dekripsi ditunjukkan oleh algoritma berikut: 1.
Mulai. 2.
Cipherteks, urutan, kolom. 3.
Mengambil isi cipherteks per karakter. 4.
Menghitung jumlah atau panjang semua karakter.
Universitas Sumatera Utara
5. kolom = jumlah karakter : 6.
6. Memasukkan karakter ke dalam kolom.
7. Baca karakter berdasarkan urutan kolom.
8. Hapus karakter ‘’ di akhir urutan.
9. Plainteks.
10. Selesai.
Gambaran aliran proses kerja dari prosedur dekripsi ditunjukkan pada Gambar 3.14.
Mulai
Mengambil isi plainteks per karakter
Menghitung panjang atau Jumlah semua karakter
Memasukkan karakter ke dalam kolom
Baca berdasarkan urutan kolom
Selesai Plainteks
Cipherteks, urutan, kolom
Kolom = Jumlah karakter 6
Hapus karakter ‘’ di akhir urutan
Gambar 3.14 Flowchart Prosedur Dekripsi
Universitas Sumatera Utara
3.4.3.3 Algoritma dan Flowchart Prosedur SHA-1
Prosedur SHA-1 ini digunakan untuk membentuk nilai hash. Rincian Proses yang ditunjukkan oleh Gambar 3.15 adalah:
1. Mulai.
2. Cipherteks.
3. Inisialisasi penyangga A,B,C,D,E.
A = 67452301; B = EFCDAB89;
C = 98BADCFE; D = 10325476;
E = C3D2E1F0. 4.
Membaca isi Cipherteks hingga akhir. 5.
Pesan ditambah dengan sejumlah bit pengganjal hingga panjang pesan kongruen dengan 448 modulo 512.
6. Pesan dibagi menjadi blok-blok yang masing-masing panjangnya 512-bit
Y sampai Y
L-1
. 7.
Mengolah pesan 512-bit yang ditunjukkan Gambar 3.16 dengan proses fungsi f dan k berikut:
Begin a
A b
B c
C d
D e
E for i := 0 to 79 do
begin if 0
≤ i ≤ 19 then begin
f = b and c or not b and d; k = 0x5A827999;
end;
Universitas Sumatera Utara
if 20 ≤ i ≤ 39 then
begin f = b xor c xor d;
k = 0x6ED9EBA1; end;
if 40 ≤ i ≤ 59 then
begin f = b and c or b and d or c and d;
k = 0x8F1BBCDC; end;
if 60 ≤ i ≤ 79 then
begin f = b xor c xor d;
k = 0xCA62C1D6; end;
temp = a 5 + f + e + W[i] ; e
= d; d
= c; c
= b 30; b
= a; a
= temp; end;
A = A + a;
B = B + b;
C = C + c;
D = D + d;
E = E + e;
End; 8.
Penggabungan nilai A + B + C + D + E 9.
Nilai Hash. 10.
Selesai.
Universitas Sumatera Utara
Prosedur dari SHA-1 diatas ditunjukkan oleh flowchart pada Gambar 3.15:
Mulai
Membaca pesan hingga akhir Cipherteks
Penambahan pesan dengan bit pengganjal
Pembagian pesan ke dalam blok-blok
Penggabungan nilai A+B+C+D+E
Nilai hash
Selesai Proses fungsi f dan k
Cipherteks
Gambar 3.15 Flowchart Prosedur SHA-1
Universitas Sumatera Utara
Begin a, b, c, d, e,
i = 0
f = b and c or not b and d;
k = 0x5A827999; 20
≤ i ≤ 39 ≤ i ≤ 19
40 ≤ i ≤ 59
60 ≤ i ≤ 79
f = b xor c xor d; k = 0x6ED9EBA1;
f = b and c or b and d or c and d;
k = 0x8F1BBCDC; f = b xor c xor d;
k = 0xCA62C1D6;
temp= a 5 + f +k + e + W[i] ; e
= d; d
= c; c
= b 30; b
= a; a
= temp ;
ya tidak
tidak tidak
ya ya
ya
A = A + a;
B = B + b;
C = C + c;
D = D + d;
E = E + e;
end ya
i = 79 tidak
a = A; b = B;
c = C; d = D;
e = E;
i = i + 1
Gambar 3.16 Flowchart Proses fungsi f dan k
Universitas Sumatera Utara
BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Setelah proses perancangan, maka tahap selanjutnya adalah tahap implementasi yang dibuat ke dalam bentuk suatu perangkat lunak. Input yang dibutuhkan pada aplikasi ini
adalah file biner. Bab ini akan menjelaskan implementasi dari rancangan pada bab sebelumnya.
4.2 Tampilan Menu Utama
Tampilan dari menu utama terdiri dari beberapa tombol yaitu tombol ENKRIPSI, DEKRIPSI, Help, dan KELUAR. Tombol ENKRIPSI, DEKRIPSI dan Help akan
menampilkan form baru sesuai dengan fungsinya masing-masing. Sedangkan tombol KELUAR akan menyebabkan keluar dari sistem tersebut. Tampilan menu utama
ditunjukkan oleh Gambar 4.1.
Gambar 4.1 Tampilan Menu Utama
Universitas Sumatera Utara