BAB III ANALISA DAN PERANCANGAN
3.1
Analisa Berikut tahap-tahap awal dalam pembuatan:
Gambar 3.1 Tahap awal pengerjaan Gambar di atas adalah tahapan awal dalam pengerjaan pembuatan aplikasi SMS Kriptografi ini. Hal pertama yang dilakukan yaitu mencari metode kriptografi yang akan digunakan, dalam hal ini RC6. Selanjutnya memahami cara kerja dari metode yang digunakan, dan menentukan software yang akan digunakan. Langkah selanjutnya adalah melakukan
24
pembuatan aplikasi, melakukan pengujian aplikasi, dan mencoba aplikasi di selular. Setelah mendapatkan metode yang akan digunakan, maka berlanjut ke langkah berikutnya, yaitu memahami metode dari RC6. Berikut langkahnya:
3.1.1
Cara Kerja RC6 Fungsi yang digunakan merupakan fungsi yang sederhana dan hanya mengandalkan prinsip iterated cipher untuk keamanan. Tamplian hasil enkripsi dan dekripsi yang diterima harus diperhatikan, hal ini dikarenakan pada data hasil enkripsi, setiap karakternya akan memiliki panjang 8 bit, sedangkan sebagian telepon selular 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 tabel karakter spesial 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 plainteks. Apabila panjang plainteks atau panjang kunci kurang dari 16 karakter, maka akan dilakukan padding, yaitu dengan menambah bit “0” (nol) di akhir teks, sehingga panjang teks mencukupi 16 karakter. Layar pada sebagian besar telepon selular hanya dapat menampilkan karakter dengan panjang 7 bit dan pesan yang telah terenkripsi akan berbentuk binary, sehingga panjang teks mencukupi 16 karakter. Layar pada sebagian besar telepon selular hanya dapat menampilkan karakter dengan panjang 7 bit dan pesan yang telah terenkripsi akan berbentuk binary, sehingga layar tidak akan menampilkan dengan semestinya. Oleh karena itu, pada aplikasi yang akan dibangun, untuk menampilkan pesan yang terenkripsi, ditambahkan informasi karakter yang terdapat pesan tersebut dengan format heksadesimal agar dapat ditampilkan dilayar dan informasinya lebih terbaca.
25
Algoritma RC6 yang akan digunakan dalam aplikasi enkripsi SMS dengan w sebesar 32 bit, r sebesar 20 kali putaran dan panjang kunci beragam lebih dari 1 karakter (8 bit). Langkah-langkah algoritma RC6 dalam pelaksanaan tugas akhir ini akan dikelompokkan kedalam beberapa bagian, yaitu: 1. Pembangkit Subkunci Kunci dari pengguna ini akan dimasukkan oleh pengguna pada saat akan melakukan proses enkripsi dan dekripsi. Kunci ini memiliki tipe data string dan memiliki panjang 16 byte (16 karakter). 2. Baca masukkan untuk proses enkripsi Yang dilakukan pada tahapan ini adalah membaca teks yang menjadi masukan pada proses enkripsi, yaitu field dari aplikasi enkripsi SMS. Pada proses enkripsi pesan, field-nya adalah isi pesan. 3. Enkripsi meliputi whitening awal, iterasi, dan whitening akhir. 4. Baca masukkan untuk Proses Dekripsi Yang dilakukan pada tahapan ini adalah membaca teks yang menjadi masukkan 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.1.2
Wilayah Penelitian Wilayah penelitian dari aplikasi ini adalah bagi pengguna selular berbasis android.
3.1.3
Manfaat Penelitian Membuktikan bahwa metode RC6 dapat diimplementasikan dalam mengirim ataupun menerima pesan selular berbasis android.
26
3.2
Populasi / Sample Populasi / proses pengujian aplikasi SMS ini diuji dengan dua buah selular berbasis android yang memiliki instalan / aplikasi SMS kriptografi ini.
3.3
Metode Pengembangan Metode pengembangan yang diambil dalam aplikasi ini adalah prototype yang dikarenakan aplikasi ini merupakan aplikasi skala kecil, bergantung pada user, dapat ditambahkan fitur-fitur aplikasi dan berfokus untuk meningkatkan kepuasan pengguna aplikasi ini dalam mengirim pesan.
3.4
Perancangan Flowchart
3.4.1
Perancangan Flowchart Aplikasi Proses kebutuhan aplikasi ini meliputi, pertama-tama pengguna1 dan pengguna2 akan mengintalasi aplikasi SMS kriptografi ini. Setelah itu pengguna1 membuka aplikasi tersebut dan memilih menu “Tulis Pesan”, pengguna1 menginputkan pesan, kunci dan nomor tujuan dari pengguna2. Setelah semua di input, pengguna1 menekan icon “Kunci” maka hasil dari pesan yang telah di enkripsi akan muncul dan pengguna1 menekan icon “Kirim” untuk mengirimkan pesan yang telah di enkripsi tadi ke pengguna2. Pesan yang dikirim akan dikirim ke dua lokasi yaitu “Baca Pesan” pada aplikasi dan ke inbox sms pada selular android. Pesan yang dikirim akan berwujud pesan yang sudah disandikan. Pengguna2 akan melihat isi pesan dari dua sisi, yaitu pesan pertama yang ditampilkan di inbox sms pada android yang pastinya isi pesan tidak dapat dimengerti oleh pengguna2, dan yang kedua adalah pengguna2 melihat pesan di aplikasi SMS Kriptografi tersebut dengan memilih menu “Baca Pesan” dan melihat isi pesan serta menginputkan kunci untuk menerjemahkan pesan yang disandikan menjadi pesan yang dapat dibaca oleh manusia. Berikut proses aplikasi sistem dalam menjalankan aplikasinya :
27
Gambar 3.2 Proses aplikasi sistem dalam menjalankan aplikasi Langkah pertama yang akan dilakukan adalah menginstall APK dari aplikasi ini, selanjutnya memulai aplikasi. Saat aplikasi sudah dijalankan, akan muncul 2 buah menu, yaitu “Tulis Pesan” dan “Baca Pesan”. User dapat memilih salah satu menu yang telah di sediakan. Bila user memilih “Tulis Pesan” maka user akan diminta untuk mengisi nomor tujuan, kunci, dan pesan yang akan dikirimkan. Kolom tersebut haruslah terisi, tidak boleh kosong. Setelah terisi, user menekan icon enkripsi agar pesan yang ingin di kirimkan diproses enkripsi terlebih dahulu. Hasil enkripsi akan
28
muncul dan dapat dilihat oleh user, selanjutnya user tinggal mengirimkan hasil enkripsi tersebut. Apabila user memilih “Baca Pesan”, maka user akan diminta untuk memilih pesan mana yang akan diproses. Pesan yang dipilih oleh user tersebut harus di dekripsi untuk dapat dibaca, untuk melakukan proses dekripsi user harus memasukkan kunci yang sama dengan yang dipakai saat proses enkripsi. Apabila kunci yang dimasukkan salah, maka pesan tersebut tidak dapat dibaca.
3.4.2
Perancangan Flowchart Tulis Pesan
Gambar 3.3 Flowchart Tulis Pesan
Proses dari tulis pesan ini yang pertama yaitu melakukan proses terhadap class tulis_pesan. Selanjutnya user diminta untuk mengisi nomor tujuan,
29
kunci, dan isi pesan. Textfield yang diminta untuk diisikan tidak boleh kosong, apabila kosong user diminta untuk mengisi kembali. Bila semua field sudah terisi, user dapat melakukan enkripsi. Hasil dari enkripsi akan ditampilkan sebelum dikirim ke tujuan. Selanjutnya user memilih kirim pesan agar ciphertext tersebut dikirimkan ke tujuan. Setelah selesai, user akan dikembalikan ke menu awal.
3.4.3
Perancangan Flowchart Baca Pesan
Gambar 3.4 Flowchart Baca Pesan Ketika user memilih menu “Baca Pesan”, maka akan dilakukan proses dari class baca_sms. Pesan yang sudah dipilih oleh user akan ditampilkan untuk kemudian diminta untuk memasukkan kunci yang sama pada saat proses enkripsi. Apabila kunci yang dimasukkan salah maka pesan tersebut tidak dapat dibaca. Namun, jika kunci yang dimasukkan benar,
30
maka akan ditampilkan hasil pesan yang telah didekripsi sehingga user dapat membaca pesan tersebut.
3.4.4
Perangcangan Flowchart RC6
Gambar 3.9 flowchart metode RC6 dalam aplikasi SMS Kriptografi Proses pertama yang dilakukan yaitu menginisialisasikan w, r, dan b dimana w=32, r =20, dan b=sesuai dengan input dari user. Setelah melakukan inisialisasi, dilanjutkan dengan meminta kunci yang akan dibagi menjadi 44 buah sub kunci dan disimpan pada array K[b]. Selanjutnya dilakukan pembangkitan kunci dari kunci yang telah diinput oleh user kedalam array S[2r+2] dari (2r+2)w. Setelah membangkitkan kunci, dilakukan pemanggilan 2 w(word) ke dalam register R1, dan R2. Proses register dimulai dengan counter yang diawali dari 1. Selanjutnya melakukan proses pencampuran, yaitu XOR, pergeseran ke kiri, dan penjumlahan. Setelah proses pencampuran selesai nilai counter ditambah
31
1. Saat nilai counter bertambah inilah sudah dilakukan 1 kali iterasi yang dilakukan terus menerus hingga nilai counter = r yaitu 20.
3.4.5
Perancangan Use Case Berikut adalah Use Case dari aplikasi ini :
Gambar 3.5 Use Case diagram aplikasi Keterangan : 1. Menggunakan 2 aktor, yaitu Pengirim dan Penerima. 2. Pengirim dapat mengakses Tulis Pesan yang didalamnya sudah termasuk proses enkripsi dan kirim pesan. 3. Penerima dapat mengakses inbox untuk yang didalamnya sudah termasuk proses akses ke daftar pesan dan dekripsi.
32
3.4.6
Perancangan Sequence
Gambar 3.6 Sequence diagram tulis pesan Pengirim memilih Menu, dalam hal ini yaitu tulis pesan. Setelah memilih tulis pesan, pengirim diminta untuk memasukkan kunci yang kemudian kunci tersebut diproses pada class RC6. Setelah memasukkan kunci, proses enkripsi dilakukan pada class RC6. Hasil enkripsi dari pesan kemudian ditampilkan pada tulis pesan sehingga pengirim dapat melihat pesan yang telah dienkripsi. Kemudian pengirim melakukan kirim pesan yang jika pesan telah terkirim akan muncul status pengiriman.
33
Gambar 3.7 Sequence diagram baca pesan Penerima pesan memilih menu baca pesan, yang dapat diakses melalui class inbox. Setelah pesan dipilih maka penerima akan diminta untuk memasukkan kunci yang sama dengan pengirim. Kunci yang sudah diinput kemudian dilanjutkan dengan proses dekripsi yang terjadi di class RC6. Setelah hasil dekripsi didapat, hasil tersebut akan ditujunkan kepada penerima.
34
3.4.7
Perancangan Antarmuka Proses tampilan rancangan dari aplikasi ini adalah :
Gambar 3.8 Menu awal aplikasi Keterangan : 1. Logo
: Gambar logo dari aplikasi ini
2. Tulis Pesan
: Menu untuk mengirimkan pesan
3. Baca Pesan
: Menu untuk membaca pesan
Aplikasi ini sengaja dirancang semudah mungkin, agar user tidak mendapati kesulitan saat menggunakan aplikasi. Berikut adalah rancangan tampilan dari menu “Tulis Pesan” (gambar dihalaman selanjutnya):
35
Gambar 3.9 Tampilan tulis pesan Keterangan : 1. No. Tujuan
: diisi dengan nomor tujuan
2. Kunci
: kunci yang diinput oleh user
3. Pesan
: isi pesan yang akan dikirimkan
4. Hasil
: tampilan dari pesan yang sudah di enkripsi
5. Icon Kontak
: button untuk mengambil kontak dari buku telepon
6. Icon Enkrip
: button untuk melakukan proses enkripsi
7. Icon Send
: button untuk mengirimkan hasil enkripsi
Berikut adalah rancangan tampilan dari menu “Baca Pesan” (gambar dihalaman selanjutnya):
36
Gambar 3.5 Tampilan baca sms Keterangan : 1. No. Pengirim
: berisi keterangan nomor pengirim pesan
2. Pesan
: pesan yang telah dikirimkan
3. Kunci
: kunci yang diinput oleh user
4. Hasil
: hasil dari pesan yang telah didekripsi
5. Icon Dekrip
: button yang digunakan untuk melakukan dekripsi
Rancangan ini dibuat seminimal mungkin agar dapat mempermudah user dalam penggunaan aplikasi.
3.4.8
Tahap Pengkodean Sistem Dalam tahap pengkodean, penulis menggunakan perangkat lunak eclipse untuk membangun aplikasi berbasis android serta android SDK dan android ADT Build: v21.1.0-569685 sebagai emulator android. Dengan tipe version ROM android yaitu dari 2.3.1 ke atas.
37