Perancangan Sistem ANALISIS DAN PERANCANGAN

3.1.3 Analisis Proses Sistem dibangun menggunakan bahasa pemrograman C. Algoritma kriptografi yang digunakan adalah algoritma simetris ADFGVX Cipher dan algoritma asimetris knapsack .

3.2 Perancangan Sistem

Perancangan aplikasi bertujuan untuk menggambarkan semua kondisi dan bagian- bagian yang berperan dalam sistem. Perancangan sistem yang akan diaplikasikan ke dalam penelitian ini adalah perancangan sistem dengan menggunakan UML. UML merupakan bahasa yang berfungsi untuk menjelaskan masing-masing komponen pada sistem secara detail, berikut dengan interaksi yang terjadi pada masing-masing komponen tersebut. Model UML yang digunakan, diantaranya adalah : use case diagram , activity diagram, serta sequence diagram. 3.2.1 Use-case Diagram Use case diagram merupakan suatu gambaran atau deskripsi yang menjelaskan interaksi antara sistem dan actor user yang mencakup kebutuhan requirement yang ada pada sistem tersebut. Hubungan antara actor dengan use case dihubungkan dengan garis lurus. Hubungan use case yang menunjukan penggunaan kembali tindakan yang dimodelkan oleh use case lain disebut include. Sementara itu, hubungan use case yang dimaksudkan untuk menambahkan bagian untuk use case yang ada serta untuk pemodelan komponen layanan opsional disebut extend Cockburn, Alistair. 2000.Use-case diagram yang akan digunakan dalam sistem ini dapat dilihat pada Gambar 3.2. Universitas Sumatera Utara Gambar 3.2. Use Case Diagram Pada gambar 3.2 terdapat actor yang berfungsi sebagai user sistem. Actor melakukan input text terlebih dahulu untuk bisa melakukan enkripsi kemudian melakukan dekripsi. Untuk input text, user dapat melakukan dengan cara mengetikkan teks di dalam tekxbox atau memilih file yang telah disediakan. Hasil enkripsi ataupun hasil dekripsi dapat disimpan oleh user jika menginginkannya. Untuk enkripsi terdapat dua proses yaitu proses enkripsi kunci dan proses enkripsi plainteks. Proses dekripsi juga terbagi menjadi dua yaitu proses dekripsi kunci dan proses dekripsi palinteks. Tabel deskripsi use-case input text dapat dilihat pada Tabel 3.1. Tabel 3.1 Deskripsi use-case input Text Name Use-Case Input Text Actor User Trigger user memasukkan plainteks secara manual atau memilih file . Universitas Sumatera Utara Pre condition user mempersiapkan file yang akan dienkripsi dengan ekstensi .txt atau .Doc. Post condition Textbox menampilkan plainteks Success scenario 1. User mengetik secara manual plainteks di dalam textbox. 2. User menekan tombol pilih file. 3. User memilih file. 4. User menekan tombol open. 5. Textbox menampilkan plainteks. Alternative flow - Dekripsi dari use-case enkripsi plainteks dapat dilihat pada Gambar 3.2. Tabel 3.2 Deskripsi use-case enkripsi plainteks Name Use-Case Enkripsi Plainteks Actor User Trigger user memasukkan plainteks yang akan dienkripsi dan memasukkan kunci . Pre condition user mempersiapkan file yang akan dienkripsi dengan ekstensi .txt atau .Doc. User juga mempersiapkan kunci untuk enkripsi. Post condition User mendapatkan file hasil enkripsi atau Cipherteks Success scenario 6. user telah memasukkan file yang akan di enkripsi beserta kuncinya 7. user mengakses tombol enkripsi 8. Sistem melakukan proses enkripsi terhadap plainteks yang telah dimasukkan. 9. user mendapatkan cipherteks, yaitu hasil enkripsi dari plainteks. Alternative flow Jika plainteks tidak dimasukkan maka sistem akan mengalami error Universitas Sumatera Utara Tabel deskripsi use-case enkripsi kunci dapat dilihat pada Tabel 3.3. Tabel 3.3 Deskripsi use-case enkripsi Kunci Name Use-Case Enkripsi Kunci Actor User Trigger User memasukkan kunci, barisan superincreasing nilai m dan nilai n Pre condition User mempersiapkan kunci yang akan di enkripsi Post condition User mendapatkan file hasil enkripsi atau cipherkey dari kunci Success scenario 1. User telah memasukkan kata kunci yang akan digunakan 2. User mengacak barisan superincreasing dan juga membagkitkan nilai m dan nilai n 3. Sistem melakukan proses enkripsi terhadap kata kunci yang telah dimasukkan 4. User mendapatkan cipherkey, yaitu hasil enkripsi dari kunci. Alternative flow Jika kunci tidak dimasukkan maka sistem akan mengalami error Tabel deskripsi use-case dekripsi kunci dapat dilihat pada Tabel 3.4. Tabel 3.4 Deskripsi use-case Dekripsi kunci Name Use-Case Dekripsi Kunci Actor User Trigger User memasukkan cipherkey kunci dan membangkitkan barisan superincreasing nilai m dan n Pre condition User mempersiapkan cipherkey kunci yang akan di enkripsi Post condition User mendapatkan file asli kunci atau plainteks kunci Universitas Sumatera Utara Success scenario 1. User telah memasukkan cipherkey kunci yang akan dienkripsi 2. User membangkitkan barisan superincreasing nilai m dan n 3. Sistem melakukan proses dekripsi terhadap cipherkey kunci yang telah dimasukkan 4. User mendapatkan plainkey kunci, yaitu kata kunci awal Alternative flow Jika Cipherkey tidak dimasukkan maka sistem akan mengalami error Tabel deskripsi use-case dekripsi cipherteks dapat dilihat pada Tabel 3.5. Tabel 3.5 Deskripsi use-case dekripsi cipherteks Name Use-Case Dekripsi Cipherteks Actor User Trigger User memasukkan cipherteks yang akan dienkripsi Pre condition User mempersiapkan cipherteks hasil enkripsi Post condition User mendapatkan file asli atau plainteks awal Success scenario 1. User telah memasukkan cipherteks yang akan dienkripsi 2. User memasukkan kata kunci yang telah di dekripsi 3. Sistem melakukan proses dekripsi terhadap cipherteks yang telah dimasukkan 4. User mendapatkan plainteks, yaitu file asli Alternative flow Jika cipherteks tidak dimasukkan maka sistem akan mengalami error 3.2.2 Activity Diagram Activity diagram berguna untuk menampilkan gambaran langkah-langkah proses atau alur kegiatan dari sistem Whitten, J.L. Bentley, L.D. 2007. Activity diagram juga bertujuan untuk memberikan bantuan untuk memahami proses dan gambaran setiap interaksi yang terjadi di dalam suatu sistem. Activity diagram untuk proses enkripsi dapat dilihat pada gambar 3.3. Universitas Sumatera Utara Gambar 3.3. Activity Diagram Enkripsi Pada Gambar 3.3 dapat dilihat untuk melakukan enkripsi hal pertama yang dilakukan adalah memilih file yang akan di enkripsi, memasukkan kunci kemudian mengenkripsi file. Setelah file dienkripsi hal selanjutnya yang dilakukan adalah mengenkripsi kata kunci. Untuk melakukan enkripsi kunci dibutuhkan barisan superinceasing nilai m dan nilai n. setelah mendapatkan barisan superincreasing nilai m dan nilai m, maka dilakukan enkripsi kunci. Activity diagram untuk proses dekripsi dapat dilihat pada Gambar 3.4. Universitas Sumatera Utara Gambar 3.4. Activity Diagram Dekripsi Pada Gambar 3.4 dapat dilihat alur sistem dari proses dekripsi. Pertama, masukkan cipherteks kunci, masukkan barisan superincreasing nilai m dan nilai n, kemudian dekripsi kunci. Setelah plainteks kunci didapatkan, selanjutnya cari file cipherteks yang akan didekripsi, kemudian dekripsi file cipherteks dengan menggunakan kunci yang telah di dekripsi. 3.2.3 Sequence diagram Sequence diagram adalah diagram yang menunjukan interaksi yang ada pada sistem dan menjelaskan bagaimana proses operasi yang ada pada masing-masing komponen pada sistem berdasarkan perintah yang ada pada sistem. Diagram ini membangun suatu diagram pesan secara berurutan dan menunjukan interaksi yang disusun secara berurutan. Sequence diagram pada sistem yang dirancang ditunjukkan pada Gambar 3.5. Universitas Sumatera Utara Gambar 3.5. Sequence Diagram 3.2.4 Flowchart Pada sistem ini terdapat 7 flowchart yang terdiri dari flowchart sistem enkripsi dan dekripsi, flowchart enkripsi dan dekripsi algoritma ADFGVX Cipher, flowchart enkripsi dan dekripsi algoritma Knapsack dan flowchart pembangkit kunci algoritma knapsack . 3.2.4.1 Flowchart enkripsi dan dekripsi sistem Sistem yang akan dibuat terdiri dari dua proses yaitu proses enkripsi dan proses dekripsi. Untuk alur dari proses enkripsi dapat dilihat pada Gambar 3.6, sedangkan alur dari proses dekripsi dapat dilihat pada Gambar 3.7. Universitas Sumatera Utara Gambar 3.6. Proses Enkripsi Sistem Gambar 3.7. Proses Dekripsi Sistem 3.2.4.2 Flowchart ADFGVX Cipher Proses yang dilakukan oleh algoritma ADFGVX Cipher adalah mengamankan data. Algoritma ADFGVX mempunyai dua proses yaitu proses enkripsi dan proses dekripsi. Untuk alur dari proses enkripsi algoritma ADFGVX dapat dilihat pada Gambar 3.8, sedangkan untuk proses dekripsi ditunjukkan pada Gambar 3.9. Universitas Sumatera Utara Gambar 3.8. Flowchart Enkripsi Algoritma ADFGVX Cipher Universitas Sumatera Utara Gambar 3.9. Flowchart Dekripsi Algoritma ADFGVX Cipher Universitas Sumatera Utara 3.2.4.3 Flowchart Knapsack Flowchart alur dari sistem enkripsi knapsack ditujukan pada Gambar 3.10, flowchart untuk proses dekripsi ditujukan pada Gambar 3.11 dan untuk flowchart pembangkit kunci dari algoritma knapsack dapat dilihat pada Gambar 3.12. Gambar 3.10. Flowchart Enkripsi Algoritma Knapsack Universitas Sumatera Utara Gambar 3.11. Flowchart Dekripsi Algoritma Knapsack Universitas Sumatera Utara Gambar 3.12. Flowchart Pembangkit Kunci Algoritma Knapsack

3.3 Perancangan Antar Muka