IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DAN KOMPRESI DATA MENGGUNAKAN ALGORITMA LEVENSTEIN
DALAM PENGAMANAN FILE TEKS
SKRIPSI
WINDI SAPUTRI SIMAMORA 131401085
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DAN KOMPRESI DATA MENGGUNAKAN ALGORITMA LEVENSTEIN
DALAM PENGAMANAN FILE TEKS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
WINDI SAPUTRI SIMAMORA 131401085
PROGRAM STUDI S-1 ILMU KOMPUTER
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA KRIPTOGRAFI
HILL CIPHER DAN KOMPRESI DATA
MENGGUNAKAN ALGORITMA LEVENSTEIN DALAM PENGAMANAN FILE TEKS
Kategori : SKRIPSI
Nama : WINDI SAPUTRI SIMAMORA Nomor Induk Mahasiswa : 131401085
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing:
Pembimbing 2 Pembimbing 1
Amer Sharif, S.Si, M.Kom M. Andri Budiman, ST, M.Comp.Sc, MEM NIP.- NIP. 197510082008011011
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
IMPLEMENTASI ALGORITMA KRIPTOGRAFI HILL CIPHER DAN KOMPRESI DATA MENGGUNAKAN ALGORITMA LEVENSTEIN DALAM PENGAMANAN
FILE TEKS
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan,
UCAPAN TERIMA KASIH
Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar-besarnya kepada:
1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Opim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara
4. Bapak Herriyance, S.T., M.Kom selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
5. Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M selaku Dosen Pembimbing I yang telah memotivasi dan senantiasa memberikan bimbingan, saran dan dukungan kepada penulis dalam pengerjaan skripsi ini.
6. Bapak Amer Sharif, S.Si, M.Kom selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.
7. Ibu Dr. Maya Silvi Lydia, M.Sc selaku dosen Pembanding I yang memberikan kritik dan saran untuk penyempurnaan skripsi ini.
8. Bapak Handrizal, S.Si, M.Comp.Sc selaku dosen Pembanding II yang memberikan kritik dan saran untuk penyempurnaan skripsi ini.
9. Seluruh dosen dan pegawai Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
11.Sahabat-sahabat seperjuangan Nurhasanah, Lily Aulya, Cut Amalia Safiiera, dan teman-teman angkatan 2013 yang juga senantiasa menjadi pengingat dan motivasi penulis.
12.Abangda Farid Akbar, Muhammad Miftahul Huda, yang telah banyak membantu dalam penyelesaian penelitian ini.
13.Keluarga UKMI Al-Khuwarizmi, IMILKOM yang telah memberikan inspirasi serta dukungan kepada penulis.
14.Dan semua pihak yang telah membantu dan tidak dapat disebutkan satu per satu.
Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan pahala yang melimpah dari Allah SWT.
Medan, Mei 2017
ABSTRAK
Dalam penggunaan komputer, aspek keamanan, kerahasiaan dan efisiensi penyimpanan data sangat diperlukan. Untuk menjaga keamanan dan kerahasiaan data tersebut salah satu teknik yang digunakan adalah Hill Cipher. Algoritma Hill Cipher
termasuk Algoritma Kunci Simetri. Levenstein Code merupakan salah satu algoritma kompresi yang menggunakan tabel Levenstein Code. Dalam penelitian ini, penulis menggabungan antara Algoritma Hill Cipher untuk melakukan penyandian data dan Algoritma Levenstein untuk kompresi data. File pertama kali dikompresi menggunakan Algoritma Levenstein Code, kemudian hasil kompresi tersebut dienkripsi dengan menggunakan Algoritma Hill Cipher. Implementasi sistem menggunakan bahasa pemrograman C#. Hasil penelitian menunjukkan bahwa metode
Hill Cipher dapat mengubah data sehingga tidak dapat dibuka tanpa kunci dan dapat
mengembalikan menjadi data semula. Metode Levenstein menghasilkan Ratio of
Compression (RC), Compression Ratio (CR), dan Space Saving (SS) masing-masing
dengan nilai rata-rata 1.44, 60.83%, dan 27.51% dalam proses kompresi data.
IMPLEMENTATION OF HILL CIPHER CRYPTOGRAPHY ALGORITHM AND DATA COMPRESSION USING LEVENSTEIN ALGORITHM IN TEXT FILE
SECURITY
ABSTRACT
In computer usage, aspects of security, confidentiality and efficiency of data storage are indispensable. To maintain the security and confidentiality of data one of the techniques used is the Hill Cipher. Hill Cipher is one of the Symmetry Key Algorithms. Levenstein Code is a compression algorithm that uses the Levenstein Code table. In this study, the author combined Hill Cipher algorithm to perform data encryption and Levenstein Code algorithm for data compression. The file was first compressed using Levenstein Code, then the result of the compression is encrypted using Hill Cipher algorithm. Implementation of the system used the C# programming language. The results showed that Hill Cipher method could altered the data so it could not be opened without a key and was able restore the original data. The Levenstein method in data compression generated Ratio of Compression (RC), Compression Ratio (CR), and Space Saving (SS) each with average values of 1.44, 60.83%, and 27.51% respectively.
DAFTAR ISI
Halaman
Persetujuan ... i
Pernyataan ... ii
Ucapan Terima Kasih... iii
Abstrak ... v
Abstract ... vi
Daftar Isi ... vii
Daftar Tabel ... ix
Daftar Gambar... x
Daftar Lampiran ... xii
Bab 1 Pendahuluan 1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 3
1.3. Batasan Masalah ... 3
1.4. Tujuan Penelitian ... 3
1.5. Manfaat Penelitian ... 3
1.6. Metode Penelitian ... 3
1.7. Sistematika Penulisan ... 4
Bab 2 Landasan Teori 2.1. Kompresi ... 6
2.1.1 Definisi Kompresi ... 6
2.1.2. Penggolongan Algoritma Kompresi ... 7
2.1.3. Pengukuram Kinerja Kompresi Data... 8
2.1.4. Konsep Kompresi Data ... 8
2.1.5. Algoritma Levenstein Code ... 9
2.2. Kriptografi ... 11
2.2.1. Definisi Kriptografi ... 11
2.2.2. Tujuan Kriptografi ... 11
2.2.3. Sistemi Kriptografi ... 12
2.2.4. Jenis Kriptografi ... 12
2.2.5. Algoritma Hill Cipher ... 14
2.3. File Teks ... 21
2.4. Penelitian yang Relevan. ... 24
Bab 3 Analisis dan Perancangan 3.1. Analisis Sistem ... 25
3.1.1. Analisis Masalah ... 25
3.1.2. Analisis Kebutuhan ... 26
3.1.2.1. Kebutuhan Fungsional ... 26
3.1.2.2. Kebutuhan Non Fungsional ... 27
3.1.3. Analisis Proses ... 27
3.2. Pemodelan Sistem ... 28
3.2.1. Use-Case Diagram ... 28
3.2.2. Activity Diagram ... 30
3.2.2.1. Activity Diagram Proses Kompresi Levenstein ... 30
3.2.2.3. Activity Diagram Proses Dekripsi Hill Cipher ... 32
3.2.2.4. Activity Diagram Proses Dekompresi Levenstein ... 32
3.2.2.5. Sequence Diagram ... 33
3.3. Arsitektur Umum Sistem ... 33
3.3. Flowchart Sistem ... 34
3.3.1. Flowchart Algoritma Levenstein ... 36
3.3.2. Flowchart Algoritma Hill Cipher ... 36
3.4. Perancangan Antarmuka (Interface) ... 37
3.4.1. Rancangan Halaman Utama ... 37
3.4.2. Rancangan Halaman Pengirim ... 39
3.3.3. Rancangan Halaman Penerima ... 41
3.3.4. Rancangan Halaman Bantuan ... 42
Bab 4 Implementasi Dan Pengujian Sistem 4.1. Implementasi Sistem ... 44
4.1.1. Halaman Beranda ... 44
4.1.2. Halaman Menu ... 45
4.1.2.1 Submenu Pengirim ... 45
4.1.2.2 Submenu Penerima ... 46
4.1.3. Halaman Bantuan ... 47
4.2. Pengujian Sistem ... 48
4.2.1. Pengujian proses Kompresi dan Enkripsi ... 49
4.2.2. Pengujian proses Dekripsi dan Dekompresi ... 64
4.2.3. Pengujian dengan Perhitungan Manual ... 76
4.3. Hasil Pengujian. ... 81
Bab 5 Kesimpulan dan Saran 5.1. Kesimpulan ... 84
5.2. Saran ... 85
DAFTAR TABEL
Halaman
Tabel 2.1 Tabel Kode Levenstein ... 10
Tabel 2.2 Transformasi Alphanumerik ... 17
Tabel 2.3 Enkripsi Hill Cipher ... 17
Tabel 2.4 Adjoint dari Matriks K ... 18
Tabel 2.5 Proses Pencarian Invers Determinan ... 20
Tabel 2.6 Dekripsi Hill Cipher ... 21
Tabel 2.7 Kode ASCII ... 23
Tabel 3.1 Narrative Use-Case Kompresi Enkripsi ... 29
Tabel 3.2 Narrative Use-Case Dekripsi Dekompresi ... 29
Tabel 3.3 Keterangan Rancangan HalamanUtama ... 38
Tabel 3.4 Keterangan Rancangan Halaman Pengirim ... 39
Tabel 3.5 Keterangan Rancangan Halaman Penerima ... 42
Tabel 3.6 Keterangan RancanganHalaman Bantuan... 43
Tabel 4.1 String yang Belum Dikompresi ... 77
Tabel 4.2 String yang Sudah Dikompresi dengan Levenstein Code ... 78
Tabel 4.3 Kode dari String Bit ... 79
Tabel 4.4 Enkripsi Hill Cipher Contoh ... 79
Tabel 4.5 Dekripsi Hill Chiper Contoh ... 80
Tabel 4.6 Kode dari String Bit ... 80
Tabel 4.7 Hasil Dekompresi... 81
Tabel 4.8 Hasil Uji Coba ... 81
DAFTAR GAMBAR
Halaman
Gambar 2.1 Diagram Blok Proses Kompresi dan Dekompresi Data ... 7
Gambar 2.2 Ilustrasi Kompresi Lossless ... 7
Gambar 2.3 Ilustrasi Kompresi Lossy ... 8
Gambar 2.4 Urutan proses kriptografi ... 11
Gambar 2.5 Skema Algoritma Simetris ... 13
Gambar 2.6 Skema Algoritma Asimetris ... 14
Gambar 2.7 Illustrasi Enkripsi Hill Cipher ... 17
Gambar 2.8 Illustrasi Dekripsi Hill Cipher ... 18
Gambar 3.1 Diagram Ishikawa Masalah Penelitian. ... 26
Gambar 3.2 Use-Case Diagram Pada Sistem ... 28
Gambar 3.3 Activity Diagram Proses KompresiLevenstein ... 31
Gambar 3.4 Activity Diagram Proses Enkripsi Hill Cipher ... 31
Gambar 3.5 Activity Diagram Proses Dekripsi Hill Cipher ... 32
Gambar 3.6 Activity Diagram Proses Dekompresi Levenstein ... 32
Gambar 3.7 Sequence Diagram Sistem ... 33
Gambar 3.8 Arsitektur Umum Sistem ... 34
Gambar 3.9 Flowchart Sistem ... 35
Gambar 3.10 Flowchart Kompresi Levenstein ... 36
Gambar 3.11 Flowchart Enkripsi Hill Cipher ... 36
Gambar 3.12 Flowchart Dekripsi Hill Cipher ... 37
Gambar 3.13 Rancangan Halaman Utama / Beranda ... 38
Gambar 3.14 Rancangan Halaman Pengirim ... 39
Gambar 3.15 Rancangan Halaman Penerima ... 41
Gambar 3.16 Rancangan Halaman Bantuan ... 43
Gambar 4.1 Menu Home ... 45
Gambar 4.2 Submenu Pengirim ... 46
Gambar 4.3 Submenu Penerima ... 47
Gambar 4.4 Menu Bantuan ... 48
Gambar 4.5 Open File Dialog input file teks ... 49
Gambar 4.6 Tampilan file terpilih ... 50
Gambar 4.7 File TXT 1 ... 50
Gambar 4.8 Proses Kompresi File TXT 1 ... 51
Gambar 4..9 Proses Generate Kunci ... 51
Gambar 4.10 Proses Penyimpanan Kunci ... 52
Gambar 4.11 Messagebox berhasil dienkripsi ... 52
Gambar 4.12 Proses Enkripsi File TXT 1... 53
Gambar 4.13 Save dialog Hasil... 53
Gambar 4.14 Hasil Enkripsi file TXT 1 ... 54
Gambar 4.15 File TXT 2 ... 54
Gambar 4.21 File DOC 2 ... 58
Gambar 4.22 Proses kompresi dan enkripsi File DOC 2 ... 59
Gambar 4.23 Hasil Enkripsi File DOC 2 ... 60
Gambar 4.24 File RTF 1 ... 60
Gambar 4.25 Proses kompresi dan enkripsi File RTF 1 ... 61
Gambar 4.26 Hasil Enkripsi File RTF 1 ... 62
Gambar 4.27 File RTF 2 ... 62
Gambar 4.28 Proses kompresi dan enkripsi File RTF 2 ... 63
Gambar 4.29 Hasil Enkripsi File RTF 2 ... 64
Gambar 4.30 Proses Dekripsi Dekompresi File “Enkrip TXT 1” ... 65
Gambar 4.31 Messagebox simpan file“Enkrip TXT 1” ... 65
Gambar 4.32 Hasil Proses Dekripsi Dekompresi File “Enkrip TXT 1” ... 66
Gambar 4.33 Proses Dekripsi Dekompresi File “Enkrip TXT 2” ... 67
Gambar 4.34 Messagebox simpan file“Enkrip TXT 2” ... 67
Gambar 4.35 Hasil Proses Dekripsi Dekompresi File “Enkrip TXT 2” ... 68
Gambar 4.36 Proses Dekripsi Dekompresi File “Enkrip DOC 1” ... 69
Gambar 4.37 Messagebox simpan file“Enkrip DOC 1” ... 69
Gambar 4.38 Hasil Proses Dekripsi Dekompresi File “Enkrip DOC 1” ... 70
Gambar 4.39 Proses Dekripsi Dekompresi File “Enkrip DOC 2” ... 71
Gambar 4.40 Messagebox simpan file“Enkrip DOC 2” ... 71
Gambar 4.41 Hasil Proses Dekripsi Dekompresi File “Enkrip DOC 2” ... 72
Gambar 4.42 Proses Dekripsi Dekompresi File “Enkrip RTF 1” ... 73
Gambar 4.43 Messagebox simpan file“Enkrip RTF 1”... 73
Gambar 4.44 Hasil Proses Dekripsi Dekompresi File “Enkrip RTF 1” ... 74
Gambar 4.45 Proses Dekripsi Dekompresi File “Enkrip RTF 2” ... 75
Gambar 4.46 Messagebox simpan file“Enkrip RTF 2” ... 75
Gambar 4.47 Hasil Proses Dekripsi Dekompresi File “Enkrip RTF 2” ... 76
Gambar 4.48 File Halo ... 76
Gambar 4.49 Proses Kompresi File Halo ... 77
Gambar 4.50 Kunci Hill Cipher ... 79
Gambar 4.51 Grafik perbandingan hasil pengujian antara ukuran file asli, hasil kompresi/dekripsi, hasil enkripsi, dan hasil dekompresi ... 82
DAFTAR LAMPIRAN