• Tidak ada hasil yang ditemukan

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Tahap implementasi dilakukan setelah analisis dan perancangan. Pada tahap ini, hasil analisis dan perancangan diimplementasikan ke dalam bahasa pemrograman C# dengan SharpDevelop 4.3 sebagai Integrated Development Environment (IDE).

4.1.1 Halaman Utama

Halaman utama merupakan halaman yang pertama kali muncul saat sistem dijalankan.

Halaman utama dapat dilihat pada gambar 4.1.

Gambar 4.1 Antarmuka halaman utama

4.1.2 Halaman Tentang

Halaman tentang merupakan halaman yang menjelaskan informasi umum tentang sistem. Halaman tentang dapat dilihat pada gambar 4.2.

Gambar 4.2 Antarmuka halaman tentang 4.1.3 Halaman Pengirim

Halaman pengirim merupakan halaman yang digunakan untuk mengenkripsi dan mendekripsi pesan menggunakan algoritma Vigenere Cipher. Skema Three-Pass Protocol dilihat pada sistem ini melalui hubungan antara halaman pengirim dan halaman penerima. Pesan yang sudah dienkripsi di halaman pengirim disimpan dahulu kemudian dienkripsi kembali di halaman penerima. Lalu, hasil enkripsi dari halaman penerima didekripsi di halaman pengirim. Untuk mendapatkan plainimage maka hasil dekripsi pesan pada halaman pengirim harus didekripsi kembali di halaman penerima.

Halaman pengirim dapat dilihat pada gambar 4.3.

Gambar 4.3 Antarmuka halaman pengirim 4.1.4 Halaman Penerima

Halaman penerima merupakan halaman yang digunakan untuk mengenkripsi dan mendekripsi pesan dengan menggunakan algoritma One Time Pad. Halaman penerima dapat dilihat pada gambar 4.4.

Gambar 4.4 Antarmuka halaman penerima 4.2 Pengujian Sistem

Pengujian sistem dilakukan untuk memastikan bahwa sistem berhasil dan berjalan baik sesuai dengan analisis dan perancangan sistem yang telah dibuat sebelumnya.

Pengujian yang dilakukan pada sistem ini adalah mengenkripsi dan mendekripsi gambar menggunakan algoritma Vigenere Cipher dan One Time Pad dengan skema Three-Pass Protocol. Gambar yang digunakan sebagai pesan asli atau plainimage berukuran 3x3 piksel seperti pada gambar 4.5 berikut ini.

Gambar 4.5 Plainimage Tabel 4.1 merupakan nilai piksel RBG plainimage.

Tabel 4.1 Nilai piksel RGB plainimage R: 191

4.2.1 Pengujian Enkripsi Vigenere Cipher

Pada penelitian ini, algoritma Vigenere Cipher adalah algoritma yang digunakan oleh pengirim pesan asli. Jadi, plainimage dienkripsi pertama kali dengan menggunakan algoritma Vigenere Cipher.

Enkripsi Vigenere Cipher dapat dilakukan dengan terlebih dulu memasukkan plainimage dan kunci Vigenere Cipher pada halaman pengirim. Kunci Vigenere Cipher pada penelitian ini dimasukkan secara manual dan seluruh angka yang dimasukkan dijadikan sebagai kata kunci. Kata kunci inilah yang diulang-ulang sepanjang plainimage untuk mengenkripsi dan mendekripsi pesan. Setelah plainimage dimasukkan dan kunci selesai dimasukkan maka selanjutnya adalah mengklik tombol enkripsi. Lalu sistem akan menampilkan hasil enkripsi algoritma Vigenere Cipher yaitu cipherimage I seperti yang ditunjukkan pada gambar 4.6.

Gambar 4.6 Enkripsi Vigenere Cipher

Gambar yang dihasilkan dari proses enkripsi Vigenere Cipher dengan menggunakan sistem adalah gambar 4.7.

Gambar 4.7 Cipherimage I

Tabel 4.2 merupakan nilai piksel RGB cipherimage I yang dihasilkan oleh sistem.

Tabel 4.2 Nilai piksel RGB cipherimage I

Pengujian hasil enkripsi Vigenere Cipher dilakukan dengan perhitungan manual kemudian membandingkannya dengan hasil enkripsi yang diberikan oleh sistem. Pesan asli atau plainimage yang digunakan adalah gambar 4.5 dan kunci yang digunakan sesuai dengan yang tertera pada gambar 4.6, yaitu 234 98 182 46 28 sehingga dapat dituliskan sebagai berikut:

Proses enkripsi algoritma Vigenere Cipher menggunakan rumus Ci = Pi + Ki (mod n), maka:

C11 = P1 + K1 (mod n)

= (191; 158; 159) + 234 (mod 256) = (425; 392; 393) (mod 256)

= (169; 136; 137) C12 = P2 + K2 (mod n)

= (103; 3; 0) + 98 (mod 256) = (201; 101; 98) (mod 256) = (201; 101; 98)

C13 = P3 + K3 (mod n)

= (164; 115; 115) + 182 (mod 256) = (346; 297; 297) (mod 256) = (90; 41; 41)

C14 = P4 + K4 (mod n)

= (194; 154; 131) + 46 (mod 256) = (240; 200; 177) (mod 256) = (240; 200; 177)

C15 = P5 + K5 (mod n)

= (232; 195; 164) + 28 (mod 256) = (260; 223; 192) (mod 256) = (4; 223; 192)

C16 = P6 + K6 (mod n)

= (196; 160; 135) + 234 (mod 256) = (430; 394; 369) (mod 256) = (174; 138; 113)

C17 = P7 + K7 (mod n)

= (234; 224; 216) + 98 (mod 256) = (332; 322; 314) (mod 256)

= (76; 66; 58)

Cipherimage I hasil perhitungan manual diperlihatkan pada tabel 4.3.

Tabel 4.3 Nilai piksel RGB cipherimage I hasil perhitungan manual R: 169

Dapat dikatakan bahwa sistem berhasil melakukan enkripsi Vigenere Cipher.

4.2.2 Pengujian Enkripsi One Time Pad

Setelah pengirim menyimpan hasil enkripsi maka selanjutnya berpindah ke halaman penerima. Di halaman penerima algoritma yang digunakan adalah algoritma One Time Pad. Hasil enkripsi dari algoritma Vigenere Cipher yaitu cipherimage I kemudian dienkripsi menggunakan algoritma One Time Pad.

Enkripsi One Time Pad dapat dilakukan dengan terlebih dahulu memasukkan cipherimage I lalu kunci One Time Pad pada halaman penerima. Tujuannya adalah supaya sistem dapat menghitung panjang piksel cipherimage I untuk menentukan

panjang kunci yang akan diacak. Kunci algoritma ini didapat dengan mengacak kunci sepanjang cipherimage I yang akan dienkripsi. Setelah cipherimage I dimasukkan dan kunci selesai diacak maka selanjutnya adalah mengklik tombol enkripsi. Lalu sistem akan menampilkan hasil enkripsi algoritma One Time Pad yaitu cipherimage II seperti yang ditunjukkan pada gambar 4.8.

Gambar 4.8 Enkripsi One Time Pad

Gambar yang dihasilkan dari proses enkripsi One Time Pad dengan menggunakan sistem adalah gambar 4.9.

Gambar 4.9 Cipherimage II

Tabel 4.4 merupakan nilai piksel RGB cipherimage II yang dihasilkan oleh sistem.

Tabel 4.4 Nilai piksel RGB cipherimage II R: 198

Pengujian hasil enkripsi One Time Pad dilakukan dengan perhitungan manual kemudian membandingkannya dengan hasil enkripsi yang diberikan oleh sistem.

Cipherimage I yang digunakan adalah hasil dari perhitungan manual untuk enkripsi Vigenere Cipher sebelumnya. Kunci yang digunakan sesuai dengan yang tertera pada gambar 4.8, yaitu 029 000 242 236 183 124 237 126 149 sehingga dapat dituliskan

C19 = 28; 17; 10

K1 = 029; K2 = 000; K3 = 242; K4 = 236; K5 = 183; K6 = 124; K7 = 237; K8 = 126; K9

= 149

Proses enkripsi algoritma One Time Pad menggunakan rumus Ci = Pi + Ki mod n.

Karena yang akan dienkripsi adalah cipherimage I, maka:

C21 = C11 + K1 (mod n)

= (169; 136; 137) + 029 (mod 256) = (198; 165; 166) (mod 256) = (198; 165; 166)

C22 = C12 + K2 (mod n)

= (201; 101; 98) + 000 (mod 256) = (201; 101; 98) (mod 256) = (201; 101; 98)

C23 = C13 + K3 (mod n)

= (90; 41; 41) + 242 (mod 256) = (332; 283; 283) (mod 256) = (76; 27; 27)

C24 = C14 + K4 (mod n)

= (240; 200; 177) + 236 (mod 256) = (476; 436; 413) (mod 256) = (220; 180; 157)

C25 = C15 + K5 (mod n)

= (4; 223; 192) + 183 (mod 256) = (187; 406; 375) (mod 256)

= (187; 150; 119)

Cipherimage II hasil perhitungan manual diperlihatkan pada tabel 4.5.

Tabel 4.5 Nilai piksel RGB cipherimage II hasil perhitungan manual R: 198

Dari hasil perhitungan manual yang sudah dilakukan yaitu tabel 4.5 dan dari hasil yang dinyatakan oleh sistem yaitu tabel 4.4 untuk enkripsi One Time Pad adalah sama. Dapat dikatakan bahwa sistem berhasil melakukan enkripsi One Time Pad.

4.2.3 Pengujian Dekripsi Vigenere Cipher

Kembali ke halaman pengirim. Hasil enkripsi One Time Pad pada halaman penerima atau cipherimage II didekripsi di halaman pengirim menggunakan algoritma Vigenere Cipher.

Masukkan terlebih dahulu cipherimage II ke halaman pengirim lalu klik tombol dekripsi. Sistem akan menampilkan hasil proses dekripsi Vigenere Cipher yaitu cipherimage III seperti yang ditunjukkan pada gambar 4.10.

Gambar 4.10 Dekripsi Vigenere Cipher

Gambar yang dihasilkan dari proses dekripsi Vigenere Cipher menggunakan sistem adalah gambar 4.11.

Gambar 4.11 Cipherimage III

Tabel 4.6 merupakan nilai piksel RGB cipherimage III yang dihasilkan oleh sistem.

Tabel 4.6 Nilai piksel RGB cipherimage III R: 220

Pengujian hasil dekripsi Vigenere Cipher dilakukan dengan perhitungan manual kemudian membandingkannya dengan hasil dekripsi yang diberikan oleh sistem.

Cipherimage II yang digunakan adalah hasil dari perhitungan manual enkripsi One Time Pad sebelumnya. Kunci yang digunakan untuk dekripsi Vigenere Cipher sama dengan kunci yang digunakan untuk enkripsi Vigenere Cipher karena algoritma Vigenere Cipher adalah algoritma kriptografi kunci simetris. Perhitungan manual dapat dituliskan sebagai berikut:

C28 = (250; 205; 177) C29 = (177; 166; 159)

K1 = 234, K2 = 98, K3 = 182, K4 = 46, K5 = 28

Proses dekripsi algoritma Vigenere Cipher menggunakan rumus Pi = Ci - Ki mod n.

Penelitian ini menggunakan skema Three-Pass Protocol dalam pengiriman gambar rahasia dengan mengkombinasikan dua algoritma simetris, maka hasil dekripsi Vigenere Cipher adalah cipherimage iii. Jika C3i < 0 maka C3i = C3i + 256.

C31 = C21 – K1 (mod n)

= (198; 165; 166) – 234 (mod 256) = (-36; -69; -68) (mod 256)

= (220; 187; 188) C32 = C22 – K2 (mod n)

= (201; 101; 98) – 98 (mod 256) = (103; 3; 0) (mod 256)

= (103; 3; 0)

C33 = C23 – K3 (mod n)

= (76; 27; 27) – 182 (mod 256) = (-106; -155; -155) (mod 256) = (150; 101; 101)

C34 = C24 – K4 (mod n)

= (220; 180; 157) – 46 (mod 256) = (174; 134; 111) (mod 256) = (174; 134; 111)

C35 = C25 – K5 (mod n)

= (187; 150; 119) – 28 (mod 256)

= (159; 122; 91) (mod 256) = (159; 122; 91)

C36 = C26 – K6 (mod n)

= (42; 6; 237) – 234 (mod 256) = (-192; -228; 3) (mod 256) = (64; 28; 3)

C37 = C27 – K7 (mod n)

= (57; 47; 39) – 98 (mod 256) = (-41; -51; -59) (mod 256) = (215; 205; 197)

C38 = C28 – K8 (mod n)

= (250; 205; 177) – 182 (mod 256) = (68; 23; -5) (mod 256)

= (68; 23; 251) C39 = C29 – K9 (mod n)

= (177; 166; 159) – 46 (mod 256) = (131; 120; 113) (mod 256) = (131; 120; 113)

Cipherimage III hasil perhitungan manual diperlihatkan pada tabel 4.7.

Tabel 4.7 Nilai piksel RGB cipherimage III hasil perhitungan manual

Dari hasil perhitungan manual yang sudah dilakukan yaitu tabel 4.7 dan dari hasil yang dinyatakan oleh sistem yaitu tabel 4.6 untuk dekripsi Vigenere Cipher adalah sama.

Dapat dikatakan bahwa sistem berhasil melakukan dekripsi Vigenere Cipher.

4.2.4 Pengujian Dekripsi One Time Pad

Langkah terakhir dalam skema Three-Pass Protocol supaya penerima mendapatkan plainimage yang dikirimkan oleh si pengirim secara rahasia adalah penerima mendekripsi cipherimage III dengan algoritma yang digunakan penerima untuk mengenkripsi pesan cipherimage I yaitu dengan algoritma One Time Pad.

Pindah ke halaman penerima. Masukkan cipherimage III lalu klik tombol dekripsi. Sistem akan menampilkan hasil proses dekripsi One Time Pad yaitu plainimage seperti yang ditunjukkan pada gambar 4.12.

Gambar 4.12 Dekripsi One Time Pad

Gambar yang dihasilkan dari proses dekripsi One Time Pad menggunakan sistem adalah gambar 4.11.

Gambar 4.13 Plainimage

Tabel 4.8 merupakan nilai piksel RGB plainimage yang dihasilkan oleh sistem.

Tabel 4.8 Nilai piksel RGB plainimage

Pengujian hasil dekripsi One Time Pad dilakukan dengan perhitungan manual kemudian membandingkannya dengan hasil dekripsi yang diberikan oleh sistem.

Cipherimage III yang digunakan adalah hasil dari perhitungan manual dekripsi Vigenere Cipher sebelumnya. Kunci yang digunakan untuk dekripsi One Time Pad sama dengan kunci yang digunakan untuk enkripsi One Time Pad karena algoritma One Time Pad adalah algoritma kriptografi kunci simetris. Perhitungan manual dapat dituliskan sebagai berikut:

= (220; 187; 188) – 029 (mod 256) = (191; 158; 159) (mod 256) = (191; 158; 159)

P2 = C32 – K2 (mod n)

= (103; 3; 0) – 000 (mod 256) = (103; 3; 0) (mod 256) = (103; 3; 0)

P3 = C33 – K3 (mod n)

= (150; 101; 101) – 242 (mod 256) = (-92; -141; -141) (mod 256) = (164; 115; 115)

P4 = C34 – K4 (mod n)

= (174; 134; 111) – 236 (mod 256) = (-62; -102; -125) (mod 256) = (194; 154; 131)

P5 = C35 – K5 (mod n)

= (159; 122; 911) – 183 (mod 256) = (-24; -61; -92) (mod 256)

= (232; 195; 164) P6 = C36 – K6 (mod n)

= (64; 28; 3) – 124 (mod 256) = (-60; -96; -121) (mod 256) = (196; 160; 135)

P7 = C37 – K7 (mod n)

= (215; 205; 197) – 237 (mod 256)

Plainimage hasil perhitungan manual diperlihatkan pada tabel 4.9.

Tabel 4.9 Nilai piksel RGB plainimage hasil perhitungan manual R: 191 hasil yang dinyatakan oleh sistem yaitu 4.8 untuk dekripsi One Time Pad adalah sama.

Dapat dikatakan bahwa sistem berhasil melakukan dekripsi One Time Pad.

4.2.5 Pengujian Keutuhan Data

Keutuhan data (integrity) adalah salah satu parameter yang digunakan untuk pengujian implementasi skema Three-Pass Protocol dengan kombinasi dua algoritma kriptografi klasik. Pengujian dilakukan dengan menggunakan GetPixel pada bahasa C# untuk

melihat nilai piksel RGB pada citra. Berdasarkan hasil pengujian sistem dalam keseluruhan proses enkripsi dan dekripsi sebuah plainimage dengan kombinasi algoritma Vigenere Cipher dan One Time Pad pada skema Three-Pass Protocol yang sudah dijelaskan sebelumnya, dilihat bahwa nilai piksel RGB plainimage sebelum dienkripsi sama dengan nilai piksel RGB hasil dekripsi algoritma One Time Pad.

Perhatikan tabel 4.1 dan tabel 4.8, nilai piksel RGB plainimage sebelum dienkripsi sama dengan sesudah didekripsi dengan algoritma One Time Pad. Hal ini membuktikan bahwa kombinasi algoritma Vigenere Cipher dan One Time pad pada skema Three-Pass Protocol memenuhi parameter keutuhan data.

4.2.6 Pengujian Algoritma Terhadap Waktu Proses

Pengujian algoritma terhadap waktu proses menggunakan lima citra dengan ukuran yang berbeda, yaitu citra 100x100 piksel, 200x200 piksel, 300x300 piksel, 400x400 piksel. Setiap citra akan diuji terhadap waktu proses yang digunakan. Tabel 4.10 merupakan waktu proses pada citra 100x100 piksel.

Tabel 4.10 Waktu proses pada citra 100x100 piksel

Plainimage C1 C2 C3 Plainimage

Waktu proses 55 71 56 56

Rata-rata waktu proses (milisekon) 59,5

Tabel 4.10 terdiri dari lima buah kolom. Kolom pertama adalah citra dengan ukuran 100x100 piksel. Kolom kedua adalah hasil enkripsi plainimage menggunakan algoritma Vigenere Cipher. Kolom ketiga adalah hasil enkripsi C1 menggunakan algoritma One Time Pad. Kolom keempat adalah hasil dekripsi C2 menggunakan algoritma Vigenere Cipher. Kolom kelima adalah hasil dekripsi C3 menggunakan algoritma One Time Pad. Waktu eksekusi berturut-turut dari enkripsi Vigenere Cipher hingga dekripsi One Time Pad adalah 55 ms, 71 ms, 56 ms, dan 56 ms. Rata-rata waktu eksekusi program adalah 59,5 ms. Tabel 4.11 merupakan waktu proses pada citra 100x100 piksel.

Tabel 4.11 Waktu proses pada citra 200x200 piksel

Plainimage C1 C2 C3 Plainimage

Waktu proses 222 283 292 290

Rata-rata waktu proses (milisekon) 271,75 Tabel 4.11 terdiri dari lima buah kolom. Kolom pertama adalah citra dengan ukuran 200x200 piksel. Kolom kedua adalah hasil enkripsi plainimage menggunakan algoritma Vigenere Cipher. Kolom ketiga adalah hasil enkripsi C1 menggunakan algoritma One Time Pad. Kolom keempat adalah hasil dekripsi C2 menggunakan algoritma Vigenere Cipher. Kolom kelima adalah hasil dekripsi C3 menggunakan algoritma One Time Pad. Waktu eksekusi berturut-turut dari enkripsi Vigenere Cipher hingga dekripsi One Time Pad adalah 222 ms, 283 ms, 292 ms, dan 290 ms. Rata-rata waktu eksekusi program adalah 271,75 ms. Tabel 4.12 merupakan waktu proses pada citra 300x300 piksel.

Tabel 4.12 Waktu proses pada citra 300x300 piksel

Plainimage C1 C2 C3 Plainimage

Waktu proses 522 540 682 686

Rata-rata waktu proses (milisekon) 607,5 Tabel 4.12 terdiri dari lima buah kolom. Kolom pertama adalah citra dengan ukuran 300x300 piksel. Kolom kedua adalah hasil enkripsi plainimage menggunakan algoritma Vigenere Cipher. Kolom ketiga adalah hasil enkripsi C1 menggunakan algoritma One Time Pad. Kolom keempat adalah hasil dekripsi C2 menggunakan algoritma Vigenere Cipher. Kolom kelima adalah hasil dekripsi C3 menggunakan algoritma One Time Pad. Waktu eksekusi berturut-turut dari enkripsi Vigenere Cipher

hingga dekripsi One Time Pad adalah 522 ms, 540 ms, 682 ms, dan 686 ms. Rata-rata waktu eksekusi program adalah 607,5 ms. Tabel 4.13 merupakan waktu proses pada citra 400x400 piksel.

Tabel 4.13 Waktu proses pada citra 400x400 piksel

Plainimage C1 C2 C3 Plainimage

Waktu proses 971 952 962 1.192

Rata-rata waktu proses (milisekon) 1.019,25 Tabel 4.13 terdiri dari lima buah kolom. Kolom pertama adalah citra dengan ukuran 400x400 piksel. Kolom kedua adalah hasil enkripsi plainimage menggunakan algoritma Vigenere Cipher. Kolom ketiga adalah hasil enkripsi C1 menggunakan algoritma One Time Pad. Kolom keempat adalah hasil dekripsi C2 menggunakan algoritma Vigenere Cipher. Kolom kelima adalah hasil dekripsi C3 menggunakan algoritma One Time Pad. Waktu eksekusi berturut-turut dari enkripsi Vigenere Cipher hingga dekripsi One Time Pad adalah 971 ms, 952 ms, 962 ms, dan 1.192 ms. Rata-rata waktu eksekusi program adalah 1.019,25 ms.

Hubungan waktu proses eksekusi program terhadap ukuran suatu citra dapat dilihat pada tabel 4.14 dan gambar 4.14.

Tabel 4.14 Waktu proses citra No Ukuran citra

(piksel)

Waktu proses (milisekon) Rata-rata waktu

Gambar 4.14 Grafik hubungan waktu proses dan ukuran citra

Berdasarkan gambar 4.14 dapat dilihat hubungan waktu proses berbanding lurus linear terhadap ukuran citra yang berarti bahwa semakin besar ukuran citra maka akan semakin lama pula waktu yang diperlukan untuk mengeksekusi program.

0

271,75

607,5

1019,25

0 200 400 600 800 1000 1200

100x100 200x200 300x300 400x400

Waktu proses (milisekon)

Ukuran piksel

Grafik Hubungan Waktu Proses Dan Ukuran Citra

BAB V

Dokumen terkait