• Tidak ada hasil yang ditemukan

BAB 3 PERANCANGAN PROGRAM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 PERANCANGAN PROGRAM"

Copied!
15
0
0

Teks penuh

(1)

30

BAB 3

PERANCANGAN PROGRAM

3.1 Struktur Menu

Program aplikasi kriptografi yang dirancang memiliki struktur hirarki di mana terdapat 3 sub menu dari menu utamanya. Bentuk struktur menu program aplikasi kriptografi yang dirancang dapat digambarkan sebagai berikut.

Gambar 3.1 Rancangan Struktur Menu Utama

Pada sub menu File akan memiliki sub menu New, sub menu Open, sub menu

Save, sub menu Close dan sub menu Exit yang dapat dilihat pada struktur rancangan di

bawah ini :

Menu Utama

About

(2)

Gambar 3.2 Rancangan Struktur File

Pada sub menu Tools akan memiliki sub menu Encryption, sub menu

Decryption, dan sub menu Option yang dapat dilihat pada struktur rancangan di bawah

ini :

Gambar 3.3 Rancangan Struktur Tools

3.2 State Transition Diagram (STD)

Perpindahan state setelah dilakukan sebuah event atau action pada rancangan program aplikasi kriptografi ini dapat dijelaskan lebih lanjut menggunakan State

Tools

Encryption Decryption Option

File

Open

(3)

32

Transition Diagram (STD). Di bawah ini adalah STD rancangan dari setiap modul yang

terdapat dalam program aplikasi kriptografi yang dibuat.

(4)
(5)

34

(6)

Gambar 3.7 STD Option

3.3 Rancangan Layar

Rancangan layar yang terdapat pada program aplikasi kriptografi ini terdiri dari 3 bagian besar sebagai berikut.

Layar Menu Utama. Layar Option. Layar About.

Ketika program aplikasi ini dijalankan maka tampilan pertama yang akan muncul adalah Layar Menu Utama dengan tampilan kosong, yang mana untuk memulai aplikasi harus memilih new atau open pada menu File atau dapat dipilih melalui pilihan

(7)

36 A Layar Menu Utama

Gambar 3.8 Rancangan layar Menu Utama (Enkripsi)

Layar menu utama pada gambar 3.8 adalah layar yang pertama kali muncul, dengan mode diatur ke arah enkripsi dan key length sepanjang 128 bit sebagai default. Pada tampilan layar menu utama ini terdapat menu-menu utama yang terletak di bagian atas window dimana menu tersebut adalah menu file, menu tools, dan menu about. Pada menu file dan tools terdapat sub-sub menu didalamnya sedangkan menu about akan menampilkan layar about yang berguna untuk memberikan informasi mengenai segala sesuatu yang berkaitan dengan aplikasi. Ketika menu file diklik maka akan muncul sub menu new yang berfungsi untuk mengeset ulang semua nilai yang ada pada layar menu utama apabila terdapat nilai pada salah satu textbox maka akan muncul dialog box yang akan memastikan apakah aplikasi benar-benar ingin diset ulang atau mau menyimpan

Main

File Tools About

Key TextBox “key”

PlainText TextBox “input” Encrypt CipherText TextBox “output” Encryption : : xxx bit

(8)

pekerjaan sebelumnya terlebih dahulu, sub menu open akan membuka dialog box untuk membuka file yang berisi plaintext atau ciphertext yang kemudian dimasukkan ke dalam

textbox “input” apabila pada textbox “input / output” terisi maka dialog box untuk

memastikan apakah benar-benar ingin mengganti isi textbox “input” atau mau menyimpan pekerjaan sebelumnya terlebih dahulu ditampilkan, sub menu save akan membuka sub menu save input yang berguna untuk menyimpan textbox isi “input” dan sub menu save output yang berguna untuk menyimpan textbox isi “output”, sub menu

close yang berfungsi untuk menutup pekerjaan yang sedang dikerjakan apabila pada textbox “input / output” terisi maka dialog box untuk memastikan apakah benar-benar

ingin mengganti isi textbox “input” atau mau menyimpan pekerjaan sebelumnya terlebih dahulu ditampilkan, dan sub menu exit berfungsi untuk keluar dari aplikasi. Ketika menu

tools diklik maka akan muncul sub menu encryption yang berfungsi untuk mengeset

mode aplikasi ke arah enkripsi, sub menu decryption yang berfungsi untuk mengeset mode aplikasi ke arah dekripsi, dan sub menu option yang berfungsi untuk memanggil layar option.

Pada bagian tengah layar terdapat 3 textbox dan 1 tombol, apabila sub menu open digunakan akan muncul path dari file yang dibuka disamping label “plaintext/ciphertext”. Textbox “key” berfungsi untuk memasukkan nilai key untuk proses enkripsi atau dekripsi. Textbox “input” berfungsi sebagai input baik saat proses enkripsi maupun dekripsi. Textbox “output” berfungsi sebagai tempat ditampilkannya dari hasil enkripsi ataupun dekripsi, Tombol “Encrypt / Decrypt” berfungsi untuk melakukan proses enkripsi atau dekripsi yang tergantung pada proses yang dapat diatur pada menu tools. Layar saat proses diset ke arah dekripsi dapat dilihat pada gambar 3.9.

(9)

38

Gambar 3.9 Rancangan layar Menu Utama (Dekripsi) Main

File Tools About

Key TextBox “key”

CipherText TextBox “input” Decrypt PlainText TextBox “output” Decryption : : xxx bit

(10)

B Layar Option

Gambar 3.10 Rancangan layar option

Layar option ini dapat diakses melalui menu tools lalu pilih sub menu option, layar ini pada dasarnya berfungsi untuk mengatur panjang key yang digunakan pada saat enkripsi atau dekripsi (radio button dari key length). Komponen lainnya yang terdapat pada layar ini adalah pilihan untuk mengubah path default dari input dan output program serta tombol “OK” dan “Cancel”, tombol “Browse” berfungsi untuk mencari path yang diinginkan untuk menjadi default pada input ataupun output, tombol “OK” berfungsi untuk menyimpan nilai ke dalam variabel dan tombol “Cancel” berfungsi untuk mengembalikan nilai variabel ke nilai sebelum layar option dijalankan.

Option Key Length O 128 bit O 192 bit O 256 bit Default Path Input Output OK Cancel Browse Browse

(11)

40 C Layar About

Gambar 3.11 Rancangan layar How To Use dan About

Layar About ini dapat diakses melalui menu about, di dalam keterangan akan berisi informasi yang berkaitan dengan aplikasi. Komponen lainnya dalam layar ini adalah tombol Close yang berfungsi untuk menutup layar help dan kembali ke layar menu utama.

3.4 Spesifikasi Modul

Untuk memperjelas proses-proses yang terdapat dalam program aplikasi kriptografi ini yang terjadi pada setiap modul, maka akan diperinci dengan spesifikasi modul di bawah ini :

Modul inisialisasi

Fungsi : mengeset ke nilai awal untuk semua variabel dan mengeset semua komponen.

BEGIN

Set nilai key_length

Set nilai mode

Set nilai dari variabel global lainnya

Set batas karakter pada textbox “key” sesuai dengan panjang key About

Keterangan

(12)

Set semua label sesuai dengan nilai mode END

Modul new

Fungsi : mengeset aplikasi kembali ke nilai awal apabila aplikasi belum disimpan maka akan muncul pilihan untuk save.

BEGIN

If textbox ada isi dan belum disimpan then tampilkan dialog box If pilih tombol “yes” pada dialog box then panggil modul save If pilih tombol “no” pada dialog box then lanjutkan modul

If pilih tombol “cancel” pada dialog box then kembali ke menu utama

tanpa mengubah apapun

semua nilai dan komponen kembali ke awal dan semua textbox dikosongkan

END

Modul open

Fungsi : membuka file yang berisi plaintext atau ciphertext yang nantinya dipindahkan ke textbox “input”.

BEGIN

If textbox ada isi dan belum disimpan then tampilkan dialog box If pilih tombol “yes” pada dialog box then panggil modul save If pilih tombol “no” pada dialog box then lanjutkan modul

If pilih tombol “cancel” pada dialog box then kembali ke menu utama

tanpa mengubah apapun

Panggil dialog box

Pindahkan isi file yang dipilih pada dialog box ke dalam textbox “input”

(13)

42 Modul save

Fungsi : menyimpan textbox input atau output ke dalam file.

BEGIN

Panggil dialog box

Simpan textbox yang dipilih ke dalam file ubah variabel textbox tersebut

END

Modul option

Fungsi : menampilkan pilihan untuk mengeset variabel inti dan menentukan path dari aplikasi.

BEGIN

Panggil pop-up window dari layar option

If pilih tombol “OK” then set semua nilai ke nilai yang telah dipilih If pilih tombol “cancel” then masuk ke menu utama tanpa mengubah nilai

variabel

END

Modul about

Fungsi : menampilkan informasi mengenai aplikasi.

BEGIN

Panggil pop-up window dari layar about

If pilih tombol “Close” then tutup pop-up window dan kembali ke menu

utama

END

Modul proses

Fungsi : menjalankan proses enkripsi atau dekripsi.

BEGIN

Mengecek apakah key dan Textbox “input” sudah diisi atau belum

(14)

While teks <> eof

Mengambil teks sepanjang 128 bit dan diubah menjadi 4 double word dengan menggunakan konvensi little-endian

Lakukan proses whitening

Memasukkan keempat word tersebut berurutan sesuai dengan nilai mode yang digunakan sebagai input pada modul twofish

Panggil modul twofish Lakukan proses whitening

Kembalikan nilai teks menjadi bit dengan menggunakan konvensi

little-endian End while

Masukkan hasil enkripsi/dekripsi ke dalam textbox “output”

END

Modul twofish

Fungsi : mengubah nilai input sesuai dengan nilai mode dengan menggunakan algoritma twofish BEGIN For r = 0 to 15 do

H

Fr,0, Fr,1

L

= F

H

Rr,0, Rr,1, r

L

Rr+1,0 = ROR

H

Rr,2 ÅFr,0, 1

L

Rr+1,1 = ROL

H

Rr,3, 1

L

ÅFr,1 Rr+1,2 = Rr,0 Rr+1,3 = Rr,1 End For END

(15)

44 Modul F

Fungsi : menjalankan fungsi f yang ada pada algoritma twofish

BEGIN T0 = g

H

R0

L

T1 = g

H

ROL

H

R1, 8

L

L

F0 =

H

T0 + T1+ K2r+8

L

mod 232 F1 =

H

T0 +2T1+ K2r+9

L

mod 232 END Modul G

Fungsi : menjalankan fungsi g yang ada pada algoritma twofish

BEGIN

Membagi nilai input menjadi 4 byte

Substitusikan setiap nilai byte input dengan menggunakan S-box Mengkalikan nilai input dengan matriks MDS berdimensi 4 x 4 Kembalikan nilai input menjadi word

Referensi

Dokumen terkait

Berdasar hasil penelitian dapat disarankan bahwa: (1) Bagi peneliti yang akan mereplikasi penelitian ini pada sekolah/kelas atau materi yang berbeda perlu memperhatikan

Penelitian ini menemukan lima tema pengalaman hospitalisasi pada anak, yaitu terbatasnya melaku- kan aktivitas rutin sehari-hari, suasana ruang rawat tidak nyaman, tidak

Inokulum probiotik mengandung bahan pengikat mikroba dan mengandung mikroba yang dapat melakukan fermentasi, salah satunya adalah terdapat pada ragi.. Ragi merupakan

Berdasarkan hasil penelitian dapat disimpulkan bahwa ekstrak buah Okra dengan dosis 75 mg/kgBB tikus, 150 mg/kgBB tikus, dan 300 mg/kgBB tikus tidak mempunyai

Perseroan melihat recovery industry otomotif di Indonesia diproyeksikan baru akan kembali normal pada tahun 2022, sementara sejalan dengan pemulihan ekonomi akan ada

Pada penelitian ini, desain penelitian yang digunakan oleh peneliti adalah cross-sectional dengan tujuan untuk mengetahui apakah terdapat hubungan antara tingkat

Dalam menghadapi era globalisasi, era otonomi daerah dan semakin kompleksnya permasalahan yang dihadapi, tentunya dalam mewujudkan seluruh program yang telah dipaparkan

Penggunaan media komunikasi pada downward communication secara tulisan untuk tujuan instruksi tugas, rasional, ideologi, informasi, dan balikan karena tidak memerlukan umpan