Implementasi Kombinasi Algoritma Elias Omega Codes Dan Golomb Rice
Dengan Teknik High Compress Pada File Teks
Febika Rada Kesuma
Teknik Informatika, Fakultas Ilmu Komputer & Teknologi Informasi, Universitas Budi Darma, Medan, Indonesia Email: [email protected]
Abstrak
Data yang berukuran besar, tentu dapat memadati ruangan penyimpanan didalam media komputer, salah satunya adalah data teks. Semakin banyak informasi yang terkandung didalam data teks tersebut, semakin besar ukuran pemyimpanan yang digunakan. Untuk mengatasi hal tersebut tentu dibutuhkanya sebuah teknik yang dapat mengecilkan atau mengompress ukuran file besar tersebut menjadi lebih kecil dari ukuran semula. Teknik yang dapat digunakan adalah teknik kompresi. Teknik kompresi dapat mengecilkan data file teks dari ukuran semula. Dalam penelitian ini, algoritma kompresi yang dipakai adalah algoritma Elias Omega Code dan Golomb Rice. Dengan maksud teknik high compress, data yang diinputkan akan dilakukan kompresi sebanyak dua kali menggunakan algoritma yang sudah disebutkan sebelumnya. Kompresi pertama dilakukan dengan menggunakan algoritma Elias Omega Code, hasil kompresi pertama dilanjutkan dengan kompresi kedua menggunakan algoritma Golomb Rice. Berdasarkan hasil analisa didapatkan high compress dengan space saving hingga mencapai 55,5 % sedangkan rasio kompresi sebanyak 44,4%.
Kata Kunci: Kompresi, Elias Omega Code, Golomb Rice
1. PENDAHULUAN
Teknologi pemampatan data atau dikenal dengan kompresi data adalah sebuah cara untuk memadatkan data sehingga hanya memerlukan ruangan penyimpanan lebih kecil, sehingga lebih efisien dalam menyimpannya atau mempersingkat waktu pertukaran data tersebut. Data adalah kenyataan dan kejadian yang berisikan fakta. hasil dari pengolahan data adalah informasi yang dapat disajikan dalam bentuk teks, gambar, suara, maupun video. Tingginya kebutuhan informasi yang dapat diakses, terpercaya, dan cepat, membuat ukuran data sangat mempengaruhi. Semakin besar data, semakin lama pula transfer data dan mengurangi efisiensi waktu memperoleh informasi.
Salah satu data yang dapat diandalkan dalam berbagi informasi adalah data dalam bentuk teks. Untuk saat ini, data teks yang mengandung karakter huruf, angka dan simbol tentu juga memiliki space yang sedikit besar, hal ini dikarenakan banyaknya informasi yang terkandung didalamya. Akan tetapi, pengguna didalam ruang penyimpananya tidak hanya menyimpan data berupa file teks, tentu ada juga beberapa file yang dapat berukuran yang lebih besar, sehingga beberapa file tersebut harus dapat saling berbagi ruang penyimpanan tanpa harus menghapus file penting lainya.
Maka untuk membuat banyak ruang kosong dan memiliki ukuran data yang tidak besar pada media penyimpanan diperlukan teknik kompresi yang memperkecil ukuran data. Kompresi data adalah proses di mana file (teks, audio, video) dapat ditransformasikan ke file lain (terkompresi), sehingga file terkompresi dapat sepenuhnya kembali seperti file asli tanpa kehilangan informasi yang sebenarnya. Teknik kompresi membutuhkan suatu langkah-langkah penyelesaian yang disebut dengan algoritma. Salah satunya adalah algoritma Elias Omega Code dan Golomb Rice.
Penelitian yang dilakukan Annirudha tentang kompresi algoritma Elias Omega Code dapat diambil kesimpulan bahwa proses kompresi algoritma hanya mengecilkan ukuran data 5 sampai dengan 8 persen saja [1]. Sedangkan penelitian yang dilakukan oleh Ginting mendapatkan kesimpulan bahwa algoritma Golomb Rice
berhasil menkompresi citra dominan hitam dengan presentasi 74 persen [2].
Pada penelitian ini, penulis akan melakukan kompresi file teks dengan dua algoritma kompresi. Data teks yang dikompresi adalah data berupa karakter ASCII dengan fortmat file teks .txt dengan mengkombinasikan dua algoritma. Kombinasi yang dimaksudkan adalah melakukan proses kompresi sebanyak dua kali. Proses kompresi pertama dilakukan dengan algoritma Elias Omega Code, hasil kompresi dilanjutkan untuk dikompresi kembali menggunakan algoritma Golomb Rice. Sedangkan untuk proses pengembalian ukuran file teks dilakukan dengan cara yang sama. Hal ini bertujuan untuk mendapatkan tingkat pengecilan file yang optimal. Tujuan dari pengabungan proses dua algoritma ini dengan mengkompresi sebuah file teks adalah untuk mendapatkan hasil kompresi yang maksimal.
2. TEORITIS
2.1 Kompresi
Kompresi data telah dimanfaatkan dalam berbagai aspek multimedia, gambar, teks, audio maupun video yang kita dapatkan dari web merupakan file yang telah terkompresi. TV-HD juga merupakan hasil kompresi MPEG-2, kebanyakan modem juga melakukan proses kompresi data, dan beberapa sistem berkas otomatis mengkompresi data ketika data tersimpan [1]. Sehingga alasan kita membutuhkan kompresi data yaitu karena tegnologi ini memudahkan kita mendapat informasi atau data yang berkualitas dan tidak menghabiskan ruang penyimpanan kita.
Kompresi data merupakan seni atau ilmu yang memberikan informasi dalam bentuk yang padat menggunakan struktur yang ada pada data asli dengan tujuan untuk mengurangi jumlah bit pada data yang terkompresi [2]. Data dapat berupa karakter dalam file text, maupun nomor yang merupakan representasi dari file gambar. Kompresi data terdiri dari 2 komponen yaitu sebuah algoritma encoding yaitu algoritma yang membuat pesan atau text menjadi terkompresi sehingga jumlah bit yang ada dalam file tersebut menjadi lebih sedikit, dan algoritma decoding yaitu algoritma yang merekonstruksi file terkompresi menjadi file asli.
2.2 Algoritma Elias Omega Codes
Algoritma Elias Omega Code merupakan algoritma kompresi yang diperkenalkan oleh Peter Elias pada tahun 1975. Gagasan utama kode ini adalah untuk awalan integer dikodekan dengan representasi kode dari besarnya order dan inisialisasi kode secara rekursif. Algoritma Elias Omega Code mengurutkan karakter yang paling banyak muncul ke bit terkecil dan karakter yang langka ke bit terbesar. Dengan begitu, ukuran file dapat diminimalisir dari ukuran aslinya[3].
2.3 Algoritma Golomb Rice
Rice Code adalah salah satu algoritma kompresi yang dapat memperkecil ukuran data yang lebih kecil dari ukuran sebelumnya. Sebelum adanya Rice Code, terdapat algoritma yang disebut sebagai Golomb Codes yang merupakan familydengan Rice Code karena memiliki persamaan yang bergantung pada pemilihan parameter m, dimana m adalah himpunan dari 2 (m = 2k). Rice Code disebut juga sebagai Golomb-Rice Code, yang diberi nama sesuai dengan penciptanya yaitu Robert F. Rice pada tahun 1979 [4].
Rice Code merupakan special case dari Golomb Codes yang mana nilai x dikodekan k pertama digeser kekanan untuk mendapatkan nilai unary coded. Kemudian urutan terendah dari k nilai asli dari x dilanjutkan sebagai k yang bernilai biner. Rice Code menunjukkan penggunaan sebuah subset dari turunan Golomb Code untuk menghasilkan sebuah kode yang sederhana dan mudah diimplementasikan dalam kasus aritmatika biner secara efisien, dan keduanyadigunakan pada beberapa metode untuk kompresi audio lossless. Di dalam algortima Rice, ada sebuah nilai k yang artinya adalah banyaknya angka 1 pada suffix dari kode terkompresi. Dalam proses encode, dilakukan pemisahan pada prefix dan suffix. Ketika proses decode, decoder membaca sign bit dan lompat ke angka 0 pertama dari sebelah kiri, yang mana akan berlanjut kembali untuk penambahan bit pada k selanjutnya.
3. ANALISA
File yang berukuran besar, tentu dapat memadati ruangan penyimpanan didalam komputer, salah satunya adalah file teks. Semakin banyak informasi yang terkandung didalam file teks tersebut, semakin besar ukuran pemyimpanan yang digunakan. Untuk mengatasi hal tersebut tentu dibutuhkanya sebuah teknik yang dapat mengecilkan atau mengompress ukuran file besar tersebut menjadi lebih kecil dari ukuran semula. Teknik yang dapat digunakan adalah teknik kompresi.
Teknik kompresi dapat mengecilkan data file teks dari ukuran semula. Dalam penelitian ini, algoritma kompresi yang dipakai adalah algoritma Elias Omega Code dan Golomb Rice. Dengan maksud teknik high compress, file yang diinputkan akan dilakukan kompresi sebanyak dua kali menggunakan algoritma yang sudah disebutkan sebelumnya. Kompresi pertama dilakukan dengan menggunakan algoritma Elias Omega Code, hasil kompresi pertama dilanjutkan dengan kompresi kedua menggunakan algoritma Golomb Rice. Kemudian hasil akhir dari kompresi kedua, dihitung parameternya berupa rasio kompresi dan space saving. Sedangkan untuk melakukan pengembalian ukuran file, dekompresi pertama
dilakukan dengan algoritma Golomb Rice, hasil dekompresi pertama, dilanjutkan dengan dekompresi kedua menggunakan algoritma Elias Omega Code, sehingga didapatkan data file awal.
Gambar 1. Diagram Kompresi File Teks
3.1 Penerapan Algoritma
Sebelum melakukan manual kompresi, terlebih dahulu menentukan file teks yang akan dikompresi. Adapun contoh file teks yang akan dikompresi dengan nama file sampel.txt seperti pada gambar di bawah ini.
Gambar 2. File Teks Sampel
Untuk melihat isi dari file teks pada keperluan hitungan manual, maka dibutuhkan aplikasi tambahan. Adapun hasil dari isi file teks sampel adalah sebagai pada gambar di bawah ini.
Gambar 3. Isi File Teks Sampel
Adapun isi file teks sampel.txt yang akan dikompresi secara manual adalah "FEBIKA RADA KESUMA" (tanpa
tanda petik) dengan nilai Hexa
46,45,42,49,4B,41,20,52,41,44,41,20,4B,45,53,55,4D,41. Pada proses hitungan manual, proses kompresi pertama dilakukan dengan algoritma Elias Omega Code. Sebelumnya string karakter dikelompokan kedalam tabel dengan banyaknya jumlah karakter yang muncul seperti tabel di bawah ini.
Tabel 1. Urutan Sampel Teks
Karakter Frekuensi F 1 E 2 B 1 I 1 K 2 A 4
Spasi 2 R 1 D 1 S 1 U 1 M 1 Total 18 Karakter
Berdasarkan pada tabel di atas, terdapat 18 karakter yang akan dikompresi pertama menggunakan algoritma Elias Omega Code. Pada dasarnya 1 karakter adalah 8 bit. a. Kompresi Berdasarkan Algoritma Elias Omega Code
Sebelum melakukan kompresi menggunakan algoritma Elias Omega Code, karakter yang sudah disusun pada tabel 1 di atas terlebih dahulu disusun berdasarkan frekuensi terbesar dan ditentukan banyaknya jumlah bit pada sampel karakter tersebut. Adapun prosesnya dapat dilihat pada tabel di bawah ini.
Tabel 2. Urutan Karakter Sesuai Banyaknya Frekuensi
Karakter BinnerKarakter Bit Frekuensi Bit * Frek A 01000001 8 4 32 E 01000101 8 2 16 K 01001011 8 2 16 spasi 00100000 8 2 16 F 01000110 8 1 8 B 01000010 8 1 8 I 01001001 8 1 8 R 01010010 8 1 8 D 01000100 8 1 8 S 01010011 8 1 8 U 01010101 8 1 8 M 01001101 8 1 8 Total 144 Bit
Berdasarkan apda tabel 2 di atas, satu karakter terdiri dari 8 bit. Sehingga dengan jumlah karakter sebanyak 18 karakter dikalikan dengan 8 bit, maka total keseluruhan ukuran karakter adalah 144 bit. Setelah nilai bit didapatkan dari semua karakter, selanjutnya adalah melakukan kompresi pertama menggunakan algoritma Elias Omega Code. kompresi dilakukan dengan mengalikan nilai frekuensi dari karakter yang muncul dengan nilai frekuensi bit dari algoritma Elias Omega Codes. Adapun untuk mendapat nilai bit algoritma Elias Omega Codes adalah sebagai berikut: a) Inisialisasikan code_so_far = 0. b) Jika n = 1, maka stop (proses berhenti). Jika tidak, maka tambahkan representasi binary dari n ke code_so_far. Asumsikan jumlah binary bit sebagai L (panjang digit bit). c) Ulangi langkah b hingga representasi binary dari L = 1 untuk menggunakan n. d) Dimisalkan jika n = 17 dan code_so_far = 0. Ubahlah n ke dalam bentuk binary menjadi n = 1710 = 100012 dengan L = 5.
Sehingga didapatkan kode nilai Elias Omega Code sesuai dengan jumlah karakter yang akan dikompresi adalah sebagai berikut.
Tabel 3. Kode Nilai Algoritma Elias Omega Code
N Kode Elias 1 0 2 10 0 3 11 0 4 10 100 0 5 10 101 0 6 10 110 0 7 10 111 0 8 11 1000 0 9 11 1001 0 10 11 1010 0 11 11 1011 0 12 11 1100 0
Selanjutnya dilakukan kompresi file teks yang sudah disusun berdasarkan pada tabel 3 di atas dengan mengalikan banyaknya frekuensi karakter yang muncul dengan banyaknya nilai bit dari kode nilai algoritma Elias Omega Code. Adapun proses keseluruhanya dapat dilihat pada tabel di bawah ini.
Tabel 4. Kompresi Pertama Berdasarkan Algoritma Elias
Omega Code N Karakter Elias Omega Codes Jumlah Bit Omega Frekuensi Karakter Bit * Frek 1 A 0 1 4 4 2 E 10 0 3 2 6 3 K 11 0 3 2 6 4 spasi 10 100 0 6 2 12 5 F 10 101 0 6 1 6 6 B 10 110 0 6 1 6 7 I 10 111 0 6 1 6 8 R 11 1000 0 7 1 7 9 D 11 1001 0 7 1 7 10 S 11 1010 0 7 1 7 11 U 11 1011 0 7 1 7 12 M 11 1100 0 7 1 7 Total 81 bit
Berdasarkan pada p roses kompresi menggunakan algoritma Elias Omega Code tabel 3.4 di atas, maka untuk mendapakan karakter baru hasil kompresi, digabungkan nilai kode Elias Omega Code yang berurutan dengan karakter sampel awal yaitu "FEBIKA RADA KESUMA". Contohnya karakter "F" mendapatkan nilai kode Elias Omega Code pada tabel 3.4 yaitu "101010". Proses selanjutnya dilakukan dengan cara yang seperti tabel di bawah ini.
Tabel 5. Susunan Bit Baru Kompresi Pertama
Kemudian gabungan setiap nilai bit kode Elias Omega Code dari atas ke bawah menjadi:
No Karakter Kode Elias Omega Code 1 F 101010 2 E 100 3 B 101100 4 I 101110 5 K 110 6 A 0 7 Spasi 101000 8 R 1110000 9 A 0 10 D 1110010 11 A 0 12 Spasi 101000 13 K 110 14 E 100 15 S 1110100 16 U 1110110 17 M 1111000 18 A 0 Total 81 bit
"1010101001011001011101100101000111000001110 01001010001101001110100111011011110000" Jumlah bit yang dihasilkan adalah 81 bit. Proses selanjutnya adalah melakukan penambahan padding dan flag bits. Hal ini dilakukan karena jumlah bit hasil kompresi tidak habis dibagi 8 atau memiliki sisa. Sedangkan flags bit adalah nilai binner dari nilai angka padding. Karena jumlah bit hasil kompresi adalah 81 bit tidak habis dibagi 8 dan memiliki sisa 1 maka ditambahkan padding sebanyak kurangnya sisa yaitu 7 bit nilai binner "0000000". Dengan demikian, flags bitnya adalah nilai binner dari angka 7 (padding) yaitu "00000111". Sehingga terbentuk string baru hasil kompresi keseluruhanya adalah:
"1010101001011001011101100101000111000001110 0100101000110100111010011101101111000000000 0000000111"
Adapun total keseluruhan bit setelah ditambahkan padding dan flag bits adalah 81 bit + 7 bit (padding) + 8 bit (flag bits) = 96 bit. Selanjutnya hasil kompresi pertama algoritma Elias Omega Code, dilakukan kompresi kedua menggunakan algoritma Golomb Rice. b. Kompresi Berdasarkan Algoritma Golomb Rice
Sebelum melakukan kompresi kedua menggunakan algoritma Golomb Rice, terelebih dahulu hasil kompresi pertama dipisah menjadi 8 bit dan disusun dari frekuensi terbesar hingga terkecil.
10101010 01011001 01110110 01010001 11000001 11001001 01000110 10011101 00111011 01111000 00000000 00000111
Berhubungan tidak ada nilai yang sama, maka urutan susunan dimulai dari urutan awal (atas) hingga bawah. Adapun bit hasil kompresi pertama yang telah disusun dapat dilihat pada tabel di bawah ini :
Tabel 6. Urutan Nilai Hasil Kompresi Pertama
Binner Nilai
Desimal Bit Frekuensi
Bit * Frek 10101010 170 8 1 8 01011001 89 8 1 8 01110110 118 8 1 8 01010001 81 8 1 8 11000001 193 8 1 8 11001001 201 8 1 8 01000110 70 8 1 8 10011101 157 8 1 8 00111011 59 8 1 8 01111000 120 8 1 8 00000000 0 8 1 8 00000111 7 8 1 8 Total 96 Bit
Total bit hasil kompresi pertama adalah 96 bit. 96 bit ini akan dikompresi kembali menggunakan algoritma Golomb Rice. Kompresi dilakukan dengan mengalikan nilai frekuensi dari setiap nilai biner yang muncul dengan nilai frekuensi bit dari algoritma Golomb Rice.
Adapun dalam algoritma Golomb Rice terdapat nilai K. nilai k yang digunakan adalah k=2, sehingga nilai kode Golomb Rice yang sudah didapatkan sesuai dengan jumlah karakter yang dikompresi adalah:
Tabel 7. Kode Golomb rice
n k=2 0 0 | 00 1 0 | 01 2 0 | 10 3 0 | 11 4 10 | 00 5 10 | 01 6 10 | 10 7 10 | 11 8 10 | 000 9 110 | 001 10 110 | 010 11 110 | 011
Selanjutnya dilakukan kompresi kedua berdasarkan kode binner yang sudah disusun pada tabel 7 di atas dengan mengalikan banyaknya frekuensi nilai binner yang muncul dengan banyaknya nilai bit dari kode nilai algoritma Golomb Rice. Adapun proses keseluruhanya dapat dilihat pada tabel di bawah ini :
Tabel 8. Kompresi Kedua Berdasarkan Algoritma
Golomb Rice N Hasil Kompresi Pertama Golomb Rice K=2 Jumlah Bit Golomb Rice Frekue nsi Binner Bit * Frek Binner Desi mal 0 101010 10 170 0 | 00 3 1 3 1 010110 01 89 0 | 01 3 1 3 2 011101 10 118 0 | 10 3 1 3 3 010100 01 81 0 | 11 3 1 3 4 110000 01 193 10 | 00 4 1 4 5 110010 01 201 10 | 01 4 1 4 6 010001 10 70 10 | 10 4 1 4 7 100111 01 157 10 | 11 4 1 4 8 001110 11 59 10 | 000 5 1 5 9 011110 00 120 110 | 001 6 1 6 10 000000 00 0 110 | 010 6 1 6 11 000001 11 7 110 | 011 6 1 6 Total 51 bit
Berdasarkan pada proses kompresi kedua
menggunakan algoritma Golomb Rice tabel 3.8 di atas, maka untuk mendapakan karakter baru hasil kompresi, digabungkan nilai kode Golomb Rice K=2 yang berurutan dengan karakter atau nilai desimal binner yaitu "170, 89, 118, 81, 193, 201, 70, 157, 59, 120, 0, 7". Contohnya nilai pertama adalah "170" mendapatkan nilai kode Golomb Rice K=2 pada tabel 3.8 yaitu "000". Proses selanjutnya dilakukan dengan cara yang seperti tabel di bawah ini :
Tabel 9. Susunan Bit Baru Kompresi Kedua
No Desimal Kode Golomb Rice
1 170 0 | 00
3 118 0 | 10 4 81 0 | 11 5 193 10 | 00 6 201 10 | 01 7 70 10 | 10 8 157 10 | 11 9 59 10 | 000 10 120 110 | 001 11 0 110 | 010 12 7 110 | 011 Total 51 Bit
Kemudian gabungan setiap nilai bit kode Golomb Rice dari atas ke bawah menjadi :
"0000010100111000100110101011100001100011100 10110011"
Jumlah bit yang dihasilkan dari kompresi kedua adalah 51 bit. Proses selanjutnya adalah melakukan penambahan padding dan flag bits. Hal ini dilakukan karena jumlah bit hasil kompresi kedua tidak habis dibagi 8 atau memiliki sisa. Sedangkan flags bit adalah nilai binner dari nilai angka padding. Karena jumlah bit hasil kompresi kedua adalah 51 bit tidak habis dibagi 8 dan memiliki sisa 3 maka ditambahkan padding sebanyak kurangnya sisa yaitu 5 bit nilai binner "00000". Dengan demikian, flags bitnya adalah nilai binner dari angka 5 (padding) yaitu "00000101". Sehingga terbentuk string baru hasil kompresi keseluruhanya adalah :
"0000010100111000100110101011100001100011100 101100110000000000101"
Adapun total keseluruhan bit setelah ditambahkan padding dan flag bits adalah 51 bit + 5 bit (padding) + 8 bit (flag bits) = 64 bit. Berdasarkan hasil kedua kompresi maka, didapatkan hasil kompresi akhir berupa pengecilan ukuran file teks dari 144 bit menjadi 64 bit. Adapun hasil akhirnya setiap bit dipecah menjadi 8 bit dapat dilihat pada tabel di bawah ini.
Tabel 10. Hasil akhir kompresi
No Binner Nilai Desimal Bit
1 00000101 5 8 2 00111000 56 8 3 10011010 154 8 4 10111000 184 8 5 01100011 99 8 6 10010110 150 8 7 01100000 96 8 8 00000101 5 8 Total 64 Bit
Kemudian hasil kompresi nilai desimal dirubah kedalam bentuk karakter dengan melihat tabel ASCII. Adapun nilai karakter yang dihasilkan dari proses kedua kompresi.
Tabel 11. Karakter Hasil Kompresi
No Binner Nilai Desimal Karakter 1 00000101 5 ENQ (Enquiry/ tidak tampak) 2 00111000 56 8 3 10011010 154 š 4 10111000 184 ¸ 5 01100011 99 c 6 10010110 150 – 7 01100000 96 ` 8 00000101 5 ENQ (Enquiry/ tidak tampak) Berdasarkan hasi kompresi maka didapati file teks baru dengan perbandinga karakter file teks seperti gambar di bawah ini.
Gambar 4. File Teks Sebelum Kompresi
Gambar 5. File Teks Sesudah Kompresi
4. IMPLEMENTASI
Proses pertama yang dilakukan user di dalam form kompresi adalah melakukan pemilihan file teks dengan menekan button Pilih file seperti gambar di bawah ini:
Gambar 6. Proses memilih file teks
Berdasarkan pada gambar di atas, klik button pilih file untuk menampilkan form pencarian file teks pada didirektori seperti gambar di bawah ini.
User hanya memilih file teks yang akan dikompresi dan klik button open, sehingga akan tampil informasi file teks pada textbox seperti gambar di bawah ini.
Gambar 8. Informasi file teks
Berdasarkan pada gambar 4.3 di atas, untuk memulai proses kompresi user hanya tinggal menekan button KOMPRESI seperti gambar di bawah ini.
Gambar 9. Proses Kompresi Elias Omega code
Berdasarkan pada gambar 9 proses kompresi pertama dilakukan dengan algoritma Elias Omega Code, sehingga dihasilkan karakter kompresi pertama, kemudian dilanjutkan menggunakan algoritma Golomb Rice seperti gambar di bawah ini.
Gambar 10. Proses Kompresi Golomb Rice
Berdasarkan pada gambar 10 proses kompresi kedua dilakukan dengan algoritma Golomb Rice sehingga menghasilkan hasil kompresi terakhir dangan jumlah karakter 8 byte, seperti gambar di bawah ini.
Gambar 11. Hasil kompres
5. KESIMPULAN
Berdasarkan pada gambar 11 di atas, proses kompresi file teks berhasil dilakukan menggunakan algoritma Elias Omega Codes dan Golomb Rice.
a. Proses Kompresi file teks berhasil dilakukan menggunakan dua algoritma yaitu Elias Omega Codes dan Golomb Rice.
b. Pada file teks hasilkompresi mengalami perubahan ukuran yang signifikan. Rata2 space saving yang didapatkan lebih dari 50%.
c. Waktu yang dibutuhkan untuk proses kompresi file tesk bervariasi. Hal ini dipengaruhi oleh panjangnya karakter file yang diinputkan.
Daftar Pustaka
[1] G.E Blelloch, Introduction To Data Compression. Carnegie Mellon University, 2013
[2] K. Sayood, Introduction To Data Compression Third Edition. Morgan Kaufman Publishers : San Fransisco, 2006
[3] D. Salomon dan M. Giovanni, Handbook of Data Compression. 5th Edition. Springer: London : 12, 2010
[4] D. Salomon, Data Compression Fourth Edition. London: Springer, 2007