aplikasi mobile sms encryption …repository.amikom.ac.id/files/publikasi_07.11.1731.pdfaplikasi...

20
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

Upload: dinhmien

Post on 24-May-2018

243 views

Category:

Documents


2 download

TRANSCRIPT

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