ANALISIS KOMBINASI ALGORITMA KNAPSACK DAN RLE PADA FILE TEKS SKRIPSI NAMIRA LISTYA UTAMI TANJUNG 081401093

  

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

MEDAN

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

  2013

  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, Dr. Poltak Sihombing, M.Kom NIP. 196203171991021001

  

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 NAMIRA LISTYA UTAMI TANJUNG 081401093

  

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.

  11. Ketiga adinda Dhabitah Amalina Utami Tanjung, M.Raja’a Fawwaz Tanjung, dan M. Rafiuddin Tanjung yang selalu memberi semangat dan do’anya.

  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 Penulis

  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.

  Katakunci : File Teks, Knapsack, Kompresi, Kriptografi, Run Length Encoding

  

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.

  Keywords: Compression, Cryptography, Knapsack, Run Length Encoding, Text File

  Halaman Persetujuan ii

  3.1.1 Analisis Masalah

  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.

  19

  19

  Algoritma Knapsack 10 2.3.

  3.2 Analisis Persyaratan

  20

  3.2.1 Analisis Persyaratan Fungsional

  21

  3.2.2 Analisis Persyaratan Non-Fungsional

  21

  3.3 Pemodelan

  22

  Teori Dasar Kompresi

  2.1.3 Jenis Kriptografi 8 2.2.

  Pernyataan iii

  Rumusan Masalah 3 1.3.

  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.

  Batasan Masalah 3 1.4.

  7

  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

Analisis Sistem

  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.

  45 Implementasi Sistem 4.1.1.

  45 Proses Tahapan Algoritma Knapsack dan RLE

  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.

  51 Tampilan Antarmuka Sistem 4.1.1.1.

  51 Tampilan Form Beranda 4.1.1.2.

  52 Tampilan Form Menu 4.1.1.3.

  52 Tampilan Form Tentang 4.1.1.4.

  53 Tampilan Form Bantuan

  4.2

  54 Pengujian

  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.

  66 Kesimpulan 5.2.

  67 Saran Daftar Pustaka

  68 Lampiran A Listing Program A-1

  

DAFTAR TABEL

  23

  65

  25

  25

  24

  24

  23

  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

  Halaman

  4.1

  3.6

  3.5

  3.4

  3.3

  3.2

  3.1

  66

  DAFTAR GAMBAR

  26

  35

  34

  33

  32

  31

  30

  29

  28

  27

  22

  36

  20

  17

  16

  9

  8

  6

  proses Dekompresi Tampilan Form Beranda Tampilan Form Tentang Tampilan Form Bantuan Tampilan Pop-up Windows Pilih Teks Tampilan Pengujian Kompresi Tampilan Pengujian Dekompresi Tampilan Pengujian Bangkit Kunci

  Source Code proses Bangkit Kunci Publik Source Code proses Kompresi Source Code proses Enkripsi Source Code proses Dekripsi Source Code

  proses Bangkit Kunci Rahasia

  35

  36

  Beranda

  49

  57

  56

  55

  54

  54

  53

  51

  51

  50

  48

  37

  47

  45

  44

  43

  42

  41

  40

  39

  38

  Form Bangkit Kunci Form Kombinasi Form Dekripsi dan Dekompresi Form Dekompresi dan Dekripsi Source Code

  Flowchart Kompresi dan Enkripsi Flowchart Enkripsi dan Kompresi Flowchart Dekompresi dan Dekripsi Flowchart Dekripsi dan Dekompresi Form

  Halaman

  3.6

  3.15

  3.14

  3.13

  3.12

  3.11

  3.10

  3.9

  3.8

  3.7

  3.5

  3.17

  3.4

  3.3

  3.2

  3.1

  2.5

  2.4

  2.3

  2.2

  2.1

  3.16

  3.18

  Dekompresi

  4.7

  Sequence diagram Bangkit Kunci Flowchart Enkripsi Flowchart Dekripsi Flowchart Kompresi Flowchart

  diagram Kombinasi Algoritma Enkripsi dan Kompresi

  Compresion dan Decompresion Coder dan Decoder Diagram Ishikawa untuk Analisis Permasalahan Sistem Use case diagram Activity Diagram Kompresi Activity Diagram Dek ompresi Activity Diagram Bangkit Kunci Activity Diagram Enkripsi Activity Diagram Dekripsi Activity Diagram Kombinasi Sequence diagram Kombinasi Algoritma Kompresi dan Enkripsi Sequence

  4.13 Proses Enchipering dan Deciphering Kriptografi Simetris Kriptografi Kunci Publik

  4.12

  4.11

  4.10

  4.9

  4.8

  4.6

  3.19

  4.5

  4.4

  4.3

  4.2

  4.1

  3.24

  3.23

  3.22

  3.21

  3.20

  58

  4.14

  59

  64

  63

  63

  62

  61

  60

  59

  4.15

  4.22 Tampilan Pengujian Enkripsi Informasi Penyimpanan File Enkripsi Tampilan Pengujian Dekripsi Tampilan Pengujian Kombinasi untuk TEKS1 Tampilan Pengujian Kombinasi untuk TEKS2 Tampilan Pengujian Dekripsi dan Dekompresi untuk TEKS1 Tampilan Pengujian Dekripsi dan Dekompresi untuk TEKS2 Tampilan Pengujian Dekompresi dan Dekripsi untuk TEKS1 Tampilan Pengujian Dekompresi dan Dekripsi untuk TEKS2

  4.21

  4.20

  4.19

  4.18

  4.17

  4.16

  65