Perancangan Perancangan Dan Implementasi Sistem Keamanan Data Menggunakan Algoritma Simetri Tea Dengan Bahasa Pemrograman Delphi 7.0

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