Anda di halaman 1dari 6

Jurnal Informasi dan Teknologi Ilmiah (INTI)

ISSN 2301-9425 (Media Cetak)


Volume 8, No 2, Februari 2021
Hal: 76-81

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: febikaradakesuma@gmail.com
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 berhasil menkompresi citra dominan hitam dengan


presentasi 74 persen [2].
Teknologi pemampatan data atau dikenal dengan kompresi Pada penelitian ini, penulis akan melakukan
data adalah sebuah cara untuk memadatkan data sehingga kompresi file teks dengan dua algoritma kompresi. Data
hanya memerlukan ruangan penyimpanan lebih kecil, teks yang dikompresi adalah data berupa karakter ASCII
sehingga lebih efisien dalam menyimpannya atau dengan fortmat file teks .txt dengan mengkombinasikan
mempersingkat waktu pertukaran data tersebut. Data dua algoritma. Kombinasi yang dimaksudkan adalah
adalah kenyataan dan kejadian yang berisikan fakta. hasil melakukan proses kompresi sebanyak dua kali. Proses
dari pengolahan data adalah informasi yang dapat disajikan kompresi pertama dilakukan dengan algoritma Elias
dalam bentuk teks, gambar, suara, maupun video. Omega Code, hasil kompresi dilanjutkan untuk dikompresi
Tingginya kebutuhan informasi yang dapat diakses, kembali menggunakan algoritma Golomb Rice. Sedangkan
terpercaya, dan cepat, membuat ukuran data sangat untuk proses pengembalian ukuran file teks dilakukan
mempengaruhi. Semakin besar data, semakin lama pula dengan cara yang sama. Hal ini bertujuan untuk
transfer data dan mengurangi efisiensi waktu memperoleh mendapatkan tingkat pengecilan file yang optimal. Tujuan
informasi. dari pengabungan proses dua algoritma ini dengan
Salah satu data yang dapat diandalkan dalam mengkompresi sebuah file teks adalah untuk mendapatkan
berbagi informasi adalah data dalam bentuk teks. Untuk hasil kompresi yang maksimal.
saat ini, data teks yang mengandung karakter huruf, angka
dan simbol tentu juga memiliki space yang sedikit besar,
2. TEORITIS
hal ini dikarenakan banyaknya informasi yang terkandung
didalamya. Akan tetapi, pengguna didalam ruang 2.1 Kompresi
penyimpananya tidak hanya menyimpan data berupa file
Kompresi data telah dimanfaatkan dalam berbagai aspek
teks, tentu ada juga beberapa file yang dapat berukuran
multimedia, gambar, teks, audio maupun video yang kita
yang lebih besar, sehingga beberapa file tersebut harus
dapatkan dari web merupakan file yang telah terkompresi.
dapat saling berbagi ruang penyimpanan tanpa harus
TV-HD juga merupakan hasil kompresi MPEG-2,
menghapus file penting lainya.
kebanyakan modem juga melakukan proses kompresi
Maka untuk membuat banyak ruang kosong dan
data, dan beberapa sistem berkas otomatis mengkompresi
memiliki ukuran data yang tidak besar pada media
data ketika data tersimpan [1]. Sehingga alasan kita
penyimpanan diperlukan teknik kompresi yang
membutuhkan kompresi data yaitu karena tegnologi ini
memperkecil ukuran data. Kompresi data adalah proses di
memudahkan kita mendapat informasi atau data yang
mana file (teks, audio, video) dapat ditransformasikan ke
berkualitas dan tidak menghabiskan ruang penyimpanan
file lain (terkompresi), sehingga file terkompresi dapat
kita.
sepenuhnya kembali seperti file asli tanpa kehilangan
Kompresi data merupakan seni atau ilmu yang
informasi yang sebenarnya. Teknik kompresi
memberikan informasi dalam bentuk yang padat
membutuhkan suatu langkah-langkah penyelesaian yang
menggunakan struktur yang ada pada data asli dengan
disebut dengan algoritma. Salah satunya adalah algoritma
tujuan untuk mengurangi jumlah bit pada data yang
Elias Omega Code dan Golomb Rice.
terkompresi [2]. Data dapat berupa karakter dalam file
Penelitian yang dilakukan Annirudha tentang
text, maupun nomor yang merupakan representasi dari file
kompresi algoritma Elias Omega Code dapat diambil
kesimpulan bahwa proses kompresi algoritma hanya gambar. Kompresi data terdiri dari 2 komponen yaitu
sebuah algoritma encoding yaitu algoritma yang membuat
mengecilkan ukuran data 5 sampai dengan 8 persen saja
pesan atau text menjadi terkompresi sehingga jumlah bit
[1]. Sedangkan penelitian yang dilakukan oleh Ginting
yang ada dalam file tersebut menjadi lebih sedikit, dan
mendapatkan kesimpulan bahwa algoritma Golomb Rice
algoritma decoding yaitu algoritma yang merekonstruksi
file terkompresi menjadi file asli.

Febika Rada Kesuma | Page: 76


Jurnal Informasi dan Teknologi Ilmiah (INTI)
ISSN 2301-9425 (Media Cetak)
Volume 8, No 2, Februari 2021
Hal: 76-81

2.2 Algoritma Elias Omega Codes dilakukan dengan algoritma Golomb Rice, hasil
dekompresi pertama, dilanjutkan dengan dekompresi
Algoritma Elias Omega Code merupakan algoritma
kedua menggunakan algoritma Elias Omega Code,
kompresi yang diperkenalkan oleh Peter Elias pada tahun
sehingga didapatkan data file awal.
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 Gambar 1. Diagram Kompresi File Teks
memperkecil ukuran data yang lebih kecil dari ukuran
sebelumnya. Sebelum adanya Rice Code, terdapat 3.1 Penerapan Algoritma
algoritma yang disebut sebagai Golomb Codes yang Sebelum melakukan manual kompresi, terlebih dahulu
merupakan familydengan Rice Code karena memiliki menentukan file teks yang akan dikompresi. Adapun
persamaan yang bergantung pada pemilihan parameter m, contoh file teks yang akan dikompresi dengan nama file
dimana m adalah himpunan dari 2 (m = 2k). Rice Code sampel.txt seperti pada gambar di bawah ini.
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 Gambar 2. File Teks Sampel
untuk kompresi audio lossless. Di dalam algortima Rice,
ada sebuah nilai k yang artinya adalah banyaknya angka 1 Untuk melihat isi dari file teks pada keperluan hitungan
pada suffix dari kode terkompresi. Dalam proses encode, manual, maka dibutuhkan aplikasi tambahan. Adapun hasil
dilakukan pemisahan pada prefix dan suffix. Ketika proses dari isi file teks sampel adalah sebagai pada gambar di
decode, decoder membaca sign bit dan lompat ke angka 0 bawah ini.
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 Gambar 3. Isi File Teks Sampel
file teks tersebut, semakin besar ukuran pemyimpanan
yang digunakan. Untuk mengatasi hal tersebut tentu Adapun isi file teks sampel.txt yang akan dikompresi
dibutuhkanya sebuah teknik yang dapat mengecilkan atau secara manual adalah "FEBIKA RADA KESUMA" (tanpa
mengompress ukuran file besar tersebut menjadi lebih tanda petik) dengan nilai Hexa
kecil dari ukuran semula. Teknik yang dapat digunakan 46,45,42,49,4B,41,20,52,41,44,41,20,4B,45,53,55,4D,41.
adalah teknik kompresi. Pada proses hitungan manual, proses kompresi pertama
Teknik kompresi dapat mengecilkan data file teks dilakukan dengan algoritma Elias Omega Code.
dari ukuran semula. Dalam penelitian ini, algoritma Sebelumnya string karakter dikelompokan kedalam tabel
kompresi yang dipakai adalah algoritma Elias Omega Code dengan banyaknya jumlah karakter yang muncul seperti
dan Golomb Rice. Dengan maksud teknik high compress, tabel di bawah ini.
file yang diinputkan akan dilakukan kompresi sebanyak Tabel 1. Urutan Sampel Teks
dua kali menggunakan algoritma yang sudah disebutkan
sebelumnya. Kompresi pertama dilakukan dengan Karakter Frekuensi
menggunakan algoritma Elias Omega Code, hasil F 1
kompresi pertama dilanjutkan dengan kompresi kedua E 2
menggunakan algoritma Golomb Rice. Kemudian hasil B 1
akhir dari kompresi kedua, dihitung parameternya berupa I 1
rasio kompresi dan space saving. Sedangkan untuk K 2
melakukan pengembalian ukuran file, dekompresi pertama A 4

Febika Rada Kesuma | Page: 77


Jurnal Informasi dan Teknologi Ilmiah (INTI)
ISSN 2301-9425 (Media Cetak)
Volume 8, No 2, Februari 2021
Hal: 76-81

Spasi 2 6 10 110 0
R 1 7 10 111 0
D 1 8 11 1000 0
S 1 9 11 1001 0
U 1 10 11 1010 0
M 1 11 11 1011 0
Total 18 Karakter 12 11 1100 0
Selanjutnya dilakukan kompresi file teks yang sudah
Berdasarkan pada tabel di atas, terdapat 18 karakter yang
disusun berdasarkan pada tabel 3 di atas dengan
akan dikompresi pertama menggunakan algoritma Elias
mengalikan banyaknya frekuensi karakter yang muncul
Omega Code. Pada dasarnya 1 karakter adalah 8 bit.
dengan banyaknya nilai bit dari kode nilai algoritma
a. Kompresi Berdasarkan Algoritma Elias Omega Code
Elias Omega Code. Adapun proses keseluruhanya
Sebelum melakukan kompresi menggunakan algoritma
dapat dilihat pada tabel di bawah ini.
Elias Omega Code, karakter yang sudah disusun pada
tabel 1 di atas terlebih dahulu disusun berdasarkan Tabel 4. Kompresi Pertama Berdasarkan Algoritma Elias
frekuensi terbesar dan ditentukan banyaknya jumlah bit Omega Code
pada sampel karakter tersebut. Adapun prosesnya dapat Elias Jumlah
dilihat pada tabel di bawah ini. Frekuensi Bit *
N Karakter Omega Bit
Karakter Frek
Codes Omega
Tabel 2. Urutan Karakter Sesuai Banyaknya Frekuensi 1 A 0 1 4 4
Bit * 2 E 10 0 3 2 6
Karakter BinnerKarakter Bit Frekuensi 3 K 11 0 3 2 6
Frek
A 01000001 8 4 32 4 spasi 10 100 0 6 2 12
E 01000101 8 2 16 5 F 10 101 0 6 1 6
K 01001011 8 2 16 6 B 10 110 0 6 1 6
spasi 00100000 8 2 16 7 I 10 111 0 6 1 6
F 01000110 8 1 8 8 R 11 1000 0 7 1 7
B 01000010 8 1 8 9 D 11 1001 0 7 1 7
I 01001001 8 1 8 10 S 11 1010 0 7 1 7
R 01010010 8 1 8 11 U 11 1011 0 7 1 7
D 01000100 8 1 8 12 M 11 1100 0 7 1 7
S 01010011 8 1 8 81
Total
U 01010101 8 1 8 bit
M 01001101 8 1 8
Total 144 Bit
Berdasarkan pada p roses kompresi menggunakan
algoritma Elias Omega Code tabel 3.4 di atas, maka
Berdasarkan apda tabel 2 di atas, satu karakter terdiri untuk mendapakan karakter baru hasil kompresi,
dari 8 bit. Sehingga dengan jumlah karakter sebanyak digabungkan nilai kode Elias Omega Code yang
18 karakter dikalikan dengan 8 bit, maka total berurutan dengan karakter sampel awal yaitu "FEBIKA
keseluruhan ukuran karakter adalah 144 bit. Setelah RADA KESUMA". Contohnya karakter "F"
nilai bit didapatkan dari semua karakter, selanjutnya mendapatkan nilai kode Elias Omega Code pada tabel
adalah melakukan kompresi pertama menggunakan 3.4 yaitu "101010". Proses selanjutnya dilakukan
algoritma Elias Omega Code. kompresi dilakukan dengan cara yang seperti tabel di bawah ini.
dengan mengalikan nilai frekuensi dari karakter yang
muncul dengan nilai frekuensi bit dari algoritma Elias Tabel 5. Susunan Bit Baru Kompresi Pertama
Omega Codes. Adapun untuk mendapat nilai bit Kode Elias
No Karakter
algoritma Elias Omega Codes adalah sebagai berikut: Omega Code
a) Inisialisasikan code_so_far = 0. b) Jika n = 1, maka 1 F 101010
stop (proses berhenti). Jika tidak, maka tambahkan 2 E 100
representasi binary dari n ke code_so_far. Asumsikan 3 B 101100
jumlah binary bit sebagai L (panjang digit bit). c) 4 I 101110
5 K 110
Ulangi langkah b hingga representasi binary dari L = 1
6 A 0
untuk menggunakan n. d) Dimisalkan jika n = 17 dan 7 Spasi 101000
code_so_far = 0. Ubahlah n ke dalam bentuk binary 8 R 1110000
menjadi n = 1710 = 100012 dengan L = 5. 9 A 0
Sehingga didapatkan kode nilai Elias Omega Code 10 D 1110010
sesuai dengan jumlah karakter yang akan dikompresi 11 A 0
adalah sebagai berikut. 12 Spasi 101000
13 K 110
Tabel 3. Kode Nilai Algoritma Elias Omega Code 14 E 100
15 S 1110100
N Kode Elias 16 U 1110110
1 0 17 M 1111000
2 10 0 18 A 0
3 11 0 Total 81 bit
4 10 100 0
Kemudian gabungan setiap nilai bit kode Elias Omega
5 10 101 0
Code dari atas ke bawah menjadi:

Febika Rada Kesuma | Page: 78


Jurnal Informasi dan Teknologi Ilmiah (INTI)
ISSN 2301-9425 (Media Cetak)
Volume 8, No 2, Februari 2021
Hal: 76-81

"1010101001011001011101100101000111000001110 Adapun dalam algoritma Golomb Rice terdapat nilai K.


01001010001101001110100111011011110000" nilai k yang digunakan adalah k=2, sehingga nilai kode
Jumlah bit yang dihasilkan adalah 81 bit. Proses Golomb Rice yang sudah didapatkan sesuai dengan
selanjutnya adalah melakukan penambahan padding jumlah karakter yang dikompresi adalah:
dan flag bits. Hal ini dilakukan karena jumlah bit hasil
Tabel 7. Kode Golomb rice
kompresi tidak habis dibagi 8 atau memiliki sisa.
Sedangkan flags bit adalah nilai binner dari nilai angka n k=2
padding. Karena jumlah bit hasil kompresi adalah 81 0 0 | 00
bit tidak habis dibagi 8 dan memiliki sisa 1 maka 1 0 | 01
ditambahkan padding sebanyak kurangnya sisa yaitu 7 2 0 | 10
bit nilai binner "0000000". Dengan demikian, flags 3 0 | 11
bitnya adalah nilai binner dari angka 7 (padding) yaitu 4 10 | 00
"00000111". Sehingga terbentuk string baru hasil 5 10 | 01
6 10 | 10
kompresi keseluruhanya adalah:
7 10 | 11
"1010101001011001011101100101000111000001110 8 10 | 000
0100101000110100111010011101101111000000000 9 110 | 001
0000000111" 10 110 | 010
Adapun total keseluruhan bit setelah ditambahkan 11 110 | 011
padding dan flag bits adalah 81 bit + 7 bit (padding) + Selanjutnya dilakukan kompresi kedua berdasarkan
8 bit (flag bits) = 96 bit. Selanjutnya hasil kompresi kode binner yang sudah disusun pada tabel 7 di atas
pertama algoritma Elias Omega Code, dilakukan dengan mengalikan banyaknya frekuensi nilai binner
kompresi kedua menggunakan algoritma Golomb Rice. yang muncul dengan banyaknya nilai bit dari kode nilai
b. Kompresi Berdasarkan Algoritma Golomb Rice algoritma Golomb Rice. Adapun proses keseluruhanya
Sebelum melakukan kompresi kedua menggunakan dapat dilihat pada tabel di bawah ini :
algoritma Golomb Rice, terelebih dahulu hasil
kompresi pertama dipisah menjadi 8 bit dan disusun Tabel 8. Kompresi Kedua Berdasarkan Algoritma
dari frekuensi terbesar hingga terkecil. Golomb Rice
10101010 Hasil Kompresi
Pertama Jumlah Bit Frekue
01011001 N
Golomb
Golomb nsi
Bit *
Desi Rice K=2 Frek
01110110 Binner
mal
Rice Binner

01010001 101010 0 | 00
0 170 3 1 3
10
11000001 010110 0 | 01
1 89 3 1 3
11001001 01
011101 0 | 10
01000110 2
10
118 3 1 3
010100 0 | 11
10011101 3
01
81 3 1 3
00111011 4
110000
193
10 |
4 1 4
01 00
01111000 110010 10 |
5 201 4 1 4
01 01
00000000 010001 10 |
6 70 4 1 4
00000111 10 10
100111 10 |
Berhubungan tidak ada nilai yang sama, maka urutan 7
01
157
11
4 1 4
001110 10 |
susunan dimulai dari urutan awal (atas) hingga bawah. 8
11
59
000
5 1 5
Adapun bit hasil kompresi pertama yang telah disusun 011110
110 |
9 120 001 6 1 6
dapat dilihat pada tabel di bawah ini : 00

000000 110 |
10 0 010 6 1 6
Tabel 6. Urutan Nilai Hasil Kompresi Pertama 00

000001 110 |
Nilai Bit * 11 7 011 6 1 6
Binner Bit Frekuensi 11
Desimal Frek Total 51 bit
10101010 170 8 1 8
01011001 89 8 1 8 Berdasarkan pada proses kompresi kedua
01110110 118 8 1 8
01010001 81 8 1 8 menggunakan algoritma Golomb Rice tabel 3.8 di atas,
11000001 193 8 1 8 maka untuk mendapakan karakter baru hasil kompresi,
11001001 201 8 1 8 digabungkan nilai kode Golomb Rice K=2 yang
01000110 70 8 1 8 berurutan dengan karakter atau nilai desimal binner
10011101 157 8 1 8
00111011 59 8 1 8 yaitu "170, 89, 118, 81, 193, 201, 70, 157, 59, 120, 0,
01111000 120 8 1 8 7". Contohnya nilai pertama adalah "170" mendapatkan
00000000 0 8 1 8 nilai kode Golomb Rice K=2 pada tabel 3.8 yaitu "000".
00000111 7 8 1 8 Proses selanjutnya dilakukan dengan cara yang seperti
Total 96 Bit
tabel di bawah ini :
Total bit hasil kompresi pertama adalah 96 bit. 96 bit
Tabel 9. Susunan Bit Baru Kompresi Kedua
ini akan dikompresi kembali menggunakan algoritma
Golomb Rice. Kompresi dilakukan dengan mengalikan No Desimal Kode Golomb Rice
nilai frekuensi dari setiap nilai biner yang muncul 1 170 0 | 00
dengan nilai frekuensi bit dari algoritma Golomb Rice. 2 89 0 | 01

Febika Rada Kesuma | Page: 79


Jurnal Informasi dan Teknologi Ilmiah (INTI)
ISSN 2301-9425 (Media Cetak)
Volume 8, No 2, Februari 2021
Hal: 76-81

3 118 0 | 10 4 10111000 184 ¸


4 81 0 | 11 5 01100011 99 c
5 193 10 | 00 6 10010110 150 –
6 201 10 | 01 7 01100000 96 `
7 70 10 | 10 8 ENQ (Enquiry/
00000101 5
8 157 10 | 11 tidak tampak)
9 59 10 | 000
Berdasarkan hasi kompresi maka didapati file teks baru
10 120 110 | 001
dengan perbandinga karakter file teks seperti gambar di
11 0 110 | 010
bawah ini.
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 Gambar 4. File Teks Sebelum Kompresi
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
Gambar 5. File Teks Sesudah Kompresi
sebanyak kurangnya sisa yaitu 5 bit nilai binner
"00000". Dengan demikian, flags bitnya adalah nilai
binner dari angka 5 (padding) yaitu "00000101". 4. IMPLEMENTASI
Sehingga terbentuk string baru hasil kompresi Proses pertama yang dilakukan user di dalam form
keseluruhanya adalah : kompresi adalah melakukan pemilihan file teks dengan
"0000010100111000100110101011100001100011100 menekan button Pilih file seperti gambar di bawah ini:
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 Gambar 6. Proses memilih file teks
3 10011010 154 8
4 10111000 184 8 Berdasarkan pada gambar di atas, klik button pilih
5 01100011 99 8 file untuk menampilkan form pencarian file teks pada
6 10010110 150 8 didirektori seperti gambar di bawah ini.
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
Nilai
No Binner Karakter
Desimal
1 ENQ (Enquiry/
00000101 5
tidak tampak)
2 00111000 56 8 Gambar 7. Tampilan form pencarian file
3 10011010 154 š

Febika Rada Kesuma | Page: 80


Jurnal Informasi dan Teknologi Ilmiah (INTI)
ISSN 2301-9425 (Media Cetak)
Volume 8, No 2, Februari 2021
Hal: 76-81

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 11. Hasil kompres

5. KESIMPULAN
Gambar 8. Informasi file teks Berdasarkan pada gambar 11 di atas, proses
kompresi file teks berhasil dilakukan menggunakan
Berdasarkan pada gambar 4.3 di atas, untuk algoritma Elias Omega Codes dan Golomb Rice.
memulai proses kompresi user hanya tinggal menekan a. Proses Kompresi file teks berhasil dilakukan
button KOMPRESI seperti gambar di bawah ini. 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,
Gambar 9. Proses Kompresi Elias Omega code 2007
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.

Febika Rada Kesuma | Page: 81

Anda mungkin juga menyukai