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
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
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
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.
8. Ketiga orang tua tercinta, Ayahanda Syafri.B, Ibunda Helmi Novita (alm) dan
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.
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.
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Gambar x
Daftar Tabel xi
Bab 1 Pendahuluan 1
1.1. Latar Belakang 1
1.2. Rumusan Masalah 2
1.3. Batasan Masalah 3
1.4. Tujuan Penelitian 3
1.5. Manfaat Penelitian 3
1.6. Metode Penelitian 4
1.7. Sistematika Penulisan 4
Bab 2 Landasan Teori 6
2.1. Kriptografi 6
2.1.1 Definisi Kriptografi 6
2.1.2 Komponen Kriptografi 8
2.1.3 Tujuan Kriptografi 9
2.1.4 Jenis Kriptografi 10
2.2. Algoritma One Time Pad 12
2.3. Algoritma Knapsack 13
Bab 3 Analisis dan Perancangan Sistem 19
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. Tahapan Algoritma One Time Pad dan Knapsack 43
3.2.1 Proses Enkripsi 45
3.2.2 Proses Dekripsi 47
Bab 4 Perancangan dan Implementasi 49
4.1. Implementasi Sistem 49
4.1.1. Tampilan Antarmuka Sistem 49
4.1.1.1.Tampilan FormMain 49
4.1.1.2.Tampilan FormAbout 51
4.1.1.3.Tampilan FormHelp 51
4.1.2. Implementasi Sistem 52
4.1.3. Pengujian Sistem 59
4.1.3.1. Pengujian Enkripsi 59
4.1.3.2. Pengujian Dekripsi 60
Bab 5 Penutup 66
5.1. Kesimpulan 63
5.2. Saran 64
Daftar Pustaka 65
DAFTAR GAMBAR
No. Gambar
Judul Halaman
2.1
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 Hasil Pengujian Enkripsi Dengan Jumlah Karakter 32506 Hasil Pengujian Enkripsi Dengan Jumlah Karakter 48759 Hasil Pengujian dekripsi Dengan Jumlah Karakter 16253 Hasil Pengujian dekripsi Dengan Jumlah Karakter 32506
4.25 Hasil Pengujian dekripsi Dengan Jumlah Karakter 48759 58 DAFTAR TABEL
No.
Tabel
Judul Tabel Halaman
2.1
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