Implementasi Algoritma Kriptografi Hill Cipher dan Kompresi Data Menggunakan Algoritma Levenstein Dalam Pengamanan File Teks Chapter III V

BAB III
PERANCANGAN SISTEM

3.1. Analisis Sistem
Analisis sistem adalah salah satu tahap perancangan sebuah sistem yang bertujuan
agar sistem yang dirancang menjadi tepat guna dan ketahanan sistem tersebut akan
lebih terjaga. Selain itu, dilakukannya anallisis dapat mempermudah kerja apabila
suatu saat ada perbaikan atau penambahan dalam sistem tersebut. Secara umum
analisis sistem terbagi atas analisis masalah, analisis kebutuhan, dan analisis proses.

3.1.1. Analisis Masalah
Masalah dari penelitian ini adalah adanya perubahan ukuran file setelah dilakukan
penyandian menggunakan algoritma Hill Cipher yang menyebabkan ukuran file
menjadi lebih besar. Masalah utama dalam penelitian ini adalah bagaimana
menerapkan algoritma kompresi Levenstein dan algoritma kriptografi Hill Cipher
untuk mengamankan file teks.
Masalah penelitian ini diidentifikasikan menggunakan diagram Ishikawa
seperti pada gambar 3.1. Bagian kepala atau segiempat yang berada di sebelah kanan
merupakan masalah. Sementara pada bagian tulang merupakan penyebab.

Universitas Sumatera Utara


26

Gambar 3.1 Diagram Ishikawa Masalah Penelitian

3.1.2. Analisis Kebutuhan
Analisis kebutuhan terdapat dua kebutuhan yaitu kebutuhan fungsional dan kebutuhan
non fungsional.

3.1.2.1. Kebutuhan Fungsional
Kebutuhan fungsional menjelaskan proses-proses aktivitas yang dapat dilakukan oleh
sistem dalam melakukan pelayanan yang dilakukan sistem dan kebutuhan yang harus
dipenuhi oleh sistem, yaitu :
a. Sistem harus mampu membaca nilai string byte pada file teks txt, doc, rtf.
b. Sistem harus mampu melakukan kompresi dengan menggunakan Levenstein
untuk nilai string byte yang telah dibaca sehingga menghasilkan file yang telah
dikompresi, serta mampu melakukan dekompresi sehingga menjadi string
yang sama sebelum dikodekan.
c. Sistem harus mampu melakukan enkripsi manggunakan Hill Cipher setiap
karakter yang telah dikompresi sehingga menghasikan ciphertext, serta sistem

harus mampu melakukan dekripsi menjadi string yang sama dengan string
sebelum dienkripsi.

Universitas Sumatera Utara

27

3.1.2.2. Kebutuhan Non Fungsional
Kebutuhan non-fungsional mendekripsikan fitur, karakteristik dan batasan lainnya
seperti performa, penggunaan , model penyimpanan data, dokumentasi, kontrol, dan
ekonomi.
1. Performa
Perangkat lunak yang akan dibangun dapat menunjukkan hasil dari fungsi
kriptografi yang dilakukan sistem.
2. Efisiensi
Sistem atau perangkat lunak yang akan dibangun harus sesederhana mungkin agar
mudah digunakan oleh pengguna.
3. Dokumentasi
Sistem atau perangkat lunak yang akan dibangun dapat menyimpan data hasil
proses enkripsi.

4. Manajemen kualitas
Perangkat lunak yang dibangun harus memiliki kualitas yang baik yaitu proses
yang cepat dan akurat.
5. Kontrol
Perangkat lunak yang dibangun akan menampilkan pesan setiap input yang tidak
sesuai.

3.1.3. Analisis Proses
Pada penelitian ini sistem yang dibangun menggunakan algoritma Levenstein untuk
kompresi dan dekompresi file dan algoritma Hill Cipher untuk enkripsi dan dekripsi
sebuah file.
Penggabungan algoritma kriptografi untuk penyandian data dan algoritma
kompresi dilakukan dengan cara yaitu pada awalnya plaintext dikompresi dengan
algoritma Levenstein dan menghasilkan ukuran file yang lebih kecil. Lalu file yang
telah dikompresi dienkripsi dengan kunci matriks yang invertible.
Untuk mengembalikan file seperti awal maka file didekripsi terlebih dahulu
setelah itu didekompresi sehingga menghasilkan file asli seperti awal.

Universitas Sumatera Utara


28

3.2. Pemodelan Sistem
Pemodelan aplikasi bertujuan untuk menggambarkan semua kondisi dan bagianbagian dalam sistem yang dirancang. Pemodelan aplikasi dilakukan dengan membuat
use-case diagram dan activity diagram.

3.2.1. Use-Case Diagram
Diagram usecase digunakan untuk menggambarkan hubungan antara aktor dengan
fungsi atau layanan yang disediakan oleh sistem (Ambler, 2005).
Untuk menganalisa komponen 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.2.

Gambar 3.2 Use-Case Diagram

Berikut ini merupakan tabel narrative usecase yang dapat dilihat pada tabel
3.1 yang menjelaskan usecase kompresi dan enkripsi pesan.

Universitas Sumatera Utara


29

Tabel 3.1 Narrative Use-Case Kompresi Enkripsi
Use-case Name

Kompresi

Design Scope

Sistem

Goal Level

User Goal

Stakeholder and

Pengguna dapat melakukan kompresi dan enkripsi file untuk


Interest

menjaga keamanan file

Precondition

Pengguna menginputkan pesan dan kunci (generate)

Minimal Guarantee

Sistem akan memberikan pesan error ketika kompresi dan
enkripsi file gagal

Success Guarantee

Sistem akan memberikan pesan kompresi dan enkripsi telah
sukses

Trigger


Pengguna menekan tombol kompresi kemudian enkripsi

Main Success

1. Pengguna menginputkan file yang akan dikompresi

Scenario

2. Pengguna menekan tombol kompresi
3. Sistem melakukan proses kompresi
4. Sistem akan menyimpan hasil kompresi
5. Sistem menampilkan pesan bahwa kompresi pesan
telah sukses
6. Pengguna memasukkan kunci
7. Pengguna menekan tombol enkripsi
8. Sistem melakukan enkripsi pesan
9. Sistem menampilkan pesan bahwa enkripsi pesan
sukses

Berikut ini merupakan tabel narrative usecase yang dapat dilihat pada tabel

3.2 yang menjelaskan usecase dekripsi dan dekompresi file.

Tabel 3.2 Narrative Use-Case Dekripsi Dekompresi
Use-case Name

Dekripsi

Design Scope

Sistem

Goal Level

User Goal

Stakeholder and

Pengguna dapat melakukan dekripsi dan dekompresi untuk

Universitas Sumatera Utara


30

Interest

mengembalikan file sesuai dengan ekstensi awal

Precondition

Pengguna menginputkan file asli dan kunci

Minimal Guarantee

Sistem akan memberikan pesan error ketika dekripsi dan
dekompresi file gagal

Success Guarantee

Sistem akan memberikan pesan dekripsi dan dekompresi
telah sukses


Trigger

Pengguna menekan tombol dekripsi kemudian dekompresi

Main Success
Scenario

1. Pengguna menginputkan file yang akan didekripsi dan
kunci
2. Pengguna menekan tombol dekripsi
3. Sistem menghitung invers kunci
4. Sistem melakukan proses dekripsi
5. Sistem akan menyimpan hasil dekripsi
6. Sistem menampilkan pesan bahwa dekripsi telah
sukses
7. Pengguna menekan tombol dekompresi
8. Sistem melakukan dekompresi pesan
9. Sistem menampilkan pesan bahwa dekompresi pesan
sukses


3.2.2. Activity Diagram
Diagram aktivitas menggambarkan proses atau urutan aktivitas dalam sebuah sistem.
Activity diagram juga bertujuan untuk membantu memahami proses dan
menggambarkan setiap interaksi yang ada antara beberapa usecase yang digunakan
(Ambler, 2005).

3.2.2.1. Activity Diagram Proses Kompresi Levenstein
Pada proses kompresi, aktivitas yang berlangsung dapat digambarkan pada Activity
Diagram seperti pada Gambar 3.3 berikut :

Universitas Sumatera Utara

31

Gambar 3.3 Activity Diagram Proses Kompresi Levenstein

3.2.2.2. Activity Diagram Proses Enkripsi Hill Cipher
Pada proses enkripsi, aktivitas yang berlangsung dapat digambarkan pada Activity
Diagram seperti pada Gambar 3.4 berikut :

Gambar 3.4 Activity Diagram Proses Enkripsi Hill Cipher

Universitas Sumatera Utara

32

3.2.2.3. Activity Diagram Proses Dekripsi Hill Cipher
Pada proses dekripsi, aktivitas yang berlangsung dapat digambarkan pada Activity
Diagram seperti pada Gambar 3.5 berikut :

Gambar 3.5 Activity Diagram Proses Dekripsi Hill Cipher

3.2.2.4. Activity Diagram Proses Dekompresi Levenstein
Pada proses dekompresi, aktivitas yang berlangsung dapat digambarkan pada Activity
Diagram seperti pada Gambar 3.6 berikut :

Gambar 3.6 Activity Diagram Proses Dekompresi Levenstein

Universitas Sumatera Utara

33

3.2.3. 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 sistem ini dapat dilihat
pada Gambar 3.7 berikut :

Gambar 3.7 Sequence Diagram Sistem

3.3. Arsitektur Umum Sistem
Arsitektur Umum Sistem adalah gambaran sistem secara menyeluruh yang
menunjukkan langkah-langkah proses interaksi terhadap sebuah sistem, yang meliputi
proses kriptografi, yaitu proses enkripsi-dekripsi file dan proses kompresi yaitu proses
kompresi-dekompresi file. Beberapa proses langkah yang dapat dilakukan pengguna
pada sistem dapat dilihat pada Gambar 3.8.

Universitas Sumatera Utara

34

Modul Kompresi-Enkripsi

File

Enkripsi
Hill Cipher

Kompresi
Levenstein

File terkompresiterenkripsi
Modul Dekripsi-Dekompresi
File

Dekripsi
Hill Cipher

Dekompresi
Levenstein

Gambar 3.8 Arsitektur Umum Sistem

Dilihat dari Arsitektur Umum Sistem pada Gambar 3.8. menjelaskan bahwa
Alice merupakan pengguna yang berperan sebagai pengirim yang melakukan proses
kompresi dan enkripsi, dan Bob merupakan pengguna yang berperan sebagai
penerima yang melakukan proses dekripsi dan dekompresi. Langkah pertama yaitu
Alice mengkompresi file menggunakan Algoritma Levenstein kemudian mengekripsi
file yang telah terkompresi menggunakan algoritma Hill Cipher dan menghasilkan file
terkompresi-enkripsi. Proses selanjutnya adalah proses dekripsi yang dilakukan oleh
Bob dengan menggunakan algoritma Hill Cipher, proses dekripsi tersebut masih
menghasilkan file terkompresi. Untuk mengembalikan file asli makan Bob
mengkompresi

file

terkompresi

menggunakan

Algoritma

Levenstein

dan

menghasilkan file asli yang dikirim oleh pengirim pesan.

3.4. Flowchart Sistem
Flowchart atau diagram alir merupakan gambar atau bagan yang memperlihatkan
urutan dan hubungan antar proses dengan pernyataannya (Zarlis & Handrizal, 2008).
Berikut adalah flowchart sistem yang dapat dilihat pada Gambar 3.9.

Universitas Sumatera Utara

35

Mulai

Masukkan File
teks

Kompresi

Hasil Kompresi

Enkripsi

Hasil Enkripsi

Dekripsi

Hasil Dekripsi

Dekompresi

Hasil Dekompresi

Selesai

Gambar 3.9 Flowchart Sistem

Universitas Sumatera Utara

36

3.4.1. Flowchart Algoritma Levenstein
Berikut adalah flowchart kompresi file dari sistem yang akan dibangun seperti pada
Gambar 3.10.
Mulai
Input file teks (*.doc,*.rtf,*.txt) yang akan dikompresi

Baca nilai byte file, lalu urutkan tiap karakter berdasakan frekuensi

Tiap karakter dikodekan dengan kode levenstein

Hasil

Selesai
Gambar 3.10 Flowchart Kompresi Levenstein

3.4.2. Flowchart Algoritma Hill Cipher
Berikut adalah flowchart enkripsi pesan dari sistem yang dibangun seperti pada
Gambar 3.11.
Mulai

Input plainteks dan generate kunci
Enkripsi : �



� ��� �

Cipherteks

Selesai
Gambar 3.11 Flowchart Enkripsi Hill Cipher

Universitas Sumatera Utara

37

Berikut adalah flowchart dekripsi pesan dari sistem yang dibangun dapat
dilihat pada Gambar 3.12.
Mulai

Input cipherteks dan kunci
Hitung �

Dekripsi : �



� ��� �

Plainteks

Selesai
Gambar 3.12 Flowchart Dekripsi Hill Cipher

3.5. Perancangan Antarmuka
Perancangan antarmuka adalah desain awal dari tampilan sistem yang akan dibangun.
Antarmuka harus dirancang dengan memperhatikan faktor pengguna sehingga sistem
yang dibangun dapat memberikan kenyamanan dan kemudahan untuk digunakan oleh
pengguna. Sistem yang dibangun terdiri dari form utama atau home, pengirim,
penerima, bantuan , dan tentang.

3.5.1. Rancangan Halaman Utama
Halaman menu utama adalah halaman yang muncul pertama kali saat sistem
dijalankan. Rancangan halaman tersebut dapat dilihat pada Gambar 3.13.

Universitas Sumatera Utara

38

Gambar 3.13 Rancangan Halaman Utama / Beranda

Keterangan gambar dapat dilihat pada tabel 3.3 berikut :
Tabel 3.3 Keterangan Rancangan Halaman Utama
No

Nama

Keterangan

1

Menu strip beranda

Berguna untuk menampilkan halaman utama/ beranda

2

Menu strip menu

Berguna untuk menampilkan halaman men7 yang
terdiri dari halaman pengirim dan halaman penerima

3

Menu strip bantuan

Berguna untuk melihat tata cara penggunaan aplikasi

4

Label 1

Menampilkan judul skripsi

5

Label 2

Menampilkan nama penulis

6

Picture box

Menampilkan gambar logo

7

Label 3

Menampilkan nama universitas

Universitas Sumatera Utara

39

3.5.2. Rancangan Halaman Pengirim
Pada halaman pengirim ini, pengguna dapat melakukan proses kompresi dan enkripsi
pesan yang akan dikirim ke penerima. Gambar 3.14 menunjukkan tampilan sementara
dari halaman pengirim.

Gambar 3.14 Rancangan Halaman Pengirim

Keterangan gambar dapat dilihat pada tabel 3.4 berikut :
Tabel 3.4 Keterangan Rancangan Pengirim
No
1

Nama
Menu Strip

Keterangan
Berguna untuk menampilkan halaman utama/ beranda,
pengirim, penerima dan bantuan

2

Label Pilih File

Menampilkan tulisan pilih file

Universitas Sumatera Utara

40

3

Textbox Pilih File

Menampilkan sumber dari file yang dipilih

4

Button Cari

Tombol untuk membuka dan mengambil file

5

Label ukuran

Menampilkan tulisan ukuran

6

Textbox ukuran

Menampilkan nilai dari ukuran file

7

Label Ekstensi

Menampilkan tulisan ekstensi

8

Textbox Ekstensi

Menampilkan

ekstensi

dari

file

yang

dipilih

(*.txt,*.doc,*.rtf)
9

Button Kompresi

Tombol untuk memulai proses kompresi

10

Label Size

Menampilkan tulisan Size

11

Textbox Size

Menampilkan ukuran file setelah dikompresi

12

Label Space Saving

Menampilkan tulisan Space Saving

13

Textbox Space

Menampilkan besar ukuran yang dihemat

Saving
14

Label Compression

Menampilkan tulisan Compression Ratio

Ratio
15

Textbox

Menampilkan hasil Compression Ratio

Compression Ratio
16

Label Time

Menampilkan tulisan Time

17

Textbox Time

Menampilkan waktu lamanya proses kompresi

18

Label Ratio of

Menampilkan tulisan Ratio of Compression

Compression
19

Textbox Ratio of

Menampilkan hasil Ratio of Compression

Compression
20

Button Generate

Tombol untuk membangkitkan kunci matriks

Kunci
21

Textbox kunci

22

Button Simpan Kunci Tombol untuk menyimpan kunci

23

Button Enkripsi

Tombol untuk memulai proses enkripsi

24

Label Size

Menampilkan tulisan Size

25

Textbox Size

Menampilkan ukuran file setelah dienkripsi

26

Label Time

Menampilkan tulisan Time

27

Textbox Time

Menampilkan waktu lamanya proses enkripsi

Menampilkan hasil pembangkitan kunci

Universitas Sumatera Utara

41

28

Button Simpan

Tombol untuk menyimpan data setelah dikompresi
dan enkripsi.

3.5.3. Rancangan Halaman Penerima
Pada halaman penerima ini, pengguna dapat melakukan proses dekripsi dan
dekompresi file untuk mengembalikan file seperti awal. Gambar 3.15 menunjukkan
tampilan sementara dari halaman penerima.

Gambar 3.15 Rancangan Halaman Penerima

Keterangan gambar dapat dilihat pada tabel 3.5 berikut :
Tabel 3.5 Keterangan Rancangan Halaman Penerima
No
1

Nama
Menu Strip

Keterangan
Berguna untuk menampilkan halaman utama/ beranda,
pengirim, penerima, dan bantuan

2

Label Pilih File

Menampilkan tulisan pilih file

Universitas Sumatera Utara

42

3

Textbox Pilih File

Menampilkan sumber dari file yang dipilih

4

Button Cari

Tombol untuk membuka dan mengambil file

5

Label Ekstensi Asli

Menampilkan tulisan Ekstensi Asli

6

Textbox Ekstensi

Menampilkan ekstensi asli dari file

Asli
7

Button Load Kunci

Tombol untuk memilih file kunci

8

Textbox Kunci

Menampilkan kunci

9

Button Dekripsi

Tombol untuk memulai proses dekripsi

10

Label Size

Menampilkan tulisan Size

11

Textbox Size

Menampilkan ukuran file setelah didekripsi

12

Label Time

Menampilkan tulisan Time

13

Textbox Time

Menampilkan waktu lamanya proses dekripsi

14

Button Dekompresi

Tombol untuk memulai proses dekompresi

15

Label Size

Menampilkan tulisan Size

16

Textbox Size

Menampilkan ukuran file setelah didekompresi

17

Label Time

Menampilkan tulisan Time

18

Textbox Time

Menampilkan waktu lamanya proses dekompresi

19

Button Simpan

Tombol untuk menyimpan file yang telah diproses

20

Button Tampilkan

Tombol untuk menampilkan pada aplikasi microsoft
word file yang telah disimpan

3.5.4. Rancangan Halaman Bantuan
Pada halaman bantuan ini, pengguna dapat melihat keterangan mengenai cara
menggunakan aplikasi ini. Gambar 3.16 menunjukkan tampilan sementara dari
halaman bantuan.

Universitas Sumatera Utara

43

Gambar 3.16 Rancangan Halaman Bantuan

Keterangan gambar dapat dilihat pada tabel 3.6 berikut :
Tabel 3.6 Keterangan Rancangan Halaman Bantuan
No
1

Nama
Menu Strip

Keterangan
Berguna

untuk

menampilkan

halaman

utama/

beranda, pengirim, penerima dan bantuan
2

Label Pengirim

Menampilkan tulisan pengirim

3

Picturebox pengirim

Menampilkan gambar proses halaman pengirim

4

Label Penerima

Menampilkan tulisan penerima

5

Picturebox penerima

Menampilkan gambar proses halaman penerima

Universitas Sumatera Utara

BAB IV
IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab ini penulis memaparkan bagaimana implementasi dan juga hasil pengujian
aplikasi yang dilakukan pada Algoritma Kriptografi Hill Cipher dan Algoritma
Kompresi Levenstein yang sudah dibangun menggunakan Sharp Development.

4.1. Implementasi Sistem
Tahap implementasi dilakukan setelah tahap perancangan pada sistem dibuat.
Implementasi 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 3 halaman, yaitu : halaman Beranda, halaman Menu,
dan halaman Bantuan.

4.1.1. Halaman Beranda
Beranda merupakan halaman yang pertama kali muncul ketika sistem dijalankan.
Halaman Beranda menampilkan menu strip yang membantu menuju ke halaman
lainnya dan judul sistem, nama pembuat sistem, logo dan informasi universitas.
Tampilan halaman Beranda dapat dilihat pada gambar 4.1.

Universitas Sumatera Utara

45

Gambar 4.1 Menu Home

4.1.2. Halaman Menu
Halaman Menu memilki 2 submenu didalamnya, yaitu menu Pengirim dan Penerima.

4.1.2.1. Submenu Pengirim
Submenu Pengirim merupakan halaman proses yang akan digunakan oleh pengirim
pesan untuk melakukan kompresi dan enkripsi terhadap file teks yang dipilih..
Tampilan dari submenu Pengirim dapat dilihat pada Gambar 4.2.

Universitas Sumatera Utara

46

Gambar 4.2 Submenu Pengirim

4.1.2.2. Submenu Penerima
Submenu Penerima merupakan halaman proses yang akan digunakan oleh penerima
pesan untuk melakukan dekompresi dan dekripsi agar dapat melihat file teks asli yang
telah dimampatkan dan diamankan sebelumnya. Tampilan dari submenu Penerima
dapat dilihat pada Gambar 4.3.

Universitas Sumatera Utara

47

Gambar 4.3 Submenu Penerima

4.1.3. Halaman Bantuan
Pada menu Bantuan menampilkan informasi mengenai langkah-langkah penggunaan
aplikasi ini sehingga memudahkan pengguna. Tampilan dari halaman bantuan dapat
dilihat pada Gambar 4.4.

Universitas Sumatera Utara

48

Gambar 4.4 Menu Bantuan

4.2. Pengujian Sistem
Pada tahap ini akan dilakukan pengujian pada beberapa file dengan kapasitas yang
berbeda-beda yaitu file TXT 1 (46854 byte), TXT 2 (239245 byte), DOC 1 (32768
byte), DOC 2 (41472 byte), RTF 1 (152998 byte), dan RTF 2 (452795 byte). Namun
pada pengujian ini file yang akan ditampilkan hanya beberapa file. Sebagai
perwakilannya adalah file dengan format *.txt, *.doc, dan *.rtf. Kunci pada pengujian
akan disimpan dalam format *.key yang telah ditentukan pada program. File yang

Universitas Sumatera Utara

49

telah dikompresi dan enkripsi disimpan dalam format yang telah ditentukan program.
4.2.1. Pengujian proses Kompresi dan Enkripsi
Setelah memilih submenu pengirim maka akan dilakukan proses kompresi dan
enkripsi file. Hal yang dilakukan pertama sekali adalah memilih file yang akan
diproses. Berikut langkah – langkah untuk memilih file yang akan diproses.
1. Tekan tombol Cari, untuk membuka Open File Dialog dan file teks
(*.txt,*.doc,*.rtf) yang akan dikompresi. Form Open File Dialog dapat dilihat
pada Gambar 4.5.

Gambar 4.5 Open File Dialog input file teks
2. Kemudian sistem akan menampilkan lokasi, ukuran dan ekstensi (format) file
yang telah dipilih tersebut. Tampilan akan terlihat pada aplikasi seperti pada
Gambar 4.6.

Universitas Sumatera Utara

50

Gambar 4.6 Tampilan file terpilih
Untuk lebih rinci akan diuji proses enkripsi pada beberapa file yaitu TXT, DOC dan
RTF akan ditampilkan sebagai berikut :

a) Proses Kompresi dan Enkripsi File dengan Format TXT (.txt)

Berikut file format TXT dengan nama File TXT 1 yang akan dilakukan kompresi dan
enkripsi yang dapat dilihat pada gambar 4.7.

Gambar 4.7 File TXT 1

Setelah file dipilih maka dapat dilakukan proses kompresi dengan menekan
tombol Kompresi dan apabila berhasil, maka akan muncul hasil seperti pada gambar
4.8 :

Universitas Sumatera Utara

51

Gambar 4.8 Proses Kompresi File TXT 1

Setelah dilakukan kompresi, maka tahap selanjutnya yaitu melakukan enkripsi
dengan terlebih dahulu men-generate kunci matriks seperti gambar 4.9 berikut :

Gambar 4.9 Proses Generate Kunci

Setelah itu kunci disimpan dengan format KEY (.key) seperti pada gambar
4.10 berikut :

Universitas Sumatera Utara

52

Gambar 4.10 Proses Penyimpanan Kunci

Selanjutnya dilakukan proses enkripsi dengan menekan tombol Enkripsi.
Apabila berhasil maka akan muncul messagebox berhasil dienkripsi seperti pada
gambar 4.11 berikut :

Gambar 4.11 Messagebox berhasil dienkripsi

Kemudian akan tampil hasil ukuran file dan lama proses enkripsi seperti
gambar 4.12 berikut :

Universitas Sumatera Utara

53

Gambar 4.12 Proses Enkripsi File TXT 1

Selanjutnya simpan hasil dengan format .hlvt untuk file TXT seperti gambar
4.13 berikut :

Gambar 4.13 Save dialog Hasil

Universitas Sumatera Utara

54

Hasil file akan menjadi seperti gambar 4.14 berikut :

Gambar 4.14 Hasil Enkripsi File TXT 1

Selanjutnya file format TXT dengan nama File TXT 2 yang akan dilakukan
kompresi dan enkripsi yang dapat dilihat pada gambar 4.15.

Gambar 4.15 File TXT 2

Universitas Sumatera Utara

55

Setelah dikompresi dan dienkripsi maka akan menghasilkan tampilan seperti
gambar 4.16 berikut :

Gambar 4.16 Proses kompresi dan enkripsi File TXT 2

Lalu tekan tombol simpan, maka file akan disimpan dengan format .hlvt dan
akan mengasilkan seperti gambar 4.17 berikut :

Universitas Sumatera Utara

56

Gambar 4.17 Hasil Enkripsi File TXT 2

b) Proses Kompresi dan Enkripsi File dengan Format DOC (.doc)

Berikut file format DOC dengan nama File DOC 1 yang akan dilakukan kompresi
dan enkripsi yang dapat dilihat pada gambar 4.18.

Gambar 4.18 File DOC 1

Universitas Sumatera Utara

57

Setelah dikompresi dan dienkripsi maka akan menghasilkan tampilan seperti
gambar 4.19 berikut :

Gambar 4.19 Proses kompresi dan enkripsi File DOC 1

Lalu tekan tombol simpan, maka file akan disimpan dengan format .hlvd dan
akan mengasilkan seperti gambar 4.20 berikut :

Universitas Sumatera Utara

58

Gambar 4.20 Hasil Enkripsi File DOC 1

Selanjutnya file format DOC dengan nama File DOC 2 yang akan dilakukan
kompresi dan enkripsi yang dapat dilihat pada gambar 4.21.

Gambar 4.21 File DOC 2

Universitas Sumatera Utara

59

Setelah dikompresi dan dienkripsi maka akan menghasilkan tampilan seperti
gambar 4.22 berikut :

Gambar 4.22 Proses kompresi dan enkripsi File DOC 2

Lalu tekan tombol simpan, maka file akan disimpan dengan format .hlvd dan
akan mengasilkan seperti gambar 4.23 berikut :

Universitas Sumatera Utara

60

Gambar 4.23 Hasil Enkripsi File DOC 2

c)

Proses Kompresi dan Enkripsi File dengan Format RTF(.rtf)

Berikut file format RTF dengan nama File RTF 1 yang akan dilakukan kompresi dan
enkripsi yang dapat dilihat pada gambar 4.24.

Gambar 4.24 File RTF 1

Universitas Sumatera Utara

61

Setelah dikompresi dan dienkripsi maka akan menghasilkan tampilan seperti
gambar 4.25 berikut :

Gambar 4.25 Proses kompresi dan enkripsi File RTF 1

Lalu tekan tombol simpan, maka file akan disimpan dengan format .hlvr dan
akan mengasilkan seperti gambar 4.26 berikut :

Universitas Sumatera Utara

62

Gambar 4.26 Hasil Enkripsi File RTF 1

Selanjutnya file format RTF dengan nama File RTF 2 yang akan dilakukan
kompresi dan enkripsi yang dapat dilihat pada gambar 4.27.

Gambar 4.27 File RTF 2

Universitas Sumatera Utara

63

Setelah dikompresi dan dienkripsi maka akan menghasilkan tampilan seperti
gambar 4.28 berikut :

Gambar 4.28 Proses kompresi dan enkripsi File RTF 2

Lalu tekan tombol simpan, maka file akan disimpan dengan format .hlvr dan
akan mengasilkan seperti gambar 4.29 berikut :

Universitas Sumatera Utara

64

Gambar 4.29 Hasil Enkripsi File RTF 2

4.2.2. Pengujian proses Dekripsi dan Dekompresi

Setelah proses kompresi dan enkripsi file telah berhasil, maka akan diperoleh file yang
berbeda dengan file aslinya. Untuk mengembalikan file tersebut menjadi seperti
semula maka dilakukan proses dekripsi dan dekompresi dengan memilih menu strip
penerima. Untuk lebih rinci, berikut akan diuji beberapa file yang telah dikompresi
dan enkripsi sebelumnya.

a) Proses Dekripsi dan Dekompresi File dengan Format TXT (.txt)

Berikut merupakan tampilan proses pengujian dekripsi file TXT 1 yang disimpan
dengan nama “Enkrip TXT 1.hlvt”. Pertama sekali cari file tersebut dan juga load
kunci yang memiliki format .key , lalu lakukan dekripsi dan dekompresi seperti pada
gambar 4.27.

Universitas Sumatera Utara

65

Gambar 4.30 Proses Dekripsi Dekompresi File “Enkrip TXT 1”
Lalu simpan pada direktori yang diinginkan maka akan muncul messagebox
seperti gambar 4.31 berikut :

Gambar 4.31 Messagebox simpan file Hasil TXT 1

Universitas Sumatera Utara

66

Hasil dari proses tersebut akan kembali seperti aslinya. Berikut tampilan
hasilnya pada gambar 4.32.

Gambar 4.32 Hasil Proses Dekripsi Dekompresi File “Enkrip TXT 1”
Selanjutnya merupakan tampilan proses pengujian dekripsi file TXT 2 yang
disimpan dengan nama “Enkrip TXT 2.hlvt”. Pertama sekali cari file tersebut dan juga
load kunci yang memiliki format .key , lalu lakukan dekripsi dan dekompresi seperti
pada gambar 4.33.

Universitas Sumatera Utara

67

Gambar 4.33 Proses Dekripsi Dekompresi File “Enkrip TXT 2”
Lalu simpan pada direktori yang diinginkan maka akan muncul messagebox
seperti gambar 4.34 berikut :

Gambar 4.34 Messagebox simpan file Hasil TXT 2

Universitas Sumatera Utara

68

Hasil dari proses tersebut akan kembali seperti aslinya. Berikut tampilan
hasilnya pada gambar 4.35.

Gambar 4.35 Hasil Proses Dekripsi Dekompresi File “Enkrip TXT 2”
b) Proses Dekripsi dan Dekompresi File dengan Format DOC (.doc)

Berikut merupakan tampilan proses pengujian dekripsi file DOC 1 yang
disimpan dengan nama “Enkrip DOC 1.hlvd”. Pertama sekali cari file tersebut dan
juga load kunci yang memiliki format .key , lalu lakukan dekripsi dan dekompresi
seperti pada gambar 4.36.

Universitas Sumatera Utara

69

Gambar 4.36 Proses Dekripsi Dekompresi File “Enkrip DOC 1”
Lalu simpan pada direktori yang diinginkan maka akan muncul messagebox
seperti gambar 4.37 berikut :

Gambar 4.37 Messagebox simpan file Hasil DOC 1

Universitas Sumatera Utara

70

Hasil dari proses tersebut akan kembali seperti aslinya. Berikut tampilan
hasilnya pada gambar 4.38.

Gambar 4.38 Hasil Proses Dekripsi Dekompresi File “Enkrip DOC 1”
Selanjutnya merupakan tampilan proses pengujian dekripsi file DOC 2 yang
disimpan dengan nama “Enkrip DOC 2.hlvd”. Pertama sekali cari file tersebut dan
juga load kunci yang memiliki format .key , lalu lakukan dekripsi dan dekompresi
seperti pada gambar 4.39.

Universitas Sumatera Utara

71

Gambar 4.39 Proses Dekripsi Dekompresi File “Enkrip DOC 2”
Lalu simpan pada direktori yang diinginkan maka akan muncul messagebox
seperti gambar 4.40 berikut :

Gambar 4.40 Messagebox simpan file Hasil DOC 2

Universitas Sumatera Utara

72

Hasil dari proses tersebut akan kembali seperti aslinya. Berikut tampilan
hasilnya pada gambar 4.41.

Gambar 4.41 Hasil Proses Dekripsi Dekompresi File “Enkrip DOC 2”
c)

Proses Dekripsi dan Dekompresi File dengan Format RTF (.trtf)

Berikut merupakan tampilan proses pengujian dekripsi file RTF 1 yang
disimpan dengan nama “Enkrip RTF 1.hlvd”. Pertama sekali cari file tersebut dan juga
load kunci yang memiliki format .key , lalu lakukan dekripsi dan dekompresi seperti
pada gambar 4.42.

Universitas Sumatera Utara

73

Gambar 4.42 Proses Dekripsi Dekompresi File “Enkrip RTF 1”
Lalu simpan pada direktori yang diinginkan maka akan muncul messagebox
seperti gambar 4.43 berikut :

Gambar 4.43 Messagebox simpan file Hasil RTF 1

Universitas Sumatera Utara

74

Hasil dari proses tersebut akan kembali seperti aslinya. Berikut tampilan
hasilnya pada gambar 4.44.

Gambar 4.44 Hasil Proses Dekripsi Dekompresi File “Enkrip RTF 1”
Selanjutnya merupakan tampilan proses pengujian dekripsi file RTF 2 yang
disimpan dengan nama “Enkrip RTF 2.hlvd”. Pertama sekali cari file tersebut dan juga
load kunci yang memiliki format .key , lalu lakukan dekripsi dan dekompresi seperti
pada gambar 4.45.

Universitas Sumatera Utara

75

Gambar 4.45 Proses Dekripsi Dekompresi File “Enkrip RTF 2”
Lalu simpan pada direktori yang diinginkan maka akan muncul messagebox
seperti gambar 4.46 berikut :

Gambar 4.46 Messagebox simpan file Hasil RTF 2

Universitas Sumatera Utara

76

Hasil dari proses tersebut akan kembali seperti aslinya. Berikut tampilan
hasilnya pada gambar 4.47.

Gambar 4.47 Hasil Proses Dekripsi Dekompresi File “Enkrip RTF 2”

4.2.3. Pengujian dengan Perhitungan Manual
Berikut adalah file format TXT dengan nama “Halo” yang akan diproses seperti pada
gambar 4.48 berikut :

Gambar 4.48 File Halo
a) Kompresi Manual dengan Algoritma Levenstein
Setelah memilih file maka pilih menu pengirim, kemudian pilih tombol kompresi
maka akan tampil hasil seperti gambar 4.49

Universitas Sumatera Utara

77

Gambar 4.49 Proses Kompresi File Halo
Proses pertama perhitungan manual dari file teks yang berisikan string “SAYA
WINDI” yaitu karakter tersebut diurutkan terlebih dahulu berdasarkan dari karakter
yang memiliki frekuensi terbesar ke terkecil. Untuk ukuran String dapat dilihat pada
Tabel 4.1.
Tabel 4.1 String yang Belum Dikompresi
char

ASCII Code

ASCII Code (Binary)

Bit

Frek

Bit x Frek

A

65

01000001

8

2

16

I

73

01001001

8

2

16

S

83

01010011

8

1

8

Y

89

01011001

8

1

8

Sp

32

00100000

8

1

8

W

87

01010111

8

1

8

N

78

01001110

8

1

8

D

68

01000100

8

1

8

Total

80

Universitas Sumatera Utara

78

Berdasarkan kode ASCII, satu karakter bernilai delapan bit bilangan biner.
Sehingga 10 karakter pada string mempunyai nilai biner sebanyak 80 bit. Proses
kompresi untuk Levenstein Code dapat dilihat pada Tabel 4.2.
Tabel 4.2 String yang Sudah Dikompresi dengan Levenstein Code
n

Char

Levenstein Code

Bit

Frek

Bit x Frek

0

A

0

1

2

2

1

I

10

2

2

4

2

S

110

0

4

1

4

3

Y

110

1

4

1

4

4

Sp

1110 0 00

7

1

7

5

W

1110 0 01

7

1

7

6

N

1110 0 10

7

1

7

7

D

1110 0 11

7

1

7

Total

42

Dapat dibentuk string bit dari string sebelum dikompresi yaitu “ SAYA
WINDI” menjadi string bit “110001101011100001110001101110010111001110”
Sebelum ditulis ke sebuah file hasil kompresi dilakukan penambahan padding dan flag
bits diakhir string bit. Bit-bit itu dihasilkan dari panjang string bit itu sendiri apakah
habis dibagi delapan dan berapa sisanya jika dibagi delapan.
Karena jumlah string bit 42 tidak habis dibagi delapan dan sisanya 2. Maka
dapat dibuat padding “000000” dan flagbits nya adalah “110001101011100001110
00110111001011100111000000000000110”. Sehingga total bit seluruhnya setelah
penambahan padding dan flag bits adalah 56 bit.

Universitas Sumatera Utara

79

b) Enkripsi Manual dengan Algoritma Hill Cipher
Kunci yang digunakan pada proses enkripsi adalah seperti pada gambar 4.50 berikut.

4
6
3

2
3
2

3
3
1

Gambar 4.50 Kunci Hill Cipher
Untuk melakukan enkripsi dari string yang telah dikompresi, maka string bit
tersebut diubah kembali menjadi char seperti pada tabel 4.3 berikut :
Tabel 4.3 Kode dari String Bit
Kode

11000110

10111000

01110001

10111001

01110011

10000000

00000110

198

184

113

185

115

128

6

ASCII
(binary)
Kode
ASCII

Proses enkripsi dapat silihat pada tabel 4.4 berikut:
Tabel 4.4 Enkripsi Hill Cipher Contoh
Kunci
Matriks

(

Plaintext

)

Hasil perkalian kunci

Ciphertext

dengan plaintext

Ciphertext

(

)

(

) (

)

(

)

(

)

(

)

)

(

)

(

)

( )

(

)

(
(

)

Universitas Sumatera Utara

80

c) Dekripsi Manual dengan Algoritma Hill Cipher
Proses dekripsi dapat silihat pada tabel 4.5 berikut:
Tabel 4.5 Dekripsi Hill Cipher Contoh
Hasil perkalian kunci

Ciphertext

)

(

Hasil Akhir

dengan ciphertext

(

)

(

) (

)

(

)

(

)

(

)

(

)

(

)

(

)

Plaintext
(

)

(

)

( )

d) Dekompresi Manual dengan Algoritma Levenstein
Untuk melakukan dekompresi dari plainteks yang telah didekripsi, maka string bit
tersebut diubah kembali menjadi kode biner seperti pada tabel 4.6 berikut :
Tabel 4.6 Kode dari String Bit
Kode

11000110

10111000

01110001

10111001

01110011

10000000

00000110

198

184

113

185

115

128

6

ASCII
(binary)
Kode
ASCII

Maka akan didapatkan string bit “11000110101110000111000110111001011
100111000000000000110”. Kemudian baca flagbits dari string tersebut yaitu ubah
delapan bit terakhir dari string menjadi nilai desimalnya yaitu :
11000110101110000111000110111001011 100111000000000000110
00000110 = 6
Dari hasil terdapat 6 buah padding bits. Selanjutnya hapus flag bits dan padding bits
dari string sehingga menjadi “110001101011100001110001101110010111001110”.
Selanjutnya cek dari bit pertama, apabila terdapat pada tabel kode levenstein
pada tabel 4.2 maka ubah ke string yang sesuai. Sehingga didapatkan hasil seperti
tabel 4.7 berikut :

Universitas Sumatera Utara

81

Tabel 4.7 Hasil Dekompresi
Levenstein Code

Char

1100

S

0

A

1101

Y

0

A

1110000

Sp

1110001

W

10

I

1110010

N

1110011

D

10

I

Dari hasil didapatkan string dari file tersebut adalah “SAYA WINDI” sesuai dengan
file asli sebelum diproses.

4.3. Hasil Pengujian
Dari uji coba yang telah dilakukan di atas diperoleh hasil seperti pada Tabel 4.8
berikut:
Tabel 4.8 Hasil Uji Coba
Ukuran dalam byte
No

Nama

Cr

SS

(%)

(%)

1,34

74,59

22,41

139145

1,14

87,37

12,63

19981

32768

1,64

60,98

39,02

28077

28075

41472

1,48

67,77

32,30

137946

137946

137946

152998

1,11

90,16

9,84

231441

231441

231441

452795

1,96

51,11

48,89

1,44

60,83

27,51

File

Asli

Kompresi

Enkripsi

1

TXT 1

46854

34947

34947

34947

46854

2

TXT 2

139145

121574

121575

121574

3

DOC 1

32768

19981

19983

4

DOC 2

41472

28075

5

RTF 1

152998

6

RTF 2

452795

Rata-Rata

Dekripsi

Dekompresi

Rc

Universitas Sumatera Utara

82

Dari Tabel 4.8 dapat dibuat grafik perbandingan hasil pengujian antara ukuran
file plainteks, file kompresi, dan cipherteks seperti Gambar 4.51.

500000

Ukuran (byte)

450000
400000
350000
300000
250000
200000
150000
100000
50000
0
TXT 1

TXT 2

DOC 1

Asli

Kompresi/Dekripsi

DOC 2
Enkripsi

RTF 1

RTF 2

Jenis File

Dekompresi

Gambar 4.51 Grafik perbandingan hasil pengujian antara ukuran file asli, hasil
kompresi/dekripsi, hasil enkripsi, dan hasil dekompresi

Dari uji coba dapat pula diperoleh hasil perbandingan berdasarkan waktu pada
tiap-tiap proses yang dilakukan, seperti pada Tabel 4.9.

Tabel 4.9 Hasil Uji Coba Berdasarkan Waktu
Waktu (s)
No

Nama File
Kompresi

Enkripsi

Dekripsi

Dekompresi

1

TXT 1

0,176

0,018

0,008

0,672

2

TXT 2

0,610

0,026

0,054

2,695

3

DOC 1

0,277

0,004

0,004

0,896

4

DOC 2

0,350

0,007

0,005

1,324

5

RTF 1

0,614

0,003

0,092

2,782

6

RTF 2

1,411

0,044

0,064

4,264

Rata-Rata

0,573

0,012

0,037

2,105

Universitas Sumatera Utara

83

Dari Tabel 4.9 dapat dibuat grafik perbandingan hasil pengujian terhadap
waktu pada proses kompresi, enkripsi, dekripsi, dan dekompresi seperti Gambar 4.52.

4.500
4.000
3.500

Waktu (s)

3.000
2.500
2.000
1.500
1.000
0.500
0.000
TXT 1

TXT 2

DOC 1
Kompresi

DOC 2
Enkripsi

RTF 1
Dekripsi

RTF 2

Jenis File

Dekompresi

Gambar 4.52 Grafik perbandingan hasil pengujian waktu pada proses
kompresi, enkripsi, dekripsi, dan dekompresi

Universitas Sumatera Utara

BAB V
KESIMPULAN DAN SARAN

Pada ini akan disimpulkan, aplikasi telah dapat melakukan proses pemampatan data
dan proses penyandian data. Pada bab ini juga disajikan saran-saran yang bermanfaat
sebagai masukan bagi pengembangan Aplikasi Kompresi data menggunakan
Algoritma Levenstein dan penyandian data menggunakan Algoritma Hill Cipher yang
lebih baik.

5.1. Kesimpulan

1. Aplikasi yang dirancang dalam penelitian telah mampu melakukan proses
kompresi file teks dengan Algoritma Levenstein dan penyandian file hasil
kompresi dengan Algoritma Hill Cipher .
2. Hasil pengujian kompresi dari file berdasarkan variabel Ratio of Compression
(RC), Compression Ratio (CR), dan Space Saving (SS) masing-masing dengan
nilai rata-rata sebesar 1.44, 60.83% , dan 27.51%.
3. File yang sudah di enkripsi menjadi cipherteks beberapa memiliki karakter
yang lebih banyak atau panjang dibandingkan dengan file sebelum dilakukan
proses enkripsi.
4. File hasil dekripsi sama persis seperti file awal sebelum dilakukan proses
enkripsi.
5. Berdasarkan grafik hubungan antara ukuran data pada proses kompresi,
enkripsi, dekripsi, dan dekompresi tersebut menunjukkan bahwa file enkripsi
menghasilkan ukuran terbesar, dan file kompresi menghasilkan ukuran
terkecil.
6. Berdasarkan grafik hubungan antara waktu proses kompresi, dekripsi, dan
dekompresi dengan ukuran file tersebut menunjukkan bahwa ukuran file
berbanding lurus dengan waktu. Semakin besar ukuran file tersebut maka
semakin besar waktu proses enkripsi, dekripsi, kompresi dan dekompresinya.

Universitas Sumatera Utara

85

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 proses kompresi dan pengamanan pada
file teks (*.txt,*doc,*rtf), sehingga untuk pengembangan selanjutnya dapat
dilakukan pada file teks format lainnya seperti *.pdf, *docx, dan format file
lainnya.
2. Untuk penelitian berikutnya diharapkan nilai kunci yang terdapat pada matriks
dapat lebih dari kombinasi nilai (1-10).
3. Dalam mencari nilai invers dari kunci matriks untuk selanjutnya dapat
menggunakan algoritma Extended Euclidean GCD.
4. Sistem dapat dikembangkan dengan menambahkan jenis data yang dapat
diamankan seperti citra, audio dan video.

Universitas Sumatera Utara