Analisis Masalah Diagram Alir Flowchart

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