Metode Kompresi Lzma Pada Teks
Metode Kompresi Lzma Pada Teks
Algoritma LZMA
Lzma adalah teknik pemampatan data yang merupakan pembaruan
dari LZ77. Lzma termasuk metode lossless yang memampatkan
data tanpa menghilangkan bagian apapun ketika dikembalikan ke
data aslinya. Dalam kompresi LZMA, aliran dikompresi adalah aliran
bit, dikodekan menggunakan biner adaptif rentang coder. Aliran ini
dibagi menjadi paket-paket, setiap paket menggambarkan baik satu
byte, atau urutan LZ77 dengan panjang dan jarak implisit atau
eksplisit dikodekan akan overflow, selain itu kompresi diciptakan
untuk mengurangi waktu dan biaya dalam pengiriman data
terutama melalui media internet.
Encoding
Input
STE
P
K|ODING_KOMPRESI
K|O|DING_KOMPRESI
K|O|D|ING_KOMPRESI
10
11
12
Dictionary buffer
Lookahead buffer
KODING_KOMPRESI
K ODING_KOMPRESI
KO DING_KOMPRESI
Outpu
t
(P,L,sy
mbol)
(0,0,K)
(0,0,O)
(0,0,D)
KOD ING_KOMPRESI
(0,0,I)
KODI NG_KOMPRESI
(0,0,N)
KODIN G_KOMPRESI
KODING _KOMPRESI
KODING_ KOMPRESI
KODING_KOM PRESI
KODING_KOMP RESI
KODING_KOMPR ESI
KODING_KOMPRE SI
13
KODING_KOMPRES I
14
KODING_KOMPRESI
(0,0,G)
(0,0,_)
(7,2,M)
(0,0,P)
(0,0,R)
(0,0,E)
(0,0,S)
(11,0,I)
-
Encoding
Input
STE
P
K|O|D|I|NG_KOMPRESI
K|O|D|I|N|G_KOMPRESI
K|O|D|I|N|G|_KOMPRESI
10
11
12
Dictionary buffer
Lookahead buffer
KODING_KOMPRESI
K ODING_KOMPRESI
KO DING_KOMPRESI
Outpu
t
(P,L,sy
mbol)
(0,0,K)
(0,0,O)
(0,0,D)
KOD ING_KOMPRESI
(0,0,I)
KODI NG_KOMPRESI
(0,0,N)
KODIN G_KOMPRESI
KODING _KOMPRESI
KODING_ KOMPRESI
KODING_KOM PRESI
KODING_KOMP RESI
KODING_KOMPR ESI
KODING_KOMPRE SI
13
KODING_KOMPRES I
14
KODING_KOMPRESI
(0,0,G)
(0,0,_)
(7,2,M)
(0,0,P)
(0,0,R)
(0,0,E)
(0,0,S)
(11,0,I)
-
Encoding
Input
STE
P
K|O|D|I|N|G|_|KOMPRESI
Karakter berikutnya K dilakukan proses match dan ditemukan
pada dictionary yang terletak pada index 7 maka match(p)=
7, panjang data yang match (l)=2, dan data berikutnya yang
akan masuk adalah M sehingga output yang dihasilkan
(7,2,M), huruf M diikutkan sebagai dictionary baru KOM.
K|O|D|I|N|G|_|KOM|PRESI
K|O|D|I|N|G|_|KOM|P|RESI
K|O|D|I|N|G|_|KOM|P|R|ESI
10
11
12
Dictionary buffer
Lookahead buffer
KODING_KOMPRESI
K ODING_KOMPRESI
KO DING_KOMPRESI
Outpu
t
(P,L,sy
mbol)
(0,0,K)
(0,0,O)
(0,0,D)
KOD ING_KOMPRESI
(0,0,I)
KODI NG_KOMPRESI
(0,0,N)
KODIN G_KOMPRESI
KODING _KOMPRESI
KODING_ KOMPRESI
KODING_KOM PRESI
KODING_KOMP RESI
KODING_KOMPR ESI
KODING_KOMPRE SI
13
KODING_KOMPRES I
14
KODING_KOMPRESI
(0,0,G)
(0,0,_)
(7,2,M)
(0,0,P)
(0,0,R)
(0,0,E)
(0,0,S)
(11,0,I)
-
Encoding
Input
STE
P
K|O|D|I|N|G|_|KOM|P|R|E|SI
K|O|D|I|N|G|_|KOM|P|R|E|S|I
10
11
12
Dictionary buffer
Lookahead buffer
KODING_KOMPRESI
K ODING_KOMPRESI
KO DING_KOMPRESI
Outpu
t
(P,L,sy
mbol)
(0,0,K)
(0,0,O)
(0,0,D)
KOD ING_KOMPRESI
(0,0,I)
KODI NG_KOMPRESI
(0,0,N)
KODIN G_KOMPRESI
KODING _KOMPRESI
KODING_ KOMPRESI
KODING_KOM PRESI
KODING_KOMP RESI
KODING_KOMPR ESI
KODING_KOMPRE SI
13
KODING_KOMPRES I
14
KODING_KOMPRESI
(0,0,G)
(0,0,_)
(7,2,M)
(0,0,P)
(0,0,R)
(0,0,E)
(0,0,S)
(11,0,I)
-
Decoding
Kemudian pada input kedua (0,0,O) offset dan length bernilai 0 maka
dapat ditentukan karakter kedua adalah O.
KO
Kemudian pada input ketiga (0,0,D) offset dan length bernilai 0 maka
dapat ditentukan karakter kedua adalah D.
KOD
Kemudian pada input ketiga (0,0,I) offset dan length bernilai 0 maka
dapat ditentukan karakter kedua adalah I.
KODI
Kemudian pada input ketiga (0,0,N) offset dan length bernilai 0 maka
dapat ditentukan karakter kedua adalah N.
STE
P
1
Input
Output
(0,0,K)
(0,0,O)
KO
(0,0,D)
KOD
(0,0,I)
KODI
(0,0,N)
KODIN
(0,0,G)
KODING
(0,0,_)
KODING_
(7,2,M)
KODING_KOM
9
10
(0,0,P)
(0,0,R)
KODING_KOMP
KODING_KOMPR
11
(0,0,E)
KODING_KOMPRE
12
(0,0,S)
KODING_KOMPRES
13
(11,0,I)
KODING_KOMPRESI
KODIN
Decoding
STE
P
1
Input
Output
(0,0,K)
Kemudian pada input ketiga (0,0,G) offset dan length bernilai 0 maka
dapat ditentukan karakter kedua adalah G.
(0,0,O)
KO
KODING
(0,0,D)
KOD
Kemudian pada input ketiga (0,0,_) offset dan length bernilai 0 maka
dapat ditentukan karakter kedua adalah _.
(0,0,I)
KODI
KODING_
(0,0,N)
KODIN
(0,0,G)
KODING
(0,0,_)
KODING_
(7,2,M)
KODING_KOM
9
10
(0,0,P)
(0,0,R)
KODING_KOMP
KODING_KOMPR
KODING_KOM
Kemudian pada input ketiga (0,0,P) offset dan length bernilai 0 maka
dapat ditentukan karakter kedua adalah P.
11
(0,0,E)
KODING_KOMPRE
KODING_KOMP
12
(0,0,S)
KODING_KOMPRES
13
(11,0,I)
KODING_KOMPRESI
Decoding
STE
P
1
Input
Output
(0,0,K)
(0,0,O)
KO
KODING_KOMPR
(0,0,D)
KOD
(0,0,I)
KODI
(0,0,N)
KODIN
(0,0,G)
KODING
(0,0,_)
KODING_
(7,2,M)
KODING_KOM
9
10
(0,0,P)
(0,0,R)
KODING_KOMP
KODING_KOMPR
11
(0,0,E)
KODING_KOMPRE
12
(0,0,S)
KODING_KOMPRES
13
(11,0,I)
KODING_KOMPRESI
KODING_KOMPRE
KODING_KOMPRES