Analisis Persyaratan Pemodelan LANDASAN TEORI

keamanannya serta ukuran file dapat lebih kecil dari sebelumnya. Setelah dipilah dan dibagi dalam beberapa kategori, dapat diuraikan sebagai berikut: 1. User adalah seorang yang melakukan proses bangkit kunci, enkripsi, kompresi, kombinasi kedua serta dekripsi dan dekompresi. 2. Proses : Sistem ini akan berjalan mengkombinasikan kedua algoritma Knapsack dan RLE pada file teks yaitu proses Enkripsi kemudian kompresi atau Kompresi kemudian Enkripsi, dapat juga dilakukan secara terpisah. 3. Sistem : Sistem ini menunjukan kombinasi mana yang lebih tepat digunakan antara Kompresi dan Enkripsi atau Enkripsi dan Kompresi Selanjutnya masalah diuraikan kedalam bentuk diagram tulang ikan ishikawa Diagram dibawah ini: Analisis Kombinasi algoritma Knapsack dan RLE pada File Teks Data Kebijakan User Proses Mendapati manipulasi data Tidak Efisien melakukan proses secara terpisah Pencurian data tidak terlalu mendapat prioritas Data tidak aman Ukuran file cukup besar Gambar 3.1 Diagram Ishikawa untuk Analisis Permasalan Sistem

3.2 Analisis Persyaratan

Analisis ini bertujuan untuk mengidentifikasi dan menyatakan persyaratan apa saja yang akan dibutuhkan oleh sistem agar dapat berjalan sesuai dengan yang diharapkan. Analisis persyaratan dibagi menjadi dua bagian yaitu persyaratan fungsional functional requirement dan persyaratan nonfungsional nonfunctional requirement. Dimana persyaratan fungsional adalah aktifitas dan layanan yang harus diberikan disediakan oleh sebuah sistem, dan persyaratan nonfungsional berkaitan dengan fitur, karakteristik, dan batasan lainnya yang menentukan apakah sistem memuaskan atau Universitas Sumatera Utara tidak. Persyaratan nonfungsional seringkali berupa batasan atau sesuatu yang menjadi perhatian stakeholder sebuah sistem. 3.2.1 Persyaratan fungsional Persyaratan fungsional yang harus dipenuhi oleh sistem yang akan dibangun ini adalah : 1. File teks yang akan dienkripsi memiliki format .txt. 2. Bilangan yang akan dibangkitkan untuk pembuatan kunci algoritma Knapsack adalah bilangan bulat positif. 3. File teks yang telah dikompresi, dienkripsi, serta keduanya disimpan dalam format .txt 4. Kunci kriptografi disimpan dalam bentuk .txt. 3.2.2 Persyaratan nonfungsional Persyaratan nonfungsional dari sistem ini adalah : 1. Performa Perangkat lunak yang akan dibangun harus dapat menunjukkan hasil dari proses kompresi dan dekompresi, enkripsi dan dekripsi serta keduanya. 2. Mudah dipelajari dan digunakan Sistem yang akan dibangun harus sederhana agar mudah dipelajari dan digunakan oleh pengguna user. 3. Hemat biaya Sistem ini tidak memerlukan perangkat tambahan maupun sistem pendukung dalam penggunaannya. 4. Dokumentasi Sistem dapat menyimpan file teks yang dikompresi ,dienkripsi, keduanya dan kunci yang dibangkitkan. 5. Manajemen kualitas Sistem memiliki kualitas yang baik yaitu proses kompresi dan dekompresi,enkripsi dan dekripsi file teks dan membangkitkan kunci relatif cepat. Universitas Sumatera Utara

3.3 Pemodelan

Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang harus dilakukan oleh sebuah sistem. Aktor yang nantinya akan berinteraksi dengan sistem adalah user yang akan menggunakan sistem yang dibangun. Berikut ini adalah diagram use case yang dirancang sebagai pemodelan persyaratan sistem berdasarkan informasi kebutuhan sistem dan aktor yang berperan didalamnya. Gamabar 3.2 Use case diagram 3.3.1 Pemodelan persyaratan sistem dengan use case Dari diagram use case diatas terlihat interaksi user pada sistem beserta proses-proses yang dilakukan. Diharapkan user mengetahui secara garis besar proses-proses yang terjadi pada setiap tahapan. Agar tidak terjadi kesalahan dalam urutan tahapan, maka sistem akan mengevaluasi pilihan-pilihan yang diambil oleh user. Proses enkripsi menggunakan algoritma Knapsack hanya bisa dilakukan oleh user apabila telah dilakukan proses pembangkitan kunci berdasarkan inputan yang dimasukkan. Selanjutnya setelah proses enkripsi selesai, dilakukan proses kompresi dengan algoritma RLE. Dan dapat dilakukan sebaliknya atau secara terpisah. Sistem Enkripsi Plainteks knapsack Kompresi Cipherteks RLE Dekompresi Cipherteksn RLE Dekripsi Cipherteks Knapsack Bangkit Kunci User Universitas Sumatera Utara Berikut adalah tabel dari setiap proses. Tabel 3.1 Spesifikasi Use Case Kompresi RLE Name Kompresi Teks Actors User Trigger User telah menginputkan Teks Preconditions User mengakses tombol Kompresi Post Conditions User dapat melihat hasil proses kompresi Success Scenario 1. User telah menginputkan Teks 2. User mengakses tombol Kompresi 3. Sistem akan melakukan proses kompresi terhadap teks yang diinputkan dan menampilkan hasil kompresi 4. User dapat melihat hasil kompresi Tabel 3.2 Spesifikasi Use Case Dekompresi RLE Name Dekompresi Actors User Trigger User telah menginputkan hasil teks yang telah dikompresi Preconditions User mengakses tombol Dekompresi Post Conditions User dapat melihat hasil proses dekompresi Success Scenario 1. User telah menginputkan hasil teks yang telah dikompresi 2. User mengakses tombol Dekompresi 3. Sistem akan melakukan proses dekompresi terhadap teks yang diinputkan dan menampilkan hasil dekompresi berupa bentuk teks asli 4. User dapat melihat hasil dekompresi v Universitas Sumatera Utara Tabel 3.3 Spesifikasi Use Case Bangkit Kunci Name Generate key Actors User Trigger User telah menginputkan parameter kunci Preconditions User mengakses tombol generate key Post Conditions User dapat melihat publickey dan privatekey hasil generatekey Success Scenario 1. User telah menginputkan parameter kunci 2. User mengakses tombol generate key. 3. Sistem membangkitkan key berdasarkan parameter yang dimasukkan user. 4. User dapat melihat publickey dan privatekey hasil generatekey. Alternative Flows - Tabel 3.4 Spesifikasi Use Case Enkripsi Plainteks Knapsack Name Enkripsi Plainteks Actors User Trigger 1. User telah menginputkan plainteks yang akan dienkripsi 2. User telah mendapatkan kunci untuk enkripsi Preconditions User mengakses tombol enkripsi Post Conditions User dapat melihat cipherteks hasil proses enkripsi Success Scenario 5. User telah menginputkan plainteks yang akan dienkripsi. 6. User mengakses tombol load kunci dan tombol enkripsi. 7. Sistem membangkitkan key berdasarkan parameter yang dimasukkan user. 8. Sistem akan melakukan proses enkripsi terhadap plainteks yang diinputkan dan menampilkan cipherteksnya. 9. User dapat melihat cipherteks hasil proses enkripsi. Alternative Flows - Universitas Sumatera Utara Tabel 3.5 Spesifikasi Use Case Dekripsi Cipherteks Knapsack Name Dekripsi cipherteks Actors User Trigger 1. User telah menginputkan cipherteks yang akan didekripsi 2. User telah memasukkan kunci dekripsi privatekey Preconditions User mengakses button decrypt Post Conditions User dapat melihat plainteks hasil proses dekripsi Success Scenario 1. User telah menginputkan cipherteks yang akan didekripsi. 2. User telah memasukkan kunci 3. User mengakses tombol dekripsi. 4. Sistem akan melakukan proses dekripsi terhadap ciphertkes yang diinputkan dan menampilkan plainteksnya. 5. User dapat melihat plainteks hasil proses dekripsi. Alternative Flows - Tabel 3.6 Spesifikasi Use Case Kombinasi Knapsack dan RLE Name Kombinasi Actors User Trigger User telah menginputkan plainteks Preconditions User mengakses tombol Kombinasi Enkripsi dan Kompresi atau Kompresi dan Enkripsi Post Conditions User dapat melihat hasil proses kombinasi Success Scenario 1. User telah menginputkan plainteks 2. User mengakses tombol Kompresi dan Enkripsi atau Enkripsi dan Kompresi 3. Sistem akan melakukan proses kombinasi terhadap teks yang diinputkan dan menampilkan hasil hasil berupa bentuk chiperteks 4. User dapat melihat hasil kombinas pada kolom yang tersedia Universitas Sumatera Utara 3.3.2 Activity diagram Selain tabel-tabel spesfikasi pada subbab sebelumnya, activity diagram juga bagian dari pemodelan sistem. Berikut adalah activity diagram untuk setiap tabel proses pada subbab sebelumnya. Dibawah ini Activity Diagram untuk Use Case Kompresi: User memasukkan file teks User menekan tombol Kompresi Sistem mengecek proses yang akan dilakukan Sistem melakukan Kompresi Sistem memperlihatkan output Benar salah Gambar 3.3 Activity Diagram Kompresi Universitas Sumatera Utara User memasukkan file Kompresi User menekan tombol Dekompresi Sistem mengecek proses yang akan dilakukan Konfirmasi apa yang harus dilakukan user Sistem melakukan Dekompresi Sistem memperlihatkan output Benar salah Gambar 3.4 Acitvity diagram Dekompresi Dibawah ini Activity Diagram untuk Use Case Bangkit Kunci: Universitas Sumatera Utara User Memasukkan parameter Kunci User menekan tombol Barisan Kunci Rahasia Sistem mengecek proses yang dilakukan Sistem melakukan proses bangkit kunci Rahasia Sistem menampilkan Kunci rahasia User menekan tombol Generate Sistem menampilkan nilai m secara acak dan nilai n secara list User memasukkan nilai n Sistem melakukan proses bangkit kunci Rahasia Sistem melakukan proses bangkit kunci Rahasia Sistem menampilkan Kunci rahasia User menekan tombol Barisan Kunci Rahasia Salah Benar Salah Benar Gamabar 3.5 Activity Diagram Bangkit Kunci Universitas Sumatera Utara Dibawah ini Activity Diagram untuk Use Case Enkripsi: User memasukkan file Teks User menekan tombol Enkripsi Sistem mengecek proses yang akan dilakukan Sistem melakukan Enkripsi Teks Sistem memperlihatkan output Benar salah Gamabar 3.6 Activity Diagram Enkripsi Universitas Sumatera Utara Dibawah ini Activity Diagram untuk Use Case Dekripsi: User memasukkan file Enkripsi User menekan tombol Dekripsi Sistem mengecek proses yang akan dilakukan Sistem melakukan Dekripsi cipherteksi Sistem memperlihatkan output Benar salah Gamabar 3.7 Activity Diagram Dekripsi Universitas Sumatera Utara Dibawah ini Activity Diagram untuk Use Case Kombinasi: User memasukkan file Teks User menekan tombol Kombinasi Sistem mengecek proses yang akan dilakukan Sistem melakukan proses kombinasi Sistem memperlihatkan output Benar salah Gamabar 3.8 Activity Diagram Kombinasi 3.3.3 Sequence diagram Proses enkripsi plainteks menggunakan algoritma Knapsack yang dilakukan oleh sistem membangkitkan kunci terlebih dahulu kemudian dapat mengenkripsi plainteks. Kemudian sistem akan mengecek kebutuhan data dan proses yang akan dilakukan selanjutnya. Sequence Diagram untuk proses kombinasi Kompresi dan Enkripsi digambarkan dibawah ini : Universitas Sumatera Utara User :PilihTeks :LoadKunci :Kom_Enk BrowseTeks menampilkanTeks loadKunci Menampilkan Kunci Kompresi dan Enkripsi Hasil Kompresi dan Enkripsi cipherteks Kompresi dahulu kemudian enkripsi Gambar 3.9 Sequence Diagram Kombinasi Kompresi dan Enkripsi Untuk proses kombinasi Enkripsi dan Kompresi proses sistem sama dengan gambar 3.9, hanya saja proses enkripsi terlebih dahulu dan kemudian proses kompresi. Setelah proses kombinasi dengan kedua algoritma berhasil, kita bisa melakukan proses kombinasi Dekripsi dan Dekompresi untuk hasil dari Kompresi dan Enkripsi. Untuk mendapatkan kembali plainteks semula. Sequence diagram untuk proses kombinasinya ada dibawah ini : Universitas Sumatera Utara User :PilihTeks :LoadKunci :DekripsiDekompresi Browse cipherTeks menampilkan cipherTeks loadKunci Menampilkan Kunci Dekripsi dan Dekompresi Hasil Dekripsi dan Dekompresi plainteks Dekripsi dahulu kemudian Dekompresi Gambar 3.10 Sequence Diagram Kombinasi Dekripsi dan Dekompresi Untuk mengembalikan plainteks pada proses kombinasi Enkripsi dan Kompresi, proses yang dilakukan adalah kombinasi Dekompresi dan Dekripsi. Proses sistem tersebut sama dengan gambar 3.10, hanya saja proses Dekompresi terlebih dahulu dilakukan dan kemudian proses Dekripsi. Untuk membangkitkan kunci yang digunakan pada algoritma Knapsack diperlukan parameter yang dimasukkan oleh user. Kemudian sistem akan melakukan pembangkitan kunci berdasarkan parameter tersebut. Dibawah ini adalah sequence diagram untuk proses pembangkitan kunci. Universitas Sumatera Utara User :LoadKunci input parameter kunci Bangkit Kunci Menampilkan Kunci Gambar 3.11 Sequence Diagram Bangkit Kunci 3.3.4 Perancangan Flowchart Sistem Perancangan flowchart sistem terdiri dari : 1. Flowchart Proses Algoritma Knapsack 2. Flowchart Proses Algoritma RLE 3. Flowchart Proses Kombinasi 3.3.4.1 Flowchart Proses Algoritma Knapsack Flowchart proses Enkripsi dengan menggunakan metode Algoritma Knapsack dapat dilihat pada gambar 3.12 . Universitas Sumatera Utara Mulai Masukkan Plainteks Load Kunci Publik Enkripsi Perkalian setiap plainteks dengan Kunci Publik Ciperteks Akhir Gambar 3.12 Flowchart Enkripsi Flowchart proses Dekripsi dengan menggunakan metode Algoritma Knapsack dapat dilihat pada gambar 3.13. Mulai Masukkan cipherteks Dekripsi Perkalian setiap cipherteks dengan kunci rahasia Plainteks Akhir Gambar 3.13 Flowchart Dekripsi Universitas Sumatera Utara 3.3.4.2 Flowchart proses algoritma rle Flowchart proses Kompresi dengan menggunakan metode algoritma RLE dapat dilihat pada gambar 3.14. Mulai Masukkan Plainteks Kompresi Hasil Kompresi Akhir Gambar 3.14 Flowchart Kompresi Flowchart proses Dekompresi dengan menggunakan metode algoritma RLE dapat dilihat pada gambar 3.15. Mulai Masukkan hasil Kompresi Dekompresi Plainteks Akhir Gambar 3.15 Flowchart Dekompresi Universitas Sumatera Utara 3.3.4.3 Flowchart proses kombinasi Flowchart proses kombinasi Kompresi dan Enkripsi dengan dua metode algoritma RLE dan Algoritma Knapsack dapat dilihat pada gambar 3.16. Mulai Masukkan Plainteks Kompresi Enkripsi Ciperteks Akhir Gambar 3.16 Flowchart Kompresi dan Enkripsi Flowchart proses Enkripsi dan Kompresi dengan dua metode algoritma Knapsack dan Algoritma RLE dapat dilihat pada gambar 3.17. Universitas Sumatera Utara Mulai Masukkan Plainteks Enkripsi Kompresi Hasil Kompresi Akhir Gambar 3.17 Flowchart Enkripsi dan Kompresi Flowchart proses Dekompresi dan Dekripsi dengan dua metode algoritma RLE dan Algoritma Knapsack dapat dilihat pada gambar 3.18. Universitas Sumatera Utara Mulai Masukkan hasil dari Enkripsi dan kompresi Dekompresi Dekripsi Plainteks Akhir Gambar 3.18 Flowchart Dekompresi dan Dekripsi Flowchart proses Dekripsi dan Dekompresi dengan dua metode algoritma Knapsack dan Algoritma RLE dapat dilihat pada gambar 3.19. Universitas Sumatera Utara Mulai Masukkan hasil dari kompresi dan Enkripsi Dekripsi Dekompresi Plainteks Akhir Gambar 3.19 Flowchart Dekripsi dan Dekompresi

3.4 Perancangan Antar Muka