Proses dekompresi data pada algoritma
Elias Gamma Code
tidak jauh berbeda dengan proses kompresinya. Proses dekompresi dapat dilakukan secara langsung dengan
suatu tabel. Dengan cara melakukan penelusuran untuk menemukan angka 0 sehingga sehingga n = 1.
Adapun pseudocode untuk proses dekompresi adalah :
Private decompressString stb, String c, String[]
s { StringBuffer st
= new StringBuffer; StringBuffer bit = new StringBuffer;
StringBuffer stb2; t =
stb.length; pad
= bin2decstb.substringt - 8, t; stb2 = new StringBufferstb.substring0, t - pad - 8;
for int i = 0; i stb2.length; i++ {
bit.appendstb2.charAti; if Arrays.asLists.containsbit.toString {
x = Arrays.asLists.indexOfbit.toString; st.appendc.charAtx;
bit = new StringBuffer; }
} return st.toString;
}
3.4 Perancangan Antarmuka Interface
Perancangan Antarmuka
Interface
merupakan sarana interaksi antara pengguna dan sistem. Hal ini berfungsi untuk memudahkan pengguna dalam melakukan proses sistem.
3.4.1. Rancangan Halaman Utama
Halaman menu utama adalah halaman yang muncul pertama kali saat sistem dijalankan. Halaman ini memiliki empat tombol, yaitu
Key Generator, Enkripsi, Dekripsi,Kompresi dan Dekompresi.
Rancangan halaman tersebut dapat dilihat pada Gambar 3.14
Gambar 3.14 Rancangan Halaman Utama
Keterangan : 1.
JLabel
untuk menampilkan judul skripsi. 2.
JLabel
untuk menampilkan logo usu. 3.
JLabel untuk menampilkan Fakultas, Program Studi, Universitas, Kota dan Tahun.
4.
Jbutton
untuk menampilkan halaman pada proses pembangkit kunci. 5.
Jbutton
untuk menampilkan halaman pada proses enkripsi. 6.
Jbutton
untuk menampilkan halaman pada proses dekripsi. 7.
Jbutton
untuk menampilkan halaman pada proses kompresi. 8.
Jbutton
untuk menampilkan halaman pada proses dekompresi.
3.4.2 Rancangan Halaman Key Generator
Halaman
Key Generator
untuk mengakses nilai kunci publik dan kunci privat, memiliki empat tombol, yaitu
Bangkitkan Kunci, Simpan Kunci Publik, Simpan Kunci Privat dan Kembali ke Menu Utama.
Rancangan halaman tersebut dapat dilihat pada Gambar 3.15
Gambar 3.15 Rancangan
Key Generator
Keterangan :
1. jLabel
untuk keterangan Pembangkit Kunci.
2. jLabel
untuk keterangan p.
3. jLabel
untuk keterangan alpha.
4. jLabel
untuk keterangan a.
5. jLabel
untuk keterangan x.
6. JTextField untuk menampilkan informasi nilai p.
7. JTextField untuk menampilkan informasi nilai alpha.
8. JTextField untuk menampilkan informasi nilai a.
9. JTextField untuk menampilkan informasi nilai x.
10. jButton
untuk melakukan proses bangkitkan kunci.
11. jButton
untuk melakukan proses simpan kunci publik.
12. jButton
untuk melakukan proses simpan kunci privat.
13. jButton
untuk melakukan proses kembali ke menu utama.
3.4.3 Rancangan Halaman Enkripsi
Halaman enkripsi untuk melakukan proses penyandian file, terdapat dua
panel
dalam sebuah
form
yaitu
panel
untuk enkripsi
file
teks dan
panel
untuk pembangkit kunci.
.
Rancangan halaman enkripsi tersebut dapat dilihat pada Gambar 3.16
Gambar 3.16 Rancangan Halaman Enkripsi
Keterangan :
1. jPanel
untuk menampilkan informasi bagian dari proses enkripsi.
2. jLabel
untuk keterangan file teks.
3. JTextField untuk menampilkan informasi lokasi Browse File.
4. JButton untuk melakukan proses Browse File.
5. jLabel
untuk keterangan Isi File.
6. txtArea
untuk menampilkan informasi isi file yang telah diinput.
7. jButton
untuk melakukan proses Enkripsi
8. jButton
untuk mengembalikan
system
seperti semula.
9. jLabel
untuk keterangan cipherteks.
10. txtArea
untuk menampilkan informasi hasil proses enkripsi
11. jButton
untuk melakukan proses
Save File. 12.
jPanel
untuk menampilkan informasi bagian dari proses pembangkit kunci.
13. jLabel
untuk keterangan pembangkit kunci.
14. jLabel
untuk keterangan p.
15. JTextField untuk menampilkan informasi nilai p.
16. jLabel
untuk keterangan alpha
17. JTextField
untuk menampilkan informasi nilai alpha.
18. jLabel
untuk keterangan x
19. JTextField
untuk menampilkan informasi nilai x
20. jButton
untuk melakukan proses Masukkan Kunci Publik
. 21.
jButton
untuk melakukan proses kembali ke menu utama
. 3.4.4
Rancangan Halaman Dekripsi
Halaman dekripsi untuk melakukan proses pengembalian
file
menjadi
file
asli. Terdapat dua
panel
dalam sebuah
form
yaitu
panel
untuk dekripsi
file
teks dan
panel
untuk pembangkit kunci.
Rancangan halaman enkripsi tersebut dapat dilihat pada Gambar 3.17
Gambar 3.17 Rancangan Halaman Dekripsi
Keterangan :
1. jPanel
untuk menampilkan informasi bagian dari proses dekripsi.
2. jLabel
untuk keterangan file teks.
3. JTextField untuk menampilkan informasi lokasi Browse File.
4. JButton untuk melakukan proses Browse File.
5. jLabel
untuk keterangan cipherteks.
6. txtArea
untuk menampilkan informasi isi file yang telah diinput.
7. jButton
untuk melakukan proses dekripsi
8. jButton
untuk mengembalikan
system
seperti semula.
9. jLabel
untuk keterangan plainteks.
10. txtArea
untuk menampilkan informasi hasil proses dekripsi
11. jButton
untuk melakukan proses
Save File. 12.
jPanel
untuk menampilkan informasi bagian dari proses pembangkit kunci.
13. jLabel
untuk keterangan pembangkit kunci.
14. jLabel
untuk keterangan p.
15. JTextField untuk menampilkan informasi nilai p.
16. jLabel
untuk keterangan a.
17. JTextField
untuk menampilkan informasi nilai a.
18. jButton
untuk melakukan proses Masukkan Kunci Privat
. 19.
jButton
untuk melakukan proses kembali ke menu utama
. 3.4.5
Rancangan Halaman Kompresi
Halaman kompresi untuk melakukan proses pemampatan
file
menjadi ukuran lebih kecil dari
file
sebelumnya
.
Rancangan halaman kompresi tersebut dapat dilihat pada Gambar 3.18
Gambar 3.18 Rancangan Halaman Kompresi
Keterangan :
1. jPanel
untuk menampilkan informasi bagian dari proses kompresi.
2. jLabel
untuk menampilkan keterangan
File
Teks Kompresi.
3. JTextField untuk menampilkan informasi lokasi Browse File.
4. JButton untuk melakukan proses Browse File.
5. jLabel
untuk keterangan isi file.
6. txtArea
untuk menampilkan informasi isi file yang telah diinput.
7. jButton
untuk melakukan proses kompresi
8. jButton
untuk mengembalikan sistem seperti semula
. 9.
jButton
untuk melakukan proses kembali ke menu utama.
3.4.6 Rancangan Halaman Dekompresi
Halaman dekompresi untuk melakukan proses pengembalian
file
yang telah dimampatkan
.
Rancangan halaman dekompresi tersebut dapat dilihat pada Gambar 3.19
Gambar 3.19 Rancangan Halaman Dekompresi
Keterangan :
1. jPanel
untuk menampilkan informasi bagian dari proses dekompresi.
2. jLabel
untuk menampilkan keterangan
File
Teks Dekompresi.
3. JTextField untuk menampilkan informasi lokasi Browse File.
4. JButton untuk melakukan proses Browse File.
5. jLabel
untuk keterangan isi file.
6. txtArea
untuk menampilkan informasi isi file yang telah diinput.
7. jButton
untuk melakukan proses dekompresi
8. jButton
untuk mengembalikan sistem seperti semula
. 9.
jButton
untuk melakukan proses kembali ke menu utama.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM