IMPLEMENTASI ALGORITMA ONE TIME PAD PADA DATA TEKS DAN KNAPSACK PADA KUNCI SKRIPSI GUSTAF PRAMESWARA 081401014

  

IMPLEMENTASI ALGORITMA ONE TIME PAD PADA DATA

TEKS DAN KNAPSACK PADA KUNCI

SKRIPSI

GUSTAF PRAMESWARA

081401014

  

PROGRAM STUDI S1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN IMPLEMENTASI ALGORITMA ONE TIME PAD PADA DATA TEKS DAN

KNAPSACK PADA KUNCI

  SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar

  Sarjana Komputer GUSTAF PRAMESWARA

  081401014 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN

  2012

  PERSETUJUAN

  Judul : IMPLEMENTASI ALGORITMA ONE TIME PAD

PADA DATA TEKS DAN KNAPSACK PADA KUNCI

  Kategori : SKRIPSI Nama : GUSTAF PRAMESWARA Nomor Induk Mahasiswa : 081401014 Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

  INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Desember 2012

  Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dian Rachmawati,S.Si,M.Kom M. Andri Budiman S.T., M.Comp.Sc., M.E.M.

  NIP. 198307232009122004 NIP. 197401272002122001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua,

  

PERNYATAAN

  IMPLEMENTASI ALGORITMA ONE TIME PAD PADA DATA TEKS DAN

KNAPSACK PADA KUNCI

  SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

  Medan, Desember 2012 GUSTAF PRAMESWARA 081401014

  

PENGHARGAAN

  Puji dan syukur penulis ucapkan kehadirat Allah SWT atas segala rahmat dan karunia- Nya, sehingga penulis dapat menyelesaikan skripsi yang berjudul ” Implementasi Algoritma One Time Pad Pada Data Teks Dan Knapsack Pada Kunci”. 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.

  Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Departemen Ilmu Komputer, Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara dan sebagai dosen penguji I.

  2. Ibu Maya Silvi Lydia, BSc,.MSc selaku sekretaris Departemen Ilmu Komputer Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara.

  3. Bapak M. Andri Budiman, S.T.M.Comp.Sc,MEM dan ibu Dian Rachmawati, S.Si,M.Kom selaku dosen pembimbing.

  4. Profesor Dr. Iryanto,M.Si dan bapak Syahriol Sitorus, S.Si,MIT selaku dosen pembanding.

  5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

  6. Seluruh dosen Departemen Ilmu Komputer, Fakultas Ilmu komputer dan Teknologi Informasi, Universitas Sumatera Utara yang telah membimbing dan mencurahkan ilmunya selama masa perkuliahan.

  7. Seluruh pegawai di lingkungan Program Studi S1 Ilmu Komputer Fasilkom-TI USU.

  9. Abangda Ahdi Seftananda, adinda Nikmah Helfani dan adinda Dhanny Falepi yang selalu memberi semangat dan do’anya.

  10. Keluarga besar S1 Ilmu Komputer, khususnya angkatan 2008 yang telah banyak memberi dukungan, masukan, dan kerjasama yang baik.

  11. Guru-guru dari SDN 58 Pucuk Jambi, SDN 01 Sijunjung, MTsN Sijunjung dan SMAN 2 Sijunjung untuk ilmu yang telah diberikan.

  12. Teman-teman terbaik, Ficky Vernades Isman, Zikri Azhari, Rozi Afrilino, Dodi Dermawan, Salmi Hengki, Fadhli Friandes, Ronal, Nanda Ferdiansyah, Febrian, Siska Ardila, Dinnya Darosha Putri, RirinRahmala, dan Ayu Ambarwati untuk semua semangat dan kebersamaan yang kita bagi bersama.

  13. Saria Mahdi Ginting, Tengku Surya Pramana, Irfan Antoni Siregar, Eko Verdianto, Setyo M. Syamsudin Noor, Dira Fahrendy, Mardiansyah Matondang, Andika Diapari, Nurul Fadhilla, Parkir Rangers serta teman-teman dilingkungan kampus yang tidak bisa disebutkan satu-persatu.

  14. Keluarga besar Ikatan Mahasiswa Imam Bonjol Universitas Sumatera Utara (IMIB USU), untuk pengalaman organisasi dan proses pembelajaran serta pembentukan pribadi yang lebih matang.

  15. Guru dan teman-teman dalam perguruan Pandawa dan Pangian.

  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, amien.

  Medan, Desember 2012

  ABSTRAK

  Keamanan suatu data rahasia sangat penting untuk dijaga. Apalagi dengan semakin berkembangnya teknologi. Kriptografi merupakan cabang ilmu yang berperan dalam keamanan dan kerahasiaan suatu data. Salah satu metoda yang digunakan dalam kriptografi adalah hybrid enkripsi. Yaitu sistem pengamanan data dengan menggabungkan penggunaan algoritma simetris dengan algoritma asimetris. Skripsi ini bertujuan untuk menambah pengetahuan dan referensi tentang bagaimana cara kerja algoritma One Time Pad dalam mengamankan data teks. Dan juga bagaimana cara kerja algoritma Knapsack dalam mengamankan kunci yang dipergunakan dari algoritma One Time Pad tadi. Pembahasan ini akan menghasilkan sebuah aplikasi yang dapat digunakan untuk mengenkripsi data teks menggunakan algoritma simetris sekaligus mengamankan kunci yang digunakan dengan mengekripsinya lagi menggunakan algoritma asimetris.

  Kata Kunci : Kriptografi, algoritma, One Time Pad, Knapsack,

   IMPLEMENTATION OF ONE TIME PAD ALGORITHM ON THREE PASS PROTOCOL ABSTRACT

  A data security is very important to be kept secret. Cryptography is a branch of science that contribute to security and confidentiality of the data. One of the methods used in cryptography is a hybrid encryption. That system of data security by combining the use of symmetric algorithms the key asymmetric algorithms. This thesis aims to increase knowledge and references on how algorithms work in securing a One Time Pad text data. And also how to work the Knapsack algorithm used in securing key algorithm of One Time Pad earlier. This discussion will result in an application that can be used to encrypt text data using symmetric algorithms are used at the same time securing key to encrypt it again using an asymmetric algorithm.

  Keywords: Cryptography, algorithms, One Time Pad, Knapsack ,

DAFTAR ISI

  Sistematika Penulisan

  13

  12 2.3. Algoritma Knapsack

  Algoritma One Time Pad

  2.1.4 Jenis Kriptografi 10 2.2.

  9

  2.1.3 Tujuan Kriptografi

  8

  2.1.2 Komponen Kriptografi

  6

  2.1.1 Definisi Kriptografi

  6

  4 Bab 2 Landasan Teori 6 2.1. Kriptografi

  Halaman Persetujuan ii

  Pernyataan iii

  Manfaat Penelitian 3 1.6.

  Tujuan Penelitian 3 1.5.

  Batasan Masalah 3 1.4.

  Rumusan Masalah 2 1.3.

  Latar Belakang 1 1.2.

  Bab 1 Pendahuluan 1 1.1.

  Daftar Tabel xi

  Daftar Gambar x

  Daftar Isi viii

  Abstract vii

  Abstrak vi

  Penghargaan iv

  Metode Penelitian 4 1.7.

  3.1.1 Analisis Masalah

  19

  3.1.2 Analisis Persyaratan

  19

  3.1.2.1 Analisis Persyaratan Fungsional

  20

  3.1.2.2 Analisis Persyaratan Non-Fungsional

  20

  3.1.2.3 Pemodelan Persyaratan dengan Use Case

  21

  3.1.3 Analisis Proses Sistem

  28

  3.1.4 Class Diagram

  31

  3.1.5 Pseudocode dan Flowchart

  32

  3.1.5.1 Pseudocode Proses Enkripsi

  32

  3.1.5.2 Pseudocode Proses Pembangkitan Kunci

  32

  3.1.5.3 Pseudocode Proses Dekripsi

  33

  3.1.5.4 Flowchart Proses Algoritma One Time Pad

  34

  3.1.5.5 Flowchart Proses Algoritma Knapsack

  36

  3.1.6 Perancangan Antar Muka

  37

  3.1.6.1 Perancangan Tab Proses Enkripsi

  38

  3.1.6.2 Perancangan Tab Proses Dekripsi

  39

  3.1.6.3 Perancangan Form Help

  41

  3.1.6.4 Perancangan Form About

  42 3.2.

  43 Tahapan Algoritma One Time Pad dan Knapsack

  3.2.1 Proses Enkripsi

  45

  3.2.2 Proses Dekripsi

  47 Bab 4 Perancangan dan Implementasi 49 4.1.

  49 Implementasi Sistem 4.1.1.

  49 Tampilan Antarmuka Sistem 4.1.1.1.

  49 Tampilan FormMain 4.1.1.2.

  51 Tampilan FormAbout 4.1.1.3.

  51 Tampilan FormHelp 4.1.2.

  52 Implementasi Sistem 4.1.3.

  59 Pengujian Sistem 4.1.3.1.

  59 Pengujian Enkripsi 4.1.3.2.

  60 Pengujian Dekripsi

  Bab 5 Penutup 66 5.1.

  63 Kesimpulan 5.2.

  64 Saran

  DAFTAR GAMBAR No.

  30

  42

  40

  38

  37

  36

  36

  35

  30

  47

  29

  28

  27

  26

  24

  23

  22

  43

  47

  10

  53

  56

  55

  55

  54

  54

  54

  54

  53

  48

  52

  52

  51

  50

  50

  49

  49

  11

  4.20 Kriptografi Simetris Kriptografi kunci Publik Use Case Diagram Sistem Activity Diagram Enkripsi Plainteks Activity Diagram Enkripsi Plainkey Activity Diagram dekripsi Cipherkey Activity Diagram Dekripsi Cipherteks Activity Diagram Pembangkitan Kunci Sequence Diagram Enkripsi Sequence Diagram Dekripsi Sequence Diagram Generate Key Flowchart Proses Enkripsi One Time Pad Flowchart Proses Dekripsi One Time Pad Flowchart Proses Enkripsi Knapsack Flowchart Proses Dekripsi Knapsack Rancangan Tab Enkripsi Rancangan Tab Dekripsi Rancangan Form Help Rancangan Form About Tampilan FormMain tab Encrypt Tampilan FormMain tab Decrypt Tampilan FormAbout Tampilan FormHelp Tampilan Setelah Input File Selesai Pop-up Windows Pilih File Pesan Masukan Plainteks Tampilan Generate Key Tampilan Pop-up Windows Pilih File Kunci Publik Tampilan Pesan Masukkan Public Key Tampilan Hasil Enkripsi Informasi Hasil Enkripsi Informasi Hasil Penyimpanan Cipher teks Informasi Hasil Penyimpanan Cipher keys Informasi Hasil Penyimpanan Publik Keys Informasi Hasil Penyimpanan Private Keys Tampilan Hasil Dekripsi Informasi Hasil Penyimpanan Plainteks sebagai *.txt Informasi Hasil Penyimpanan Plainteks sebagai *.doc Hasil Pengujian Enkripsi Dengan Jumlah Karakter 16253

  Gambar Judul Halaman

  3.7

  3.14

  3.13

  3.12

  3.11

  3.10

  3.9

  3.8

  3.6

  3.16

  3.5

  3.4

  3.3

  3.2

  3.1

  2.2

  2.1

  3.15

  3.17

  4.19

  4.11

  4.18

  4.17

  4.16

  4.15

  4.14

  4.13

  4.12

  4.10

  4.1

  4.9

  4.8

  4.7

  4.6

  4.5

  4.4

  4.3

  4.2

  56

  4.25 Hasil Pengujian dekripsi Dengan Jumlah Karakter 48759

  4.3 N invers Spesifikasi Use Case Enkripsi Plainteks (One Time Pad) Spesifikasi Use Case Enkripsi Plainkey (Knapsack) Spesifikasi Use Case Dekripsi Cipherkey (Knapsack) Spesifikasi Use Case Dekripsi Cipherteks (One Time Pad) Spesifikasi Use Case Pembangkitan Kunci Kelas Dan Antributnya Komponen Tab Enkripsi Komponen Tab Dekripsi Komponen Form Help Komponen Form About Pengujian Proses Enkripsi Dengan Jumlah Karakter Berbeda Pengujian Proses Dekripsi Dengan Jumlah Karakter Berbeda Perbandingan Kecepatan Proses Enkripsi dan Dekripsi

  58

  57

  43

  42

  40

  38

  31

  27

  26

  25

  24

  22

  18

  4.2

  58 DAFTAR TABEL No.

  4.1

  3.10

  3.9

  3.8

  3.7

  3.6

  3.5

  3.4

  3.3

  3.2

  3.1

  2.1

  Tabel Judul Tabel Halaman

  58