Perbandingan Jumlah Bit Perbandingan kompresi teks menggunakan algoritma huffman statis, huffman dinamis dan modifikasi algoritma huffman.

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