Rancang Bangun Aplikasi Enkripsi Dan Dekripsi Dengan Menggunakan Algoritma Kriptografi RC-6 Pada Platform Android

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

IWAN SETIAWAN

10110914

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


(2)

(3)

(4)

Email : i.setia14@gmail.com

Telp : 0811212339

Line Id : wan_utd

Tempat Lahir : Bandung

Tanggal Lahir : 20 September 1989 Jenis Kelamin : Laki-Laki

Agama : Islam

Kewarganegaraan : Indonesia

Alamat : Komp. Cibogo Permai Blok 2 No 9 Cimahi

Pendidikan Formal

1. 1995 – 2001 : SD Budhi Luhur 2. 2001 – 2004 : SMP Negeri 9 Cimahi 3. 2004 – 2008 : SMK Negeri 1 Cimahi

4. 2010 – 2014 : Teknik Informatika – Universitas Komputer Indonesia (UNIKOM)

Pendidikan Non Formal

1. Agustus 2014 : Introduction To Android Mobile Development ( PT. BE Logix Indonesia)

Seminar dan workshop yang diikuti

1. Seminar Augmented Reality “Bring Print To Life” Maret 2014


(5)

v

ABSTRACT ... Error! Bookmark not defined. KATA PENGANTAR ... Error! Bookmark not defined. DAFTAR ISI ... v DAFTAR TABEL ... Error! Bookmark not defined. DAFTAR GAMBAR ... Error! Bookmark not defined. DAFTAR SIMBOL ... Error! Bookmark not defined. DAFTAR LAMPIRAN ... Error! Bookmark not defined. BAB 1 PENDAHULUAN ... Error! Bookmark not defined. 1.1 Latar Belakang Masalah... Error! Bookmark not defined. 1.2 Perumusan Masalah ... Error! Bookmark not defined. 1.3 Maksud dan Tujuan ... Error! Bookmark not defined. 1.4 Batasan Masalah ... Error! Bookmark not defined. 1.5 Metodologi Penelitian ... Error! Bookmark not defined. 1.5.1 Metodologi penelitian yang digunakan. ...Error! Bookmark not defined.

1.5.2 Metode Pembangunan Perangkat Lunak...Error! Bookmark not defined.

1.6 Sistematika Penulisan ... Error! Bookmark not defined. BAB 2 TINJAUAN PUSTAKA ... Error! Bookmark not defined. 2.1 Kriptografi ... Error! Bookmark not defined. 2.1.1 Pengertian Kriptografi ... Error! Bookmark not defined. 2.1.2 Algoritma Kriptografi ... Error! Bookmark not defined. 2.2 Tinjauan matematis ... Error! Bookmark not defined. 2.2.1 Konsep Dasar ... Error! Bookmark not defined. 2.3 RC6 Block Chiper ... Error! Bookmark not defined. 2.3.1 Operasi-operasi Primitif ... Error! Bookmark not defined. 2.3.2 Algoritma RC6 ... Error! Bookmark not defined.


(6)

vi

2.4.1 Android SDK (Software Development Kit) ...Error! Bookmark not defined.

2.4.2 ADT (Android Development Tools) .. Error! Bookmark not defined. 2.4.3 Eclipse ... Error! Bookmark not defined. 2.5 Struktur Pesan SMS ... Error! Bookmark not defined. 2.6 UML ... Error! Bookmark not defined. 2.6.1 Sejarah UML ... Error! Bookmark not defined. 2.6.2 Diagram UML ... Error! Bookmark not defined. 2.6.2.1 Use Case Diagram ... Error! Bookmark not defined. 2.6.2.2 Activity Diagram ... Error! Bookmark not defined. 2.6.2.3 Sequence Diagram ... Error! Bookmark not defined. 2.6.2.4 Class Diagram ... Error! Bookmark not defined. 2.7 MySql ... Error! Bookmark not defined. 2.8 PhpMyAdmin ... Error! Bookmark not defined. BAB 3 ANALISIS DAN PERANCANGAN ... Error! Bookmark not defined. 3.1 Analisis ... Error! Bookmark not defined. 3.1.1 Analisis Masalah ... Error! Bookmark not defined. 3.1.2 Analisis Arsitektur Sistem ... Error! Bookmark not defined. 3.1.3 Analisis Komunikasi Data ... Error! Bookmark not defined. 3.1.4 Analisis Penerapan Algoritma RC6 dalam enkripsi SMS ... Error! Bookmark not defined.

3.2 Analisis Kebutuhan Sistem Non Fungsional ...Error! Bookmark not defined.

3.2.1 Analisis dan Kebutuhan Perangkat Keras ...Error! Bookmark not defined.

3.2.2 Analisis Dan kebutuhan Perangkat Lunak ...Error! Bookmark not defined.


(7)

vii

3.4.2 Perancangan Struktur Menu ... Error! Bookmark not defined. 3.4.3 Perancangan Grafis dan Antarmuka .. Error! Bookmark not defined. 3.4.4 Jaringan Semantik ... Error! Bookmark not defined.

BAB 4 IMPLEMENTASI DAN PENGUJIAN .. Error! Bookmark not defined. 4.1 Implementasi ... Error! Bookmark not defined. 4.1.1 Perangkat Lunak Pembangun ... Error! Bookmark not defined. 4.1.2 Perangkat Keras Pembangun ... Error! Bookmark not defined. 4.1.3 Batasan Implementasi ... Error! Bookmark not defined. 4.1.4 Implementasi Kelas ... Error! Bookmark not defined. 4.1.4.1 Kelas Pada Aplikasi Android ... Error! Bookmark not defined. 4.1.5 Implementasi Basis Data ... Error! Bookmark not defined. 4.1.6 Implementasi Antarmuka ... Error! Bookmark not defined. 4.2 Pengujian ... Error! Bookmark not defined. 4.2.1 Pengujian Alpha ... Error! Bookmark not defined. 4.2.1.1 Rencana Pengujian ... Error! Bookmark not defined. 4.2.1.2 Hasil Pengujian ... Error! Bookmark not defined. 4.2.1.3 Kesimpulan Pengujian Alpha... Error! Bookmark not defined. 4.2.2 Pengujian Beta ... Error! Bookmark not defined. 4.2.2.1 Kuesioner Pengujian Beta ... Error! Bookmark not defined. 4.2.2.2 Hasil kuesioner ... Error! Bookmark not defined. 4.2.2.2.1 Kesimpulan Hasil Kuisioner Error! Bookmark not defined. BAB 5 KESIMPULAN DAN SARAN ... Error! Bookmark not defined. 5.1. Kesimpulan ... Error! Bookmark not defined. 5.2. Saran ... Error! Bookmark not defined.


(8)

87

Komunikasi. Bandung: InformatikaBandung, 2004.

[2] Ariyus, Dony. 2005. Computer Security. Yogyakarta : Andi.

[3] Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi. Yogyakarta : Andi.

[4] H, Nazruddin Safaat. 2012. Pemrograman Aplikasi Mobile Smartphone Dan Tablet PC Berbasis Android.Bandung : Informatika

[5] Timothy Lethbridge dan Robert Laganiere. 2002. Object Oriented Software Engineering: Pratical Software Development Using UML and Java. Mc Graw Hill-Education, UK.

[6] Clements.T. 2003. SMS-Short But Sweet. Sun Microsystem : http://developers.sun.com/techtopics/mobility/midp/articles/sms/ diakses pada Mei 2014


(9)

iii

Puji syukur alhamdulillah penulis panjatkan kehadirat Allah SWT yang Maha pengasih lagi Maha penyayang, karena atas rahmat dan hidayah-Nya penulis dapat menyelesaikan Skripsi yang berjudul “RANCANG BANGUN APLIKASI ENKRIPSI DAN DEKRIPSI DENGAN MENGGUNAKAN ALGORITMA KRIPTOGRAFI RC-6 PADA PLATFORM ANDROID”. Skripsi ini dibuat sebagai salah satu syarat kelulusan program Strata 1 Fakultas Teknik dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia. Dengan penuh rasa syukur, ucapan terima kasih yang mendalam serta penghargaan yang tidak terhingga penulis sampaikan kepada :

1. Allah SWT yang telah memberikan kesehatan, kesempatan, serta rizki kepada penulis dalam proses menyelesaikan skripsi ini dan juga atas semua rahmat dan hidayah-Nya yang dapat menjadikan semangat dalam jiwa.

2. Kepada kedua orang tua yang sangat saya cintai dan saya hormati, yang selalu memberikan semangat, kekuatan moril, dan selalu mendo‟akan penulis.

3. Bpk Irawan Afriyanto, M.T. selaku Ketua Jurusan Teknik Informatika Universitas Komputer Indonesia (UNIKOM).

4. Bpk Harsa Wara Prabawa, S.Si., M.Pd. selaku pembimbing yang selalu memberikan yang terbaik serta sabar dalam memberikan bimbingan kepada penulis.

5. Bpk Andri Heryandi, S.T., M.T. selaku penguji dan reviewer yang memberikan banyak masukan yang sangat berarti bagi penulis.

6. Seluruh staf dosen Teknik Informatika yang telah memberikan ilmu yang sangat berarti untuk penulis.


(10)

iv dukungan untuk menyelesaikan skripsi ini.

Penulis menyadari bahwa skripsi ini masih banyak kekurangan dan masih jauh dari kata sempurna. Oleh karena itu, saran dan kritik yang sifatnya membangun akan penulis terima dengan senang hati. Akhir kata penulis berharap skripsi ini dapat bermanfaat bagi yang membutuhkan.

Wassalamu‟alaikum Wr. Wb.

Bandung, Juli 2014 Penulis


(11)

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Banyak fitur-fitur aplikasi yang disediakan oleh android sebagai system operasi ponsel. Dari sekian banyak fitur yang dimiliki oleh android, salah satunya yang masih banyak digunakan yaitu SMS. Namun, seringkali pengguna kurang memperhatikan system keamanan data yang ada pada ponsel tersebut khususnya keamanan informasi yang ada di pesan singkat. Keamanan data merupakan hal yang sangat penting dalam menjaga kerahasiaan informasi terutama yang berisi informasi sensitif yang hanya boleh diketahui oleh pihak yang berhak saja.

Layanan SMS yang menggunakan aplikasi SMS bawaan ponsel bukan merupakan jalur yang aman dalam pertukaran informasi. Pesan yang dikirim menggunakan aplikasi SMS bawaan ponsel masih berupa teks terbuka yang belum terproteksi selain itu pengiriman SMS yang dilakukan tidak sampai secara langsung ke penerima, akan tetapi pengiriman SMS harus melewati Short Message Service Center (SMSC) yang berfungsi mencatat komunikasi yang terjadi antara pengirim dan penerima. Dengan tersimpannya SMS pada SMSC, maka seorang operator dan mungkin pihak lain yang tidak berhak mengetahui informasi tersebut dapat memperoleh informasi atau membaca SMS di dalam SMSC.

Untuk mengurangi resiko yang ditimbulkan dari celah-celah yang terdapat pada layanan SMS tersebut salah satu cara penanggulangannya adalah dengan menerapkan suatu algoritma kriptografi pada pesan yang dikirmkan. Dengan terenkripsinya pesan yang dikirim maka seseorang yang berhasil mencuri informasi pesan teks yang dikirim tersebut akan kesulitan untuk mengetahui isi dari pesan tersebut. Dengan majunya kemajuan teknologi telepon selular, di mana banyaknya bermunculan telepon selular yang memiliki memori yang cukup besar,


(12)

memungkinkan untuk melakukan implementasi enkripsi pada SMS menjadi memungkinkan.

Data-data yang dikirimkan diubah sedemikian rupa sehingga tidak mudah disadap. Enkripsi adalah proses yang dilakukan untuk mengamankan sebuah data (plaintext) menjadi data yang tersembunyi (ciphertext). Ciphertext adalah pesan yang sudah tidak dapat dibaca dengan mudah. Menurut ISO 7498-2, terminologi yang lebih tepat digunakan untuk megistilahkan enkripsi adalah “enchiper”, sedangkan untuk dekripsi adalah “dechiper”.

Salah satu metode enkripsi yang dapat digunakan untuk aplikasi mobile adalah RC6 (Rivest Code 6). RC 6 merupakan pengembangan daridari algpritma sebelumnya yaitu RC5. Algoritma RC6 dilengkapi dengan beberapa parameter, sehingga dituliskan sebagai RC6-w/r/b. Parameter w merupakan ukuran kata dalam satuan bit, parameter merupakan bilangan bukan negatif yang menunjukan banyaknya iterasi selama proses enkripsi dan parameter b menunjukan ukuran kunci enkripsi dalam byte.

RC 6 dianggap cocok digunakan untuk aplikasi berbasis mobile karena selain sangat sederhana RC 6 juga mudah untuk diimplementasikan pada ponsel berbasis android, karena algoritma ini hanya membutuhkan memory yang kecil.

Berdasarkan pada uraian latar belakang tersebut peneliti tertarik untuk membangun aplikasi pada ponsel berbasis android untuk mengamankan data pesan singkat. Penelitian yang akan dilakukan mengambil judul “RANCANG

BANGUN APLIKASI ENKRIPSI DAN DEKRIPSI DENGAN

MENGGUNAKAN ALGORITMA KRIPTOGRAFI RC-6 PADA

PLATFORM ANDROID”. .


(13)

1.2 Perumusan Masalah

Berdasarkan permasalahan yang telah diuraikan di latar belakang, maka pokok permasalahan yang akan dikaji dalam penelitian ini adalah :

Bagaimana membangun aplikasi enskripsi dan dekripsi SMS dengan menggunakana algoritma Kriptografi RC6 pada ponsel berbasis android.

1.3 Maksud dan Tujuan

Secara umum, penelitian ini dimaksudkan untuk membangun aplikasi enskripsi dan dekripsi SMS dengan menggunakana algoritma Kriptografi RC6 pada ponsel berbasis android. Dengan demikian, penelitian ini bertujuan untuk:

Meningkatkan keamanan pesan yang terkirim,agar tidak mudah diketahui oleh pihak yang tidak berkepentingan.

1.4 Batasan Masalah

Dalam penulisan tugas akhir ini penulis akan membatasi masalah pada beberapa hal berikut ini :

1. Metoda Kriptografi yang digunakan yaitu Algoritma Kriptografi RC-6 simetris.

2. Informasi yang akan di enkripsi hanya pesan singkat pada ponsel yang berbasis android

3. Implementasi metode enkripsi dan dekripsi hanya dilakukan pada aplikasi SMS.

4. Aplikasi yang dibangun tidak menangani pengiriman kunci enkripsi ataupun

dekripsi.

5. Aplikasi ini berjalan minimal meggunakan OS android Versi 2.3 (Gingerbread).

6. Perangkat lunak yang digunakan yaitu eclipse dan framework Android SDK.


(14)

1.5 Metodologi Penelitian

1.5.1 Metodologi penelitian yang digunakan. a. Studi Literatur

Studi yang bisa dijadikan sebagai bahan untuk mengumpulkan dan mengkaji data dengan membaca berbagai literatur yang ada kaitannya dengan masalah yang akan dibahas seperti buku, skripsi, jurnal maupun bentuk tulisan lainnya yang isinya berkaitan erat dengan masalah yang akan diteliti sebagai bahan referensi tertulis.

b. Eksperimen

Eksperimen dilakukan dengan cara melakukan perancangan, implementasi sistem untuk membuat gambaran yang jelas dari masalah yang dihadapi dengan pembuatan simulasi program aplikasi, selain itu dilakukan uji coba dan analisis implementasi yang dibuat.

1.5.2 Metode Pembangunan Perangkat Lunak

Metode pengembangan perangkat lunak yang digunakan untuk membangun aplikasi e-learning untuk pemrograman berorientasi objek ini menggunakan paradigma model waterfall (Ian Sommerville, 2010), yang meliputi beberapa proses diantaranya:

1. Requirements analysis and definition

Tahap ini mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Tahap ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.

2. System and software design

Tahap ini merupakan kegiatan mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh aplikasi yang akan dibangun. Tahap ini


(15)

harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.

3. Implementation and unit testing

Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.

4. Integration and system testing

Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).

5. Operation and maintenance

Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini bertujuan untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan ini diatur dalam lima bab, yaitu :

BAB 1 PENDAHULUAN

Bab ini menguraikan secara umum tentang latar belakang masalah, identifikasi masalah, maksud dan tujuan, batasan masalah, yang kemudian diikuti dengan metodologi yang digunakan, serta sistematika penulisan penelitian sebagai ringkasan materi dari masing-masing bab.

BAB 2 TINJAUAN PUSTAKA

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap hasil penelitian tentang keamanan pesan singkat pada ponsel.


(16)

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini akan menjelaskan mengenai analisa dan perancangan simulasi, pemilihan software yang digunakan, dan analisis perhitungan algoritma kriptografi simetris. serta model matematis untuk analisisnya.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini merupakan tahapan percobaan dan sekaligus pengujian terhadap program yang dibuat yang diimplementasikan pada ponsel yang berbasis Android BAB 5 KESIMPULAN DAN SARAN

Pada bab ini akan dibahas mengenai kesimpulan dari keseluruhan masalah yang telah dibahas pada bab sebelumnya dan dilengkapi dengan saran-saran yang dapat dijadikan masukan untuk kemudian dapat dikembangkan dan disempurnakan pada perangkat lunak ini.


(17)

7

BAB 2

TINJAUAN PUSTAKA

2.1 Kriptografi

2.1.1 Pengertian Kriptografi

Kriptografi (cryptography) berasal dari bahasa yunani yaitu cryptos artinya rahasia (secret) dan graphein artinya tulisan (writing). Jadi kriptografi berarti tulisan rahasia (secret writing). Secara istilah kriptografi didefinisikan sebagai ilmu sekaligus seni untuk menjaga kerahasian pesan (data atau informasi) yang mempunyai arti atau nilai, dengan cara menyamarkannya (mengacak) menjadi bentuk yang tidak dapat dimengerti menggunakan suatu algoritma tertentu.

Suatu pesan yang akan dirahasisakan atau disandikan dalam ilmu kriptografi disebut plaintext, sedangkan pesan yang telah disandikan sehingga tidak memiliki nilai dan arti lagi dengan tujuan agar pesan tidak dapat dibaca oleh pihak yang tidak berhak disebut chipertext. Dalam ilmu kriptografi juga terdapat istilah enkripsi dan dekripsi. Enkripsi merupakan proses menyandikan plaintext menjadi chipertext dengan menggunakan algoritma tertentu. Sedangkan proses mengembalikan chipertext menjadi plaintext disebut dekripsi. Berikut ini skema umum sebuah penyandian dalam kriptografi [1] :


(18)

2.1.2 Algoritma Kriptografi

Perkembangan algoritma kriptografi dapat kita bagi menjadi dua, yaitu : 1. Kriptografi klasik

Pada algoritma klasik, diterapkan teknik enkripsi konvesional (simetris). Algoritma ini merupakan algoritma kriptografi yang biasa digunakn orang sejak berabad-abad yang lalu.

2. Kriptografi Modern

Kriptografi modern lebih menitikberatkan pada kerahasian kunci yang digunakan pada algoritma tersebut (oleh pemakainya) sehingga algoritma tersebut dapat saja disebarkan tanpa takut kehilangan kerahasian bagi para pemakainya.

Secara umum berdasarkan kesamaan kuncinya, algoritma sandi dibedakan menjadi:

1. Algoritma Simetrik (symmetric algorithm) adalah suatu algoritmayang menggunakan kunci enkripsi sama dengan kunci dekripsi sehingga algoritma ini disebut juga sebagai single-key algorithm. Beberapa algoritma kriptografi simetrik antara lain DES, Blowfish, IDEA, RC4, RC5, RC6,AES atau Rijandel, Serpent dan Twofish. Proses enkripsi – dekripsi algoritma kriptografi simetris dapat dilihat pada gambar dibawah ini :

Gambar 2.2. Algoritma Simetris

Enkripsi Dekripsi

Plaintext Plaintext Plaintext


(19)

Algoritma kriptografi simetris dibagi menjadi 2 kategori yaitu algoritma algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Pada algoritma aliran, proses penyandiannya berorientasi satu bit atau satu byte data. Sedang pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (per blok).

2. Algoritma Asimetrik (asymmetric algorithm) adalah suatu algoritma yang menggunakan kunci enkripsi tidak sama dengan kunci dekripsi. Algoritma ini menggunakan dua kunci yakni kunci public (public key) dan kunci privat (private key). Beberapa algoritma kunci public antara lain adalah RSA, Rabin dan ElGamal. Proses enkripsi-dekripsi algoritma asimetris dapat dilihat pada gambar dibawah ini :

Gambar 2.3. Algoritma Asimetris

Pada algoritma public key ini, semua orang dapat mengenkripsi data dengan memakai public key penerima yang telah diketahui secara umum. Akan tetapi data yang telah terenkripsi tersebut hanya dapat didekripsi dengan menggunakan private key yang hanya diketahui oleh penerima[2].

Enkripsi Dekripsi

Plaintext Plaintext Plaintext


(20)

2.2 Tinjauan matematis 2.2.1 Konsep Dasar

Dasar matematis yang mendasri proses enkripsi dan dekripsi adalah relasi antara dua himpunan yaitu himpunan berisi elemen plaintext dan himpunan berisi elemen ciphertext. Enkripsi dan dekripsi merupakan fungsi tranformasi antara dua himpunan tersebut. Bila himpunan plaintext dinotasikan dengan P dan himpunan ciphertext dinotasikan dengan C, sedang fungsi enkripsi dinotasikan dengan E dan fungsi dekripsi dengan D maka proses enkripsi-dekripsi dapat dinyatakan dalam notasi matematis denan :

E(P) = C dan D(C) = P

Karena proses enkripsi-dekripsi bertujuan memperoleh kembali data asal, maka : D(E(P)) = P

Relasi antara himpunan plaintext dengan himpunan cihpertext harus merupakan fungsi korespondensi satu-satu (one to one relation). Hal ini merupakan keharusan untuk mencegah terjadinya ambigu dalam dekripsi yaitu satu elemen ciphertext menyatakan lebih dari satu elemen plaintext.

Pada metode kriptografi simetris atau konvensional digunakan satu buah kunci. Bila kunci dinotasikan denan „K‟ maka proses enkripsi-dekripsi metode kriptografi simeteris dapat dinotasikan dengan :

Ek(P) = C dan Dk (C) = P

Dan keseluruhan sistem dinyatakan sebagai : Dk(Ek(P))=P

Pada metode kriptografi nirsimeteris digunakan kunci umum untuk enkripsi dan kunci pribadi untuk dekripsi. Bila kunci umum dinotasikan dengan „PK‟ dan kunci pribadi dinotasikan dengan „SK‟ maka


(21)

proses enkripsi-dekripsi metode kriptografi nirsimeteris dapat dinotasikan dengan :

EPK (P) = C dan DSK (C) =P

Dan keseluruhan sistem dinyakatan sebagai DSK(EPK(P)) = P

2.3 RC6 Block Chiper

RC6 merupakan algoritma yang merupakan keturunan dari RC5 yang juga merupakan kandidat AES (Advanced Encryption Standard). Pada mulanya, perancangan RC6 diawali ketika RC5 dianggap dapat dijadikan kandidat untuk mengikuti kompetisi pemilihan AES. Modifikasi kemudian dibuat untuk meningkatkan keamnan dan performa dan juga untuk dapat memenuhi persyaratan AES

RC6 dirancang untuk menghilangkan segala ketidakamanan yang ditemukan pada RC5, karena analisis pada RC5 menunjukan bahwa ternyata jumlah rotasi yang terjadi pada RC5 tidak sepenuhnya bergantung pada data yang terdapat dalam blok. Selain itu serangan kritanalisis diferensial juga ternyata dapat menembus keamanan yang ditawarkan RC5.

RC6 juga dirancang untuk memenuhi persyaratan AES yang diantaranya adalah kemampuan untuk beroperasi pada mode blok 128 bit. Jika besar blok 128 bit langsung dipaksakan untuk diimplemetasikan dengan algoritma RC5, maka akan dibutuhkan register kerja 64 bit. Spesifikasi arsitektur dan bahasa yang menjadi tempat implementasi algoritma yang ditentukan oleh AES belum mendukung pengoperasian 64 bit yang efisien. Oleh karena itu, daripada menggunakan 2 register 64 bit seperti pada RC5, RC6 menggunakan 4 register 32 bit. Karena menggunakan 4 register makan akan terdapat 2 operasi rotasi pada


(22)

setiap half-round yang ada, dan juga akan lebih banyak bit-bit yang akan digunakan untuk mempengaruhi banyaknya bit yang dirotasi.

RC6 seperti juga RC5 mengeksploitasi penggunaan operasi-operasi primitive yang diimplementasikan secara efisien dalam prosesor-prosesor modern. RC6 juga selain menggunakan ketiga operasi primitive yang digunakan dalam RC5, juga menggunakan operasi perkalian 32 bit yang telah diimplementasikan secara efisien dalam prosesor modern saat ini. Primitive operasi perkalian ini sangat efektif dalam menghasilkan efek “diffusion” atau penyebaran yang tentu saja mengakibatkan RC6 lebih aman daripada RC5. Operasi perkalian ini digunakan untuk menghitung jumlah bit yang dirotasi sehingga konsep data-dependent rotations dapat dengan lebih sempurna diimplementasikan [3].

2.3.1 Operasi-operasi Primitif

Selain ketiga operasi primitif yang digunakan pada RC5, RC6 juga menggunakan operasi perkalian modulu-2w. Berikut adalah daftar operator-operator primitive (termasuk invers) yang digunakan dalam RC6:

a+b : penjumlahan integer modulu 2w a-b : pengurangan integer modulu 2w

a⊕b : operasi eksklusif –OR (xor) dari w-bit word axb : perkalian integer modulu 2W

a<<<b : rotasi a ke kiri sebanyak nilai yang diperoleh dari bit-bit orde bawah sejumlah 2log(w) dari b

a>>>b : rotasi terhadap a ke kanan sebanyak nilai yabg diperoleh dari bit-bit orde bawah sejumlah 2log(w) dari b


(23)

2.3.2 Algoritma RC6

Algoritma RC6 seperti juga RC5 merupakan algoritma chipper yang terparameterisasi. RC6 secara tepat ditulis sebagai :

RC6 – w /r/b

Nilai parameter w, r,dan b menyatakan hal yang sama seperti yang ditunjukan dalam algoritma RC5. Algoritma RC6 yang dipakai sebagai kandidat AES adalah RC6-32/20/b, yang berarti ukuran word 32 bit, jumlah ronde 20 kali, dengan panjang kunci b ditentukan pengguna.

2.3.3 Key Expansion Algoritma

Algoritma untuk membangkitkan kunci internal sama seperti pada RC5. Nilai konstanta Pw dan Qw yang digunakan juga sama, tetapi ukuran array S tidak sama dengan yang seperti RC5. Ukuran t dari array S dalam RC6 adalah t = 2(r+2), yang berarti terdapat lebih banyak kunci internal yang dibangkitkan daripada jumlah kunci internal RC5. Berikut algoritmanya[3].

S[0] = Pw

fori = 1 to (2r + 3) do S[i] = S[i – 1] + Qw

i = 0 j = 0 A = 0 B = 0

for3 × max(c, (2r + 4)) times do S[i] = (S[i] + A + B) <<< 3

A = S[i]

L[i] = (L[j] + A + B) <<< 3 B = L[i]


(24)

i = (i + 1) mod (2r+4) j = (j + 1) mod c 2.3.4 Algoritma Enkripsi

Fungsi enkripsi menerima input 1 blok plaintext yang terbagi dalam 4 register yang masing-masing berupa w-bit word, yaitu A, B, C dan D. Chipertext hasil proses terbagi dan disimpen dalam A, B, C dan D. Dalam proses enkripsi diperlukan table kunci S yang dianggap telah didapat dari proses sebelumnya.

Secara lebih detil, proses enkripsi dengan RC6 dapat dibagi dalam beberapa langkah. Dalam penjelasan berikut, notasi (A,B,C,D) = (B,C,D,A) berarti adalah operasi assignment yang dilakukan parallel (bersamaan) untuk setiap elemen di ruas kanan ke ruas kiri yang berkorespondensi. Langkah-langkahnya adalah sebagai berikut :

1. Mula-mula lakukan half-round loop yang seperti pada RC5 : Fori = 1 to r do

A = ((AB)<<<B)+S[i] ⊕ (A,B) = (B,A)

2. Lakukan dua proses RC5 secara parallel, yang satu untuk register A, B dan yang lain untuk register C, D.

fori = 1 to r do

A = ((AB) <<< B) + S[2i] ⊕ C = ((CD) <<< D) + S[2i+1] ⊕ (A,B) = (B,A)

(C,D) = (D,C)

3. Pada tahap pertukaran,daripada menukar A dengan B dan C dengan D, lakukan permutasi antar keempat register (A,B,C,D) = (B,C,D,A), sehingga komputasi AB bercampur dengan komputasi CD.


(25)

fori = 1 to r do

A = ((AB) <<< B) + S[2i] ⊕ C = ((CD) <<< D) + S[2i+1] ⊕

(A,B,C,D) = (B,C,D,A)

4. Campurkan komputasi AB dengan CD lebih jauh, yaitu dengan mempertukarkan kedua nilai yang menyatakan jumlah rotasi pada masing-masing komputasi.

fori = 1 to r do

A = ((A⊕B) <<< D) + S[2i] C = ((C⊕D) <<< B) + S[2i+1] (A,B,C,D) = (B,C,D,A)

5. Daripada mengunakan nilai B dan D secara langsung, RC6 menggunakan hasil transformasi kedua register ini. Hal ini dilakukan untuk tidak mengulangi maslah rotasi seperti pada RC5 dimana tidak seluruh bit dalam data yang berpengaruh dalam rotasi. Oleh karena itu, fungsi transformasi yang dipilih harus dapat memanfaatkan seluruh bit di dalam data untuk mengatur jumlah bit yang dirotasikan. Fungsi yang dipilih adalah f(x) = x(2x +1) (mod 2w) yang kemudian diikitu dengan rotasi ke kiri sebanyak 5 bit. Transformasi ini terpilih karena fungsi f(x) yang merupakan fungsi satu ke satu memiliki bit-bit orde atas yang menentukan jumlah rotasi yang akan digunakan yang sangat bergantung pada x.

fori = 1 to r do

p = (B × (2B + 1)) <<< 5 q = (D × (2D + 1)) <<< 5 A = ((A⊕p) <<< q) + S[2i] C = ((C⊕q) <<< p) + S[2i+1]


(26)

(A,B,C,D) = (B,C,D,A)

6. Setelah loop di atas selesai, akan terdapat hasil dimana plaintext bias menunjukan bagian input ronde pertama dalam enkripsi dan chipertext bias menunjukan bagian input ronde terakhir dalam enkripsi. Oleh karena itu perlu ditambahkan langkah-langkah di awal dan di akhir loop untuk menyamarkan hubungan ini. Sehingga, terbentuk algoritma enkripsi RC6 yang sebagai berikut :

B = B + S[0] D = D + S[1] fori = 1 to r do

p = (B × (2B + 1)) <<< 5 q = (D × (2D + 1)) <<< 5 A = ((A⊕p) <<< q) + S[2i] C = ((C⊕q) <<< p) + S[2i+1] (A,B,C,D) = (B,C,D,A) A = A + S[2r + 2] C = C + S[2r + 3]

Perlu diketahui juga, dalam varian baru RC6 jumlah rotasi ke kiri yang mengikuti fungsi kuadrat bukan 5 bit tetapi adalah 2log(w) bit[3].


(27)

Gambar 2.4. RC6 Block Chiper 2.3.5 Algoritma Dekripsi

Proses dekripsi ciphertext pada algoritma RC6 merupakan pembalikan dari proses enkripsi. Pada proses whitening, bila proses enkripsi menggunakan operasi penjumlahan, maka pada proses dekripsi menggunakan operasi pengurangan. Sub kunci yang digunakan pada proses whiteneing setelah iterasi terakhir diterapkan sebelum iteasi pertama, begitu juga sebaliknya sub kunci yang diterapkan pada proses whitening sebelum iterasi pertama digunakan pada whitening setelah iterasi terkahir. Akibatnya, untuk melakukan dekripsi, hal yang harus dilakukan semata-mata hanyalah menerapkan algoritma yang sama dengan enkripsi, dengan tiap iterasi menggunakan sub kunci yang sama dengan yang digunakan pada saat enkripsi, hanya saja urutan sub kunci yang digunakan terbalik[3].

Sama seperti pada RC5, algoritma dekripsi RC6 jga merupakan penurunan dari algoritma enkripsi. Algoritmanya sebagai berikut :

C = C – S[2r + 3] A = A – S[2r + 2]


(28)

fori = r downto 1 do

(A,B,C,D) = (D,A,B,C) p = (D × (2D + 1)) <<< 5 q = (B × (2B + 1)) <<< 5 C = ((C – S[2i + 1]) >>> q)p ⊕ A = ((A – S[2i]) >>> p)q ⊕ D = D – S[1]

B = B – S[0] 2.4 Sejarah Android

Menurut Nazaruddin Safaat H, Android adalah sebuah system operasi untuk perangkat mobile berbasis linux yang mencakup system operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia[4].

Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan open source pada perangkat mobile. Di lain pihak, Google merilis kode-kode Android dibawah lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler.

Di dunia ini terdapat dua jenis distributor system operasi android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Server (GMS) dan kedua adalah yang benar-benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).


(29)

Sekitar September 2007 Google mengenalkan Nexus One, salah satu jenis smartphone yang menggunakan android sebagai system operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 januari 2010. Pada 9 desember 2008, diumumkan anggota baru yang bergabung dalam program kerja android ARM Holdings. Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericson, Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat mobile yang merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan berbagai pembaharuan berupa perbaikan bug dan penambahan fitur baru.

Pada masa saat ini sebagian besar vendor-vendor smartphone sudah memproduksi smartphone berbasis android, vendor-vendor itu antara lain HTC, Motorola, Samsung, LG, HKC, Huawei, Archos, Webstation Camangi, Dell, Nexus, SciPhone, WayteQ, Sony Ericsson, Acer, Philips, T-Mobile, Nexian, IMO, Asus dan masih banyak lagi vendor smartphone di dunia yang memproduksi android. Hal ini, karena android itu adalah sistem operasi yang open source sehingga bebas didistribusikan dan dipakai oleh vendor manapun.

Tidak hanya menjadi sistem operasi di smartphone, saat ini Android menjadi pesaing utama dari Apple pada sistem operasi Table PC. Pesatnya pertumbuhan Android selain faktor yang disebutkan di atas adalah karena Android itu sendiri adalah platform yang sangat lengkap baik itu sistem operasinya, Apalikasi dan Tool Pengembangan, Market aplikasi android serta dukungan yang sangat tinggi dari komunitas Open Source di dunia, sehingga android terus berkembang pesat baik dari segi teknologi maupun dari segi jumlah device yang ada di dunia [4].


(30)

2.4.1 Android SDK (Software Development Kit)

Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang di-release oleh Google. Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi-netral, Android memberi Anda kesempatan untuk membuat Aplikasi yang kita butuhkan yang bukan merupakan aplikasi bawaan Handphone/Smartphone. Beberapa fitur-fitur Android yang paling penting adalah 1. Framework aplikasi yang mendukung penggantian komponen dan

reusable.

2. Mesin Vistual Dalvik dioptimalkan untuk perangkat mobile. 3. Integrated browser berdasarkan engine open source webkit.

4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasin openGL ES 1.0 (opsional akselerasi hardware).

5. SQLite untuk penyimpanan data.

6. Media Support yang mendukung audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM telephony (tergantung hardware).

7. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware).

8. Kamera, GPS, kompas, dan accelerometer (tergantung hardware). 9. Linkungan Development yang lengkap dan kaya termasuk

perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse


(31)

2.4.2 ADT (Android Development Tools)

Android Development Tools (ADT) adalah plugin yang didesain untuk IDE Eclipse yang memberikan kita kemudahan dalam mengembangkan aplikasi android dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse akan memudahkan kita dalam membuat aplikasi project anroid, membuat GUI aplikasi, dan menambahkan komponen-komponen yang lainnya, begitu juga kita dapat melakukan running aplikasi menggunakan Android SDK melalui eclipse. Dengan ADT juga kita dapat melakukan pembuatan package android (.apk) yang digunakan untuk distribusi aplikasi android yang kita rancang.

2.4.3 Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse: Multi-platform Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.


(32)

2.5 Struktur Pesan SMS

Sturuktur pesan pada sebuah paket SMS dapat dilihat pada gambar berkut :

Gambar 2.5. Struktur Pesan SMS

Pada Gambar dapat terlihat bahwa pada sebuah paket pesan SMS terdiri dari header dan body. Header pesan terdiri dari instruksi-instruksi kepada komponen-komponen yang bekerja dalam jaringan SMS. Pada instruksi-instruksi tersebut, terdapat informasi yang diperlukan selama pengiriman pesan seperti informasi validitas pesan, dan informasi-informasi lainnya. Pada bagian message body, terdapat isi dari pengirim pesan yang akan dikirim.

Panjang isi pesan pada sebuah paket SMS berukuran maksimal 160 karakter, diman setiap karakter memiliki panjang 7 bit. Beberapa aplikasi standar telepon selular dapat mendukung panjang pesan dengan karakter sepanjang 8 bit (panjang pesan maksimum 140 karakter) dan karakter yang lebih panjang lainnya seperti 16 bit, namun karakter sepanjang 8 bit dan 16 bit ini tidak didukung oleh semua aplikasi standard telepon selular. Pada umumnya karakter sepanjang 8 bit dan 7 bit digunakan untuk menampilkan data seperti gambar dan symbol[6].


(33)

2.6 UML

Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya.UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP.UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.

UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem[7].

2.6.1 Sejarah UML

Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.


(34)

2.6.2 Diagram UML

UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu :

1. Use Case Diagram untuk memodelkan proses bisnis.

2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.

3. Secuence Diagram untuk memodelkan pengiriman pesan (message) antar objects.

4. Collaboration Diagram untuk memodelkan interaksi antar objects. 5. State Diagram untuk memodelkan perilaku objects di dalam sistem.

6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.

7. Class Diagram untuk memodelkan struktur kelas. 8. Objects Diagram untuk memodelkan struktur object. 9. Component Diagram untuk memodelkan komponen object. 10.Deployment Diagram untuk memodelkan distribusi aplikasi. 2.6.2.1 Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Sebuah use case dapat meng-include


(35)

fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dan yang lain. Penggambaran Use case diagram dapat di lihat dalam gambar 2.6 dibawah ini.

Gambar 2.6. Contoh Use Case Diagram 2.6.2.2 Activity Diagram

Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak


(36)

menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih.

Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. Contoh Activity diagram dapat di lihat pada gambar 2.7 berikut ini.

Gambar 2.7. Contoh Activity Diagram 2.6.2.3 Sequence Diagram

Sequence diagram menjelaskan secara detil urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masing-masing operasi. Contoh sequence diagram dapat di lihat pada gambar 2.8 berikut ini.


(37)

Gambar 2.8. Contoh Sequence Diagram 2.6.2.4 Class Diagram

Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukkan hubungan antar class dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan. Penggambaran class diagram dapat di lihat dalam gambar 2.9 dibawah ini.


(38)

2.7 MySql

MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar SQL (Structured Query Language) . MySQL merupakan sebuah database server yang free, artinya kita bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya.

MySQL pertama kali dirintis oleh seorang programer database bernama Michael Widenius. Selain MySQL ada beberapa program database server lain yang menggunakan standar query berupa SQL, antara lain adalah :

1. Oracle 2. PostgreSQL 3. MySQL Front 4. MsQL

5. SQL Server 6. DLL

MySQL adalah sebuah database server, dapat juga berperan sebagai client sehingga sering disebit database client/server, yang pen source dengan kemampuan dapat berjalan baik di OS (Operating Sistem) manapun, dengan Platform Windows maupun LINUX.

2.8 PhpMyAdmin

PhpMyAdmin merupakan tools open source yang dibuat menggunakan program PHP untuk mengakses database MySQL via web. Dengan menggunakan program ini kita dapat mengelolah database MySQL dengan sangat mudah.

Hampir semua operasi terhadap database dan perintah yang ada dapat dijalankan pada program tersebut, termasuk diantaranya menggunakan perintah Database Definition Language (DDL), Database Manipulation Language (DML) sertaDataControlLanguage(DCL).


(39)

29 3.1 Analisis

Analisis adalah penguraian dari suatu pembahasan, dalam hal ini pembahasan mengenai aplikasi keamanan pengiriman pesan singkat pada platform android, yang berguna untuk mengetahui apa saja yang dapat dijadikan isi dari sebuah aplikasi dan perangkat yang dapat digunakan dalam perancangan aplikasi yang akan dibuat.

3.1.1 Analisis Masalah

Dalam pembahasan kriptografi yang sedang di bahas yaitu mengenai mengamankan isi dari sebuah pesan singkat pada platform android dengan menggunakn algoritma kriptografi RC6. Berikut dibawah ini analisa rancangan dari permasalahan yang sedang di bahas :

a. Kuranganya keamanan pada saat pengiriman pesan singkat melalui SMS.

b. Memanfaatkan layanan SMS untuk mengirim pesan atau informasi yang bersifat rahasia.

3.1.2 Analisis Arsitektur Sistem

Pada Penelitian ini, Sistem menerapkan Asritektur sistem yang terdiri dari client dan server. Arsitektur sistem yang digunakan dalam merancang sistem ditunjukan pada gambar 3.1.


(40)

Gambar 3.1. Arsitektur Sistem

Aplikasi client merupakan antarmuka antara pengguna dengan sistem. Pada bagian client terdapat antarmuka untuk menulis pesan yang terenkripsi dan mendekripsi suatu pesan. Sedangkan pada sisi server berfungsi untuk membuat kunci yang dibutuhkan untuk proses enkripsi dan memberikan kunci yang sudah di buat pada saat proses enkripsi untuk melakukan proses dekripsi pesan singkat. Server bertanggung jawab dalam mengelola kunci yang dibutuhkan pada saat proses enkripsi dan dekripsi pesan singkat.

3.1.3 Analisis Komunikasi Data

Analisis komunikasi data menjelaskan cara pertukaran data antara client dan server. Dalam penelitian ini pertukaran data menggunakan teknik HTTP request, dimana aplikasi akan mengirim sebuah request pada suatu aplikasi server melalui jaringan internet lalu akan menerima response dari aplikasi server tersebut. Meka nisme komunikasi data dalam perancangan aplikasi SMS Secure dapat dilihat pada gambar 3.2.


(41)

Proses mekanisme komunikasi data dalam perancangan aplikasi dimulai dari aplikasi client yang akan mengirim request ke database server, kemudian database server pun enerima request tersebut, lalu melakukan eksekusi query. Setelah itu database server akan membuat kunci dengan format yang sudah ditentukan sebagai response yang akan diterima aplikasi client. Sehingga aplikasi client mendapatkan kunci dari database server untuk melakukan proses enkripsi. 3.1.4 Analisis Penerapan Algoritma RC6 dalam enkripsi SMS

Algoritma RC6 merupakan algoritma sederhana, fungsi yang digunakan merupakan fungsi yang sederhana dan hanya mengandalkan prinsip iterated chipper untuk keamanan. Tampilan hasil enkripsi yang diterima harus diperhatikan, hal ini dikarenakan pada data hasil enkripsi, setiap karakternya akan memiliki panjang karakter 8 bit, sedangkan sebagian telepon seluler hanya dapat menampilkan karakter dengan panjang 7 bit. Dengan demikian dalam penerapan algoritma RC6 pada SMS karakter-karakter yang akan dienkripsi diubah kedalam nilai ASCII, dimana nilai karakter dalam table ASCII ditambah table karakter special adalah 0 sampai dengan 255, artinya satu karakter ASCII akan diwakili oleh 8 bit, dimana 28 = 256. Sehingga, dalam 1 blok plainteks (32 bit) akan menyimpan 4 karakter dan setiap kali iterasi, maka akan diambil 16 karakter dari plaintext.

Apabila panjang plaintext atau panjang kunci kurang dari 16 karakter, maka akan dilakukan padding, yaitu dengan menambah bit “0” (nol) di akhir teks, sehingga panjang teks mencukupi 16 karakter. Layar pada sebagian besar telepon selular hanya dapat menampilkan karakter dengan panjang 7 bit dan pesan yang telah terenkripsi akan berbentuk binary, sehingga layar tidak akan menampilkan dengan semestinya. Oleh karena itu, pada aplikasi yang akan dibangun, untuk menampilkan pesan yang telah terenkripsi, ditambah informasi karakter yang terdapat pesan tersebut dengan format heksadesimal agar dapat ditampilkan dilayar dan informasinya lebih terbaca.


(42)

Algoritma RC6 yang akan digunakan dalam aplikasi Secure SMS yang akan dibangun dengan w sebesar 32 bit, r sebesar 20 kali putaran dan panjang kunci beragam lebih dari 1 karakter (8 bit). Langkah-lanhkah algoritma RC6 dalam Aplikasi SMS Secure ini akan dikelompokan kedalam beberapa bagian, yaitu :

1. Pembangkit Subkunci

Kunci dari pengguna ini akan dimasukan oleh pengguna pada saat akan melakukan proses enkripsi dan dekripsi. Kunci ini memiliki tipe data string.

2. Baca Masukan untuk proses enkripsi

Yang dilakukan pada tahapan ini adalah membaca teks yang menjadi masukan pada proses enkripsi,yaitu field dari aplikasi SMS Secure.pada proses enkripsi pesan, fieldnya adalah isi pesan 3. Enkripsi meliputi whitening awal, iterasi, dan whitening akhir. 4. Baca masukan untuk proses dekripsi

Yang dilakukan pada tahapan ini adalah membaca teks yang menjadi masukan pada proses dekripsi, yaitu record dari hasil pesan yang telah dienkripsi pada pengirim dan menjadi field pesan pada penerima.

5. Dekripsi merupakan kebalikan dari proses enkripsi. 3.2 Analisis Kebutuhan Sistem Non Fungsional

Analisis non-fungsional merupakan analisis yang dibutuhkan untuk menentukan spesifikasi dari kebutuhan system. Spesifikasi ini juga meliputi elemn atau komponen-komponen apa saja yang dibutuhkan untuk system yang akan dibangun sampai dengan system tersebut diimplementasikan. Analisis kebutuhan ini juga menentukan spesifikasi masukan yang diperlukan system, keluaran yang akan dibangun sampai dengan system tersebut diimplementasikan. Analisi kebutuhan ini juga menentukan spesifikasi masukan yang diperlukan system, keluaran yang akan dihasilkan system dan proses yang dibutuhkan untuk mengolah masukan sehingga menghasilkan suatu keluaran yang diinginkan.


(43)

Pada analisis kebutuhan sistem non fungsioanal ini dijelaskan analisis mengenai perangkat keras (hardware), perangkat lunak (software), dan pengguna (user) sebagai bahan analisis kekurangan dan kebutuhan yang harus dipenuhi dalam perancangan sistem yang akan diterapkan.

3.2.1 Analisis dan Kebutuhan Perangkat Keras

Berikut ini adalah spesifikasi perangkat keras minimum yang digunakan dalam pembangunan aplikasi dapat dilihat pada tabel 3.1.

Tabel 3.1. Spesifikasi Perangkat Keras Smartphone

3.2.2 Analisis Dan kebutuhan Perangkat Lunak

Analisis perangkat lunak terdiri dari spesifikasi minimum perangkat yang dibutuhkan . Berikut ini adalah spesifikasi pernagkat lunak yang digunakan dalam membangun dan mengimplementasikan aplikasi :

Tabel 3.2. Spesifikasi perangkat Lunak Smartphone

No. Spesifikasi

1 Dimensi Layar 3,5 inches 2 Resolusi 480 x 800 pixels

3 Memori 4GB

4 RAM 512 MB

5 CPU 1GHz

Komputer

No. Perangkat Lunak

1 Sistem Operasi Windows 7 32bit 2 Aplikasi IDE Eclipse Juno

3 JDK versi 1.7 dan Android SDK Windows 4 ADT versi 22.2


(44)

3.3 Analisis dan Kebutuhan Fungsional

Analisis kebutuhan fungsional menggambarkan proses kegiatan yang akan diterapkan dalam sebuah sistem dan menjelaskan kebutuhan yang diperlukan sistem agar sistem dapat berjalan dengan baik serta sesuai dengan kebutuhan. Analisis kebutuhan fungsional ini meliputi analisis kebutuhan sistem, analisis kebutuhan data dan pemodelan sistem. Pemodelan sistem dimodelkan dengan menggunakan UML (Unified Modeling Language). Tahap-tahap pemodelan dalam analisis tersebut antara lain Use Case diagram, Class Diagram, Activity Diagram, Sequence Diagram

3.3.1 Pemodelan Sistem A. Use case Diagram

Diagram Use Case merupakan bagian tertinggi dari fungsionalitas yang dimiliki sistem yang akan menggambarkan bagaimana seseorang atau aktor akan menggunakan dan memanfaatkan sistem. Diagram ini juga mendeskripsikan apa yang akan dilakukan oleh sistem. Use Case terdiri dari tiga bagian yaitu identifikasi aktor, identifikasi Use Case dan skenario Use Case.

Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri.


(45)

Gambar 3.3. Diagram Use Case 1. Identifikasi Aktor

Dalam sistem ini terdapat dua actor yaitu pengirim dan penerima, berikut adalah penjelasnnya :

Tabel 3.3. Identifikasi Aktor

No. Aktor Definisi

1 user Merupakan aktor yang menggunakan aplikasi untuk mengirim pesan singkat yang sudah terenkripsi, dan mendekripsi pesan masuk yang terenkripsi


(46)

2. Identifikasi Use Cse

Terdapat 15 Use Case dalam aplikasi ini. Setiap Use Case mengambarkan operasi-operasi yang berbeda. Identifikasi Use Case yang terdapat dalam sistem dapat dilihat pada Tabel Dibawah.

Tabel 3.4.Skenario Use Case Tulis pesan

Identifikasi

Nomor 1

Nama Tulis Pesan

Tujuan Menampilkan layar untuk menulis pesan

Deskripsi User menulis pesan pada aplikasi untuk dikirim

Aktor User

Skenario Utama

Kondisi Awal Menu Utama Aplikasi

Aksi Aktor Reaksi Sistem

1. Memilih Menu Tulis pesan

2.

2. Masuk kedalam form tulis pesan

3. 3. Mengisi semua form tulis pesan

4.


(47)

Tabel 3.5. Skenario Use Case Lakukan Enkripsi

Identifikasi

Nomor 2

Nama Lakukan Enkripsi

Tujuan Mengenkripsi pesan yang sudah di tulis

Deskripsi User mengenkripsi pesan singkat setelah form isi pesan terisi semua

Aktor User

Skenario Utama

Kondisi Awal Aplikasi menampilkan halaman tulis pesan Aksi Aktor Reaksi Sistem

1. Masuk ke halaman tulis pesan

1.

2.Menampilkan halaman tulis pesan

2. 3. Mengisi form isi pesan

4.Mengenkripsi pesan singkat

5.Menampilkan Hasil Enkripsi Kondisi Akhir Menampilkan hasil Enkripsi


(48)

Tabel 3.6. Skenario Use case Pilih Pesan

Identifikasi

Nomor 3

Nama Pilih Pesan

Tujuan Memilih pesan yang akan di dekripsi

Deskripsi User memilih pesan singkat yang akan di dekripsi yang berada di kotak masuk

Aktor user

Skenario Utama

Kondisi Awal Aplikasi menampilkan halaman kotak masuk Aksi Aktor Reaksi Sistem

1. Memilih kotak masuk

3.

2.menampilkan list pesan singkat yang masuk

4. 3. Memilih pesan singkat

5. 4. menampilkan pesan singkat

yang dipilih Kondisi Akhir Menampilkan halaman list kotak masuk


(49)

Tabel 3.7. Skenario Use Case Lakukan Dekripsi

Identifikasi

Nomor 4

Nama Lakukan Dekripsi

Tujuan Mendekripsi pesan singkat yang terenkripsi

Deskripsi User mendekripsi pesan singkat terenkripsi yang berada di list kotak masuk

Aktor user

Skenario Utama

Kondisi Awal Halaman kotak masuk

Aksi Aktor Reaksi Sistem

1. Memilih pesan singkat yang terenkripsi

6.

2.Masuk kehalaman dekripsi pesan

7. 3. Mendekripsi pesan

8. 4. menampilkan hasil dekripsi


(50)

Tabel 3.8. Skenario Use Case Kotak Masuk

Identifikasi

Nomor 5

Nama Baca Kotak masuk

Tujuan Melihat list pesan sinkat yang masuk

Deskripsi User memilih kotak masuk untuk mengetahui pesan singkat yang berada di list kotak masuk

Aktor user

Skenario Utama

Kondisi Awal Halaman utama

Aksi Aktor Reaksi Sistem

1. Memilih icon kotak masuk

9.

2.Masuk kehalaman kotak masuk


(51)

Tabel 3.9.Skenario use case Tampilkan Pesan

Identifikasi

Nomor 6

Nama Tampilkan pesan

Tujuan Untuk menampilkan pesan pada saat memilih pesan di kotak masuk.

Deskripsi User memilih pesan dan menampilkannya.

Aktor user

Skenario Utama

Kondisi Awal Halaman menu utama

Aksi Aktor Reaksi Sistem

1. Memilih icon kotak masuk

3.memilih pesan yang akan di tampilkan

2.Masuk kehalaman list kotak masuk

4.Menampilkan isi pesan yang dipilih Kondisi Akhir Halaman form sms kotak masuk


(52)

Tabel 3.10. Skenario Use Case Isi form SMS

Identifikasi

Nomor 7

Nama Isi form sms

Tujuan Menulis pesan yang akan di enkripsi

Deskripsi User mengisi form sms yang tersedia di halaman tulis pesan

Aktor user

Skenario Utama

Kondisi Awal Halamn tulis pesan

Aksi Aktor Reaksi Sistem

1. Memilih icon tulis pesan

10.

2.Masuk kehalaman tulis pesan

11.3. Mengisi form sms


(53)

Tabel 3.11.Skenario Use Case Contact List

Identifikasi

Nomor 8

Nama Lihat Daftar Kontak

Tujuan Memilih no tujuan yang suda tersimpan di handphone

Deskripsi User memilih icon contact list untuk melihat no tujuan yang berada di dalam handphone

Aktor User

Skenario Utama

Kondisi Awal Halaman tulis pesan

Aksi Aktor Reaksi Sistem

1. Memilih icon contact list

12.

2.menampilkan no tujuan yang tersimpan di handphone


(54)

Tabel 3.12. Skenario Use Case Kirim SMS

Identifikasi

Nomor 9

Nama Kirim sms

Tujuan Mengirim pesan singkat yang sudah terenkripsi

Deskripsi User mengirim pesan singkat yang sudah terenkripsi ke no tujuan yang sudah di pilih

Aktor User

Skenario Utama

Kondisi Awal Halaman tulis pesan

Aksi Aktor Reaksi Sistem

1. menekan tompbol kirim

13.

2.Mengirim pesan singkat yang terenkripsi


(55)

Tabel 3.13. Skenario Use Case Lihat Tentang

Identifikasi

Nomor 10

Nama Lihat tentang

Tujuan Menampilkan informasi tenang penulis

Deskripsi User dapat mengetahui informasi tentang penulis

Aktor user

Skenario Utama

Kondisi Awal Halaman menu utama

Aksi Aktor Reaksi Sistem

1. Memilih icon tentang

14.

2.Menampilkan halaman tentang informasi penulis


(56)

Tabel 3.14. Skenario Pilih Setting

Identifikasi

Nomor 11

Nama Pilih Setting

Tujuan Menyimpan No telepon Pemilik Handphone Deskripsi Menyimpan no telepon untuk proses generate key

Aktor user

Skenario Utama

Kondisi Awal Halaman menu utama

Aksi Aktor Reaksi Sistem

1. Memilih menu setting

15.3. Masukan no telepon dan menyimpan no telepon.

2.Menampilkan halaman setting


(57)

Tabel 3.15. Skenario Get Key

Identifikasi

Nomor 12

Nama Get Key

Tujuan Meminta kunci pada database

Deskripsi Meminta kunci ke database server untuk melakukan proses enkripsi dan dekripsi

Aktor user

Skenario Utama

Kondisi Awal Halaman Tulis Pesan

Aksi Aktor Reaksi Sistem

1. Menekan tombol Icon

16.

2. Meminta kunci ke database server dan menampilkannya


(58)

Tabel 3.16. Skenario Tampilkan Generate Pesan

Identifikasi

Nomor 13

Nama Tampilkan Generate Pesan Tujuan Menampilkan pesan

Deskripsi Menampilakn pesan yang akan di enkripsi dan yang sudah di dekripsi

Aktor user

Skenario Utama

Kondisi Awal Halaman Tulis pesan

Aksi Aktor Reaksi Sistem

1. menekan tombol bergambar kunci

17.

2.Menampilkan pesan yang terenkripsi dan terdekripsi


(59)

Tabel 3.17. Skenario Input No Telepon

Identifikasi

Nomor 14

Nama Input no telepon

Tujuan Mendaftarkan no telepon

Deskripsi Mendaftarkan no telepon pengguna aplikasi agar dapat terbaca oleh handphone

Aktor user

Skenario Utama

Kondisi Awal Halaman setting

Aksi Aktor Reaksi Sistem

1. Menampilkan halaman setting

2. Input no telepon 18.


(60)

Tabel 3.18. Skenario Simpan No Telepon

Identifikasi

Nomor 15

Nama Simpan no telepon

Tujuan Menyimpan No telepon Pemilik Handphone

Deskripsi Menyimpan no telepon agar dapat di baca oleh handphone

Aktor user

Skenario Utama

Kondisi Awal Halaman setting

Aksi Aktor Reaksi Sistem 1. Input no telepon

2. Tekan tombol save 19.

3. Menyimpan no telepon


(61)

B. Diagram Activity

Activity Diagram merupakan bagian dari penggambaran sistem secara fungsional menjelaskan proses-proses logika atau fungsi yang terimplementasi oleh kode program. Activity Diagram memodelkan event-event yang terjadi didalam suatu Use Case dan digunakan untuk pemodelan aspek dinamis dari sistem.


(62)

(63)

Gambar 3.6. Diagram Activity Lihat Tentang


(64)

C. Sequence diagram

Sequence Diagram merupakan gambaran interaksi antar masing-masing objek pada setiap Use Case dalam urutan waktu. Interaksi ini berupa pengiriman serangkaian data antar objek-objek yang saling berinteraksi.

1. Sequence Diagram Kirim Pesan


(65)

2. Sequence Diagram Baca Kotak Masuk

Gambar 3.9. Diagram Sequence Baca Kotak Masuk

3. Sequence diagram Setting


(66)

4. Sequence Diagram Pilih Pesan

Gambar 3.11. Diagram Sequence Pilih Pesan

5. Sequence Diagram Lakukan Dekripsi


(67)

6. Sequence Diagram Lakukan Enkripsi

Gambar 3.13. Diagram Sequence Lakukan Enkripsi

D. Class Diagram

Class Diagram menggambarkan struktur dan hubungan antar objek-objek yang ada pada sistem. Struktur itu meliputi atribut-atribut dan metode-metode yang ada pada masing-masing kelas. Adapun gambaran class diagram dari aplikasi SMS Secure yang dibangun dapat dilihat


(68)

Gambar 3.14. Class Diagram Aplikasi SMS Secure

3.4 Perancangan Sistem

Perancangan akan dimulai setelah tahap analisis terhadap sistem selesai dilakukan. Perancangan dapat didefinisikan sebagai proses aplikasi berbagai teknik dan prinsip bagi tujuan pendefinisian suatu perangkat, suatu proses atau sistem dalam detail yang memadai untuk memungkinkan realisasi fisiknya. Perancangan digambarkan sebagai proses multi-langkah dimana representasi struktur data, struktur program, karakteristik interface, dan detail prosedur, disintesis dari persyaratan informasi.


(69)

3.4.1 Perancangan Data

Perancangan data merupakan tahapan untuk memetakan model konseptual ke model basis data yang akan digunakan. Perancagan data dari aplikasi mobile SMS Sequre merupakan perancangan struktur tabel dari tabel key. Struktur tabel key menggambarkan detail tabel yang berisi field,tipe data,panjang data, dan keterangan lainnya. Berikut ini gambaran struktur tabel pengaturan yang terlihat pada tabel 3.15.

Tabel 3.19. Perancangan Data tbKey

3.4.2 Perancangan Struktur Menu

Perancangan struktur menu merupakan gambaran jalur pemakaian aplikasi. Perancangan struktur menu dari aplikasi secure message dapat dilihat pada gambar 3.12.

Nama Field Tipe Data Ukuran Keterangan

Iddata integer 11 Primary key dtDate date

dtTime time

No_sender varchar 12

No_receiver varchar 12


(70)

Gambar 3.15. Struktur Menu Aplikasi SMS Secure 3.4.3 Perancangan Grafis dan Antarmuka

Tahap perancangan desain bertujuan untuk mencari bentuk yang optimal dari aplikasi yang akan dibangun dengan pertimbangan faktor-faktor permasalahan dan kebutuhan yang ada pada sistem seperti yang telah ditetapkan pada tahap analisis. Dalam tahap ini upaya yang dilakukan yaitu dengan cara mengkombinasikan penggunaan teknologi perangkat keras dan perangkat lunak yang tepat sehingga diperoleh yang optimal dan mudah diimplementasikan. Perancangan grafis dan antarmuka terdiri dari satu bagian utama yaitu desain grafis dan antarmuka frontend application.


(71)

1. Form S01 halaman menu utama


(72)

2. Form S02 halamanTulis Pesan


(73)

3. Form S03 halaman Tentang


(74)

4. Form S04 Halaman Kotak Masuk


(75)

5. Form Halaman Dekripsi Pesan


(76)

6. Form Halaman Setting


(77)

3.4.4 Jaringan Semantik

Jaringan semantik merupakan gambaran pengetahuan grafis yang mana menunjukan hubungan antar objek (lingkaran) dan grafis yang menggambarkan formasi antar objek tersebut. Adapun jaringan semantik untuk mobile pada aplikasi ini dapat dilihat pada gambar 3.22

Gambar 3.22. Jaringan Semantik

Keterangan :

S01 : Halaman Menu Utama S02 : Halaman Tulis Pesan S03 : Halaman Tentang S04 : Halaman Kotak Masuk

S05 : Halaman Form Dekripsi Pesan S06 :HalamanSetting


(78)

68 4.1 Implementasi

Tahap implementasi sistem merupakan tahap penterjemahan perancangan berdasarkan hasil analisis ke dalam suatu bahasa pemrograman tertentu serta penerapan perangkat lunak yang dibangun pada lingkungan yang sesungguhnya. Adapun pembahasan implementasi terdiri dari perangkat lunak pembangun, perangkat keras pembangun, dan implementasi antarmuka.

4.1.1 Perangkat Lunak Pembangun

Perangkat lunak pembangun menjelaskan perangkat lunak yang digunakan untuk membangun aplikasi SMS Secure berbasis mobile. Adapun perangkat lunak yang digunakan untuk membangun aplikasi ini adalah sebagai berikut :

1. Java Development kit versi 6 atau 7, untuk kompilasi kode-kode program 2. Java Runtime Edition, sebagai platform untuk menjalankan sistem

3. Eclipse, sebagai perangkat lunak yang digunakan untuk membangun aplikasi client pada android

4. Android SDK, untuk pengembangan aplikasi android

5. Android Development Tool, sebagai plugin android pda eclipse

6. Android Virtual Device, sebagai emulator untuk menjalankan sistem android


(79)

4.1.2 Perangkat Keras Pembangun

Perangkat keras pembangun menjelaskan perangkat keras yang digunakan untuk membangun aplikasi SMS Secure berbasis mobile. Adapun perangkat keras yang digunakan untuk membangun aplikasi ini adalah sebagai berikut :

1. rocessor Intel dual Core 2,4 Ghz 2. Kapasitas Ram 4 GB

3. Kapasitas Hardisk 320 GB 4. Monitor

5. Keyboard dan mouse 4.1.3 Batasan Implementasi

Batasan dalam melakukan implementasi aplikasi SMS Secure berbasis mobile adalah sebagai berikut :

1. Aplikasi SMS Secure ini akan berjalan minimal pad OS Android 2.3 2. Aplikasi ini akan diimplementasikan secara online menggunakan

perangkat android yang terhubung dengan jaringan internet. 4.1.4 Implementasi Kelas

Setiap kelas pada aplikasi diimplementasikan dalam bahasa java, dimana setiap kelas utama akan diimplementasikan dalam sebuah file. Kelas yang diimplementasikan mengacu pada perancangan yang telah dilakukan


(80)

4.1.4.1 Kelas Pada Aplikasi Android

Tabel 4.1. Daftar Implementasi Kelas Aplikasi SMS Secure

Nama File Fisik Nama Kelas

a_class_HTTP_SendData.java a_class_HTTP_SendData

a_class_HTTP.java a_class_HTTP

About.java About

Baca_sms.java Baca_sms

inbox.java inbox

RC6.java RC6

setting.java setting

SMS.java SMS

Tulis_pesan.java Tulis_pesan

4.1.5 Implementasi Basis Data

Pembuatan database dilakukan dengan menggunakan aplikasi DBMS MySQL. Implementasi database dalam bahasa SQL adalah sebagai berikut :


(81)

CREATE TABLE tbkey (

idData INTEGER(11) AUTO INCREMENT dtDate VARCHAR(10) NULL,

dtTime VARCHAR(8) NULL, no_sender VARCHAR(12) NULL, no_receiver VARCHAR(12) NULL, dtKey VARCHAR(100) NULL, PRIMARY KEY (idData) );

ENGINE=Myisam

4.1.6 Implementasi Antarmuka

Implementasi antarmuka berisi pemaparan setiap tampilan aplikasi SMS Secure berbasis mobile yang dibangun sebagai layout dari masing-masing antarmuka seperti terlihat pada tabel 4.2

Tabel 4.2.Implementasi Antarmuka Aplikasi SMS Secure

No Halaman Dekripsi

1 Main Menu Halamn Berisi Menu Utama

2 Tulis Pesan Halaman Form Penulisan Pesan Dan proses Enkripsi 3 Kotak Masuk Halaman Daftar List Pesan yang Masuk

4 Tentang Halaman Berisi Biodata Peneliti 5 Form dekripsi Halaman Proses Dekripsi


(82)

1. Halaman Menu Utama

Halaman menu yang muncul pertama kali ketika membuka aplikasi, Pada tampilan menu utama terdapat 3 pilihan menu yaitu :

a) Tulis pesan b) Kotak Masuk c) Tentang

Gambar 4.1. Antarmuka halaman Menu Utama


(83)

2. Halaman Tulis pesan

Pada halaman ini aplikasi menampilkan form untuk menulis pesan dan untuk proses enkripsi pesan singkat tersebut.


(84)

3. Halaman Kotak Masuk

Pada halaman ini aplikasi menampilkan daftar pesan yang masuk baik pesan yang terenkripsi maupun pesan yang tidak terenkripsi.


(85)

4. Halaman Tentang

Pada halaman ini aplikasi menampilkan biodata peneliti atau pembuat aplikasi.


(86)

5. Halaman Form Dekripsi

Pada halaman ini aplikasi menampilkan form untuk melakukan proses dekripsi pesan singkat tersebut. Halaman ini akan muncul setelah pengguna memilih pesan yang terenkripsi yang berada di halaman kotak masuk.


(87)

6. Halaman Setting

Pada halaman ini aplikasi menampilkan form untuk mendaftarkan no telepon pengguna aplikasi ke database server.


(88)

Gambar 4.7. Gambar Tbkey


(89)

4.2 Pengujian

4.2.1 Pengujian Alpha

Untuk melakukan pengujian dari sistem yang dibangun yaitu aplikasi SMS Secure dengan platform andoroid, dibuat sebuah mekanisme pengujian yang tercantum dalam rencana pengujian yang digolongkan oleh jenis pengguna

4.2.1.1 Rencana Pengujian

Pengujian dilakukan dengan menguji setiap proses use case diagram dan kemungkinan kesalahan yang terjadi untuk setiap proses. Pengujian ini dilakukan secara black box, yaitu dilakukan dengan memperhatikan masukan sistem dan keluaran dari sistem.

a) Rencana pengujian aplikasi mobile

Tabel 4.3. Rencana pengujian aplikasi SMS Secure

No Menu yang diuji Detail Pengujian Jenis uji

1

Menu Setting Mendaftarkan no telepon pengguna aplikasi ke database server

Black box

2

Menu tulis pesan Menulis pesan dan mengenkripsi pesan serta meminta kunci ke database server

Black box

3

Menu Kotak Masuk Memilih pesan dan mendekripsi pesan singkat yang terenkripsi tersebut


(90)

4.2.1.2 Hasil Pengujian A. Setting

Tabel 4.4. Hasil Pengujian Setting

Deskripsi Prosedur Pengujian

Input Hasil Yang Di Harapkan Hasil Yang didapat Kesimpulan Pengujian Input

Input No Telepon Pengguna

No Hp

Pengguna

Dapat Menginput no telepon pada form halaman setting

Berhasil menginput no telepon pengguna pada form halaman setting

Diterima

Simpan No Telepon

No Hp

Pengguna

Menampilka n pesan jika no telepon sudah tersimpan

Muncul pesan bahwa no telepon telah tersimpan


(91)

B. Tulis Pesan

Tabel 4.5. Hasil Pengujian Tulis Pesan

Deskripsi Prosedur

Pengujian

Input Hasil Yang Di

Harapkan Hasil Yang didapat Kesimpulan Mengisi Form Tulis Pesan

Menulis Pesan Pesan yang akan dikirim

Dapat mengisi seluruh inputan di form tulis pesan

Form tulis pesan dapat terisi oleh inputan dari user

Diterima

Meminta Key Menampilkan

kunci dari database server

Kunci dari database server di dapatkan

Diterima

Enkripsi Pesan Pesan yang Akan Dikirim

Menampilkan kunci dan hasil enkripsi

Kunci untuk enkripsi didapatkan dan proses enkripsi berjalan

Diterima

Mengirim pesan

Pesan terkirim ke Penerima Penerima mendapat notifikasi pesan masuk Diterima


(92)

C. Kotak Masuk

Tabel 4.6. Hasil Pengujian Kotak Masuk

4.2.1.3 Kesimpulan Pengujian Alpha

Berdasarkan hasil pengujian aplikasi yang dilakukan maka dapat disimpulkan bahwa aplikasi SMS Secure berbasis mobile pada platform android yang dibangun sudah berjalan sesuai dengan yang diharapkan baik itu dari segi validasi maupun penanganan masalah.

Deskripsi Prosedur Pengujian

Input Hasil Yang Di Harapkan Hasil Yang didapat Kesimpulan Memilih Pesan Memilih Pesan masuk yang akan di enkripsi

Masuk ke Halaman dekripsi

Aplikasi menampilk an form dekripsi

Diterima

Deskripsi Pesan

Mendekripsi pesan masuk yang sudah terenkripsi

Menampilka n hasil dekripsi pesan

Pesan yang terenkripsi berubah menjadi pesan asli kembali


(1)

B. Tulis Pesan

Tabel 4.5. Hasil Pengujian Tulis Pesan

Deskripsi Prosedur Pengujian

Input Hasil Yang Di Harapkan Hasil Yang didapat Kesimpulan Mengisi Form Tulis Pesan

Menulis Pesan Pesan yang akan dikirim

Dapat mengisi seluruh inputan di form tulis pesan

Form tulis pesan dapat terisi oleh inputan dari user

Diterima

Meminta Key Menampilkan

kunci dari database server

Kunci dari database server di dapatkan

Diterima

Enkripsi Pesan Pesan yang Akan Dikirim

Menampilkan kunci dan hasil enkripsi

Kunci untuk enkripsi didapatkan dan proses enkripsi berjalan

Diterima

Mengirim pesan

Pesan terkirim ke Penerima Penerima mendapat notifikasi pesan masuk Diterima


(2)

C. Kotak Masuk

Tabel 4.6. Hasil Pengujian Kotak Masuk

4.2.1.3 Kesimpulan Pengujian Alpha

Berdasarkan hasil pengujian aplikasi yang dilakukan maka dapat disimpulkan bahwa aplikasi SMS Secure berbasis mobile pada platform android yang dibangun sudah berjalan sesuai dengan yang diharapkan baik itu dari segi validasi maupun penanganan masalah.

Deskripsi Prosedur Pengujian

Input Hasil Yang Di Harapkan

Hasil Yang didapat

Kesimpulan

Memilih Pesan

Memilih Pesan masuk yang akan di enkripsi

Masuk ke Halaman dekripsi

Aplikasi menampilk an form dekripsi

Diterima

Deskripsi Pesan

Mendekripsi pesan masuk yang sudah terenkripsi

Menampilka n hasil dekripsi pesan

Pesan yang terenkripsi berubah menjadi pesan asli kembali


(3)

4.2.2 Pengujian Beta

Pengujian beta dilakukan dilingkunagn pengguna tanpa kehadiran pihak pembangun aplikasi. Pengujian ini merupakan pengujian yang bersifat langsung dilingkungan yang sebenarnya. Pengguna ,elakukan penilaian terhadapaplikasi dengan menggunakan media kuisioner. Dari hasil kuesioner tersebut maka dapat ditarik kesimpulan apakah aplikasi yang dibangun telah sesuai dengan tujuan atau tidak.

4.2.2.1 Kuesioner Pengujian Beta

Kuesioner pengujian beta merupakan media yang digunakan pengguna Aplikasi SMS Secure untuk memberikan penilaian terhadap aplikasi yang dibangun. Kuesioner ini disebarkan menghunakan teknik sampling yaitu Simple Random Sampling yang disebarkan kepada banyak pengguna. Dari hasil kuesioner tersebut akan dilakukan perhitungan agar dapat diambil kesimpulan terhadap penilaian penerapan aplikasi yang dibangun. Kuesioner ini terdiri dari 6 pertanyaan. Adapun pertanyaan, jawaban, dan hasil dari kuesioner pengujian beta adalah sebagai berikut :

a. Pertanyaan

Berikut ini adalah pertanyaan yang diajukan kepada pengguna dalam melakukan pengujian aplikasi ini:

1. Apakah anda pengguna handphone ber-platform android?

2. Bagaimana Pemndapat anda terkait keamanan konten SMS yang anda miliki

3. Aplikasi ini mengurangi kemudahan anda dalam ber-SMS.

4. Bagaimana pendapat anda jika dikembangkan Palikasi untuk Merubah isi pesan.

5. Apakah aplikasi ini memberikan keamanan dalam hal konten data sms yang anda kirimkan


(4)

4.2.2.2 Hasil kuesioner

Tabel 4.7. Tabel hasil Kuisioner

No Pertanyaan Jawaban

1. Apakah Anda Pengguna Handphon Android?

YA TIDAK

10 % 6,7%

2.

Bagaimana Pendapat anda terkait

Keamanan konten SMS yang anda miliki.

a. Belum cukup aman

b. Isi pesan masih bisa dibaca oleh pihak lain

3a. aplikasi ini mengurangi

Kemudahan anda dalam ber-SMS

Sangat Setuju 1,3%

Setuju 4%

Kurang Setuju 6,7% 3b. Bagaimana pendapat anda ji

dikembangkan aplikasi untuk merubah pesan

a. Bagus, dengan adanya aplikasi tersebut diharapkan

dapat meningkatkan keamanan dalam ber-SMS

b. Tidak terlalu dibutuhkan 4. Apakah aplikasi ini memberikan

keamanan dalam hal konten data SMS yang anda kirimkan

Sangat Setuju 4%

Setuju 6,7%

Kurang Setuju 1,3% 5. Bagaimana pendapat anda

mengenai Tampilan Aplikasi ini

a. Cukup menarik b. Mudah digunakan


(5)

4.2.2.2.1 Kesimpulan Hasil Kuisioner

Kebanyakan pengguna handphone android menilai jika keamanan konten SMS yang dimiliki masing-masing pengguna belum cukup aman, dan merasa jika isi pesan masih bias di baca oleh pihak yang tidak berhak. Aplikasi ini juga mudah digunakan sehingga pengguna mudah memahami aplikasi ini. Beberapa pengguna juga menilai baik dengan adanya pengembangan mengenai aplikasi enkripsi pesan singkat.


(6)

86

5.1. Kesimpulan

Beberapa kesimpulan yang dapat penulis ambil dari penulisan skripsi dan perancangan sistem ini adalah sebagai berikut :

Dengan adanya Aplikasi enkripsi dan dekripsi sms ini user dapat menggunakan aplikasi yang lebih aman untuk pertukeran data (sms ) agar privasi pengguna lebih terjamin dan isi pesan tidak di ketahui oleh orang yang tidak berkepentingan.

5.2. Saran

Beberapa saran yang dapat penulis sampaikan dari penulisan skripsi dan perancangan sistem ini, juga berkaitan dengan pengembangan sistem selanjutnya adalah sebagai berikut:

1. Menambahkan notifikasi pada aplikasi ketika menerima sms baru untuk mempercepat dekripsi.

2. Agar Aplikasi ini lebih aman,untuk pengembangan selanjutnya pengembang merubah layout aplikasi ini dengan tidak menampilkan kunci dan hasil enkripsi maupun dekripsi.