ANALISA DAN PEMBAHASAN
4.2 Fase Perancangan
Dalam perancangan Aplikasi Implementasi Algoritma RSA dan Blowfish Untuk Enkripsi dan Dekripsi Data Menggunakan Delphi 7 ini, perancangan Flowchart Diagram.
4.2.1 Flowchart Diagram
Agar lebih memudahkan dalam pembuatan program, maka penulis membuat diagram flowchart yang akan menggambarkan alur program secara umum. Flowchart tersebut dapat digambarkan sebagai berikut :
Start Input Plain File Yg akan Dienkrip Beri nama Output Cipher File yg dienkrip Masukkan Password
Klik Button Encryp File
Periksa Hasil Enkripsi Input Cipher File yg Didekrip Beri nama Output Plain File yg Didekrip
Klik Button Decryp File
Periksa Hasil Dekripsi If (berhasil) End Tidak Ya Masukkan Password Periksa Password
88
Flowchart pada gambar 4.1 mengambarkan alur proses dan urutan-urutan
prosedur dalam aplikasi enkripsi dan dekripsi pada algoritma RSA. Pada aplikasi ini user diminta untuk memilih jenis file dan ukuran file yang akan dienkrip dan didekrip. Aplikasi yang penulis buat ini tidak membatasi jenis dan ukuran file yang akan dienkrip dan didekrip. Setelah memasukkan jenis file, user diminta untuk memberikan nama file setelah dilakukan proses enkripsi, begitu pula ketikan akan melakukan proses dekripsi user diminta untuk memberikan nama sebelum melakukan proses dekripsi. Hal lain untuk menjaga keamanan ketika akan melakukan proses enkripsi dan dekripsi adalah memasukkan password untuk menjaga kerahasiaan file-file yang telah dieksekusi. Password yang dimasukkan bisa berbagai jenis karakter bisa angka, bisa pula karakter. Penulis juga menekankan kepada user jangan lupa untuk mengingat password yang akan digunakan untuk melakukan proses enkripsi dan dekripsi. Hal ini penting dilakukan karena apabila password yang dimasukkan salah maka file yang telah dieksekusi tidak bisa dibuka. Jadi password yang dimasukkan untuk melakukan proses enkripsi dan dekripsi harus sama. 4.2.2 Perancangan Antarmuka
Perancangan antarmuka yang dibuat penulis pada aplikasi ini terdiri dari beberapa halaman, antara lain :
1. Menu Halaman Pembuka
Menu ini merupakan tampilan awal ketika membuka aplikasi enkripsi dan dekripsi dengan RSA dan Blowfish. Pada halaman ini menampilkan judul aplikasi serta beberapa menu yang dapat dipilih pengguna. Adapun menu yang terdapat pada halaman utama ini adalah RSA Text
Cryptography, Multimedia RSA Cryptography, Blowfish Text
F i l e R S A A l g o ri t m B l o w f i s h A l g o ri t m H e l p
R S A Te x t C r y p to g r a p h yR S A M u ltim e d ia B lo w fis h Te x t B lo w fis h M u ltim e d ia E n c r y p tio n a n d D e c r y p t Te x t U s in g R S A A lg o r itm
P a s s w o r d :
C le a r A ll Te x t
E n c r y p t Te x t
D e c r y p t Te x
Gambar 4.2 Rancangan Menu Halaman Pembuka Aplikasi
Pada gambar 4.2 rancangan menu halaman pembuka aplikasi terdapat 3 button yaitu :
Clear all text : Untuk membersihkan teks
Encrypt text : Button Encrypt untuk enkripsi teks Decrypt text : Button Decrypt untuk dekripsi teks 2. Menu Multimedia Cryptography
Menu ini merupakan tampilan untuk melakukan proses enkripsi dan dekripsi pada berbagai jenis file dan ukuran. Dimulai dari memasukkan jenis file sampai memasukkan password
90
F i l e R S A A l g o ri t m B l o w f i s h A l g o ri t m H e l p
R S A Te x t C r y p t R S A M u ltim e d ia B lo w fis h Te x t C r y p t B lo w fis h M u ltim e d ia
E n c ry p t i o n U s i n g R S A A l g o ri t m f o r M u l t i m e d i a F i l e In p u t P la in M u ltim e d ia F ile : O u tp u t C ip h e r M u ltim e d ia : P a s s w o r d : E n c r y p t F ile D e c ry p t i o n U s i n g R S A A l g o ri t m f o r M u t i m e d i a F i l e In p u t C ip h e r M u ltim e d ia F ile : O u tp u t P la in M u ltim e d ia F ile : P a s s w o r d : D e c r y p t F ile
Gambar 4.3 Rancangan Menu Multimedia Cryptography
Pada gambar 4.3 rancangan menu multimedia cryptography terdapat 2 button yaitu :
Encrypt File : Berfungsi untuk enkripsi file Decrypt File : Berfungsi ntuk dekripsi file
Button kotak untuk memasukkan jenis file yang akan dieksekusi dan password untuk melindungi hasil eksekusi, input plaintext untuk meletakkan file yang telah diambil begitu pula output ciphertext untuk meletakkan file yang telah dieksekusi.
A l g o ri tm : P a s s w o rd :
E n c r y p t a n d S e n d in g to S e r v e r E x i t
Gambar 4.4 Rancangan Menu Client
Pada gambar 4.4 merupakan rancangan menu client, dimana terdapat 2 button yaitu :
Encrypt and sending to server : berfungsi untuk mengirim hasil enkripsi ke server
Exit : berfungsi untuk keluar dari aplikasi
Sedangkan 2 kotak yang lain untuk meletakkan teks yang telah diambil, fitur algoritm berfungsi untuk memilih jenis algoritma yang akan digunakan untuk mengeksekusi teks, sedangkan fitur password berfungsi untuk meletakkan jenis password untuk melindungi hasil eksekusi.
92
R e fre s h
A l g o ri tm : P a s s w o rd :
E n c ry p t Te x t
D e c ry p t Te x t
Gambar 4.5 Rancangan Menu Server
Pada gambar 4.5 merupakan menu server, dimana terdapat 5 fitur yaitu :
Refresh : berfungsi untuk koneksi ke server Kotak besar : berfungsi untuk meletakkan teks Algoritm : berfungsi untuk memilih jenis algoritma Password : berfungsi untuk memasukkan jenis password Encrypt text : berfungsi untuk meletakkan hasil enkripsi Decrypt text : berfungsi untuk meletakkan hasil dekripsi 4.2.3 Perancangan Algoritma Program Kriptografi
Algoritma yang penulis kembangkan menggunakan 2 metode algoritma kriptografi dalam mengenkrip atau mendekrip file. Pada saat akan melakukan proses enkripsi pilih plaintext yang akan dienkrip, kemudian pilih algoritma RSA atau Blowfish yang akan digunakan mengenkrip file,
setelah itu masukkan password untuk melindungi hasil eksekusi file, setelah proses dilakukan plaintext berubah menjadi ciphertext.
Tahapan selanjutnya adalah proses dekripsi, pada tahapan ini ciphertext
yang dihasilkan pada proses enkripsi akan diubah menjadi plaintext
kembali dengan cara membalik proses enkripsi. Ciphertext yang telah didekrip menggunakan algoritma RSA atau Blowfish, tidak lupa memasukkan password yang sama pada saat melakukan enkripsi tadi, setelah selesai maka ciphertext akan menjadi plaintext. Untuk memperjelas gambaran proses enkripsi dan dekripsi dapat dilihat pada gambar dibawah ini
Proses Enkripsi Plaintext Pilih Algoritma Masukkan Password Ciphertext Proses Dekripsi Ciphertext Pilih Algoritma Masukkan Password Plaintext
94 4.3 Fase Konstruksi
Pada tahap ini penulis mentransformasikan semua hasil rancangan, lalu diterapkan menjadi program aplikasi yang dapat dioperasikan. Dalam melakukan proses kontrusksi penulis melalui langkah-langkah sebagai berikut:
4.3.1 Instalasi Program
Sebelum memulai menulis kode program, perlu dilakukan penginstalan perangkat lunak Borland Delphi 7 terlebih dahulu. Proses instalasi telah penulis lakukan pada bab 2, sehingga hal ini dapat dilihat pada bab 2, sub bab 4.5.4. Penulis juga menambahkan software pendukung lain untuk mempercantik tampilan aplikasi, penulis menggunakan software suiepack. Pada prinsipnya komponen ini berguna untuk form asli Delphi dengan style yang berbeda semisal dengan style deep blue, mac dan lain-lain. Langkah-langkah yang harus dilakukan untuk menginstal komponen suiepack pada Delphi 7.0 sebagai berikut :
Gambar 4.7 Tempat penyimpanan komponen suiepack 2. Klik ganda pada installer komponen suiepack
Gambar 4.8 Memilih komponen suiepack
96 dibawah ini, kemudian centanglah versi Delphi yang akan diinstal, dalam hal ini adalah Delphi 7.0
Gambar 4.9 Memilih versi delphi
4. Jika proses instalasi sukses, akan muncul pesan install finished 5. Check pada component pallet, jika telah ada komponen pallet
dengan nama SuiPack beserta fitu-fiturnya, ini berarti proses install komponen SuiPack telah selesai
4.3.2 Bagian-Bagian Tentang Suipack
Komponen Suipack merupakan komponen yang dipergunakan untuk mempercantik tampilan program yang dibuat dengan menggunakan Delphi, pada prinsipnya komponen ini berguna untuk menutupi form asli Delphi dengan style yang berbeda. Ada 6 macam pilihan untuk mempercantik tampilan form pada Suipack yaitu, BlueGlass, DeepBlue, FromThemeFile, MacOS, Protein, WinXP, tampilan tersebut tampak pada gambar dibawah ini :
Gambar 4.10 6 macam bagian pada Suipack
1. Jika diklik satu persatu bagian pada Suipack maka tampilan form pada Delphi akan berubah, gambar berikut menunjukan form yang berubah menjadi warna biru setelah memilih bagian BlueGlass
98 2. Jika memilih fitur Deepblue maka tampilan form berubah menjadi warna ungu, tampilan form tersebut tampak pada gambar dibawah ini:
Gambar 4.12Tampilan form setelah memilih fitur deepblue
3. Jika memilih fitur FromThemeFile maka tampilan form berubah menjadi warna ungu, tampilan form tersebut tampak pada gambar dibawah ini:
4. Jika memilih fitur MacOS maka tampilan form berubah menjadi warna ungu, tampilan form tersebut tampak pada gambar dibawah ini:
Gambar 4.14 Tampilan form berubah setelah memilih fitur MacOS
5. Jika memilih fitur Protein maka tampilan form berubah menjadi warna ungu, tampilan form tersebut tampak pada gambar dibawah ini:
100 6. Jika memilih fitur WinXP maka tampilan form berubah menjadi warna ungu, tampilan form tersebut tampak pada gambar dibawah ini:
Gambar 4.16 Tampilan form yang berubah setelah memilih fitur WinXP Ada 4 bagian pada Suipack yang dapat digunakan untuk membuat aplikasi pada Delphi, 4 bagian tersebut antara lain: Suipack, Suipack DB, Suipack Dialog,
Suipack Utils. Masing-masing bagian tersebut mempunyai fitur yang berbeda,
keempat bagian tersebut akan penulis jabarkan satu persatu:
1. Suipack, terdapat 33 fitur yang digunakan untuk membuat aplikasi pada delphi, umumnya fitur-fitur tersebut digunakan untuk membuat aplikasi
2. Suipack DB, terdapat 11 fitur yang digunakan untuk membuat aplikasi pada delphi, umumnya fitur-fitur tersebut digunakan untuk membuat aplikasi yang berhubungan dengan database.
3. Suipack Dialog, terdapat 3 fitur yang digunakan untuk membuat aplikasi pada delphi, umumnya fitur tersebut digunakan untuk membuat aplikasi yang disertai dengan penggunaan password. 4. Suipack Utils, terdapat 5 fitur yang digunakan untuk membuat
aplikasi pada delphi, umumnya fitur tersebut digunakan untuk membuat aplikasi
Pengujian dengan dienkripsi dari aplikasi lain tidak bisa dilakukan karena aplikasi ini melakukan pengujian dengan program yang berbasis delphi saja. 4.3.3 Menjalankan Aplikasi Enkripsi
Setelah aplikasi menu dan kode program selesai dibuat, maka program dieksekusi sehingga terlihat hasilnya seperti pada gambar berikut ini :
102 Gambar 4.18 Tampilan Untuk Memilih Menu RSA Algoritm
Gambar 4.20 Tampilan Untuk Memilih Menu Help
104 4.3.3 Tampilan Aplikasi Client Server
Selain aplikasi Implementasi penulis juga membuat aplikasi enkripsi yang berbasis client server dengan tujuan aplikasi ini dapat diterapkan pada banyak PC/laptop. Untuk menjalankan aplikasi perlu dilakukan setting aplikasi terhadap aplikasi client dan aplikasi server. Setting yang dilakukan antara lain terhadap
HostServer, Database Host, dan Password. Hal itu diterapkan apabila aplikasi ini
digunakan pada 2 PC atau lebih, tetapi apabila aplikasi ini hanya digunakan pada 1 PC/laptop saja maka yang perlu dilakukan hanya setting pada bagian password. Disinilah letak kelebihan aplikasi penulis dibandingkan dengan aplikasi sebelumnya yang berbasis standalone, tampilan tersebut antara lain :
Gambar 4. 23 Tampilan sisi server
Gamba r 4.24 Tampilan sisi server dengan pengaturan
106 Gambar 4.25 Tampilan client dengan pengaturan
4.3.4 Komunikasi Client Server
Client-Server merupakan arsitektur jaringan yang memisahkan client
dengan server. Masing-masing client dapat meminta data atau informasi dari
server, begitu pula sebaliknya server dapat memberikan respon apabila ada
request dari client.
Pada gambar dibawah ini akan ditunjukan komunikasi client-server dimana aplikasi client menggunakan 2 algoritma yaitu RSA dan Blowfish, user dapat memilih diantara kedua algoritma tersebut untuk mengenkrip teks yang besarnya tak hingga, kemudian user memasukkan password untuk keamanan hasil eksekusi. Setelah itu aplikasi mengeksekusi teks lalu dikirim kan ke server, agar server terkoneksi dengan client maka user mengklik refresh/connect to server. Hasil eksekusi teks tadi dapat dilihat pada tabel database yang terdapat pada
server. Disinilah terjadi komunikasi antara client dengan server, komunikasi client-server tersebut dapat dilihat pada gambar dibawah ini.
Gambar 4.26 Aplikasi client mengeksekusi teks
108 Pada gambar diatas terlihat bahwa komunikasi client-server terlaksana dengan baik, client berhasil mengeksekusi teks lalu mengirimkan ke server. Setelah berhasil dieksekusi server menunjukkan database yang telah diterima dari client.