Anda di halaman 1dari 5

Jurnal Pelita Informatika, Volume 6, Nomor 4, April 2018

ISSN 2301-9425 (Media Cetak)


Hal: 464-468

ANALISA PERBANDINGAN ALGORITMA PREDICTION BY


PARTIAL MATCHING (PPM) DENGAN LEMPELZIV WELCH
(LZW) PADA KOMPRESI FILETEKS MENGGUNAKAN
METODE EKSPONENSIAL
Irena Marlina Halawa, Muhammad Syahrizal

Teknik Informatika STMIK Budi Darma, Medan, Indonesia


Jalan Sisingamangaraja No. 338 Simpang Limun, Medan, Indonesia

ABSTRAK
Dalam bidang teknologi informasi, penyimpanan data sering dilakukan dan pengiriman data menggunakan sistem transmisi
elektronik. Besarnya ukuran data terkadang menjadi kendala pengiriman data dengan ukuran besar akan memakan waktu yang
lebih lama dibandingkan dengan ukuran data yang lebih kecil. Penelitian dilakukan dengan menggunakan algoritma dan
algoritma Prediction By Partial Matching dan Lempel Ziv Welch untuk mengkompresi file dan melakukan perbandingan karena
kedua algoritma tersebut memiliki cara kerja yang berbeda-beda. Dengan adanya perbedaan tersebut, maka perlu adanya analisa
membandingkan kedua algoritma dalam menentukan file kompresi mana yang lebih cepat. Metode eksponensial merupakan
metode yang dapat menganalisa perbandingan kedua algoritma tersebut. Sehingga dapat dilihat algoritma mana yang lebih
bagus, efektif dan cepat dalam pengkompresian file teks.

Kata Kunci: Kompresi, Algoritma PPM, Agoritma LZW, Eksponensial

I. PENDAHULUAN Proses kompresi merupakan proses mereduksi


Pada kemajuan teknologi yang kita rasakan ukuran suatu data untuk menghasilkan representasi
sekarang ini telah memberikan peranan yang sangat digital yang padat atau mampat (compact) namun tetap
penting bagi masyarakat salah satunya adalah dapat mewakili kuantitas informasi yang terkandung
pertukaran dan penyimpanan data. Masalah yang sering pada data tersebut. Pada citra, video, dan audio,
di hadapi tentunya kapasitas data yang besar sehingga kompresi mengarah pada minimisasi jumlah bit rate
pengiriman dan penyimpanan data lebih lama dan untuk representasi digital. Pada beberapa literatur,
storage yang besar. Oleh karena itu dibutuhkan cara istilah kompresi sering disebut juga source coding,
kompresi data-data yang dimiliki untuk mempermudah data compression, bandwidth compression, dan signal
proses pengiriman dan mengurangi kebutuhan compression [1][6].
kapasitas media penyimpanan data.
Ada beberapa cara atau algoritma yang digunakan B. Algoritma Prediction By Partial Matching
untuk mengkompresi file teks diantaranya dengan cara (PPM)
algoritma Prediction By Partial Matching dan Algoritma Prediction By Partial Matching (PPM)
algoritma Lempel Ziv Welch. Kedua algoritma tersebut dikembangkan oleh Cleary dan Witten pada tahun
tentu memiliki cara kerja dan hasil rasio yang berbeda 1984. PPM adalah teknik kompresi data statis
atau bisa juga memperoleh hasil yang sama. berdasarkan konteks pemodelan dan prediksi.
Algoritma Prediction by Partial Matching Algoritma ini termasuk dalam kelas losless
(PPM) ini termasuk dalam kelas lossless compression compression yaitu tidak menghilangkan informasi
yaitu tidak menghilangkan informasi sedikit pun hanya sedikit pun, hanya mewakilkan beberapa informasi
mewakilkan beberapa informasi yang sama. Metode ini yang sama [2].
bersifat two-pass yaitu menggunakan peta kode yang
selalu sama, fase pertama untuk menghitung C. Algoritma Lempel Ziv Welch (LZW)
kemungkinan tiap simbol dan menentukan peta Algoritma ini melakukan kompresi dengan
kodenya dan fase kedua untuk mengubah pesan menggunakan dictionary, di mana fragmen-fragmen
menjadi kumpulan kode yang akan ditransmisikan. teks digantikan dengan indeks yang diperoleh dari
Algoritma Lempel Ziv Welch (LZW) ini sebuah “kamus”. Prinsip sejenis juga digunakan dalam
melakukan kompresi dengan menggunakan kamus, kode Braille, di mana kode-kode khusus digunakan
dimana fragmen-fragmen teks digantikan dengan untuk mempresentasikan kata-kata yang ada.
indeks yang diperoleh dari sebuah “kamus”. Pendekatan ini bersifat adaptif dan efektif karena
Pendekatan ini bersifat adaptif dan efektif karena banyak karakter dapat dikodekan dengan mengacu
banyak karakter dapat dikodekan dengan mengacu pada string yang telah muncul sebelumnya dalam teks.
pada string yang telah muncul sebelumnya dalam teks. Prinsip kompresi tercapai jika referensi dalam bentuk
pointer dapat disimpan dalam jumlah bit yang lebih
II. TEORITIS sedikit dibandingkan string aslinya [3].
A. Kompresi

464
Jurnal Pelita Informatika, Volume 6, Nomor 4, April 2018
ISSN 2301-9425 (Media Cetak)
Hal: 464-468

Berikut adalah algoritma kompresi LZW secara n = jumlah pilihan keputusan


lengkap: m = jumlah kriteria keputusan
j = 1,2,3,…m; m : Jumlah kriteria
1. Dictionary diinisialisasi dengan semua karakter i = 1,2,3,…,n; n : Jumlah pilihan alternatif
dasar yang ada
2. P ← karakter pertama dalam stream karakter. E. Microsoft Visual Basic 2008
3. C ← karakter berikutnya dalam stream karakter. Untuk membuat aplikasi ada beberapa
4. Apakah string (P + C) terdapat dalam dictionary ? perlengkapan yang dibutuhkan, yaitu: ToolBox sebagai
 Jika ya, maka P ← P + C (gabungkan P dan C alat atau komponen untuk membuat program. ToolBox
menjadi string baru). yang terdapat pada visual basic 2008 adalah All
 Jika tidak, maka : Windows From yang menampilkan semua komponen
 Output sebuah kode untuk menggantikan Common Control, Container, Menu dan Toolbars,
string P. Data, Printing, Dialog, dan General [5].
 Tambahkan string (P + C) ke dalam
dictionary dan berikan nomor/kode III. ANALISA DAN PEMBAHASAN
berikutnya yang belum digunakan dalam Analisa merupakan suatu kegiatan mengamati
dictionary untuk string tersebut. pengkompresian file teks yang lebih baik dan efisien
 P ← C. yang digunakan pada kompresi file. Dalam analisa ini
5. Apakah masih ada karakter berikutnya dalam proses kompresi file teks yang digunakan adalah
stream karakter ? algoritma Prediction By Partial Matching (PPM),
 Jika ya, maka kembali ke langkah 2. algoritma Lempel Ziv Welch (LZW) dan menghitung
• Jika tidak, maka output kode yang parameter perbandingan Ratio of compression,
menggantikan string P, lalu terminasi proses Compression ratio, dan Space Saving.
(stop). Sebuah file teks yang berisikan string “NAMA
IRENA MARLINA” dan di awal proses diset menjadi
D. Metode Perbandingan Eksponensial (MPE) 8 karakter yang akan di kompresi dalam bentuk proses
Metode perbandingan eksponensial (MPE) algoritma Lempel Ziv Welch dengan cara mengubah
merupakan salah satu metode pengambilan keputusan objek menjadi kode/indeks yang disimpan di dalam
yang mengkuantifikasikan pendapat seseorang atau sebuah kamus dan juga proses algoritma Prediction By
lebih dalam skala tertentu. Pada prinsipnya ia partial matching dilakukan dengan cara memodelkan
merupakan metode skoring terhadap pilihan yang ada simbol/karakter sebelumnya dalam stream simbol yang
[4][7]. tidak terkompresi untuk memprediksi simbol
Dalam Metode Perbandingan Eksponensial ada berikutnya, bit yang dipakai pada setiap karakter untuk
beberapa tahap yang harus dilakukan, yaitu : contoh kasus ini adalah 8 bit. Proses selanjutnya
1. Menyusun alternatif-alternatif keputusan yang akan membandingkan hasil dari kedua algoritma tersebut
dipilih. berdasarkan RC, CR dan SS.
2. Menentukan kriteria atau perbandingan keputusan Berikut ini merupakan contoh kompresi
yang penting untuk dievaluasi. menggunakan Algoritma Prediction By Partial
3. Menentukan tingkat kepentingan dari setiap kriteria Matching (PPM). Sebuah file teks yang berisi string
keputusan. “NAMA IRENA MARLINA” maksimum 2 order akan
4. Melakukan penilaian terhadap semua alternatif dikompresi dengan PPM.
pada setiap kriteria. Simbol baru yang dibaca dan dikodekan
5. Menghitung skor atau nilai total setiap alternative berasumsi bahwa string “NAMA IRENA MARLINA”
6. Menentukan urutan prioritas keputusan didasarkan 18 simbol benar-benar dimasukan dan dikodekan, jadi
pada skor atau nilai total masing-masing alternativ. konteks order-2 saat ini adalah "NA". Sebagai berikut :
Formulasi perhitungan skor untuk setiap alternative 1. Simbol berikutnya adalah M. Encoder PPM
dalam metode perbandingan eksponensial adalah menemukan bahwa NA diikuti oleh S telah terlihat
sebagai berikut: Sebelum dan memiliki probabilitas 1/4. M
dikodekan dengan encoder aritmatika dengan
𝑚 Probabilitas, karena pengkodean aritmatika
TKKj
Total nilai(TNi ) = ∑(RK ij ) biasanya memampatkan atau mendekati pada
𝑗=𝑖 Entropi, -log2 (1/4)= 2 bit.
2. Simbol berikutnya adalah L. Encoder PPM
TNi = Total nilai alternatif ke -i menemukan bahwa NA tidak terlihat sebelum
RK ij = derajat kepentingan relatif kriteria ke-j pada diikuti sebuah simbol I. Oleh karena itu, encorder
pilihan keputusan i mengirimkan simbol pelarian ke encorder
TKK j = derajat kepentingan kritera keputusan ke-j; aritmatika, dengan probabilitas 1/2 diprediksi oleh
TKKj > 0; bulat konteks order-2 NA. Oleh karena itu di butuhkan

465
Jurnal Pelita Informatika, Volume 6, Nomor 4, April 2018
ISSN 2301-9425 (Media Cetak)
Hal: 464-468

1untuk mengkodekan pelarian ini. Beralih ke urutan akan diinisialisasi dengan simbol atau karakter-
1, dan enkode PPM menemukan bahwa yang diikuti karakter dasar penyusun input stream, sehingga nilai
oleh I terlihat sebelumnya dengan probabilitas 1/2 default sebuah dictionary akan berisi 256 karakter
ditugaskan untuk I kemudian dikirim ke encorder ASCII dengan index 0-255. Sehingga pada awal
aritmatika untuk dikodekan dengan probabilitas pembacaan proses kompresi maupun dekompresi,
1/2, yang menghasilkan Entropi, log2(1/2)= 1 bit, karakter atau kode pertama akan selalu ditemukan pada
secara total 1 + 1 = 2 bit dihasilkan untuk dictionary. Proses kompresi dengan Lempel Ziv Welch
mengkodekan I. dapat di lihat pada tabel di bawah ini :
3. Simbol berikutnya adalah C. Encoder PPM beralih
dari urutan 2 ke urutan 1 ke pesanan 0, mengirim Tabel 1. Kompresi LZW
dua lolos seperti pada Kasus 3. Karena C belum Dictionary
pernah terlihat sebelumnya, tidak ditemukan di S C S+C in
Urutan 0, dan encoder PPM beralih ke pesanan -1 Output Ideks
dictinary
setelah mengirim pelarian ketiga Probabilitas code entry
escape dari order 0, dari 8/21 (ini menghasilkan - word baru
log2 (8/21) = 1,4 bit). Untuk simbol C tidak pelu N A N 78 NA (256)
memesan ruang probabilitas untuk simbol yang
A M N 65 AM
sudah muncul Pada tingkat yang lebih tinggi. Kita
asumsikan bahwa alfabet terdiri dari 26 huruf, (257)
ruang kosong, dan Simbol lolos, total 28 simbol. C M A N 77 MA
itu sendiri dikirim ke encorder aritmatika dengan (258)
probabilitas urutan -1, yaitu 1/28, sehingga
dikodekan menjadi 4.8 bit. Jumlah bit yang A _ N 65 A_ (259)
diperlukan untuk mengkodekan C adalah 2+ 2 +
1.4+ 4.8 = 10.2 bit. Maka hasil file teks sebelum _ I N 32 _I (260)
dikompresi adalah 18 karakter * 8 bit = 324 bit jika
dikonversikan ke byte menghasilkan 18 byte. I R N 73 IR (261)
Sedangkan file teks sesudah di kompresi adalah : 2
+ 2 + 1.4+ 4.8 + 10.2 = 20.4 bit. Jika dikonversikan
ke byte menghasilkan 2.55 byte. R E N 82 RE (262)
E N N 69 EN (263)
Compression Ratio (CR) PPM
N A Y(256) - -
ukuran sebelum−ukuran setelah
= x 100%
ukuran sebelum
N _ N 256 NA_
18−2,55 A (264)
= x 100%
2,55
_ M N 32 _M (265)
= 15,45%
ukuran sebelum
M A Y(258) - -
Ratio of Compression(RC) PPM = =
ukuran setelah
18 Byte
2,55 Byte M R N 258 MAR
A (266)
= 7,058 byte
R L N 82 RL (267)
Space Saving (SS) PPM = 1-CR L I N 76 LI (268)
I N N 73 IN (269)
=1 – 15,45% N A Y(256) - -
= 14,45 % N E 256 -
A 0
Adapun langkah-langkah yang dilakukan F
Algoritma Lempel Ziv Welch adalah sebuah file teks Compression Ratio (CR) LZW
yang berisi string “NAMA IRENA MARLINA” teks
tersebut akan di proses dalam dictionary pada awal ukuran sebelum−ukuran setelah 18−15
= x 100% = x
proses diset dengan delapan karakter dasar yang ada ukuran sebelum 18
100%
“N”, “A”, “M”, ”_”, “I”, “R”, “E”, “L”. Sebelum proses
= 16,6666%
kompresi atau dekompresi dimulai, sebuah dictionary

466
Jurnal Pelita Informatika, Volume 6, Nomor 4, April 2018
ISSN 2301-9425 (Media Cetak)
Hal: 464-468

ukuran sebelum kompresi maka perlu dilakukan penentuan


Ratio of Compression (RC) LZW = =
ukuran setelah
18 Byte algortima yang mana yang akan digunakan sebagai
15 Byte algoritma kompresi.
2. Menentukan kriteria
= 1.2 byte
Untuk dapat membandingkan kedua alternatif
Space Saving (SS) LZW = 1-CR tersebut, maka selanjutnya perlu dilakukan
penentuan kriteria dalam menganalisa proses dan
=1 – 16,6666 cara kerjanya.
3. Menentukan kriteria
= 15,6666 %
Untuk dapat membandingkan kedua alternatif
Pada dekompresi isi dictionary selalu tersebut, maka selanjutnya perlu dilakukan
ditambahkan setiap pembacaan codeword, hal inilah penentuan kriteria dalam menganalisa proses dan
yang memnungkinkan string asli dapat dikembalikan. cara kerjanya.
Sebagai contoh, jika kode: “78, 65, 77, 65, 32, 73, 82, 4. Menentukan bobot kriteria
69, 256, 32, 258, 82, 76, 73, 256 ” didekompresi dengan Penentuan bobot merupakan salah satu komponen
algoritma LZW, maka prosesnya dapat dilihat seperti yang sangat berpengaruh terhadap nilai analisa,
tabel di bawah ini : untuk itu menetepkan bobot kriteria berdasarkan
tingkatan pengaruh dalam menentukan kecepatan
Tabel 2. Dekompresi LZW dalam melakukan pencarian.
5. Pemberian Nilai Pada Setiap Kriteria
S(Codew C(Codew Outp (Indeks)
Pada kriteria yang telah dibentuk harus diberikan
ord) ord) ut Entry Baru
nilai. Nilai tersebut dapat dilihat pada contoh
Strin
dibawah ini yang dimana nilainya diambil
g
berdasarkan analisa algoritma Lempel Ziv Welch
NULL 78 N -
dan Prediction By Partial Matching sebelumnya.
N 65 A NA [256] 6. Menghitung Nilai
A 77 M AM [257] Setelah melakukan pengisian nilai terhadap
masing-masing kriteria, maka proses berikutnya
M 65 A MA [258]
adalah melakukan perhitungan dengan
A 32 _ A- [25 menggunakan rumus dari Metode Perbandingan
9] Eksponensial (MPE). Proses perhitungannya
- 73 I –I [260]
sebagai berikut:
I 82 R IR [261]
R 69 E RE [262] Tabel 3. Perhitungan Analisa Perbandingan
Dengan Menggunakan Metode Perbandingan
256 NA EN [263] Eksponensial Kriteria
NA 32 - NA- [264] Kritera Bobot Algoritma Algoritma
PPM LZW
- 258 MA - M [256]
CR 0.3 15,45 16,66
MA 82 R MAR [(266]
RC 0.4 7,058 1,2

SS 0.3 14,45 15,66


L 73 I LI [268]
I 256 NA IN [269] Total 1 6,686 5,682
nilai ∑
NA E0F - -
(𝐍)𝑩

Dalam menghitung dan membandingkan proses Langkah-langkah perhitungannya sebagai berikut :


pencarian dari kedua algoritma tersebut adalah sebagai
Nilai PPM
berikut :
1. Menentukan alternatif = (15,45)0,3+(7,058)0,4+(14,45)0,3
Untuk menganalisa perbandingan kecepatan antara
algortima Lempel Ziv Welch dan algoritma = 2,273 + 2,185 + 2,228
Prediction By Partial Matching dalam melakukan
= 6,686
467
Jurnal Pelita Informatika, Volume 6, Nomor 4, April 2018
ISSN 2301-9425 (Media Cetak)
Hal: 464-468

Nilai LZW 2. Program kompresi file yang diterapkan ke dalam


bahasa pemograman Visual Basic Studio 2008
= (16,66)0,3+ (1,2)0,4 + (15,66)0,3 cukup bagus dalam proses kompresi, dekompresi
dan perbandingannya.
= 2,325+ 1,075 + 2,282 3. Untuk dapat menganalisa kedua algoritma ini, nilai
perbandingannya dihitung menggunakan metode
= 5,682 eksponensial
7. Menentukan Hasil Atau Prioritas Keputusan
REFERENCES
Setelah diperoleh nilai akhir atau total nilai dari [1] Darma Putra, “Pengolahan Citra Digital”. Yogyakarta : Andi,
2010
masing-masing algoritma, maka tahapan [2] Salomo David, “Data Compression”. Northridge, Springer,
selanjutnya yang perlu dilakukan adalah 2007
[3] Linawati & Henry P. Panggabean, “ Perbandingan Kinerja
menentukan prioritas keputusan berdasarkan nilai Algoritma Kompresi Huffman, LZW, dan DMC pada berbagai
dari masing-masing alternatif. Berdasarkan analisa tipe file”. Itegral, Vol.9 No.1-16
tersebut kesimpulannya algoritma Lempel Ziv [4] Marimin, “Teknik Dan Aplikasi Pengambilan keputusan Kriteria
Majemuk” . Jakarta, Grasindo, 2004
Welch yang menjadi algortima tercepat dan yang [5] Hendrayudi, “VB 2008 Untuk Berbagai Keperluan
lebih efektif dalam melakukan proses kompresi file Pemograman”. Jakarta, PT.Elex Media Komputindo, 2009
[6] R. Rahim, Mesran, M. Syahrizal, A.P.U. Siahaan, Data Security
teks hal ini dikarenakan semakin kecil total nilai with International Data Encryption Algorithm, J. Online Jar.
yang diperoleh maka semakin sedikit jumlah usaha COT POLIPD. 8 (2017) 63–68.
[7] A. Fau, M. Mesran, G.L. Ginting, Analisa Perbandingan Boyer
yang dilakukan oleh algoritma tersebut dalam Moore Dan Knuth Morris Pratt Dalam Pencarian Judul Buku
melakukan kompresi. Menerapkan Metode Perbandingan Eksponensial ( Studi Kasus :
Perpustakaan STMIK Budi Darma ), J. Times (Technology
Informatics Comput. Syst. 6 (2017) 12–22.
IV. IMPLEMENTASI
Implementasi sistem program ini mencakup
spesifikasi kebutuhan perangkat keras (hardware) dan
spesifikasi perangkat lunak (software). Hasil pengujian
program menampilkan hasil output dari sebuah input
data pada aplikasi yang telah siap. Untuk pengujian
programnya bisa dilihat sebagai berikut:

Gambar 1. Tampilan menu form perbandingan

V. KESIMPULAN
Berdasarkan hasil penelitian, analisis,
perancangan, implementasi dan pengujian sistem ini,
maka dapat diambil beberapa kesimpulan sebagai
berikut :
1. Aplikasi yang dirancang telah mampu melakukan
kompresi dan dekompresi dengan menggunakan
algoritma Prediction By Partial Matching dan
Lempel Ziv Welch.
468

Anda mungkin juga menyukai