70
5 BAB V PENGUJIAN DAN ANALISIS BAB V
PENGUJIAN DAN ANALISIS
Penulis akan melakukan pengujian terhadap ketiga algoritma dengan didasarkan pada kecepatan proses encoding dan ukuran file hasil kompresi.
Pengujian tersebut dipilih oleh penulis karena dalam bidang kompresi selain ketepatan hasil decoding, kedua faktor pengujian tersebut juga penting untuk
dilakukan.
5.1 Perbandingan Jumlah Bit
Pada percobaan
perbandingan yang
pertama, penulis
akan membandingkan jumlah bit yang dihasilkan oleh ketiga algoritma dari proses
encoding. Untuk melakukan pengujian, penulis membuat sebuah kelas yang berisi sebagai berikut.
Gambar 5.1 Kelas pengujian perbandingan jumlah bit
Pada program diatas, penulis membuat sebuah kalimat sebagai data yaitu “Universitas Sanata Dharma Yogyakarta”. Dari data tersebut penulis akan
menghitung jumlah bit data asli dan menghitung jumlah bit hasil dari encoding tiap algoritma. Hasil dari program di atas sebagai berikut.
Gambar 5.2 Capture hasil pengujian jumlah bit
Gambar 5.3 Lanjutan capture hasil pengujian jumlah bit
Hasil penghitungan jumlah bit menghasilkan bahwa data asli yang diubah menjadi biner mempunyai 285 bit, sedangkan hasil encoding Huffman Statis
adalah 233 bit, Huffman Dinamis menjadi paling banyak dengan jumlah 266 bit dan Huffman Modifikasi sebanyak 164 bit. Hasil decoding ketiga algoritma
tersebut juga menunjukan bahwa proses berjalan dengan baik dan menghasilkan kalimat yang sama dengan data asli. Hasil tersebut dapat ditampilkan dalam tabel
berikut.
Algoritma Jumlah Bit
Data asli 285
Huffman Statis 233
Huffman Dinamis 266
Huffman Modifikasi 164
Tabel 5.1 Tabel hasil perbandingan jumlah bit
Untuk lebih membuktikan, penulis melakukan pengujian terhadap enam data. Semua data akan dilakukan pengujian untuk mengetahui jumlah bit setelah
kompresi dan menghitung ratio compression. Penulis membuat sebuah frame untuk memudahkan proses pengujian.
Gambar 5.4 Frame pengujian jumlah bit dan ratio compression
File penguji
Jumlah karakter
Bit awal
Huffman Statis Huffman
Dinamis Huffman
Modifikasi Bit
Ratio Bit
Ratio Bit
Ratio c1.txt
100 788
649 17.63
721 8.5
453 42.51
c2.txt 204
1592 1471
7.6 1568
1.5 994
37.56 c3.txt
304 2376
2101 11.57
2160 9.09
1435 39.6
c4.txt 408
3181 2902
8.77 2950
7.26 1966
38.19 c5.txt
510 3976
3737 6.01
3790 4.67
2514 36.77
c6.txt 612
4772 4504
5.61 4559
4.46 3028
36.54
Tabel 5.2 Tabel hasil pengujian jumlah bit dan ratio compression 5.2
Perbandingan Ukuran File Kompresi dan Waktu Proses
Percobaan selanjutnya adalah membandingkan ukuran hasil kompresi dan waktu proses kompresi. Dalam melakukan proses ini, penulis menggunakan
user interface untuk memudahkan pengguna dalam pengoperasian. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 5.5 Tampilan awal aplikasi
Gambar 5.6 Tampilan klik Browse untuk memilih file
Gambar 5.7 Tampilan encoding untuk memilih salah satu algoritma
Gambar 5.8 Tampilan loading proses encoding
Gambar 5.9 Pemberitahuan jika proses encoding berhasil
Pada percobaan ini penulis melakukan enam percobaan dengan ukuran berbeda yang semakin bertambah secara linear. Percobaan ini akan menguji
kecepatan dan hasil kompresi dari ketiga algoritma yang telah dibuat. Data ukuran file pengujian ada pada tabel berikut.
Nama file Ukuran file
uji1.txt 100 KB
uji2.txt 200 KB
uji3.txt 300 KB
uji4.txt 400 KB
uji5.txt 500 KB
uji6.txt 600 KB
Tabel 5.3 Data ukuran file pengujian
Dari pengujian tersebut penulis mendapatkan file dan ukuran hasil kompresi serta waktu yang diperlukan untuk melakukan encoding. Data yang
diperoleh sebagai berikut.
Data Waktu Proses
Ukuran File Hasil Statis
Dinamis Modifikasi Statis
Dinamis Modifikasi
uji1.txt 36 menit
34 detik 39 menit
41 detik 20 menit
42 detik 131 KB
131 KB 84 KB
uji2.txt 3 jam 48
menit 22 detik
3 jam 50 menit 17
detik 1 jam 53
menit 3 detik
261 KB 261 KB
167 KB
uji3.txt 7 jam 48
menit 19 detik
7 jam 49 menit 52
detik 4 jam 57
menit 19 detik
392 KB 392 KB
250 KB
uji4.txt 12 jam 5
menit 27 detik
11 jam 55 menit 31
detik 8 jam 42
menit 56 detik
522 KB 522 KB
333 KB
uji5.txt 16 jam
25 menit 16 detik
16 jam 30 menit 46
detik 12 jam 33
menit 57 detik
653 KB 653 KB
417 KB
uji6.txt 21 jam
29 menit 16 detik
21 jam 11 menit 40
detik 16 jam 57
menit 2 detik
785 KB 785 KB
501 KB
Tabel 5.4 Tabel hasil pengujian
Untuk mempermudah dalam pembacaan hasil pengujian, maka penulis akan menampilkan dalam bentuk grafik untuk waktu proses dan file hasil
kompresi.
Gambar 5.10 Grafik waktu yang dibutuhkan untuk kompresi
Gambar 5.11 Grafik ukuran file hasil kompresi
0:00:00 2:24:00
4:48:00 7:12:00
9:36:00 12:00:00
14:24:00 16:48:00
19:12:00 21:36:00
0:00:00
uji 1 uji 2
uji 3 uji 4
uji 5 uji 6
statis dinamis
modif
100 200
300 400
500 600
700 800
900
uji 1 uji 2
uji 3 uji 4
uji 5 uji 6
statis dinamis
modif
Berdasarkan hasil pengujian dari ketiga algoritma tersebut, Huffman Modifikasi jauh lebih baik untuk waktu yang diperlukan dalam sekali melakukan
kompresi. Selain itu ukuran file hasil kompresi lebih kecil dibandingkan algoritma Huffman Statis dan Huffman Dinamis.
Menurut data hasil pengujian di atas, terdapat satu permasalahan yang sangat menganggu yaitu masalah waktu yang dibutuhkan untuk melakukan
proses. Terlihat pada percobaan terhadap uji6.txt untuk Huffman Statis memerlukan waktu 21 jam 29 menit 16 detik, hal ini akan sangat menganggu jika
ukuran file yang dikompres melebihi 1 Mb. Hal tersebut dikarenakan algoritma yang digunakan melakukan proses
loop yang banyak, setiap algoritma paling tidak melakukan dua kali proses loop. Jumlah proses ini akan mengikuti banyaknya dari karakter dalam suatu file, oleh
karena itu semakin banyak karakter akan semakin besar ukuran file dan semakin lama dalam memprosesnya. Permasalahan waktu tersebut juga disebabkan karena
di Java, memakai banyak memori untuk menyimpan proses yang berjalan sehingga dapat memperlambat proses dan memerlukan waktu yang cukup banyak.
5.3 Hubungan Peluang Kemuculan Setiap Karakter dengan Jumlah