Implementasi Kriptografi Hybrid Algoritma Elgamal dan Double Playfair Cipher Dalam Pengamanan File JPEG Berbasis Desktop Chapter III V

39

BAB 3
ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem
Sistem yang baik tentu dibangun dengan perancangan yang baik pula. Analisis sistem
adalah suatu bentuk penguraian suatu sistem informasi yang yang lengkap ke dalam
bagian-bagian komponennya dengan tujuan mengindentifikasi dan mengevaluasi
permasalahan, kesempatan, hambatan, serta kebutuhan yang diharapkan sehingga
dapat dilakukan usulan perbaikan untuk meningkatkan kualitas sistem yang sudah ada
(Whitten et al. 2004). Hal ini

bertujuan untuk mempelajari apakah komponen-

komponen tersebut bekerja dan berinteraksi sesuai dengan tujuan mereka. Ada tiga
fase analisis sistem yaitu analisis masalah, analisis kebutuhan dan analisis proses.
3.1.1 Analisis Masalah
Perkembangan dalam bidang teknologi seperti saat ini telah memungkinkan setiap
orang untuk saling melakukan pertukaran informasi tanpa ada batasan jarak dan
waktu. Tidak tertutup kemungkinan adanya kebocoran data pada saat proses

pertukaran informasi yang dilakukan sehingga pengirim informasi merasa takut dan
memerlukan adanya keamanan dalam pertukaran informasi tersebut. Untuk dapat
mengurangi ancaman yang dapat terjadi dalam pertukaran informasi yang bersifat
rahasia dalam sebuah proses komunikasi data dapat dilakukan dengan cara melakukan
pengkodean terhadap informasi yang akan disimpan atau dikirim secara cepat dan
akurat. Masalah dalam sistem ini adalah bagaimana agar pertukaran informasi
khususnya dalam bentuk citra dapat diamankan. Untuk mengidentifikasi masalah
tersebut digunakan diagram Ishikawa (fishbone diagram). Diagram Ishikawa
merupakan suatu alat visual untuk mengidentifikasi, mengeksplorasi, dan secara
diagram menggambarkan semua penyebab yang berhubungan dengan suatu
permasalahan. Diagram ini menunjukkan sebuah akibat dari permasalahan dengan
berbagai penyebabnya (Whitten et al, 2004). Diagram Ishikawa sistem ini dapat
dilihat pada Gambar 3.1.

Universitas Sumatera Utara

40

Gambar 3.1 Diagram Ishikawa Masalah Penelitian.


3.1.2 Analisis Kebutuhan
Analisis kebutuhan dibagi menjadi dua bagian, yaitu kebutuhan fungsional dan
kebutuhan nonfungsional. Kebutuhan fungsional mendeskripsikan aktivitas yang
disediakan suatu sistem. Sedangkan kebutuhan nonfungsional mendeskripsikan fitur,
karakteristik dan batasan lainnya.

3.1.2.1 Kebutuhan Fungsional
Kebutuhan fungsional adalah fungsi-fungsi yang harus dipenuhi pada aplikasi yang
dirancang. Kebutuhan fungsional yang harus dipenuhi aplikasi yang dirancang adalah
sebagai berikut:
a. Sistem harus mampu membaca informasi yang berada dalam file citra JPEG.
b. Kunci Double Playfair yang dibangkitkan adalah bilangan bulat positif dari 0
sampai 255.
c. Sistem harus mampu melakukan enkripsi dengan menggunakan ElGamal
sehingga menghasilkan cipherimage, serta sistem harus mampu melakukan
dekripsi cipherimage menjadi String yang sama dengan String sebelum
dikodekan.

Universitas Sumatera Utara


41

3.1.2.2 Kebutuhan Non Fungsional
Kebutuhan fungsional mencakup beberapa karakteristik berikut:
1. Performa
Sistem yang akan dibangun dapat menunjukkan hasil dari pengambilan citra ke
dalam bentuk semula.
2. Efisiensi
Perangkat lunak yang dibangun harus sesederhana mungkin agar tidak menyulitkan
pengguna dan bersifat ramah pengguna (user friendly).
3. Ekonomis
Perangkat lunak yang dibangun harus dapat bekerja dengan baik tanpa harus
mengeluarkan biaya apapun.
4. Manajemen kualitas
Perangkat lunak yang dibangun harus memiliki kualitas yang baik yaitu proses
pembangkitan kunci yang cepat dan proses enkripsi, dekripsi yang akurat.
5. Kontrol
Perangkat lunak yang dibangun dapat menampilkan pesan error untuk setiap input
yang tidak sesuai.


Universitas Sumatera Utara

42

3.1.3. Arsitektur Umum Sistem
Arsitektur umum sistem dapat dilihat pada gambar 3.2 dibawah ini.

Gambar 3.2 Arsitektur umum sistem
Pada gambar 3.2 menjelaskan bahwa pertama kali menginputkan plain image
kedalam sistem. Setelah itu plain image dienkripsi menggunakan algoritma Double
Playfair Cipher dan menghasilkan cipher image. Selanjutnya kunci Double Playfair
yang digunakan pada saat mengenkripsi plain image kemudian dienkripsi
menggunakan algoritma Elgamal dan menghasilkan cipherkey. Untuk bisa mengetahui
pesan yang dikirim, maka pertama kali mendekripsikan cipherkey dengan
menggunakan algoritma Elgamal dan menghasilkan kunci Double Playfair. Kemudian
kunci Double Playfair digunakan untuk membuka cipher image dengan menggunakan
algoritma Double Playfair Cipher sehingga dihasilkan plain image.

Universitas Sumatera Utara


43

3.2. Pemodelan Sistem
Pemodelan aplikasi yang dirancang bertujuan untuk menggambarkan semua kondisi
dan bagian-bagian yang berperan dalam sistem yang dirancang. Pemodelan aplikasi
dilakukan dengan membuat use-case diagram dan activity diagram.
3.2.1. Use-Case Diagram
Untuk menganalisa komponen-komponen yang berperan dalam sistem yang
dirancang, penulis menggunakan use-case diagram agar proses penganalisaan
komponen dapat dilakukan dengan mudah. Use-case diagram sistem pada aplikasi
yang dirancang dapat dilihat pada Gambar 3.3.

Gambar 3.3 Use-Case Diagram Pada Sistem
3.2.2. Activity Diagram
Activity diagram adalah diagram aktivitas yang mendeskripsikan proses kerja dalam
sebuah sistem yang sedang berjalan. Dalam diagram aktivitas ini dijelaskan proses
kerja dari sistem pembangkitan kunci, kompresi, enkripsi, dekripsi dan dekompresi
yang dilakukan oleh pengguna.

Universitas Sumatera Utara


44

3.2.2.1 Activity Diagram Proses Pembangkit Kunci

Gambar 3.4 Activity Diagram Proses Pembangkitan Kunci
3.2.2.2 Activity Diagram Proses Enkripsi

Gambar 3.5 Activity Diagram Proses Enkripsi

Universitas Sumatera Utara

45

3.2.2.3 Activity Diagram Proses Dekripsi

Gambar 3.6 Activity Diagram Proses Dekripsi
3.2.2.4 Sequence Diagram
Sequence Diagram adalah bentuk pemodelan sistem yang menggambarkan hubungan
antar objek atau objek yang saling berinteraksi melalui pesan dalam eksekusi.

Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima diantara
objek.Sequence Diagram untuk sistem yang dirancang pada penelitian ini dapat dilihat
pada Gambar 3.7.

Universitas Sumatera Utara

46

Gambar 3.7 Sequence diagram proses enkripsi

Gambar 3.8 Sequence diagram proses dekripsi

Universitas Sumatera Utara

47

3.2.3 Flowchart
Flowchart merupakan suatu bagan yang menggambarkan urutan suatu proses secara
rinci menggunakan simbol-simbol tertentu dan menggambarkan hubungan antara satu
proses dengan proses lainnya dengan menggunakan tanda panah.

3.2.3.1 Flowchart Pembangkitan Kunci
Pembangkitan kunci dilakukan dengan mengacak bilangan dan kemudian dicek
apakah bilangan tersebut merupakan bilangan prima dengan Algoritma The Sieve of
Eratosthenes. Flowchart pembangkitan kunci dapat dilihat pada Gambar 3.9.
Mulai

Bangkitkan p,α, β dan d

Tidak
Bilangan Prima?
Uji dengan The Sieve of
Eratosthenes

β =αd mod p

Kunci publik
(p,α,β)
Kunci privat d

Selesai


Gambar 3.9 Flowchart Alur proses pembangkit kunci

Universitas Sumatera Utara

48

3.2.3.2 Flowchart Enkripsi Algoritma ElGamal
Pada enkripsi ElGamal terdapat dua parameter masukan yaitu kunci publik dan
plainteks (citra yang akan dienkripsi) dan menghasilkan keluaran berupa cipherteks.
Adapun flowchart dari proses enkripsi dapat dilihat pada Gambar 3.10.

Mulai

Masukkan
kunci publik
(p,α,Β)

Masukan
Plainteks


Enkripsi
c1 = αr mod p
c2 = P x βr mod p

Ciphertext

Selesai

Gambar 3.10 Flowchart proses Enkripsi pada ElGamal
3.2.3.3 Flowchart Dekripsi ElGamal
Pada proses dekripsi ElGamalterdapat dua parameter masukan yaitu kunci privat dan
cipherteks. Pada proses dekripsi akan menghasilkan keluaran berupa plainteks yang
sama seperti sebelum citra dienkripsi. Adapun flowchart dari proses dekripsidapat
dilihat pada Gambar 3.11.

Universitas Sumatera Utara

49


Mulai

Masukkan
kunci privat
(d)

Masukan
Cipherteks

Enkripsi File

Z = c1 p-1-d mod p
P = c2 x Z mod p

Plainteks

Selesai
Gambar 3.11 Flowchart proses Dekripsi pada ElGamal
3.2.3.4 Flowchart Sistem
Pada flowchart sistem terdapat empat pilihan halaman yang dapat dipilih oleh
pengguna yaitu halaman Menu, Implementasi, About, Help. Adapun dalam Menu
“Implementasi” terdapat submenu Key Generator, Enkripsi, Dekripsi. SubMenu dari
Key Generator, Enkripsi, dan Dekripsi ditunjukkan pada Gambar 3.12.

Universitas Sumatera Utara

50

(a)

(b)

(c)

Mulai

Mulai

Mulai

Membangkitkan Kunci

Citra JPEG,
Kunci Double
Playfair

Cipherkey

Menampilkan
Kunci Publik dan
Privat

Simpan Kunci Publik dan
Kunci Privat

Selesai

Enkripsi citra dengan
algoritma Double
Playfair Cipher

Dekripsikan Cipherkey
dengan kunci privat
Elgamal

Citra hasil
enkripsi

Kunci Double
playfair

Enkripsi Kunci Double
Playfair Cipher dengan
kunci publik Elgamal

Dekripsikan Cipherimage
dengan Kunci Double
Playfair

Cipherkey

Citra JPEG

Selesai

Selesai

(a) Flowchart Pembangkitan Kunci
(b) Flowchart Enkripsi
(c) Flowchart Dekripsi
Gambar 3.12 Flowchart SubProcess

3.3. Perancangan Antarmuka (Interface)
Perancangan Antarmuka (Interface) merupakan sarana interaksi antara pengguna dan
sistem. Hal ini berfungsi untuk memudahkan pengguna dalam melakukan proses
sistem.

Universitas Sumatera Utara

51

3.3.1. Rancangan Halaman Utama
Halaman Menu merupakan halaman yang pertama kali ditampilkan saat sistem
dijalankan. Pada halaman Menu terdapat beberapa menu untuk mengakses halaman
lain. Rancangan halaman Menu dapat dilihat pada Gambar 3.13.

Gambar 3.13 Rancangan Interface Halaman Menu
Pada Gambar 3.14 ditunjukkan tampilan rancangan dari halaman Menu. Pada
halaman ini terdapat menu yang terdiri dari Implementasi, About, dan Help. Pada
halaman Menu juga terdapat informasi judul, logo fakultas, nama, NIM dan program
studi pembuat sistem. Keterangan dari Gambar 3.13 dapat dilihat pada Tabel 3.1.

Universitas Sumatera Utara

52

Tabel 3.1 Keterangan Gambar Rancangan Interface Halaman Menu
No

Keterangan

1

Menustrip “Menu” untuk menampilkan halaman utama dari sistem

2

Menustrip “Implementasi” untuk memiliki 3 submenu yaitu:
-

Submenu“Key Generator” untuk pembangkitan kunci yang dibutuhkan
dalam proses enkripsi dan dekripsi

-

Submenu“Enkripsi” untuk proses enkripsi terhadap berkas citra

-

Submenu“Dekripsi” untuk proses dekripsi terhadap berkas citra

3

Menustrip “About” untuk menampilkan halaman penggunaan sistem

3

Menustrip “Help” untuk menampilkan halaman petunjuk penggunaan sistem

4

Label untuk menampilkan judul sistem

5

Label untuk menampilkan nama dan nim pembuat sistem

6

Picturebox untuk menampilkan logo USU

7

Label untuk menampilkan program studi dan fakultas pembuat sistem

3.3.2 Halaman Key Generator
Halaman Key Generator merupakan halaman yang tampil saat pengguna memilih
submenu Key Generator. Pada halaman ini pengguna dapat membangkitkan kunci
yang akan digunakan pada proses enkripsi dan dekripsi. Rancangan halaman Key
Generator dapat dilihat pada Gambar 3.14.

Universitas Sumatera Utara

53

Gambar 3.14 Rancangan Interface Halaman Key Generator
Tabel 3.2 Keterangan Gambar Rancangan Interface Halaman Key Generator
No

Keterangan

1

Groupbox yang berisi field-field untuk proses pembangkit kunci

2

Textbox untuk menampilkan nilai P

3

Textbox untuk menampilkan nilai Alpha

4

Textbox untuk menampilkan nilai Beta

5

Textbox untuk menampilkan nilai X

6

Button untuk proses pembangkit kunci

7

Button untuk menyimpan kunci publik

8

Button untuk menyimpan kunci privat

3.3.3 Halaman Enkripsi
Halaman Enkripsi merupakan halaman yang tampil saat pengguna memilih submenu
Enkripsi. Pada halaman ini pengguna dapat melakukan proses enkripsi berkas.
Rancangan halaman enkripsi dapat dilihat pada Gambar 3.15.

Universitas Sumatera Utara

54

Gambar 3.15 Rancangan Interface Halaman Enkripsi
Tabel 3.3 Keterangan Gambar Rancangan Interface Halaman Enkripsi
No

Keterangan

1

Groupbox yang berisi field-field informasi citra asli

2

Groupbox yang berisi field-field untuk kunci Double Playfair

3

Groupbox yang berisi field-field untuk proses enkripsi

4

Groupbox yang berisi field-field untuk proses imput kunci Double Playfair

5

Groupbox yang berisi field-field untuk pengambilan kunci publik

6

Button untuk mengambil citra dari direktori file

7

Picturebox untuk menampilkan citra

8

Button untuk mengubah warna RGB ke Greyscale

9

Button untuk melakukan proses enkripsi citra

10

Button untuk menyimpan hasil enkripsi citra

11

Button untuk mengambil kunci publik yang telah disimpan

12

Richtext untuk menampilkan hasil nilai dari enkripsi citra

13

Button untuk melakukan proses enkripsi kunci

14

Button untuk menyimpan cipherkey

Universitas Sumatera Utara

55

3.3.4 Halaman Dekripsi
Halaman Dekripsi merupakan halaman yang tampil saat pengguna memilih submenu
Dekripsi. Pada halaman ini pengguna dapat melakukan proses dekripsisehingga akan
menampilkan citra asli. Rancangan halaman dekripsi dapat dilihat pada Gambar 3.16.

Gambar 3.16 Rancangan Interface Halaman Dekripsi
Tabel 3.4 Keterangan Gambar Rancangan Interface Halaman Dekripsi
No

Keterangan

1

Groupbox yang berisi field-field informasi citra asli

2

Groupbox yang berisi field-field untuk pengambilan kunci privat

3

Groupbox yang berisi field-field untuk kunci Double Playfair

4

Groupbox yang berisi field-field untuk proses dekripsi

5

Groupbox yang berisi field-field untuk proses import kunci Double Playfair

6

Button untuk mengambil citra dari direktori file

7

Picturebox untuk menampilkan citra

8

Button untuk melakukan import kunci double playfair

9

Button untuk melakukan proses dekripsi citra

Universitas Sumatera Utara

56

10

Button untuk menyimpan hasil dekripsi citra

11

Button untuk mengambil kunci privat yang telah disimpan

12

Richtext untuk menampilkan hasil nilai dari dekripsi citra

3.3.5 Halaman About
Halaman About merupakan halaman yang ditampilkan oleh sistem jika pengguna
sistem memilih menu About. Adapun rancangan antarmuka dari halaman About dapat
dilihat pada Gambar 3.17.

Gambar 3.17 Rancangan Interface Halaman About

Universitas Sumatera Utara

57

Tabel 3.5 Keterangan Gambar Rancangan Interface Halaman About
No

Keterangan

1

Label yang berisi Penjelasan singkat aplikasi

2

Label yang berisi nama

3

Label yang berisi NIM

3.3.6 Halaman Help
Halaman Help merupakan halaman yang ditampilkan oleh sistem jika pengguna
sistem memilih menu Help. Adapun rancangan antarmuka dari halaman Help dapat
dilihat pada Gambar 3.18.

Gambar 3.18 Rancangan Interface Halaman Help

Universitas Sumatera Utara

58

Tabel 3.6 Keterangan Gambar Rancangan Interface Halaman Help
No

Keterangan

1

Label yang berisi petunjuk penggunaan

2

Tapcontrol menampilkan prosedur penggunaan sistem

3

Label yang menampilkan prosedur penggunaan sistem

Universitas Sumatera Utara

59

BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini penulis memaparkan bagaimana implementasi dari sistem dan juga hasil
pengujian aplikasi yang dilakukan pada Algoritma Kriptografi ElGamal dan
Algoritma Double Playfair Cipher yang sudah dibangun menggunakan Sharp
Development.

4.1 Implementasi Sistem
Implementasi sistem merupakan proses penerapan dari hasil analisis dan perancangan
sistem ke dalam sebuah bahasa pemrograman. Implementasi sistem pada penelitian ini
dibangun menggunakan bahasa pemrogaman C#. Proses implementasi yang dirancang
pada sistem ini dibagi menjadi 4 menu, yaitu : Menu, Implementasi, About dan Help.

4.1.1. Menu
Menu merupakan halaman utama, artinya merupakan halaman yang pertama kali
muncul ketika sistem dijalankan. Menu menampilkan judul sistem, nama pembuat
sistem, logo dan informasi universitas. Tampilan halaman Menu dapat dilihat pada
gambar 4.1.

Gambar 4.1 Halaman Menu

Universitas Sumatera Utara

60

4.1.2. Implementasi
Implementasi memilki 3 submenu didalamnya, yaitu Key Generator, Enkripsi, dan
Dekripsi.

4.1.2.1 Submenu Key Generator
Pada submenu Key Generator, user dapat membangkitkan bilangan prima, alpha,
beta dan d. Kunci tersebut akan disimpan sebagai kunci publik dan kunci privat yang
akan digunakan untuk proses enkripsi dan dekripsi. Tampilandari submenu Key
Generator dapat dilihat pada Gambar 4.2.

Gambar 4.2 Submenu Key Generator

4.1.2.2 Submenu Enkripsi
Submenu Enkripsi merupakan proses yang harus dilakukan oleh pengirim pesan untuk
melakukan enkripsi terhadap berkas citra yang dipilih oleh user. Tampilan dari
submenu Enkripsi dapat dilihat pada Gambar 4.3.

Universitas Sumatera Utara

61

Gambar 4.3 Submenu Enkripsi

4.1.2.3 Submenu Dekripsi
Submenu Dekripsi merupakan proses yang harus dilakukan oleh penerima pesan
untuk melakukan dekripsi agar dapat melihat citra asli yang telah dimampatkan dan
diacak sebelumnya. Tampilan dari submenu Dekripsi dapat dilihat pada Gambar 4.4.

Gambar 4.4 Submenu Dekripsi

Universitas Sumatera Utara

62

4.1.3. Menu About
Pada menu About menampilkan penjelasan singkat mengenai sistem aplikasi yang
telah dibuat. Tampilan dari submenu About dapat dilihat pada Gambar 4.5.

Gambar 4.5 Menu About

4.1.4. Menu Help
Pada menu Help menampilkan informasi mengenai langkah-langkah penggunaan
sistem ini sehingga memudahkan pengguna sistem. Tampilan dari submenu Help
dapat dilihat pada Gambar 4.6.

Universitas Sumatera Utara

63

Gambar 4.6 Menu Help
4.2 Pengujian Sistem
Pada tahap ini akan dilakukan pengujian keberhasilan sistem dalam menjalankan
fungsi-fungsi yang sebelumnya ditentukan pada tahap analisis dan perancangan
sistem. Citra yang akan dienkripsi adalah citra yang berukuran 200 x 200 piksel.
Tampilan dari citra yang akan diuji dapat dilihat pada Gambar 4.7.

Gambar 4.7 Citra yang akan diuji

4.2.1 Pengujian proses key generator
Sebelum memilih menu Enkripsi, terlebih dahulu dibangkitkan kunci untuk
mendapatkan kunci public dan kunci privat yang akan digunakan dalam proses
enkripsi dan dekripsi. Berikut langkah-langkah untuk melakukan proses pembangkit
kunci.

Universitas Sumatera Utara

64

1. Tekan tombol Bangkitkan Kunci untuk mendapatkan nilai p, alpha, d, dan
beta. Hasil pembangkit kunci dapat dilihat pada Gambar 4.8.

Gambar 4.8 Hasil nilai kunci publik dan kunci privat

2. Tekan tombol simpan kunci public untuk membuka Save File Dialog dan
tentukan direktori untuk menyimpan file kunci publik (*.public) yang akan
digunakan dalam proses enkripsi. Form Save File Dialog dapat dilihat pada
Gambar 4.9.

Gambar 4.9 Save File Dialog untuk menyimpan kunci public
Kemudian menampilkan Message Box sebagai informasi kunci berhasil
disimpan seperti terlihat dari Gambar 4.10.

Gambar 4.10 Message box informasi berhasil simpan kunci

Universitas Sumatera Utara

65

3. Tekan tombol simpan untuk membuka Save File Dialog dan tentukan direktori
untuk menyimpan file kunci privat (*.private) yang akan digunakan dalam
proses dekripsi. Form Save File Dialog dapat dilihat pada Gambar 4.11.

Gambar 4.11 Save File Dialog untuk menyimpan kunci privat
Kemudian menampilkan Message Box sebagai informasi kunci berhasil
disimpan seperti terlihat dari Gambar 4.12.

Gambar 4.12 Message box informasi berhasil simpan kunci

4.2.2. Pengujian proses enkripsi
Setelah memilih submenu enkripsi maka akan dilakukan proses enkripsi citra. Berikut
langkah – langkah untuk melakukan proses enkripsi.
Proses Enkripsi
Langkah-langkah dalam mengenkripsi pesan:
7. Terima kunci publik (p,α, β) = (271, 107, 39)
8. Plainteks m disusun menjadi blok-blok m1, m2, …, mp-1 sedemikian sehingga
setiap blok merepresentasikan nilai di dalam rentang 0 sampai p – 1.

Universitas Sumatera Utara

66

9. Ubah nilai blok pesan ke dalam nilai ASCII. Ekspresikan pesan P1 = C = 67
(ASCII) sebagai bilangan.
10. Ambil sebuah bilangan asli r< p-1. Misal r = 50
11. Hitung c1 = αr mod p
= 10750 mod 271
= 238
Hitung c2 = P1 x βrmod p
= 67 x 3950mod 271
= 212
Maka dari perhitungan di atas, kita mendapatkan nilai c1 dan c2 sebagai
cipherteks nya yaitu (238, 212). Proses diatas akan berulang untuk membaca
semua blok pesan untuk menghasilkan cipherteks.
12. Kirim c1 = 238 dan c2 = 212.

1. Tekan tombol Browse, untuk membuka Open File Dialog dan pilih berkas
citra (*bmp) yang akan dikompresi. Form Open File Dialog dapat dilihat pada
Gambar 4.13.

Gambar 4.13 Open File Dialog input file citra.

Kemudian sistem akan menampilkan citra tersebut. Tampilan citra yang telah
terpilih akan tampil pada sistem seperti pada Gambar 4.14.

Universitas Sumatera Utara

67

Gambar 4.14 Tampilan sistem menampilkan citra terpilih

2. Jika gambar tersebut adalah citra RGB maka tekan tombol Grayscale untuk
membuat gambar yang telah dipilih menjadi grayscale. Hasil perubahan citra
menjadi Grayscale terlihat pada Gambar 4.15.

Gambar 4.15 Hasil konversi gambar RGB menjadi Grayscale

3. Masukkan kata kunci untuk melakukan proses enkripsi citra dengan double
playfair seperti terlihat dari Gambar 4.16.

Universitas Sumatera Utara

68

Gambar4.16 Tampilan input kata kunci

1. Tekan tombol Pembangkit dan akan muncul Open File Dialog dan pilih berkas
teks (.*publik). Form Open File Dialog dapat dilihat pada Gambar 4.17

Gambar 4.17 Open File Dialog input file kunci publik
Kemudian pada textbox akan tempil nilai kunci publik tersebut, seperti terlihat
pada Gambar 4.18.

Gambar 4.18 Tampilkan nilai kunci publik
2. Tekan tombol simpan Cipherkey untuk melakukan pengacakan pesan hingga
muncul Message Box yang memberi informasi berkas berhasil dienkripsi
seperti terlihat pada Gambar 4.19.

Universitas Sumatera Utara

69

Gambar 4.19 Message Box informasi proses enkripsi kunci berhasil

3. Tekan tombol enkripsi citra untuk melakukan enkripsi pada citra hingga
muncul Richtext terisi dengan nilai enkripsi seperti terlihat pada Gambar 4.20.

Gambar 4.20 Richtext informasi proses enkripsi berhasil

4. Tekan tombol Save untuk menyimpan hasil dekripsi citra. Form Save File
Dialog akan muncul seperti terlihatpadaGambar 4.21.

Universitas Sumatera Utara

70

Gambar 4.21 Save File Dialog hasil enkripsi citra

Kemudian menampilkan Message Box sebagai informasi gambar berhasil
disimpan seperti terlihat dari Gambar 4.22.

Gambar 4.22 Message Box gambar berhasil disimpan

4.2.3. Pengujian proses dekripsi
Setelah memilih submenu enkripsi maka akan dilakukan proses dekripsi citra. Berikut
langkah – langkah untuk melakukan proses dekripsi citra.
Proses Dekripsi
Dalam mendeskripsi pesan digunakan perhitungan P = c2 x (c1d)-1 mod p.
Perhitungan tersebut dapat disederhanakan dengan teorema Fermat:
�−1−�

� = �2 � �1

��� �

Untuk memepermudah perhitungan pada tiap-tiap blok pesan, maka dapat
dirumuskan dengan :
�−1−�

� = �1

��� �
Universitas Sumatera Utara

71

� = �2 � � ��� �
Langkah-langkah dalam mendekripsi pesan:
4.

Terima (c1, c2) dari sender = ( 238, 212)

5.

Hitung Z = �1

�−1−�

��� �

= 238271-1-96 mod 271
= 238174 mod 271
= 178

Hitung P=�2 � � ��� �

= 212�178 mod 271
= 67.

Maka diperoleh P = 67, dalam karakter dalam ASCII adalah C, sesuai dengan
plainteks yang dikirim sender.
6.

Kemudian menggabungkan blok m1, m2, ... menjadi plainteks yang utuh

1. Tekan tombol Browse, untuk membuka Open File Dialog dan pilih berkas
(*jpeg). Kemudian sistem akan menampilkan direktori dari berkas yang
terpilih seperti terlihat pada Gambar 4.23.

Gambar 4.23 Open File Dialog input file citra.

Universitas Sumatera Utara

72

2. Tekan tombol pembangkit, dan akan muncul Open File Dialog dan pilih
berkas teks (.*private). Form Open File Dialog dapat dilihat pada Gambar
4.24.

Gambar 4.24 Open File Dialog input kunci privat.

Kemudian pada textbox akan tempil nilai kunci privat tersebut seperti terlihat
pada Gambar 4.25.

Gambar 4.25 Tampilan nilai kunci privat

3. Tekan tombol dekripsi citra untuk mengembalikan berkas seperti sebelum
dienkripsi. Kemudian akan muncul hasil yang memberi informasi berkas
berhasil didekripsi seperti terlihat dari Gambar 4.26.

Universitas Sumatera Utara

73

Gambar 4.26 Tampilan citra setelah di dekripsi

1. Tekan tombol simpan untuk menyimpan citra sebelum dienkripsi. Form Save
File Dialog akan muncul seperti terlihat pada Gambar 4.27.

Gambar 4.27 Save File Dialog untuk menyimpan citra

Kemudian akan muncul MessageBox seperti ditunjukkan pada Gambar 4.28.

Universitas Sumatera Utara

74

Gambar 4.28 Message Dialog informasi gambar berhasil disimpan
4.2.5 HasilPengujian.
Hasil pengujian yang didapatkan melalui penelitian ini berupa hasil dari proses
enkripsi pada menu Enkripsi dan proses dekripsi pada menu Dekripsi. Pengujian
dilakukan terhadap citra dengan resolusi yang berbeda-beda. Adapun hasil uji coba,
dapat dilihat pada gambar berikut ini:

4.2.5.1 HasilPengujian ke-1
Uji coba ini dilakukan pada gambar dengan resolusi 400 x 400 piksel, dengan
menginputkan kata kunci “saya & temu” pada kedua kunci double Playfair cipher
untuk mengenkripsi citra yang telah di input, dan menginput publik key untuk
mengenkripsi kunci dari double playfair, lalu di dapat hasil perubahan citranya. Hasil
uji coba dapat dilihat pada Gambar 4.29 berikut:
(a. Enkripsi)

Pada proses selanjutnya hasil citra yang telah dienkripsi kemudian di input kembali,
lalu import private key dan kunci double playfair yang telah dienkripsi kunci pada
proses enkripsi sebelumnya, dan di dapat hasil dari perubahan citra kembali seperti
sebelum dilakukan enkripsi citra. Hasil uji coba dapat dilihat pada Gambar 4.29
berikut:

Universitas Sumatera Utara

75

(b. Dekripsi)

Gambar 4.29 Hasil Uji Coba ke-1

4.2.5.2HasilPengujian ke-2
Uji coba ini dilakukan pada gambar dengan resolusi 450 x 450 piksel, dengan
menginputkan kata kunci “foto & kaca” pada kedua kunci double Playfair cipher
untuk mengenkripsi citra yang telah di input, dan menginput publik key untuk
mengenkripsi kunci dari double playfair, lalu di dapat hasil perubahan citranya.Hasil
uji coba dapat dilihat pada Gambar4.30 berikut:
(a. Enkripsi)

Universitas Sumatera Utara

76

Pada proses selanjutnya hasil citra yang telah dienkripsi kemudian di input kembali,
lalu import private key dan kunci double playfair yang telah dienkripsi kunci pada
proses enkripsi sebelumnya, dan di dapat hasil dari perubahan citra kembali seperti
sebelum dilakukan enkripsi citra. Hasil uji coba dapat dilihat pada Gambar 4.30
berikut:
(b. Dekripsi)

Gambar 4.30 Hasil Uji Coba ke-2

4.2.5.3Hasil Pengujian ke-3

Universitas Sumatera Utara

77

Uji coba ini dilakukan pada gambar dengan resolusi 500 x 500 piksel, dengan
menginputkan kata kunci “sana & kiru” pada kedua kunci double Playfair cipher
untuk mengenkripsi citra yang telah di input, dan menginput publik key untuk
mengenkripsi kunci dari double playfair, lalu di dapat hasil perubahan citranya.Hasil
uji coba dapat dilihat pada Gambar 4.31 berikut:

(a. Enkripsi)

Pada proses selanjutnya hasil citra yang telah dienkripsi kemudian di input kembali,
lalu import private key dan kunci double playfair yang telah dienkripsi kunci pada
proses enkripsi sebelumnya, dan di dapat hasil dari perubahan citra kembali seperti
sebelum dilakukan enkripsi citra. Hasil uji coba dapat dilihat pada Gambar 4.31
berikut:
(b. Dekripsi)

Universitas Sumatera Utara

78

Gambar 4.31 Hasil Uji Coba ke-3
4.2.5.4 Hasil Pengujian ke-4
Uji coba ini dilakukan pada gambar dengan resolusi 550 x 550 piksel, dengan
menginputkan kata kunci “kalu & gich” pada kedua kunci double Playfair cipher
untuk mengenkripsi citra yang telah di input, dan menginput publik key untuk
mengenkripsi kunci dari double playfair, lalu di dapat hasil perubahan citranya.Hasil
uji coba dapat dilihat pada Gambar4.32 berikut:
(a. Enkripsi)

Universitas Sumatera Utara

79

Pada proses selanjutnya hasil citra yang telah dienkripsi kemudian di input kembali,
lalu import private key dan kunci double playfair yang telah dienkripsi kunci pada
proses enkripsi sebelumnya, dan di dapat hasil dari perubahan citra kembali seperti
sebelum dilakukan enkripsi citra. Hasil uji coba dapat dilihat pada Gambar 4.32
berikut:

(b. Dekripsi)

Gambar 4.32 Hasil Uji Coba ke-4

4.2.5.5 Hasil Pengujian ke-5
Uji coba ini dilakukan pada gambar dengan resolusi 600 x 600 piksel, dengan
menginputkan kata kunci “ikan & soya” pada kedua kunci double Playfair cipher
untuk mengenkripsi citra yang telah di input, dan menginput publik key untuk

Universitas Sumatera Utara

80

mengenkripsi kunci dari double playfair, lalu di dapat hasil perubahan citranya. Hasil
uji coba dapat dilihat pada Gambar 4.33 berikut:
(a. Enkripsi)

Pada proses selanjutnya hasil citra yang telah dienkripsi kemudian di input kembali,
lalu import private key dan kunci double playfair yang telah dienkripsi kunci pada
proses enkripsi sebelumnya, dan di dapat hasil dari perubahan citra kembali seperti
sebelum dilakukan enkripsi citra. Hasil uji coba dapat dilihat pada Gambar 4.33
berikut:
(b. Dekripsi)

Gambar 4.33 Hasil Uji Coba ke-5

Universitas Sumatera Utara

81

Dari uji coba yang telah di lakukan di atas diperoleh hasil seperti pada Tabel 4.1
berikut:

Tabel 4.1 Hasil Uji Coba untuk 5 kali pengujian
No

Resolusi
(Piksel)

Ukuran dalam kilobyte
Citra

Enkripsi

Dekripsi

1

400 x 400

105

625

625

2

450 x 450

146

791

791

3

500 x 500

167

976

976

4

550 x 550

189

1210

1210

5

600 x 600

199

1440

1440

Dari Tabel 4.1 dapat dibuat grafik perbandingan hasil pengujian antara ukuran file
plainteks dan cipherteks seperti Gambar 4.34.

1600

Ukuran (kilobyte)
1400
1200
1000
800
600
400
200
0
400

450

500

550

Citra Asli

600

Dekripsi

Resolusi ( piksel x piksel)
Enkripsi

Gambar 4.34 Grafik perbandingan hasil pengujian antara ukuran file citra asli, hasil dekripsi,
hasil enkripsi.

Universitas Sumatera Utara

82

BAB 5
KESIMPULAN DAN SARAN

Bab ini akan disimpulkan, aplikasi telah dapat melakukan proses pemampatan data.
Pada bab ini juga disajikan saran-saran yang bermanfaat sebagai masukan bagi
pengembangan Aplikasi pengamanan file citra Jpeg menggunakan Algoritma Elgamal
dan Algoritma Double Playfair Cipher yang lebih baik.
5.1. Kesimpulan
1. Aplikasi yang dirancang dalam penelitian telah mampu melakukan proses
pengamanan file citra dengan melakukan enkripsi dan dekripsi pada file citra.
2. Enkripsi citra dengan menggunakan algoritma Double Playfair Cipher dapat
mengamankan citra.
3. Enkripsi kunci dengan menggunakan algoritma Elgamal dapat mengamankan
kunci Double Playfair.
4. File yang sudah di enkripsi menjadi cipherimage memiliki karakter yang lebih
banyak atau panjang dibandingkan dengan file sebelum dilakukan proses
enkripsi.
5. Ukuran file hasil enkripsi dan dekripsi lebih besar dibanding ukuran file citra
asli.

Universitas Sumatera Utara

83

5.2 Saran
Adapun saran-saran yang dapat penulis berikan untuk pengembangan dan perbaikan
sistem ini adalah sebagai berikut:
1. Sistem ini hanya mampu melakukan pengamanan pada citra Jpeg (*.Jpeg),
sehingga untuk pengembangan selanjutnya dapat dilakukan pada citra
berformat *.BMP, *.TIF, *.PNG, dan format citra lainnya.
2. Sistem dapat dikembangkan dengan menambahkan jenis data yang dapat
diamankan seperti audio dan video.
3. Sistem hanya berjalan pada perangkat desktop, diharapkan kedepannya bisa
dikembangkan menjadi sistem yang dapat berjalan pada perangkat mobile.
4. Sistem dapat dikembangkan dengan menambahkan rentang waktu pada setiap
proses enkripsi dan dekripsi agar membantu dalam membandingkan citra asli
dan citra setelah diubah.
5. Untuk penelitian berikutnya diharapkan citra yang dihasilkan adalah citra
RGB.

Universitas Sumatera Utara