ANALISIS DAN PERANCANGAN APLIKASI ENKRIPSI SMS DENGAN KOMBINASI METODE SUBSTITUSI DAN AES BERBASIS ANDROID
DI KALANGAN MAHASISWA STMIK “AMIKOM” YOGYAKARTA
NASKAH PUBLIKASI
diajukan oleh
Mimbar Sutisna Wangsadiria 09.11.3134
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA YOGYAKARTA
2013
ANALYSIS AND DESIGN SMS ENCRYPTION APPLICATION IN SUBSTITUTION AND AES COMBINATION METHOD BASED IN ANDROID
AMONG STMIK “AMIKOM” YOGYAKARTA
ANALISIS DAN PERANCANGAN APLIKASI ENKRIPSI SMS DENGAN KOMBINASI METODE SUBSTITUSI DAN AES BERBASIS ANDROID DI KALANGAN
MAHASISWA STMIK “AMIKOM” YOGYAKARTA
Mimbar Sutisna Wangsadiria Ema Utami
Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT
Last few years occurred rapid development in technology, one of which is the development of telecommunications technology that has helped us reducing the obstacles in communication limited by distance and time. These developments can we look along in wide range of smart phone developments with sophisticated features. One of the provided features is Short Message Service (SMS). This feature is veru familiar among users of smart phones, using SMS, users can communicate via text messages.
In this final project, a software built on the smart phone that are used to enhance
the security of the message that will be done through SMS. The software intended to enhance the security of message contents by encrypting sent messages and decrypt received messages. This application can be used to transmit a confidential information securely to others through SMS.
This software was built by using a combination of classical cryptographic
algorithms and modern cryptographic algorithms to encrypt SMS. The purpose of using this multiple methods is to obtain an reliably algorithm and can be implemented using Android technology.
Keywords : SMS, encryption, decryption, substitution technique, AES, android.
1. Pendahuluan
Beberapa tahun terakhir terjadi perkembangan yang pesat pada bidang
teknologi, khususnya smartphone yang dapat digunakan untuk pelbagai macam kegiatan
seperti data transferring, multimedia, multiplayer games, browsing, video streaming dan
lain – lain. Perkembangan smartphone yang sedang populer saat ini adalah smartphone
yang berbasis Android. Perkembangan smartphone berbasis Android ini sangat
menakjubkan, dikarenakan Android merupakan Operating Systen Mobile yang open
platform. Pelbagai perangkat lunak telah dikembangkan untuk memudahkan kita dalam
membangun suatu aplikasi berbasis Android, diantaranya yang terkenal adalah Eclipse.
Salah satu fitur penting yang tidak dapat dilupakan dari smartphone adalah fitur
untuk melakukan pengiriman data berupa pesan singkat melalui Short Message Service
(SMS).Namun seiring denganperkembangan teknologi yang semakin canggih
menimbulkan pertanyaan mengenai keamanan informasi yang dikirimkan melalui SMS.
Setelah melalui pelbagai pertimbangan akhirnya penulis menemukan solusi
untuk mengembangkan suatu aplikasi pengamanan SMS dengan menggunakan metode
gabungan dari algoritma kriptografi klasik dan algoritma kriptografi modern untuk meng-
enkripsi data yang berjalan pada sistem operasi Android sehingga para pengguna
smartphone berbasis Android dapat mengirim pesan dengan lebih aman.
2. Landasan Teori 2.1 Short Message Service (SMS) Short Message Service (SMS) atau sering disebut dengan layanan pesan
singkat merupakan sebuah layanan pesan singkat yang disediakan oleh Global System
of Mobile (GSM) sebagai layanan standar yang digunakan untuk mengirim dan menerima
pesan dalam bentuk teks yang dikirim melalui telepon seluler1.
2.2 Android Android merupakan sebuah sistem operasi perangkat mobile berbasisi Linux
yang mencakup sistem operasi, middleware, dan aplikasi lainnya. Awalnya pada bulan
Juni 2005 Google Inc. membeli Android Inc. yang merupakan pendatang baru dalam
pembuatan piranti lunak untuk telepon seluler. Kemudian untuk mengembangkan
Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti
keras, piranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola,
Qualcomm, T-Mobile, dan Nvidia2.
1 Zulfadli. Aplikasi Supply Chain Management Berbasis SMS. FMIPA UGM, Yogyakarta, 2005. 2 Nazruddin Safaat H, Pemrograman Aplikasi Mobile Smartphone Dan Tablet PC Berbasis Android, Bandung : Informatika, 2012, hal. 1.
2.3 SQLite Android memiliki fasilitas untuk membuat database yang dikenal dengan
SQLite. SQLite adalah salah satu software yang embedded yang sangat popular,
kombinasi SQL interface dan penggunaan memory yang sangat sedikit dengan
kecepatan yang sangat cepat dan ringan dalam hal sumber daya. SQLite tidak memiliki
server, namun bentuknya adalah library yang akan dipanggil suatu saat program
dijalankan3.
2.4 Kriptografi
Kriptografi berasal dari bahasa Yunani. Menurut bahasa tersebut kata
kriptografi dibagi menjadi dua, yaitu kripto dan graphia. Kripto berarti secret (rahasia)
dab graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan
seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat menuju
tempat yang lain. Dalam perkembangannya, kriptografi juga digunakan untuk
mengidentifikasi pengiriman pesan dengan sidik jari digital (fingerprint)4.
2.5 Data Flow Diagram (DFD)
Pemodelan proses adalah cara formal untuk menggambarkan bagaimana suatu
proses beroperasi. Salah satu cara yang popular untuk merepresentasikan proses model
adalah Data Flow Diagram (DFD)5. DFD adalah suatu grafik yang menjelaskan sebuah
sistem dengan menggunakan bentuk – bentuk atau symbol – symbol untuk
menggambarkan aliran data dari proses – proses yang saling berhubungan6.
3. Analisis 3.1 Analisis Sistem
Analisis sistem adalah teknik pemecahan masalah yang menguraikan bagian -
bagian komponen dengan mempelajari seberapa bagus komponen - komponen tersebut
bekerja dan berinteraksi untuk mencapai tujuan mereka7. Analisis merupakan tahapan
awal dan sangat penting, karena kesalahan pada tahap ini akan menyebabkan
kesalahan pada tahap selanjutnya. Analisis merupakan fondasi untuk menentukan
sukses atau tidaknya suatu sistem informasi yang akan dibuat. dalam perancangan
sistem nantinya hal yang sangat penting adalah dengan mengetahui masalah yang
timbul dan kebutuhan yang yang dibutuhkan.
3 Feri Djuandi, Menggunakan Database Di Android, 2011, hal. 1. 4 Dony Ariyus, Computer Security, Yogyakarta : Andi, 2005, hal. 77. 5 Hanif Al Fatta, Analisis & Perancangan Sistem Informasi, Yogyakarta : Andi, 2007, hal. 105. 6 Elmasri & Navathe, 1994. 7 Hanif Al Fatta, Analisis & Perancangan Sistem Informasi, Yogyakarta : Andi, 2007, hal. 44.
3.2 Software Requirement Spesification (SRS) Tabel 3.1 Spesifikasi Kebutuhan Perangkat Lunak
NO SRS-ID DESKRIPSI
1 DECS-01 Menerima input nomor tujuan, pesan, key 1, key 2, dan key 3
2 DECS-02 Mengubah pesan dan key menjadi kode ASCII
3 DECS-03 Melakukan enkripsi terhadap pesan menggunakan key yang
telah dimasukkan
4 DECS-04 Memberikan header DECS- pada pesan yang akan dikirimkan
5 DECS-05 Mengirim pesan dan memberikan laporan bahwa pesan telah
dikirim ke nomor tujuan
6 DECS-06 Memeriksa pesan yang masuk apakah memiliki header DECS-
7 DECS-07 Menampilkan nomor pengirim pesan
8 DECS-08 Melakukan dekripsi menggunakan key yang dimasukkan
9 DECS-09 Mengubah pesan dari kode ASCII menjadi karakter
10 DECS-10 Menampilkan pesan asli kepada penerima
3.3 Rancangan Diagram Hierarki
Rancangan ini disusun dengan tujuan untuk memudahkan proses perancangan
aplikasi DECryptoSMS. Diagram hierarki ini memiliki dua sub menu, yaitu menu enkripsi
dan menu dekripsi. Sedangkan pada tipe sub menu terdapat dua pilihan, yaitu tipe
masukan (input) dan proses.
Gambar 3.1 Diagram Hierarki
3.4 Rancangan Flowchart
MenuUtama
MenuDekripsi MenuEnkripsi
Menu Input Kunci Menu Input Kunci Menu Proses Enkripsi
Menu Proses Dekripsi
Rancangan ini disusun dengan tujuan mendesain dan merepresentasikan
program. Fungsinya adalah untuk memudahkan dalam penentuan alur logika yang akan
dibuat.
Gambar 3.2 Flowchart Sistem
3.5 Rancangan Sistem
Perancangan sistem dibagi dalam beberapa tahap, yaitu penyusunan arsitektur
dan pemodelan fungsional dengan menggunakan DFD.
3.5.1 Arsitektur Sistem 3.5.1.1 Arsitektur Aliran Pesan Secara Umum (GSM)
Gambar dibawah ini menunjukkan dua GSM network dan komponen yang
relevan untuk menyampaikan pesan dari end user A menuju end user B :
Gambar 3.3 Susunan Jaringan dan Aliran SMS
1. SMS dikirim melalui MSC/ VLR menuju SMSC di PLMN (Public Land Mobile
Network) A. Ini merupakan sebuah pesan MAP “forward SM”, termasuk nomor MSISDN
asal A dan MSISDN tujuan B.
2. Karena end user B berada di PLMN B, SMSC harus me-routing informasi dari HLR
PLMN B. Untuk melakukannya, SMSC mengirim MAP “send routing info for SM” dengan
nomor MSISDN B.
3. HLR mengirim kembali IMSI dari end user B dan VLR-nya.
4. SMSC mengirim SMS sebagai MAP message melalui MSC/ VLR ke end user B.
(Elemen – elemen SMS sudah dibahas di Bab II).
3.5.1.2 Arsitektur Sistem Aplikasi
Gambar 3.4 Arsitektur Sistem Aplikasi
3.5.2 Perancangan Pemodelan Fungsional 3.5.2.1 Context Diagram
Context diagram menunjukkan data yang mengalir antara sistem dan
lingkungan yang digambarkan secara umum.
Gambar 3.5 Context Diagram
Penjelasan dari gambar diatas adalah user (pengirim) memasukkan nomor
tujuan, menulis pesan dan mengisi key untuk diproses oleh sistem. Setelah itu sistem
akan memberikan output pemberitahuan bahwa pesan telah dikirim. Selanjutnya
penerima akan mendapatkan pesan yang telah diacak (ciphertext) disertai dengan nomor
pengirim (seperti proses sms pada umumnya).Penerima harus memasukkan kunci yang
sesuai agar sistem dapat menampilkan pesan yang asli (plaintext).
3.5.2.2 Data Flow Diagram (DFD) Pada tahap ini, proses tunggal dari context diagramakan dibagi menjadi enam
proses yang lebih terperinci, yaitu proses konversi ASCII, proses enkripsi, proses
pemberian header, proses pengiriman pesan, proses pemeriksaan header, proses
dekripsi, dan proses perubahan kode ASCII menjadi karakter kembali.
Gambar 3.6 DFD Level 1
Gambar diatas merupakan DFD level 1 dari aplikasi perangkat lunak
DECryptoSMS. Proses – proses yang berlangsung adalah
1. Konversi ASCII
Pada proses ini dilakukan perubahan bentuk isi pesan dari karakter menjadi kode ASCII.
2. Enkripsi
Pada proses ini dilakukan enkripsi terhadap pesan yang akan dikirim dengan
menggunakan bantuan kunci yang telah di-inputkan dan dikonversi menjadi kode ASCII.
3. Pemberian Header
Pada proses ini dilakukan pemberian header pada pesan yang akan dikirim sebagai
tanda bahwa pesan tersebut milik DECryptoSMS.Pesan tersebut sudah dalam bentuk
ciphertext.
4. Pengiriman Pesan
Pada proses ini dilakukan pengiriman pesan sesuai nomor tujuan yang telah melalui
proses konversi dan enkripsi, setelah pesan terkirim akan muncul pemberitahuan bahwa
pesan telah dikirim.
5. Pemeriksaan Header
Pada proses ini pesan yang masuk akan diperiksa terlebih dahulu apakah memiliki
header DECryptoSMS atau tidak. Jika pesan tersebut memiliki header, maka pesan
tersebut akan langsung diteruskan menuju proses selanjutnya, yaitu dekripsi. Jika pesan
tidak memiliki header, maka system aplikasi DECryptoSMSakan mengabaikan pesan
tersebut. Selain itu, proses pemeriksaan header juga akan memisahkan SMS yang
memiliki header menuju kotak masuk aplikasi DECryptoSMS.
6. Dekripsi
Pada proses ini dilakukan dekripsi terhadap pesan yang masuk dengan menggunakan
kunci yang sesuai. Apabila kunci yang digunakan sesuai, maka pesan yang asli akan
muncul, tetapi apabila kunci yang digunakan tidak sesuai, maka pesan yang ditampilkan
tetap berupa chipertext.
3.5.3 Perancangan Sistem
Perancangan sistem merupakan langkah awal dalam pembuatan sistem
dimana tahapan ini bertujuan untuk memberikan ketentuan bentuk dan proses pada
perangkat lunak yang dibuat agar pembuatan program tidak menyimpang dari aturan
yang telah ditetapkan. Pada proses pembuatan aplikasi DECryptoSMS ini terdiri dari 11
(sebelas) kelas, yaitu :About, DB, Decrypto, DecryptoSMSActivity, Help, LazyAdapter,
MainActivity, Settings, SMSInfo, SMSInfoAdapter, SMSReceiver. Proses pembuatan
menggunakan aplikasi Eclipse. Secara garis besar, fungsi dari masing – masing kelas
adalah
1. About merupakan kelas yang berfungsi untuk memberikan informasi tentang aplikasi
DECryptoSMS kepada pengguna.
2. DB merupakan kelas yang berfungsi untuk menyimpan data aplikasi.
3. Decryptomerupakan kelas yang berisi algoritma yang digunakan dalam proses
enkripsi dan dekripsi. Pada bagian ini seluruh pesan yang keluar dan masuk akan melalui
proses enkripsi dan dekripsi.
4. DecryptoSMSActivity merupakan kelas utama yang mengatur tampilan, pengiriman,
penghapusan, dan penerimaan pesan.
5. Help merupakan kelas yang berfungsi untuk memberikan penjelasan tentang cara
menggunakan aplikasi.
6. LazyAdaptermerupakan kelas yang berfungsi untuk mengatur tampilan dan activity
pada inboxdan outbox.
7. MainActivity merupakan kelas yang berfungsi untuk mengatur tampilan awal
sebelum masuk menuju halaman utama aplikasi.
8. Settingsmerupakan kelas yang berfungsi untuk mengatur tampilan pada halaman
Settings.
9. SMSInfo merupakan kelas yang berfungsi untuk menampilkan informasi dari pesan
yang diterima seperti nomor telepon pengirim dan pesan.
10. SMSInfoAdapter merupakan kelas yang berfungsi untuk updating otomatis pesan
yang masuk.
11. SMSReceiver merupakan kelas yang yang berfungsi untuk mengatur tampilan list
pesan yang masuk.
3.6 Perancangan User Interface Perancangan Interface atau antarmuka adalah perancangan tampilan aplikasi
yang menghubungkan pengguna dengan system. Berikut ini adalah perancangan
interface pada aplikasi DECryptoSMS.
3.6.1 Rancangan Splash Screen
Gambar 3.7 Rancangan Splash Screen
Logo
3.6.2 Rancangan Form Tab Tulis Pesan
Gambar 3.8 Rancangan Form Tab Tulis Pesan 3.6.3 Rancangan Form Tab Kotak Masuk Pesan
Gambar 3.9 Rancangan Form Tab Kotak Masuk Pesan
Tab
Nomor Tujuan
Kunci 1
Kunci 2
Kunci 3
Pesan
Kirim Enkrip Reset
Tab
Kunci 1
Kunci 2
Kunci 3
Pesan
3.6.4 Rancangan Form Tab Kotak Keluar Pesan
Gambar 3.10 Rancangan Form Tab Kotak Keluar Pesan 3.6.5 Rancangan Form Bantuan
Gambar 3.11 Rancangan Form Tab Bantuan 4. Hasil Penelitian Dan Pembahasan 4.1 Implementasi
Tahap yang harus dilalui setelah melewati tahap perancangan dan pengkodean
adalah tahap pengujian.Pengujian terhadap program ini dilakukan dengan tujuan untuk
mengetahui apakah program atau sistem yang dibuat berjalan dan berfungsi sesuai
dengan rancangan.
Tab
Kunci 1
Kunci 2
Kunci 3
Pesan
Tab
Help
About
Exit
Dalam proses pembuatan aplikasi, implementasi perancangan antarmuka dibagi
menjadi 5 bagian utama, penjelasannya akan dibahas sesuai dengan sub bahasan
dibawah ini.
4.1.1 Splash Screen Pada saat aplikasi dijalankan, pengguna akan ditampilkan splash screen berupa
logo aplikasi DECryptoSMS, setelah beberapa saat pengguna akan masuk halaman
utama.
Gambar 4.1 Form Splash Screen
4.1.2 Form Tulis Pesan
Ketika splash screen telah hilang, pengguna akan langsung menuju menu tab
Tulis Pesan. Pada tab Tulis Pesan ini pengguna diharapkan untuk memasukkan nomor
tujuan, pesan yang ingin disampaikan, kunci 1 yang sudah disediakan dalam bentuk
number picker sehingga memudahkan pengguna dalam memilih angka yang ingin
dijadikan kunci 1. Kemudian pengguna harus memasukkan kunci 2 dengan batas
maksimal 8 karakter, langkah terakhir pengguna juga harus memasukkan kunci 3 dengan
batas maksimal 8 karakter. Setelah mengisi semua form, pengguna dapat mengirim
pesan dengan cara memilih tombol send, apabila pengguna ingin menulis ulang sms,
pengguna dapat memilih tombol reset, selain itu pengguna dapat mengetahui ciphertext
yang akan dikirim dengan cara memilih tombol encrypt.
Gambar 4.2 Form Tulis Pesan
4.1.3 Form Kotak Masuk Pesan
Aplikasi DECryptoSMS telah dilengkapi dengan tab, sehingga akan
memudahkan pengguna dalam berpindah posisi dari tab Tulis Pesan menuju tab Kotak
Masuk Pesan. Setelah berada di tab Kotak Masuk Pesan, telah disediakan form untuk
memasukkan kunci 1, kunci 2, dan kunci 3. Pengguna harus mengisi form tersebut
kemudian memilih pesan yang ingin dibaca. Jika kunci yang dimasukkan dan pesan yang
dipilih sesuai, maka aplikasi akan menampilkan pesan asli. Namun jika kunci yang
dimasukkan dan pesan yang dipilih tidak sesuai, maka aplikasi akan tetap menampilkan
chipertext.
Gambar 4.3 Form Kotak Masuk Pesan
4.1.4 Form Kotak Keluar Pesan
Setelah dari tab kotak masuk pesan, kita beralih menuju tab kotak keluar pesan.
Tab kotak keluar pesan memiliki tampilan yang sama dengan tampilan tab kotak masuk
pesan, begitu juga dengan cara kerja. Pesan yang tersimpan didalam kotak keluar pesan
pun merupakan pesan yang sudah dienkripsi.Jika pengguna ingin membaca kembali
pesan yang telah dikirim, maka pengguna harus memasukkan kunci yang sesuai.
Gambar 4.4 Form Kotak Keluar Pesan
4.1.5 Form Bantuan Tab bantuan berisi menu help, about, dan exit.Help berfungsi untuk memberikan
petunjuk kepada pengguna mengenai cara mengoperasikan aplikasi DECryptoSMS.
About berfungsi untuk memberikan informasi kepada pengguna tentang aplikasi
DECryptoSMS. Exit berfungsi untuk keluar dari aplikasi DECryptoSMS.
Gambar 4.5 Form Bantuan
5. Kesimpulan
Kesimpulan yang dapat diambil dari penulisan skripsi ini adalah sebagai berikut:
1. Aplikasi DECryptoSMS ini dapat mengirimkan dan menerima SMS sekaligus
memiliki fasilitas untuk mengamankan informasi dari pesan yang dikirim dengan cara
memanfaatkan ilmu kriptografi.
2. Untuk menghasilkan aplikasi berbasis mobile yang dapat melakukan enkripsi, kita
dapat mengimplementasikan algoritma kriptografi klasik dan atau modern dengan
menggunakan eclipse.
3. Kombinasi algoritma kriptografi klasik dan modern dapat diimplementasikan dengan
baik untuk enkripsi pesan teks yang bekerja pada jaringan GSM dengan mengirimkan
pesan dalam bentuk kombinasi abjad dan angka pada ponsel berbasis Android.
4. Kekurangan dari implementasi algoritma AES untuk enkripsi SMS adalah jumlah
karakter yang lebih besar karena 15 karakter akan menjadi 32 karakter setelah dienkripsi
(kelipatan 16).
DAFTAR PUSTAKA
Ariyus, Dony. 2005. Computer Security. Yogyakarta : Andi.
Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi. Yogyakarta : Andi.
DiMarzio, J. F. 2008. Android A Programmer’s Guide. Mc Graw Hill.
Elmastri, R & Navasthe, B. 1994.Fundamental Of Database System 2nd Edition. Addison Wesley. Fatta, H. A. 2007. Analisis & Perancangan Sistem Informasi. Yogyakarta: Andi.
Felker, Donn. 2011. Android Application Development for Dummies. Wiley.
H, Nazruddin Safaat. 2012. Pemrograman Aplikasi Mobile Smartphone Dan Tablet PC
Berbasis Android.Bandung : Informatika.
Hariyanto, B. 2007.Esensi – Esensi Bahasa Pemrograman Java Edisi 2.Bandung : Informatika. Jackson, Wallace. Android Apps for Absolute Beginners.Apress.
Murphy, Mark. 2011. Android Programming Tutorials. CommonsWare.