BAB 4 IMPLEMENTASI DAN PENGUJIAN
4.1. Implementasi
Dalam tugas akhir ini, program dibangun menggunakan bahasa pemrograman C dengan menggunakan editor Microsoft Visual Studio 2010. Aplikasi ini berjalan pada notebook
dengan sistem operasi Windows 7. Proses implementasi sistem yang terjadi di dalam aplikasi yang dirancang dibagi menjadi dua, yaitu:
1. Implementasi program enkripsi dan dekripsi file text maupun dokumen menggunakan
algoritma Elgamal. 2.
Implementasi program kompresi dan dekompresi file menggunakan algoritma Huffman. Hal tersebut betujuan untuk mengetahui bagaimana kinerja aplikasi secara garis besar
sebelum aplikasi dijalankan.
4.1.1. Implementasi Proses Enkripsi Menggunakan Algoritma Elgamal Sebagai contoh untuk melihat hasil kerja program, dilakukan percobaan dengan
menggunakan file teks dengan ekstensi .txt dengan panjang karakter 14 karakter seperti pada gambar 4.1.
Gambar 4.1 File Teks Input Dengan Ekstensi .txt
Universitas Sumatera Utara
1. Plaintext :
RACHMAT →�
1
= R → ubah menjadi bilangan ASCII yaitu 82
�
2
= A → ubah menjadi bilangan ASCII yaitu 65
�
3
= C → ubah menjadi bilangan ASCII yaitu 67
�
4
= H → ubah menjadi bilangan ASCII yaitu 72
�
5
= M → ubah menjadi bilangan ASCII yaitu 77
�
6
= A → ubah menjadi bilangan ASCII yaitu 65
�
7
= T → ubah menjadi bilangan ASCII yaitu 84
2
. Pilih Bilangan acak k dengan syarat 0 ≤ � ≤ − 2, maka 0 ≤ � ≤ 257 − 2 → 0 ≤ � ≤ 255.
Contoh: �=7.
3. Setiap blok m dienkripsikan dengan rumus:
a
=
g
k
mod p b
=
k
� � � Contoh:
a
=
g
k
mod p a
= 3
7
� � 257
a
= 2187 � � 257
a
= 2187 � � 257
a
= 131
b
=
k
� � �
b
1
=
k
�
1
� � = 81
7
82 � � 257
= 1875896981306802 � � 257
= 87
b
2
=
k
�
2
� � = 81
7
65 � � 257
= 1,486,991,509,572,465 � � 257
= 210
b
3
=
k
�
3
� � = 81
7
67 � � 257
= 1,532,745,094,482,387 � � 257
= 256
b
4
=
k
�
4
� � = 81
7
72 � � 257
= 1,647,129,056,757,192 � � 257
= 114
b
5
=
k
�
5
� � = 81
7
77 � � 257
= 1,761,513,019,031,997 � � 257
Universitas Sumatera Utara
= 229
b
6
=
k
�
6
� � = 81
7
65 � � 257
= 1,486,991,509,572,465 � � 257
= 210
b
7
=
k
�
7
� � = 81
7
84 � � 257
= 1,921,650,566,216,724 � � 257
= 133
File Enkripsi Elgamal yang dihasilkan dari file teks input setelah implementasi kode program adalah file dengan ekstensi .elgmc dengan ukuran panjang karakter 48 karakter.
4.1.2. Implementasi Proses Kompresi Menggunakan Algoritma Huffman Sebagai contoh untuk melihat hasil kerja program, dilakukan percobaan dengan
menggunakan file dengan ekstensi .elgmc seperti pada gambar 4.2. File Elgamal seperti pada gambar 4.1 apabila di kompresi akan menjadi file dengan ekstensi .hmc Huffman
Compressi seperti pada gambar 4.3.
Gambar 4.2 Proses Kompresi Kompresi
Gambar 4.3 File Teks Hasil Kompresi dengan Ekstensi .hmc
Universitas Sumatera Utara
dalam kode ASCII string 7 huruf “RACHMAT” membutuhkan representasi 7 × 8 bit = 56 bit
7 byte, dengan rincian sebagai berikut: R = 82 = 01010010
A = 65 = 01000001 C = 67 = 01000011
H = 72 = 01001000 M = 77 = 01001101
A = 65 = 01000001 T = 84 = 01010100
Berikut tabel yang menjelaskan jumlah bit huruf “RACHMAT” sebelum dilakukan proses kompresi:
Tabel 4.1 Jumlah Frequensi dan Bit Sebelum Proses Kompresi Untuk Karakter “RACHMAT”
Char Freq
Bit FreqBit
R 1
8 8
A 2
8 16
C 1
8 8
H 1
8 8
M 1
8 8
T 1
8 8
Jumlah 56
Universitas Sumatera Utara
Gambar 4.4 Pohon Huffman untuk Karakter “RACHMAT”
Berikut tabel yang menjelaskan jumlah bit huruf “RACHMAT” sebelum dilakukan proses kompresi:
Tabel 4.2 Jumlah Frequensi dan Bit Setelah Proses Kompresi Untuk Karakter “RACHMAT”
Char Huffman Kode
Bit Freq
FreqBit
R 111
3 1
3 A
01 2
2 4
C 100
3 1
4 H
101 3
1 4
M 110
3 1
4 T
00 2
1 2
Jumlah 18 bit
Universitas Sumatera Utara
Hasil Kompresi menjadi file .hmc, file .hmc merupakan file kompresi huffman Huffman Compressi. dengan proses kompresi dimana hasil kompresi setengah lebih kecil
dari file hasil enkripsi.
4.1.3. Implementasi Proses Dekompresi Menggunakan Algoritma Huffman Sebagai contoh untuk melihat hasil kerja program dalam melakukan proses dekompresi,
dilakukan percobaan dengan menggunakan file dengan .hmc. File .hmc apabila di dekompresi akan kembali menjadi file dengan ekstensi .elgmc seperti pada gambar 4.6.
Gambar 4.5 Proses Dekompresi
Gambar 4.6 File Teks Hasil Dekompresi dengan Ekstensi .elgmc
Universitas Sumatera Utara
4.1.4. Implementasi Proses Dekripsi Menggunakan Algoritma Elgamal Sebagai contoh untuk melihat hasil kerja program dalam proses dekripsi, dilakukan
percobaan dengan menggunakan file dengan ekstensi .elgmc. File .elgmc, apabila di dekripsi akan kembali menjadi file dengan ekstensi .docx seperti pada gambar 4.7.
Gambar 4.7 Proses Dekripsi
File Dekripsi Elgamal yang dihasilkan dari file teks input setelah implementasi kode program adalah file dengan ekstensi .docx dengan ukuran panjang karakter 903.
:
a
x – 1
= a
p – 1 – x
mod p = 131
257 – 1 – 4
mod p = 131
252
mod 257 = 190
b. Gunakan Kunci
private
dan kunci publik p untuk mendekripsi chipertext a dan b menjadi plaintext m dengan rumus: m = b
1
a
x – 1
mod p
�
1 =
b
1
a
x – 1
mod p
�
1 =
87190 mod 257
�
1 =
16530 mod 257
�
1 =
82 = R
Universitas Sumatera Utara
�
2 =
b
2
a
x – 1
mod p
�
2 =
210190 mod 257
�
2 =
39900
mod 257 �
2 =
65 = A
�
3 =
b
3
a
x – 1
mod p
�
3 =
256 190
mod 257 �
3 =
48640
mod 257 �
3 =
67 = C
�
4 =
b
4
a
x – 1
mod p
�
4 =
114 190
mod 257 �
4 =
21660
mod 257 �
4 =
72 = H
�
5=
b
5
a
x – 1
mod p
�
5=
229 190
mod 257 �
5=
43510
mod 257 �
5=
77 = M
�
6=
b
6
a
x – 1
mod p
�
6=
210 190
mod 257 �
6=
39900
mod 257 �
6=
65 = A
�
7=
b
7
a
x – 1
mod p
�
7=
133 190
mod 257 �
7=
25270
mod 257 �
7=
84 = T
Universitas Sumatera Utara
Gambar 4.8 File Teks Hasil Dekripsi dengan Ekstensi .txt
Untuk file input baik teks maupun dokumen yang dikompresi dengan Elgmal, hasil dekripsi tidak akan sama persis dengan hasil file input karena komponen lain seperti spasi, gambar,
tabel dan simbol-simbol khusus lainnya tidak akan ditampilkan.
4.1.5. Tampilan Form Tentang Halaman Tentang berfungsi sebagai halaman yang menampilkan keterangan tentang profil
singkat pembuat aplikasi. Halaman ini dapat diakses pada tab menu Tentang. Tampilan halaman Tentang dapat dilihat pada gambar 4.9.
Gambar. 4.9 Tampilan Halaman Tentang
Universitas Sumatera Utara
4.2. Pengujian