Sabtu, 27 Oktober 2012

METODE TEKNIK KOMPRESI LZW



2.1       Kompresi Data
Kompresi data (pemampatan data) merupakan suatu teknik untuk memperkecil jumlah ukuran data (hasil kompresi) dari data aslinya. Pemampatan data digunakan untuk mengurangkan jumlah bit-bit yang dihasilkan dari setiap simbol yang muncul. Dengan pemampatan ini diharapkan dapat mengurangi (memperkecil ukuran data) dalam ruang penyimpanan dan waktu pengiriman data ketika akan dikirim melalui jaringan.

1.2              Algoritma Lempel Ziv Welch (LZW)
Algoritma LZW dikembangkan dari metode kompresi yang dibuat oleh Ziv dan Lempel pada tahun 1977. algoritma ini melakukan kompresi dengan menggunakan dictionary. Pendekatan ini bersifat adaptif dan efektif. Prinsip kompresi tercapai jika referensi dalam bentuk pointer dapat disimpan dalam jumlah bit yang lebih sedikit dibandingkan string aslinya. The Lempel-Ziv (LZ) metode kompresi adalah salah satu algoritma paling populer untuk penyimpanan lossless. mengempis adalah variasi LZ yang dioptimalkan untuk kecepatan dekompresi dan rasio kompresi, sehingga kompresi ini bisa lambat. Deflate digunakan dalam PkZip , gzip dan PNG . LZW (Lempel-Ziv-Welch) digunakan dalam gambar GIF. Juga patut diperhatikan adalah LZR (LZ-Renau) metode, yang melayani sebagai dasar dari metode Zip. metode LZ memanfaatkan model kompresi berbasis tabel di mana entri tabel diganti untuk string data yang diulang. Untuk metode yang paling LZ, tabel ini dihasilkan secara dinamis dari data sebelumnya dalam input. Tabel sendiri sering Huffman dikodekan (misalnya Shri, LZX). berdasarkan skema coding LZ arus yang baik adalah melakukan LZX , digunakan dalam Microsoft CAB format.
Yang sangat kompresor terbaik menggunakan model probabilistik, di mana prediksi yang digabungkan dengan algoritma yang disebut aritmatika coding. Arithmetic coding, diciptakan oleh Jorma Rissanen , dan berubah menjadi metode praktis oleh Witten, Neal, dan Cleary, mencapai kompresi lebih unggul dari algoritma Huffman dikenal-baik, dan cocok terutama baik untuk konteks data kompresi adaptif tugas dimana prediksi sangat- tergantung. Pengkodean aritmatika digunakan dalam standar kompresi gambar-bilevel JBIG , dan dokumen-standar kompresi DjVu . Entri teks sistem, Dasher , adalah-terbalik aritmatika-coder.
Algoritma kompresi LZW
1.      Dictionary diinisialisasi dengan semua karakter dasar yang ada : {‘A’..’Z’,’a’..’z’,’0’..’9’}.
2.      P  karakter pertama dalam stream karakter.
3.      C  karakter berikutnya dalam stream karakter.
4.      Apakah string (P + C) terdapat dalam dictionary ?
Jika ya, maka P =P + C (gabungkan P dan C menjadi string baru).
Jika tidak, maka :
i. Output sebuah kode untuk menggantikan string P.
ii. Tambahkan string (P + C) ke dalam dictionary dan berikan nomor/kode berikutnya yang belum digunakan dalam dictionary untuk string tersebut.
iii. P       C.
5.      Apakah masih ada karakter berikutnya dalam stream karakter ?
Jika ya, maka kembali ke langkah 2.
Jika tidak, maka output kode yang menggantikan string P, lalu terminasi proses (stop).
Sebagai contoh, string “ABBABABAC” akan dikompresi dengan LZW. Isi dictionary pada awal proses diset dengan tiga karakter dasar yang ada: “A”, “B”, dan “C”. Tahapan proses kompresi ditunjukkan pada Tabel 3. Kolom posisi menyatakan posisi sekarang dari stream karakter dan kolom karakter menyatakan karakter yang terdapat pada posisi tersebut.  Kolom dictionary menyatakan string baru yang sudah ditambahkan ke dalam dictionary dan nomor indeks untuk string tersebut ditulis dalam kurung siku. Kolom output menyatakan kode output yang dihasilkan oleh langkah kompresi.
 

                        Jika dialgoritmakan mejadi kompresi bisa berbentuk seperti ini:
            BEGIN
            S = next input character;
            While not EOF
            {
                        C = next input character;
                        If s + c exists in the diactionary
                                    S = s + c
                        Else
                        {
                                    Output the code for s;
                                    Add string s + c to the dictionary with a new code
                                    S = c;
                        }
            }
END

                        Jika algoritma dekompresinya adalah seperti dibawah ini :
            BEGIN
            S = NULL;
            While not EOF
            {
                        K = NEXT INPUT CODE;
                        Entry = dictionary entry for K;
                        Ouput entry;
                        If (s != NULL)
                                    add string s + entry[0] to dictionary with new code
                        S = Entry;
            }
END

2.3.      Contoh Penerapan Simulasi Algoritma Lempel Ziv Welch (Lzw) Guna Mengkompresi Data Text Pada Komunikasi Data Real Time

2.3.1        Deskripsi Masalah

Permasalahan yang dibahas dalam makalah ini adalah bagaimana penerapan algoritma LZW dalam pengkompresian data teks dengan menggunakan algoritma Lempel Ziv Welch (LZW) guna komuniakasi data real time pada jaringan lokal.
Pembahasan masalah lebih ditekankan pada algoritma Lempel Ziv Welch (LZW) yang diterpkan pada data teks. Data dari hasil penelitian metode Lempel Ziv Welch (LZW) akan dibandingkan. Dan dicari perbandingan sebelum dan setelah dilakukan percobaan. Dari perbandingan ini akan diperoleh kelebihan dan kekurangan dari algoritma tersebut.

2.3.2       Proses Kompresi Pada Server

2.3.3 Proses Dekompes Pada Client

2.3.4.   Pengujian kompresi data
 
3.1.1        Kesimpulan
Berdasarkan hasil Simulasi dan pengujian algoritma Lempel Ziv Welch (LZW) untuk proses Kompresi data dengan menggunakan Visual Basic (VB) , dapat ditarik kesimpulan sebagai berikut :
1.        Besarnya waktu kompres dan waktu dekompres tergantung dari besarnya ukuran file yang akan dikompres dan didekompres.
2.        Besarnya waktu tranfer setelah file dikompres lebih cepat dibandingkan dengan besarnya waktu transfer sebelum file dikompres.
3.        Keamanan datanya baik setelah dikompresi , dengan kata lain file tidak berkurang atau mengalami kerusakan setelah proses kompresi data dilakukan.

3.1.2    Saran
Untuk pengembangan yang mungkin dapat disarankan adalah Program simulasi data yang dikompresi tidak hanya berupa data teks melainkan tipe data yang lain dan program simulasi ini dapat diimpementasikan langsung pada chatting, streamming video dll.



 Daftar Pustaka

1.      Halvsorson Michael, 2000. Microsoft Visual Basic 6.0 Step By Step. Jakarta; PT. Elex Media Komputindo
2.      Bell, Timothy C., Cleary, John G., Witten, Ian H, (1990) “Text Compression”, Prentice Hall, Englewood NJ
3.      Torer, J.A., (1988) “Data Compression”,  Computer Science Press, Rockville, MD Witten, Ian H., Neal, Radford M.
4.      Nelson, Mark (1987) “  LZW Data Compression “ , Doctor Dobb’s Journal, October.

0 komentar:

Posting Komentar

Popular Posts