SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
IWAN SETIAWAN
10110914
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
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
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.
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.
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.
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
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.
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
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.
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”. .
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).
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
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
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
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] :
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
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
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
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.
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
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].
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,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
(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]
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 :
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.
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.
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
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
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.
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
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
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
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
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.
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.
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
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.
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.
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
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 :
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.
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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.
Gambar 3.6. Diagram Activity Lihat Tentang
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
2. Sequence Diagram Baca Kotak Masuk
Gambar 3.9. Diagram Sequence Baca Kotak Masuk
3. Sequence diagram Setting
4. Sequence Diagram Pilih Pesan
Gambar 3.11. Diagram Sequence Pilih Pesan
5. Sequence Diagram Lakukan Dekripsi
6. Sequence Diagram Lakukan Enkripsi
Gambar 3.13. Diagram Sequence Lakukan Enkripsi
D. Class Diagram
Gambar 3.14. Class Diagram Aplikasi SMS Secure
3.4 Perancangan Sistem
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
Gambar 3.15. Struktur Menu Aplikasi SMS Secure
3.4.3 Perancangan Grafis dan Antarmuka
1. Form S01 halaman menu utama
2. Form S02 halamanTulis Pesan
3. Form S03 halaman Tentang
4. Form S04 Halaman Kotak Masuk
5. Form Halaman Dekripsi Pesan
6. Form Halaman Setting
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
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
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
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 :
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
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
2. Halaman Tulis pesan
Pada halaman ini aplikasi menampilkan form untuk menulis pesan dan untuk proses enkripsi pesan singkat tersebut.
3. Halaman Kotak Masuk
Pada halaman ini aplikasi menampilkan daftar pesan yang masuk baik pesan yang terenkripsi maupun pesan yang tidak terenkripsi.
4. Halaman Tentang
Pada halaman ini aplikasi menampilkan biodata peneliti atau pembuat aplikasi.
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.
6. Halaman Setting
Pada halaman ini aplikasi menampilkan form untuk mendaftarkan no telepon pengguna aplikasi ke database server.
Gambar 4.7. Gambar Tbkey
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
B. Tulis Pesan
Tabel 4.5. Hasil Pengujian Tulis Pesan
Deskripsi Prosedur
Menulis Pesan Pesan yang akan dikirim
C. Kotak Masuk
Tabel 4.6. Hasil Pengujian Kotak Masuk
4.2.1.3 Kesimpulan Pengujian Alpha
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.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
4.2.2.2.1 Kesimpulan Hasil Kuisioner
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.