No.x, JSSN: 1978-1520 n 51
51
Perbandingan Metode RLE dan Huffman dalam Kompresi Data Teks
Herdianto
Program Studi Sistem Komputer, Fakultas Sains dan Teknologi, Universitas Pembangunan Panca Budi Jl. Jend. Gatot Subroto Km 4.5 PO.BOX.1099 Medan
Telp. (061) 50200508
e-mail: [email protected] Abstrak
Kompresi merupakan suatu cara yang digunakan untuk memperkecil data. Ada beberapa metode yang dapat digunakan dalam kompresi data seperti Huffman, Run Length Encoding (RLE), Lempel-ZIV- Welch ( LZW) dan lain – lain. Dari beberapa metode kompresi data tersebut akan digunakan 2 ( dua) metode yaitu Huffman, Run Length Encoding (RLE) dalam melakukan kompresi data teks. Tujuan penelitian ini untuk mengetahui manakah dari kedua metode kompresi data teks ini yang dapat melakukan kompresi lebih baik. Untuk itu pada penelitian ini telah dirancang perangkat lunak yang mengimplementasikan algoritma kedua metode kompresi tersebut. Dari hasil pengujian yang telah dilakukan diketahui metode RLE dapat melakukan kompresi data teks hingga 0,71% sedangkan Huffman 0,95%.
Kata Kunci: kompresi, teks, metode, pengujian, hasil
1. PENDAHULUAN
Data dapat berupa teks, gambar, suara dan video semakin besar data tersebut maka membutuhkan ruang penyimpanan yang besar juga. Selain itu data yang besar menyebabkan waktu pengiriman / transfer data semakin lama baik itu dilakukan pada saat online maupun offline. Tetapi permasalahan pada besarnya data sebenarnya masih bisa diperkecil karena jika diperhatikan isi sebuah data secara keseluruhan ditemukan adanya redundancy ( komponen data yang sama ). Berdasarkan konsep di atas maka sebuah data masih dapat diperkecil atau lebih dikenal dengan istilah kompresi/pemampatan.
Beberapa penelitian terkait kompresi data telah dilakukan peneliti sebelumnya seperti penelitian yang dilakukan oleh [1] pada tahun 2012. Pada penelitian ini [1] menggunakan metode Run Length Encoding ( RLE ) untuk melakukan kompresi data audio jenis MP3 dan WAV dengan hasil pengujian menunjukkan kompresi data MP3 memiliki rasio penurunan rata-rata : 0.46 % dan waktu rata-rata yang dibutuhkan untuk melakukan kompresi selama : 6.45 detik. Sedangkan untuk jenis data WAV hasil pengujian menunjukkan kompresi memiliki rasio penurunan rata-rata : 13.83 % dan waktu rata-rata yang dibutuhkan untuk melakukan kompresi selama : 9.52 detik. Lalu ada juga penelitian lainnya pada tahun 2016 yang dilakukan oleh [2] pada penelitian ini [2] menggunakan metode RLE untuk melakukan kompresi data citra jenis JPG dimana hasil pengujian menunjukkan kompresi data JPG memiliki rasio penurunan rata-rata :11.47 %. Secara umum metode kompresi data telah banyak diterapkan ini terbukti pada tahun 2019 ada juga penelitian yang dilakukan oleh [3], [4] dimana masing - masing peneliti menggunakan metode sequitur dan huffman dengan jenis data yang dikompresi teks untuk sequitur dan doc, bmp, jpeg untuk huffman. Hasil ke dua penelitian di atas menunjukkan untuk sequitur menunjukkan penurunan rata – rata hingga : 5.17 % sedangkan metode huffman menunjukkan rasio penurunan rata- rata hingga :14.76 % untuk jenis data yang dikompres doc.
Dari 4 penelitian di atas peneliti belum melihat penggunaan metode RLE untuk kompresi data teks. Oleh karena itu pada penelitian ini peneliti mencoba membandingkan metode RLE dan huffman dalam melakukan kompresi data teks.
2. METODE
Untuk menyelesaikan penelitian ini maka peneliti merancang 2 (dua) perangkat lunak yang merupakan implementasi dari algoritma RLE dan huffman. Ada pun bentuk dari algoritma RLE adalah sebagai berikut [2], [6]:
1. Membaca jumlah karakter yang akan dikompresi.
2. Lakukan proses kompresi data karakter bila ditemukan karakter yang sama secara berurutan lebih dari dua.
3. Beri bit penanda pada data kompresi.
4. Tambahkan deretan bit untuk menyatakan jumlah nilai data yang sama berurutan.
5. Tambahkan deretan bit yang menyatakan karakter yang berulang.
6. Konversikan semua data hasil kompresi.
7. Simpan karakter hasil kompresi.
Adapun Flowchart kompresi menggunakan algoritma RLE dapat dilihat pada Gambar 1.
Gambar 1. Flowchart kompresi menggunakan algoritma RLE Ada pun bentuk dari algoritma huffman adalah sebagai berikut [5]:
1. Hitung banyaknya data karakter dan jumlah masing-masing karakter yang terdapat dalam sebuah file.
2. Susun setiap jenis data karakter dengan urutan jumlahnya paling sedikit ke paling besar.
3. Buat pohon biner berdasarkan urutan data karakter yang jumlahnya terkecil ke terbesar selanjutnya beri kode untuk tiap karakter.
4. Ganti data karakter yang ada dengan kode bit berdasarkan pohon biner.
5. Simpan jumlah untuk setiap kode bit dimulai dari yang terbesar ke terkecil serta data yang sudah berubah menjadi kode bit sebagai data hasil kompresi.
Perbandingan Metode RLE dan Huffman dalam Kompresi Data Teks Adapun Flowchart kompresi menggunakan algoritma Huffman dapat dilihat pada Gambar 2.
Gambar 2. Flowchart kompresi menggunakan algoritma Huffman 3. HASIL DAN PEMBAHASAN
3.1 Hasil Pengujian Metode Kompresi RLE dan Huffman
Selanjutnya setelah program selesai maka dilakukan uji coba terhadap kedua algoritma kompresi tersebut dalam mengkompresi data teks.
Perbandingan Metode RLE dan Huffman dalam Kompresi Data Teks Gambar 3. Kompresi Data Teks Menggunakan Algoritma RLE
Gambar 3. Menunjukkan data dan jumlah karakter yang akan dikompresi yang berupa huruf AKKKKKKUUUUUUUMMMMMMMMMMMEEEEEEEEENNNNNNNNN 42 karakter (byte)
Gambar 4.Proses kompresi data teks dilakukan
Gambar 4. menunjukkan setelah dilakukan kompresi dengan RLE maka urutan karakter pada gambar 3 tersebut berubah menjadi 1A6K7U11M8E9N. Ini artinya telah telah terjadi penurunan kapasitas data dari yang semula 42 byte menjadi 12 byte .
Gambar 5. Proses kompresi data teks dengan huffman dilakukan
Tabel 1. Konversi kode Huffman ke karakter
Karakter Huffman Kode ASCII
M 10 01001101
N 01 01001110
E 00 01000101
U 111 01010101
K 1101 01001011
A 1100 01000001
17 bit ( 2 byte digenapkan) 48 bit ( 6 byte )
Dari Tabel 1 diketahui bahwasannya setelah dilakukan kompresi dengan huffman maka urutan karakter pada Gambar 3 tersebut terjadi penurunan kapasitas data dari yang semula 42 byte menjadi 2 byte .
3.2 Pembahasan
Besarnya tingkat penurunan data yang dapat diperoleh oleh suatu metode kompresi dapat dihitung dengan perbandingan antara panjang data karakter asli dengan panjang data hasil kompresi, sehingga dapat ditulis sebagai dalam persamaan berikut [7]:
!"#$% '%()*+#$ = )"-."-/ 0"1" "#2$
)"-."-/ 0"1" ℎ"#$2 4%()*+#$
atau jika ditulis dalam bentuk persentase menjadi
!"#$% '%()*+#$ = ( 1 − 0123124 5161 7189: ;<=0>?89
0123124 5161 18:9 ) * 100 %
Perbandingan Metode RLE dan Huffman dalam Kompresi Data Teks !"#$% '%()*+#$ !,- = 1 − 1232 ∗ 100 %
= 0,71%
Sedangkan untuk Huffman
!"#$% '%()*+#$ !,- = 1 − 211 ∗ 100 % = 0,95%
4. KESIMPULAN
Dari hasil uji coba yang telah dilakukan algoritma huffman lebih baik dari RLE dalam kompresi data teks hal ini dilihat dari hasil kapasitas kompresi dari kedua algoritma tersebut.
DAFTAR PUSTAKA
[1] Aditya Rahandi , Dian rachmawati , Sajadin Sembiring, Analisis dan Implementasi Kompresi File Audio Dengan Menggunakan Algoritma Run Length Encoding (RLE),jurnal Alkhawarizimi, Vol 1, no.1, 2012.
[2] Cut Try Utari, Implementasi Algoritma Run Length Encoding Untuk Perancanganaplikasi Kompresi Dan Dekompresi File Citra, jurnal Times , vol. v no 2 : 24-31 , 2016.
[3] Yulia Darnita, Khairunnisyah, Husni Mubarak, Kompresi Data Teks Dengan Menggunakan Algoritma Sequitur, jurnal sistemasi, volume 8, no.1 : 104 – 113, 2019.
[4] Sunardi, Samsu Alam , Suci Rahma, Dani R, Implementasi Aplikasi Kompresi Data dengan Metode Huffman Code, prosiding seminar ilmiah sistem informasi dan teknologi informasi, vol. viii, no 2 : 41-50 , 2019.
[5] Eka Prayoga, Kristien Margi Suryaningrum, Implementasi Algoritma Huffman Dan Run Length Encoding Pada Aplikasi Kompresi Berbasis Web, jurnal ilmiah teknologi informasi terapan, vol. iv, no. 2 : 92 - 101, 2018.
[6] Rahandi, Aditya, Analisis dan Implementasi Kompresi File Audio Dengan Menggunakan Algoritma Run Length Encoding (RLE), jurnal universitas sumatera utara, 2009.
[7] Edy Sujatmiko , R. Rizal Isnanto , Eko Handoyo, Pemilihan Algoritma Optimal untuk Kompresi Data Citra Iris Mata Manusia.