IMPLEMNTASI ALGORITMA KNAPSACK DAN ALGORITMA BOLDI-VIGNA (ζ4) PADA KEAMANAN DAN
KOMPRESI FILE TEKS
SKRIPSI
ERNA LESTARI
121401024
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
IMPLEMNTASI ALGORITMA KNAPSACK DAN ALGORITMA
BOLDI-VIGNA(ζ4) PADA KEAMANAN DAN
KOMPRESI FILE TEKS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
ERNA LESTARI
121401024
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
ii
PERSETUJUAN
Judul : IMPLEMNTASI ALGORITMA KNAPSACK DAN
ALGORITMA BOLDI-VIGNA (ζ4) PADA
KEAMANAN DAN KOMPRESI FILE TEKS
Kategori : SKRIPSI
Nama : ERNA LESTARI
Nomor Induk Mahasiswa : 121401024
Program Studi : S1 ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA
UTARA
Diluluskan di
Medan, Oktober 2016
Komisi Pembimbing:
Pembimbing 2 Pembimbing 1
Handrizal, S.Si, M.Comp.Sc Dian Rachmawati, S.Si, M.Kom
Nip.- NIP. 198307232009122004
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M. Kom
PERNYATAAN
IMPLEMNTASI ALGORITMA KNAPSACK DAN ALGORITMA
BOLDI-VIGNA(ζ4) PADA KEAMANAN DAN
KOMPRESI 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, Oktober 2016
Erna Lestari
iv
PENGHARGAAN
Alhamdulillah. Puji dan syukur kehadirat Allah SWT, yang dengan
rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini,
sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi
S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara.
Pada pengerjaan skripsi dengan judul Implementasi Algoritma
Knapsack dan Algoritma Boldi-Vigna (ζ4) pada Keamanan dan Kompresi File
Teks. penulis menyadari bahwa banyak pihak yang turut membantu, baik dari
pihak keluarga, sahabat dan orang-orang terkasih yang memotivasi dalam
pengerjaannya. Dalam kesempatan ini, penulis mengucapkan terima kasih
kepada:
1. Bapak Prof. Dr. Runtung Sitepu, SH, M. Hum selaku Rektor Universitas
Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim 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 Fakultas Ilmu Komputer dan Teknologi Informasi Universitas
Sumatera Utara.
4. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembimbing I yang telah
banyak memberikan arahan, kritik dan saran serta motivasi kepada penulis
dalam pengerjaan skripsi ini.
5. Bapak Handrizal, S.Si, M.Comp.Sc selaku Dosen Pembimbing II yang telah
memberikan kritik dan saran serta motivasi kepada penulis selama pengerjaan
skripsi.
6. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembanding I yang
telah memberikan arahan dan masukan yang sangat berharga kepada penulis.
7. Bapak Dr. Syahriol Sitorus, S.Si, M.IT selaku Dosen Pembanding II yang telah
8. Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan
Teknologi Informasi Universitas Sumatera Utara.
9. Ayahanda Suroso, Ibunda Tumiyem, kakanda Erni Syahputri, S.Si, adinda
Citra Apriani dan Ailah Khairana, abangda Muhammad Doni Hasibuan, ST
yang telah banyak memberikan kasih sayang, semangat, serta dorongan baik
materi maupun moral kepada penulis.
10.Teman-teman kuliah yang banyak membantu penulis selama masa
perkuliahan, menjadi tempat berbagi suka duka, yaitu Rina Iswara, Nur Hayati,
Desi Purnama Sari Sebayang, Nurun Hawa Pasaribu serta Stambuk 2012 yang
tidak dapat disebutkan satu persatu, serta abangda Farid Akbar Siregar S.Kom
yang telah banyak membantu selama pengerjaan skripsi ini
11.Sahabat-sahabat seperjuangan, kepada Nela Maya Sari, Karmila, Rendi
Syahputra, Eko Herianto, Muhammad Faisal dan lainnya yang tidak bisa
disebutkan satu persatu yang telah memberikan semangat serta dorongan baik
materi maupun moral kepada penulis.
12.Semua pihak yang terlibat langsung maupun tidak langsung yang tidak dapat
penulis ucapkan satu demi satu yang telah membantu penyelesaian skripsi ini.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang
telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam
menyelesaikan skripsi ini.
Medan, Oktober 2016
Penulis,
vi
ABSTRAK
Algoritma Knapsack merupakan bagian dari kriptografi asimetri yang mana kunci enkripsinya berbeda dengan kunci dekripsinya. Di samping masalah keamanan file teks, masalah ukuran dari sebuah file teks juga menjadi pertimbangan. File teks yang berukuran besar dapat dimampatkan dengan melakukan proses kompresi. Algoritma Boldi-Vigna (ζ4) merupakan algoritma yang mengecilkan ukuran file teks. Kombinasi algoritma Knapsack dan Boldi-Vigna (ζ4) dapat menjamin file Teks tidak dapat dilihat oleh pengguna yang tidak berhak dan dapat menjamin file teks dapat disimpan dalam media file yang berkapasitas rendah. Pada penelitian ini, penulis membuat program kombinasi algortitma knapsack dan Boldi-Vigna (ζ4) pada file teks. Pada algoritma Knapsack akan terjadi penambahan ukuran file teks, hal ini dapat dilihat pada contoh kasus yang mana ukuran plaintext (pesan asli) adalah 12 bytes, kemudian setelah dilakukan proses enkripsi ukuran file teks menjadi 45 bytes. Pada algoritma kompresi Boldi-Vigna (ζ4) terjadi pengurangan ukuran sebagai contoh kasus ciphertext (pesan yang disamarkan) yang awalnya berukuran 45 bytes setelah dilakukan proses kompresi ukurannya menjadi 28 bytes.
IMPLEMENTATION OF KNAPSACK ALGORITHM AND
BOLDI-VIGNA (ζ4) ALGORITHM ON SECURITY
AND COMPRESSION OF FILE TEXT
ABSTRACT
Knapsack algorithm is part of the asymmetric cryptography which the encryption key is different from the decryption key. Beside of security problem, the size of the file is also measure and the file may be compressed further. Boldi-Vigna (ζ4) algorithm is an
algorithm that shrink the size of the text file. Combination of Knapsack and Boldi-Vigna (ζ4) algorithm can guarantee that text files may not be seen by unauthorized
users and to ensure the text file may be stored in a low-capacity media file. In this research, writer makes a combination program of Knapsack and Boldi-Vigna (ζ4) for
text files. Sometimes Knapsack algorithm may add the size of the text file, it can be seen in the case where the size of the plaintext is only 12 bytes, then after the encryption process the text file size becoming 45 bytes. In the Boldi-Vigna (ζ4)
compression algorithm happen size reduction as an example the case of the ciphertext which initially measuring 45 bytes after compression process the size becoming 28 bytes.
viii
1.6 Metodologi Penelitian 3
1.7 Sistematika Penulisan 4
BAB 2 Landasan Teori
2.2.1 Klasifikasi Tipe Kompresi data 13
2.3.2 Dekompresi Data 14
2.4 Algoritma Boldi-Vigna (ζ4) 15
2.5 Parameter Pembanding 17
2.6 Penelitian yang Relevan 17
BAB 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 19
3.1.1 Analisis masalah 19
3.1.2 Analisis Persyaratan 20
3.1.3 Pemodelan Sistem 21
3.1.4 Flowchart 27
3.1.4.1 Flowchart sistem secara umum 27 3.1.4.2 Flowchart proses Algoritma Knapsack 29 3.1.4.3 Flowchart proses Algoritma Boldi-Vigna (ζ4) 32
BAB 4 Implementasi dan Pengujian Sisten
4.1 Implementasi Sistem 46
4.1.1 Proses tahapan Algoritma Knapsack dan Algoritma 46 Boldi-Vigna (ζ4)
4.1.1.1 Proses Bangkit Kunci 46 4.1.1.2 Proses Enkripsi dan Kompresi 48 4.1.1.3 Proses Dekompresi dan Dekripsi 53
4.2 Tampilan Antarmuka Sistem 55
4.2.1 Tampilan form Beranda 55
4.2.2 Tampilan form Menu 55
4.2.3 Tampilan form Bangkit Kunci 56 4.2.4 Tampilan form Enkripsi dan Kompresi 57 4.2.5 Tampilan form Dekompresi dan Dekripsi 57 4.2.6 Tampilan form Bantuan 58 4.2.7 Tampilan form Tentang 58
4.3 Pengujian 59
4.3.1 Pengujian Bangkit Kunci 59 4.3.2 PengujianEnkripsi dan Kompresi 60 4.3.3 Pengujian Dekompresi dan Dekripsi 63
4.3.4 Hasil Pengujian 65
BAB 5 Kesimpulan dan Saran
5.1 Kesimpulan 67
5.2 Saran 67
x
DAFTAR TABEL
Hal.
DAFTAR GAMBAR
Hal.
Gambar 2.1 Sistem Kriptografi Konvensional 6 Gambar 2.2 Skema kriptografi Simetris 7 Gambar 2.3 Skema Kriptografi Asimetris 8 Gambar 2.4 Compression dan Decompression 14 Gambar 3.1 Diagram Ishikawa untuk analasis permasalahan sistem 20 Gambar 3.2 Use Case Diagram pada sistem 22 Gambar 3.3 Activity Diagram Bangkit Kunci 23 Gambar 3.4 Activity Diagram Enkripsi dan Kompresi 24 Gambar 3.5 Activity Diagram Dekompresi dan Dekripsi 25 Gambar 3.6 Sequence Diagram Bangkit Kunci 26 Gambar 3.7 Sequence Diagram Enkripsi dan Kompresi 26 Gambar 3.8 Sequence Diagram Dekompresi dan Dekripsi 27 Gambar 3.9 Flowchart Enkripsi dan Kompresi 28 Gambar 3.10 Flowchart Dekompresi dan Dekripsi 29 Gambar 3.11 Flowchart Bangkit Kunci 30
Gambar 3.12 Flowchart Enkripsi 31
Gambar 3.13 Flowchart Dekripsi 32
Gambar 3.14 Flowchart Kompresi 33
Gambar 3.15 Flowchart Dekompresi 34
Gambar 3.16 Form Beranda 35
Gambar 3.17 Form Menu 36
Gambar 3.18 Form Bangkit Kunci 37
Gambar 3.19 Form Enkripsi dan Kompresi 39 Gambar 3.20 Form Dekompresi dan Dekripsi 41
Gambar 3.21 Form Bantuan 43
Gambar 3.22 Form Tentang 44
Gambar 4.1 Tampilan form Beranda 55
Gambar 4.2 Tampilan form Menu 56
Gambar 4.3 Tampilan form Bangkit Kunci 56 Gambar 4.4 Tampilan form Enkripsi dan Kompresi 57 Gambar 4.5 Tampilan form Dekompresi dan Dekripsi 57
Gambar 4.6 Tampilan form Bantuan 58
Gambar 4.7 Tampilan form Tentang 58
Gambar 4.8 Tampilan form pengujian Bangkit Kunci 59 Gambar 4.9 Tampilan form penyimpanan hasil bangkit 60 Gambar 4.10 Open dialog load Kunci 61 Gambar 4.11 Tampilan hasil Enkripsi 61 Gambar 4.12 Tampilan hasil Kompresi 62 Gambar 4.13 Tampilan save file hasil Kompresi 62
Gambar 4.14 Tampilan Open file 63
xii
DAFTAR LAMPIRAN
Hal.
Lampiran 1 Listing Program A-1