ANALISIS KOMBINASI ALGORITMA
KNAPSACK
DAN RLE
PADA
FILE
TEKS
SKRIPSI
NAMIRA LISTYA UTAMI TANJUNG
081401093
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
ANALISIS KOMBINASI ALGORITMA KNAPSACK DAN RLE
PADA FILE TEKS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
NAMIRA LISTYA UTAMI TANJUNG 081401093
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : ANALISIS KOMBINASI ALGORITMA KNAPSACK
DAN RLE PADA FILE TEKS
Kategori : SKRIPSI
Nama : NAMIRA LISTYA UTAMI TANJUNG
Nomor Induk Mahasiswa : 081401093
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI) UNIVERSITAS
SUMATERA UTARA
Diluluskan di
Medan, 22 Agustus 2013
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Syahril Efendi, S.Si, MIT M. Andri Budiman S.T., M.Comp.Sc., M.E.M. NIP. 196711101996021001 NIP. 197510082008011001
Diketahui/disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
PERNYATAAN
ANALISIS KOMBINASI ALGORITMA KNAPSACK DAN RLE PADA FILE TEKS
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Agustus 2013
PENGHARGAAN
Puji dan syukur penulis ucapkan kehadirat Allah SWT atas segala rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan skripsi yang berjudul ” Analisis Kombinasi Algoritma Knapsack Dan Rle Pada File Teks”. Skripsi ini merupakan salah satu syarat yang ditetapkan untuk memperoleh gelar sarjana komputer di Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, shalawat beriring salam penulis persembahkan kepada Nabi Besar Muhammad SAW.
Pada kesempatan kali ini penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membantu penulis selama pengerjaan skripsi ini, antara lain kepada :
1. Rektor USU Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc (CTM), Sp.A(K).
2. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Departemen Ilmu Komputer, Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara dan sebagai dosen penguji dan pembanding I.
4. Ibu Maya Silvi Lydia, BSc,.MSc selaku sekretaris Departemen Ilmu Komputer Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara.
5. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM dan bapak Syahril Efendi, S.Si, MIT selaku dosen pembimbing.
6. Bapak Ade Chandra, ST, M.Kom selaku dosen pembanding.
7. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
8. Seluruh dosen Departemen Ilmu Komputer, Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membimbing dan mencurahkan ilmunya selama masa perkuliahan.
9. Seluruh pegawai di lingkungan Program Studi S1 Ilmu Komputer Fasilkom-TI USU.
10. Kedua orang tua tercinta, Ayahanda H.M. Bustami Tanjung dan ibunda H. Ummi Salamah Lubis atas kasih sayang, do’a, dukungan dan motivasi yang tak ternilai harganya.
12. Keluarga besar S1 Ilmu Komputer, khususnya angkatan 2008 yang telah banyak memberi dukungan, masukan, dan kerjasama yang baik.
13. Dira Fahrendy Sembiring yang telah memberi semangat, bimbingan dan serta doanya.
14. Terkhusus ParkirRanger Saria Mahdi Ginting, S.kom, Nurul Faradhilla, S.Kom , Khairunisa Lubis, Skom, Octi Fadhilla Khair, S.Kom. Gustaf Prameswara, S.Kom. Setyo M. Syamsudin Noor, S.Kom, Nanang Tri Bhuana, S.Kom, Nasan Siregar, S.Kom, Marthin F.P, serta teman-teman dilingkungan kampus yang tidak bisa disebutkan satu-persatu yang telah memberikan dukungan yang begitu membekas dihati.
15. Guru-guru dari SD Kemala Bhayangkari 1 Medan, SMPN 15 Medan dan SMAN 14 Medan untuk ilmu yang telah diberikan.
16. Semua pihak yang terlibat langsung ataupun tidak langsung dalam membantu penyelesaian skripsi ini dan tidak dapat penulis ucapkan satu persatu.
Tak ada gading yang tidak retak, demikian juga halnya dengan skripsi ini. Kritik dan saran yang membangun sangat penulis harapkan. Semoga skripsi ini bisa memberikan manfaat bagi pembaca penulis sendiri, amin.
Medan, Agustus 2013
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 Run Length Encoding (RLE) merupakan algoritma yang mengecilkan ukuran file teks, apabila teks tersebut mengalami banyak perulangan karakter. Kombinasi algoritma Knapsack dan RLE 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 RLE pada file teks. Pada algoritma Knapsack akan terjadi penambahan ukuran file teks, hal ini dapat dilihat pada contoh kasus yang mana ukuran plainteks (pesan asli) adalah 9 bytes, kemudian setelah dilakukan proses enkripsi ukuran file teks menjadi 37 bytes. Pada algoritma kompresi RLE terjadi pengurangan ukuran sebagai contoh kasus cipherteks (pesan yang disamarkan) yang awalnya berukuran 37 bytes setelah dilakukan proses kompresi ukurannya menjadi 7 bytes. Proses kombinasi dapat dilakukan sebaliknya, yaitu kompresi teks terlebih dahulu kemudian enkripsi teks tersebut, masih dengan plainteks yang sama beukuran 9 bytes, setelah dilakukan kompresi ukuran file menjadi 2 bytes. Kemudian dilakukan enkripsi ukuran file menjadi 9 bytes. Karena itu pengunaan kombinasi enkripsi dan kompresi data lebih baik karena file menjadi lebih kecil dibandingkan kombinasi kompresi dan enkripsi data. Plainteks yang memiliki banyak perulangan karakter akan terkompresi dengan baik.
ANALYSIS COMBINATION KNAPSACK ALGORITHM AND RLE FOR TEXT FILE
ABSTRACT
Knapsack algorithm is part of the asymmetric cryptography which the encryption key is different from the decryption key. Apart from safety, the size of the file is also measure and the file may be compressed further. Run Length Encoding (RLE) algorithm is an algorithm that shrink the size of the text file, if and only if the text has a lot of looping of character. Combination of Knapsack and RLE 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 paper, writer makes a combination program of Knapsack and RLE 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 9 bytes, then after the encryption process the text file size becoming 37 bytes. In the RLE compression algorithm happen size reduction as an example the case of the ciphertext which initially measuring 37 bytes after compression process the size becoming 7 bytes. Combination process can be done otherwise, the text compression first and then the encrypting text, still with the same plaintext measuring 9 bytes, after the compressed file size to 2 bytes. Then do the encryption of the file size to 9 bytes. There for using a combination of encryption and file compression are better because it is smaller than a combination of compression and file encryption. The plaintext who has a lot of looping of character will be compressed correctly.
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Bab 1 Pendahuluan 1
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. Metodologi Penelitian 4 1.7. Sistematika Penulisan 5
Bab 2 Landasan Teori 6
2.1. Kriptografi 6
2.1.1 Pengertian Kriptografi 6 2.1.2 Enkripsi dan Dekripsi 7 2.1.3 Jenis Kriptografi 8 2.2. Algoritma Knapsack 10 2.3. Teori Dasar Kompresi 14
2.3.1 Kompresi data 14 2.3.2 Dekompresi data 16 2.4. Run Length Encoding 17
Bab 3 Analisis dan Perancangan Sistem 19
3.1. Analisis Sistem 19
3.1.1 Analisis Masalah 19 3.2 Analisis Persyaratan 20 3.2.1 Analisis Persyaratan Fungsional 21 3.2.2 Analisis Persyaratan Non-Fungsional 21
3.3.1 Pemodelan Persyaratan Sistem Use Case 22 3.3.2 Activity Diagram 26 3.3.3 Sequence Diagram 31 3.3.4 Perancangan Flowchart Sistem 34 3.3.4.1 Flowchart Proses Algoritma Knapsack 34 3.3.4.2 Flowchart Proses Algoritma RLE 36 3.3.4.3 Flowchart Proses Algoritma Kombinasi 37 3.4 Perancangan Antar Muka 40 3.4.1 Perancangan Form Beranda 41 3.4.2 Perancangan Form Menu 41
Bab 4 Implementasi dan Pengujian 45
4.1. Implementasi Sistem 45 4.1.1. Proses Tahapan Algoritma Knapsack dan RLE 45 4.1.1.1 Proses Bangkit Kunci 45 4.1.1.2 Proses Kompresi dan Enkripsi 47 4.1.1.3 Proses Enkripsi dan Kompresi 50 4.1.2. Tampilan Antarmuka Sistem 51 4.1.1.1.Tampilan Form Beranda 51 4.1.1.2.Tampilan Form Menu 52 4.1.1.3.Tampilan Form Tentang 52 4.1.1.4.Tampilan Form Bantuan 53
4.2 Pengujian 54
4.2.1 Pengujian Kompresi 54 4.2.2 Pengujian Dekompresi 55 4.2.3 Pengujian Bangkit Kunci 56 4.2.4 Pengujian Enkripsi 57 4.2.5 Pengujian Dekripsi 58 4.2.6 Pengujian Kombinasi Algoritma Knapsack dan RLE 59 4.2.7 Pengujian Dekripsi dan Dekompresi 61 4.2.8 Pengujian Dekompresi dan Dekripsi 63 4.2.9 Hasil Pengujian 64
Bab V Kesimpulan dan Saran 66
5.1. Kesimpulan 66
5.2. Saran 67
Daftar Pustaka 68
DAFTAR TABEL
Halaman
3.1 3.2 3.3 3.4 3.5 3.6 4.1 4.2
Spesifikasi Use Case Kompresi Spesifikasi Use Case Dekompresi Spesifikasi Use Case Bangkit Kunci Spesifikasi Use Case Enkripsi Spesifikasi Use Case Dekripsi Spesifikasi Use Case Kombinasi
Tabel Hasil Pengujian Kombinasi untuk TEKS1.txt Tabel Hasil Pengujian Kombinasi untuk TEKS2.txt
DAFTAR GAMBAR
Proses Enchipering dan Deciphering Kriptografi Simetris
Kriptografi Kunci Publik Compresion dan Decompresion Coder dan Decoder
Diagram Ishikawa untuk Analisis Permasalahan Sistem Use case diagram
Activity Diagram Kompresi Activity Diagram Dekompresi Activity Diagram Bangkit Kunci Activity Diagram Enkripsi Activity Diagram Dekripsi Activity Diagram Kombinasi
Sequence diagram Kombinasi Algoritma Kompresi dan Enkripsi Sequence diagram Kombinasi Algoritma Enkripsi dan Kompresi Sequence diagram Bangkit Kunci
Flowchart Enkripsi Flowchart Dekripsi Flowchart Kompresi Flowchart Dekompresi
Flowchart Kompresi dan Enkripsi Flowchart Enkripsi dan Kompresi Flowchart Dekompresidan Dekripsi Flowchart Dekripsi dan Dekompresi Form Beranda
Form Bangkit Kunci Form Kombinasi
Form Dekripsi dan Dekompresi Form Dekompresi dan Dekripsi
Source Code proses Bangkit Kunci Rahasia Source Code proses Bangkit Kunci Publik Source Code proses Kompresi
Source Code proses Enkripsi Source Code proses Dekripsi Source Code proses Dekompresi Tampilan Form Beranda
Tampilan Form Tentang Tampilan Form Bantuan
Tampilan Pop-up Windows Pilih Teks TampilanPengujianKompresi
TampilanPengujianDekompresi Tampilan Pengujian Bangkit Kunci
4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22
Tampilan Pengujian Enkripsi
Informasi Penyimpanan File Enkripsi TampilanPengujian Dekripsi
TampilanPengujianKombinasi untuk TEKS1 TampilanPengujianKombinasi untuk TEKS2
TampilanPengujianDekripsi dan Dekompresi untuk TEKS1 TampilanPengujianDekripsi dan Dekompresi untuk TEKS2 TampilanPengujianDekompresi dan Dekripsi untuk TEKS1 TampilanPengujianDekompresi dan Dekripsi untuk TEKS2