PERANCANGAN APLIKASI SMS (SHORT MESSAGE SERVICE) DENGAN ENKRIPSI TEKS MENGGUNAKAN ALGORITMA XXTEA BERBASIS ANDROID SKRIPSI RABIATUL ADAWIYAH DAULAY 101402113 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014
PERANCANGAN APLIKASI SMS (SHORT MESSAGE SERVICE) DENGAN ENKRIPSI TEKS MENGGUNAKAN ALGORITMA XXTEA BERBASIS ANDROID SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi RABIATUL ADAWIYAH DAULAY 101402113 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014
ii PERSETUJUAN Judul :PERANCANGAN APLIKASI SMS (SHORT MESSAGE SERVICE) DENGAN ENKRIPSI TEKS MENGGUNAKAN ALGORITMA XXTEA BERBASIS ANDROID Kategori Nama : SKRIPSI Nomor Induk Mahasiswa : 101402113 Program Studi Departemen Fakultas Komisi Pembimbing : : RABIATUL ADAWIYAH DAULAY : S1 TEKNOLOGI INFORMASI : TEKNOLOGI INFORMASI : ILMU KOMPUTER DAN TEKNOLOGI Pembimbing 2 Pembimbing 1 INFORMASI UNIVERSITAS SUMATERA UTARA Dedy Arisandi, ST., M.Kom M. Andri Budiman, ST., M.Comp.Sc., M.E.M. NIP. 19790831 200912 1 002 NIP. 19751008 200801 1 011 Diketahui/disetujui oleh Program Studi S1 Teknologi Informasi Ketua, Muhammad Anggia Muchtar, ST., MM.IT NIP. 198001102008011010
iii PERNYATAAN PERANCANGAN APLIKASI SMS (SHORT MESSAGE SERVICE) DENGAN ENKRIPSI TEKS MENGGUNAKAN ALGORITMA XXTEA 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, Rabiatul Adawiyah Daulay 101402113
iv UCAPAN TERIMA KASIH Puji dan syukur penulis panjatkan kepada Allah SWT Yang Maha Pengasih dan Maha Penyayang, dengan limpahan rahmat dan karunia-nya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Terima kasih kepada Bapak M. Andri Budiman ST., M.Comp.Sc., M.E.M. dan Bapak Dedy Arisandi, ST., M.Kom selaku pembimbing atas segala ilmu, motivasi, nasehat, dan bantuan yang telah diberikan sehingga penulis dapat menyelesaikan penelitian tugas akhir hingga penyelesaian penulisan skripsi ini. Untuk seluruh staf pengajar Program Studi Teknologi Informasi, terutama Bapak Baihaqi Siregar, S.Si, M.T dan Ibu Sarah Purnamawati, S.T., M. Sc selaku penguji. Ucapan terima kasih yang tiada tara untuk kedua orang tua penulis. Untuk Mamak dan Ayah yang telah menjadi orang tua terhebat sejagad raya, yang selalu memberikan motivasi, nasehat, cinta, perhatian, dan kasih sayang serta doa yang tentu takkan bisa penulis balas. Untuk bunde, abang, kakak dan kedua adik penulis, terima kasih atas segala perhatian, kasih sayang, dan motivasi serta doanya. Terima kasih banyak telah menjadi motivator yang luar biasa sehingga penulis dapat menyelesaikan penelitian ini. Terima kasih untuk sahabat-sahabat, Nency, Ilda, Fitra, Epin, Fhilien, serta terima kasih yang lebih untuk sahabat masa SMA, Maria Pasaribu dan Winda Safitri untuk motivasi, dukungan, bantuan, serta perhatian sehingga skripsi ini bisa selesai tepat waktu. Dan terima kasih untuk teman-teman seperjuangan Teknologi Informasi USU Angkatan 2010 serta abang dan kakak senior untuk bantuan dan kebersamaan selama perkuliahan di Teknologi Informasi USU. Semoga segala kebaikan dan bantuannya dibalas oleh Allah SWT dan semoga tugas akhir ini dapat bermanfaat bagi semua pihak yang memerlukannya.
v ABSTRAK SMS adalah salah satu fasilitas yang disediakan ponsel untuk melakukan pengiriman data berupa pesan singkat. Namun, sayangnya pesan yang dikirimkan melalui SMS tidak dapat dijamin integritas dan keamanannya. Hal tersebut dikarenakan pesan yang dikirim akan disimpan di SMSC (Short Message Service Center), yaitu tempat dimana SMS disimpan sebelum dikirim ke tujuan. Pesan yang sifatnya plaintext ini dapat disadap oleh siapa saja yang berhasil memiliki akses ke dalam SMSC. Akibatnya, informasi penting dapat diketahui oleh orang yang tidak berhak. Hal-hal tersebut dapat menjadi sangat merugikan jika informasi yang dicuri atau disadap adalah informasi yang bersifat pribadi atau rahasia. Sehingga diperlukan suatu penerapan algoritma enkripsi untuk mencagah penyadapan terhadap pesan SMS. Pada penelitian ini, penulis menggunakan algoritma XXTEA atau Corrected Block Tea. XXTEA beroperasi dalam ukuran blok kelipatan 32 bit dan panjang kunci 128 bit. Karakteristik dari XXTEA adalah small, secure, simple dan fast. Dengan karakteristik seperti ini, XXTEA cocok utuk diaplikasikan ke perangkat elektronik mobile. Hasil pengujian yang didapat, aplikasi yang dibangun dapat mengamankan SMS tepat sebelum SMS dikirim dan lamanya waktu rata-rata proses enkripsi adalah 419017.3 nanosecond sedangkan waktu rata-rata proses dekripsi adalah 83722.58 nanosecond. Kata kunci: Enkripsi, SMS, Short Message Text, Algoritma XXTEA, Kompleksitas Waktu
vi DESIGN SMS (SHORT MESSAGE TEXT) APPLICATION WITH ENCRYPTION USING XXTEA AGORITHM ANDROID BASED ABSTRACT SMS is one of facilities which provided by the phone for data transmission as short messages. However, unfortunately, message sent via SMS can not guarantee its integrity and security. That is because message which is sent will be stored in the SMSC (Short Message Service Center), is a place where SMS is stored before it will be sent to the destination. This plaintext message can be intercepted by anyone who is able to have access to the SMSC. As a result, the important information can be known by an unauthorized person. These things can be very harmful if the information which is stolen or intercepted is private or confidential. So, we need an encryption algorithm to prevent malicious application intercepts the SMS. In this study, the author used the algorithm XXTEA or Corrected Block Tea. XXTEA. XXTEA is operated in blok dimension with multiplies of 32 bits and the key length of 128 bit. Characteristics of XXTEA is small, secure, simple and fast. With these characteristics, XXTEA fitted to be applied to mobile electronic devices. From the acquired test results, the application can secure the SMS just before it sent and average duration of encryption is 419017.3 nanosecond whereas average duration of decryption is 419017.3 nanosecond. Keyword: Encryption, SMS, Short Message Text, XXTEA, Time Complexity of Algorithm, Big Theta
vii DAFTAR ISI Hal. Persetujuan Pernyataan Ucapan Terima Kasih Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar ii iii iv v vi vii x xi BAB 1 Pendahuluan 1 1.1. Latar Belakang 1 1.2. Rumusan Masalah 2 1.3. Tujuan Penelitian 3 1.4. Batasan Masalah 3 1.5. Manfaat Penelitian 3 1.6. Sistematika Penulisan 3 BAB 2 Landasan Teori 5 2.1. Short Message Service (SMS) 5 2.1.1. Cara Kerja SMS 6 2.2. Keamanan SMS 7 2.3. Android 8 2.4. Kriptografi 8
viii 2.4.1. XXTEA 9 2.5. SQLite 11 2.6. Base64 13 2.7. Kompleksitas Algoritma 14 2.7.1. Notasi Asimptotik 15 2.7.2. Kompleksitas Waktu Algoritma 17 2.8. Penelitian Terdahulu 18 BAB 3 Analisis dan Perancangan 20 3.1. Use Case Diagram 20 3.2. Activity Diagram 21 3.3. Flowchart Sistem 21 3.4. Perancangan Sistem 24 3.4.1. Kebutuhan Perangkat Lunak 24 3.4.2. Perancangan Antar Muka Sistem 24 3.5. Perancangan Database 34 3.5.1. Perancangan Tabel 34 3.5.2. Relasi Antar Tabel 35 3.6. Proses Enkripsi dan Dekripsi XXTEA 36 BAB 4 Implementasi dan Pengujian 47 4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak 47 4.2. Pengujian Sistem Secara Menyeluruh 48 4.3. Analisis Kriptografi Terhadap Sistem 59 4.3.1. Analisis Keamanan Pesan Antar Pengguna 59 4.4. Analisis Performa Aplikasi 61 4.4.1. Analisis Kompleksitas Waktu 61 4.4.2. Analisis Performa Waktu Aplikasi 64 4.4.3. Analisis Perubahan Panjang Karakter 66 BAB 5 Kesimpulan dan Saran 69 5.1. Kesimpulan 69
ix 5.2. Saran 69 Daftar Pustaka 70 Lampiran: Source Code Aplikasi 72
x DAFTAR TABEL Hal. Tabel 2.8 Penelitian Terdahulu 19 Tabel 3.5.3.1 Nilai ASCII Plaintext rabi 36 Tabel 3.5.3.2 Nilai ASCII Plaintext atul" 36 Tabel 3.5.3.3 Nilai ASCII Kunci inik 37 Tabel 3.5.3.4 Nilai ASCII Kunci unci 37 Tabel 3.5.3.5 Perubahan Nilai v[0], v[1] dan v[2] pada Enkripsi XXTEA 40 Tabel 3.5.3.6 Perubahan Nilai v[0], v[1] dan v[2] pada Enkripsi XXTEA 45 Tabel 4.3.2.1.1 Perhitungangan Kompleksitas Enkripsi XXTEA 62 Tabel 4.3.2.1.2 Perhitungangan Kompleksitas Dekripsi XXTEA 63
xi DAFTAR GAMBAR Hal. Gambar 2.1 Cara Kerja SMS 6 Gambar 2.4.1 Flowchart XXTEA 10 Gambar 2.6 Nilai Value pada Base 64 13 Gambar 2.7.1.1 Contoh Grafik dari Notasi Asimptotik Ω 15 Gambar 2.7.1.2 Contoh Grafik dari Notasi Asimptotik θ 16 Gambar 2.7.1.3 Contoh Grafik dari Notasi Asimptotik O 16 Gambar 3.1 Use Case Diagram 20 Gambar 3.2 Activity Diagram 21 Gambar 3.3.1 Flowchart Enkripsi 22 Gambar 3.3.2 Flowchart Dekripsi 23 Gambar 3.4.2.1 Rancangan Tampilan Menu Utama 25 Gambar 3.4.2.2 Rancangan Tampilan Contact 26 Gambar 3.4.2.3 Rancangan Tampilan New Contact 27 Gambar 3.4.2.4 Rancangan Tampilan Update Contact 28 Gambar 3.4.2.5 Rancangan Tampilan SMS 29 Gambar 3.4.2.6 Rancangan Tampilan New Message 30 Gambar 3.4.2.7 Rancangan Tampilan Thread SMS 31 Gambar 3.4.2.8 Rancangan Tampilan Delete SMS 32 Gambar 3.4.2.9 Rancangan Tampilan Delete Contact 33
xii Gambar 3.5.1.1 Tabel Contact 34 Gambar 3.5.1.2 Tabel SMS 34 Gambar 3.5.2 Database Relationship 35 Gambar 4.2.1.1 Tampilan Menu Utama 49 Gambar 4.2.1.2 Tampilan SMS 50 Gambar 4.2.1.3 Tampilan Send SMS 51 Gambar 4.2.1.4 Tampilan Inbox 52 Gambar 4.2.1.5 Tampilan Delete SMS 53 Gambar 4.2.1.6 Tampilan Contact 54 Gambar 4.2.1.7 Tampilan New Contact 55 Gambar 4.2.1.8 Tampilan Update Contact 56 Gambar 4.2.1.9 Tampilan Delete Contact 57 Gambar 4.2.2.0 Tampilan Menu Help 58 Gambar 4.3.1.1 Pengirim mengirim SMS 59 Gambar 4.3.1.2 SMS Diterima dengan Aplikasi Default 60 Gambar 4.3.1.3 SMS Diterima dengan Aplikasi Enkripsi 61