• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
96
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

IWAN SETIAWAN

10110914

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(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

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.

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

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

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

(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

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

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

(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

(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

(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

(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

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

(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

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

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

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

(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]

(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 :

(28)

fori = r downto 1 do

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.

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

(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

(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

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

(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

(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

(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

(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

(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

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.

(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

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

(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

(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 :

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

(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

(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

(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

(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

(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

(68)

Gambar 3.14. Class Diagram Aplikasi SMS Secure

3.4 Perancangan Sistem

(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

(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

(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

(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

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

(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

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

(90)
(91)

B. Tulis Pesan

Tabel 4.5. Hasil Pengujian Tulis Pesan

Deskripsi Prosedur

Menulis Pesan Pesan yang akan dikirim

(92)

C. Kotak Masuk

Tabel 4.6. Hasil Pengujian Kotak Masuk

4.2.1.3 Kesimpulan Pengujian Alpha

(93)

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

(94)

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

(95)

4.2.2.2.1 Kesimpulan Hasil Kuisioner

(96)

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.

Gambar

Gambar 2.6. Contoh Use Case Diagram
Gambar 2.7. Contoh Activity Diagram
Tabel 3.9.Skenario use case Tampilkan Pesan
Gambar 3.5. Diagram Activity Baca Kotak Masuk
+7

Referensi

Dokumen terkait

resosialisasi/reintegrasi social. Selanjutnya tahap bimbingan lanjut. Dan terakhir adalah tahap terminasi, tahap ini merupakan tahap penghentian pelayanan sosial eks klien

Huruf kapital tidak dipakai sebagai huruf pertama nama jabatan dan pangkat yang tidak merujuk kepada nama orang, nama instansi, atau nama tempat

Dari jenis bahaya tersebut, setelah diolah dengan menggunakan prosedur Identifikasi Bahaya penilaian dan Potensi Resiko didapatkan bahaya dengan nilai tertinggi yaitu,

Upaya atau tidakan yang harus dilakukan untuk mewujudkan persepsi yang akurat terhadap harapan konsumen ke dalam desain dan standar pelayanan, akan efektif hanya bila pihak

Satriadi dan Widada (2004) menambahkan bahwa sumber-sumber material tersuspensi yang berasal dari aliran sungai berupa hasil pelapukan dari bahan organik, material

The incorporation of Epoxidized Natural Rubber also enhanced the rubber-filler interaction and tensile properties of the silica-filled Styrene Butadiene. Rubber

Selain itu, penelitian Hendiarto (2006) bertujuan untuk mengetahui peran perlakuan perpajakan Pemprov DKI dalam mendukung fungsi regulerend Pajak Air Bawah Tanah,

dengan tumpuan sendi di ujung yang satu dan rol pada ujung yang lainnya. Pembebanan dilakukan dengan menggunakan beban dua titik di sepertiga bentang yaitu sebesar 750