BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Sistem Tahap implementasi sistem ini merupakan tahap meletakan sistem agar siap untuk dioperasikan. Dalam implementasi Analisis Enkripsi dan Dekripsi File Teks Menggunakan Algoritma Triple DES (Data Encryption Standard) ada beberapa tahapan implementasi sistem yang harus dilakukan, yaitu spesifikasi perangkat keras (hardware), perangkat lunak (software), implementasi antarmuka (interface) dan pengujian sistem. 4.2 Perangkat Pendukung Dalam pembuatan aplikasi/program ini tentunya dibutuhkan perangkat keras (hardware) dan perangkat lunak (software). Berikut spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam pembangunan aplikasi/program. 4.2.1 Perangkat Keras (Hardware) Berikut ini beberapa spesifikasi komputer atau perangkat keras yang digunakan dalam pembangunan aplikasi/program: a. Intel(R) Core(TM) i3-2330m CPU @ 2.20GHz. b. Memory (RAM) 4G, VGA 2773 MB dan Hard disk drive (HDD) 500GB. c. Mouse. 4.2.2 Perangkat Lunak (Software) Berikut ini beberapa spesifikasi perangkat lunak yang digunakan dalam pembangunan aplikasi/program: a. Sistem operasi Windows 7. b. JDK (Java Development Kit). 69
70 c. NetBeans IDE 7.4. d. StarUML. e. Balsamiq Mockups. 4.3 Implementasi Antarmuka (Interface) Implementasi antarmuka merupakan proses tahapan yang dilakukan pada analisis perancangan atau design yang diimplementasikan ke bentuk aplikasi yang dibangun dengan menggunakan perangkat lunak (software). 1. Tampilan Menu Encrypt Tampilan menu encrypt merupakan tampilan pada saat file asli (plainteks) akan diubah menjadi cipherteks (enkripsi). Dapat dilihat pada Gambar 4.1. Gambar 4.1. Tampilan menu encrypt 2. Tampilan Menu Decrypt Tampilan menu decrypt merupakan tampilan pada saat file cipherteks (enkripsi) akan diubah menjadi file asli (plainteks). Dapat dilihat pada Gambar 4.2.
71 Gambar 4.2. Tampilan menu decrypt 4.4 Implementasi Kode Program Implementasi kode program merupakan penerjemahan design dalam bahasa pemrograman yang dapat dikenali oleh komputer atau alur program yang sudah dibuat dengan menggunakan perangkat lunak (software). Tahap ini akan dilakukan implementasi dari Analisis Enkripsi dan Dekripsi File Teks Menggunakan Algoritma Triple DES (Data Encryption Standard) ke dalam bentuk source code dapat dilihat pada Gambar 4.3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package pkg3des; import java.security.messagedigest; import java.util.arrays; import javax.crypto.cipher; import javax.crypto.secretkey; import javax.crypto.spec.secretkeyspec; import org.apache.commons.codec.binary.base64; public class TripleDESProcess { public TripleDESProcess(){ } public byte[] encrypt(byte[] src, String secretkey) throws Exception { MessageDigest md = MessageDigest.getInstance("SHA-1"); byte[]digestofpassword = md.digest(secretkey.getbytes("utf- 8")); Gambar 4.3. Kode Program Triple DES
72 Kode program triple des merupakan kode program yang berfungsi untuk melakukan proses enkripsi dan dekripsi. Proses enkripsi terdapat pada kode program public byte[] encrypt(byte[] src, String secretkey) throws Exception. Fungsi secretkey digunakan ketika akan memasukan password atau kunci untuk melakukan proses enkripsi dan dekripsi. Ketika password atau kunci sudah dimasukan, akan diproses atau diubah ke bentuk biner atau fungsi hash (SHA-1) yang terdapat pada kode program MessageDigest md = MessageDigest.getInstance("SHA-1"). 16 17 18 19 20 21 22 23 byte[] keybytes = Arrays.copyOf(digestOfPassword, 24); SecretKey key = new SecretKeySpec(keyBytes, "DESede"); Cipher cipher = Cipher.getInstance("DESede"); cipher.init(cipher.encrypt_mode, key); byte[] buf = cipher.dofinal(src); byte[] base64bytes = Base64.encodeBase64(buf); return base64bytes; } Gambar 4.4. Kode Program Triple DES (lanjutan) SecretKey key = new SecretKeySpec(keyBytes, "DESede") fungsi ini digunakan untuk proses pembangkitan kunci dengan tipe data Byte. Fungsi dari triple DES terdapat pada kode "DESede". Fungsi kode ini untuk proses ketika plainteks diubah menjadi biner dan diubah ke heksadesimal (enkripsi) cipher.init(cipher.encrypt_mode, key).
73 24 25 26 27 28 29 30 31 32 33 34 35 36 public byte[] decrypt(byte[] enc, String secretkey) throws Exception { byte[] message = Base64.decodeBase64(enc); MessageDigest md = MessageDigest.getInstance("SHA-1"); byte[] digestofpassword = md.digest(secretkey.getbytes("utf-8")); byte[] keybytes = Arrays.copyOf(digestOfPassword, 24); SecretKey key = new SecretKeySpec(keyBytes, "DESede"); Cipher decipher = Cipher.getInstance("DESede"); decipher.init(cipher.decrypt_mode, key); byte[] basebytes = decipher.dofinal(message); return basebytes; } Gambar 4.5. Kode Program Triple DES (lanjutan) Kode program lanjutan ini berfungsi untuk proses dekripsi terdapat pada kode program public byte[] decrypt(byte[] enc, String secretkey) throws Exception. 4.5 Pengujian Sistem Pengujian aplikasi ini menggunakan metode pengujian black-box. Pengujian black-box merupakan pengujian yang berfokus pada spesifikasi fungsional pada perangkat lunak. 4.5.1 Rencana Pengujian Rencana pengujian selengkapnya dapat dilihat pada Tabel 4.1. Tabel 4.1. Rencana Pengujian Kelas Uji Detail Pengujian Jenis pengujian Menu Utama Menampilkan seluruh menu Black-Box Menu Encrypt Menampilkan form encrypt Black-Box Menu Decrypt Menampilkan form decrypt Black-Box Menu Help Menampilkan informasi tentang aplikasi dan cara penggunaan Black-Box 4.5.2 Kasus dan Hasil Pengujian Berdasarkan rencana pengujian, maka dapat dilakukan pengujian pada aplikasi ini sebagai berikut:
74 1. Pengujian Menu Utama Pengujian menu utama merupakan pengujian fungsionalitas dengan cara memilih menu utama yang akan dilihat. Dapat dilihat pada Tabel 4.2 pengujian menu utama. Tabel 4.2. Pengujian Menu Utama 1 Klik semua menu Tampil semua menu 2 Tampil semua halaman Masuk semua halaman 2. Pengujian Menu Encrypt Pengujian menu encrypt merupakan pengujian fungsionalitas dengan cara memeriksa apakah button-button dapat berfungsi dengan baik atau tidak. Dapat dilihat pada Tabel 4.3 pengujian menu encrypt. Tabel 4.3. Pengujian Menu Encrypt 3 Klik button pada source Masuk ke direktori file file yang akan di enkripsi 4 Klik button pada Menyimpan file yang destination file akan di enkripsi 5 Klik button encrypt Proses enkripsi file 3. Pengujian Menu Decrypt Pengujian menu decrypt merupakan pengujian fungsionalitas dengan cara memeriksa apakah button-button dapat berfungsi dengan baik atau tidak. Dapat dilihat pada Tabel 4.4 pengujian menu decrypt. NO 6 Tabel 4.4. Pengujian Menu Decrypt SKENARIO Klik button pada source file Masuk ke direktori file yang sudah di enkripsi Klik button pada Menyimpan file yang 7 destination file akan di dekripsi 8 Klik button decrypt Proses dekripsi file
75 4. Pengujian Menu Help Pengujian menu help merupakan pengujian fungsionalitas yang berisi informasi aplikasi dan cara penggunaan. Dapat dilihat pada Tabel 4.5 pengujian menu help. Tabel 4.5. Pengujian Menu Help 9 Klik menu help Tampil menu help 10 Tampil isi menu help Tampil isi menu help 5. Pengujian Menu Report Pengujian menu report merupakan pengujian fungsionalitas yang berisi hasil proses enkripsi dan dekripsi. Dapat dilihat pada Tabel 4.6 pengujian menu report. Tabel 4.6. Pengujian Menu Report 11 Klik menu report Tampil menu report 12 Tampil isi menu report Tampil isi menu report 4.5.3 Kesimpulan dan Hasil Pengujian Berdasarkan hasil dari pengujian dengan semua uji kasus seperti yang diperlihatkan pada tabel rencana pengujian Tabel 4.1, maka dapat diambil kesimpulan bahwa pelaksanaan pengujian terhadap aplikasi Analisi Enrkipsi dan Dekripsi File Teks Menggunakan Algoritma Triple DES sesuai dengan spesifikasi pengujian yang telah ditentukan dan untuk semua uji kasus yang telah dilakukan dinyatakan Berhasil. Akan tetapi tidak menutup kemungkinan dapat terjadi kesalahan suatu saat, pada saat aplikasi digunakan. Sehingga membutuhkan proses maintenance (pemeliharaan) untuk lebih mengetahui kekurangan dari aplikasi.