Metode dan Perancangan Sistem

5 dengan suatu pola tertentu sehingga berkas tersebut dapat meminimalisasi ukurannya. Kompresi data umumnya diterapkan pada mesin komputer, hal ini dilakukan karena setiap simbol yang dimunculkan pada komputer memiliki nilai bit-bit yang berbeda. Kompresi data digunakan untuk mengurangkan jumlah bit- bit yang dihasilkan dari setiap simbol yang muncul. Dengan kompresi ini diharapkan dapat mengurangi memperkecil ukuran data dalam ruang penyimpanan [4]. Algoritma Huffman Algoritma Huffman termasuk ke dalam kelas yang menggunakan metode statik. Metode statik adalah metode yang selalu menggunakan peta kode yang sama, metode ini membutuhkan dua fase two-pass: fase pertama untuk menghitung probabilitas kemunculan tiap simbolkarakter dan menentukan peta kodenya, fase kedua untuk mengubah pesan menjadi kumpulan kode yang akan ditransmisikan. Sedangkan berdasarkan teknik pengkodean simbol yang digunakan, algoritma Huffman menggunakan metode symbolwise. Metoda symbolwise adalah metode yang menghitung peluang kemunculan dari setiap simbol dalam satu waktu, dimana simbol yang lebih sering muncul diberi kode lebih pendek dibandingkan simbol yang jarang muncul [5]. Pembentukan Pohon Huffman Kode Huffman pada dasarnya merupakan kode prefiks prefix code. Kode prefiks adalah himpunan yang berisi sekumpulan kode biner, dimana pada kode prefiks ini tidak ada kode biner yang menjadi awal bagi kode biner yang lain. Kode prefiks biasanya direpresentasikan sebagai pohon biner yang diberikan nilai atau label. Untuk cabang kiri pada pohon biner diberi label 0, sedangkan cabang kanan pada pohon biner diberi label 1. Rangkaian bit yang terbentuk pada setiap lintasan dari akar ke daun merupakan kode prefiks untuk karakter yang berpadanan. Pohon biner ini biasa disebut pohon Huffman [6].

3. Metode dan Perancangan Sistem

Prototype Model adalah metode pengembangan perangkat lunak yang banyak digunakan. Metode ini memungkinkan adanya interaksi antara pengembang sistem dengan pengguna sistem nantinya, sehingga dapat mengatasi ketidakserasian antara pengembang dan pengguna. Bagan mengenai prototype model dapat dilihat pada Gambar 4. Gambar 4 Bagan Prototype Model [7] 6 Tahap-tahap dalam Prototype Model adalah sebagai berikut: 1. Listen to Costumer ; Pada tahap ini dilakukan analisis terhadap permasalahan yang ada, yaitu mendapatkan data dan literatur yang terkait dengan proses kompresi, enkripsi, dekripsi dan dekompresi terhadap data teks dan gambar, menggunakan algoritma GOST; melalui dokumen dan referensi yang ada. 2. Build ; Selanjutnya setelah memperoleh data dan mengetahui proses kompresi dan dekompresi dengan metode Huffman serta proses enkripsi dan dekripsi dengan GOST, langkah berikutnya adalah membuat perancangan dengan menggunakan Data Flow Diagram DFD mengenai sistem yang akan dibangun nantinya, perancangan algoritma Huffman dan algoritma GOST. Selain itu dilakukan pula perancangan pada user interface berupa prototype sistem. 3. Costumer Test ; Pada Tahap ini dilakukan pengujian sistem, yaitu menjalankan proses implementasi sistem, dengan menguji data teks dan data gambar, serta melihat hasil yang diberikan apakah sudah sesuai dengan konsep Kompresi, Kriptosistem dan algoritma GOST. Proses Kompresi dengan Algoritma Huffman Algoritma Huffman yang diterapkan dalam program aplikasi ini adalah tipe statik, dimana dilakukan dua kali pembacaan two-pass terhadap file yang akan dikompresi. Proses kompresi dengan algoritma huffman, dapat dijelaskan sebagai berikut : Algoritma kompresi huffman dimulai dengan input file. Selanjutnya file tersebut diproses dengan perhitungan karakter yang muncul. Kemudian dilanjutkan dengan pembentukan huffman tree. Pembentukan Huffman tree ini membaca karakter di dalam teks untuk menghitung frekuensi kemunculan setiap karakter. Setiap karakter penyusun teks dinyatakan sebagai pohon bersimpul tunggal. Setelah pembentukan huffman tree selesai, maka akan dilakukan pengolahan pengkodean data. Berdasarkan setiap proses yang terjadi, maka proses atau output yang keluar berbeda dengan file aslinya sebelum dikompresi. Proses kompresi dengan algoritma huffman, dalam bentuk flowchart, ditunjukkan pada Gambar 7. Gambar 7 Flowchart Proses Kompresi dengan Algoritma Huffman Proses Dekompresi dengan Algoritma Huffman Proses dekompresi dengan algoritma huffman, dapat dijelaskan sebagai berikut : Algoritma dekompresi huffman dimulai dengan input file. Selanjutnya file tersebut diproses dengan membaca karakter yang muncul. Seperti halnya proses kompresi, dekompresi juga membentuk huffman tree. Pembentukan Huffman tree ini membaca karakter di dalam teks untuk menghitung frekuensi kemunculan setiap karakter. Kemudian membaca kode dari hasil dari kompresi. 7 Setelah membaca kode dari hasil kompresi, proses decoding berjalan untuk mengembalikan ukuran file asli. Berdasarkan setiap proses yang terjadi, maka output dari sistem adalah data asli. Proses kompresi dengan algoritma huffman, dalam bentuk flowchart, ditunjukkan pada Gambar 8. Gambar 8 Flowchart Proses Dekompresi dengan Algoritma Huffman Proses Enkripsi dengan Algoritma GOST Proses enkripsi dengan algoritma GOST, dapat dijelaskan sebagai berikut : Proses enkripsi file dimulai dengan input file plaintext. Selanjutnya input key sebagai perhitungan manual S-box dalam proses enkripsi. Setelah proses input selesai, maka selanjutnya proses enkripsi dijalankan. Proses enkripsi melakukan langkah-langkah proses enkripsi, perhitungan manual S-box, dan lain-lain. Setelah proses selesai dijalankan, user mendapatkan hasil output ciphertext. Proses enkripsi dengan algoritma GOST, dalam bentuk flowchart, ditunjukkan pada Gambar 9. Gambar 9 Flowchart Proses Enkripsi dengan Algoritma GOST Proses Dekripsi dengan Algoritma GOST Proses dekripsi dengan algoritma GOST, dapat dijelaskan sebagai berikut : Proses dekripsi file dimulai dengan input file ciphertext. Selanjutnya input key sebagai perhitungan manual S-box dalam proses enkripsi. Setelah proses input selesai, maka selanjutnya proses dekripsi dijalankan. Proses dekripsi melakukan langkah-langkah proses dekripsi, perhitungan manual S-box, kunci yang diterapkan dan lain-lain. Setelah proses selesai dijalankan, user mendapatkan hasil output yaitu file asli plaintext. Proses dekripsi dengan algoritma GOST, dalam bentuk flowchart, ditunjukkan pada Gambar 10. 8 Gambar 10 Flowchart Proses Dekripsi dengan Algoritma GOST

4. Implementasi dan Pembahasan