Algoritma dan Flowchart Proses Enkripsi Algoritma dan Flowchart Proses Dekripsi Algoritma dan Flowchart Prosedur SHA-1

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