• Tidak ada hasil yang ditemukan

APLIKASI MOBILE SMS ENCRYPTION MENGGUNAKAN ALGORITMA SHIFT CIPHER. Naskah Publikasi. diajukan oleh Asep Pristia Negara

N/A
N/A
Protected

Academic year: 2021

Membagikan "APLIKASI MOBILE SMS ENCRYPTION MENGGUNAKAN ALGORITMA SHIFT CIPHER. Naskah Publikasi. diajukan oleh Asep Pristia Negara"

Copied!
20
0
0

Teks penuh

(1)

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

(2)
(3)

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

 

 

 

 

 

 

 

 

 

 

 

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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 teleponseluler, 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

(9)

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.

(10)

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

(11)

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

(12)

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

(13)

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)

(14)

- 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.

(15)

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

(16)

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

(17)

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

(18)

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

N

o 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

(19)

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.

(20)

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

Gambar

Gambar 2.1. Arsitektur J2ME
Gambar 2.5. Alur Hidup MIDlet
Gambar 4.9 White Box Testing Pada  Form Decrypt
Gambar 4.13 Whitebox Testing Hasil Decrypt
+3

Referensi

Dokumen terkait

(DER) dan Earning Per Share (EPS) terhadap harga saham pada perusahaan otomotif yang terdaftar di Bursa Efek Indonesia (BEI) tahun 2013- 2016 ”.

Penulisan laporan Tugas Akhir ini merupakan Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang serta sebagai

Sejak beberapa tahun terakhir, penulisan referensi R dalam bentuk buku teks berbahasa Inggris mulai digalakkan oleh beberapa penerbit terkenal diantaranya Chapmann

Studi ini melakukan simulasi elevasi kolam datar dengan menggunakan Runge-Kutta Orde 4 di Situ Agathis Universitas Indonesia yang merupakan bagian dari sistem

Terkait dengan ini, maka dari 7 jenis usaha perikanan tangkap yang banyak di- usahakan nelayan di Kabupaten Indramayu ter- sebut hanya ada 5 jenis usaha yang dapat

Titin Soegiharti (2011) dengan Tesis Kajian Semiotik Gurindam Dua Belas Karangan Raja Ali Haji dan Aplikasinya dalam Pembelajaran Sastra di SMA. Pemilihan bahan ajar

berinteraksi  dengan  orang  yang  baru  atau  masyarakat  umum  (bukan  KAT).  Penelitian  ini  bermaksud  untuk  menjadikan  KAT  bisa  beradaptasi  dengan 

Karena jumlah populasi yang besar, maka peneliti akan mengambil sampel dari populasi tersebut untuk menjadi responden dalam penelitian ini, dengan syarat-syarat yang telah