• Tidak ada hasil yang ditemukan

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Tahap implementasi sistem dilakukan setelah tahap analisis dan perancangan sistem selesai dilakukan. Tahap ini merupakan tahapan penerjemahan sistem kedalam bahasa pemrograman atau yang lebih sering disebut sebagai pengkodean. Sistem ini akan diimplementasikan pada bahasa matlab dengan menggunakan Matlab 2009. Sistem ini memiliki 4 Form Utama, yaitu Form Beranda, Form Menu, Form Tentang, dan Form

Bantuan. Form Menu memiliki 8 Form turunan, yaitu Form Kompresi, Form

Dekompresi, Form Bangkit Kunci, Form Enkripsi, Form Dekripsi, Form Kombinasi Algoritma Knapsack dan RLE, Form Dekripsi dan Dekompresi, dan Form

Dekompresi dan Dekripsi.

4.1.1 Proses tahapan algoritma Knapsack dan RLE

4.1.1.1Proses Bangkit Kunci

Untuk menentukan barisan Kunci rahasia, harus memasukkan parameter sebagai contoh:

w(1) = 2 w(2) = 3

Parameter tersebut kemudian dimasukkan dalam rumus berikut : w(3)=(distance)+w(1)+w(2); w(4)=(distance+1)+w(1)+w(2)+w(3); w(5)=(distance+2)+w(1)+w(2)+w(3)+w(4); w(6)=(distance+3)+w(1)+w(2)+w(3)+w(4)+w(5); w(7)=(distance)+w(1)+w(2)+w(3)+w(4)+w(5)+w(6);

dimana nilai awal itu adalah w(1) = 2. Sehingga didapatkan : w(3)= 4 + 2 +3 =9

w(4)= (4 + 1)+2 +3 +9 = 19 w(5)= (4 + 2) + 2 +3 +9 + 19 = 39 w(6)= (4 + 3) + 2 +3 +9 + 19 + 39 = 79 w(7)= 4 + 2 +3 +9 + 19 + 39 + 79 = 155

maka dari perhitungan tersebut didapatkan bahwa kunci rahasia adalah

2,3,9,19,39,79,155

Dibawah ini adalah tampilan source code dari proses Bangkit Kunci rahasia:

Gambar 4.1 Source code proses Bangkit Kunci Rahasia

Untuk menentukan barisan Kunci publik , tentukan nilai Modulus m yaitu angka yang lebih besar dari jumlah semua elemen didalam barisan dan nilai n yaitu nilai yang tidak mempunyai persekutan terhadap m. Pada sistem ini nilai m dibangkitkan secara acak :

m = 352 n = 5

dihitung menggunakan rumus:

Keterangan:

Kp = barisan Kunci Publik

w(Kr) = nilai setiap barisan kunci rahasia

Sehingga didapat: (2.5)mod 352 = 10 (3.5)mod 352 = 15 (9.5)mod 352 = 45 (19.5)mod 352 = 95 (39.5)mod 352 = 195 (79.5)mod 352 = 43 (155.5)mod 352 = 71

Barisan Kunci Publik adalah 10,15, 45, 95, 195, 43, 71.

Dibawah ini adalah tampilan source code dari Bangkit Kunci Publik:

Gambar 4.2 Source Code Proses Bangkit Kunci Publik

4.1.1.2Proses Kompresi dan Enkripsi

Sebagai contoh implementasi dalam kasus ini, misalnya untuk mengenkripsi plainteks ‘AAAAAA’. Maka kita akan mendapatkan :

Kompresi menggunakaan RLE , plainteks “A” mengalami perulangan sebanyak 7

kali maka kompresi dari plainteks “AAAAAAA” adalah A7.

Gambar 4.3 Source Code Kompresi

Untuk mengenkripsi plainteks yang telah dikompresi yaitu A7:

Karakter ‘A’ dalam ASCII mempunyai nilai biner 1000001 Karakter ‘7’ dalam ASCII mempunyai nilai biner 0110111

Blok plainteks ke-1 : 1000001

Kunci publik : 10 15 45 95 195 43 71

Kriptogram : (1x10)+(0x15)+(0x45)+(0x95)+(0x195)+(0x43)+(1x71) = 81

Blok plainteks ke-2 : 0110111

Kunci publik : 10 15 45 95 195 43 71

Kriptogram :(0x10)+(1x15)+(1x45)+(0x95)+(1x195)+(1x43)+(1x71) = 369

Maka cipherteks dari plainteks A7 adalah 81, 369

Berikut adalah tampilan source code dari proses Enkripsi:

Gambar 4.4 Source Code Proses Enkripsi

Jika ingin mengembalikan ke teks semula maka harus dilakukan dekripsi terlebih dahulu kemudian dekompresi.

Cipherteks dari 81, 369 akan dideskripsikan dengan menggunakan kunci rahasia {2, 3, 9, 19, 39, 79, 155}. Di sini, n = 5 dan m = 352. Nilai n–1 diperoleh sbb:

n–1 = (1 + 352k)/5

Dengan mencoba k = 0, 1, 2, …, maka untuk k = 2 diperoleh n–1 bilangan bulat, yaitu

n–1 = (1 + 352 ⋅ 2)/5 = 141

Cipherteks dari Contoh sebelumnya adalah 81, 369 . Plainteks yang berkoresponden diperoleh kembali sebagai berikut:

81 ⋅ 141 mod 352 = 157 = 2 + 155 , berkoresponden dengan 1000001 yaitu A

369⋅ 141 mod 352 = 285 = 3 + 9 + 39 +79 + 155 , berkoresponden dengan 0110111 yaitu 7

Maka diperoleh plainteks A7.

Berikut adalah source code dari proses Dekripsi:

Gambar 4.5 Source Code Proses Dekripsi

A7 bukan merupakan plainteks awal, untuk menentukannya diperlukan dekompresi

yaitu membalikkan perulangannya A adalah objek yang berulang dan 7 adalah nilai perulangannya, maka diperoleh A sebanyak tujuh kali. Sehingga plainteks awal adalah “AAAAAAA”.

Gambar 4.6 Source Code Proses Dekompresi

4.1.1.3 Proses Enkripsi dan Kompresi

Proses awal dalam tahap ini adalah enkripsi data terlebih dahulu kemudian kompresi data. Kunci Publik, Kunci rahasia dan contoh plainteks sam dengan data diatas.

Plainteks = AAAAAA Kunci Publik = 10 15 45 95 195 43 71 Kunci Rahasia = 2 3 9 19 39 79 155 Nilai m = 352 Nilai n = 5 Nilai n–1 = 141 Enkripsi plainteks : Blok plainteks A : 1000001 Kunci publik : 10 15 45 95 195 43 71 Kriptogram : (1x10)+(0x15)+(0x45)+(0x95)+(0x195)+(0x43)+(1x71) = 81

Maka cipherteks adalah 81, 81, 81, 81, 81, 81, 81

Kompresi plainteks :

81 mengalami perulangan sebanyak tujuh kali maka kompresiny adalah

81 7

Untuk mengembalikan plainteks awal dilakukan dekompresi data terlebih dahulu kemudian dekripsi data.

81 7

perulangannya 81 adalah objek yang berulang dan 7 adalah nilai perulangannya, maka diperoleh 81 sebanyak tujuh kali. Sehingga dapat diperoleh plainteks awal adalah “81 81 81 81 81 81 81”.

81 81 81 81 81 81 81 bukan merupakan plainteks awal, untuk menentukannya diperlukan dekripsi data teks:

81. 141 mod 352 = 157 = 2 + 155 , berkoresponden dengan 1000001 yaitu A Maka diperoleh plainteks awal adalah “AAAAAAA

4.1.2 Tampilan Antarmuka Sistem

Implementasi dari hasil tahapan analisis dan perancangan dapat dilihat dari tampilan antarmuka sistem sebagai berikut :

4.1.2.1Tampilan Form Beranda

Form Berandamerupakan tampilan awal dari sistem ini. Menampilkan judul Skripsi

dan nama penulis skripsi dapat dilihat pada gambar 4.7.

Gambar 4.7 Tampilan Form Beranda

4.1.2.2 Form Menu

Form ini memiliki 8 form turunan, yaitu form Bangkit kunci, form Kompresi, form

RLE, form Dekripsi dan Dekompresi, dan form Dekompresi dan Dekripsi. Form

tersebut akan dipaparkan pada subbab 4.2 Pengujian.

4.1.2.3 Tampilan Form Tentang

Form ini menampilkan nama software, versi, nama universitas, logo universitas, dan

keterangan singkat mengenai program ini ada disini. Tampilan Form Tentang dapat dilihat pada Gambar 4.8 dibawah ini.

Gambar 4.8 Tampilan Form Tentang

4.1.2.4 Tampilan Form Bantuan

Form ini berisi panduan singkat dalam penggunaan software ini. Dengan adanya Form

ini, diharapkan dapat membantu user yang kesulitan dalam menjalankan software ini. Tampilan Form Bantuan ditunjukan pada Gambar 4.9

Gambar 4.9 Tampilan Form Bantuan

4.2 Pengujian

Pengujian ini dilakukan pada laptop dengan spesifikasi sebagai berikut : 1. CPU : Intel(R) Core™ 2 CPU U7600 @1.20 GHz (2 CPUs) 2. Memory : 20388 MB RAM

Pengujian dilakukan dengan satu file teks yaitu TEKS1.txt yang berisi “AAAAAAAAA” dan untuk ukuran file adalah 9 byte. File teks ini berlaku untuk semua pengujian sistem ini. Pertama user harus menginputkan pesan yang akan dieksekusi. Pesan dinputkan hanya berupa file *.txt dengan cara mengklik tombol Pilih Teks. Setelah tombol ini diklik, maka akan tampil jendela pemilihan file seperti Gambar 4.10.

Gambar 4.10 Pop-up Windows Pilih Teks

4.2.1 Pengujian Kompresi

Form ini merupakan tempat user berinteraksi dengan sistem dalam melakukan kompresi teks dapat dilihat pada gambar 4.11

Gambar 4.11 Tampilan pengujian Kompresi

Pada gambar 4.11, setelah menginputkan file teks, kemudian user menekan tombol Kompresi. Dan hasil dari kompresi akan muncul beserta waktu proses sedangkan untuk ukuran file akan muncul setelah user menekan tombol Simpan.

4.2.2 Pengujian Dekompresi

Form ini merupakan tempat user berinteraksi dengan sistem dalam melakukan dekompresi teks dapat dilihat pada gambar 4.12. Yaitu mengembalikan teks yang telah dikompresi menjadi teks asli.

Gambar 4.12 Tampilan Pengujian Dekompresi

Pada gambar 4.12 pengujian dekompresi, user diwajibkan memasukkan file yang telah dikompresi yang bernama File Kompresi. Untuk melanjutkannya, user menekan tombol Dekompresi untuk membalikkan teks ke semula.

4.2.3 Pengujian Bangkit Kunci

Form ini merupakan tempat user berinteraksi dengan sistem dalam melakukan pembangkitan kunci dengan algoritma Knapsack dapat dilihat pada gambar 4.13.

Gambar 4.13 Tampilan Pengujian Bangkit Kunci

Pada gambar diatas, sebelum melakukan pengujian enkripsi, sebaiknya user

membangkitkan kunci terlebih dahulu dengan memasukkan parameter yang ada seperti, W1, W2, dan Distance . Setelah memasukkan parameter, user menekan tombol Barisan Kunci Rahasia untuk Kunci Rahasia. Dan untuk kunci publik, terlebih dahulu user menekan tombol Generate untuk membangkitkan nilai m secara acak dan menentukan nilai n sesuai pilihan yang telah disediakan, kemudian menekan tombol Barisan Kunci Publik.

4.2.4 Pengujian Enkripsi

Form ini merupakan tempat user berinteraksi dengan sistem dalam melakukan enkripsi teks dapat dilihat pada gambar 4.14. Yaitu mengubah plainteks menjadi cipherteks.

Gambar 4.14 Tampilan Pengujian Enkripsi

Gambar 4.15 Informasi Penyimpanan File Enkripsi

Setelah Kunci tersebut disimpan, maka untuk melakukan enkripsi file teks user hanya menekan tombol Load Kunci dan Enkripsi yang sebelumnya telah memasukkan file teks yang akan dieksekusi. Pengujian Enkripsi dapat dilihat pada gambar 4.14. File

dapat disimpan dengan menekan tombol Simpan, maka file akan tersimpan dengan nama File Enkripsi dapat dilihat pada gambar 4.15.

4.2.5 Pengujian Dekripsi

Form ini merupakan tempat user berinteraksi dengan sistem dalam melakukan dekripsi teks dapat dilihat pada gambar 4.16. Yaitu mengembalikan cipherteks menjadi plainteks.

Gambar 4.16 Tampilan Pengujian Dekripsi

Pada gambar diatas, user diwajibkan memasukkan file yang telah dienkripsi yang bernama File Enkripsi. Untuk melanjutkannya, user menekan load kunci untuk menampilkan kunci dekripsi dan tombol Dekripsi untuk mengembalikan teks ke semula.

4.2.6 Pengujian Kombinasi algoritma Knapsack dan RLE

Form ini merupakan tujuan dari penulisan skripsi ini. Yaitu mengkombinasikan algoritma Knapsack dan RLE pada file teks. Khusus pengujian Kombinasi Knapsack dan RLE dilakukan pengujian terhadap dua teks berbeda, TEKS1.txt berisi “AAAAAAAAA” dan TEKS2.txt berisi “ABABABABA”. Pengujian terhadap TEKS1 dapat dilihat pada gambar 4.10 dan TEKS2 dapat dilihat pada gambar 4.16.

Gambar 4.17 Tampilan Pengujian Kombinasi untuk TEKS1

Pada gambar 4.17, terlihat bahwa hasil pengujian pada TEKS1: a. Kompresi dan Enkripsi :

Waktu : 0.00245087 s

Ukuran File : 9 byte

b. Enkripsi dan Kompresi: Waktu : 1.60409 s

Ukuran File : 7 byte

Walaupun waktu yang dihasilkan lebih cepat pada kombinasi pertama yaitu Kompresi dan Enkripsi, tetapi ukuran file yang dihasilkan tidak terkompresi dengan baik. Pada kombinasi kedua yaitu Enkripsi dan Kompresi menghasilkan waktu yang sedikit lebih lama dari kombinasi pertama. Tetapi ukuran file terkompresi dengan baik yaitu terjadi pengurangan file yang awalnya 9 byte menjadi 7 byte.

Gambar 4.18 Tampilan Pengujian Kombinasi untuk TEKS2

Pada gambar 4.18, terlihat bahwa hasil pengujian pada TEKS2: a. Kompresi dan Enkripsi :

Waktu : 0.017664 s

Ukuran File : 73 byte

b. Enkripsi dan Kompresi: Waktu : 1.02683 s

Ukuran File : 55 byte

Pada pengujian TEKS2, kedua kombinasi dapat terenkripsi dengan baik tapi tidak dapat terkompresi dengan baik. Hal ini dikarenakan plainteks yang dimasukkan tidak memiliki perulangan yang berurutan pada setiap karakternya.

4.2.7 Pengujian Dekripsi dan Dekompresi

Form ini merupakan tampilan untuk mengembalikan hasil Kombinasi Kompresi dan Enkripsi pada file teks. Pengujian Dekripsi dan Dekompresi juga dilakukan dengan dua teks diatas. Pengujian TEKS1.txt dapat dilihat pada gambar 4.20 dan TEKS2.txt dapat dilihat pada gambar 4.21.

Gambar 4.19 Tampilan Pengujian Dekripsi dan Dekompresi untuk TEKS1

Pada gambar 4.19, terlihat bahwa hasil pengujian pada untuk mengembalikan TEKS1: Waktu : 0.00765377 s

Ukuran File : 9 byte

Gambar 4.21 Tampilan Pengujian Dekripsi dan Dekompresi untuk TEKS2

Pada gambar 4.21, terlihat bahwa hasil pengujian pada untuk mengembalikan TEKS2: Waktu : 0.00127167 s

Ukuran File : 9 byte

4.2.8 Pengujian Dekompresi dan Dekripsi

Form ini merupakan tampilan untuk mengembalikan hasil Kombinasi Enkripsi dan Kompresi pada file. Pengujian Dekompresi dan Dekripsi juga dilakukan dengan dua teks diatas. Pengujian TEKS1.txt dapat dilihat pada gambar 4.20 dan TEKS2.txt dapat dilihat pada gambar 4.22.

Gambar 4.21 Tampilan Pengujian Dekompresi dan Dekripsi untuk TEKS1

Pada gambar 4.21, terlihat bahwa hasil pengujian untuk mengembalikan TEKS1: Waktu : 4.74921e-005 s

Gambar 4.22 Tampilan Pengujian Dekompresi dan Dekripsi untuk TEKS2

Pada gambar 4.22, terlihat bahwa hasil pengujian untuk mengembalikan TEKS2: Waktu : 0.00124317 s

Ukuran File : 9 byte

4.2.9 Hasil Pengujian

Hasil pengujian sampel pertama yaitu untuk TEKS1.txt hasilnya dapat dilihat pada tabel 4.1 dan TEKS2.txt hasilnya dapat dilihat pada tabel 4.2.

Tabel 4.1 Hasil Pengujian Kombinasi untuk TEKS1.txt No Ukuran awal

(byte)

Kombinasi Waktu (s) Ukuran Akhir (byte) 1. 9 Kompresi dan Enkripsi 0.00245087 9

2. 9 Enkripsi dan Kompresi 1.60409 7

3. 9 Dekripsi dan Dekompresi 0.00765377 9

4. 7 Dekompresi dan Dekripsi 4.74921e-005 9

Pada TEKS1.txt yang berisi banyak perulangan karakter, kombinasi Kompresi dan Enkripsi, hasil pengujian dapat terenkripsi dengan baik tetapi tidak dengan kompresi

dikarenakan ukuran akhir dari sampel teks tidak lebih kecil dari ukuran awal. Sedangkan kombinasi Enkripsi dan Kompresi dapat berjalan dengan baik dikarenakan hasil dari ukuran lebih kecil dibandingkan dengan ukuran semula walaupun waktu yang dihasilkan sedikit lebih lama. Dan untuk pengembalian teks, pengujian kedua kombinasi dapat berjalan baik karena isi dan ukuran file dapat kembali seperti semula. Untuk masalah waktu Dekompresi dan Dekripsi lebih efisien dibandingkan kombinasi Dekripsi dan Dekompresi.

Tabel 4.2. Hasil Pengujian Kombinasi untuk TEKS2.txt

No Ukuran awal (byte)

Kombinasi Waktu (s) Ukuran Akhir (byte)

1 9 Kompresi dan Enkripsi 0.017664 73

2 9 Enkripsi dan Kompresi 1.02683 55

3 73 Dekripsi dan Dekompresi 0.00127167 9

4 55 Dekompresi dan Dekripsi 0.00124317 9

TEKS2.txt yang isinya tidak memiliki perulangan karakter, hasil pengujian kedua kombinasi yaitu Kompresi dan Enkripsi serta Enkripsi dan Kompresi, dapat terenkripsi dengan baik tetapi tidak dengan hasil kompresi dikarenakan hasil ukuran akhir dari sampel teks semakin besar. Dan untuk pengembalian teks, pengujian kedua kombinasi dapat berjalan baik karena isi dan ukuran file dapat kembali seperti semula serta waktu yang dihasilkan keduanya pun hampir sama.

BAB 5

Dokumen terkait