Pengujian IMPLEMENTASI DAN PENGUJIAN

4.1.5 Halaman Help Halaman Help berfungsi untuk membantu user mengetahui bagaimana cara menggunakan sistem. Tampilan halaman Help dapat dilihat pada Gambar 4.5. Gambar 4.5. Halaman Help

4.2 Pengujian

Pada tahap pengujian akan dilakukan pengujian keberhasilan sistem dalam melakukan enkripsi dan dekripsi file dengan menggunakan algoritma ADFGVX cipher dan knapsack . File yang akan dienkripsi merupakan file dengan ekstensi .txt dan .doc. 4.2.1 Proses Pengujian Enkripsi pesan Proses enkripsi pesan dilakukan dengan menggunakan algoritma ADFGVX cipher. algoritma ADFGVX cipher menggunakan tabel 6x6 yang berisi 26 alphabet dan angka 0-9. Untuk melakukan proses enkripsi user terlebih dahulu menekan tombol Buka File mencari file yang akan di enkripsi atau user bisa menginputkan langsung ke dalam textbox. Proses buka file dapat dilihat pada Gambar 4.6. Universitas Sumatera Utara Gambar 4.6. Buka File Setelah file diinputkan pengguna terlebih dahulu menginputkan kata kunci sebelum melakukan enkripsi. Proses input plainteks dan kunci dapat dilihat pada Gambar 4.7. Gambar 4.7. Proses Input Plainteks dan Kunci Gambar 4.7 menunjukkan Plainteks yang akan di enkripsi “ Ilmi Harahap, mahasiswa S1 ilmu komputer stambuk 2012” dan kunci yang digunakan “ilkom”. Universitas Sumatera Utara Untuk melakukan enkripsi digunakan algoritma ADFGXV cipher, berikut adalah langkah-langkah proses enkripsi plainteks. 1. Contoh plainteks yang akan dienkripsi adalah “HARAHAP28” dengan kata kunci ilkom. Lakukan substitusi plainteks terhadap tabel ADFGVX cipher. setiap huruf di dalam plainteks di substitusi menjadi dua huruf berdasarkan baris dan kolom. Tabel ADFGVX cipher dapat dilihat pada Tabel 4.1. Tabel 4.1. Tabel ADFGVX Cipher A D F G V X A F E D C B A D G H I J K L F R Q P O N M G S T U V W X V 3 2 1 Z Y X 4 5 6 7 8 9 Dari Tabel 4.1 didapatkan substitusi dari plainteks “HARAHAP28” adalah DD AX FA AX DD AX FF VD XV. 2. Tentukan kata kunci yang terdiri dari huruf saja. Kunci ini akan digunakan pada proses tranposisi. Misal kunci yang digunakan adalah ILKOM. Maka buatlah sebuah tabel baru dan tuliskan kata kunci di baris pertama. Kemudian tulis hasil substitusi plainteks dibawahnya berurutan dari kanan kemudian kebawah jika ada sisa maka diisi dengan huruf x , seperti pada Tabel 4.2. Tabel 4.2. Tabel Kunci Enkripsi ADFGVX Cipher I L K O M 1 2 3 4 5 D D A X F D D X A A A X F F V x X V X D Universitas Sumatera Utara 3. Selanjutnya urutkan kolom pada kata kunci berdasarkan alphabet. Maka ILKOM menjadi IKLMO sehingga menjadi seperti pada Tabel 4.3. Tabel 4.3. Perubahan Posisi Kunci ADFGVX Cipher I K L M O 1 3 2 5 4 D A D F X D X D A A A F X V F x V X D X 4. Untuk mendapatkan cipherteks lakukan pembacaan dari huruf-huruf yag berada dibaris pertama dan seterusnya pada Tabel 4.3. Maka untuk plainteks “HARAHAP28” dengan kata kunci “ilkom” didapatkan “DDAxAXFVDDXx FAVDXAFX”. Dengan langkah yang sama proses enkripsi dapat dilakukan untuk mengenkripsi plainteks “ Ilmi harahap, mahasiswa S1 ilmu komputer stambuk 2012” Proses enkripsi untuk mendapatkan cipherteks dapat dilihat pada Gambar 4.8. Gambar 4.8. Proses Enkripsi Universitas Sumatera Utara Gambar 4.8 menunjukkan hasil enkripsi dan juga waktu eksekusi dalam satuan second , dimana untuk mengenkripsi plainteks “Ilmi harahap, mahasiswa S1 ilmu komputer sta mbuk 2012” didapatkan plainteks “DDDAXDDGVFDFGADX F20DFXDFAXGXFDXGADAV2FADFXAAADXVFDFAX1FXAA FADGAGF FGGAGFxXDFX,XGF 1X FF GVDx ” dengan lama proses selama 0.1150513 s. Pada implementasinya algoritma ADFGVX cipher hanya mampu melakukan enkripsi terhadap alphabet numeric saja, Untuk mengurangi kelemahan tersebut penulis melakukan penambahan kondisi pada source code di dalam sistem. Kondisinya adalah ketika sistem menemukan symbol pada plainteks maka letakkan symbol tersebut pada posisi +1 dibelakang plainteks sesudahnya. Kondisi tersebut berjalan dengan baik didalam sitem tetapi menyebabkan hasil ciphertekes yang dikerjakan secara manual berbeda sedikit dengan hasil cipherteks yang didapatkan dari sistem. 4.2.2 Proses Pengacakan Kunci User menekan tombol Acak untuk mendapatkan kunci publik dan kunci privat, selain kunci publik dan kunci privat, di dalam halaman enkripsi kunci terdapat nilai m dan nilai n. Nilai m dan nilai m digunakan untuk mencari kunci publik. Barisan superincreasing merupakan kunci privat yang didapatkan dengan cara melakukan pengacakan terhadap bilangan bulat, dalam pengacakan barisan superincreasing terdapat kondisi dimana setiap nilai di dalam barisan harus lebih besar daripada jumlah semua nilai sebelumnya. Nilai m dan n merupakan bilangan yang relatif prima. Dua bilangan dikatakan relatif prima jika FPB dari kedua bilangan tersebut adalah sama dengan 1. Dimana nilai m harus lebih besar dari jumlah semua elemen dalam barisan superincreasing. Barisan superincrasing : 2 4 8 15 31 61 123 Nilam m : 6493 Nilai n : 103 Untuk mendapatkan kunci publik maka digunakan persamaan: Kunci publik = barisan superincrasing x n mod m……………..pers 1 Kunci publik = 2x103 mod 6493 = 206 Kunci publik = 4x103 mod 6493 = 412 Universitas Sumatera Utara Kunci publik = 8x103 mod 6493 = 824 Kunci publik = 15x103 mod 6493 = 1545 Kunci publik = 31x103 mod 6493 = 3193 Kunci publik = 61x103 mod 6493 = 6283 Kunci publik = 123x103 mod 6493 = 6176 Maka didapatkan kunci publik 206 412 824 1545 3193 6283 6176. Proses pengacakan kunci dengan menggunakan sistem dapat dilihat pada Gambar 4.9. Gambar 4.9. Proses Pengacakan Kunci 4.2.3 Enkripsi Kunci plainkey Proses enkripsi plainkey dapat dilakukan setelah proses pengacakan kunci selesai. Untuk melakukan enkripsi plainkey digunakan algoritma knapsack, berikut adalah langkah-langkah proses enkripsi plainkey dengan menggunakan algoritma knapsack. 1. Kunci yang digunakan adalah “ilkom”, pertama ubah kata ilkom ke dalam biner, untuk proses pengubahan kata kunci ke dalam biner dapat dilihat pada Tabel 4.4. Tabel 4.4. Biner kunci Char ASCII Biner I 105 1101001 L 108 1101100 Universitas Sumatera Utara K 107 1101011 O 111 1101111 M 109 1101101 Didapatkan plainkey yang akan di enkripsi yaitu : 11010011101 100110101111011111101101. 2. Bagi plainkey menjadi blok dengan panjang 7 merupakan panjang maksimal biner untuk alphabet numeric. Kemudian setiap bit di dalam blok dikalikan dengan elemen yang berkoresponden dengan kunci publik. Sebagai berikut: Kunci publik : 206 412 824 1545 3193 6283 6176 Blok plainteks 1 : 1101001 Kriptogram : 1x206+1x412+1x1545+1x6176 = 8339 Blok plainteks 2 : 1101100 Kriptogram : 1x206+1x412+1x1545+1x3193 = 5356 Blok plainteks 3: 1101011 Kriptogram : 1x206+1x412+1x1545+1x6283+1x6176 = 14622 Blok plainteks 4: 1101111 Kriptogram: 1x206+1x412+1x1545+1x3193+1x6283+1x6176 = 17815 Blok plainteks 5 : 1101101 Kriptogram: 1x206+1x412+1x1545+1x3193+1x6176 = 11120 = 11532 Maka didapatkanlah cipherkey dari ilkom yaitu : 8339 5356 14622 17815 11532 . Hasil enkripsi kunci menggunakan sistem dapat dilihat pada Gambar 4.10. Universitas Sumatera Utara Gambar 4.10. Proses Enkripsi Kunci Gambar 4.10 menunjukkan hasil enkripsi dari plainkey sesuai dengan perhitungan yang dilakukan secara manual. Waktu yang dibutuhkan untuk mengenkripsi plainkey “ilkom” adalah 0.0024411 s. 4.2.4 Dekripsi Kunci Untuk melakukan dekripsi cipherkey menjadi plainkey digunakan kunci privat atau barisan superincreasing, nilai m dan nilai n yang didapatkan dari proses enkripsi plainkey , serta mencari nilai n -1 yaitu n modulo m , sedemikian hingga n.n -1 ≡ 1 mod m. Dik: Cipherkey : 8339 5356 14622 17815 11532 Kunci privat : 2 4 8 15 31 61 123 Nilai m : 6493 Nilai n: 103 Pencarian nilai n -1 dapat dilakukan seperti pada Tabel 4.5. Universitas Sumatera Utara Tabel 4.5. Pencarian Nilai n