Anda di halaman 1dari 9

ANALISIS PERBANDINGAN ENCODING DAN DECODING DATA TEXT PADA

METODE ALGORITMA HUFFMAN, ARITHMETIC CODING, SERTA LZ78

Ayu Amrina Rosyada


(13.52.0024)

Jurusan Teknik Informatika


STMIK Pradnya paramita

E-mail : amrinrosy@gmail.com

Abstrak

Kompresi adalah proses pengubahan sekumpulan data menjadi bentuk kode dengan tujuan untuk
menghemat kebutuhan tempat penyimpanan dan waktu transmisi data. Dengan membandingkan
algoritma Huffman, Arithmetic Coding, serta algoritma LZ78 dapat diketahui proses pengompresan data
dilakukan dengan menggunakan prinsip pengkodean yaitu tiap karakter dikodekan dengan rangkaian
beberapa bit dan pecahan sehingga menghasilkan hasil yang lebih optimal, serta prinsip dictionary yang
bekerja dengan cara menyimpan pola masukan sebelumnya kemudian menggunakan index dalam
mengakses pola tersebut jika terdapat perulangan.

Kata kunci: Kompresi Data, algoritma Huffman, Arithmetic Coding, algoritma LZ78
1. Pendahuluan bernama David Huffman pada tahun
Kompresi data atau dikenal sebagai 1952, merupakan salah satu metode
pemampatan data merupakan suatu paling lama dan paling terkenal
teknik mengubah data menjadi bentuk dalam kompresi teks.
data lain dimana data tersebut diubah Algoritma Huffman menggunakan
menjadi simbol yang lebih sederhana. prinsip pengkodean yang mirip
Kompresi data mempunyai tujuan dengan kode Morse, yaitu tiap
memperkecil ukuran data sehingga karakter (simbol) dikodekan hanya
selain dapat menghemat media dengan rangkaian beberapa bit,
penyimpanan dan memudahkan transfer dimana karakter yang sering muncul
data. dikodekan dengan rangkaian bit yang
Terdapat banyak metode kompresi pendek dan karakter yang jarang
lossless diantaranya Huffman, muncul dikodekan.dengan rangkaian
Arithmetic Coding, ALZ77, LZ78, LZW, bit yang lebih panjang.
LZSS, LBE, dan lain-lain. Pemampatan Berdasarkan tipe peta kode yang
data merupakan salah satu isu penting digunakan untuk mengubah pesan
untuk mempermudah transmisi data awal (isi data yang diinputkan)
maka terdapat banyak program-program menjadi sekumpulan codeword,
yang berfungsi untuk memampatkan algoritma Huffman termasuk ke
data. Namun penulis hanya dalam kelas algoritma yang
membandingkan 2 metode kompresi menggunakan metode statik. Metode
data yaitu, algoritma Huffman dan statik adalah metode yang selalu
Arithmetic Coding. menggunakan peta kode yang sama,
2. Dasar Teori metode ini membutuhkan dua fase
2.1. Algoritma Huffman (two-pass): fase pertama untuk
Algoritma Huffman, yang dibuat menghitung probabilitas kemunculan
oleh seorang mahasiswa MIT tiap simbol dan menentukan peta
kodenya, dan fase kedua untuk Algoritma Lempel Ziv 78 (LZ78),
mengubah pesan menjadi kumpulan dikembangkan 1 tahun setelah LZ77,
kode yang akan ditransmisikan. yaitu pada tahun 1978. Oleh
Sedangkan berdasarkan teknik Abraham Lempel dan Jacob Ziv.
pengkodean simbol yang digunakan, Karena dipublikasikan oleh pihak
algoritma Huffman menggunakan yang sama, algoritma ini disebut juga
metode symbolwise. dengan LZ2.
Metode symbolwise adalah Pada algoritma LZ78, Abraham
metode yang menghitung peluang Lempel dan Jacob Ziv mencoba
kemunculan dari setiap simbol dalam mengatasi permasalah yang
satu waktu, dimana simbol yang ditemukan pada LZ77, yaitu
lebih sering muncul diberi kode lebih berkaitan dengan kemampuan dalam
pendek dibandingkan simbol yang menemukan pola karakter. Pada
jarang muncul. LZ77, algoritma ini tidak dapat
menemukan pola karakter, jika
karakter tersebut sudah dilewati oleh
2.2. Arithmetic Coding history buffer. Untuk mengatasinya,
Pengkodean aritmatika algoritma LZ78 dikembangkan
(Arithmetic Coding) merupakan dengan cara membuat suatu
metode pengkodean yang dimulai dictionary yang dapat menyimpan
dengan jarak yang tertentu dan pola secara permanen selama proses
membaca tiap-tiap simbol satu pengkodean berlangsung.
persatu dengan nilai peluang pada Token yang digunakan sebagai
tiap-tiap simbol untuk menghasilkan index untuk menemukan pola
jarak atau interval yang lebih kecil. tersebut, berkurang dari 3 menjadi 2
Menspesifikasikan interval yang lebih buah. Sebuah token dalam LZ78
sempit membutuhkan bit yang lebih berbentuk (f,c). Dimana f adalah
kecil, sehingga sebuah nilai tercipta pointer yang merujuk pada dictionary
dari perkembangan algoritma yang dimana pola yang ditemukan, dan c
continue. adalah karakter pertama sesudah
Jarak atau interval pada sebuah pola.
pengkodean dispesifikasikan oleh Dictionary pada LZ78 dapat
batas atas dan bawah, dan output dibayangkan sebagai sebuah array.
dari pengkodean aritmatika di Pada saat proses pengkodean
presentasikan dengan sebuah nilai dimulai, array ini kosong. Sewaktu
dengan range antara 0 dan 1. algoritma membaca sebuah karakter
Angka ini secara unik dapat di-decode input, ia akan mencari dalam array,
sehingga menghasilkan deretan simbol yang apakah karakter itu ada pada array
dipakai untuk menghasilkan angka tersebut. atau tidak. Jika tidak ditemukan,
Untuk menghasilkan angka output tersebut, karakter itu akan dimasukkan ke
tiap simbol yang akan di-encode diberi satu set dalam array, dan dihasilkan token:
nilai probabilitas. (0,c), dimana c adalah karakter yang
Setelah probabilitas tiap karakter diketahui. tidak ditemukan tersebut.
Tiap simbol/karakter akan diberikan range Tetapi jika didalam array
tertentu yang nilainya berkisar di antara 0 dan ditemukan, akan dibuat sebuah
1, sesuai dengan probabilitas yang ada. Dalam string yang bersisi karakter yang
hal ini tidak ada ketentuan urut-urutan ditemukan tadi, disambung dengan
penentuan segmen, asalkan antara encoder dan karakter berikutnya dari input, dan
decoder melakukan hal yang sama. kembali dicari didalam array, apakah
2.3. Algoritma Lempel Ziv 78 pola ini ada atau tidak. Jika ada,
(LZ78) string tadi ditambahkan kembali,
sampai tidak ditemukan pola yang
sesuai dengan string didalam array. diberi label 0, sedangkan pada
Lalu string ini akan dimasukkan ke cabang kanan pada pohon biner
dalam array, dan dihasilkan token: diberi label 1. Rangkaian bit yang
(f,c). Dimana f adalah index dari terbentuk pada setiap lintasan
array untuk pola string yang dari akar ke daun merupakan
ditemukan, dan c adalah karakter kode prefiks untuk karakter yang
terakhir dari string. Proses ini sama. Pohon biner ini biasa
berlangsung terus menerus sampai disebut pohon Huffman. Langkah -
akhir file (Pu , Ida M., 2006). langkah pembentukan pohon
3. Analisis dan Pembahasan Huffman adalah sebagai berikut :
Kali ini penulis menggunakan data 1. Baca semua karakter di dalam
text dalam menganalisis proses teks untuk menghitung
kompresi pada metode Algoritma frekuensi kemunculan setiap
Huffman dan Arithmetic Coding. Data karakter. Setiap karakter
text yang akan dikompresi yaitu penyusun teks dinyatakan
AMRINA ROSYADA sebagai pohon bersimpul
tunggal. Setiap simpul di-
3.1. Algoritma Dasar (Kode
assign dengan frekuensi
ASCII)
kemunculan karakter
Dalam kode ASCII, huruf AMRINA
tersebut.
ROSYADA membutuhkan 14 8 bit =
2. Terapkan strategi algoritma
112 bit (14 byte), dengan rincian sebagai
greedy sebagai berikut :
berikut:
Gabungkan dua buah pohon
A = 41H = 01000001B
D = 44H = 01000100B yang mempunyai frekuensi
I = 49H = 01001001B terkecil pada sebuah akar.
M = 4DH = 01001101B Setelah digabungkan akar
N = 4EH = 01001110B tersebut akan mempunyai
O = 4FH = 01001111B frekuensi yang merupakan
R = 52H = 01010010B jumlah dari frekuensi dua
S = 53H = 01010011B buah pohon-pohon
Y = 59H = 01011001B penyusunnya.
Spasi(_) = 20H = 00100000B 3. Ulangi langkah 2 sampai
hanya tersisa satu buah
pohon Huffman. Agar
pemilihan dua pohon yang
akan digabungkan
berlangsung cepat, maka
3.2. Algoritma Huffman semua yang ada selalu terurut
Pembentukan pohon naik berdasarkan frekuensi.
Huffman Untuk mengurangi jumlah bit yang
Kode Huffman pada dasarnya dibutuhkan, panjang kode untuk tiap
merupakan kode prefiks (prefx karakter dapat dipersingkat, terutama
code). Kode prefiks adalah untuk karakter yang frekuensi
himpunan yang berisi sekumpulan kemunculannya besar. Berikut ini
kode biner, dimana pada kode proses pembentukan pohon
prefik ini tidak ada kode biner Huffman :
yang menjadi awal bagi kode a.) Langkah 1 :
biner yang lain. Kode prefiks Pada string di atas, frekuensi
biasanya direpresentasikan kemunculan D=1, I=1, M=1, N=1,
sebagai pohon biner yang O=1, S=1, Y=1, _=1, R=2, serta A=4,
diberikan nilai atau label. Untuk sehingga tiap huruf dapat
cabang kiri pada pohon biner
dikelompokkan menjadi pohon-pohon
berikut :
O,
D,1 I,1 M,1 N,1 Pohon Huffman 2
1

S,1 Y,1 _,1 R,2 A,4


DIMNOSY_8
b.) Langkah 2 :
Gabungkan dua buah pohon yang
mempunyai frekuensi terkecil pada DIMN4 OSY_4
sebuah akar. Setelah digabungkan akar
tersebut akan mempunyai frekuensi
yang merupakan jumlah dari frekuensi DI2 MN2 OS2 Y_2
dua buah pohon-pohon penyusunnya.
DI2 MN2
D1 Y1 M1 N1 O1 S1 Y1 _1

D1 I1 M1 N1 RA6

OS2 Y_2
R2 A4
Pohon Huffman 3
O1 S1 Y1 _1
RADIMNOSY_14

RA6
RA6 DIMNOSY_8

R2 A4
c.) Langkah 3 : R2 A4 DIMN4 OSY_4
Ulangi langkah 2 sampai hanya tersisa
satu buah pohon Huffman.
Pohon Huffman 1 DI2 MN2 OS2 Y_2
DIMN4
D1 Y1 M1 N1 O1 S1 Y1 _1

DI2 MN2 Setelah pohon Huffman terbentuk,


berikan tanda bit 0 untuk setiap cabang
ke kiri, dan bit 1 untuk setiap cabang
ke kanan seperti gambar berikut :
D1 I1 M1 N1

OSY_4

RADIMNOSY_14
OS2 Y_2
0 1

O1 S1 Y1 _1 RA6 DIMNOSY_8
RA6
0 1 1
0

R2 A4 DIMN4 OSY_4
R2 A4 0 1 0 1

DI2 MN2 OS2 Y_2

0 1 0 1 0 1 0 1
D1 Y1 M1 N1 O1 S1 Y1 _1
A M R I N A _
0 100 = 88 bit
1100 1101 1110 01 01
0 0
R O S Y A D A
Dari analisis di atas, metode
algoritma Huffman ini dapat
memampatkan data text tersebut sebesar
112 bit 88 bit = 24 bit.
Proses Decoding
Decoding merupakan kebalikan dari
encoding. Decoding berarti menyusun
Proses Encoding kembali data dari string biner menjadi
Encoding adalah cara menyusun sebuah karakter kembali.
string biner dari teks yang ada. Proses Decoding dapat dilakukan dengan dua
encoding untuk satu karakter dimulai cara, yang pertama dengan menggunakan
dengan membuat pohon Huffman pohon Huffman dan yang kedua dengan
terlebih dahulu. Setelah itu, kode menggunakan tabel kode Huffman.
untuk satu karakter dibuat dengan Sebagai contoh jika men-decoding
menyusun nama string biner yang menggunakan kode Huffman pada Tabel 1
dibaca dari akar sampai ke daun pohon untuk merepresentasikan string AMRINA
Huffman. Langkah-langkah untuk ROSYADA.
melakukan encoding pada suatu string Dengan menggunakan Tabel 1, string
biner adalah sebagai berikut : tersebut akan direpresentasikan menjadi
a.) Tentukan karakter yang akan di- rangkaian bit :
01 1010 00 1001 1011 01
encode.
1111 00 1100 1101 1110 01 1000 01
b.) Mulai dari akar, baca setiap bit Jadi, jumlah bit yang dibutuhkan hanya 88 bit.
yang ada pada cabang yang Dari Tabel 1 tampak bahwa kode untuk sebuah
bersesuaian sampai menemukan simbol/karakter tidak boleh menjadi awalan
daun di mana karekter itu berada. dari kode simbol yang lain guna menghindari
c.) Ulangi langkah 2 sampai seluruh keraguan (ambiguitas) dalam proses
karakter di-encode. dekompresi atau decoding. Karena tiap kode
Hasil akhir kode Huffman dari string Huffman yang dihasilkan unik, maka proses
AMRINA ROSYADA sebagai berikut : decoding dapat dilakukan dengan mudah.
Contoh : saat membaca kode bit pertama
Karakter Biner Huffman
dalam rangkaian bit
R 00 01101000100110110111110011001101111001
A 01 10001, yaitu bit 0, tidak dapat langsung
D 1000 disimpulkan karena tidak ada kode Huffman
I 1001 0, lalu baca kode bit selanjutnya yaitu bit
M 1010 1, sehingga menjadi 01. Rangkaian kode
N 1011 bit 01 adalah pemetaan dari simbol A.
Kemudian baca kode bit selanjutnya, yaitu bit
O 1100
1. Tidak ada kode Huffman 1, lalu baca
S 1011 kode bit selanjutnya, sehingga menjadi 10.
Y 1110 Tidak ada juga kode Huffman 10, lalu baca
Spasi(_) 1111 lagi kode bit berikutnya, sehingga menjadi
Tabel 1. Kode Huffman 101. Tidak ada juga kode Huffman 1010.
Dengan kode ini, string yang berisi Rangkaian kode bit 1010 adalah pemetaan
dari simbol M. Dan seterusnya hingga
karakter-karakter AMRINA
diketahui hasilnya pada tabel 2 di bawah ini :
ROSYADA akan menjadi lebih
kecil, yaitu : 0
1010 00 1001 1011 01 1111
0 1
1010 00 1001 1011 01 1111 A M R I N A _
1
0
1100 1101 1110 01 1000 01
0
R O S Y A D A
Tabel 2. Probabilitas
3.3. Arithmetic Coding Setelah probabilitas tiap karakter
Proses Penghitungan diketahui, tiap simbol/karakter akan
Arithmetic Coding diberikan range tertentu yang nilainya
Langkah pertama dari berkisar di antara 0 dan 1, sesuaidengan
algoritma ini adalah menghitung, probabilitas yang ada. Dalam hal ini tidak
dan memperkirakan di akhirnya ada ketentuan urut-urutan penentuan
pada frekuensi keterdapatan tiap segmen, asalkan antara encoder dan
simbol. Berikut adalah langkah- decoder melakukan hal yang sama.
langkah dari algoritma ini : Dari tabel 1 di atas dibentuk tabel 2
a.) Menentukan interval-interval berikut :
pada batas 0 dan 1.
b.) Ulangi 2 langkah berikut ini Karakte Probabilita Range
untuk tiap simbol pada aliran r s
input data. A 4/14 0.00-0.30
c.) Membagi batas-batas pada D 1/14 0.30-0.37
interval tersebut menjadi I 1/14 0.37-0.44
beberapa subinterval dimana M 1/14 0.44-0.51
ukuran-ukurannya sebanding N 1/14 0.51-0.58
dengan peluang tiap simbol. O 1/14 0.58-0.65
d.) Pilih sub interval untuk tiap R 2/14 0.65-0.79
simbol yang ditentukan dan 0.79-0.86
S 1/14
mendefinisikannya menjadi
Y 1/14 0.86-0.93
interval yang baru.
e.) Ketika aliran input telah di Spasi(_) 1/14 0.93-1.00
Tabel 3. Range Simbol untuk Kata
proses dengan langkah seperti "AMRINA ROSYADA"
di atas, output akan berupa Proses Encoding
sebuah nilai yang unik yang
Selanjutnya untuk melakukan proses
mengidentifikasikan nilai
encoding dipakai algoritma berikut :
sebuah interval.
Set low = 0.0
Untuk menghasilkan angka output
yang lebih kecil dari 1 dan leih besar atau Set high = 1.0
sama dengan 0, tiap simbol yang akan di- While (simbol input masih ada) do
encode diberi satu set nilai probabilitas. ~ Ambil simbol input
Contoh, andaikan kata AMRINA ~ CR = high low
ROSYADA akan di-encode. Akan ~ High = low + CR * high_range
didapatkan tabel probabilitas berikut : (simbol)
Karakte Probabilita ~ Low = low + CR * low_range
r s (simbol)
A 4/14 End While
D 1/14 Cetak Low
I 1/14 Di sini Low adalah output dari
M 1/14 proses arithmetic coding. Untuk kata
N 1/14 AMRINA ROSYADA di atas, pertama
O 1/14 kita ambil karakter A. Nilai CR adalah
R 2/14 1-0 = 1. High_range(A) = 0.30,
Low_range(A) = 0.00. Kemudian
S 1/14
didapatkan nilai :
Y 1/14 high = 0.00 + 1*0.30 = 0.30
Spasi(_) 1/14
low = 0.00 + 1*0.00 = 0.00 Untuk pesan yang tadi di-encode (ES =
Kemudian diambil karakter M. Nilai 0.14684707) dilakukan proses decoding
CR adalah 0.30 0.00 = 0.30. High_range sebagai berikut. Didapatkan range simbol
(M) = 0.51, Low_range (M) = 0.44. yang melingkupi ES adalah
Kemudian didapatkan nilai: simbol/karakter A.
high = 0.00 + 0.30*0.51 = 0.153 Low_range= 0.0
low = 0.00 + 0.30*0.44 = 0.132 High_range=0.3
CR = 0.3-0.0 = 0.3
Dan seterusnya yang diringkaskan
ES = 0.14684707 low_range(A)
dalam tabel 3 di bawah ini :
ES = 0.14684707-0
S LOW HIGH CR
ES = 0.14684707 / CR
0,0 1,0 1,0 ES = 0.14684707 / 0.3
A 0 0.3 0.3 ES = 0.489490233
M 0.132 0.153 0.021 Untuk ringkasnya, proses decoding
R 0.14565 0.14859 0.00294 bisa dilihat dalam tabel 4 berikut :
I 0.1467378 0.1469436 0.000206 ES S L H CR
N 0.14684276 0.14685716 1.44E-05 0.14684707 A 0 0.3 0.3
A 0.14684276 0.14684708 4.32E-06 0.489490233 M 0.44 0.51 0.07
_ 0.14684678 0.14684708 3.03E-07 0.707003333 R 0.65 0.79 0.14
R 0.14684697 0.14684708 1.06E-07
0.407166667 I 0.37 0.44 0.07
O 0.14684704 0.14684708 3.71E-08
0.530952381 N 0.51 0.58 0.07
S 0.14684707 0.14684708 7.78E-09
Y 0.14684707 0.14684708 7.78E-09 0.299319728 A 0 0.3 0.3
A 0.14684707 0.14684708 7.78E-09 0.997732426 _ 0.93 1 0.07
D 0.14684707 0.14684708 5.45E-09 0.96760609 R 0.65 0.79 0.14
A 0.14684707 0.14684708 5.45E-09 2.268614929 O 0.58 0.65 0.07
Tabel 4. Proses Encoding untuk Kata 24.12307042 S 0.79 0.86 0.07
"AMRINA ROSYADA"
333.3295774 Y 0.86 0.93 0.07
Maka dari proses ini didapatkan nilai
4749.565391 A 0 0.3 0.3
Low = 0.14684707
15831.88464 D 0.3 0.37 0.07
Nilai inilah yang ditransmisikan untuk
membawa pesan AMRINA ROSYADA. 226165.4948 A 0 0.3 0.3
Proses Decoding Tabel 5. Proses Decoding
Untuk melakukan decoding dipakai 3.4. Algoritma Lempel Ziv 78
algoritma berikut: (LZ78)
Ambil encoded-symbol (ES) Proses Econding LZ78
Do Algoritma kompresi LZ78 secara
~ Cari range dari simbol yang sederhana dapat dilihat pada tabel 2.4,
melingkupi ES dimana input berupa sebuah string
~ Cetak simbol karakter, dan sebuah dictionary dengan
~ CR = high_range low_range index pertama berisi dengan nilai null.
~ ES = ES low_range Output algoritma adalah kumpulan token.
~ ES = ES / CR Baris Pseudo code
Until simbol habis 1 dictionary[0] ;
Dalam hal ini simbol habis bisa 2 while not EOF do
ditandai dengan simbol khusus (End of 3 word ;
Message misalnya) atau dengan 4
cbaca 1 karakter selanjutnya;
menyertakan panjang pesan waktu 5
6 while word+c ada dalam
dilakukan transmisi. dictionary do
7
8 wordword+c; 7 berikutnya;
9 c baca 1 karakter 8 b karakter c pada token
10 selanjutnya; 9 berikutnya;
10
end while word isi dictionary pada
11 key index dictionary untuk index ke a;
word; output word.b;
output (key,c); tambahkan word.b kedalam
tambahkan word+c kedalam dictionary pada lokasi
dictionary pada lokasi yang yang tersedia
tersedia; end while;
end while; Tabel 7. Decoding Algoritma LZ78
Tabel 6. Algoritma Dasar LZ78 Encoding Dibandingkan dengan algoritma
LZ77 yang menggunakan 3 karakter
untuk 1 token, algoritma LZ78
memakai token yang terdiri dari 2
Berikut ini merupakan contoh encoding karakter. Karena keterbatasan sumber
pada string AMRINA ROSYADA daya memori, jumlah dictionary dalam
AMRINA ROSYADA 14 * 8 = 112 bit LZ78 akan dibatasi.
Index Isi Dictionary Token Sebuah algoritma pencarian untuk
0 Null array juga merupakan faktor penting
1 A (0, A) dalam kinerja algoritma LZ78.
2 M (0, M)
3 R (0, R) 4. Kesimpulan
4 I (0, I) Dari pembahasan di atas dapat
5 N (0, N) ditarik kesimpulan sebagai berikut :
6 A_ (1, _) 1. Ketiga metode kompresi
7 R (Algoritma Huffman, Arithmetic
Coding, dan Algoritma LZ78)
8 tersebut cukup efektif digunakan.
9 2. Arithmetic Coding ini akan lebih
10 optimal dari Algoritma Huffman
jika ada data/simbol yang
Proses Decoding LZ78 mempunyai probailitas besar
Decoding algoritma LZ78 dilakukan (sebagai konsekuensi, jumlah
dengan cara membaca semua token hasil banyak).
kompresi dan membuat kembali dictionary 3. Untuk implementasi Arithmetic
yang sama persis seperti proses kompresi. Coding sebaiknya dilakukan
Misalkan (f,c) adalah pasangan token, dengan perhitungan bilangan
maka algoritma dekompresi LZ78 dapat Integer.
dilihat pada tabel 7. 4. Untuk Algoritma LZ78 lebih cocok
Baris Pseudo code digunaka dalam data yang besar,
1 dictionary[0] ; karena mempunyai dictionary.
2 baca input dalam bentuk stream
3 token
4
while not EOF stream token do
5
6 a karakter f pada token
5. Daftar Pustaka
[1] Sujaini, Herry dan Mulyani, Yessi. 2000. ALGORITMA RUN-LENGTH HALF-BYTE
& HUFFMAN untuk PEMAMPATAN FILE. Bandung.

[2] Widagdo, Ari.2012. IMPLEMENTASI ALGORITMA METODE HUFFMAN PADA


KOMPRESI CITRA.Surakarta.

[3] Hanif, Irfan.2010.KOMPRESI TEKS MENGGUNAKAN ALGORITMA DAN POHON


HUFFMAN. Bandung.

[4] Santoso, Petrus. Studi Kompresi Data dengan Metode Arithmetic Coding,
Vol 1, No.1 . Jurnal Teknik Elektro, Maret 2001 : 14-18

[5] Pratama, Andre.2009.STUDI PERBANDINGAN KINERJA ALGORITMA KOMPRESI


LEMPEL ZIV 77, LEMPEL ZIV 78, DAN LEMPEL ZIV WELCH PADA FILE TEXT.Medan

Anda mungkin juga menyukai