BAB 2 Tinjauan Teoritis

dokumen-dokumen yang mirip
Kompresi. Definisi Kompresi

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET KOMUNIKASI DATA

BAB II LANDASAN TEORI. Kompresi data atau pemampatan data adalah suatu proses pengubahan

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT.

Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC

BAB 2 TINJAUAN PUSTAKA

>>> Kompresi Data dan Teks <<<

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO MULTIMEDIA. Kompresi. Oky Dwi Nurhayati, ST, MT

KOMPRESI DATA DAN TEKS. By : Nurul Adhayanti

Bab 6. Kompresi Data dan Teks. Pokok Bahasan : Tujuan Belajar : Sekilas Kompresi Data

Kompresi. Pengertian dan Jenis-Jenis Kompresi

KOMPRESI DAN TEKS. = 4800 karakter. 8 x 8 Kebutuhan tempat penyimpanan per halaman = byte = byte = Kbyte

KOMPRESI DAN TEKS M U L T I M E D I A KOMPRESI DATA

KOMPRESI DAN TEKS. Pemrograman Multimedia KOMPRESI DATA. Diktat Kuliah

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET (KOMUNIKASI DATA)

KOMPRESI DATA. Multimedia Jurusan Teknik Informatika. Riki Ruli S -

Semester Ganjil 2012/2013 Program Studi Multimedia - Politeknik Negeri Media Kreatif KOMPRESI DAN TEKS

KONSEP. Tujuan Kompresi:

KOMPRESI DAN TEKS. By Aullya Rachmawati,

Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : 640 x 480 = 4800 karakter 8 x 8

BAB 2 TINJAUAN PUSTAKA

Pemampatan Data dengan Kode Huffman pada Perangkat Lunak WinZip

ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS

BAB II DASAR TEORI. 2.1 Pendahuluan

BAB 2 LANDASAN TEORI

~ By : Aprilia Sulistyohati, S.Kom ~

KOMPRESI DATA TEKS DENGAN MENGGUNAKAN METODE LEMPEL ZIV WELCH (LZW)

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

BAB 1 PENDAHULUAN. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa

BAB 2 TINJAUAN PUSTAKA

KINERJA DAN PERFORMA ALGORITMA KOMPRESSI LOSSLESS TERHADAP OBJEK CITRA DIGITAL

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding.

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. halaman khusus untuk pengaksesan dari handphone. Semakin baik informasi akan

BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN. Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu

Penerapan Pengkodean Huffman dalam Pemampatan Data

BAB 1 PENDAHULUAN 1-1

BAB I PENDAHULUAN. Meningkatnya penggunaan komputer dalam kegiatan sehari hari, secara

MULTIMEDIA system. Roni Andarsyah, ST., M.Kom Lecture Series

RINGKASAN MATERI MULTIMEDIA

BAB 1 PENDAHULUAN Latar Belakang

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan Algoritma Huffman dalam Kompresi Gambar Digital

KOMPRESI FILE CITRA BITMAP MENGGUNAKAN ALGORITMA RLE DAN LZ78. Iwan Fitrianto Rahmad 1, Helmi Kurniawan 2 ABSTRACT

Algoritma Huffman dan Kompresi Data

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. tertulis, audio dan video. Objek-objek tersebut yang sebelumnya hanya bisa

1. Pendahuluan. 1.1 Latar Belakang Masalah

Kinerja Dan Performa Algoritma Kompressi Lossless Terhadap Objek Citra Digital

BAB II DASAR TEORI Teknik Kompresi Data

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

BAB II LANDASAN TEORI. bergantung pada waktu. Citra merupakan sekumpulan titik-titik dari gambar, yang

BAB 1 PENDAHULUAN 1-1

APLIKASI KOMPRESI TEKS SMS PADA MOBILE DEVICE DENGAN MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. komputer yang lain. Besarnya ukuran data terkadang menjadi kendala dalam

BAB I PENDAHULUAN. Dalam bidang teknologi informasi, komunikasi data sangat sering

BAB I PENDAHULUAN. Teknologi modern telah berkembang pesat, khususnya yang berkaitan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

Penerapan Pohon Biner Huffman Pada Kompresi Citra

ABSTRAK. Kata kunci: Steganografi, Least Significant Bit (LSB), Huffman Code

BAB 2 LANDASAN TEORI

TEKNIK KOMPRESI LOSSLESS TEXT

PEMAMPATAN DATA DIGITAL MENGGUNAKAN METODA RUN-LENGTH

BAB 2 TINJAUAN PUSTAKA

BAB 3 ANALISA DAN PERANCANGAN SISTEM. semakin meluas pada berbagai kalangan. File-file tersebut ada kalanya semakin

BAB III ANALISIS DAN PERANCANGAN

ANALISIS ENKRIPSI CITRA DIGITAL MENGGUNAKAN ALGORITMA LOGISTIC MAP DENGAN ALGORITMA KOMPRESI LAMPEL-ZIV-WELCH (LZW)

BAB III ANALISA DAN DESAIN SISTEM. Analisa masalah yang didapat dari penelitian ini adalah membuat data

BAB 2 TINJAUAN PUSTAKA

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011

PEMAMPATAN CITRA (IMA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

PERBANDINGAN KINERJA ALGORITMA KOMPRESI HUFFMAN, LZW, DAN DMC PADA BERBAGAI TIPE FILE

Kode Huffman dan Penggunaannya dalam Kompresi SMS

TEKNIK KOMPRESI LOSSLESS

REPRESENTASI DATA MULTIMEDIA

Teknik Kompresi Citra Menggunakan Metode Huffman

ANALISIS PERBANDINGAN ALGORITMA LZW DAN HUFFMAN PADA KOMPRESI FILE GAMBAR BMP DAN PNG

BAB I PENDAHULUAN. media penyimpanan yang mengalami perkembangan adalah flashdisk. Flashdisk

Kompresi Data dengan Kode Huffman dan Variasinya

1. PENDAHULUAN 1.1. Latar Belakang Masalah

Sending Image as Text Message in SMS with Lossy Compression and Run Length Algorithm Method

BAB III ANALISA DAN DESAIN SISTEM

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

APLIKASI KOMPRESI FILE MENGGUNAKAN KOMBINASI ALGORITMA LZ77 DAN HUFFMAN SKRIPSI. Oleh : YUSUF FERYANTO

Transkripsi:

BAB 2 Tinjauan Teoritis 2.1 Tinjauan Kepustakaan Topik kompresi data ini pernah dikerjakan oleh salah satu mahasiswa Politeknik Negeri Bandung angkatan 2007 yaitu Andini Ramika Sari [4]. Proses kompresi data dilakukan menggunakan pengembangan metode deflate yaitu kombinasi metode LZSS dan metode Huffman Coding. Namun sesuai perkembangan teknologi, muncul metode baru yang lebih memperkecil ukuran data sehingga lebih menghemat pemakaian bandwidth. Sehingga pada proyek akhir ini akan dibuat kompresi data dengan menggunakan metode Lempel Ziv Welch (LZW) yang merupakan pengembangan dari metode LZSS. Untuk menunjang pembuatan proyek akhir ini, diadakan studi literatur dari berbagai sumber yang diantaranya adalah: 1. David Solomon, Data Compression The Complete Reference Fourth Edition. Buku ini berisi tentang kumpulan metode kompresi data baik teks, gambar, suara maupun video [1]. 2. Roy Indra Haryanto, Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC. Makalah ini berisi tentang metode kompresi teks dengan menggunakan algoritma Huffman, LZW dan DMC berikut dengan kelebihan dan kekurangan masing-masing metode [2]. 3. Oky Dwi Nurhayati, ST, MT, Kompresi Data. Power point bahan kuliah Universitas Diponogoro yang diambil dari internet berisi tentang penjelasan dari kompresi data, jenis-jenis kompresi serta metode-metode kompresi [3]. 2.2 Kompresi Data Kompresi berarti memampatkan/mengecilkan ukuran. Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing unit yang lain yang lebih rendah daripada representasi data yang tidak terkodekan dengan suatu sistem encoding tertentu. Susan Dwi Marcia (091331059) 5

Contoh kompresi sederhana yang biasa kita lakukan misalnya adalah menyingkat kata-kata yang sering digunakan tapi sudah memiliki konvensi umum. Misalnya: kata yang dikompres menjadi kata yg. Pengiriman data hasil kompresi dapat dilakukan jika pihak pengirim/yang melakukan kompresi dan pihak penerima memiliki aturan yang sama dalam hal kompresi data. Pihak pengirim harus menggunakan algoritma kompresi data yang sudah baku dan pihak penerima juga menggunakan teknik dekompresi data yang sama dengan pengirim sehingga data yang diterima dapat dibaca/di-dekode kembali dengan benar. Kompresi data menjadi sangat penting karena memperkecil kebutuhan penyimpanan data, mempercepat pengiriman data, memperkecil kebutuhan bandwidth. Teknik kompresi bisa dilakukan terhadap data teks/biner, gambar (JPEG, PNG, TIFF), audio (MP3, AAC, RMA, WMA), dan video (MPEG, H261, H263). Sebagai contoh untuk kompresi data teks : 1 karakter = 2 bytes (termasuk karakter ASCII Extended) Setiap karakter ditampilkan dalam 8x8 pixel Jumlah karakter yang dapat ditampilkan per halaman = 640 x 480 8 X 8 = 4800 karakter Kebutuhan tempat penyimpanan per halaman = 4.800 2 byte = 9.600 byte = 9.375 Kbyte 2.3 Jenis Kompresi Data Berdasarkan Output Lossy Compression Teknik kompresi dimana data hasil dekompresi tidak sama dengan data sebelum kompresi namun sudah cukup untuk digunakan. Contoh: Mp3, streaming media, JPEG, MPEG, dan WMA. Kelebihan: ukuran file lebih kecil dibanding loseless namun masih tetap memenuhi syarat untuk digunakan. Susan Dwi Marcia (091331059) 6

Biasanya teknik ini membuang bagian-bagian data yang sebenarnya tidak begitu berguna, tidak begitu dirasakan, tidak begitu dilihat oleh manusia sehingga manusia masih beranggapan bahwa data tersebut masih bisa digunakan walaupun sudah dikompresi. Misal terdapat image asli berukuran 12,249 bytes, kemudian dilakukan kompresi dengan JPEG kualitas 30 dan berukuran 1,869 bytes berarti image tersebut 85% lebih kecil dan ratio kompresi 15%. Loseless Compression Teknik kompresi dimana data hasil kompresi dapat didekompres lagi dan hasilnya tepat sama seperti data sebelum proses kompresi. Contoh aplikasi: ZIP, RAR, GZIP, 7-Zip Teknik ini digunakan jika dibutuhkan data setelah dikompresi harus dapat diekstrak/dekompres lagi tepat sama. Contoh pada data teks, data program/biner, beberapa image seperti GIF dan PNG. Kadang kala ada data-data yang setelah dikompresi dengan teknik ini ukurannya menjadi lebih besar atau sama [3]. 2.4 Metoda Kompresi LZW Algoritma LZW dikembangkan oleh Terry A.Welch dari metode kompresi sebelumnya yang ditemukan oleh Abraham Lempel dan Jacob Ziv pada tahun 1977. Algortima ini menggunakan teknik dictionary dalam kompresinya. Dimana string karakter digantikan oleh kode table yang dibuat setiap ada string yang masuk. Tabel dibuat untuk referensi masukan string selanjutnya. Ukuran dictionary pada algoritma LZW asli adalah 4096 sampel atau 12 bit, dimana 256 sampel pertama digunakan untuk table karakter single (Extended ASCII), dan sisanya digunakan untuk pasangan karakter atau string dalam data input. Algoritma LZW melakukan kompresi dengan mengunakan kode table 256 hingga 4095 untuk mengkodekan pasangan byte atau string. Susan Dwi Marcia (091331059) 7

Dengan metode ini banyak string yang dapat dikodekan dengan mengacu pada string yang telah muncul sebelumnya dalam teks [1]. 2.4.1 Cara Kerja Algoritma LZW Prinsip umum kerja algoritma LZW adalah mengecek setiap karakter yang muncul kemudian menggabungkan dengan karakter selanjutnya menjadi sebuah string jika string baru tersebut tidak berada dalam dictionary atau belum diindekkan maka string baru tersebut akan diindekkan ke dalam dictionary. Sebagai contoh, string BABAABAAA akan dikompresi dengan LZW. Isi dictionary pada diset dengan jumlah karakter ASCII yaitu sebanyak 255. Tahapan proses kompresi ditunjukkan pada Gambar 1. dan Tabel 1. Gambar 1. Tahapan Penggabungan Karakter LZW Tabel 1. Tahapan Kompresi LZW Kolom dictionary menyatakan kamus baru yang dihasilkan dari penggabungan karakter pada Gambar 1. dan kolom string menyatakan karakter yang telah digabung sesuai metode LZW. Kolom code word menyatakan nomor indeks untuk string tersebut ditulis dalam bentuk numeric. Kolom output menyatakan kode output yang dihasilkan oleh langkah proses kompresi ditunjukkan pada Tabel 1. Proses dekompresi data pada algoritma LZW tidak jauh berbeda dengan proses kompresinya. Pada dekompresi LZW, juga dibuat dictionary dari data input kompresi, sehingga tidak diperlukan penyertaan Susan Dwi Marcia (091331059) 8

dictionary ke dalam data kompresi. Proses dekompresi dapat dilihat pada Gambar 2. di bawah ini: Gambar 2. Tahapan Dekompresi LZW [5] Proses Encoding Proses Decoding start start Input P Input CW PW = CW Input C CW = byte berikutnya N (P+C) ada di? Y N CW ada di? Y Output kode = P P = P+C P = string PW Output CW ke Masukkan P+C ke C = karakter pertama PW P= String PW P=C Output (P+C) ke C= karakter pertama CW P+C = CW Outtput (P+C) ke Byte ada lagi? Byte ada lagi? Output kode = P Output kode = CW Stop Stop Gambar 3. Proses Encoding dan Decoding LZW Susan Dwi Marcia (091331059) 9

2.4.2 Algoritma LZW Algoritma untuk kompresi LZW adalah sebagai berikut : 1. KAMUS diinisialisasi dengan semua karakter dasar yang ada : { A.. Z, a.. z, 0.. 9 }. 2. W karakter pertama dalam stream karakter. 3. K karakter berikutnya dalam stream karakter. 4. Lakukan pengecekan apakah (W+K) terdapat dalam KAMUS Jika ya, maka W W + K (gabungkan W dan K menjadi string baru). Jika tidak, maka : Output sebuah kode untuk menggantikan string W. Tambahkan string (W+ K) ke dalam dictionary dan berikan nomor/kode berikutnya yang belum digunakan dalam dictionary untuk string tersebut. W K. Lakukan pengecekan apakah masih ada karakter berikutnya dalam stream karakter Jika ya, maka kembali ke langkah 2. Jika tidak, maka output kode yang menggantikan string W, lalu terminasi proses (stop). Algoritma untuk dekompresi LZW adalah sebagai berikut : 1. Dictionary diinisialisasi dengan semua karakter dasar yang ada : { A.. Z, a.. z, 0.. 9 }. 2. CW kode pertama dari stream kode (menunjuk ke salah satu karakter dasar). 3. Lihat dictionary dan output string dari kode tersebut (string.cw) ke stream karakter. 4. PW CW; CW kode berikutnya dari stream kode 5. Apakah string.cw terdapat dalam dictionary? Jika ada, maka : Output string.cw ke stream karakter P string.pw Susan Dwi Marcia (091331059) 10

C karakter pertama dari string CW Tambahkan string (P+C) ke dalam dictionary Jika tidak, maka : P string.pw C karakter pertama dari string PW Output string (P+C) ke stream karakter dan tambahkan string tersebut ke dalam dictionary (sekarang berkorespondensi dengan CW) 6. Apakah terdapat kode lagi di stream kode? Jika ya, maka kembali ke langkah 4. Jika tidak, maka terminasi proses (stop) [2]. Susan Dwi Marcia (091331059) 11