Analisis Sistem Implementasi Algoritma Knapsack dan Algoritma Boldi-Vigna (ζ4) Pada Keamanan dan Kompresi File Teks

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Sebelum dilakukan tahap perancangan, perlu dilakukan analisis sistem yang akan dibangun. Analisis sistem merupakan istilah yang secara kolektif mendeskripsikan fase-fase awal pengembangan sistem. Analisis sistem pada dasarnya merupakan tahapan yang ditunjukan untuk menciptakan pemahaman yang menyeluruh terhadap sistem sehingga diperoleh gambaran tentang kebutuhan, cara kerja dan alur data yang akan dikerjakan sistem. Hal ini akan membantu mempermudah dalam proses implementasi sistem. 3.1.1 Analisis Masalah Dengan sistem ini, masalah yang akan diselesaikan adalah pengamanan data teks dari pihak yang tidak memiliki hak aksas data tersebut. Dalam sistem ini file teks akan dienkripsi menggunakan algoritma Knapsack. Selanjutnya untuk kompresi data teks, dilakukan dengan menggunakan algoritma Boldi-Vigna ζ 4 . Sehingga diharapkan file teks ini terjaga keamanannya serta ukuran file dapat lebih kecil dari sebelumnya. Yang menjadi masalah utama penelitian ini adalah bagaimana mengkombinasikan algoritma knapsack dan Boldi-Vigna ζ 4 pada file teks. Sehingga diharapkan file teks ini terjaga keamanannya serta ukuran file dapat lebih kecil dari sebelumnya. Setelah dipilah dan dibagi kedalam beberapa kategori, dapat diuraikan sebagai berikut: 1. User adalah seorang yang melakukan proses bangkit kunci, enkripsi dan kompresi serta dekompresi dan dekripsi. 2. Proses : Sistem ini akan berjalan mengkombinasikan kedua algoritma Knapsack dan Boldi-Vigna ζ 4 pada file teks yaitu proses Enkripsi kemudian Kompresi atau Dekompresi kemudian Dekripsi. 3. Sistem : Sistem ini menunjukkan kombinasi antara algoritma Knapsack dan algoritma Boldi-vigna ζ 4 apakah menghasilkan hasil yang baik. Universitas Sumatera Utara Selanjutnya masalah diuraikan kedalam bentuk Diagram Tulang Ikan Ishikawa Diagram dapat dilihat pada gambar 3.1 dibawah ini : Gambar 3.1 Diagram Ishikawa Untuk Analisis Permasalahan Sistem 3.1.2 Analisis Persyaratan Analisis ini bertujuan untuk mengidentifikasi dan menyatakan 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 merupakan deskripsi mengenai aktivitas dan layanan yang harus diberikan atau disediakan oleh sebuah sistem, dan persyaratan nonfungsional merupakan deskripsi mengenai fitur, karakteristik, dan batasan lainnya yang menentukan apakah sistem memuaskan atau tidak. Persyaratan nonfungsional seringkali berupa batasan atau sesuatu yang menjadi perhatian stakeholder sebuah sistem. Universitas Sumatera Utara a. Persyaratan fungsional Persyaratan fungsional yang harus dipenuhi oleh sistem yang akan dibangun ini adalah : 1. Sistem ini harus mampu membaca file teks berupa .txt dan .doc. 2. Sistem ini akan membangkitkan bilangan bulat positif pada pembuatan kunci algoritma Knapsack. 3. Sistem ini akan menghasilkan file teks hasil kompresi berupa .bv. 4. Sistem ini akan menyimpan kunci kriptografi dalam bentuk .key. b. Persyaratan nonfungsional 1. Performa Sistem yang akan dibangun harus dapat menunjukkan hasil dari kompresi dan enkripsi serta dekompresi dan dekripsi. 2. Mudah dipelajari dan digunakan Sistem yang dibangun harus sederhana dan 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 didekripsi dan kompresi, dekompresi dan enkripsi serta kunci yang dibangkitkan. 5. Manajemen kualitas sistem memiliki kualitas yang baik yaitu proses enkripsi dan kompresi, dekompresi dan dekripsi file teks dan membangkitkan kunci relatif cepat. 3.1.3 Pemodelan Sistem 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 akan dibangun. Universitas Sumatera Utara Berikut ini adalah diagram use case yang dirancang sebagai pemodelan persyaratan sistem berdasarkan informasi kebutuhan sistem dan aktor yang berperan didalamnya. a. Use case diagram Gambar 3.2 Use Case Diagram Pada Sistem Use case diagram pada gambar 3.2 menjelaskan bahwa sistem dapat diakses oleh seorang aktor yang dinamakan pengguna. Terdapat tiga use case utama yaitu Bangkit Kunci, Enkripsi dan kompresi serta Dekompresi dan Dekripsi. b. Activity Diagram Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Berikut ini adalah diagram Activity pada sistem yang akan dibangun. Pada proses bangkit kunci, aktivitas yang berlangsung dapat dilihat pada gambar activity diagram 3.3 Universitas Sumatera Utara Gambar 3.3 Activity Diagram Bangkit Kunci Activity diagram menggambarkan interaksi aktifitas antara pengguna sistem secara detil dan berurut. Pada Gambar 3.3 kotak paling kiri merupakan aktifitas yang dilakukan oleh pengguna, sedangkan kotak sebelah kanan adalah respon yang diberikan sistem terhadap aktifitas yang dilakukan pengguna terhadap sistem . Gambar 3.4 adalah activity diagram untuk Enkripsi dan Kompresi : Universitas Sumatera Utara Gambar 3.4 Activity Diagram Enkripsi Dan Kompresi Activity diagram menggambarkan interaksi aktifitas antara pengguna sistem secara detil dan berurut. Pada Gambar 3.4 kotak paling kiri merupakan aktifitas yang dilakukan oleh pengguna, sedangkan kotak sebelah kanan adalah respon yang diberikan sistem terhadap aktifitas yang dilakukan pengguna terhadap sistem . Gambar 3.5 adalah Activity Diagram untuk dekompresi dan dekripsi: Universitas Sumatera Utara Gambar 3.5 Activity Diagram Dekompresi Dan Dekripsi Activity diagram menggambarkan interaksi aktifitas antara pengguna sistem secara detil dan berurut. Pada Gambar 3.5 kotak paling kiri merupakan aktifitas yang dilakukan oleh pengguna, sedangkan kotak sebelah kanan adalah respon yang diberikan sistem terhadap aktifitas yang dilakukan pengguna terhadap sistem . c. Sequence Diagram Proses enkripsi plaintext menggunakan algoritma Knapsack yang dilakukan oleh sistem membangkitkan kunci terlebih dahulu kemudian dapat mengenkripsi plaintext. Kemudian sistem akan mengecek kebutuhan data dan proses yang akan dilakukan selanjutnya. Sequence Diagram untuk sistem dilihat pada gambar 3.6, 3.7 dan 3.8 dihalaman berikutnya : Universitas Sumatera Utara Gambar 3.6 Sequence Diagram Bangkit Kunci Gambar 3.7 Sequence Diagram Enkripsi Dan Kompresi Universitas Sumatera Utara Gambar 3.8 Sequence Diagram Dekompresi Dan Dekripsi 3.1.4 Flowchart 3.1.4.1 Flowchart sistem secara umum a. Flowchart Enkripsi dan Dekripsi dapat dilihat pada gambar 3.9 dihalaman berikutnya : Universitas Sumatera Utara Mulai Input file .txt atau .doc Ciphertext Enkripsi dengan metode Knapsack Kompresi dengan metode Boldi-Vigna ζ 4 Hasil Kompresi Selesai Gambar 3.9 Flowchart Enkripsi Dan Kompresi Universitas Sumatera Utara b. Flowchart Dekompresi dan Dekripsi dapat dilihat pada gambar 3.10 dibawah ini : Mulai Masukkan Hasil Dari Enkripsi Dan Kompresi Hasil Dekompresi Dekompresi Dengan Metode Boldi-Vigna ζ 4 Dekripsi Dengan Metode Knapsack Plaintext Selesai Gambar 3.10 Flowchart Dekompresi Dan Dekripsi 3.1.4.2 Flowchart proses Algoritma Knapsack a. Flowchart Bangkit Kunci dapat dilihat pada gambar 3.11 dihalaman berikutnya : Universitas Sumatera Utara Start Input w 1 . w 2 Distance Hitung Deret Superincreasing Kunci Rahasia Input n End Hitung Kunci Publik w kr . n mod m Input m m Jumlah Kunci Rahasia GCD m,n =1 Ya Ya Tidak Tidak Gambar 3.11 Flowchart Bangkit Kunci b. Flowchart Enkripsi Flowchart proses enkripsi dengan metode Knapsack dapat dilihat pada gambar 3.12 dihalaman berikutnya : Universitas Sumatera Utara Start Input Plaintext Input Kunci Publik Konversi Kode ASCII Plainteks Ke Biner Hitung Kriptogram Ciphertext End Gambar 3.12 Flowchart Enkripsi c. Flowchart Dekripsi Flowchart proses dekripsi dengan metode Knapsack dapat dilihat pada gambar 3.13 pada halaman berikutnya : Universitas Sumatera Utara Start Input Ciphertext Input Kunci Rahasia Tentukan Nilai n - ¹ Dan k 1+m . k n Dekripsi Hasil Dekripsi End Ubah Posisi Bit Sesuai Posisi Key Index Kode Biner Di Ubah Ke Karakter ASCII Plaintext Gambar 3.13 Flowchart Dekripsi Universitas Sumatera Utara 3.1.4.3 Flowchart proses Boldi- Vignaζ 4 . a. Flowchart Kompresi Flowchart proses kompresi dengan metode Boldi-Vigna ζ 4 . dapat dilihat pada gambar 3.14 dibawah ini : Start Input File Teks .txt Atau .doc Ubah Isi File Menjadi Bilangan ASCII End Kompresi Dengan Boldi Vigna ζ 4 Hasil Kompresi Gambar 3.14 Flowchart Kompresi b. Flowchart Dekompresi Flowchart Dekompresi dengan metode Boldi-Vigna ζ 4 dapat dilihat pada gambar 3.15 pada halaman berikutnya: Universitas Sumatera Utara Start Input File Kompresi .bv Ubah Menjadi Bilangan ASCII End Dekompresi Hasil Plaintext Gambar 3.15 Flowchart Dekompresi

3.2 Perancangan Interface