BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM
3.1 Analisis Kebutuhan Aplikasi KriptoSMS ini digunakan untuk mengirim dan menerima pesan. KriptoSMS akan mengenkripsi pesan yang akan dikirim menjadi ciphertext dan KriptoSMS akan mendekripsi pesan masuk berupa ciphertext menjadi plaintext. Dalam membangun aplikasi KriptoSMS, diperlukan batasan yang jelas sebagai tujuan utamanya agar tidak keluar dari rencana yang telah ditetapkan. Beberapa kebutuhan sistem yang akan didefinisikan antara lain : 1. Memiliki kemampuan untuk mengirimkan dan menerima pesan. 2. Memiliki kemampuan untuk mengenkripsi pesan yang akan dikirim dengan password atau kata kunci yang telah dimasukkan oleh pengirim. 3. Memiliki kemampuan untuk mendekripsi pesan yang diterima dengan terlebih dahulu memasukkan kata kunci. 4. Memiliki kemampuan untuk menyimpan pesan yang sudah diterima sebelumnya di dalam kotak masuk (inbox) sehingga memungkinkan penerima untuk membaca ulang isi pesan di lain waktu. 5. Menampilkan output berupa pesan asli yang telah didekripsi.
3.1.1 Software Requirement Spesification (SRS) Spesifikasi kebutuhan perangkat lunak yang akan dikembangkan di KriptoSMS dapat dilihat di table di bawah.
27
28 Tabel 3.1 Spesifikasi Kebutuhan Perangkat Lunak No
SRS ID
Deskripsi
1
SRS – KSMS – 01 Menerima input berupa no. tujuan, pesan dan password
2
SRS – KSMS – 02 Mengubah pesan dan password ke kode ASCII
3
SRS – KSMS – 03 Mengenkripsi pesan menggunakan key (password) yang telah diinputkan
4
SRS – KSMS – 04
Mengirimkan pesan dan memberikan laporan kepada pengirim bahwa pesan telah dienkripsi dan dikirim ke no.tujuan
5
SRS – KSMS – 05
Memberikan no.pengirim kepada penerima
6
SRS – KSMS – 06
Menyisipkan pesan ke dalam inbox penerima
7
SRS – KSMS – 07 Mendekripsi ciphertext menggunakan key (password) yang telah diinputkan
8
SRS – KSMS – 08 Mengubah pesan dari kode ASCII ke karakter
9
SRS – KSMS – 09
Menampilkan pesan yang telah didekripsi kepada penerima
29 3.2 Mekanisme Kerja Sistem Aplikasi KriptoSMS ini merupakan aplikasi yang digunakan untuk mengirimkan pesan teks yang bersifat rahasia dimana isi dari pesan teks tersebut tidak akan mudah diketahui oleh pihak lain yang tidak berhak. Mekanisme kerja program aplikasi ini terbagi menjadi 2 bagian, yaitu proses enkripsi dan dekripsi. •
Proses Enkripsi Proses enkripsi akan dilakukan jika program sudah menerima inputan berupa pesan dan password yang akan digunakan untuk mengenkripsi pesan. Mekanisme enkripsi yang dilakukan adalah sebagai berikut : 1. Plaintext dibagi menjadi blok-blok dengan panjang blok adalah panjang key yang digunakan. 2. Setiap pemrosesan blok-i akan memiliki key Ki masing-masing yang dibangkitkan berdasarkan blok i-1 sebelumnya. Key Ki merupakan hasil Vigenere cipher plainteks blok sebelumnya (plainteks Pi-1) dengan menggunakan key Ki-1. Khusus untuk blok pertama, key-nya adalah key masukan pengguna. 3. Setiap blok plainteks-i (Pi) akan di-enkripsi terlebih dahulu dengan menggunakan algoritma Caesar Cipher. Besar pergeseran Caesar cipher-nya ditentukan berdasarkan key masing-masing blok (Ki) dengan fungsi generate nya adalah : Nilai Caesar = (Ki karakter1 + Ki karakter2 + ... + Ki karakter-n ) mod 95 4. Hasil enkripsi Pi tadi akan dienkripsi menggunakan Vigenere cipher untuk membentuk Cipherteks blok-i (Ci) , key yang digunakan adalah Ki.
30
Gambar 3.1 Contoh Mekanisme Enkripsi
•
Proses Dekripsi Proses dekripsi akan dilakukan jika program sudah menerima chipertext hasil enkripsi dan password yang diinput yang akan digunakan untuk mendekripsi pesan. Mekanisme dekripsi yang dilakukan adalah sebagai berikut : 1. Ciphertext dibagi menjadi blok-blok dengan panjang blok adalah panjang key yang digunakan. 2. Setiap pemrosesan blok-i akan memiliki key Ki masing-masing yang dibangkitkan berdasarkan blok i-1 sebelumnya. Key Ki merupakan hasil Vigenere cipher plainteks blok sebelumnya (plainteks Pi-1) dengan menggunakan key Ki-1. Khusus untuk blok pertama, key-nya adalah key masukan pengguna.
31 3. Setiap ciphertext blok-i (Ci) akan didekripsi menggunakan Vigenere cipher, key yang digunakan adalah Ki. 4. Hasil dekripsi yang diperoleh di langkah-3 akan didekripsikan Caesar Ciphernya dengan nilai Caesar Ciphernya adalah sama dengan pada fungsi enkripsi yang pada akhir langkah ini akan terbentuk blok plainteks-i (Pi)
Gambar 3.2 Contoh Mekanisme Dekripsi
32 3.3 Pemodelan Fungsional 3.3.1 Data Context Diagram Pendefinisian dengan Data Context Diagram (DCD) atau DFD level 0 memberikan data yang mengalir antara sistem dengan lingkungan yang digambarkan secara global. DCD dapat dilihat pada gambar 3.3.
Gambar 3.3 DCD Aplikasi Perangkat Lunak KriptoSMS Pada gambar 3.3 menjelaskan bahwa pengirim menginputkan pesan, password dan nomor tujuan kepada sistem. Sistem memberikan output berupa laporan pesan terkirim kepada pengirim. Penerima menginputkan password kepada sistem dan sistem memberikan output berupa pesan dan nomor pengirim kepada penerima.
3.3.2 Data Flow Diagram Dari Data Context Diagram yang diperlihatkan pada gambar 3.3, dapat dibuat diagram alir data (Data Flow Diagram) yang merupakan penjelasan lebih rinci dari DCD pada setiap tahapan. DFD dapat dilihat pada gambar 3.4.
33
Gambar 3.4 DFD level 1 Aplikasi Perangkat Lunak KriptoSMS Gambar 3.4 merupakan DFD level 1 dari aplikasi perangkat lunak KriptoSMS. Pada DFD level 1, sistem akan dipecah menjadi proses-proses kecil sehingga dapat menjelaskan proses-proses dan arus data yang mengalir dalam sistem. Proses-proses yang terdapat dalam DFD level 1 adalah : 1. Transformasi kode ASCII Proses ini melakukan transformasi pesan dan password ke dalam kode ASCII. 2. Enkripsi
34 Proses ini melakukan pengenkripsian pesan dengan metode enkripsi modifikasi vigenere cipher dengan key sesuai dengan password yang diinputkan. 3. Pengiriman pesan Proses ini melakukan pengiriman pesan yang telah dienkripsi dan memberikan laporan pengiriman kepada pengirim bahwa pesan telah dienkripsi dan dikirimkan ke nomor yang telah diinputkan. 4. Dekripsi Proses ini melakukan pendekripsian pesan sesuai dengan password yang diinputkan. Apabila password benar maka ciphertext akan menjadi pesan asli. Jika password salah pesan akan tetap didekripsi akan tetapi pesan yang didapat bukan pesan asli. Ini dikarenakan key yang dipakai untuk mendekripsi ciphertext salah.
35 3.2.3 Flowchart Proses
Gambar 3.5 Flowchart Proses
36 3.4 Perancangan Program Berikut beberapa software yang digunakan dalam merancang program : 1. Java SE version 1.6 2. Android SDK (Software Development Kit) 3. JDK (Java Development Kit) 4. Java 5. Netbeans 7.0
3.5 Rancangan Layar 3.5.1 Rancangan Layar Utama
New Message Inbox About
Exit
Gambar 3.6 Rancangan Layar Utama Pada rancangan layar utama, user dapat memilih 4 menu, yaitu : menu “New Message”, menu “Inbox”, menu “About”, dan menu “Exit”. Menu “New Message”
37 berfungsi untuk membuat pesan baru, menu “Inbox” berfungsi untuk membuka dan membaca pesan yang sudah diterima sebelumnya, menu “About” berfungsi untuk melihat ringkasan deskripsi tentang program tersebut, dan menu “Exit” berfungsi untuk keluar dari program.
3.5.2 Rancangan Layar “New Message”
To… Password… Message…
Send
Back
Gambar 3.7 Rancangan Layar “New Message” Layar “New Message” akan ditampilkan jika user menekan tombol “New Message” pada layar utama. Pada layar ini, user diharuskan untuk mengisi setiap kolom yang telah disediakan sebelum mengenkripsi pesan dan mengirimnya ke penerima pesan yang dituju. Kolom yang tersedia terdiri dari kolom untuk mengisi nomor tujuan penerima, kolom untuk mengisi password sebagai kunci enkripsi, dan kolom untuk mengisi pesan yang ingin dikirimkan.
38 Setelah semua kolom sudah terisi dan user menekan tombol “send”, makan pesan akan dienkripsi dan secara langsung akan dikirim ke penerima sesuai dengan nomor tujuan yang terisi. Sebaliknya, jika user menekan tombol “Back”, maka tampilan akan kembali ke layar utama seperti pada gambar 3.6.
3.5.3 Rancangan Layar “Inbox”
From : Date… Time… From : Date… Time…
Back
Gambar 3.8 Rancangan Layar “Inbox” Jika user menekan tombol “inbox”, maka program akan menampilkan pesanpesan yang sudah diterima sebelumnya. Di sini user dapat memilih pesan mana yang ingin didekripsi dan dibaca. User hanya perlu menekan pesan yang ingin dibaca saja untuk membuka isi pesan tersebut. Sedangkan, jika user menekan tombol “Back”, maka tampilan akan kembali ke layar utama seperti pada gambar 3.6.
39 3.5.4 Rancangan Layar Isi Pesan
From : … Chiper Text… Password… Decrypt Plain Text…
Back
Gambar 3.9 Rancangan Layar Isi Pesan Ketika user sudah memilih pesan mana yang akan dibaca, maka akan muncul tampilan seperti pada gambar 3.9. Pada kolom “From : “ akan tercantum nomor atau nama pengirim pesan tersebut dan pada kolom “Chiper Text…” akan ditampilkan pesan yang masih berupa chiper text hasil enkripsi dari pesan asli dengan password yang dimasukkan. Untuk membaca isi pesan yang asli, maka user harus memasukkan password pada kolom “password”, kemudian menekan tombol “Decrypt”. Setelah itu, secara otomatis kolom “Plain Text…” akan terisi dengan plain teks yang dihasilkan dari deskripsi antara chiper teks yang dikirimkan dengan password yang dimasukkan. Kolom “Plain Text…” inilah yang nantinya akan menampilkan pesan asli yang ingin disampaikan oleh pengirim jika password yang dimasukkan oleh penerima benar.
40 Dan jika user menekan tombol “Back” maka program akan kembali ke tampilan sebelumnya seperti pada gambar 3.6.
3.5.5 Rancangan Layar “About” KriptoSMS Aplikasi ini dirancang untuk mengirim dan menerima pesan rahasia antaruser, dimana informasi atau isi dari pesan tersebut akan tidak mudah diketahui oleh pihak yang tidak berhak.
Dirancang oleh : Bob Kristiawan Mathematics and Computer Science Binus University 2012
Back
Gambar 3.10 Rancangan Layar “About” Layar ini memberikan sedikit penjelasan tentang program “KriptoSMS”.