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
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