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