IMPLEMENTASI KRIPTOGRAFI PADA CHATTING MENGGUNAKAN METODE ONE TIME PAD (OTP) BERBASIS ANDROID
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang
Disusun Oleh: Revana Jian Aristya 09560002
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2014 i
LEMBAR PERSETUJUAN
IMPLEMENTASI KRIPTOGRAFI PADA CHATTING MENGGUNAKAN METODE ONE TIME PAD (OTP) BERBASIS ANDROID
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Disusun Oleh : Revana Jian Aristya 09560002
Telah diperiksa dan disetujui,
ii
LEMBAR PENGESAHAN
IMPLEMENTASI KRIPTOGRAFI PADA CHATTING MENGGUNAKAN METODE ONE TIME PAD (OTP) BERBASIS ANDROID
TUGAS AKHIR
Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Disusun Oleh : Revana Jian Aristya 09560002 Tugas Akhir ini telah disetujui dan dinyatakan lulus oleh tim penguji Pada hari : Sabtu, 12 April 2014
Disetujui Oleh,
iii
SURAT PERNYATAAN Yang bertanda tangan dibawah ini: NAMA
: REVANA JIAN ARISTYA
NIM
: 09560002
FAK./JUR.
: TEKNIK/INFORMATIKA
Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul “IMPLEMENTASI KRIPTOGRAFI PADA CHATTING MENGGUNAKAN METODE ONE TIME PAD (OTP) BERBASIS ANDROID” beserta seluruh isinya adalah karya saya sendiri dan bukan merupakan karya tulis orang lain, baik sebagian maupun seluruhnya, kecuali dalam bentuk kutipan yang telah disebutkan sumbernya. Demikian surat pernyataan ini saya buat dengan sebenar-benarnya. Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini,atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya siap menanggung segala bentuk resiko/sanksi yang berlaku. Malang, 2 April 2014
iv
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. Secara umum, teknik kriptografi digunakan untuk melakukan penyandian data. Skripsi ini bertujuan untuk menambah pengetahuan dan referensi tentang bagaimana cara kerja algoritma One Time Pad dalam mengamankan data teks. Pembahasan ini akan menghasilkan sebuah aplikasi yang dapat digunakan untuk mengenkripsi data teks menggunakan algoritma simetris.
Kata Kunci : Kriptografi, algoritma, One Time Pad
v
ABSTRACT Security of the data is very important to be kept secret. Moreover, with the development of technology. Cryptography is a branch of science that contribute to security and confidentiality of the data. In general, cryptographic techniques are used to perform data encryption. This thesis aims to increase knowledge and references on how the algorithms work in securing a One Time Pad text data. This discussion will result in an application that can be used to encrypt text data using a symmetric algorithm.
Keywords : Cryptography, algorithms, One Time Pad
vi
LEMBAR PERSEMBAHAN Puji syukur kepada Allah SWT atas rahmat dan karunia-Nya sehingga Tugas Akhir ini dapat terselesaikan. Terima kasih juga yang sebesar-besarnya kepada Bapak Zamah Sari, M.T dan Bapak Sofyan Arifianto, S.Si, M.Kom. selaku pembimbing saya. Untuk Papa, Mama, saudara dan seluruh keluarga yang selalu memberikan dukungan dan do’a dalam pengerjaan Tugas Akhir ini. Semua sahabat dan teman saya Winda Ayu Bestari, Weni Rita Sari, Nurhayati ‘Amo Yagung’, Dewi Asmar, Ilma Fardhia, Intan Citra, seluruh teman-teman ‘HIMARU’ terutama Iji Rahayu, Danang Banyu Prabowo serta Ariska Ferina dan Firmansyah Rekso yang juga menjadi teman seperjuangan selama pelaksanaan Tugas Akhir dari pendaftaran sampai ujian, serta pembimbing di luar kampus lainnya. Terima kasih banyak untuk kalian atas semangat dan doa yang kalian berikan selama ini. Serta semua pihak yang tidak dapat penulis sebutkan satu persatu yang telah berjasa dalam pengerjaan Tugas Akhir ini.
vii
KATA PENGANTAR Dengan memanjatkan puji syukur kehadirat Allah Subhanahu Wa Ta’ala atas limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul :
“IMPLEMENTASI KRIPTOGRAFI PADA CHATTING MENGGUNAKAN METODE ONE TIME PAD (OTP) BERBASIS ANDROID“
Di dalam tulisan ini disajikan pokok-pokok pembahasan yang meliputi pendahuluan, landasan teori, perancangan sistem, implementasi dan pengujian sistem. Peneliti menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini masih banyak kekurangan dan keterbatasan. Oleh karena itu peneliti mengharapkan saran yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu pengetahuan ke depan.
Malang, 2 April 2014
Revana Jian Aristya
viii
DAFTAR ISI Halaman HALAMAN JUDUL........................................................................................ i LEMBAR PERSETUJUAN.............................................................................
ii
LEMBAR PENGESAHAN .............................................................................
iii
LEMBAR PERNYATAAN .............................................................................
iv
ABSTRAK .......................................................................................................
v
ABSTRACT .......................................................................................................
vi
LEMBAR PERSEMBAHAN ..........................................................................
vii
KATA PENGANTAR .....................................................................................
vii
DAFTAR ISI ....................................................................................................
ix
DAFTAR GAMBAR .......................................................................................
xii
DAFTAR TABEL ............................................................................................
xiv
BAB I : PENDAHULUAN.............................................................................
1
1.1 Latar Belakang ...........................................................................................
1
1.2 Rumusan Masalah ......................................................................................
2
1.3 Tujuan ........................................................................................................
2
1.4 Batasan Masalah.........................................................................................
2
1.5 Metodologi .................................................................................................
3
1.6 Sistematika Penulisan ................................................................................
4
BAB II : LANDASAN TEORI ......................................................................
6
2.1 Keamanan Data ..........................................................................................
6
2.2 Kriptografi ..................................................................................................
7
ix
2.2.1 Pengertian Kriptografi .................................................................
7
2.2.2 Jenis - Jenis Kriptografi ..............................................................
10
2.3 Keamanan Algoritma Kriptografi ..............................................................
13
2.4 Algoritma Kriptografi Klasik .....................................................................
13
2.5 One Time Pad .............................................................................................
14
2.6 Android ......................................................................................................
19
2.6.1 Arsitektur Sistem Operasi Android .............................................
19
2.6.2 Application Programming Interface (API) Android ...................
21
2.7 Software Development Kit (SDK) ............................................................
22
2.7.1 Eclipse .........................................................................................
22
2.7.2 Java Development Kit (JDK) ......................................................
23
2.8 Unified Modeling Language (UML) ..........................................................
23
BAB III : ANALISIS DAN PERANCANGAN............................................
25
3.1 Analisis.......................................................................................................
25
3.1.1 Pengembangan Perangkat Keras .................................................
25
3.1.2 Pengembangan Perangkat Lunak ................................................
25
3.1.3 Analisis Enkripsi dan Dekripsi Algoritma One Time Pad ..........
26
3.1.4 Diagram Pada Algoritma One Time Pad ....................................
27
3.1.5 Analisis Kebutuhan Sistem .........................................................
27
3.1.6 Desain Sistem ..............................................................................
28
3.1.7 Flowchart Sistem.........................................................................
28
3.1.8 Use Case Diagram .......................................................................
29
3.2 Perancangan ...............................................................................................
29
3.2.1 Sequence Diagram Sistem...........................................................
29
x
3.2.2 Activity Diagram Sistem .............................................................
31
3.2.3 Desain Interface ..........................................................................
32
3.2.4 Class Diagram .............................................................................
33
BAB IV : IMPLEMENTASI DAN PENGUJIAN .......................................
34
4.1 Implementasi Sistem ..................................................................................
34
4.1.1 Implementasi Aplikasi ................................................................
35
4.1.2 Main Menu ..................................................................................
35
4.1.3 Code Import Java ........................................................................
35
4.1.4 Code Enkripsi Java......................................................................
36
4.1.5 Code Dekripsi Java .....................................................................
37
4.2 Pengujian ....................................................................................................
38
4.2.1 Pengujian Enkripsi ......................................................................
38
4.2.2 Pengujian Dekripsi ......................................................................
39
4.2.3 Pengujian Kecocokan Kunci .......................................................
39
4.2.4 Pengujian Pengiriman Pada Chat ................................................
41
4.2.5 Pengujian Pada Mobile Android .................................................
42
4.2.6 BlackBox Testing ........................................................................
43
BAB V : KESIMPULAN DAN SARAN .......................................................
44
5.1 Kesimpulan ................................................................................................
44
5.2 Saran ...........................................................................................................
45
DAFTAR PUSTAKA LAMPIRAN CODE APLIKASI
xi
DAFTAR GAMBAR Halaman Gambar 2.1 ..................................................................................................... 9 Gambar 2.2 .......................................................................................................
20
Gambar 3.1 .......................................................................................................
27
Gambar 3.2 .......................................................................................................
28
Gambar 3.3 .......................................................................................................
29
Gambar 3.4 .......................................................................................................
30
Gambar 3.5 .......................................................................................................
30
Gambar 3.6 .......................................................................................................
31
Gambar 3.7 .......................................................................................................
32
Gambar 3.8 .......................................................................................................
32
Gambar 3.9 .......................................................................................................
33
Gambar 4.1 .......................................................................................................
34
Gambar 4.2 .......................................................................................................
35
Gambar 4.3 .......................................................................................................
35
Gambar 4.4 .......................................................................................................
36
Gambar 4.5 .......................................................................................................
37
Gambar 4.6 .......................................................................................................
38
Gambar 4.7 .......................................................................................................
39
Gambar 4.8 .......................................................................................................
40
Gambar 4.9 .......................................................................................................
40
Gambar 4.10 .....................................................................................................
40
xii
Gambar 4.11 .....................................................................................................
41
Gambar 4.12 .....................................................................................................
41
Gambar 4.13 .....................................................................................................
42
Gambar 4.14 .....................................................................................................
42
xiii
DAFTAR TABEL Halaman Tabel 2.1 ........................................................................................................... 16 Tabel 2.2 ...........................................................................................................
17
Tabel 4.1 ...........................................................................................................
43
xiv
DAFTAR PUSTAKA
[1] A. Kristanto, Keamanan Data pada Jaringan Komputer, Yogyakarta: Gava Media, 2003. [2] D. Ariyus, Computer Security, Yogyakarta: Andi Yogyakarta, 2005. [3] D. Ariyus, Pengantar Ilmu Kriptografi: Teori, Analisis, dan Implementasi., Yogyakarta: Andi Yogyakarta, 2008. [4] R. Munir, Kriptografi, Bandung: Informatika, 2006. [5] B. Scheneier, "Applied Cryptography, Second Edition: Protocols, Algorthyms, and Source Code in C (cloth)," in Applied Cryptography, John Wiley & Sons, Inc., 1996. [6] N. S. H., Android Pemrograman Aplikasi Mobile Smartphone, Bandung: Informatika, 2012. [7] E. Burnette, ""Hello, Android Introducing Google's Mobile Development Platform"," [Online]. Available: http://androidon.ru. [Accessed 2013 Desember 19]. [8] R. Munir, "Algoritma Enkripsi Citra dengan Pseudo One-Time Pad yang Menggunakan Sistem Chaos," Konferensi Nasional Informatika - KNIF 2011, 2011.
xv