BAB 4
PERANCANGAN DAN IMPLEMENTASI
4.1 Perancangan
Perancangan merupakan tahap kedua dari siklus hidup pengembangan sistem perangkat lunak. Perancangan memiliki tujuan untuk menentukan kondisi akhir yang
diharapkan dari perangkat lunak yang akan dibangun dan merumuskan cara yang harus dilakukan untuk memperoleh hasil tersebut.
Pada perangkat lunak dengan algoritma TEA, tahap perancangan yang dilakukan mencakup perancangan struktur program, perancangan antar muka pemakai
dan perancangan algoritma dan flowchart perangkat lunak KripTEA
4.1.1 Perancangan Struktur Data
Perancangan data merupakan aktivitas pertama dan beberapa sering mengatakan yang terpenting dari empat aktivitas desain yang dilakukan selama rekayasa perangkat
lunak. Pengaruh struktur data pada struktur program dan kompleksitas prosedural menyebabkan perancangan data berpengaruh penting terhadap kualitas perangkat
lunak. Tanpa melihat perancangan yang digunakan, data yang dirancang dengan baik dapat membawa kepada struktur program dan modularitas yang lebih baik, serta
mengurangi kompleksitas prosedural Pressman, 2002.
Perancangan data yang digunakan pada perangkat lunak KripTEA adalah sebagai berikut :
file_data, plainteks : boolean
order_perintah, cipher, kunci_enkripsi : string;
kode_ASCII, ASCII_Plain, Biner_plain: integer
cipherteks, cipher, blok_plain : Boolean
kunci_deskripsi, k[0], k[1], k[2], k[3] : string
blok_cipher, krk_plain : integer
4.1.2 Perancangan Struktur Program
Struktur program, disebut juga hirarki kontrol, merepresentasikan organisasi komponen program modul serta mengimplikasikan suatu hirarki kontrol. Suatu
hirarki kontrol tidak mengimplikasikan aspek prosedural dari perangkat lunak, seperti urutan proses, kejadianurutan dari keputusan, atau pengulangan operasi. Banyak
notasi yang berbeda yang digunakan untuk merepresentasikan hirarki kontrol, yang paling umum adalah diagram pohon Pressman, 2002. Adapun struktur program dari
perangkat lunak KripTEA dapat dilihat pada gambar berikut :
Enkripsi Baca
Plaintext Deskripsi
Main Menu
Baca Kunci Enkripsi
Baca Ciphertext
Baca Kunci Deskripsi
Potong Plaintext
Konversi pesan Ke kode ASCII
Gabung Ciphertext
Potong Ciphertext
Konversi Dari Biner ke kode ASCII
Gabung Plaintetxt
Potong Kunci Enkripsi
Potong Kunci Deskripsi
Konversi kode ASCII Kedalam biner
Konversi dari Kode ASCII
Konversi kunci Ke kode ASCII
Konversi kunci Ke kode ASCII
Gambar 4.1. Struktur Program KripTEA
4.1.3 Perancangan Antar Muka Pemakai
Antar muka pemakai user interface adalah aspek sistem komputer atau program yang dapat dilihat, didengar, atau dipersepsikan oleh pengguna manusia, dan perintah-
perintah atau mekanisme yang digunakan pemakai untuk mengendalikan operasi dan memasukkan data. Berikut ini merupakan perancangan antar muka pemakai perangkat
lunak KripTEA.
4.1.3.1 Tampilan Form Utama
Tampilan ini merupakan tampilan utama dari perangkat lunak KripTEA yang dibuat sesederhana mungkin untuk memudahkan para pengguna perangkat lunak. Pada
tampilan Utama yang merupakan tampilan awal ini terdapat Judul Program, dan fasilitas yang ada pada KripTEA, yaitu Encryption, Descryption, About penjelasan
tentang sistem serta tombol exit.
Jika dipilih menu Encryption maka selanjutnya akan tampil form Enkripsi Pesan dan jika yang dipilih adalah Descryption maka yang muncul adalah tampilan
form Dekripsi pesan. Sedangkan jika yang dipilih adalah menu About maka yang tampil adalah penjelasan tentang sistem. Untuk keluar dari menu utama maka dipilih
tombol Exit yang merupakan pilihan untuk keluar secara keseluruhan dari software.
Tampilan layar utama pada KripTEA adalah seperti pada gambar 4.2 berikut :
Gambar 4.2 Rancangan Layar Utama KripTEA
4.1.3.2 Tampilan Form Encryption
Pada KripTEA, plainteks yang akan dienkripsi di browse dari komputer melalui file browser, kemudian pilih format file yang akan digunakan pada proses enkripsi melalui
filter data, selanjutnya pilih file yang akan dienkripsi yang terdapat pada file list. Untuk melakukan proses enkripsi kilik tombol encryption. Setelah melakukan
pemilihan file, input password untuk melakukan proses enkripsi. Untuk membatalkan proses atau kembali ke menu utama dapat menglik tombol back.
Tampilan layar menu encryption adalah sebagai berikut :
SISTEM KEAMANAN DATA MENGGUNAKAN ALGORITMA TEA
MENU UTAMA
ENCRYPTION DESCRYPTION
ABOUT EXIT
KripTEA V.1.0
Gambar 4.3 Rancangan Layar Enkripsi
Data Encryption
Password key Filter Data :
File Browser :
File List : EnryptionDescryption
Encryption Descryption
Encryption Back
4.1.3.3 Tampilan Form Descryption
Tampilan ini akan ditampilkan ketika pengguna sistem hendak melakukan proses dekripsi terhadap suatu file yang telah terenkrip. Proses dekripsi hanya dapat
dilakukan dengan benar jika kunci rahasia yang diinput user bernilai benar. Tampilan form dekripsi dapat dilihat pada gambar berikut :
Gambar 4.4 Rancangan Layar Deskripsi
Data Descryption
Password key Filter Data :
File Browser :
File List : EncryptionDescryption
Encryption Descryption
Descryption Back
File yang akan didekripsi di-browse dari komputer, dimana file haruslah dalam format .tea . Jika user ingin mengganti file yang ingin didekripsi atau membatalkan proses
maka user dapat mengklik tombol Back. Untuk melakukan proses deskripsi haruslah
menginputkan password yang sama seperti pada proses enkripsi.
4.1.3.4 Tampilan Form About
Tampilan ini digunakan untuk memberikan penjelasan tentang perangkat lunak.
Gambar 4.5 Rancangan Form About
4.1.4 Perancangan Prosedural
Perancangan prosedural terjadi setelah perancangan data, perancangan struktur program dan antar muka dibangun. Dalam dunia nyata, spesifikasi prosedural
diperlukan untuk menetapkan detail algoritma yang akan digunakan dalam suatu bahasa ibu seperti bahasa Indonesia. Sayangnya, ada satu masalah kecil. Perancangan
prosedural harus menentukan detail desain, prosedural tanpa ada ambiguitas. Oleh karena itu, untuk menghindari adanya ambiguitas pada perancangan prosedural,
perancangan prosedural perangkat lunak KripTEA menggunakan algoritma dan flowchart.
Pada perangkat lunak KripTEA, terdapat dua prosedur utama, yaitu prosedur Encryption dan prosedur Descryption. Selain ketiga prosedur tersebut, masih terdapat
beberapa prosedur yang mendukung proses kerja kedua prosedur utama tersebut.
ABOUT
ICON TEA
Berisikan Penjelasan Tentang Perangkat Lunak
OK
Adapun nama prosedur-prosedur pendukung yang terdapat pada perangkat lunak KripTEA ini antara lain: Password.
Adapun algoritma dan flowchart untuk KripTEA adalah sebagai berikut :
4.1.4.1 Algoritma dan Flowchart untuk proses Enkripsi
Prosedur ini digunakan untuk melakukan proses encryption. Rincian prosesnya dipaparkan oleh algoritma berikut:
1. start.
2. input blok plaintext 64 bit.
3. partisi blok plaintext menjadi 2 sub blok 32 bit, L
Y = 32 bit dan R Z = 32
bit. 4.
input blok kunci enkripsi 128 bit. 5.
partisi blok kunci enkripsi menjadi 4 sub blok kunci k0 = 32 bit, k1=32 bit, k2 = 32 bit dan k3 = 32 bit.
6. i = 1.
7. Tahap I enkripsi L
0 =
L + f R
0,
k[0], k[1], sum 8.
Tahap II enkripsi R
0 =
R + f L
0,
k[2], k[3], sum 9. i = i - 1.
10. Periksa apakah i = 32. 11. Jika tidak kembali ke langkah 7 .
12. Jika ya, gabung ciphertext 12. Stop
Gambaran aliran proses kerja dari prosedur enkripsi dapat ditunjukkan oleh gambar 4.6 pada flowchart berikut:
START
BLOK PLAINTEXT = 64 BIT PARTISI BLOK PESAN MENJADI 2 SUBBLOK
R
Z = 32 bit dan
L
Y = 32 bit
BLOK KUNCI = 128 BIT PARTISI KUNCI MENJADI 4 SUBBLOK KUNCI K0 = 32 bit, K1 = 32 bit,
K2 = 32 bit, K3 = 32 bit i = 1
L
0 Y
= L
0 Y
+ f R
0 Z,
k[0], k[1], sum
R
0 Z
= R
0 Z
+ f L
0 Y,
k[2], k[3], sum
i = i - 1
i = 32
CIPHERTEKS Y, Z
STOP Tidak
Gambar 4.6 Flowchart Prosedur Enkripsi
4.1.4.2 Algoritma dan Flowchart untuk proses Deskripsi
Prosedur ini digunakan untuk melakukan proses enkripsi. Rincian prosesnya dipaparkan oleh algoritma berikut:
1. Start
2. input blok ciphertext 64 bit.
3. partisi blok ciphertext menjadi 2 sub blok 32 bit, L
Y = 32 bit dan R Z =
32 bit. 4.
input blok kunci deskripsi 128 bit. 5.
partisi blok kunci deskripsi menjadi 4 sub blok kunci k0 = 32 bit, k1=32 bit, k2 = 32 bit dan k3 = 32 bit.
6. i = 1.
7. Tahap I deskripsi L
0 =
L + f R
0,
k[1], k[0], sum. 8. Tahap II deskripsi R
0 =
R + f L
0,
k[3], k[2], sum. 9. i = i - 1.
10. Periksa apakah i = 32. 11. Jika tidak kembali ke langkah 7 .
12. Diperoleh pesan asli plaintext 13. Stop
Gambaran aliran proses kerja dari prosedur dekripsi dapat ditunjukkan pada gambar 4.7 berikut ini :
START BLOK CIPHERTEXT = 64 BIT
PARTISI BLOK PESAN MENJADI 2 SUBBLOK
R
Z= 32 bit dan
L
Y= 32 bit BLOK KUNCI = 128 BIT
PARTISI KUNCI MENJADI 4 SUBBLOK KUNCI K0 = 32 bit, K1 = 32 bit, K2 = 32 bit, K3 = 32 bit
i = 1
L
=
L + f R
0,
k[1], k[0], sum
R
=
R + f L
0,
k[3], k[2], sum
i = i - 1
i = 32
PLAINTEXT Y, Z
STOP Tidak
PESAN ASLI
Gambar 4.7 Flowchart Prosedur Deskripsi
4.2 Implementasi