BAB II DASAR TEORI. 2.1 Pendahuluan

dokumen-dokumen yang mirip
BAB 2 TINJAUAN PUSTAKA

[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

Kompresi. Definisi Kompresi

BAB 2 Tinjauan Teoritis

BAB 1 PENDAHULUAN Latar Belakang

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

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

BAB 2 LANDASAN TEORI

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

BAB II DASAR TEORI Teknik Kompresi Data

1. Pendahuluan. 1.1 Latar Belakang Masalah

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

BAB 2 TINJAUAN PUSTAKA

Penerapan Pengkodean Huffman dalam Pemampatan Data

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

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING

BAB 2 LANDASAN TEORI

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN

PENGANTAR KOMPRESI DATA

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

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

BAB 2 TINJAUAN PUSTAKA

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI

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

BAB 2 TINJAUAN PUSTAKA

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

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

BAB 2 LANDASAN TEORI

HUFFMAN CODING. Huffman Coding

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LEMPEL ZIV WELCH (LZW) SKRIPSI FAHRUR RAZI

BAB 2 TINJAUAN PUSTAKA

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

TEKNIK KOMPRESI LOSSLESS TEXT

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data

>>> Kompresi Data dan Teks <<<

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

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

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

Teknik Kompresi Citra Menggunakan Metode Huffman

1. PENDAHULUAN 1.1. Latar Belakang Masalah

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

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

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

KONSEP. Tujuan Kompresi:

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

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN 1-1

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang

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

BAB 2 LANDASAN TEORI

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

DATA COMPRESSION CODING USING STATIC AND DYNAMIC METHOD OF SHANNON-FANO ALGORITHM

Informasi dan Coding

Kinerja Dan Performa Algoritma Kompressi Lossless Terhadap Objek Citra Digital

Penerapan Algoritma LZW (Lempel-Ziv-Welch) pada Program Pemampat File

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

TEKNIK KOMPRESI LOSSLESS

BAB II TINJAUAN PUSTAKA. Terdapat beberapa literatur yang mengulas kembali algoritma JBE (Sadiq, et

Penyandian (Encoding) dan Penguraian Sandi (Decoding) Menggunakan Huffman Coding

TEKNIK PENGOLAHAN CITRA. Kuliah 13 Kompresi Citra. Indah Susilawati, S.T., M.Eng.

BAB III ANALISIS DAN PERANCANGAN

Perbandingan Kompresi Data Menggunakan Algoritma Huffman dan Algoritma DMC

KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG

KOMPRESI TEKS dengan MENGGUNAKAN ALGORITMA HUFFMAN

Kata Kunci: Pengamanan data, Kompresi LZSS, Enkripsi IDEA, Kriptografi Web.

Analisa Perbandingan Rasio Kecepatan Kompresi Algoritma Dynamic Markov Compression Dan Huffman

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

KOMPRESI TEKS MENGGUNAKAN ALGORITMA DAN POHON HUFFMAN. Nama : Irfan Hanif NIM :

Algoritma Huffman dan Kompresi Data

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

KINERJA DAN PERFORMA ALGORITMA KOMPRESSI LOSSLESS TERHADAP OBJEK CITRA DIGITAL

TUGAS AKHIR APLIKASI KOMPRESI SMS MENGGUNAKAN KODE HUFFMAN PADA MOBILE PHONE BERBASIS JAVA TM ANASTASYA CITRA

EVALUASI KINERJA ALGORITMA LEMPEL-ZIV STORER SZYMANSKI TERHADAP DATA TEKS DAN GAMBAR LAPORAN TUGAS AKHIR JUDUL

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB III ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN Latar Belakang

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL. foto, bersifat analog berupa sinyal sinyal video seperti gambar pada monitor

ANALISIS BEBERAPA TEKNIK CODING RAHMAD FAUZI, ST, MT JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA BAB I PENDAHULUAN

Kode Huffman dan Penggunaannya dalam Kompresi SMS

BAB IV EVALUASI KINERJA ALGORITMA LZSS

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARIHTMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP

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

BAB II TEKNIK KOMPRESI DATA

Aplikasi Kode Huffman dalam Kompresi Gambar Berformat JPEG

BAB III LANDASAN TEORI. Kompresi data merupakan proses mengkonversi input data stream (aliran

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

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

SOLUSI QUIZ#2. Soal: Untuk nomor 1-3, diketahui pesan string jaya berjaya

Transkripsi:

BAB II DASAR TEORI 2.1 Pendahuluan Kompresi data adalah proses pengkodean (encoding) informasi dengan menggunakan bit yang lebih sedikit dibandingkan dengan kode yang sebelumnya dipakai dengan menggunakan skema pengkodean tertentu. Kompresi data, terutama untuk proses komunikasi, dapat bekerja jika kedua pihak antara pengirim dan penerima data komunikasi memiliki skema pengkodean yang sama. Kompresi data hanya mungkin untuk dilakukan apabila data yang direpresentasikan dalam bentuk normal mengandung informasi yang tidak dibutuhkan. Ketika data tersebut sudah ditampilkan dalam format yang seminimal mungkin, maka data tersebut sudah tidak akan bisa dikompresi lagi. File yang demikian disebut dengan random file. 2.1.1 Kompresi Lossless Kompresi data yang menghasilkan file data hasil kompresi yang dapat dikembalikan menjadi file data asli sebelum dikompresi secara utuh tanpa perubahan apapun. Kompresi data lossless bekerja dengan menemukan pola yang berulang di dalam pesan yang akan dikompres tersebut dan melakukan proses pengkodean pola tersebut secara efisien. Kompresi ini juga dapat berarti proses untuk mengurangi redundancy. Kompresi jenis ini ideal untuk kompresi text. Algoritma yang termasuk dalam metode kompresi lossless diantaranya adalah teknik dictionary coding dan huffman coding. 2.1.2 Kompresi Lossy Kompresi data yang menghasilkan file data hasil kompresi yang tidak dapat dikembalikan menjadi file data sebelum dikompresi secara utuh. Ketika data hasil kompresi di-decode kembali, data hasil decoding tersebut tidak dapat dikembalikan menjadi sama dengan data asli tetapi ada bagian data yang hilang. Oleh karena itu kompresi jenis ini tidak baik untuk kompresi data yang kritis 4

seperti data text. Bentuk kompresi seperti ini sangat cocok untuk digunakan pada file-file gambar, suara, dan film. Contoh penggunaan kompresi lossless adalah pada format file JPEG, MP3, dan MPEG. 2.1.3 Dictionary Coding Teknik dictionary coding adalah teknik kompresi yang dilakukan dengan cara mencari string yang sama di dalam dictionary buffer dan look-ahead buffer. Apabila ditemukan string yang sama, maka akan dikeluarkan sebuah token yang isinya mewakili informasi string tersebut. Karena ukuran token tersebut lebih kecil daripada ukuran string yang diwakilinya, maka akan terjadi kompresi. Kompresi pada dictionary coding sangat tergantung pada data yang akan dikompresikan dan dictionary yang digunakan. Apabila pada data yang akan dikompresikan jarang ditemukan string yang sama dengan yang ada di dictionary, maka kinerja dari algoritma kompresinya terhadap data tersebut akan buruk. Sebaliknya, apabila pada data yang akan dikompresikan banyak string yang sama dengan string yang ada pada dictionary, maka kinerja algoritma kompresinya akan baik. Berdasarkan karakteristik dari dictionary yang digunakan, maka teknik dictionary coding dapat dibagi dua, yaitu dictionary coding yang menggunakan static dictionary dan dynamic dictionary. Dictionary static mempunyai cirri-ciri sebagai berikut : sama sepanjang proses encoding tidak efisien untuk semua situasi mempunyai masalah pada parsing kata Dictionary dinamis mempunyai ciri-ciri sebagai berikut : 5

Dibangun dan dimodifikasi secara dinamis selama proses encoding dan decoding Dibangun dari pola khusus yang ditemukan di input Pola dikodekan dengan index atau address pada dictionary Kebanyakan teknik didasarkan pada teori dari Jacob Ziv dan Abraham Lempel Kecepatan ditentukan oleh ukuran dictionary dan teknik pencarian 2.1.4 Algoritma Lempel-Ziv Algoritma Lempel-Ziv adalah keluarga algoritma kompresi yang berbasis dictionary coding yang dikembangkan oleh Jacob Ziv dan Abraham Lempel. Algoritma yang termasuk keluarga algoritma Lempel-Ziv memiliki nama yang didahului dengan LZ. Yang termasuk algoritma Lempel-Ziv diantranya adalah LZ77, LZSS, LZ78, LZW, dll. 2.1.5. Algoritma LZW Algoritma ini adalah versi aplikasi dari algoritma dictionary technique LZ78. Algoritma ini mempunyai ciri-ciri sebagai berikut : 1. Dictionary diinisialisasi dengan semua simbol dari sumber input, sehingga jika simbol pertama kali muncul dalam message sudah punya entry dalam dictionary 2. Algoritma ini mencoba mengeluarkan output untuk string yang ada dalam dictionary. Jika kombinasi string tersebut tidak ada, maka kombinasi tersebut akan ditambahkan dalam dictionary dan algoritma akan mengeluarkan output dari kombinasi yang ada. Algoritma detail untuk proses kompresinya adalah sebagai berikut : 6

LZWencoding() enter all letters to the dictionary; initialize string s to the first letter from input; while any input left read symbol c; if s + c is in the dictionary s = s + c; else output codeword(s); enter s + c to the dictionary s = c ; output codeword (s); (Adam Drozdek, Elements of Data Compression, Thompson Brook/Cole, 2002) Untuk lebih jelasnya kita akan lihat contoh di bawah ini : encoding string : acbadac encoder dictionary Input output index entry 1 a 2 b 3 c 4 d ac 1 5 ac cb 3 6 cb ba 2 7 ba ad 1 8 ad da 4 9 da ac 5 Keterangan : Pada saat awal algoritma ini akan memasukkan semua huruf yang ada dalam input ke dalam dictionary kemudian diberi indeks. Input pertama yaitu huruf a (dalam algoritma disebut s ) akan mulai dikodekan. Karena huruf a sudah ada dalam dictionary, maka huruf selanjutnya yaitu c ( dalam algoritma disebut c) akan ikut dikodekan. Dalam algoritma disebut bahwa jika s + c ada dalam 7

dictionary maka akan langsung dikodekan, jika tidak maka keluarkan codeword dari s dan masukkan s + c ke dalam dictionary. Dalam contoh ini pertama kita lihat apakah kombinasi huruf ac ada dalam dictionary atau tidak. Karena tidak ada maka ac dimasukkan ke dalam dictionary dan diberi indeks 5. Kemudian algoritma akan mengeluarkan output 1 karena codeword dari a = 1. Begitu seterusnya sampai dengan input yang terakhir. Pada tugas akhir ini, penulis melakukan beberapa modifikasi dari dictionary techniques LZW yang asli supaya didapat hasil kompresi yang lebih baik. Modifikasi yang dilakukan antara lain sebagai berikut : 1. Dictionary dibuat menjadi statis. Dictionary pada LZW asli adalah dinamis, sehingga hasil kompresi menjadi buruk. 2. Pengisian dictionary dibuat berdasarkan objek dan bukan hanya berdasarkan kombinasi karakter saja. Pengertian dari objek akan dibahas pada bab IV. 2.2. Sistem Pengkodean Sistem pengkodean adalah aturan untuk mengubah informasi tertentu (seperti tulisan, kata, atau frase) atau simbol lainnya menjadi bentuk lain. Proses pengubahan tersebut dalam ilmu telekomunikasi disebut dengan encoding. 2.2.1. Fixed Length Encoding Sistem pengkodean simbol yang menggunakan panjang bit yang sama untuk setiap simbol. Panjang bit minimal yang diperlukan oleh sistem pengkodean ini bergantung pada variasi simbol yang akan dikodekan dan sama dengan nilai entropy maksimum simbol. 2.2.2. Variable Length Encoding Sistem pengkodean simbol yang menggunakan panjang bit yang berbedabeda antara simbol yang satu dengan simbol yang lainnya. Salah satu jenisnya adalah panjang simbol ditentukan berdasar probabilitas kemunculan dari simbol 8

tersebut dalam suatu deretan simbol. Jenis encoding inilah yang menjadi basis pada proses kompresi data yang berbasis pada statistika. 2.2.3. Prefix Code Berdasarkan pada pertimbangan untuk mengkodekan simbol dengan manggunakan bit string yang lebih sedikit dibandingkan dengan menggunakan kode standar yang menggunakan panjang bit tetap maka dibuatlah sistem pengkodean simbol dengan menggunakan panjang bit yang variabel. Namun masalah terjadi saat menggunakan kode yang panjangnya variabel yaitu adanya ambiguitas/kerancuan makan saat mengkodekan deretan bit string tertentu menjadi beberapa simbol yang berbeda karena tidak uniquely decodable. Oleh karena itulah digunakan kode yang memiliki properti prefix code yaitu kode dari suatu simbol tidak akan pernah menjadi prefix dari seluruh kode simbol yang selainnya. 9