BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Masalah
Jika A dan B mengirim sebuah pesan rahasia menggunakan algoritma kriptografi simetris, maka harus disepakati kunci yang akan digunakan, kunci tersebut nantinya
dipakai untuk enkripsi dan dekripsi. Oleh sebab itu proses pertukaran kunci harus sangat dijaga keamanan nya. Jika ada pihak C yang mengetahui proses percakapan
pada saat A dan B menyepakati kunci yang digunakan, maka C akan dengan mudah untuk mendekripsikan cipherteks dengan kuci tersebut.
Aplikasi yang akan dirancang terdiri dari dua buah algoritma yaitu Rijndael dan RSA. Utuk melakukan pengamanan data dilakukan dengan dua tahapan yaitu
tahapan enkripsi plainteks dengan menggunakan algoritma simetris dan kemudian tahap enkripsi kunci simentris session key dengan menggunakan kunci publik, hal ini
bertujuan untuk menjaga kerahasiaan kunci.
3.2. Analisis Sistem
Sebelum merancang sebuah sistem, perlu dilakukan analisis terlebih dahulu agar proses pembuatan sistemnya menjadi lebih mudah dan terarah. Tahapan analisis
sistem merupakan tahapan yang sangat penting karena kesalahan di dalam tahapan ini akan menyebabkan kesalahan pada tahapan selanjutnya. Analisis juga bertujuan untuk
melihat kebutuhan yang dibutuhkan oleh sistem yang akan dibuat serta menentukan kegiatan yang harus dilakukan oleh sistem sehingga menghasilkan output seperti yang
diharapkan oleh user.
Universitas Sumatera Utara
3.2.1. Analisis kebutuhan perangkat lunak
Fitur-fitur utama yang disediakan perangkat lunak antara lain:
1. Fitur Encrypt
Perangkat lunak yang dibangun memiliki fitur enkripsi untuk memulai tahapan enkripsi terhadap plainteks dan cipherteks. Didalam fitur enkripsi ini terdapat
buttonopen, button enkripsi plainteks, button enkripsi sessionkey, button savefile. Button open berfungsi untuk membuka file di dalam folder yang akan
diamankan atau bisa langsung melakukan penginputan plainteks pada form input plainteks. Button enkripsi plainteks berfungsi untuk menjalankan
enkripsi setelah memasukkan key yang diinginkan. Button enkripsi sessionkey berfungsi untuk mengekripsiskan sessionkey menggunakan kunci publik yang
telah disimpan atau dibangkitkan. Button SaveFile berfungsi untuk menyimpan file cipherteks dan cipherkey ke dalam folder yang diinginkan.
2. Fitur dekripsi
Perangkat lunak yang dibangun memiliki fitur dekripsi untuk memulai tahapan dekripsi cipherteks dan cipherkey. Di dalam fitur dekripsi ini terdapat button
open, button dekripsi cipherteks, button dekripsi cipherkey, button SaveFile. Button Open berfungsi untuk membuka file yang telah terenkripsi sebelumnya
di dalam folder. Button dekripsi cipherkey berfungsi untuk menjalankan dekripsi dengan menggunakan privetkey. Button dekripsin cipherteks berfungsi
untuk mendekripsikan cipherteks dengan menggunakan sessionkey hasil dekripsi. Button SaveFile berfungsi untuk menyimpan file kedalam folder yang
diinginkan.
3. Fitur pembangkitan kunci RSA
Pada perangkat lunak yang dibangun terdapat fitur pembangkitan kunci RSA secara acak, untuk menghasilkan kunci privat dan kunci publik. Pada saat
button enkripsi digunakan, maka sistem akan secara otomatis membangkitkan pasangan kunci RSA.
Universitas Sumatera Utara
3.2.2. Analisis kebutuhan fungsional dan non-fungsional sistem
Kebutuhan fungsional yang harus dipenuhi agar sistem berjalan dengan lancar: 1.
Sistem dapat membuka file apabila file yang diambil dari dalam folder adalah file berupa .txt.
2. Sistem dapat melakukan enkripsi plainteks dengan menggunakan algoritma
Rinjdael dan
melakukan enkripsi terhadap sessionkey dengan
menggunakan kunci publik RSA. 3.
Sistem dapat melakukan dekripsi cipherteks dengan menggunakan algoritma Rinjdael
dan melakukan dekripsi cipherkey dengan
menggunakan kunci publik RSA. 4.
Sistem mampu melakukan pembangkitan kunci yang kemudian menyimpan kunci yang telah dibangkitkan
5. Sistem dapat menyimpan file yang dienkripsi dan didekripsi dalam bentuk
file .txt. 6.
Sistem dapat melakukan reset terhadap file dan key yang telah diinputkan untuk menggantikan file dan key yang baru.
Kebutuhan non-fungsional terhadap sistem adalah: 1.
Sistem yang dibangun memiliki interface yang menarik dan mudah dimengerti oleh user.
2. Sistem yang dibangun tidak membutuhkan banyak biaya karena tidak
menggunakan perangkat keras sebagai pendukung. 3.
Sistem dapat dikembangkan lebih lanjut agar mencapai bentuk yang lebih sempurna.
Universitas Sumatera Utara
3.3.Perancangan Sistem
Perancangan sistem merupakan tahapan untuk membangun kerangka sistem yang akan dibuat. Tahapan ini nantinya akan menghasilkan gambaran dasar dari sistem yang
akan dibangun. Perancangan dilakukan berdasarkan hasil analisis yang telah dilakukan pada bab sebelumnya.
3.3.1. Skema kosep dasar perancangan sistem
Berikut ini adalah diagram konsep yang akan dilakukan pada tugas akhir ini, diagram konsep ini akan mempermudah dalam perancang sistem yang akan dibuat. Pada tahap
awal plainteks terlebih dahulu diproses dengan menggunakan algoritma Rijndael untuk melakukan enkripsi terhadap plainteks kemudian dilanjutkan dengan enkripsi
terhadap sessionkey menggunakan algoritma RSA. Hasil akhir dari proses ini akan menghasilkan cipherteks dan cipherkey.
Gambar 3.1 Konsep Perancangan Proses Pengamanan Plainteks dan Sessionkey [Sadikin, 2012]
Universitas Sumatera Utara
Untuk proses dekripsi, langkah pertama adalah mendekripsi cipherkey terlebih dahulu dengan menggunakan kunci privat pada algoritma RSA untuk mendapatkan
kembali sessionkey dan kemudian mendekripsikan cipherteks untuk memperoleh pesan asli. Langkah proses dekripsi dapat dilihat pada Gambar 3.2 berikut.
Gambar 3.2 Konsep Perancangan Proses Pendekripsian Plainteks dan Session key [Sadikin, 2012]
3.3.2. Dekripsi umum parangkat lunak
Perangkat lunak yang dibangun mampu melakukan enkripsi dan dekripsi terhadap file teks dan sessionkey yang dihasilkan oleh algoritma kunci simetris.
Data yang bekerja dalam sistem perangkat lunak yang dibangun yaitu: 1.
Plainteks yaitu file sesungguhnya yang masih dalam bentuk tulisan seperti pada
umumnya. 2.
Sessionkey yaitu kunci simetri yang akan dipertukarkan dan digunakan untuk enkripsi
plainteks dan dekripsi cipherteks. Sessionkey selanjutnya akan dienkripsi untuk menjaga kerahasiaannya.
Universitas Sumatera Utara
3. Cipherteks
yaitufile yang telah disandikan menjadi bentuk yang tidak terbaca. 4.
Cipherkey yaitu kunci simetri sessionkey yang telah disandikan kedalam bentuk
yang sulit dimengerti.
3.3.3. Rancangan proses kerja sistem secara umum
Dalam penerapannya pengirim akan melakukan enkripsi terhadap plainteks dengan menggunakan sessionkey kemudian mengenkripsikan kembali sessionkey tersebut agar
tetap terjaga kerahasiaannya dengan menggunakan kunci publik penerima. Untuk proses dekripsi penerima pesan terlebih dahulu mendekripsikan pesan cipherkey yang
diterima dengan menggunkan kunci privat yang dimilikinya untuk mendapatkan kembali sessionkey. Setelah sessionkey diperoleh kemudian akan dilakukan dekripsi
cipherteks untuk mendapatkan plainteks. Rancangan proses kerja sistem secara umum dapat dilihat pada Gambar 3.3.
Gambar 3.3 Rancangan ProsesKerja Sistem SecaraUmum
Universitas Sumatera Utara
3.4. Diagram Alir Flowchart
Flowchart adalah rangkain bagan yang menggambarkan urutan suatu proses kegiatan dalam mencapai tujuan yang diinginkan. Untuk Flowchart proses enkripsi Rijndael
dapat dilihat pada gambar 3.4.
Gambar 3.4 Flowchart Proses Enkripsi Plainteks pada Algoritma Rijndael
Universitas Sumatera Utara
Flowchart proses dekripsi ciphertek pada algoritma Rijndael seperti Gambar 3.5.
Gambar 3.5 Flowchart Proses Dekripsi Cipherteks pada Algoritma Rijndael
Universitas Sumatera Utara
Flowchart pembangkitan kunci privat dan kunci publik pada algoritma RSA dapat dilihat pada Gambar 3.7.
Gambar 3.6Flowchart Pembangkitan Kunci Publik dan Privat Algoritma RSA
Universitas Sumatera Utara
Flowchart proses enkripsi sessionkey dengan algoritma RSA dapat dilihat pada Gambar 3.8.
Gambar 3.7 Flowchart Enkripsi Sessionkey pada Algoritma RSA
Universitas Sumatera Utara
Flowchart proses dekripsi cipherkey dengan menggunakan kunci privat pada algoritma RSA dapat dilihat pada Gambar 3.9.
Gambar 3.8 Flowchart Proses Dekripsi Cipherkey pada Algoritma RSA
Selesai
Ubah bentuk ASCII menjadi klarakter asli
Mulai
Cipher-key, kunci privat
m
i
= C
i d
mod n
Sessionkey Plainteks dalam bentuk
ASCII
Universitas Sumatera Utara
Flowchart gambaran umum sistem ini menggambarkan proses yang terjadi pada sistem secara umum.
Gambar 3.9 Flowchart Gambaran Umum Sistem
Universitas Sumatera Utara
3.5.Use Case Diagram
Use Case Diagram adalah diagram pemodelan setiap aspek dan kegiatan didalam sebuah sistem. Selain itu use case diagram juga menggambarkan semua aktor yang
melakukan aktifitas didalam sistem.
Gambar 3.10 Use Case Diagram pada Sistem Enkripsi Rijndael dan RSA
Use case diagram yang ditunjukan pada Gambar 3.10 memiliki dua aktor yang terlibat yaitu pengirim pesan dan penerima pesan. Pengirim pesan berperan melakukan
enkripsi terhadap plainteks dan cipherteks. Penerima pesan berperan melakukan dekripsi terhadap cipherkey dan cipherteks. Untuk lebih jelas dapat dilihat pada Tabel
kegiatan Use Case.
Universitas Sumatera Utara
Untuk tabel kegiatan Use Case enkripsi plainteks dijabarkan pada tabel 3.1. Tabel tersebut menjelaskan setiap kegiatan user pada saat melakukan proses enkripsi
serta respon sistem terhadap perintah user.
Table 3.1 Kegiatan Use Case Enkripsi Plainteks
Nama use case Enkripsi plainteks
Aktor User
Deskripsi Use case ini akan melakukan enkripsi terhadap data teks
Kondisi awal User 1 belum mengenkripsi file teks
Kondisi akhir
File telah terenkripsi dan disimpan di dalam folder penyimpanan
Kegiatan User Respon sistem
Success Scenario
1. memilih menu enkripsi.
2. memilihbuttonopen file.
3. memilih file yang akan
dienkripsikan.
4. mengimputkansessionke
y 16 byte.
5. Menekan button encrypt.
6. Menekan button save
untuk menyimpan file hasil enkripsi.
1. Sistem menampilkan menu
enkripsi.
2. Sistem menampilkan kotak
dialog lokasi penyimpanan file.
3. Sistem akan menampilkan
file yang akan dienkripsi.
4. Sistem akan menampilkan
kunci yang telah diinputkan.
5. Sistem melakukan proses
enkripsi dan menampilkan hasil enkripsi.
6. Sistem melakukan proses
penyimpanan file yang telah dienkripsi.
Universitas Sumatera Utara
Untuk tabel kegiatan Use Case enkripsi Sessionkey dijabarkan pada tabel 3.2. Tabel tersebut menjelaskan setiap kegiatan user pada saat melakukan proses enkripsi
sessionkey serta respon sistem terhadap perintah user. Pada tahapan enkripsi sessionkey terdapat button enkripsi key, button tersebut secara otomatis melakukan
proses pembangkitan kunci publik RSA dan melakukan enkripsi terhadap sessionkey.
Tabel 3.2 Kegiatan Use Case Enkripsi Sessionkey Nama use case
Enkripsi Cipherkey
Aktor User
Deskripsi
Use case ini akan melakukan enkripsi terhadap sessionkey
Kondisi awal
User 1 belum mengenkripsi sessionkey
Kondisi akhir sessionkeytelah terenkripsi dan disimpan di dalam folder
penyimpanan Kegiatan User
Respon sistem
Success Scenario
1. memilih menu
enkripsi.
2. memilih button
enkripsi key untuk enkripsi sessionkey.
3. menekan button save
untuk menyimpan hasil enkripsi
sessionkey 1.
Sistem menampilkan menu enkripsi.
2. Sistem menampilkan kunci
publik secara acak dan menampilkan hasil enkripsi
sessionkey.
3. Sistem melakukan proses
penyimpanan hasil enkripsi.
Universitas Sumatera Utara
Untuk tabel kegiatan Use Case dekripsi cipherkey dijabarkan pada tabel 3.3. Tabel tersebut menjelaskan setiap kegiatan user pada saat melakukan proses dekripsi
cipherkey serta respon sistem terhadap perintah user. Tahapan ini user mendekripsikan cipherkey untuk mendapatkan kembali sessionkey yang digunakan
kembali untuk proses dekripsi cipherteks. Proses dekripsi cipherkey ini menggunakan kunci privat dari algoritma RSA yang telah dibangkitkan sebelumnya.
Tabel 3.3 Kegiatan Use Case Dekripsi Cipherkey Nama use case
Dekripsi cipherkey
Aktor User
Deskripsi Use case ini akan melakukan dekripsi terhadap sessionkey
Kondisi awal
User 2 belum mendekripsikan sessionkey
Kondisi akhir
cipherkey telah terdekripsi Kegiatan User
Respon sistem
Success Scenario
1. User memilih menu
dekripsi.
2. User menekan button
open pada form dekripsi cipherkey dan
memilih cipherkey
3. User memilih button
dekripsi key. 1.
Sistem menampilkan menu dekripsi.
2. Sistem menampilkan
cipherkey yang telah dipilih, dan menampilkan kunci privat
untuk dekripsi cipherkey.
3. melakukan proses dekripsi
cipherkey dan menghasilkan sessionkey.
Universitas Sumatera Utara
Untuk tabel kegiatan Use Case dekripsi ciherteks dijabarkan pada tabel 3.4. Tabel tersebut menjelaskan setiap kegiatan user pada saat melakukan proses dekripsi
cipherteks serta respon sistem terhadap perintah user. Tahap ini user mendekripsikan cipherteks dengan menggunkan sessionkey untuk mendapatkan kembali plainteks
dengan proses algoritma Rijndael.
Tabel 3.4 Kegiatan Use case Dekripsi Cipherteks.
Nama use case
Dekripsi cipherteks
Aktor User
Deskripsi Use case ini akan melakukan dekripsi terhadap cipherteks
Kondisi awal User belum mendekripsikan file
Kondisi akhir File terenkripsi telah terdekripsi dan disimpan di dalam folder
penyimpanan
Kegiatan User Respon sistem
Success Scenario
1. User memilih menu
dekripsi.
2. User menekan button
open pada form dekripsi cipherteks.
3. User memilih cipherteks
yang akan didekripsi.
4. Menekan button
dekripsi cipherteks.
5. Memilih button save
file. 1.
Sistem menampilkan menu dekripsi.
2. Sistem menampilkan kotak
dialog lokasi penyimpanan file.
3. Sistem menampilkan
cipherteks yang telah dipilih.
4. Sistem melakukan proses
dekripsi dan menampilkan hasil proses dekripsi.
5. Sistem melakukan proses
penyimpanan.
Universitas Sumatera Utara
3.6. Perancangan Interface