FAISAL RIDHO
121401055
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
PENYANDIAN PESAN BERBASIS ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer
FAISAL RIDHO
121401055
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMI KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : IMPLEMENTASI KOMBINASI ALGORITMA
VIGENERE CIPHER DAN MYSZKOWSKI
TRANSPOSITION PADA APLIKASI
PENYANDIAN PESAN BERBASIS ANDROID
Kategori : SKRIPSI
Nama : FAISAL RIDHO
NomorIndukMahasiswa : 121401055
Program Studi : S1 ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Oktober 2016
Komisi Pembimbing :
Pembimbing II Pembimbing I
Jos Timanta Tarigan, S.Kom., M.Sc Ade Candra, ST, M.Kom
NIP. 198501262015041001 NIP. 197909042009121002
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,
Dr. Poltak Sihombing, M.Kom
PERNYATAAN
IMPLEMENTASI KOMBINASI ALGORITMA VIGENERE CIPHER
DAN MYSZKOWSKI TRANSPOSITION PADA APLIKASI
PENYANDIAN PESAN BERBASIS ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Oktober 2016
Faisal Ridho
PENGHARGAAN
Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan
hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini dengan tepat waktu, sesuai
dengan peraturan yang berlaku di Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara.
Dalam penulisan skripsi ini, penulis banyak mendapat bantuan dan dukungan. Untuk
itu, penulis mengucapkan terima kasih kepada :
1. Bapak Prof. Dr. Runtung Sitepu, SH, M.Hum selaku Rektor Universitas
Komputer, sekaligus dosen Pembimbing Akademik penulis yang telah
memberikan bimbingan kepada penulis selama penulis berada dalam masa
pendidikan di S1 Ilmu Komputer.
5. Bapak Ade Candra, S.T., M.Kom. selaku dosen Pembimbing I yang telah
meluangkan waktu, tenaga dan pikiran dalam memberikan bimbingan dan
motivasi kepada penulis untuk menyelesaikan skripsi ini.
6. Bapak Jos Timanta Tarigan, S.Kom., M.Sc. selaku dosen Pembimbing II yang
telah meluangkan waktu, tenaga dan pikiran dalam memberikan bimbingan
dan motivasi kepada penulis untuk menyelesaikan skripsi ini.
7. Bapak Dr. Syahril Efendi, S.Si., M.IT selaku dosen Pembanding I yang telah
memberikan kritik dan saran terhadap skripsi penulis.
8. Bapak Handrizal, S.Si, M.Comp.Sc selaku dosen Pembanding II yang telah
memberikan kritik dan saran terhadap skripsi penulis.
9. Seluruh dosen S1 Ilmu Komputer atas ilmu yang telah diberikan kepada
10. Seluruh staff pengajar dan pegawai Fakultas Ilmu Komputer dan Teknologi
Informasi, terkhusus kepada abangda Faisal Hamid dan kakanda Dwi.
11. Kedua orangtua penulis, ibunda Ir. Hj. Sri Susila Dewi, ayahanda Ir. Syaiful
Bahri Mohammad yang memberikan doa dan dukungan penuh kepada penulis.
12. Abangda Muhammad Iqbal Ramadhan, S.T. dan adinda Witri Permata Sari
yang telah memberikan dukungan dan doa kepada penulis.
13. Sahabat-sahabat penulis teristimewa Johan Surya, Akhiruddin Nur, S.Kom.,
Arif Setiawan, S.Kom, Muhammad Wahyu Faathir, Boris Mario, S.Kom.,
Ricky Wijaya dan KOM-B 2012 lainnya yang telah memberikan semangat
kepada penulis.
14. Teman-teman seperjuangan mahasiswa S1 Ilmu Komputer stambuk 2012 yang
telah memberikan berbagai informasi dan tips dalam mengerjakan skripsi ini.
15. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat
penulis sebutkan satu per satu.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, oleh sebab
itu penulis menerima kritik dan saran yang bersifat membangun demi kesempurnaan
skripsi ini. Penulis berharap skripsi ini dapat memberikan manfaat bagi penulis dan
pembaca.
Medan, Oktober 2016
Penulis
Faisal Ridho
ABSTRAK
Manusia memiliki keinginan untuk saling berkomunikasi dengan manusia lainnya, salah satunya melalui pesan teks. Beberapa pesan hanya ditujukan untuk orang tertentu saja. Dibutuhkan pengamanan menggunakan algoritma kriptografi untuk melindungi pesan dari pihak yang tidak berhak mengetahui isi pesan tersebut. Algoritma Vigenere cipher digunakan untuk mengenkripsi pesan, kemudian hasilnya dienkripsi menggunakan algoritma Myszkowski transposition untuk menutupi kelemahan dari algoritma Vigenere cipher. Hasil penelitian menunjukkan bahwa algoritma Myszkowski transposition mampu menutupi kelemahan algoritma Vigenere cipher, tergantung pada panjang kunci yang digunakan pada algoritma Myszkowski transposition. Pengujian menggunakan metode Kasiski pada pesan hasil enkripsi menggunakan key2 “055” diperoleh panjang key1 yaitu 2 atau 5 karakter. Bila menggunakan key2 “01055”, diperoleh panjang key1 yaitu 2 karakter. Dan bila menggunakan key2 “121401055” panjang kunci tidak dapat ditentukan.
IMPLEMENTATION OF VIGENERE CIPHER ALGORITHM AND MYSZKOWSKI TRANSPOSITION COMBINATION ON
ANDROID BASED MESSAGE ENCRYPTION APPLICATION
ABSTRACT
Humans have a desire to communicate with each other, such as via text message. Some messages are only intended for certain people. Required security using cryptographic algorithm to protect messages from people who are not entitled to know the message contents. Vigenere cipher algorithm is used to encrypt a message, then the result is encrypted using Myszkowski transposition algorithm to cover the weakness of Vigenere cipher. The result of this research showed that Myszkowski transposition can cover the weakness of Vigenere cipher, depending on the length of key used. Testing using Kasiski method on encrypted messageusing key2 “055”, the length of key1 is 2 or 5 characters. When using key2 “01055”, the length of key1 is 2 characters. And when using key2 “121401055” the length of key1 can not be determined.
DAFTAR ISI
Bab 3 Analisis dan Perancangan
3.1 Analisis Sistem 14
3.1.1 Analisis masalah 14
3.1.2 Analisis persyaratan 15
3.1.2.1 Persyaratan fungsional 16
3.1.2.2 Persyaratan non-fungsional 16
3.1.3 Analisis proses 16
3.2 Pemodelan Sistem 17
3.2.1 Unified Modelling Language (UML) 17
3.2.1.1 Use case diagram 17
3.2.1.2 Activity diagram 19
3.2.1.3 Sequence diagram 21
3.2.2 Flowchart 23
3.2.2.1 Flowchart sistem 23
3.2.2.3 Flowchart program pengungkapan 25
3.2.3 Pseudocode 26
3.2.3.1 Pseudocode enkripsi Vigenere 27 3.2.3.2 Pseudocode enkripsi Myszkowski 27 3.2.3.3 Pseudocode dekripsi Myszkowski 28 3.2.3.4 Pseudocode dekripsi Vigenere 29
3.3 Perancangan Antarmuka (Interface) 30
3.3.1 Screen launcher 30
3.3.2 Halaman pengamanan 31
3.3.3 Halaman pengungkapan 33
3.3.4 Halaman bantuan 34
3.3.5 Halaman tentang 35
Bab 4 Implementasi dan Pengujian
4.1 Implementasi 37
4.1.1 Implementasi pseudocode enkripsi Vigenere 37 4.1.2 Implementasi pseudocode enkripsi Myszkowski 37 4.1.3 Implementasi pseudocode dekripsi Myszkowski 38 4.1.4 Implementasi pseudocode dekripsi Vigenere 39 4.1.5 Implementasi enkripsi Vigenere cipher 40 4.1.5.1 Proses pengulangan kunci 40 4.1.5.2 Proses pengubahan karakter menjadi ASCII 41 4.1.5.3 Proses enkripsi Vigenere cipher 42 4.1.5.4 Proses pengubahan ASCII menjadi karakter 42 4.1.6 Implementasi enkripsi Myszkowski transposition 43 4.1.6.1 Proses penyusunan matriks 43 4.1.6.2 Proses enkripsi Myszkowski transposition 43 4.1.7 Implementasi dekripsi Myszkowski transposition 44 4.1.7.1 Proses penyusunan matriks 44 4.1.7.2 Proses dekripsi Myszkowski transposition 45 4.1.8 Implementasi dekripsi Vigenere cipher 45 4.1.8.1 Proses pengulangan kunci 45 4.1.8.2 Proses pengubahan karakter menjadi ASCII 46 4.1.8.3 Proses enkripsi Vigenere cipher 46 4.1.8.4 Proses pengubahan ASCII menjadi karakter 47
4.2 Pengujian 47
4.2.1 Pengujian screen launcher 47
4.2.2 Pengujian halaman pengamanan 48
4.2.3 Pengujian halaman pengungkapan 53
4.2.4 Pengujian halaman bantuan 58
Bab 5 Kesimpulan dan Saran 71
5.1 Kesimpulan 71
5.2 Saran 71
Daftar Pustaka 72
Listing Program A-1
DAFTAR TABEL
Hal.
Tabel 2.1. Bujur Sangkar Vigenere Cipher 10
Tabel 2.2. Tabel Substritusi Algoritma Vigenere Cipher 10
Tabel 3.1. Deskripsi Use Case Pengamanan 18
Tabel 3.2. Deskripsi Use Case Pengungkapan 19
Tabel 3.3. Keterangan Gambar Rancangan Halaman Pengamanan 32 Tabel 3.4. Keterangan Gambar Rancangan Halaman Pengungkapan 34 Tabel 3.5. Keterangan Gambar Rancangan Halaman Bantuan 35 Tabel 3.6. Keterangan Gambar Rancangan Halaman Tentang 36
Tabel 4.1. Tabel ASCII 41
Tabel 4.2. Tabel Matriks Enkripsi 43
Tabel 4.3. Tabel Matriks Dekripsi Tahap 1 44
Tabel 4.4. Tabel Matriks Dekripsi Tahap 2 45
Tabel 4.5. Tabel Matriks Dekripsi Tahap 3 45
Tabel 4.6. Pengujian Screen Launcher 48
Tabel 4.7. Pengujian Halaman Pengamanan 49
Tabel 4.8. Pengujian Halaman Pengungkapan 54
Tabel 4.9. Pengujian Halaman Bantuan 59
Tabel 4.10. Pengujian Halaman Tentang 60
Tabel 4.11. Deretan Huruf Berulang Vigenere 61
DAFTAR GAMBAR
Hal.
Gambar 2.1. Klasifikasi Metode Enkripsi 8
Gambar 3.1. Diagram Ishikawa 15
Gambar 3.2. Use Case Diagram 18
Gambar 3.3. Activity Diagram Pengamanan 20
Gambar 3.4. Activity Diagram Pengungkapan 21
Gambar 3.5. Sequence Diagram Pengamanan 22
Gambar 3.6. Sequence Diagram Pengungkapan 22
Gambar 3.7. Flowchart Sistem 24
Gambar 3.8. Flowchart Pengamanan 25
Gambar 3.9. Flowchart Pengungkapan 26
Gambar 3.10. Pseudocode Enkripsi Vigenere 27
Gambar 3.11. Pseudocode Enkripsi Myszkowski 28
Gambar 3.12. Pseudocode Dekripsi Myszkowski 29
Gambar 3.13. Pseudocode Dekripsi Vigenere 30
Gambar 3.14. Rancangan Screen Launcher 31
Gambar 3.15. Rancangan Halaman Pengamanan 32
Gambar 3.16. Rancangan Halaman Pengungkapan 33
Gambar 3.17. Rancangan Halaman Bantuan 35
Gambar 3.18. Rancangan Halaman Tentang 36