38
29 BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian 4.1.1 Analisis Sistem Tahapan analisis sistem ini merupakan tahapan untuk menganalisa masalah yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja dari algoritma. Analisis sistem ini meliputi analisis permasalahan, analisis kebutuhan sistem, dan analisis dari algoritma kriptografi. a. Analisis Permasalahan Alat komunikasi merupakan alat yang sangat penting karena memiliki banyak fitur-fitur yang dapat membantu orang-orang untuk lebih dekat lagi walaupun dengan jarak yang cukup jauh. Hal tersebut terlihat dari banyaknya masyarakat dunia yang memiliki alat komunikasi yaitu telepon seluler, namun dengan banyaknya pertukaran informasi yang terjadi, maka banyak pula orang- orang yang menginginkan informasi-informasi tersebut untuk kepentingan pribadi maupun kepentingan kelompok. Hal tersebut dapat terjadi apabila tidak adanya tingkat keamanan yang tinggi dari pertukaran informasi-informasi yang penting. Berdasarkan masalah tersebut, maka sistem yang akan dibangun adalah sistem keamanan data yang berfungsi untuk mengamankan konten SMS dari para penyadap yang tidak bertanggung jawab. Sistem ini menggunakan kombinasi dari 2 (dua) algoritma yaitu AES 128 bit dan Vigenere Cipher, yang diharapkan bisa memberikan tingkat keamanan yang tinggi dari pesan yang ingin dirahasiakan.

BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

Embed Size (px)

Citation preview

Page 1: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

29

BAB IV

HASIL DAN PEMBAHASAN

4.1 Hasil Penelitian

4.1.1 Analisis Sistem

Tahapan analisis sistem ini merupakan tahapan untuk menganalisa masalah

yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja dari

algoritma. Analisis sistem ini meliputi analisis permasalahan, analisis kebutuhan

sistem, dan analisis dari algoritma kriptografi.

a. Analisis Permasalahan

Alat komunikasi merupakan alat yang sangat penting karena memiliki

banyak fitur-fitur yang dapat membantu orang-orang untuk lebih dekat lagi

walaupun dengan jarak yang cukup jauh. Hal tersebut terlihat dari banyaknya

masyarakat dunia yang memiliki alat komunikasi yaitu telepon seluler, namun

dengan banyaknya pertukaran informasi yang terjadi, maka banyak pula orang-

orang yang menginginkan informasi-informasi tersebut untuk kepentingan pribadi

maupun kepentingan kelompok. Hal tersebut dapat terjadi apabila tidak adanya

tingkat keamanan yang tinggi dari pertukaran informasi-informasi yang penting.

Berdasarkan masalah tersebut, maka sistem yang akan dibangun adalah

sistem keamanan data yang berfungsi untuk mengamankan konten SMS dari para

penyadap yang tidak bertanggung jawab. Sistem ini menggunakan kombinasi dari

2 (dua) algoritma yaitu AES 128 bit dan Vigenere Cipher, yang diharapkan bisa

memberikan tingkat keamanan yang tinggi dari pesan yang ingin dirahasiakan.

Page 2: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

30

b. Analisis Kebutuhan Sistem

Analisis kebutuhan sistem membahas secara garis besar kebutuhan sistem

yang diperlukan. Sistem ini melibatkan satu aktor yaitu user dimana user tersebut

bisa menjadi pengirim maupun penerima SMS. Beberapa fitur yang dibutuhkan

dalam sistem ini sebagai berikut :

1) Menampilkan pesan masuk dari pengirim

2) Mengirim pesan terenkripsi ke penerima

3) Mendekripsikan Ciphertext menjadi Plaintext

4.1.2 Perancangan Sistem

a. Arsitektur Sistem

Arsitektur sistem aplikasi enkripsi pesan singkat berbasis Android dapat

dilihat pada gambar 4.1.

Gambar 4.1 Arsitektur Sistem

Page 3: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

31

Aplikasi ini nantinya akan diimplementasikan pada mobile device Android,

dimana pada saat proses pengiriman pesan, aplikasi ini akan mengirimkan teks yang

sudah dienkripsi terlebih dahulu, sehingga dapat membantu pengguna untuk

mengamankan pesan yang dikirimkan.

b. UML (Unified Modeling Language)

1) Use Case Diagram

Aplikasi Enkripsi pesan singkat ini hanya melibatkan satu aktor yaitu

pengguna, yang dimaksud dengan pengguna adalah pengirim atau penerima,

dimana pengirim dapat menjadi penerima dan penerima dapat menjadi pengirim.

Gambar 4.2 Use Case Diagram

Page 4: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

32

2) Flow of Events

Flow of Eents bertujuan untuk mendeskripsikan atau menjelaskan diagram

use case. Berikut adalah flow of events dari diagram use case pada gambar 4.2.

Tabel 4.1 Flow of Events Mengirim pesan terenkripsi

Nama Use Case Mengirim pesan terenkripsi

Tujuan Mengirim pesan dalam bentuk Ciphertext

Prasyarat Layanan SMS aktif

Kondisi Akhir

Sukses Pesan terkirim dalam bentuk Ciphertext

Kondisi Gagal Pesan tidak terkirim

Aktor Utama Pengguna

Aktor Sekunder Tidak Ada

Pemicu Actor Pengguna menekan tab Message, dan menginputkan

nomor tujuan, kunci serta isi dari pesan yang ingin dikirim

Alur Utama Langkah Aktor Sistem

1 Input nomor

tujuan

Ubah pesan dan kunci menjadi

bilangan Hexadesimal

2 Input kunci Enkripsi pesan

3 Input pesan Mengirimkan pesan

Alur Perluasan Langkah Aksi Percabangan

3.1 Tidak dapat mengirimkan pesan

Page 5: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

33

Tabel 4.2 Flow of Events Mendeskripsikan pesan yang diterima

Nama Use Case Mendeskripsikan pesan yang diterima

Tujuan Mendeskripsikan pesan yang masih dalam bentuk

Ciphertext ke bentuk Plaintext

Prasyarat Menerima pesan dan layanan SMS aktif

Kondisi Akhir

Sukses Pesan terkirim dalam bentuk Ciphertext

Kondisi Gagal Pesan tidak dapat didekripsi

Aktor Utama Pengguna

Aktor Sekunder Tidak Ada

Pemicu Aktor Pengguna menekan list pesan, dan memasukkan key

yang sama dengan pengirim untuk menampilkan pesan asli

Alur Utama Langkah Aktor Sistem

1 Menjalankan

aplikasi Dekripsi pesan

2 Buka pesan Menampilkan isi pesan

3 Input kunci

Alur Perluasan Langkah Aksi Percabangan

1.1 Dekripsi pesan gagal

2.1 Isi pesan tidak tampil

3) Diagram Activity

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang

sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin

terjadi, dan bagaimana mereka berakhir.

Page 6: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

34

a) Diagram Activity Mengirim pesan terenkripsi

Gambar 4.3 Diagram Activity Mengirim pesan terenkripsi

Page 7: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

35

b) Diagram Activity Mendeskripsikan pesan yang diterima

Gambar 4.4 Diagram Activity Mendeskripsikan pesan yang diterima

Page 8: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

36

4) Class Diagram

Gambar 4.5 Class Diagram

Page 9: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

37

5) Component Diagram

Pada dasarnya component diagram adalah diagram yang menggambarkan

tampilan fisik dari struktur dan hubungan antara komponen dalam sistem suatu

perangkat lunak, serta menggambarkan ketergantungan diantara komponen-

komponen tersebut. Diantara modul berisi kode, baik berisi source code, binary,

library, executable. Pada gambar 4.6 menunjukkan component diagram aplikasi

enkripsi.

Gambar 4.6 Component Diagram Aplikasi Enkripsi

c. Desain Antar Muka (Interface)

Antar muka di Android dibuat dengan menggunakan bahasa pemrograman

XML dan Java. Berikut adalah rancangan antar muka (interface) dari aplikasi yang

akan dibuat.

Page 10: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

38

1) Rancangan Tampilan Inbox

Gambar 4.7 Rancangan Tampilan Inbox

2) Rancangan Tampilan Create Message

Gambar 4.8 Rancangan Tampilan Create Message

SMSCrypto

Message Sent About

List 1

List 2

List 3

List 4

Create Message

Inbox Sent About

To

Key

Send

Button

Page 11: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

39

3) Rancangan Tampilan Sent Item

Gambar 4.9 Rancangan Tampilan Sent Item

4) Rancangan Tampilan Message

Gambar 4.10 Rancangan Tamplan Message

Sent Item

Message Inbox About

List 1

List 2

List 3

List 4

Message

From : Sender

Date Time

Content Message

Reply

Button

Page 12: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

40

5) Rancangan Tampilan Sent Message

Gambar 4.11 Rancangan Tampilan Sent Message

6) Rancangan Tampilan About

Gambar 4.12 Rancangan Tampilan About

Sent Message

To : Receiver

Date Time

Content Message

About

Version : SMSCrypto V 1.0

Close

Page 13: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

41

4.1.3 Implementasi

Dalam Eclipse versi Kepler, implementasi antarmuka dilakukan dengan

sebuah layout yang berekstensi XML. Setiap file xml dalam layout dibuat class java

dan ditulis dengan berekstensi.java. Adapun tampilan dari aplikasi enkripsi pesan

singkat adalah sebagai beritkut :

a. Tampilan Inbox

Halaman Inbox adalah tampilan pertama kali ketika aplikasi ini dibuka,

halaman ini menampilkan list pesan masuk dari pengirim dan juga terdapat menu

layout untuk memudahkan user memilih activity yang telah disediakan. Untuk

halaman inbox dapat dilihat pada gambar 4.13.

Gambar 4.13 Tampilan Inbox

Page 14: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

42

b. Tampilan Create Message

Halaman Create Message menampilkan text field untuk nomor tujuan,

kunci, dan juga isi pesan yang ingin dikirimkam. Ada beberapa menu layout yang

akan muncul ketika menekan tombol menu pada Device yang digunakan. Pada saat

pengguna menekan tombol Send maka sistem akan otomatis mengirim teks ke class

Vigenere.java, hasil dari proses vigenere akan di kirimkan lagi ke class

generateAES.java yang akan memproses algoritma AES.

Class Vigenere.java

… static String encrypt(String text, String key) { String res = ""; int lengthPlainText = text.length(); int lengthKey = key.length(); int j = 0; for (int i = 0; i < lengthPlainText; i++) { if (j >= lengthKey) { key = text; lengthKey = lengthPlainText; j = 0; } res += (char) (((int) text.charAt(i) + key.charAt(j)) % 128); j = ++j % key.length(); } return res; } static String decrypt(String text, final String key) { String res = ""; int lengthCipherText = text.length(); int lengthKey = key.length(); int j = 0; int temp1; int a = 0; for (int i = 0; i < lengthCipherText; i++) { if (j >= lengthKey) { temp1 = (int) text.charAt(i) - (int) res.charAt(a); if (temp1 < 0) { temp1 += 128; ...

Page 15: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

43

Class generateAES.java

} res += (char) (temp1 % 128); a++; } else { temp1 = (int) text.charAt(i) - (int) key.charAt(j); if (temp1 < 0) { temp1 += 128; } res += (char) (temp1 % 128); } j = ++j % key.length(); } return res; } }

... public static String encrypt(String seed, String cleartext) throws Exception { byte[] rawKey = getRawKey(seed.getBytes()); byte[] result = encrypt(rawKey, cleartext.getBytes()); return toHex(result); } public static String decrypt(String seed, String encrypted) throws Exception { byte[] rawKey = getRawKey(seed.getBytes()); byte[] enc = toByte(encrypted); byte[] result = decrypt(rawKey, enc); return new String(result); } private static byte[] getRawKey(byte[] seed) throws Exception { KeyGenerator kgen = KeyGenerator.getInstance("AES"); SecureRandom sr = SecureRandom.getInstance("SHA1PRNG"); sr.setSeed(seed); kgen.init(128, sr); // 192 and 256 bits may not be available SecretKey skey = kgen.generateKey(); byte[] raw = skey.getEncoded(); return raw; } ...

Page 16: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

44

private static byte[] encrypt(byte[] raw, byte[] clear) throws Exception { SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, skeySpec); byte[] encrypted = cipher.doFinal(clear); return encrypted; } private static byte[] decrypt(byte[] raw, byte[] encrypted) throws Exception { SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES"); Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.DECRYPT_MODE, skeySpec); byte[] decrypted = cipher.doFinal(encrypted); return decrypted; } public static String toHex(String txt) { return toHex(txt.getBytes()); } public static byte[] toByte(String hexString) { int len = hexString.length()/2; byte[] result = new byte[len]; for (int i = 0; i < len; i++) result[i] = Integer.valueOf(hexString.substring(2*i, 2*i+2), 16).byteValue(); return result; } public static String toHex(byte[] buf) { if (buf == null) return ""; StringBuffer result = new StringBuffer(2*buf.length); for (int i = 0; i < buf.length; i++) { appendHex(result, buf[i]); } return result.toString(); } private final static String HEX = "0123456789ABCDEF"; private static void appendHex(StringBuffer sb, byte b) { sb.append(HEX.charAt((b>>4)&0x0f)).append(HEX.charAt(b&0x0f)); } }

Page 17: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

45

Proses kalkulasi algoritma tidak akan bekerja sebelum pengguna menginput

semua text field yang telah ada pada aplikasi. Hal tersebut karena proses

pemanggilan class algoritma ada pada proses pengiriman SMS. Tampilan Halaman

create message dapat dilihat pada gambar 4.14.

Gambar 4.14 Tampilan Create Message

Page 18: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

46

c. Tampilan Sent Item

Halaman ini menampilkan list pesan terkirim dan juga terdapat menu layout

untuk memudahkan user memilih activity yang telah disediakan. Yang dapat dilihat

pada gambar 4.15.

Gambar 4.15 Tampilan Sent Item

d. Tampilan Message

Halaman ini akan muncul pada saat user menekan list SMS pada Inbox,

terdapat text field kunci untuk menginputkan kunci yang sama dengan pengirim,

hal tersebut bertujuan untuk mendekripsikan ciphertext menjadi plaintext. Dapat

dilihat pada gambar 4.16.

Page 19: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

47

Gambar 4.16 Tampilan View Message

e. Tampilan Sent Message

Sama halnya dengan halaman message, halaman ini akan muncul ketika user

menekan list sent item. Halaman ini dapat dilihat pada gambar 4.17.

Gambar 4.17 Tampilan Sent Message

Page 20: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

48

f. Tampilan About

Halaman ini hanya menampilkan versi dari aplikasi SMSCrypto. Yang

dapat dilihat pada gambar 4.18.

Gambar 4.18 Tampilan About

4.1.4 Pengujian Sistem

Pengujian sistem merupakan hal terpenting yang bertujuan untuk

menemukan kesalahan–kesalahan atau kekurangan–kekurangan pada perangkat

lunak yang diuji. Pengujian bermaksud untuk mengetahui perangkat lunak yang

dibuat sudah memenuhi kriteria yang sesuai dengan tujuan perancangan perangkat

lunak tersebut.

Page 21: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

49

a. Perancanaan Pengujian

Table 4.3 Rencana Pengujian

Kelas Uji Butir Uji Jenis

Pengujian

Inbox

Menampilkan list pesan masuk Black box

Menampilkan isi SMS ketika menekan

list pesan Black box

Menampilkan Reply SMS ketika

menekan tombol reply pada isi SMS Black Box

Kategori

Manampilkan fitur create message

ketika menekan tab Black box

Manampilkan fitur sent message

ketika menekan tab Black box

Menampilkan versi aplikasi ketika

menekan tab Black box

Fitur Create Message

Menampilkan input untuk mengirim

SMS Black box

Menampilkan Kontak dari Device Black box

Fitur Sent Message

Menampilkan list pesan terkirim Black box

Menampilkan isi pesan terkirim ketika

menekan list Black box

Page 22: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

50

b. Kasus dan Hasil Pengujian Black Box

1) Pengujian Alpha

Pengujian fungsional yang digunakan untuk menguji sistem yang baru

adalah metode pengujian alpha. Pengujian alpha berfokus pada persyaratan

fungsional perangkat lunak.

a) Pengujian Inbox

Tabel 4.4 Pengujian Inbox

Kasus dan Hasil Uji

Data Masukan Reaksi yang

diharapkan Pengamatan Kesimpulan

Membuka

aplikasi

Muncul halaman

inbox

List pesan masuk

tampil Diterima

Menekan list

pesan

Muncul isi dari

SMS Isi SMS tampil Diterima

Menekan tombol

Reply

Muncul halaman

Reply message

Inputan mengirim

SMS tampil Diterima

b) Pengujian Fitur Create Message

Tabel 4.5 Pengujian Fitur Create Message

Kasus dan Hasil Uji

Data Masukan Reaksi yang

diharapkan Pengamatan Kesimpulan

Menekan tab

Message

Muncul halaman

input untuk

mengirim SMS

Halaman input untuk

mengirim SMS

tampil

Diterima

Menekan tombol

Kontak

Muncul Kontak

dari Device

Isi Kontak dari

Device tampil Diterima

Page 23: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

51

c) Pengujian Fitur Sent Message

Tabel 4.6 Pengujian Fitur Sent Message

Kasus dan Hasil Uji

Data Masukan Reaksi yang

diharapkan Pengamatan Kesimpulan

Menekan tab

Sent

Muncul halaman

Sent Message

List pesan terkirim

tampil Diterima

Menekan List

pesan terkirim

Muncul isi dari

pesan terkirim

Isi pesan terkirim

tampil Diterima

2) Kesimpulan Pengujian Alpha

Berdasarkan hasil pengujian alpha yang dilakukan, maka dapat disimpulkan

bahwa secara fungsional semua proses pada aplikasi enkripsi pesan singkat berbasis

Android dapat berjalan sesuai yang diharapkan.

3) Pengujian Beta

Pengujian beta dilakukan untuk menguji aplikasi pada smartphone android

yang sesungguhnya, hal ini bertujuan agar peneliti dapat mengetahui kinerja dari

aplikasi pada tiap-tiap smartphone yang akan dilakukan pengujian. Pengujian ini

menggunakan berbagai macam tipe smartphone dan versi operating system (OS)

android.

Tabel 4.7 Jenis Smartphone Android

Smartphone Type Android Version

Samsung Galaxy S Advance GT-I9070 2.3.6 (Gingerbread)

Samsung Galaxy Tab 2 10.1 GT-P5100 4.0.3 (Ice Cream Sandwich)

Samsung Galaxy Core GT-I8260 4.1.2 (Jelly Bean)

Page 24: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

52

a) Tampilan aplikasi di Samsung Galaxy S Advance

Aplikasi di uji coba langsung pada device dengan OS 2.3.6 (Gingerbread),

dan sukses berjalan tanpa ada masalah atau error. Tampilan aplikasi pada

Handphone Samsung Galaxy S Advance dapat dilihat pada gambar 4.19.

Gambar 4.19 Tampilan aplikasi di Samsung Galaxy S Advance

Page 25: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

53

b) Tampilan aplikasi di Samsung Galaxy Tab 2 10.1

Jenis Tab merupakan device yang memiliki resolusi gambar cukup besar

dibandingkan dengan device yang lain, Samsung Galaxy Tab 2 menggunakan OS

4.0.3 (Ice Cream Sandwich) dan compatible dengan aplikasi yang telah dibuat.

Tampilan aplikasi pada Samsung Galaxy Tab 2dapat dilihat pada gambar 4.20.

Page 26: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

54

Gambar 4.20 Tampilan aplikasi di Samsung Galaxy Tab 2 10.1

Page 27: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

55

c) Tampilan aplikasi di Samsung Galaxy Core

Dengan menggunakan OS 4.1.2 (Jelly Bean) Samsung Galaxy Core

memiliki kecepatan dan interface yang menarik dibandingkan dengan OS

sebelumnya. Pada device ini aplikasi berjalan dengan baik tanpa ada kendala yang

ditemukan. Tampilan aplikasi dapat dilihat pada gambar 4.21.

Gambar 4.21 Tampilan aplikasi di Samsung Galaxy Core

Page 28: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

56

4) Kesimpulan Pengujian Beta

Tabel 4.8 Pengujian pada Smartphone

Smartphone Inbox Fitur Create Message

Fitur SentMessage

Samsung Galaxy S Advance Sukses Sukses Sukses

Samsung Galaxy Tab 2 10.1 Sukses Sukses Sukses

Samsung Galaxy Core Sukses Sukses Sukses

Hasil dari pengujian beta yang telah dilakukan pada semua tipe smartphone

Android dan versi OS menunjukan bahwa semua fitur yang ada dalam aplikasi

enkripsi pesan singkat ini dapat berjalan dengan baik sesuai fungsinya.

c. Running Emulator

Emulator merupakan Virtual Device yang dapat menampilkan aplikasi

sesuai dengan tampilan yang ada pada smartphone sesungguhnya, Tampilan pada

emulator dapat dilihat pada gambar 4.22.

Page 29: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

57

Gambar 4.22 Tampilan aplikasi pada Emulator

d. Review Google Play

Statistik dari jumlah instalasi aplikasi di tiap-tiap device berjuamlah 24

downloader, jumlah ini didapatkan pada tanggal 17 Desember 2013, hal tersebut

membuktikan bahwa aplikasi ini dapat berjalan dengan baik di tiap-tiap device yang

diinstal. Tampilan statistik dapat dilihat pada gambar 4.23.

Gambar 4.23 Tampilan Statistik Instal by Device

Page 30: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

58

Aplikasi SMSCrypto tidak hanya diinstal oleh pengguna Android di

Indonesia saja, hal tersebut dapat dilihat dari statistik instalasi aplikasi di tiap-tiap

Negara. Indonesia, Nigeria, Romania, Saudi Arabia, dan United States (US)

merupakan Negara-negara yang telah menginstal aplikasi tersebut. Tampilan

statistic dapat dilihat pada gambar 4.24.

Gambar 4.24 Tampilan Statistik Instal by Country

Pada Google Developer dapat dilihat Crashes & Anrs dari aplikasi, form

ini dapat menampilkan laporan kerusakan dari tiap user yang menggunakan aplikasi

SMSCrypto. Tampilan Crashes & Anrs dapat dilihat pada gambar 4.25.

Gambar 4.25 Tampilan Crashes & Anrs

Page 31: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

59

4.2 Pembahasan

Telepon seluler merupakan salah satu alat komunikasi yang paling banyak

digunakan karena dapat mempermudah orang untuk saling berkomunikasi antara

satu dengan yang lainnya. Namun dengan banyaknya pengguna telepon seluler,

maka semakin banyak pula penyadapan yang terjadi, hal tersebut diakibatkan

kurangnya keamanan yang diberikan oleh pihak pengembang telepon seluler dan

juga pihak provider yang menyediakan layanan untuk saling berkomunikasi.

Berdasarkan hasil penelitian yang telah dicapai, aplikasi enkripsi pesan

singkat ini dapat menjadi solusi dari permasalahan yang ada sebelumnya.

Dibandingkan dengan penelitian sebelumnya yang hanya menggunakan 1 (satu)

algoritma dan masih menggunakan platform berbasis J2ME, aplikasi enkripsi pesan

singkat berbasis Android ini dapat mengamankan isi SMS dengan melakukan 2

(dua) kali proses enkripsi menggunakan 2 (dua) algoritma yang berbeda yaitu AES

128 bit dan Vigenere Cipher. Pada aplikasi ini terdapat fitur-fitur layanan yang

sama dengan aplikasi SMS yang sudah tertanam pada sistem operasi Android,

seperti melihat pesan masuk, mengirimkan pesan, dan juga melihat kontak dari

nomor tujuan, namun yang membedakaannya ialah pada aplikasi enkripsi pesan

singkat memiliki proses enkripsi dan dekripsi yang bertujuan untuk mengamankan

isi dari pesan yang ingin dikirimkan. Adapun cara kerja dari algoritma Vigenere

dan AES 128 adalah sebagai berikut :

Page 32: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

60

4.2.1 Algoritma Vigenere Cipher

Dalam penelitian ini penulis mengambil contoh kata ‘gorontalo’ sebagai

plaintext, dan ‘arif’ sebagai key yang digunakan untuk melakukan enkripsi plaintext

menjadi ciphertext.

Plaintext :

Kunci :

Chipertext :

Ket : Nilai desimal yang digunakan di ambil dari table ASCII

Pada contoh diatas kata kunci ‘arif’ diulang sedemikian rupa hingga panjang

kunci sama dengan panjang plaintext. Jika dihitung dengan rumus enkripsi vigenere

cipher extended, plainteks huruf pertama ‘g’ (yang memiliki nilai Pi = 103) akan

dilakukan pergeseran dengan huruf ‘a’ (yang memiliki Ki = 97) maka prosesnya

sebagai berikut:

Ci = ( Pi + Ki ) mod 128

= (103 + 97) mod 128

= 200 mod 128

= 72

Ci = 72 maka karakter ciphertext dengan nilai 72 adalah ‘H’. Begitu

seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap karakter hingga

g o r o n t a l o

103 111 114 111 110 116 97 108 111

a r i f a r i f a

97 114 105 102 97 114 105 102 97

H a [ U O f J R P

72 97 91 85 79 102 74 82 80

Page 33: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

61

semua plaintext telah terenkripsi menjadi ciphertext. Setelah semua huruf

terenkripsi maka proses dekripsinya dapat dihitung sebagai berikut:

Pi = ( Ci – Ki ) + 128

= ( 72 – 93 ) +128

= –25 + 128

= 103

Pi = 103 maka karakter plaintext dengan nilai 103 adalah ‘g’. Begitu

seterusnya dilakukan pergeseran sesuai dengan kunci pada setiap karakter hingga

semua ciphertext telah terdekripsi menjadi plaintext.

4.2.2 Algoritma AES (Advance Encryption Standard) 128

1) AddRoundKey

Pada proses ini subkey digabungkan dengan plaintext. Proses penggabungan

ini menggunakan operasi XOR untuk setiap byte dari subkey dengan byte yang

bersangkutan dari plaintext. Untuk setiap tahap, subkey dibangkitkan dari kunci

utama dengan menggunakan proses key schedule. Setiap subkey berukuran sama

dengan plaintext yang bersangkutan. Proses AddRoundKey diperlihatkan pada

Gambar 4.26.

Page 34: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

62

Plaintext Cipher Key

Gambar 4.26 proses AddRoundKey

Hasil dari proses XOR pada byte pertama yaitu 19, bilangan ini didapatkan

dari proses XOR antara bilangan 32 dan 2b, sebelum melakukan XOR bilangan 32

dan 2b diubah dalam bentuk biner, proses perhitungan sebagai berikut:

32 : 00110010

2b : 00101011

XOR : 00011001

Angka biner 00011001 jika diubah kedalam bentuk hexadecimal menjadi

bilangan 19. Begitu seterusnya dilakukan proses XOR antara byte plaintext dan key

untuk menghasilkan penggabungan XOR antara kedua state.

2b 28 ab 09

7e ae f7 cf

15 d2 15 4f

16 a6 88 3c

32 88 31 e0

43 5a 31 37

f6 30 98 07

a8 8d a2 34

19 a0 9a e9

3d f4 c6 f8

e3 e2 8d 48

be 2b 2a 08

XOR

Page 35: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

63

2) SubBytes

Proses SubBytes adalah operasi yang akan melakukan substitusi tidak linear

dengan cara mengganti setiap byte state dengan byte pada sebuah tabel yang

dinamakan tabel SBox. Sebuah tabel S-Box terdiri dari 16x16 baris dan kolom

dengan masing-masing berukuran 1 byte.

State

Hasil SubByte

Gambar 4.27 proses SubByte

Dari gambar diatas dapat dilihat bahwa byte pertama dengan bilangan 19

pada state dimasukkan pada table S-Box dan menghasilkan bilangan d4, proses

tersebut dilakukan pada semua byte yang terdapat pada state untuk menghasilkan

state baru sesuai dengan algoritma AES.

19 a0 9a e9

3d f4 c6 f8

e3 e2 8d 48

be 2b 2a 08

d4 e0 b8 le

27 bf b4 41

11 98 5d 52

ae f1 e5 30

Page 36: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

64

3) ShiftRows

Proses ShiftRows akan beroperasi pada tiap baris dari tabel state. Proses ini

akan bekerja dengan cara memutar bytes-bytes pada 3 baris terakhir ( baris 1, 2, dan

3 ) dengan jumlah perputaran yang berbeda-beda. Baris 1 akan diputar sebanyak 1

kali, baris 2 akan diputar sebanyak 2 kali, dan baris 3 akan diputar sebanyak 3 kali.

Sedangkan baris 0 tidak akan diputar. Proses ShiftRows dapat dilihat pada Gambar

4.28 dibawah ini :

State Hasil

Digeser 1 byte

Digeser 2 byte

Digeser 3 byte

Gambar 4.28 proses ShiftRows

4) MixColums

Dalam proses perkalian antara bilangan hexadesimal dan desimal, maka

sebelum proses perkalian dilakukan, bilangan hexadesimal diubah kedalam bentuk

biner, proses perkalian tidak berhenti pada proses perubahan bilangan hexadesimal

saja, untuk menjadikan hasil perkalian menjadi bentuk biner 8 bit, maka bilangan

02 di ubah menjadi 1 bit dan dilakukan pergeseran kekiri sebanyak 1 bit pada

bilangan hexadesimal yang telah diubah kedalam biner. Jika bit paling kiri dari nilai

asli (sebelum pergeseran) adalah 1, maka nilai tersebut akan di XOR dengan

(00011011)

d4 e0 b8 le

27 bf b4 41

11 98 5d 52

ae f1 e5 30

d4 e0 b8 le

bf b4 41 27

5d 52 11 98

30 ae f1 e5

Page 37: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

65

Dari state awal dapat dihitung mixcolums pada baris pertama yaitu:

s0 = {d4 . 02} + {bf . 03} + {5d . 01} + {30 . 01}

1. {d4 . 02}

d4 = 1101 0100

{d4 . 02} = 1101 0100 << 1

= 1010 1000 XOR 0001 1011

= 1011 0011 (jawaban)

Sebelum melakukan perkalian, bilangan d4 diubah kedalam bentuk biner,

setelah itu bilangan 02 di ubah menjadi 1bit dan dilakukan pergeseran 1bit kekiri

pada bilangan biner, karena nilai asli bit pertama adalah 1 sebelum pergeseran maka

bilangan tersubut di XOR dengan 0001 1011.

2. {bf . 03}

bf = 1011 1111

03 = 11

= 10 XOR 01

Bit 10 = 02

{03} . {bf} = {10 XOR 01} . {1011 1111}

= {1011 1111 . 10} XOR {1011 1111 . 01}

= {1011 1111 . 10} XOR {1011 1111}

(karena {1011 1111} x 1[desimal] = 1011 1111)

= 0111 1110 XOR 0001 1011 XOR 1011 1111

= 1101 1010 (jawaban)

Page 38: BAB IV HASIL DAN PEMBAHASAN 4.1 Hasil Penelitian Analisis ...eprints.ung.ac.id/849/10/2013-2-57201-531410079-bab4...yang akan dipecahkan, kebutuhan yang diinginkan user, dan cara kerja

66

3. {5d . 01}

{5d . 01} = 0101 1101 . 1

= 0101 1101 (jawaban)

Karena bilangan biner dikalikan 1 dalam decimal akan menjadi bilangan

biner itu sendiri.

4. {30 . 01}

{30 . 01} = 0011 0000 . 1

= 0011 0000 (jawaban)

Bilangan-bilangan biner tadi dimasukkan dalam rumus dan dihitung kembali sesuai

banyaknya bit pada matriks.

s0 = {d4 . 02} + {bf . 03} + {5d . 01} + {30 . 01}

= 1011 0011 XOR 1101 1010 XOR 0101 1101 XOR 0011 0000

= 0000 0100

= 04 (dalam Hex)

State

020101

030201

03 01

010302

010103

01 02

Hasil MixColums

Gambar 4.29 Proses MixColums

d4 e0 b8 le

bf b4 41 27

5d 52 11 98

30 ae f1 e5

d4

bf

5d

30

04 e0 48 28

66 cb f8 06

81 19 d3 26

e5 9a 7a 4c

=