• Tidak ada hasil yang ditemukan

BAB V IMPLEMENTASI DAN PENGUJIAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB V IMPLEMENTASI DAN PENGUJIAN"

Copied!
17
0
0

Teks penuh

(1)

V-1

BAB V

IMPLEMENTASI DAN PENGUJIAN

Pada bab V ini akan dibahas mengenai implementasi hasil dari analisis dan perancangan perangkat lunak yang telah dilakukan pada bab-bab sebelumnya pada tugas akhir ini dan juga akan dijelaskan dan hasil yang didapatkan dari pengujian perangkat lunak yang telah dibangun.

5.1 Lingkungan Implementasi

Implementasi yang dilakukan menggunakan sebuah perangkat komputer untuk membangun perangkat lunak dan sebuah telepon selular yang digunakan melakukan uji coba perangkat lunak yang telah dibangun.

Perangkat komputer yang digunakan untuk melakukan implementasi memiliki spesifikasi sebagai berikut:

1. Prosessor Intel Core Duo 1.8 GHz 2. RAM 1 GB

3. Hard Disk 80 GB

4. Perangkat masukkan keyboard dan tetikus 5. Perangkat keluaran monitor

Adapun perangkat lunak yang digunakan dalam melakukan implementasi adalah sebagai berikut:

1. Sistem operasi Windows XP Service Pack 2 2. Netbeans IDE 6.0.1

3. Mobility pack for Netbeans IDE 4. Sun Java Wireless Toll Kit 2.5.2

Perangkat lunak dibangun dengan menggunakan bahasa pemrograman java dengan menggunakan teknologi J2ME. Hasil implementasi diujikan pada telepon selular Nokia 9300i.

(2)

V-2

5.2 Batasan Implementasi

Pada tugas akhir ini, perangkat lunak yang dibangun memiliki batasan sebagai berikut:

1. Perangkat lunak tidak dapat melakukan akses ke memory di dalam kartu SIM. 2. Perangkat lunak yang dibangun dapat dijalankan pada telepon selular yang

dapat mendukung aplikasi berbasis java dengan spesifikasi MIDP 2.0 dan CLDC 1.1 menggunakan kartu GSM.

5.3 Implementasi Kelas

Kelas-kelas yang telah dirancang diimplementasikan dengan menggunakan bahasa pemrograman java.

5.3.1 Deskripsi Kelas

Pada Tabel V-1 dapat dilihat daftar implementasi kelas-kelas yang ada pada perangkat lunak beserta keterangannya.

Tabel V-1 Tabel Implementasi Kelas

Nama Kelas Nama File Keterangan

Interface Interface.java Kelas ini merupakan turunan dari

javax.microedition.midlet dan

mengimplementasikan kelas abstract CommandListener yang terdapat pada package javax.microedition.lcdui dan juga mengimplementasikan kelas

javax.wireless.messaging.MessageListener SMSReceive SMSReceive.java Kelas ini mengimplementasikan kelas

interface java.lang.Runnable

SMSSender SMSSender.java Kelas ini mengimplementasikan kelas

interface java.lang.Runnable

SMSStore SMSStore.java Kelas ini menangani penanganan pesan.

Data pesan disimpan dalam bentuk RecordStore dari package

(3)

V-3

Nama Kelas Nama File Keterangan

ECB ECB.java Fungsi random yang digunakan untuk

mengisi padding menggunakan fungsi random dari kelas java.util.Random

RC6 RC6.java

5.3.2 Operasi dan Atribut 1. Kelas Interface

Daftar hasil implementasi operasi dari kelas Interface dapat dilihat pada Tabel IV-1.

Tabel V-2 Daftar Implementasi Operasi Kelas Interface

Nama Operasi Visibility

(private, public)

Implementasi

SendAndSave Public public SendAndSave()

2. Kelas ECB

Daftar implementasi operasi dari kelas ECB dapat dilihat pada Tabel IV-2 dan daftar implementasi atribut kelas ECB dapat dilihat pada Tabel IV-3.

Tabel V-3 Daftar Implementasi Operasi Kelas ECB

Nama Operasi Visibility

(private, public)

Implementasi

enkripECB Public public enkripECB()

DekripECB Public public DekripECB()

Tabel V-4 Daftar Implementasi Atribut Kelas ECB

Nama Atribut Visibility

(private, public)

Implementasi

plain Private private byte[] plain

blocksize Private private int blocksize =

16

(4)

V-4

Nama Atribut Visibility

(private, public)

Implementasi

jumlahblock Private private int jumlahblock

cipher Private private byte[] cipher

pad Private private int pad

3. Kelas SMSSender

Daftar implementasi operasi dari kelas ECB dapat dilihat pada Tabel IV-4 dan daftar implementasi atribut kelas ECB dapat dilihat pada Tabel IV-5.

Tabel V-5 Daftar Implementasi Operasi Kelas SMSSender

Nama Operasi Visibility

(private, public)

Implementasi

run Public public void run()

Tabel V-6 Daftar Implementasi Atribut Kelas SMSSender

Nama Atribut Visibility

(private, public)

Implementasi

inter private private Interface inter

4. Kelas SMSReceive

Daftar implementasi operasi dari kelas ECB dapat dilihat pada Tabel IV-6 dan daftar implementasi atribut kelas ECB dapat dilihat pada Tabel IV-7.

Tabel V-7 Daftar Implementasi Operasi Kelas SMSReceive

Nama Operasi Visibility

(private, public)

Implementasi

AmbilNomor Public public String

AmbilNomor(String S)

run Public public void run()

Tabel V-8 Daftar Implementasi Atribut Kelas SMSReceive

Nama Atribut Visibility

(private, public)

Implementasi

(5)

V-5

Nama Atribut Visibility

(private, public)

Implementasi

Smsconn Private private

MessageConnection smsconn

msg Private private Message msg

senderAddress Private private String

senderAddress

buf Private private StringBuffer buf

inter Private private Interface inter

5. Kelas SMSStore

Daftar implementasi operasi dari kelas ECB dapat dilihat pada Tabel IV-8 dan daftar implementasi atribut kelas ECB dapat dilihat pada Tabel IV-9.

Tabel V-9 Daftar Implementasi Operasi Kelas SMSStore

Nama Operasi Visibility

(private, public)

Keterangan

DeleteAllInbox Public public void

DeleteAllInbox()

DeleteAllOutbox Public public void

DeleteAllOutbox()

SaveInbox Public public void

SaveOutbox(byte[] pesan, byte[] date, byte[] address)

SaveOutbox Public public void

SaveOutbox(byte[] pesan, byte[] date, byte[] address)

Tabel V-10 Daftar Implementasi Atribut Kelas SMSStore

Nama Atribut Visibility

(private, public)

implementasi

inbox Private private static

RecordStore inbox

(6)

V-6

Nama Atribut Visibility

(private, public)

implementasi

RecordStore inboxdate

outbox Private private static

RecordStore outbox

outboxdate Private private static

RecordStore outboxdate

sender Private private static

RecordStore sender

receiver Private private static

RecordStore receiver

6. Kelas RC6

Daftar implementasi operasi dari kelas ECB dapat dilihat pada Tabel IV-10 dan daftar implementasi atribut kelas ECB dapat dilihat pada Tabel IV-11.

Tabel V-11 Daftar Implementasi Operasi Kelas RC6

Nama Operasi Visibility

(private, public)

Implementasi

Decryption Private private void

Decryption()

Dekrip Public public void

Dekrip(byte[] in, int inOff, byte[] out)

Encryption Private private void

Encryption()

Enkrip Public public void

Enkrip(byte[] in,int inOff,byte[] out)

F Private private int F(int x)

initreg Private private void

initreg(byte[] src, int srcOff)

regToCipher Private private void

regToCipher(byte[] dst,int dstOff)

regToPlain Private private void

(7)

V-7

Nama Operasi Visibility

(private, public)

Implementasi

out,int inOff)

rotateLeft Private private int

rotateLeft(int x, int y)

rotateRight Private private int

rotateRight(int x, int y)

setKey Public public void

setKey(byte[] key)

swap Private private void swap(int A,

int B, int C, int D)

Tabel V-12 Daftar Implementasi Atribut Kelas RC6

Nama Atribut Visibility

(private, public)

Implementasi

w Private private static final

int w = 32

U Private private static final

int u = 4

R Private private static int r

S Private private int S[]

A Private private int A

B Private private int B

C Private private int C

D Private private int D

LGW Private private static final

int LGW = 5

5.4 Implementasi Modul

Pada Tabel V-2 dapat dilihat daftar hasil implementasi modul-modul yang telah dirancang.

(8)

V-8

Tabel V-13 Tabel Implementasi Modul

Nama Modul Nama File yang Terlibat

Modul Enkripsi Pesan - ECB.java

- RC6.java

Modul Dekripsi Pesan - ECB.java

- RC6.java

Modul Pengirim Pesan - SMSSender.java

Modul Penerima Pesan - Interface.java

- SMSReceive.java

Modul Penyimpanan Pesan - SMSStore.java

5.5 Implementasi Antar Muka

Subbab ini berisi gambar-gambar hasil implementasi antar muka dari perangkat lunak yang telah dibangun. Gambar hasil implementasi tersebut merupakan gambar dari emulator.

(9)

V-9

Gambar V-2 Implementasi Antar Muka Layar Pembangunan Pesan

(10)

V-10

Gambar V-4 Implementasi Antar Muka Layar Penerima Pesan

(11)

V-11

Gambar V-6 Implementasi Antar Muka Daftar Inbox

Gambar V-7 Implementasi Antar Muka Daftar Outbox

5.6 Pengujian

Pengujian yang dilakukan dibagi menjadi tiga bagian yaitu pengujian performansi perangkat lunak, pengujian enkripsi dan dekripsi, dan pengujian pengiriman dan penerimaan pesan.

(12)

V-12 5.6.1 Pengujian Performansi Perangkat lunak

Pengujian performansi perangkat lunak dilakukan dengan melakukan pengujian terhadap algroritma enkripsi yang diimplementasikan oleh perangkat lunak. Pengujian ini dilakukan pada telepon selular Nokia 9300i yang memiliki memory internal 80 MB dan memory card 128 MB. Pengujian ini dilakukan untuk mengetahui apakah perangkat lunak yang telah dibangun dapat berjalan dengan baik atau tidak jika dijalankan pada telepon selular. Untuk pengujian ini kunci yang digunakan adalah “kunci”. Tata cara pengujian ini adalah dengan mengirimkan pesan ke nomor sendiri, pengiriman pesan dimulai dengan menyalakan aplikasi sedangkan penerimaan pesan dilakukan ketika aplikasi sudah berjalan dan menunggu psan untuk datang.

Hasil pengujian performansi dapat dilihat pada Tabel V-14.

Tabel V-14 Tabel Pengujian Performansi

Jumlah rotasi Plainteks Waktu Enkripsi Waktu Dekripsi

20 tes 469 milidetik 438 milidetik

20 ini contoh pesan

yang lebih dari 1 blok

594 milidetik 141 milidetik

20 pesan ini cukup

panjang digunakan untuk pengujian pesan panjangnya lebih dari 1 message atau melakukan tes pesan yang lumayan panjang

937 milidetik 254 milidetik

100 pesan ini cukup

panjang digunakan untuk pengujian pesan panjangnya lebih dari 1 message atau melakukan tes pesan yang lumayan panjang

(13)

V-13 Jumlah rotasi Plainteks Waktu Enkripsi Waktu Dekripsi

100 tes 516 milidetik 203 milidetik

100 ini contoh pesan

yang lebih dari 1 blok

625 milidetik 245 milidetik

500 tes 562 milidetik 188 milidetik

500 pesan ini cukup

panjang digunakan untuk pengujian pesan panjangnya lebih dari 1 message atau melakukan tes pesan yang lumayan panjang

1110 milidetik 531 milidetik

5.6.2 Pengujian Kunci

Pada bagian ini akan diberikan hasil pengujian kemanan aplikasi yang menguji hasil yang dihasilkan dari proses enkripsi dan dekripsi dengan kasus-kasus tertentu. Kasus-kasus yang akan diujikan adalah sebagai berikut:

1. Menguji kebenaran enkripsi dan dekripsi 2. Menguji pemakaian kunci

Hasil pengujian kasus-kasus tersebut dapat dilihat pada Tabel V-15.

Tabel V-15 Tabel Pengujian Keamanan Aplikasi

Plainteks Kunci pengirim cipherteks Kunci penerima Dekripsi tes 31 33 98 04 37 d8 3f f1 82 6e 8c 44 5c c3 6f 09 1f 43 Berhasil tes 31 33 c8 df 89 d3 c4 96 ac ea 90 39 12 96 e8 ae 0d 76 tes gagal

(14)

V-14 Plainteks Kunci pengirim cipherteks Kunci penerima Dekripsi ini untuk tes pesan panjang yang lebih besar dari 1 pesan jadi kata kata diulang-ulang terus biar panjang pesan lebih dari 1 pesan atau menggunakan konkatinasi kunci 30 37 02 d7 c6 89 a4 6b ae 3c 3d 59 62 13 44 e2 10 98 a9 d6 ac eb 9f 5e a8 31 3a e3 2b ba 4a 23 0f 9a 0b a5 a7 cc 98 65 5a 2b e0 39 39 9b 02 e2 10 98 ab b0 b1 65 99 5e 9e 30 e2 9c a3 c4 32 e2 0b 94 4e f9 bb aa 98 72 a6 28 37 d5 71 6c 3d 23 0f 9a 39 2e 88 d7 a4 70 5a 29 6c f1 03 35 41 23 0f 9d 90 53 b5 c5 9f 62 ad 28 94 66 39 0e 33 2b 09 53 eb e5 58 fa 4f 2e 5a 37 6e a9 6f 32 f1 22 15 94 12 4f 87 7c 9d 64 a1 3c 88 f0 16 0a 3f e2 0b a2 48 de a7 6b 98 6b 9b 3a 58 72 d8 26 0a fb d9 6b kunci berhasil ini untuk tes pesan panjang yang lebih besar dari 1 pesan jadi kata kata diulang-ulang terus biar panjang pesan lebih dari 1 kunci 30 37 02 d7 c6 89 a4 6b ae 3c 3d 59 62 13 44 e2 10 98 a9 d6 ac eb 9f 5e a8 31 3a e3 2b ba 4a 23 0f 9a 0b a5 a7 cc 98 65 5a 2b e0 39 39 9b 02 e2 10 98 ab b0 b1 65 99 5e 9e 30 e2 9c a3 c4 32 e2 0b 94 4e f9 bb aa 98 72 a6 28 37 d5 71 6c 3d 23 0f 9a 39 2e 88 d7 a4 70 5a 29 6c f1 03 35 41 23 0f 9d kunci salah gagal

(15)

V-15 Plainteks Kunci pengirim cipherteks Kunci penerima Dekripsi pesan atau menggunakan konkatinasi 90 53 b5 c5 9f 62 ad 28 94 66 39 0e 33 2b 09 53 eb e5 58 fa 4f 2e 5a 37 6e a9 6f 32 f1 22 15 94 12 4f 87 7c 9d 64 a1 3c 88 f0 16 0a 3f e2 0b a2 c4 47 4b b4 98 6b 9b 3a ff 81 7e 50 39 2a 09 9b tes kunci panjang kunci ini lumayan panjang untuk dites jadi dipake aja 31 35 2a 95 3e fe d3 5c a0 99 66 82 07 ec 06 32 e9 31 73 f4 a8 5b 3b bb 05 0a 72 27 04 47 6b 9b 5b 97 kunci ini lumayan panjang untuk dites jadi dipake aja berhasil tes kunci panjang kunci ini lumayan panjang untuk dites jadi dipake aja 31 35 2a 95 3e fe d3 5c a0 99 66 82 07 ec 06 32 e9 31 56 55 5f f0 3c bc 06 0b 25 03 87 5b 6c 9c 5c 98 kunci ini salah Gagal

5.6.3 Pengujian Penerimaan Pesan

Pengujian pengiriman pesan ini bertujuan untuk melakukan pengecekan terhadap pesan yang dikirimkan. Tata cara dari pengujian ini adalah melakukan pengiriman terhadap telepon selular yang tidak terinstalasi perangkat lunak yang telah dibangun.

(16)

V-16

Tabel V-16 Tabel Pengujian Penerimaan Pesan

Pesan yang dikrim (dalam heksadesimal)

Pesan yang diterima (yang terbaca)

Jenis Telepon Selular Penerima 31 33 cb 16 53 28 59 cf c1 67 d5 b0 65 60 fb 8e 6e 8c 13ËS(YÏÁgõ˙e`ûn Nokia 3650 31 33 eb 14 03 cb eb 61 54 fa 81 46 00 30 8d 21 01 1f

(00^080)13???aT??F Haier D1600 CDMA

31 36 bd b2 34 13 2b af 93 39 9d bb 95 99 cd 60 40 5e 16½²4+i9»Í`@^ Nokia 9210 31 33 4a 10 40 64 6f e5 d7 7d 73 96 59 7f 11 a5 84 a2

Tidak dapat dibaca Nokia E90

31 33 d9 7f 40 80 28 9e 90 36 a2 51 9e 7c ca f2 d2 f0

Tidak dapat diterima Samsung SGH-U600

31 33 4a a1 a3 a7 3b b1 a3 49 7d 7e 5d f5 dd 70 50 5e

Tidak dapat dibaca Nokia 3250

Pada Tabel V-16, yang dimaksud dengan pesan tidak dapat dibaca adalah aplikasi standar telepon selular yang menerima pesan tidak mampu menampilkan isi pesan yang bersifat binary. Yang dimaksud dengan tidak dapat menerima bukan berarti telepon selular tersebut tidak dapat menerima pesan terenkripsi, melainkan aplikasi standar telepon selular tersebut tidak mampu menangani penerimaan pesan berbentuk binary.

5.7 Analisis Hasil Pengujian

Berdasarkan hasil pengujian yang dilakukan, hasil dari pengujian fitur enkripsi dan dekripsi perangkat lunak pada lingkungan telepon selular berjalan dengan cukup cepat seperti terlihat pada Tabel V-14 dan pesan yang diterima dapat didekripsi dengan baik jika masukkan kunci dari pengguna benar seperti terlihat pada Tabel V-15. Oleh karena itu, dapat disimpulkan bahwa perangkat lunak yang telah dibangun dapat berjalan dengan baik pada lingkungan telepon selular.

(17)

V-17 Pada Tabel V-14 dapat terlihat bahwa waktu enkripsi cenderung lebih besar dibandingkan waktu dekripsi, hal tersebut disebabkan karena metode pengujian yang dilakukan untuk enkripsi dilakukan dimulai dari menjalankan aplikasi yang belum berjalan sebelumnya sedangkan proses dekripsi dilakukan ketika aplikasi sudah berjalan. Proses inisialisasi aplikasi java yang dilakukan ketika mulai menjalankan aplikasi menggunakan memory sehingga proses enkripsi memakan waktu yang lebih besar. Pada Tabel V-14 juga terlihat bahwa semakin besar jumlah rotasi yang digunakan maka waktu yang diperlukan untuk melakukan enkripsi dan dekripsi semakin besar, sehingga dapat disimpulkan jumlah rotasi yang besar dapat meningkatkan keamanan, namun waktu yang dibutuhkan untuk enkripsi dan dekripsi akan semakin besar.

Pesan terenkripsi yang dikirimkan melalui perangkat lunak yang telah dibangun dapat disampaikan ke tujuan dengan baik. Pesan yang dikirimkan oleh perangkat lunak yang telah dibangun, yang ditujukan pada telepon selular yang tidak memiliki perangkat lunak yang sama akan menuju aplikasi telepon selular standar. Pada Tabel V-16 dapat dilihat bahwa hasil pesan yang diterima aplikasi telepon selular standar tersebut beragam, beberapa telepon selular tidak dapat membuka pesan tersebut atau bahkan tidak dapat menerima pesan tersebut dan beberapa telepon selular memaksa telepon selular tersebut untuk menampilkan pesan tersebut dengan format yang berbeda-beda.

Melalui hasil pengujian yang dilakukan pada telepon selular, dapat terlihat bahwa perangkat lunak berjalan dengan baik dan jika nomor tujuan menggunakan perangkat lunak yang sama, pesan dapat disampaikan dengan baik, dapat diketahui bahwa implementasi algoritma RC6 untuk komunikasi melalui media SMS dapat direalisasikan dengan baik.

Gambar

Tabel V-1 Tabel Implementasi Kelas
Tabel V-2 Daftar Implementasi Operasi Kelas Interface
Tabel V-5 Daftar Implementasi  Operasi Kelas SMSSender
Tabel V-9 Daftar Implementasi  Operasi Kelas SMSStore
+7

Referensi

Dokumen terkait

Ransum dengan sumber serat tongkol jagung sebesar 30% dengan kombinasi sumber protein bungkil kelapa dan tepung ikan atau kombinasi sumber protein bungkil kelapa dan

Teori tersebut juga sesuai dengan hasil penelitian yang dilakukan Merry Fanada (2012) yang menyebutkan bahwa ada hubungan yang bermakna antara Status Imunisasi

a) mengidentifikasi pasar-produk baru yang memberikan peluang bagi perusahaan. b) mengevaluasi pasar-produk yang sudah ada sebagai pedoman strategi. c) mengamati lingkungan

Penelitian ini terbagi menjadi dua kelompok perlakuan, yaitu 1) membandingkan viabilitas embrio pada setiap tahap perkembangan (8 sel, morula, dan blastosis) setelah

Alhamdulillah puji syukur kehadirat Alloh SWT yang telah memberikan petunjuk, rahmat, dan hidayah-Nya, sehingga penulis dapat menyelesaikan Laporan Skripsi yang

Uji normalitas dengan Shapiro Wilks Test menunjukkan bahwa data skor CPIS, skor APACHE II, lama penggunaan ventilator dan lama perawatan di ICU antara kelompok ETT SSD

Setelah dinyatakan lulus ujian lisan Tugas Akhir, mahasiswa wajib mengumpulkan Tugas Akhirnya yang telah direvisi dan ditanda tangani oleh pembimbing dan penguji,

Jaminan Kesehatan Nasional (JKN) merupakan bagian dari Sistem Jaminan Sosial Nasional (SJSN) yang diselenggarakan dengan menggunakan mekanisme asuransi kesehatan