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
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
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.
28
3.2. Pemodelan Sistem
Pemodelan aplikasi bertujuan untuk menggambarkan semua kondisi dan
bagian-bagian 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
Tabel 3.1 Narrative Use-Case Kompresi Enkripsi
Use-case Name Kompresi Design Scope Sistem Goal Level User Goal Stakeholder and
Interest
Pengguna dapat melakukan kompresi dan enkripsi file untuk
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
Scenario
1. Pengguna menginputkan file yang akan dikompresi
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
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
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 :
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 :
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
34
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).
Gambar 3.9 Flowchart Sistem Mulai
Masukkan File teks
Kompresi
Hasil Kompresi
Enkripsi
Hasil Enkripsi
Selesai Dekripsi
Hasil Dekripsi
Dekompresi
36
3.4.1. Flowchart Algoritma Levenstein
Berikut adalah flowchart kompresi file dari sistem yang akan dibangun seperti pada
Gambar 3.10.
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.
Gambar 3.11 Flowchart Enkripsi Hill Cipher Mulai
Baca nilai byte file, lalu urutkan tiap karakter berdasakan frekuensi Input file teks (*.doc,*.rtf,*.txt) yang akan dikompresi
Hasil
Tiap karakter dikodekan dengan kode levenstein
Selesai
Mulai
Input plainteks dan generate kunci
Cipherteks
Enkripsi : � � � ����
Berikut adalah flowchart dekripsi pesan dari sistem yang dibangun dapat dilihat pada Gambar 3.12.
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. Mulai
Input cipherteks dan kunci
Plainteks Hitung �
Dekripsi : � � � ����
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
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 Nama Keterangan
1 Menu Strip Berguna untuk menampilkan halaman utama/ beranda,
pengirim, penerima dan bantuan
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 Saving
Menampilkan besar ukuran yang dihemat
14 Label Compression
Ratio
Menampilkan tulisan Compression Ratio
15 Textbox
Compression Ratio
Menampilkan hasil Compression Ratio
16 Label Time Menampilkan tulisan Time
17 Textbox Time Menampilkan waktu lamanya proses kompresi 18 Label Ratio of
Compression
Menampilkan tulisan Ratio of Compression
19 Textbox Ratio of Compression
Menampilkan hasil Ratio of Compression
20 Button Generate Kunci
Tombol untuk membangkitkan kunci matriks
21 Textbox kunci Menampilkan hasil pembangkitan 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
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 Nama Keterangan
1 Menu Strip Berguna untuk menampilkan halaman utama/ beranda,
pengirim, penerima, dan bantuan
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 Asli
Menampilkan ekstensi asli dari file
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
Gambar 3.16 Rancangan Halaman Bantuan
Keterangan gambar dapat dilihat pada tabel 3.6 berikut :
Tabel 3.6 Keterangan Rancangan Halaman Bantuan
No Nama Keterangan
1 Menu Strip 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
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.
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
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
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
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
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
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
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
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 Proses Enkripsi File TXT 1
Selanjutnya simpan hasil dengan format .hlvt untuk file TXT seperti gambar 4.13 berikut :
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.
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
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.
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
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.
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
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.
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
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.
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
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.30 Proses Dekripsi Dekompresi File “Enkrip TXT 1”
Lalu simpan pada direktori yang diinginkan maka akan muncul messagebox seperti gambar 4.31 berikut :
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”
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 :
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)
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 :
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”
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 :
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)
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 :
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”
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 :
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
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
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 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.
b) Enkripsi Manual dengan Algoritma Hill Cipher
Kunci yang digunakan pada proses enkripsi adalah seperti pada gambar 4.50 berikut.
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
ASCII
(binary)
11000110 10111000 01110001 10111001 01110011 10000000 00000110
Kode
ASCII
198 184 113 185 115 128 6
Proses enkripsi dapat silihat pada tabel 4.4 berikut:
Tabel 4.4 Enkripsi Hill Cipher Contoh
Kunci Matriks
Plaintext Hasil perkalian kunci
dengan plaintext Ciphertext Ciphertext
80
c) Dekripsi Manual dengan Algoritma Hill Cipher
Proses dekripsi dapat silihat pada tabel 4.5 berikut:
Tabel 4.5 Dekripsi Hill Cipher Contoh
Ciphertext Hasil perkalian kunci
dengan ciphertext Hasil Akhir 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
ASCII
(binary)
11000110 10111000 01110001 10111001 01110011 10000000 00000110
Kode
ASCII
198 184 113 185 115 128 6
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
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 :
Tabel 4.7 Hasil Dekompresi
Levenstein Code Char
1100 S
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
No Nama Asli Kompresi Enkripsi Dekripsi Dekompresi
82
Dari Tabel 4.8 dapat dibuat grafik perbandingan hasil pengujian antara ukuran
file plainteks, file kompresi, dan cipherteks seperti Gambar 4.51.
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
No Nama File
Waktu (s)
Kompresi Enkripsi Dekripsi Dekompresi
Dari Tabel 4.9 dapat dibuat grafik perbandingan hasil pengujian terhadap
waktu pada proses kompresi, enkripsi, dekripsi, dan dekompresi seperti Gambar 4.52.
Gambar 4.52 Grafik perbandingan hasil pengujian waktu pada proses kompresi, enkripsi, dekripsi, dan dekompresi
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
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