IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI AHDA ANDI KURNIA 111401104 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer AHDA ANDI KURNIA 111401104 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
ii PERSETUJUAN Judul : IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS Kategori : SKRIPSI Nama : AHDA ANDI KURNIA Nomor Induk Mahasiswa : 111401104 Program Studi : SARJANA (S1) ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI Diluluskan di Medan, MEI 2016 Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Jos Timanta Tarigan, S.Kom, M.Sc M.Andri Budiman,ST,M.Comp.Sc,MEM NIP. 19850126 201504 1 001 NIP. 19751008 200801 1 011 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom
iii PERNYATAAN IMPLEMENTASI ALGORITMA BLOWFISH PADA APLIKASI ENKRIPSI DAN DEKRIPSI CITRA BERBASIS WINDOWS SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil kerya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, Mei 2016 AHDA ANDI KURNIA 111401104
iv PENGHARGAAN Alhamdulillah penulis panjatkan kehadirat Allah Subhanallahu wa Ta ala yang telah memberikan rahmat dan ridho-nya kepada penulis sehingga penulis dapat menyelesaikan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi,.. Ucapan terima kasih penulis sampaikan kepada semua pihak yang mendukung dan memotivasi penulis, baik secara langsung maupun tidak langsung. Pada kesempatan ini, penulis mengucapkan terima kasih kepada: 1. Bapak Prof. Runtung Sitepu, SH, M.Hum selaku Rektor. 2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi. 3. Bapak Dr. Poltak Sihombing, M.Kom. selaku Ketua Program Studi S-1 Ilmu Komputer. 4. Ibu Maya Silvi Lydia, B.Sc, M.Sc. selaku Sekretaris Program Studi S-1 Ilmu Komputer. 5. Bapak M. Andri Budiman, ST, M.Comp.Sc, MEM selaku Dosen Pembimbing I yang telah memberikan ilmu dan pengalamannya juga kritik dan saran yang bermanfaat kepada penulis dalam menyelesaikan skripsi ini. 6. Bapak Jos Timanta Tarigan, S.Kom, M.Sc selaku Dosen Pembimbing II yang telah memberikan ilmu, saran dan solusi kepada penulis dalam mengerjakan skripsi ini. 7. Bapak Dr. Poltak Sihombing, M.Kom selaku Pembanding I yang telah memberikan kritik dan saran yang bermanfaat serta solusi dari kekurangan skripsi ini. 8. Bapak Drs. Marihat Situmorang, M.Kom selaku pembanding II yang telah memberikan kritik dan saran dalam pembuatan skripsi ini. 9. Seluruh dosen dan pegawai Program studi S1 Ilmu Komputer Fasilkom-TI USU terkhusus Abangda Faisal Hamid yang telah membantu penulis dalam proses pembuatan skripsi. 10. Orang tua saya, Ayah Ir. Miswanto, Mama Jasmiati., adik saya, Ihza Halizha, yang selalu memberikan semangat, dukungan dan do a kepada penulis dalam penulisan skripsi ini.
v 11. Teman-teman perkuliahan Kom A angkatan 2011 terkhusus Farid Akbar, S.Kom., Hari Rahman Nihe, S.Kom, juga Steven Sinaga, S.Kom yang telah membantu penulis dan selalu memberikan semangat dan motivasi kepada penulis. 12. Semua pihak yang telah membantu dalam menyelesaikan skripsi ini. Penulis menyadari bahwa skripsi ini masih terdapat kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan skripsi ini. Kiranya Allah selalu memberikan rahmat dan ridho-nya kepada semua pihak yang telah membantu dan mendukung penulis. Medan, Juli 2016 Penulis
vi ABSTRAK Seiring dengan perkembangan zaman, keamanan dalam pertukaran data sangat perlu ditingkatkan guna menghindari hal-hal yang tidak diinginkan. Ilmu yang mempelajari tentang pengamanan data dinamakan Kriptografi. Algoritma Blowfish adalah satu algoritma dari banyak algoritma kriptografi yang digunakan dalam pengenkripsian dan pendekripsian data. Dalam penelitian ini penulis membuat sebuah aplikasi yang berisikan implementasi enkripsi dan dekripsi citra dengan menggunakan algoritma Blowfish berbasis Windows. Besar data sesudah proses enkripsi akan meningkat, akan tetapi akan kembali ke ukuran semula setelah proses dekripsi. Waktu yang dibutuhkan untuk proses enkripsi cenderung lebih lama dibandingkan waktu yang dibutuhkan untuk proses dekripsi, dan semakin panjang kunci yang digunakan maka semakin lama waktu untuk proses, akan tetapi waktu yang dibutuhkan untuk proses enkripsi dan proses dekripsi masih tergolong sangat singkat. Kunci : Kriptografi, Blowfish, Enkripsi, Dekripsi, Windows
vii ABSTRACT Along with the times, security in data exchange needs to be improved in order to avoid things that are not desirable. The study of data security is called cryptography. Blowfish algorithm is an algorithm of many cryptographic algorithms used in encryption and decryption data. In this study the author makes an application that contains the implementation of encryption and decryption image using the Blowfish algorithm based on Windows. Size of the data after the encryption process will increase, but will return to its original size after decryption process. The time needed for the encryption process tends to be longer than the time it takes to decryption process. The longer the length of the key is used, the length the times to process, but the times it takes to process the encryption and decryption process is still relatively very short. Keywords: Cryptography, Blowfish, Encryption, Decryption, Windows
viii DAFTAR ISI Hal. Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar isi Daftar Gambar DaftarTabel Daftar Lampiran ii iii iv vi vii viii x xi xii Bab I Pendahuluan 1.1 Latar Belakang 1 1.2 Perumusan Masalah 2 1.3 Batasan Masalah 2 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3 1.6 Metodologi Penelitian 3 1.7 Sistematika penulisan 5 Bab II Landasan Teori 2.1 Kriptografi 6 2.1.1 Terminlogi 6 2.1.2 Komponen Kriptografi 7 2.1.3Tujuan Kriptografi 7 2.2 Jenis-jenis Algoritma Kriptografi 8 2.2.1Algoritma Simetris 8 2.2.2Algoritma Asimetris 9 2.3 Teori Bilangan 10 2.3.1 Operator Logika XOR 10 2.3.2 Faktor Persekutuan Terbesar 10 2.3.3 Euclid 11 2.3.4 Algoritma Euclid dan Extended Euclid 11 2.4 Algoritma Blowfish 12 2.4.1 Langkah kerja Algoritma Blowfish 13 2.5Citra 15 2.5.1 Jenis-Jenis citra 16 2.5.1.1 Citra Biner 16 2.5.1.2 Citra Greyscale 17
ix 2.5.1.3 Citra Warna 18 Bab III Analisis dan Perancangan Sistem 3.1 Analisis Sistem 19 3.1.1 Analisis Masalah 19 3.1.2 Analisis Kebutuhan 20 3.1.2.1 Kebutuhan Fungsional Sistem 20 3.1.2.2 Kebutuhan Non-Fungsional Sistem 20 3.1.3 Analisis Proses 21 3.2 Pemodelan (UML) 21 3.2.1 Use Case Diagram 21 3.2.2 Sequence Diagram 24 3.2.3 Activity Diagram 25 3.3 Flowchart 25 3.3.1 Flowchart Enkripsi Gambar dengan Algoritma Blowfish 26 3.3.2 Flowchart Dekripsi Gambar dengan Algoritma Blowfish 26 3.4 Pseudocode Sistem 27 3.4.1 Pseudocode Proses Enkripsi Gambar 27 3.4.2 Pseudocode Proses Dekripsi Gambar 28 3.5 Perancangan Antarmuka 28 3.5.1 Halaman Utama 28 3.5.2 Halaman Enkripsi 29 3.5.3 Halaman Dekripsi 30 Bab IV Implementasi dan Pengujian 4.1 Implementasi Sistem 31 4.1.1 Halaman Menu Utama 31 4.1.2 Halaman Enkrip 32 4.1.3 Halaman Dekrip 32 4.1.4 Halaman About 33 4.2 Pengujian Sistem 34 4.2.1 Pengujian Enkripsi 34 4.2.2 Pengujian Dekripsi 37 Bab V Kesimpulan dan Saran 5.1 Kesimpulan 41 5.2 Saran 41 Daftar Pustaka 42 LAMPIRAN A : Listing Program A-1 LAMPIRAN B : Curriculum Vitae B-1
x DAFTAR GAMBAR Gambar 2.1 Proses Enkripsi dan Dekripsi 6 Gambar 2.2 Skema Kunci Simetris 8 Gambar 2.3 Skema Kunci Asimetris 9 Gambar 2.4 Alur Proses Enkripsi Blowfish 14 Gambar 2.5 Posisi Koordinat Citra Digital 16 Gambar 2.6 Citra Biner 17 Gambar 2.7 Citra Grayscale 17 Gambar 2.8 Citra RGB 18 Gambar 3.1 Diagram Ishikawa 20 Gambar 3.2 Use-Case Diagram 22 Gambar 3.3 Diagram Sequence untuk Enkripsi 24 Gambar 3.4 Diagram Sequence untuk Dekripsi 24 Gambar 3.5 Activity Diagram 25 Gambar 3.6 Flowchart Enkripsi gambar dengan Algoritma Blowfish 26 Gambar 3.7 Flowchart Dekripsi gambardengan Algoritma Blowfish 27 Gambar 3.8 Rancangan Tampilan Halaman Utama 28 Gambar 3.9 Rancangan Tampilan Halaman Enkripsi 29 Gambar 3.10 Rancangan Tampilan Halaman Dekripsi 30 Gambar 4.1 Halaman Menu Utama 31 Gambar 4.2 Halaman Enkripsi 32 Gambar 4.3 Halaman Dekripsi 33 Gambar 4.4 HalamanAbout 34 Gambar 4.5 Grafik Pengujian Enkripsi terhadap panjang kunci 35 Gambar 4.6 Grafik Pengujian Enkripsi waktu vs resolusi 36 Gambar 4.7 Grafik Pengujian Dekripsi terhadap panjang kunci 37 Gambar 4.8 Grafik Pengujian Dekripsi Waktu vs Resolusi 38 Gambar 4.9 Grafik Perbandingan Enkripsi dan Dekripsi terhadap panjang kunci 39 Gambar 4.10 Grafik Perbandingan Enkripsi dan Dekripsi terhadap resolusi 40 Hal.
xi DAFTAR TABEL Tabel 2.1 Tabel Operasi Logika Xor 10 Tabel 3.1 Narrative Use-Case Enkripsi Gambar 23 Tabel 3.2 Narrative Use-Case Dekripsi Gambar 23 Tabel 4.1 Hasil Pengujian Enkripsi dengan Variasi Panjang kunci 35 Tabel 4.2 Hasil Pengujian Enkripsi dengan Variasi Resolusi Citra 36 Tabel 4.3 Hasil Pengujian Dekripsi dengan Variasi Panjang kunci 37 Tabel 4.4 Hasil Pengujian Dekripsi dengan Variasi Resolusi Citra 38 Tabel 4.5 Perbandingan Waktu Enkripsi dan Dekripsi terhadap panjang kunci 39 Tabel 4.6 Perbandingan Waktu Enkripsi dan Dekripsi terhadap Resolusi 40 Hal.