APLIKASI MOBILE SMS ENCRYPTION MENGGUNAKAN ALGORITMA SHIFT CIPHER Naskah Publikasi diajukan oleh Asep Pristia Negara 07.11.1731 kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2011
APLIKASI MOBILE SMS ENCRYPTION MENGGUNAKAN ALGORITMA
SHIFT CIPHER
Naskah Publikasi
diajukan oleh
Asep Pristia Negara
07.11.1731
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
2011
MOBILE APPLICATION SMS ENCRYPTION WITH SHIFT CIPHER ALGORITHM
APLIKASI MOBILE SMS ENCRYPTION
MENGGUNAKAN ALGORITMA SHIFT CIPHER
Asep Pristia Negara Jurusan Teknik Informatika
STMIK AMIKOM YOGYAKARTA
ABSTRACT
SMS (Short Messaging Service) is a service carried out by mobile phones to send and receive short messages. SMS now has become one of the most popular communication services among the community. With SMS can facilitate in communication with a short time and low cost. SMS is also a feature that should exist in the mobile phone.
But most cell phones on the market today, does not yet include an application to provide data security sms in mobile phones. Mobile Application SMS encryption function is to provide security or protection of the content of SMS on mobile phones. Mobile Application SMS Encryption uses algorithms Cipher Shift which is one of the classical algorithm is quite safe to encrypt data. So by using Shift Cipher algorithm is enough to secure the data SMS on mobile phones that are installed Mobile Application SMS Encryption.
Mobile Application SMS Encryption will be made using the java programming language using the NetBeans IDE 6.7.1 Mobile Application SMS Encryption will support all mobile phone based java MIDP 2.0 Keywords: Mobile applications, SMS, Encryption, Shift Cipher
1. Pendahuluan
SMS atau Short Messaging Service adalah sebuah layanan yang dilaksanakan
dengan ponsel untuk mengirim maupun menerima pesan-pesan pendek. SMS sekarang
ini menjadi salah satu layanan komunikasi yang sangat populer dikalangan masyarakat.
Dengan SMS dapat memudahkan dalam komunikasi dengan waktu yang singkat dan
biaya yang murah. SMS juga menjadi salah satu fitur utama dalam telepon seluler .
Kebanyakan telepon seluler yang beredar sekarang ini belum menyertakan
aplikasi untuk memberikan keamanan data SMS. Aplikasi Mobile SMS encryption
berfungsi memberikan keamanan atau proteksi terhadap data sms pada telepon seluler.
Keamanan data SMS sangat diperlukan baik itu dalam urusan pribadi maupun bisnis.
Keamanan data SMS diperlukan untuk memberikan perlindungan isi sms agar tidak bisa
dibaca oleh orang lain yang tidak dikehendaki dan hanya orang tertentu saja yang bisa
membaca SMS tersebut.
Aplikasi Mobile SMS Encryption ini menggunakan algoritma Shift Cipher yang
merupakan salah satu algoritma klasik yang mampu menyembunyikan atau
mengamankan suatu data. Sehingga dengan menggunakan algoritma Shift Cipher ini
cukup untuk mengamankan data SMS pada telepon seluler yang telah diinstal aplikasi
Mobile SMS Encryption.
2. Landasan Teori
2.1 Definisi Kriptografi dan Algoritma Kriptografi
Kriptografi berasal dari bahasa Yunani, menurut bahasa dibagi menjadi dua
kata yaitu kripto dan graphia, kripto berarti secret (rahasia) dan graphia berarti writing
(tulisan). Menurut teminologinya kriptografi adalah ilmu dan seni untuk menjaga
keamanan pesan ketika pesan dikirim dari suatu tempat ketempat yang lain.1
Algoritma ditinjau dari asal usul kata , kata algoritma memmpunyai sejarah yang
menarik, kata ini muncul di dalam kamus Webster sampai akhir tahun 1957 hanya
menemukan kata algorism yang mempunyai arti proses perhitungan dengan bahasa
Arab. Algoritma berasal dari nama penulis buku Arab yang terkenal yaitu Abu Ja’far
Muhammad Ibnu Musa al-Khuwarizmi (al-Khuwarizmi dibaca oleh orang barat menjadi
algorism). Kata algorism lambat laun berubah menjadi algorithm.2
Definisi terminologinya Algoritma adalah urutan langkah-langkah logis untuk
penyelesaian masalah yang disusun secara sistematis. Algoritma kriptografi merupakan
1 Dony Ariyus, Kriptografi Keamanan Data Dan Komunikasi, hal 9 2 Ibid, hal 13
langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak
berhak atas pesan tersebut.3
Algoritma kriptografi terdiri dari tiga fungsi dasar yaitu:4
1. Enkripsi
Enkripsi merupakan hal yang sangat penting dalam kriptografi yang merupakan
pengamanan data yang dikirimkan terjaga rahasianya. Pesan asli disebut plaintext yang
dirubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa diartikan dengan cipher
atau kode. Beda halnya dengan enkripsi, untuk merubah plaintext kebentuk ciphertext
dengan menggunakan algoritma yang dapat mengkodekan data yang diinginkan.
2. Dekripsi
Dekripsi merupakan kebalikan dari enkripsi, pesan yang telah dienkripsi
dikembalikan kebentuk asalnya (plaintext) disebut dengan dekripsi pesan. Algoritma yang
digunakan untuk dekripsi berbeda dengan yang digunakan untuk enkripsi.
3. Kunci
Kunci yang dimaksud disisni adalah kunci yang dipakai untk melakukan enkripsi
dan dekripsi , kunci terbagi jadi dua bagian kunci pribadi (private key) dan kunci umum
(public key).
2.2 Macam-Macam Algoritma Kriptografi
Algoritma kriptografi dibagi menjadi tiga bagian berdasarkan dari kunci yang
dipakainya:
1. Algoritma Simetri
Algoritma ini juga sering disebut dengan algoritma klasik, karena memakai
kunci yang sama untuk kegiatan enkripsi dan dekripsinya.5 Algoritma yang memakai
kunci simetri diantaranya adalah :
a. Data Encryption standard (DES)
b. RC2, RC4, RC5, RC6
c. International Data Encryption Algorithm (IDEA)
d. Advanced Encryption Standard (AES)
e. One Time Pad (OTP)
f. A5
3 Dony Ariyus, Kriptografi Keamanan Data Dan Komunikasi, hal 13 4 Ibid 5 Ibid, hal 14
2. Algoritma Asimetri6
Algoritma asimetri juga disebut algoritma kunci public, didesain sedemikian
sehingga kunci yang digunakan untuk enkripsi berbeda dari kunci yang digunakan untuk
dekripsi. Algoritma yang memakai kunci public diantaranya adalah: 7
a. Digital Signature Algorithm (DSA)
b. RSA
c. Diffle-Hellman (DH)
d. Ellipric Curve Cryptography (ECC)
3. Hash Function (fungsi Hash)8
Fungsi hash sering disebut dengan fungsi hash satu arah (one-way function),
message digest, fingerprint, fungsi kompresi dan message authentication Code (MAC),
hal ini merupakan suatu fungsi matematika yang mengambil input panjang variabel dan
mengubahnya kedalam urutan biner dengan panjang yang tetap. Fungsi hash biasanya
diperlukan bila ingin membuat sidik jari dari suatu pesan. Sidik jari pada pesan
merupakan suatu tanda yang menandakan bahwa pesan tersebut benar-benar dari orang
yang diinginkan.
2.3 Teknik Substitusi Algoritma Shift Cipher9
Teknik dari substitusi Shift Cipher dengan modulus 26, memberikan angka ke
setiap alphabet a=0, b=1 …… z=25. Untuk lebih jelasnya teknik dari Shift Cipher bisa
dilihat contoh di bawah ini :
A B C D E F G H I J K L M
0 1 2 3 4 5 6 7 8 9 10 11 12
N O P Q R S T U V W X Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
Plaintext : We will meet at mid night
Kunci : 11
Dari kalimat diatas maka akan didapatkan angka dari setiap huruf sebagai
berikut: 22 4 22 8 11 11 12 4 4 19 0 19 12 8 3 13 8 6 7 19. Untuk mendapatkan
Ciphertext kita mempunyai kunci 11, dengan menambahkan setiap nilai dari plaintext
dengan kunci 11 maka akan didapatkan : 7 15 7 19 22 22 23 15 15 4 11 4 23 19 14 24 19
6 Yusuf Kurniawan, Kriptografi Keamanan Internet dan Jaringan Komunikasi, hal 9 7 Dony Ariyus, Kriptografi Keamanan Data Dan Komunikasi, hal 14-15 8 Ibid, hal 16 9 Ibid. hal 26
17 18 4. Jika lebih dari 20 setelah ditambah dengan kunci maka akan dikurangi dengan
26 seperti 22+11=33-26=7.
Setelah itu diubah menjadi huruf, maka akan didapatkan Ciphertext :
“HPHTWWXPPELEXTOYTRSE
Jadi hasilnya :
Plaintext : We will meet at mid night
Kunci :11
Ciphertext : HPHTWWXPPELEXTOYTRSE
2.4 Pembahasan Umum Java10
Java menurut definisi dari Sun adalah nama untuk sekumpulan teknologi untuk
membuat dan menjalankan perangkat lunak pada komputer standalone maupun pada
lingkungan jaringan.
Java2 adalah generasi kedua dari Java platform (generasi awalnya adalah Java
Development Kit). Java berdiri diatas sebuah mesin interpreter yang diberi nama Java
Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam file .class dari
suatu program sebagai representasi langsung program yang berisi bahasa mesin.
2.4.1 Java2 Standard Edition (J2SE)11
J2SE adalah inti dari bahasa pemrograman Java. JDK (java Development Kit)
adalah salah satu tool dari J2SE untuk mengompilasi dan menjalankan program Java. Di
dalamnya terdapat tool untuk mengompilasi program Java dan JRE.
2.4.2 Java2 Micro Edition (J2ME)12
J2ME adalah lingkungan pengembangan yang didesain untuk meletakkan
perangkat lunak Java pada barang elektronik beserta perangkat pendukungnya. Pada
J2ME, jika perangkat lunak berfungsi baik pada sebuah perangkat maka belum tentu
juga berfungsi baik pada perangkat yang lainnya. J2ME membawa Java ke dunia
informasi, komunikasi, dan perangkat komputasi selain perangkat komputer desktop yang
biasanya lebih kecil dibandingkan pada telepon seluler, pager, personal digital assistans
(PDA’s) dan sejenisnya.
10 M. Shalahuddin Rosa, Pemrograman J2ME Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile, hal 1 11 Ibid, hal 3 12 Ibid
Berikut adalah gambar arsitektur J2ME :
Profile
Configuration Kumpulan Library
JVM
Sistem Operasi
Gambar 2.1. Arsitektur J2ME
Teknologi J2ME juga memiliki beberapa keterbatasan, terutama jika
diaplikasikan pada ponsel. J2ME sangat tergantung pada perangkat (device) yang
digunakan, bisa dari segi merk ponsel, maupun kemampuan ponsel, dan dukungannya
terhadap teknologi J2ME.
2.4.2.1 Connected Limited Device Configuration (CLDC)
CLDC atau Connected Limited Device Configuration adalah perangkat dasar
dari J2ME, spesifikasi dasar yang berupa library dan API yang diimplementasikan pada
J2ME, seperti yang digunakan pada telepon seluler, pager, dan PDA. Perangkat tersebut
dibatasi dengan keterbatasan memori, sumber daya, dan kemampuan memproses
Spesifikasi CLDC pada J2ME adalah spesifikasi minimal dari package, kelas, dan
sebagian fungsi Java Virtual Machine yang dikurangi agar dapat diimplemetasikan
dengan keterbatasan sumber daya pada alat-alat tersebut, JVM yang digunakan tersebut
KVM (Kilobyte Virtual Machine). Posisi CLDC pada arsitektur J2ME dapat dilihat pada
gambar berikut :
MIDP
CLDC Kumpulan Library
KYM
Sistem Operasi
Gambar 2.2. Arsitektur J2ME
2.4.2.2 Connected Device Configuration (CDC)
CDC atau Connected Device Configuration adalah spesifikasi dari konfigurasi
J2ME. CDC merupakan komunitas proses pada Java yang memiliki standarisasi. CDC
terdiri dari virtual machine dan kumpulan library dasar untuk dipergunakan pada profile
industry . Implementasi CDC pada J2ME adalah source code yang menyediakan
sambungan dengan macam-macam platform.
2.4.2.3 Mobile Information Device Profile (MIDP)
MIDP atau Mobile Information Device Profile adalah spesifikasi untuk sebuah
profil J2ME. MIDP memiliki lapisan diatas CLDC, API tambahan untuk daur hidup
aplikasi, antarmuka, jaringan, dan penyimpanan persisten. Pada saat ini terdapat MIDP
1.0 dan MIDP 2.0. Fitur tambahan MIDP 2.0 dibanding MIDP 1.0 adalah API untuk
multimedia. Pada MIDP 2.0 terdapat dukungan memainkan tone, tone sequence, dan file
WAV walaupun tanpa adanya Mobile Media API (MMAPI). Posisi MIDP pada arsitektur
dapat dilihat pada gambar berikut:
MIDP
CLDC Kumpulan Library
KVM
Sistem Operasi
Gambar 2.3. Arsitektur J2ME
2.4.2.4 Kilobyte Virtual Machine (KVM)
KVM adalah paket JVM yang diddesain untuk perangkat yang kecil. KVM
mendukung sebagian dari fitur-fitur JVM, seperti misalnya KVM tidak mendukung operasi
floating-point dan finalisi objek. KVM diimplementasikan dengan menggunakan C
sehingga sangat mudah beradaptasi pada tipe platform yang berbeda. Posisi KVM pada
arsitektur J2ME dapat dilihat pada gambar berikut :
MIDP
CLDC Kumpulan Library
KVM
Sistem Operasi
Gambar 2.4. Arsitektur J2ME
2.4.2.5 C-Virtual Machine (CVM)
CVM adalah paket JVM optimal yang digunakan pada CDC. CVM mempunyai
seluruh fitur dari virtual machine yang didesain untuk perangkat yang memerlukan fitur-
fitur Java 2 virtual machine.
2.4.2.6 MIDlet
MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah bagian
dari kelas javax.microedition.midlet.MIDlet yang didefinisikan pada MIDP. MIDlet berupa
sebuah kelas abstrak yang merupakan subkelas dari bentuk dasar aplikasi sehingga
antarmuka antara aplikasi J2ME dan aplikasi manajemen pada perangkat dapat
terbentuk.
2.4.2.6.1 Daur Hidup MIDlet
MIDlet terdiri dari beberapa metode yang harus ada, yaitu :
Constructor(), protected void startApp() throws
MIDletStateChangeException, protected void pauseApp( ), protected
void destroyApp(Boolean unconditional) throws
MIDletStateChangeException.
Gambar 2.5. Alur Hidup MIDlet
Ketika MIDlet dijalankan maka akan diinisialisasi dengan kondisi pause dan
dijalankan pauseApp(). Kondisi berikutnya adalah fungsi MIDlet dijalankan, yaitu pada
startApp(). Metode yang ada tersebut diimplementasikan sebagai protected, hal ini
dimaksudkan agar MIDlet lain tidak dapat memanggil metode tersebut. Pada saat
pemakai keluar dari MIDlet, maka metode destroyApp() akan dijalankan sebelum
MIDlet benar-benar tidak berjalan lagi. Metode notifyDestroyed() akan dipanggil
sebelum MIDlet benar-benar tidak berjalan lagi, destroyApp() akan memanggil
notifyDestroyed(), dan notifyDestroyed () akan memberitahu platform untuk
menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada
MIDlet.
Dalam implementasinya, MIDlet memiliki struktur direktori sebagai berikut:
1. src
Menyimpan source code untuk MIDlet dan kelas lain yang diperlukan.
2. res
Menyimpan sumber daya yang dibutuhkan oleh MIDlet, seperti misalnya gambar icon.
Konstruktor
Jeda Aktif
Terminasi
MIDlet memanggil pauseApp()
MIDlet memanggil startApp()
MIDlet memanggil destroyedApp()
untuk terminasi
3. lib
Menyimpan file JAR atau ZIP yang berisi library tambahan yang dibutuhkan MIDlet.
4. bin
Menyimpan file JAR, JAD, dan file yang berisi muatan komponen MIDlet.
2.4.2.7 JAD (Java Aplication Descriptor)
Digunakan untuk mendeskripsikan isi aplikasi untuk keperluan pemetaan. File
JAD berisi deskripsi file JAR (Java Archive) dan pemetaan atribut MIDlet, sedangkan file
JAR berisi kumpulan kelas dan resource.
2.4.2.8 OTA (Over The Air)
OTA mengacu pada beberapa teknologi jaringan tanpa kabel. Dengan
menggunakan OTA, provider MIDlet dapat menginstal MIDlet pada web server dan
menjadikan link untuk mendownload via WAP atau internet microbrowser.
2.4.3 J2ME Wireless Toolkit13
J2ME Wireless Toolkit adalah kakas yang menyediakan lingkungan emulator,
dokumentasi beserta contoh-contoh aplikasi java untuk perangkat kecil (small device).
3. Analisis dan Perancangan Sistem
3.1 Analisis
Konsep dari kegiatan analisis yaitu memecahkan masalah dengan menguraikan
bagian-bagian komponen dengan mempelajari cara kerjanya dan berinteraksi dengan
maksud mengidentifikasi dan mengevaluasi permasalahan-permasalahan yang terjadi
dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan untuk
mencapai tujuan.
3.1.1 Analisis Kelemahan Sistem
Pada tahap analisis kelemahan sistem akan diuraikan tentang kelemahan dan
masalah dari sistem keamanan data sms yang telah ada kemudian mencari solusi dari
masalah tersebut. Berdasarkan penelitian, maka analisis yang tepat untuk mengetahui
kelemahan sistem adalah analisis SWOT. Analisis SWOT merupakan perancangan
strategis yang digunakan untuk mengevaluasi kekuatan, kelemahan, peluang, dan
ancaman dalam suatu proyek. Dengan menggunakan metode analisis SWOT maka akan
13 M. Shalahuddin Rosa, Pemrograman J2ME Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile, hal 13
diketahui mengenai kekuatan, kelemahan, peluang, dan juga nacaman pada sistem.
Adapun analisis SWOT terhadap Aplikasi Mobile SMS Encryption adalah sebagai berikut
:
a. Kekuatan (Strengths)
Adapun kekuatan dari sistem ini adalah sudah banyak masyarakat yang telah
menggunakan telepon seluler sebagai sarana telekomunikasi. SMS merupakan salah
satu sarana telekomunikasi yang sering digunakan baik itu dalam urusan pribadi maupun
bisnis. Sebagian orang menginginkan data SMS pada telepon seluler mereka tidak bisa
dibaca oleh sembarang orang, hanya orang tertentu saja yang diperbolehkan membaca.
Maka solusi dari permasalahan tersebut adalah dengan cara mengenkripsi pesan yang
akan dikirimkan agar tidak bisa dibaca oleh pihak lain. Bahkan cara enkripsi ini juga
ampuh dari penyadapan, karena untuk membuka pesan tersebut harus menggunakan
aplikasi yang sama dan harus mengetahui kata kuncinya.
b. Kelemahan (Weakness)
Adapun kelemahan dari sistem yang sudah ada adalah sebagian besar telepon
seluler belum disediakan aplikasi pengamana data sms. Walaupun ada aplikasi tersebut
hanya sekedar memberikan keamanan data sms pribadi menggunakan password dan
belum bisa melakukan enkripsi.
c. Peluang (Opportunity)
Dengan perkembangan teknologi yang sangat pesat banyak masyarakat yang
ingin membutuhkan keamanan dalam sarana berkomunikasi. Komunikasi yang sering
digunakan salah satunya adalah SMS, karena SMS merupakan sarana komunikasi yang
murah dan juga cepat. Tentunya banyak hal-hal dalam SMS yang bersifat rahasia baik itu
urusan pribadi maupun bisnis. Dan untuk melindungi data SMS tersebut dibutuhkan
aplikasi yang mampu melindungi data SMS dari pihak yang tidak dikehendaki.
d. Ancaman(Threats)
Adapun ancaman dari sistem ini adalah dengan perkembangan teknologi yang
sangat pesat maka tentunya akan berkembang juga ilmu kriptografi yang lebih canggih
lagi. Untuk perkembangan selanjutnya tentunya banyak aplikasi keamanan data SMS
yang menawarkan fitur yang lebih lengkap dan canggih dari sisi keamanan. Selain itu
telepon seluler juga akan berkembang dengan pesat dan teknologi Java MIDP 2.0 akan
ketinggalan dengan teknologi yang lebih baru dan canggih lagi.
3.1.2 Analisis Kebutuhan Sistem
Analisis kebutuhan sistem sangat dibutuhkan guna menunjang penerapan
sistem baru, apakah sistem baru yang akan diterapkan sudah sesuai dengan kebutuhan.
Sejalan dengan perancangan sistem yang akan dibuat dibutuhkan perangkat teknologi
pendukung. Perangkat teknologi itu meliputi perangkat keras (hardware), perangkat lunak
(software) serta pengguna (brainware). Analisis kebutuhan sistem ini bertujuan untuk
mengetahui sistem seperti apa yang diterapkan, perangkat keras dan perangkat lunak
apa yang sesuai, serta siapa saja pengguna yang akan menggunakan sistem ini.
3.1.2.1 Analisis Kebutuhan Fungsional
Kebutuhan fungsional berisi proses-proses apa saja yang nantinya dilakukan
oleh sistem. Kebutuhan fungsional juga berisi informasi-informasi apa saja yang harus
ada dan dihasilkan sistem. Sistem yang dikembangkan harus mempunyai functional
requirements sebagai berikut:
1. Sistem mampu membaca pesan masuk.
2. Sistem mampu memasukkan daftar phonebook yang ada pada telepon seluler.
3. Sistem mampu mengenkripsikan pesan yang akan dikirim sesuai dengan kunci
yang telah dimasukkan.
4. Sistem mampu mendekripsikan pesan masuk sesuai dengan kunci yang telah
dimasukkan.
5. Sistem mudah untuk digunakan oleh user.
Berdasarkan kebutuhan fungsional sistem terlihat bahwa sistem membutuhkan
sebuah sistem pengaman yang mampu mengamankan data sms dengan aman dan
mudah digunakan. Adapun sistem yang mampu memenuhi kebutuhan tersebut adalah
sistem Aplikasi Mobile SMS Encryption.
3.1.2.2 Analisis Kebutuhan Nonfungsional
Kebutuhan nonfungsional menjabarkan apa saja yang harus dimiliki oleh sistem
agar dapat berjalan. Kebutuhan nonfungsional meliputi ketersedian perangkat keras,
perangkat lunak dan pengguna.
1. Kebutuhan Perangkat Keras (hardware)
Bagian ini menjelaskan hardware atau perangkat keras yang digunakan dalam
proses perancangan aplikasi Mobile SMS Encryption. Adapun spesifikasi
perangkat keras yang digunakan adalah sebagai berikut :
a. PC (Personal Computer)
PC (Personal Computer) yang digunakan sebagai media coding dan
compiler dengan spesifikasi sebagai berikut :
- Processor Intel Core 2 Duo CPU T6600 2.20GHz
- Memory 2GB DDR2
- Graphics Card Intel GMA X4500 MHD (shared)
- Display 14.1” TFT WXGA
- Hardisk Drive 320GB HDD
- Optical Drive DVD-RW Drive
b. Handphone
Handphone yang digunakan untuk menguji program dengan spesifikasi
sebagai berikut :
- Layar TFT 262.144 warna, 176 x 208 piksel
- Sistem Operasi Symbian OS v9.1, series 60 rel 3.0
- CPU ARM 9 235 MHz processor
- Kamera 2 MP, 1600 x 1200 piksel
- Memori 10 MB
- SMS, MMS, Email, Instant Messaging
- WAP 2.0/xHTML, HTML
- Java MIDP 2.0
- Battery Li – Ion 1100mAh (BP-6M)
2. Kebutuhan Perangkat Lunak
Analisis perangkat lunak bertujuan untuk mengetahui secara tepat perangkat
lunak apa saja yang dibutuhkan untuk menjalankan suatu aplikasi. Adapun
perangkat lunak yang dibutuhkan adalah:
a. Microsoft Windows 7 Ultimate sebagai sistem operasinya.
b. Netbeans IDE 6.9.1 dan Java Development Kit 6 sebagai software untuk
melakukan pemrograman.
c. Microsoft Office 2007 sebagai pembuatan laporan.
3. Kebutuhan Pengguna (user)
Dalam merancang dan mendesain aplikasi Mobile SMS Encryption ini
melibatkan beberapa pihak. Pihak tersebut yaitu :
1. System Analyst
2. Programmer
Sedangkan pihak yang langsung terlibat dalam implementasi
aplikasi Mobile SMS Encryption adalah :
User, yaitu pihak yang menggunakan sistem ini untuk melakukan
pengenkripsian SMS.
4. Implementasi dan Pembahasan
4.1 Implementasi
Implementasi merupakan tahap dimana program aplikasi siap dioperasikan
pada keadaan yang sebenarnya sehingga akan diketahui apakah program aplikasi
benar-benar dapat menghasilkan output yang sesuai dengan tujuan yang diinginkan.
Program harus bebas terlebih dahulu dari kesalahan-kesalahan sebelum program
diterapkan dan diimplementasikan. Kesalahan program yang mungkin terjadi antara lain
adalah kesalahan bahasa, kesalahan sewaktu proses dan kesalahan logika. Setelah
program bebas dari kesalahan, program diuji dengan memasukan data uji untuk diolah.
4.2 Uji Coba Program
Pengujian terhadap sebuah sistem secara umum bisa dilakukan dengan
berbagai macam pendekatan, pada uji coba aplikasi ini akan dijabarkan dua buah
metode pendekatan testing sistem, yaitu metode white box dan black box.
4.2.1 White Box Testing
White Box Testing adalah metode desain test case yang menggunakan struktur
kontrol desain procedural untuk memperoleh test case. Test Case dapat diperoleh
dengan :
1. Menjamin bahwa semua independent path pada suatu modul telah digunakan minimal
satu kali.
2. Menggunakan semua keputusan logis pada sisi true dan false.
3. Mengoreksi semua loop dalam batasannya dan batas operasionalnya.
4. Menggunakan struktur data internal untuk menjawab validitasnya.
Contoh bentuk uji coba white box adalah testing dekripsi. Uji coba ini
dinyatakan berhasil apabila fungsi – fungsi pada perangkat lunak sesuai dengan yang
diharapkan oleh pemakai. Contoh Form halaman Decrypt.
Gambar 4.9 White Box Testing Pada
Form Decrypt
Gambar 4.10 White Box Testing Select
Menu Decrypt
Gambar 4.11 White Box Testing Form
Insert Key
Gambar 4.12 White Box Testing Select
Menu Decrypt
Gambar 4.13 Whitebox Testing Hasil Decrypt
Pada saat pengujian terdapat kesalahan pada form halaman Decrypt. Pada
waktu pengujian digunakan huruf besar dan huruf kecil untuk menguji apakah hasil
Decypt akan menampilkan huruf yang sama atau berbeda. Ternyata setelah diuji
hasilnya berbeda, yaitu :
Tabel 4.1 Tabel Perbandingan Hasil Uji Decrypt
Huruf Besar Huruf Kecil
Plaintext : ABCDE
Kunci : 11
Ciphertext : pqrst
Plaintext : abcde
Kunci : 11
Ciphertext : ppppp
Untuk huruf besar menampilkan hasil dekripsi yang benar sedangkan pada
huruf kecil menampilkan dekripsi yang salah. Berarti masih terdapat kesalahan dalam
alur logika program. Seperti ditujukan pada potongan source code dibawah ini :
if(d==formKeyDe){ if(c==decCom){ String decryptedMessage = decrypt(textSmsMasuk.getString(), Integer.parseInt(textKeyDe.getString())); textSmsKeluar.setString(decryptedMessage.toLowerCase()); display.setCurrent(textSmsKeluar); }else if(c==backCom){ display.setCurrent(textSmsMasuk); }
Setelah source code dibetulkan menjadi :
if(d==formKeyDe){ if(c==decCom){ String decryptedMessage = decrypt(textSmsMasuk.getString().toUpperCase(), Integer.parseInt(textKeyDe.getString())); textSmsKeluar.setString(decryptedMessage.toLowerCase()); display.setCurrent(textSmsKeluar); }else if(c==backCom){ display.setCurrent(textSmsMasuk); }
Gambar 4.14 White Box Testing Hasil Decrypt
4.2.2 Black Box Testing
Black box testing merupakan tahap pengujian yang berfokus pada persyaratan
fungsional perangkat lunak. Memungkinkan pengembang perangkat lunak untuk
mendapatkan serangkaian kondisi input yang mempergunakan semua persyaratan
fungsional program. Black box testing bukan alternatif white box testing, namun
merupakan pelengkap yang mampu mengungkap kesalahan.
4.2.2.1 Tabel Dekripsi Black Box Testing
Berikut ini tabel yang menggambarkan metode black box testing pada beberapa
interface. Pengujian hanya dilakukan pada beberapa form interface dengan input atau
kondisi tertentu, tidak membahas keseluruhan sistem yang ada.
Tabel 4.1 Black Box Testing
No
Interface Yang Diuji/Aktivitas
Testing Input Output Status
1
Form
Halaman
Encrypt
Text Box Write Message
tidak diisi dan setelah itu
klik menu Send
Muncul alert
Please write
message !
Benar
Text Box Write Message
diisi dan setelah itu klik
menu Send
We Will
Meet At
Mid Night
Form Insert
Key terbuka
Benar
2
Form Insert
Key
Text Field Insert Key
tidak diisi setelah itu klik
menu Encrypt
Muncul alert
Key must
Insert !
Benar
Text Field Insert Key
diisi dan setelah itu klik
menu Encrypt
11 Form
Encrypted
Message
terbuka
Benar
3 Form Insert
Phone
Number
Text Field Insert Phone
Number tidak diisi dan
setelah itu klik Menu
Send
Muncul alert
Phone number
must Insert !
Benar
Text Field Insert Phone
Number diisi dan
setelah itu klik Menu
Send
08123456
789
Muncul alert
Message Sent
Benar
5. Kesimpulan
Kesimpulan yang dapat diambil dari pembuatan aplikasi Mobile SMS Encryption
adalah sebagai berikut :
1. Aplikasi Mobile SMS Encryption adalah aplikasi yang digunakan untuk
memberikan keamanan data SMS dengan cara melakukan enkripsi sebelum
pesan dikirimkan dan mendekripsi pesan yang masuk sesuai key yang telah
disetujui antara pengirim dan penerima.
2. Aplikasi Mobile SMS Encryption dapat diakses melalui handphone yang sudah
mendukung teknologi Java MIDP 2.0.
3. Aplikasi Mobile SMS Encryption menggunakan algoritma Shift Cipher yang
merupakan salah satu algoritma klasik yang cukup aman untuk
menyembunyikan atau mengamankan suatu data.
4. Aplikasi Mobile SMS Encryption belum bisa mengakses inbox SMS pada
handphone karena J2ME adalah teknologi yang dibuat sangat aman sehingga
memiliki akses yang terbatas terhadap sistem operasi handphone. Sampai saat
ini J2ME belum bisa mengakses inbox SMS pada handphone.
Daftar Pustaka Ariyus, Dony. 2006. Kriptografi Keamanan Data Dan Komunikasi. Yogyakarta : Graha
Ilmu Caesar Cipher (http://en.wikipedia.org/wiki/Caesar_cipher) diakses pada hari : Minggu, 5
Juni 2011 Dasar Kriptografi Enkripsi dan Dekripsi (http://codeindesign.com/dasar-kriptografi-
enkripsi-dan-dekripsi/) diakses pada hari : Minggu. 5 Juni 2011 Kriptografi Klasik (http://www.scribd.com/doc/29412103/ALGORITMA-KRIPTOGRAFI-
KLASIK) diakses pada hari : Sabtu, 4 Juni 2011 Kurniawan, Yusuf. 2004. Kriptografi Keamanan Internet Dan Jaringan Komunikasi.
Bandung : Informatika Bandung Munawar. 2005. Pemodelan Visual Dengan UML. Yogyakarta : Graha Ilmu Pengantar UML (http://www.scribd.com/doc/61022787/BAB15-Pengantar-UML) Diakses
pada hari : Minggu, 10 Juli 2011 Rosa, Shalahuddin. 2008. Belajar Cepat J2ME dan Aplikasinya. Bandung : Informatika
Bandung Sejarah NetBeans (http://fhenyfhen.blogspot.com/2011/02/sejarah-netbeans.html) Diakses pada hari : Minggu, 19 Juni 2011 Sejarah NetBeans(http://lordarea.forumpro.in/t30-sejarah-netbeans) Diakses pada hari :
Minggu, 19 Juni 2011