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