Perancangan Proses Perancangan Fase Perancangan

4.5.1. Perancangan Proses

1. Diagram konteks sistem yang diusulkan user username, password, public key, private key public key, private key user file filename1, filename2, sender_id, receiver_id aplikasi acryptcs file filename1, filename2, sender_id, receiver_id Gambar 4.2. Diagram konteks sistem yang diusulkan Dalam konteks diagram pada gambar 4.2 terdapat dua entity yang menunjang proses aplikasi acrypt cs yaitu user dan file. 2. Diagram zero sistem yang diusulkan user username, password 1.0 login private key file password, public key filename1, sender, receiver 2.0 enkripsi filename2, sender, receiver filename2, sender, receiver file 3.0 dekripsi filename1, sender, receiver Gambar 4.3. Diagram zero sistem yang diusulkan 62 3. Diagram level satu sistem yang diusulkan user username, password 1.1 cek database username, password 1.2 buat session Gambar 4.4. Diagram level satu proses 1.0 login user password, public key, jumlah file 2.2 2.1 cek file password enkripsi AES file filename1, sender, receiver 2.3 enkripsi RSA public key filename2, sender, receiver file Gambar 4.5. Diagram level satu proses 2.0 enkripsi user private key, jumlah file 3.1 cek file private key 3.2 dekripsi RSA file filename2 3.3 dekripsi AES password filename1 file Gambar 4.6. Diagram level satu proses 3.0 dekripsi 63

4.5.2. Perancangan

Flowchart Pada tahap ini dilakukan perancangan flowchart algoritma aplikasi enkripsi. Pada tahapan ini akan digambarkan alur proses enkripsi dan dekripsi pada program yang dikembangkan dengan menggunakan flowchart. 64 1. Flowchart proses enkripsi start Input jumlah file Input file Cek file File salahkosong ? true false Input kunci AES Pilih penerima i=0, jml file = file tdk kosong Panggil modul enkripsi AES 1 2 Panggil modul enkripsi RSA 3 4 Update database i++ true i jml file? false Tampilkan hasil enkripsi stop Gambar 4.7. Flowchart proses enkripsi 65 Berdasarkan gambar 4.7, proses enkripsi dimulai dengan memasukkan jumlah file yang akan dienkripsi. Setelah itu, user memasukkan file yang akan dienkripsi. Kemudian data file akan ditampilkan sementara. Jika file salah, maka user harus memasukkan kembali file yang akan dienkripsi. Jika semua file yang dipilih sudah pernah dienkripsi sebelumnya dengan nama file yang masih sama, maka user harus memasukkan kembali file yang akan dienkripsi. Selanjutnya user harus memasukkan string yang akan digunakan sebagai kunci untuk enkripsi file. String dapat berupa karakter apapun dengan panjang maksimal 20 karakter. Kemudian user memilih penerima pesan secara tidak langsung memasukkan kunci publik penerima. Setelah itu proses enkripsi dimulai. Proses memanggil fungsi enkripsi Advance Encryption Standard untuk enkripsi file, kemudian memanggil fungsi enkripsi Rivest Shamir Adleman untuk enkripsi password. Sesudah selesai, proses memasukkan data file ke dalam database. Proses enkripsi dilakukan sebanyak jumlah file yang terisi tidak kosong. Setelah proses enkripsi selesai, data file terenkripsi ditampilkan. 66 2. Flowchart enkripsi Advance Encryption Standard 1 Baca file r = 10 AddRoundKey SubBytes ShiftRows true r = 1 ? false MixColumns Panggil modul ekspansi kunci 5 6 AddRoundKey r - 1 r = 0 ? false true 2 Gambar 4.8. Flowchart proses enkripsi dengan metode Advance Encryption Standard Sumber : Munir, 2006 67 Proses enkripsi dengan metode Advance Encryption Standard seperti ditunjukkan pada gambar 4.8, dimulai dengan membaca file. Didefinisikan bahwa jumlah round adalah sepuluh. Proses melakukan fungsi AddRoundKey terhadap data dengan round key awal. Selanjutnya proses berlanjut dengan round-1 putaran dengan memanggil fungsi SubBytes , ShiftRows , MixColumns , KeyExpansion, dan AddRoundKey. Setelah selesai, putaran terakhir dilakukan dengan memanggil fungsi SubBytes , ShiftRows, KeyExpansion, dan AddRoundKey. Setelah itu proses enkripsi Advance Encryption Standard Selesai. 68 3. Flowchart enkripsi Rivest Shamir Adleman 3 plainteks M, n, e Transformasi M m m n - 1 false m dibagi menjadi blok-blok true c = m e mod n cipherteks c c n - 1 false c disatukan menjadi kesatuan bilangan integer true cipherteks c Transformasi c C cipherteks C 4 Gambar 4.9. Flowchart proses enkripsi dengan metode Rivest Shamir Adleman Sumber : Munir : 2006 Berdasarkan gambar 4.9, enkripsi dengan metode Rivest Shamir Adleman dimulai dengan inisialisasi plainteksM, np x q, dan kunci publike. Plainteks dalam hal ini password, ditransformasi ke dalam angka m. Selanjutnya, jika m lebih 69 besar dari n dikurang 1, m dibagi menjadi blok-blok. Selanjutnya dilakukan penghitungan cipherteks c dengan rumus c = m e mod n. Jika c lebih besar dari n dikurang1, c disatukan menjadi kesatuan bilangan integer. Selanjutnya dilakukan transformasi cipherteks c menjadi C. 70 4. Flowchart proses dekripsi start Pilih file Cek file sementara File benar? false true Input kunci private Kunci valid? false true i=0, n = jml file, jml file10, n=10 Panggil modul dekripsi RSA 7 8 Panggil modul dekripsi AES 9 10 i++ true i n ? false Tampilkan hasil dekripsi stop Gambar 4.10. Flowchart proses dekripsi 71 Untuk proses dekripsi, sesuai dengan gambar 4.10, dekripsi dimulai dengan memilih file yang akan didekripsi. Lalu menampilkan sementara file-file yang akan didekripsi. Jika file benar, masukkan kunci privat. Setelah itu periksa apakah kunci privat valid atau tidak. Jika kunci privat tidak valid, masukkan lagi kunci privat. Jika valid, proses dekripsi berjalan. Dimulai dengan menginisialisasi i=0, njumlah file, jika jumlah file lebih dari 10, maka n=10. Selanjutnya selama i kurang dari n, proses memanggil modul dekripsi Rivest Shamir Adleman, setelah itu memanggil modul dekripsi Advance Encryption Standard. Setelah proses dekripsi selesai, file-file hasil dekripsi ditampilkan. 72 5. Flowchart dekripsi Advance Encryption Standard 9 Baca file r = 10 AddRoundKey r = 10? true false Inv MixColumns Inv SubBytes Inv ShiftRows Panggil modul ekspansi kunci 5 6 AddRoundKey r -1 false r = 0 ? true 10 Gambar 4.11. Flowchart proses dekripsi dengan metode Advance Encryption Standard Sumber : Munir, 2006 Proses dekripsi dengan metode Advance Encryption Standard seperti ditunjukkan pada gambar 4.11, dimulai dengan membaca file. Didefinisikan bahwa jumlah round adalah sepuluh. Proses 73 melakukan fungsi AddRoundKey terhadap data dengan round key awal. Selanjutnya proses berlanjut selama round-1 putaran dengan memanggil fungsi InvMixColumns, InvSubBytes, InvShiftRows , KeyExpansion, dan AddRoundKey. Setelah selesai, putaran terakhir dilakukan dengan memanggil fungsi InvSubBytes , InvShiftRows , KeyExpansion , dan AddRoundKey . Setelah itu proses dekripsi Advance Encryption Standard Selesai. 74 c 6. Flowchart dekripsi Rivest Shamir Adleman 7 cipherteks C, n, d Transformasi C c c n - 1 false c dibagi menjadi blok-blok true m = d mod n plainteks m m n - 1 false m disatukan menjadi kesatuan bilangan integer true plainteks m Transformasi m M plainteks M 8 Gambar 4.12. Flowchart proses dekripsi dengan metode Rivest Shamir Adleman Sumber : Munir, 2006 Berdasarkan gambar 4.12, dekripsi dengan metode Rivest Shamir Adleman dimulai dengan inisialisasi cipherteksC, np x q, dan kunci privat d. Cipherteks ditransformasi ke dalam angka c. Selanjutnya, jika c lebih besar dari n dikurang 1, c 75 dibagi menjadi blok-blok. Selanjutnya dilakukan penghitungan plainteks m dengan rumus m = c d mod n. Jika m lebih dari n dikurang1, m disatukan menjadi kesatuan bilangan integer. Selanjutnya dilakukan transformasi plainteks m menjadi M.

4.5.3. Perancangan Basis Data