Bab 3 Metode dan Perancangan Sistem Dalam perancangan dan pengimplementasian perangkat lunak diperlukan perancangan sistem terlebih dahulu yang bertujuan untuk memberikan gambaran kepada pengguna tentang sistem yang akan dibuat serta memberikan informasi dan desain dari sistem tersebut. Pada bab ini akan dibahas seluruh tahap perancangan, mulai dari bahan dan materi yang dibutuhkan, metode penelitian yang digunakan serta beberapa penjelasan lainnya yang memuat tahap-tahap dalam mengerjakan penelitian.
3.1 Metode Pengembangan Sistem Prototype Model adalah metode pengembangan perangkat lunak yang banyak digunakan.Metode ini memungkinkan adanya interaksi antara pengembang sistem dengan pengguna sistem nantinya, sehingga dapat mengatasi ketidakserasian antara pengembang dan pengguna.
22
Bagan mengenai prototype model dapat dilihat pada Gambar 3.1.
Gambar 3.1 Bagan Prototype Model (Pressman, 2001)
Tahap-tahap dalam Prototype Model adalah sebagai berikut: 1.
Listen to Costumer Pada
tahap
ini
dilakukan
analisis
terhadap
permasalahan yang ada, yaitu mendapatkan data dan literatur yang terkait dengan proses, enkripsi, dekripsi menggunakan algoritma RSA dan XOR; melalui dokumen dan referensi yang ada. 2.
Build Selanjutnya setelah memperoleh data dan mengetahui proses
enkripsi dan dekripsi dengan algoritma RSA dan
XOR, langkah berikutnya adalah membuat perancangan dengan menggunakan Unified Modeling Language (UML) mengenai sistem yang akan dibangun nantinya. Selain itu
23
dilakukan pula perancangan pada user interface berupa prototype sistem. 3.
Costumer Test Pada Tahap ini dilakukan pengujian sistem, yaitu menjalankan proses implementasi sistem, dengan menguji proses enkripsi dan dekripsi pengiriman e-mail, serta melihat hasil yang diberikan apakah sudah sesuai dengan konsep RSA dan XOR.
3.2 Analisa Kebutuhan Sistem Analisa kebutuhan digunakan untuk mengetahui dan menterjemahkan semua permasalahan serta kebutuhan perangkat lunak dan kebutuhan sistem yang dibangun. Oleh karena itu, dalam tahap ini dilakukan proses pengumpulan data untuk membangun sistem. Analisa kebutuhan sistem perangkat keras dan perangkat lunak meliputi : -
Kebutuhan Perangkat keras yang akan digunakan untuk membangun aplikasi tersebut, memiliki spesifikasi: Intel core i3 2.40 GHz 2GB RAM 120 GB Harddisk
-
Perangkat lunak yang dibutuhkan yaitu Microsoft Visual Studio 2010
24
3.3 Analisa Output Sistem yang dibangun, dapat menghasilkan dua macam output yang berupa ciphertext dari file/document yang telah dienkripsi dengan menggunakan kunci public serta output berupa plaintext atau original file sebelum dienkripsi. Setelah terjadi proses dekripsi dan setelah didekripsi dengan kunci private yang telah dibangkitkan.
3.4 Analisa Perancangan Sistem Dalam perancangan sistem aplikasi, digunakan UML (Unified Modelling Language) yaitu sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. 3.4.1 Use Case Diagram Use Case Diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem yang dibangun. Sebuah use case merepresentasikan sebuah interaksi aktor atau pengguna dan penerima dengan sistem yang digunakan.
25
- Usecase diagram Pengirim
Buat kunci publik & privat
Pengirim
Enkripsi
Mengirim kunci privat via e-mail
Menambah plaintext
Menyimpan chipertext
Menghapus file
Gambar 3.2 Usecase diagram Pengirim
Gambar 3.2 Untuk menjalankan aplikasi RSA, pengirim dapat melakukan proses eknripsi yang diawali dengan membuat kunci public dan private. Setelah itu pengirim dapat menambah file yang akan dienkripsi, kemudian enkripsi file dimana data-data file akan diamankan. Setelah proses enkripsi selesai, pengirim dapat menyimpan file hasil enkripsi
26
- Usecase diagram Penerima
Mengunduh Kunci Privat
Penerima
Mengunduh Ciphertext
Dekripsi
Menambah Ciphertext
Menyimpan Plaintext
Menghapus Plaintext
Gambar 3.3 Usecase diagram penerima
Gambar 3.3 menunjukkan bahwa penerima dapat melakukan proses dekripsi, dimana dalam proses dekripsi penerima dapat melakukan 3 aktifitas yaitu menambah file, menghapus file dan menyimpan file hasil dekripsi.
3.4.2 Activity Diagram Activity diagram menggambarkan proses-proses yang terjadi mulai aktivitas dimulai sampai aktifitas berhenti. Untuk kebutuhan proses dalam sistem yang akan dibangun digambarkan pada Gambar 3.4.
27
Pengirim
Pilih menu Generate Key
Pilih Plain File
Aplikasi
Penerima
Generate Public & Private Key
Kirim kunci Private
Terima Kunci Private Proses Enkripsi
Kirim Chiper File
Terima Chiper File
\ Proses Dekripsi
Simpan Plain File
Gambar 3.4 Activity Diagram Aplikasi RSA
Gambar 3.4 menunjukkan activity diagram aplikasi RSA, di mana pada saat aplikasi dijalankan, pengirim dapat memilih menu generate key, selanjutnya aplikasi akan melakukan proses generate public dan private key. Setelah proses tersebut selesai, maka pengirim dapat melakukan proses pengiriman private key kepada penerima ataupun memilih plain file. Apabila pengirim memilih plain file, maka aplikasi akan melakukan proses enkripsi kemudian aplikasi akan mengirimkan chipper file kepada
28
penerima. Apabila penerima telah menerima private key dan chipper file, Selanjutnya aplikasi dapat melakukan proses pengiriman cipher text kepada penerima. Penerima menerima cipher key yang telah dikirim. Aplikasi melanjutkan dengan melakukan proses dekripsi. Selanjutnya aplikasi melakukan proses penyimpanan plain file. 3.4.3 Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). - Sequence Diagram Pembuatan Kunci Pengirim
Aplikasi 1: Tentukan Bit Strength
2: Tentukan Lokasi Simpan Kunci Public 3: Tentukan Lokasi Simpan Kunci Private 4: Generate Keys
5: Konfirmasi Selesai
Gambar 3.5 Sequence Diagram Pembuatan Kunci
Gambar 3.5 merupakan sequence diagram untuk proses pembuatan kunci pada aplikasi RSA untuk mengamankan e-mail. Untuk membuat kunci, penerima diminta untuk menentukan Bit Strength kemudian menentukan lokasi penyimpanan public key. Setelah itu, penerima harus menentukan lokasi penyimpanan
29
private key. Setelah lokasi penyimpanan kunci telah ditentukan, selanjutnya aplikasi akan melakukan proses generate keys. - Sequence Diagram Proses Enkripsi Pengirim
Aplikasi
1: Menentukan File & Kunci Public 2: Enkripsi 3: Simpan File 4: Konfirmasi Selesai
Gambar 3.6 Sequence Diagram Proses Enkripsi
Gambar 3.6 merupakan sequence diagram untuk proses enkripsi. Tahap pertama, pengirim diminta untuk menambahkan file yang akan dienkripsi kemudian pengirim diminta untuk memilih file dan kunci public. Setelah itu, aplikasi akan melakukan proses enkripsi untuk mengenksripsi file yang telah ditambahkan tadi. Kemudian pengirim diminta untuk menentukan lokasi penyimpanan hasil enkripsi. Apabila telah selesai, aplikasi akan memberikan konfirmasi kepada pengirim.
30
- Sequence Diagram Proses Dekripsi
Penerima
Aplikasi
1: Menentukan File & Kunci Private 2: Decrypt 3: Simpan File 4: Konfirmasi Selesai
Gambar 3.7 Sequence Diagram Proses Dekripsi
Gambar 3.7 merupakan sequence diagram untuk proses dekripsi. Tahap pertama, penerima diminta untuk menambahkan file yang akan didekripsi kemudian penerima diminta untuk menentukan file dan kunci private untuk mendekripsi file yang telah ditambahkan. Setelah itu, penerima diminta untuk menentukan lokasi penyimpanan hasil dekripsi. Apabila proses tersebut telah selesai, maka aplikasi akan memberikan konfirmasi kepada penerima. 3.4.4 Class Diagram Class diagram adalah sebuah spesifikasi yang jika dilakukan proses instansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Instansiasi adalah proses pembuatan Object dari suatu Class pada konsep
Bahasa
OOP.
Class
menggambarkan
keadaan
(atribut/properti) suatu sistem, sekaligus menawarkan layanan
31
untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Gambar 3.8 Class Diagram Proses Enkripsi dan Dekripsi program
3.5 Perancangan Interface Perancangan interface merupakan suatu rancang bangun dari interaksi user (pengguna) dan komputer. Perancangan ini dapat berupa input data maupun output data untuk menampilkan informasi kepada user.
32
Kebutuhan interface yang dibuat bersifat user friendly dengan tujuan agar program yang telah dibangun dapat digunakan dengan mudah oleh pengguna. Karena program yang dibangun dimaksudkan untuk user yang memiliki pengetahuan tentang penggunaan komputer yang beragam, maka interface yang digunakan akan dilengkapi dengan pilihan bantuan yang berisi petunjuk penggunaannya. 3.5.1 Rancangan Menu Utama 2
3
4
1 Gambar 3.9 Rancangan Halaman utama
Gambar 3.9 menunjukkan rancangan form awal sistem yang akan dibuat, secara sederhana dapat dijelaskan sebagai berikut : 1.
Bagian bernomor 1 adalah form utama, yang diberi gambar sebagai background/picture box.
2.
Bagian bernomor 2 adalah tombol file. Tombol ini adalah tombol untuk memanggil form encrypt dan form decrypt.
33
3.
Bagian bernomor 3 adalah tombol keys. Tombol ini berfungsi untuk melakukan proses pembuatan public keys dan
private keys. 4.
Bagian bernomor 4 merupakan tombol help, yang berisikan bantuan petunjuk penggunaan aplikasi serta
about
program. 3.5.2 Rancangan Form Pembuatan Kunci
1
2 3
4
5
Gambar 3.10 Rancangan Form Pembuatan Kunci
Gambar 3.10 merupakan rancangan form pembuatan kunci yang nantinya akan digunakan untuk proses enkripsi dan dekripsi. Berikut ini merupakan penjelasan dari Gambar 3.10. 1.
Bagian bernomor 1 adalah tombol Bit Strength yang berfungsi sebagai pilihan kekuatan bitrate yang akan dipakai dalam pembuatan kunci.
34
2.
Bagian bernomor 2 adalah tombol Public Key yang berfungsi
sebagai
pembuatan
kunci
public
dan
penyimpanan kunci public tersebut. 3.
Bagian bernomor 3 adalah tombol Private Key yang berfungsi
sebagai
pembuatan
kunci
private
dan
penyimpanan kunci private tersebut. 4.
Bagian bernomor 4 adalah tombol Generate yang berfungsi untuk membangkitkan pembuatan kunci public dan kunci kunci private yang telah dibuat tersebut.
5.
Bagian bernomor 5 adalah tombol Close yang berfungsi untuk keluar dari form create key.
3.5.3 Rancangan Form Proses Enkripsi 1
2
3
4 5 6
7 8 9 10 11
Gambar 3.11 Rancangan Form Proses Enkripsi
35
Gambar 3.11 Merupakan rancangan form proses enkripsi pada file yang akan diamankan. Gambar 3.11 dijelaskan sebagai berikut: 1.
Bagian bernomor 1 adalah tombol Add File yang berfungsi untuk pilihan untuk menambah file yang akan dienkripsi.
2.
Bagian bernomor 2 adalah tombol Removed Selected yang berfungsi untuk meremove atau membatalkan file yang akan dienkripsi.
3.
Bagian bernomor 3 adalah Picture box yang berisikan sejumlah keterangan dari file yang akan dienkripsi, di dalamnya berisikan Name, size, full path, elapsed time, result size, encryption, chiper file path..
4.
Bagian bernomor 4 adalah tombol set public key yang berfungsi untuk memanggil kunci public yang telah dibuat dan dibangkitan tadi utnuk melakukan proses enkripsi pada file.
5.
Bagian bernomor 5 adalah tombol select folder yang berfungsi untuk memilih lokasi penyimpan bagi file yang akan dienkripsi.
6.
Bagian bernomor 6 adalah tombol encrypt now yang berfungsi untuk mengeksekusi proses enkripsi pada file.
7.
Bagian bernomor 7 adalah kolom from E-mail account yang berisi inputan text dari user untuk memasukan alamat E-mail pengirim (dalam hal ini hanya berupa account
36
Gmail) yang berguna dalam melakukan proses pengiriman E-mail. 8.
Bagian bernomor 8 adalah kolom password yang berisi inputan text dari user untuk memasukan password Gmail yang telah di input pada kolom no.7 tadi. Berguna dalam kelancaran proses pengiriman E-mail.
9.
Bagian bernomor 9 adalah kolom to E-mail address yang berisi inputan text dari user untuk memasukan alamat Email tujuan (dalam hal ini e-mail dapat berupa Gmail, Yahoo, ataupun jasa penyedia layanan E-mail lainnya) yang berguna dalam melakukan proses pengiriman E-mail.
10.
Bagian bernomor 10 adalah kolom yang berisi inputan text dari user untuk memasukan subject pada yang berguna sebagai pemberi topik E-mail, fungsinya sama seperti fungsi subject dalam E-mail pada umumnya yakni untuk mempejelas kiriman E-mail dari si pengirim ke si penerima E-mail.
11.
Bagian bernomor 11 adalah tombol send yang berfungsi untuk mengeksekusi proses pengiriman E-mail.
37
3.5.4 Rancangan Form Proses Dekripsi
1
2
3
4 5 6
Gambar 3.12 Rancangan Form Proses Dekripsi
Gambar 3.12 merupakan rancangan form proses dekripsi. Rancangan form proses dekripsi ini hampir sama dengan rancangan interface proses enkripsi, hanya saja dalam rancangan interface proses dekripsi tidak terdapat kolom pengiriman e-mail. Keterangan pada Gambar 3.12 dijelaskan sebagai berikut: 1.
Bagian bernomor 1 adalah tombol Add File yang berfungsi sebagai pilihan untuk menambah file yang akan telah terenkripsi dan disimpan dalam chiper file path.
38
2.
Bagian bernomor 2 adalah tombol Removed Selected yang berfungsi untuk remove atau membatalkan file yang akan didekripsi.
3.
Bagian bernomor 3 adalah Picture box yang berisikan sejumlah keterangan dari file yang akan didekripsi, didalamnya berisikan name, size, full path, elapsed time, result size, decryption, chiper file path..
4.
Bagian bernomor 4 adalah tombol set privat key yang berfungsi untuk memanggil kunci private yang telah dibuat dan dibangkitan tadi untuk melakukan proses dekripsi pada file.
5.
Bagian bernomor 5 adalah tombol select folder yang berfungsi untuk memilih lokasi penyimpan bagi file yang akan didekripsi.
6.
Bagian bernomor 6 adalah tombol decrypt now yang berfungsi untuk mengeksekusi proses dekripsi pada file.