Implementasi Algoritma Xor Dan Algoritma Rc4 Pada Aplikasi Enkripsi Dan Dekripsi Teks Berbasis Android

IMPLEMENTASI ALGORITMA XOR DAN ALGORITMA RC4
PADA APLIKASI ENKRIPSI DAN DEKRIPSI TEKS
BERBASIS ANDROID
SKRIPSI
TANTA ADITYA PRANATA
111401122

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

IMPLEMENTASI ALGORITMA XOR DAN ALGORITMA RC4 PADA APLIKASI
ENKRIPSI DAN DEKRIPSI TEKS BERBASIS ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat memperoleh ijazah
Sarjana Ilmu Komputer
TANTA ADITYA PRANATA
111401122


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

ii

PERSETUJUAN

Judul

Kategori
Nama
Nomor Induk Mahasiswa
Program Studi
Departemen
Fakultas

: IMPLEMENTASI

ALGORITMA XOR
DAN
ALGORITMA RC4 PADA APLIKASI ENKRIPSI
DAN DEKRIPSI TEKS BERBASIS ANDROID
: SKRIPSI
: TANTA ADITYA PRANATA
: 111401122
: SARJANA (S1) ILMU KOMPUTER
: ILMU KOMPUTER
: ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI
Diluluskan di
Medan, Januari 2016

Komisi Pembimbing

:

Pembimbing 2


Pembimbing 1

Amalia, ST, MT

Dr. Poltak Sihombing, M.Kom

Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer
Ketua,

Dr. Poltak Sihombing, M.Kom
NIP. 196203171991031001

iii

PERNYATAAN

IMPLEMENTASI ALGORITMA XOR DAN ALGORITMA RC4 PADA
APLIKASI ENKRIPSI DAN DEKRIPSI TEKS 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, November 2015

Tanta Aditya Pranata
111401122

iv

PENGHARGAAN

Puji dan syukur atas kehadirat Allah SWT karena dengan rahmat dan izin-Nya,
sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat
untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu
Komputer Fasilkom-TI Universitas Sumatera Utara. Dan tidak lupa sholawat dan
salam selalu dipersembahkan kepada Rasulullah SAW sebagai pembawa
kebenaran yang telah membawa kita dari alam kegelapan (jahiliyah) ke alam
terang benderang yang penuh dengan ilmu pengetahuan seperti saat ini.

Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar–
besarnya kepada :
1. Bapak Prof. Drs. Subhilhar, M.A., Ph.D selaku Pejabat Rektor Universitas
Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer
dan Teknologi Informasi Universitas Sumatera Utara.
3. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara.
4. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1
Ilmu

Komputer

Universitas Sumatera Utara dan selaku

Dosen

Pembimbing I yang telah memberikan bimbingan, masukan dan saran
dalam penyempurnaan skripsi ini.
5. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1

Ilmu Komputer Universitas Sumatera Utara.
6. Ibu Amalia, ST, MT selaku Dosen Pembimbing II yang telah memberikan
bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi
ini.
7. Bapak M. Andri Budiman, ST, M.Comp.Sc, M.E.M selaku Dosen
Pembanding I yang telah memberikan kritik, dan saran kepada penulis
dalam pengerjaan skripsi ini.
8. Bapak Ade Candra, ST, M.Kom selaku Dosen Pembanding II yang telah
memberikan kritik dan saran kepada penulis dalam pengerjaan skripsi ini.

v

9. Seluruh Dosen serta pegawai tata usaha di Program Studi S1 Ilmu
Komputer Fasilkom-TI USU yang telah memperlancar semua urusan
penulis dalam menyelesaikan administrasi.
10. Kedua orang tua saya yaitu Surahman dan Rispa serta kedua adik saya
Fikri Al-Akbari dan Fadli Al-Ikhsal yang telah memberikan kasih sayang,
doa, semangat, motivasi dan bantuan yang tak ternilai kepada penulis
dalam menyelesaikan skipsi ini.
11. Sahabat-sahabat penulis Anggiat, Juca , Reza, Agus serta semua temanteman perumahan, SD, SMP, SMA penulis yang sampai saat ini selalu

memberikan dukungan dan motivasi, terkhusus kepada Anggiat dan Juca.
12. Nurhayati Lubis S.Kom atas semangat, dukungan, perhatian, kasih sayang,
pengertian, dan kesabaran dalam mendengarkan keluh kesah penulis,
semoga kita sama-sama sukses di masa depan.
13. Teman-teman seperjuangan dalam mengerjakan skripsi ini, Henry, Patra,
Edwin, Farid, Fernandes, Samuel serta teman-teman Pengurus IMILKOM
periode 2014/2015 yang telah memberikan banyak saran, hiburan,
dukungan, bantuan, dan semangat dalam pengerjaan skripsi ini.
14. Teman-teman seperjuangan stambuk 2011 yang sedang mengerjakan
skripsi khususnya Kom A 2011, 4 tahun penuh suka dan duka bersama
kalian semoga kita bisa sukses, tetap kompak serta tetap menjalin
silaturahim kelak.
15. Semua pihak yang terlibat langsung maupun tidak langsung yang tidak
dapat penulis ucapkan satu demi satu yang telah membantu penulis dalam
menyelesaikan skripsi ini.
Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah
memberikan bantuan, perhatian, serta dukungan kepada penulis dalam
menyelesaikan skripsi ini. Penulis menyadari bahwa skripsi ini masih memiliki
banyak kekurangan dan jauh dari kesempurnaan. Oleh karena itu, penulis
mengharapkan kritik dan saran yang bersifat membangun untuk menyempurnakan

skripsi ini sehingga dapat bermanfaat bagi semua pihak.
Medan, November 2015

Tanta Aditya Pranata

vi

ABSTRAK

Kriptografi dapat dimanfaatkan untuk mengamankan pengiriman pesan pada
smartphone berbasis Android. Pada penelitian ini penulis mengkombinasikan
kriptografi klasik dan kriptografi modern dengan tujuan untuk memperkuat keamanan
pesan. Untuk kriptografi klasik, penulis memilih algoritma XOR dikarenakan mudah
diimplementasikan dan tidak sulit secara komputasional. Untuk kriptografi modern,
penulis memilih algoritma RC4 dikarenakan proses algoritma ini cepat dan juga kuat.
Proses pengamanan pesan diawali dengan proses enkripsi plainteks menggunakan
algoritma XOR untuk menghasilkan cipherteks pertama yang disebut cipherxor.
Selanjutnya cipherxor dienkripsi lagi dengan algoritma RC4 sehingga menghasilkan
cipherteks akhir. Sedangkan untuk proses dekripsi, tahap awal cipherteks didekripsi
dengan algoritma RC4 untuk mendapatkan cipherxor. Kemudian cipherxor didekripsi

lagi dengan algoritma XOR untuk menghasilkan plainteks kembali. Hasil dari
penelitian ini menunjukkan bahwa waktu pemrosesan enkripsi dan dekripsi dari
kombinasi algoritma XOR dan algoritma RC4 lebih efisien dibandingkan dengan
penjumlahan waktu pada proses enkripsi maupun proses dekripsi masing-masing
algoritma tersebut. Untuk proses enkripsi selisihnya adalah 0,015 detik sedangkan
untuk proses dekripsi selisihnya adalah 0,016 detik. Waktu tersebut juga berbanding
lurus dengan panjang plainteks.
Kunci : Kriptografi, Enkripsi, Dekripsi, XOR, RC4, Android

vii

IMPLEMENTATION OF XOR ALGORITHM AND RC4 ALGORITHM
IN TEXT ENCRYPTION AND DECRYPTION APPLICATION
BASED ON ANDROID

ABSTRACT

Cryptography can be used to secure the delivery of messages on an Android-based
smartphone. In this research, the authors combine classical cryptography and modern
cryptography with the aim to strengthen the security of message. For classical

cryptography, the author chose XOR algorithm because it’s easy to implement and it’s
not difficult computationally. For modern cryptography, the author chose RC4
algortihm because the process of this algorithm is fast and the security is also strong.
The process of securing message begins with encryption process of plaintext using
XOR algorithm to produce a first ciphertext that called cipherxor. Furthermore, the
cipherxor is encrypted again with RC4 algorithm to produce last ciphertext. As for the
decryption process, the first step ciphertext is decrypted with RC4 algorithm to get
cipherxor. Cipherxor then decrypted again with the XOR algorithm to generate the
plaintext back. The results from this research showed that the encryption and
decryption processing time of the combination of XOR algorithm and RC4 algorithm
is more efficient than the sum of encryption and decryption processing time each of
both algorithms. For the encryption process difference was 0.015 seconds while the
decryption process difference was 0.016 seconds. That time is also directly
proportional to the lenght of plaintext.
Keyword : Cryptography, Encryption, Decryption, XOR, RC4, Android

viii

DAFTAR ISI


Hal.
Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract
Daftar isi
Daftar Gambar
Daftar Tabel
Daftar Lampiran
Bab 1 Pendahuluan
1.1 Latar Belakang
1.2 Rumusan Masalah
1.3 Batasan Masalah
1.4 Tujuan Penelitian
1.5 Manfaat Penelitian
1.6 Metodologi Penelitian
1.7 Sistematika penulisan

ii
iii
iv
vi
vii
viii
x
xii
xiii

1
3
3
3
3
4
5

Bab 2 Landasan Teori
2.1 Kriptografi
2.1.1 Sejarah Kriptografi
2.1.2 Algoritma Kriptografi
2.2 Macam-Macam Algoritma Kriptografi
2.2.1 Algoritma Simetri
2.2.2 Algoritma Asimetri
2.3 Tipe dan Model Algoritma Kriptografi
2.3.1 Aliran kode
2.3.2 Blok kode
2.4 Algoritma Kriptografi XOR
2.5 Algoritma Kriptografi RC4
2.5.1 Key Scedulling Algorithm
2.5.2 Pseudo Random Generation Algorithm
2.6 Android
2.7 Penelitian yang Relevan

6
6
6
7
7
8
9
9
12
14
16
17
19
20
21

Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem
3.1.1 Analisis Masalah
3.1.2 Analisis Kebutuhan
3.1.3 Analisis Proses

22
22
23
24

ix

3.2 Pemodelan
3.2.1 Use Case Diagram
3.2.2 Activity Diagram
3.2.3 Sequence Diagram
3.3 Flowchart
3.3.1 Flowchart Sistem
3.3.2 Flowchart Program Enkripsi Pesan dengan Algoritma XOR
3.3.3 Flowchart Program Enkripsi Pesan dengan Algoritma RC4
3.3.4 Flowchart Program Dekripsi Pesan dengan Algoritma RC4
3.3.5 Flowchart Program Dekripsi Pesan dengan Algoritma XOR
3.4 Pseudocode
3.4.1 Pseudocode Proses Enkripsi Pesan
3.4.2 Pseudocode Proses Dekripsi Pesan
3.5 Perancangan Antarmuka
3.5.1 Form Home
3.5.2 Form Main Menu
3.5.3 Form Encryption
3.5.4 Form Decryption
3.5.5 Form Help
3.5.6 Form About

25
25
29
31
32
32
34
35
36
37
38
38
40
41
42
43
44
45
47
48

Bab 4 Implementasi dan Pengujian
4.1 Implementasi Sistem
4.1.1 Form Home
4.1.2 Form Main Menu
4.1.3 Form Encryption
4.1.4 Form Decryption
4.1.5 Form Help
4.1.6 Form About
4.2 Pengujian
4.2.1 Pengujian Hasil Enkripsi
4.2.2 Pengujian Hasil Dekripsi
4.2.3 Hubungan Waktu Proses Enkripsi dan Dekripsi Terhadap Plaintext

49
49
50
50
51
51
52
52
53
64
71

Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan
5.2 Saran

74
75

Daftar Pustaka

76

x

DAFTAR GAMBAR

Gambar 2.1
Gambar 2.2
Gambar 2.3
Gambar 2.4
Gambar 2.5
Gambar 2.6
Gambar 2.7
Gambar 2.8
Gambar 3.1
Gambar 3.2
Gambar 3.3
Gambar 3.4
Gambar 3.5
Gambar 3.6
Gambar 3.7
Gambar 3.8
Gambar 3.9
Gambar 3.10
Gambar 3.11
Gambar 3.12
Gambar 3.13
Gambar 3.14
Gambar 3.15
Gambar 3.16
Gambar 3.17
Gambar 4.1
Gambar 4.2
Gambar 4.3
Gambar 4.4
Gambar 4.5
Gambar 4.6
Gambar 4.7
Gambar 4.8
Gambar 4.9
Gambar 4.10
Gambar 4.11

Proses Enkripsi dan Dekripsi
Kriptografi Simetri
Kriptografi Asimetri
Konsep Stream Cipher
Contoh Stream Cipher
Proses Stream Cipher
Proses Enkripsi dan Dekripsi Block Cipher
Gerbang logika XOR
Diagram Ishikawa
Use Case Diagram
Activity Diagram Proses Enkripsi
Activity Diagram Proses Dekripsi
Sequence Diagram untuk Proses Enkripsi
Sequence Diagram untuk Proses Dekripsi
Flowchart Sistem
Flowchart Program Enkripsi Pesan dengan Algoritma XOR
Flowchart Program Enkripsi Pesan dengan Algoritma RC4
Flowchart Program Dnkripsi Pesan dengan Algoritma RC4
Flowchart Program Dekripsi Pesan dengan Algoritma XOR
Rancangan Antarmuka Form Home
Rancangan Antarmuka Form Main Menu
Rancangan Antarmuka Form Encryption
Rancangan Antarmuka Form Decryption
Rancangan Antarmuka Form Help
Rancangan Antarmuka Form About
Form Home
Form Main Menu
Form Encryption
Form Decryption
Form Help
Form About
Contoh Proses Enkripsi dan Hasilnya
Contoh Proses Share Ciphertext Melalui Gmail
Pesan Peringatan Ketika Plaintext Tidak Dimasukkan
Pesan Peringatan Ketika Salah Satu Kunci Tidak Diisi
Pesan Peringatan Ketika Panjang Kunci XOR > Panjang Plaintext

Hal.
7
8
9
10
11
11
13
14
23
26
29
30
31
32
33
34
35
36
37
42
43
44
45
47
48
49
50
50
51
51
52
53
54
54
55
55

xi

Gambar 4.12
Gambar 4.13
Gambar 4.14
Gambar 4.15
Gambar 4.16

Contoh Proses Dekripsi dan Hasilnya
Contoh Proses Share Plaintext Melalui Aplikasi Pesan Xiaomi
Pesan Peringatan Ketika Ciphertext Tidak Dimasukkan
Pesan Peringatan Ketika Salah Satu Kunci Tidak Diisi
Pesan Peringatan Ketika Panjang Kunci XOR > Panjang Ciphertext

65
65
66
66
67

xii

DAFTAR TABEL

Tabel 2.1
Tabel 2.2
Tabel 2.3
Tabel 2.4
Tabel 3.1
Tabel 3.2
Tabel 4.1
Tabel 4.2
Tabel 4.3
Tabel 4.4

Tabel XOR
Larik 256 Byte Kotak-S Awal
Larik 256 Byte Kunci
Larik 256 Byte Kotak-S Akhir
Naratif Use Case Encryption
Naratif Use Case Decryption
Tabel Modifikasi untuk Algoritma XOR
Hasil Pengujian Lamanya Waktu Proses Enkripsi
Hasil Pengujian Lamanya Waktu Proses Dekripsi
Perbandingan Waktu Enkripsi dan Dekripsi

Hal.
14
17
18
18
26
27
56
71
72
73

xiii

DAFTAR LAMPIRAN

Hal.
A. Listing Program
B. Daftar Riwayat Hidup

78
94