Anda di halaman 1dari 8

MAKALAH

Konsep Dasar Kompresi

OLEH :

Kelas 3A TMJ

Jurusan Teknik Elektro

Program Studi D4 Teknik Multimedia dan Jaringan

Politeknik Negeri Ujung Pandang

2017
TINJAUAN PUSTAKA

A. Pengenalan dan Teori Dasar Kompresi


1. Teori Dasar Kompresi
Pada dasarnya data apapun sebenarnya adalah merupakan rangkaian bit 0 dan
1. Yang membedakan antara suatu data tertentu dengan data yang lain adalah
ukuran dari rangkaian bit dan bagaimana 0 dan 1 itu ditempatkan dalam rangkaian
bit tersebut. Misalnya data berupa audio dan video, dalam data audio suatu
rangkaian bit tertentu mewakili satu nada, sedangkan dalam data video suatu
rangkaian bit mewakili suatu stream video, dimana dalam stream video terdapat
image dalam satu pixel. Semakin kompleks suatu data, ukuran rangkaian bit yang
diperlukan semakin panjang, dengan demikian ukuran keseluruhan data juga
semakin besar [4].
Dalam penyimpanan dan pengiriman data komputer, selain isi dari data
tersebut parameter yang tidak kalah pentingnya adalah ukurannya. Kerap kali data
yang disimpan dalam suatu media penyimpanan berukuran sangat besar sehingga
memerlukan tempat yang lebih banyak dan tidak efisien. Apalagi bila data
tersebut akan dikirim, semakin besar ukurannya, waktu yang diperlukan untuk
pengiriman akan lebih lama. Untuk itu, diperlukan kompresi data (data
compression) untuk memperkecil ukuran suatu data tanpa merubah isi atau
informasi yang terkandung dalam data tersebut.
Ada banyak sekali teori dan metode untuk kompresi data. Salah satu teori
yang cukup sederhana adalah dengan menggunakan kode Huffman (Huffman
coding). Dalam enkoding kode Huffman, digunakan konsep struktur data pohon
biner (binary tree). Teori kode Huffman ini sendiri tidak hanya ada satu, tetapi
ada beberapa variasi, optimasi, dan kombinasinya. Dalam ilmu sains komputer
kompresi data adalah seni dalam merepresentasikan sumber data digital dan
lainnya ke dalam bentuk yang lebih compact. Istilah lain dari kompresi data
adalah pemampatan data.
Berikut ini beberapa defenisi dari kompresi data:
a. Kompresi berarti memampatkan/mengecilkan ukuran.
b. Kompresi data adalah proses mengkodekan informasi menggunakan
bit atau informasi bearing unit yang lain yang lebih rendah dari pada
representasi data yang tidak terkodekan dengan suatu sistem enkoding
tertentu.
2. Kompresi Data
Data tidak hanya disajikan dalam bentuk audio (bunyi, suara, musik) maupun
video teks, tetapi juga dapat berupa teks dan citra. Keempat macam data tersebut
sering disebut dengan multimedia. Pada umumnya representasi data digital
membutuhkan memori yang besar, disisi lain kebanyakan data misalnya citra
(image) mengandung duplikasi. Duplikasi ini dapat berarti dua hal yaitu pertama,
besar kemungkinan suatu pixel dengan pixel lain tetangganya memiliki intensitas
yang sama, sehingga penyimpanan setiap pixel memboroskan tempat. Kedua, citra
banyak mengandung bagian (region) yang sama, sehingga bagian yang sama ini
tidak perlu dikodekan berulang kali. Saat ini, kebanyakan aplikasi menginginkan
representasi dengan memori yang lebih sedikit. Pemampatan data atau kompresi
data (data compression) bertujuan meminimalkan kebutuhan memori untuk
merepresentasikan data digital. Prinsip umum yang digunakan pada proses
kompresi adalah mengurangi duplikasi data sehingga memori untuk
merepresentasikan menjadi lebih sedikit daripada representasi data digital semula.
Data digital yang telah dikompresi dapat dikembalikan ke bentuk data digital
semula (dekompresi) dimana hal ini tergantung pada aplikasi software yang
mendukung kompresi tersebut. Ketika suatu aplikasi mampu menghilangkan
atau mengkompresi data yang tidak dibutuhkan maka aplikasi tersebut juga
mampu mengembalikan data yang dihilangkan tersebut sehingga menjadi data
digital semula (dekompresi) namun terdapat juga suatu aplikasi yang dapat
mengkompresi namun ketika dekompresi dapat menggunakan aplikasi lain
contohnya aplikasi winzip dengan aplikasi winrar.
Kompresi data sangat populer sekarang ini karena dua alasan yaitu :
a. Orang orang lebih suka mengumpulkan data. Tidak peduli seberapa
besar media penyimpanan yang dimilikinya. Akan tetapi cepat atau
lambat akan terjadi overflow.
b. Orang orang benci menunggu waktu yang lama untuk memindahkan
data. Misalnya ketika duduk di depan komputer untuk menunggu
halaman Web terbuka atau men-download sebuah file [7].
Rasio kompresi data adalah ukuran persentase data yang telah berhasil
dimampaatkan.Secara matematis rasio pemampatan data ditulis sebagai berikut :

Misalkan rasio kompresi adalah 25%, artinya 25 % data semula telah berhasil
dimampatkan [9].

B. Metode Kompresi Data


Metode pemampatan data atau kompresi data dapat dikelompokan dalam dua
kelompok besar yaitu metode lossless dan metode lossy yaitu:
1. Metode lossless.
Lossless data kompresi adalah kelas dari algoritma data kompresi yang
memungkinkan data yang asli dapat disusun kembali dari data kompresi. Lossless data
kompresi digunakan dalam berbagai aplikasi seperti format ZIP dan GZIP. Lossless
juga sering digunakan sebagai komponen dalam teknologi kompresi data lossy.
Kompresi Lossless digunakan ketika sesuatu yang penting pada kondisi asli. Beberapa
format gambar seperti PNG atau GIF hanya menggunakan kompresi lossless,
sedangkan yang lainnya sperti TIFF dan MNG dapat menggunakan metode lossy atau
lossless.
Metode lossless menghasilkan data yang identik dengan data aslinya, hal ini
dibutuhkan untuk banyak tipe data, contohnya: executable code, word processing
files, tabulated numbers dan sebagainya. Misalnya pada citra atau gambar dimana
metode ini akan menghasilkan hasil yang tepat sama dengan citra semula, pixel per
pixel sehingga tidak ada informasi yang hilang akibat kompresi. Namun ratio
kompresi (rasio kompresi yaitu, ukuran file yang dikompresi dibanding yang tak
terkompresi dari file) dengan metode ini sangat rendah. Metode ini cocok untuk
kompresi citra yang mengandung informasi penting yang tidak boleh rusak akibat
kompresi, misalnya gambar hasil diagnosa medis. Contoh metode lossless adalah
Aritmetic Coding, Run-Length, Huffman, Delta dan LZW.
Kebanyakan program kompresi lossless menggunakan dua jenis algoritma
yang berbeda: yang satu menghasilkan model statistik untuk input data, dan yang
lainnya memetakan data input ke rangkaian bit menggunakan model ini dengan cara
bahwa probable data akan menghasilkan output yang lebih pendek dari
improbable data. algoritma encoding yang utama yang dipakai untuk menghasilkan
rangkaian bit adalah Huffman Coding dan Aritmetic Coding.
2. Metode lossy
Lossy kompresi adalah suatu metode untuk mengkompresi data dan
mendekompresinya, data yang diperoleh mungkin berbeda dari yang aslinya tetapi
cukup dekat perbedaaanya. Lossy kompresi ini paling sering digunakan untuk
kompres data multimedia (suara atau gambar diam). Sebaliknya, kompresi lossless
diperlukan untuk data teks dan file, seperti catatan bank, artikel teks dan lainnya.
Format kompresi lossy mengalami generation loss yaitu jika melakukan
berulang kali kompresi dan dekompresi file akan menyebabkan kehilangan kualitas
secara progresif. hal ini berbeda dengan kompresi data lossless. ketika pengguna yang
menerima file terkompresi secara lossy (misalnya untuk mengurangi waktu download)
file yang diambil dapat sedikit berbeda dari yang asli di-level bit ketika tidak dapat
dibedakan oleh mata dan telinga manusia untuk tujuan paling praktis.
Metode ini menghasilkan rasio kompresi yang lebih besar daripada metode
lossless. 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 rasio kompresi 15%. Contoh metode lossy adalah metode CS&Q
(coarser sampling and/or quantization), JPEG, dan MPEG.
Ada dua skema dasar lossy kompresi :
a. Lossy transform codec, sampel suara atau gambar yang diambil, di potong ke
segmen kecil, diubah menjadi ruang basis yang baru, dan kuantisasi. hasil nilai
kuantisasi menjadi entropy coded.
b. Lossy predictive codec, sebelum dan/atau sesudahnya data di-decode
digunakan untuk memprediksi sampel suara dan frame picture saat ini.
kesalahan antara data prediksi dan data yang nyata, bersama-sama dengan
informasi lain digunakan untuk mereproduksi prediksi, dan kemudian
dikuantisasi dan kode.

Dalam beberapa sistem kedua teknik digabungkan, dengan mengubah codec


yang digunakan untuk mengkompresi kesalahan sinyal yang dihasilkan dari
tahapan prediksi.

Keuntungan dari metode lossy atas lossless adalah dalam beberapa kasus
metode lossy dapat menghasilkan file kompresi yang lebih kecil dibandingkan
dengan metode lossless yang ada, ketika masih memenuhi persyaratan aplikasi.
Metode lossy sering digunakan untuk mengkompresi suara, gambar dan video.
karena data tersebut dimaksudkan kepada human interpretation dimana pikiran
dapat dengan mudah mengisi bagian-bagian yang kosong atau melihat
kesalahan masa lalu sangat kecil atau inkonsistensi. Idealnya lossy adalah
kompresi transparan, yang dapat diverifikasi dengan tes ABX. Sedangkan lossless
digunakan untuk mengkompresi data untuk diterima ditujuan dalam kondisi asli
seperti dokumen teks. Lossy akan mengalami generation loss pada data sedangkan
pada lossless tidak terjadi karena data yang hasil dekompresi sama dengan data
asli [2].

C. Run Length Algorithm


Aritmethic Coding
Algoritma aritmetic coding melakukan penggantian satu deretan simbol input
dengan sebuah bilangan floating point. Semakin panjang dan semakin kompleks
pesan yang dikodekan, akan semakin banyak bit yang diperlukan untuk keperluan
tersebut. Output dari pengkodean Aritmetic Coding adalah satu angka yang lebih kecil
dari angka 1 dan lebih besar atau sama dengan 0. Angka ini secara unik dapat dapat
didekoding sehingga menghasilkan deretan simbol yang dipakai untuk menghasilkan
angka tersebut. Untuk menghasilkan angka output tersebut, tiap simbol yang akan di-
encode diberi satu set nilai probabilitas. Contohnya andaikan pada sampel audio 00
3e 1f 00 9a 00 1f 9a 00 3e 00 1f 00 3e 1f akan di-encode, maka akan diperoleh tabel
probabilitas seperti Tabel 2.2.

Setelah probabilitas tiap karakter diketahui, tiap simbol/karakter akan


diberikan range tertentu yang nilainya berkisar antara 0 dan 1, sesuai dengan
probabilitas yang ada. Dalam hal ini tidak ada ketentuan urutan penentuan segmen,
asalkan antara encoder dan decoder melakukan hal yang sama. Selanjutnya akan
diperoleh tabel Range Probabilitas seperti Tabel 2.3.

Keterangan :
0,0 00 <0,4 : Nilai 00 memiliki range dari 0,0 sampai dengan 0,4
0,4 1f <0,7 : Nilai 1f memiliki range dari 0,4 sampai dengan 0,7
0,7 9a <0,8 : Nilai 9a memiliki range dari 0,7 sampai dengan 0,8
0,8 3e <1,0 : Nilai 3e memiliki range dari 0,8 sampai dengan 1,0

Satu hal yang perlu dicatat dari tabel ini adalah tiap karakter melingkupi range yang
disebutkan, kecuali bilangan yang tinggi. Jadi, simbol 3e sesungguhnya mempunyai
range mulai dari 0,8 sampai dengan 0,9999 Selanjutnya, untuk melakukan proses
encoding, algoritma berikut dipakai.

1. . Set low = 0,0 (kondisi awal)


2. Set high = 1.0 (kondisi awal)
3. While (simbol input masih ada) do
4. Ambil simbol input.
5. CR = high low.
6. High = low + CR*high_range(simbol)
7. Low = low + CR*low_range(simbol)
8. End while
9. Cetak low

Pada algoritma di atas low, hight dan CR berturut-turut menyatakan batas bawah,
batas atas dan jangkauan interval dari setiap simbol (character). Pada tahap awal low dan
high di inisialisasi dengan nilai 0 dan 1 kemudian pada proses selanjutnya kedua nilai
tersebut diperbaharui dengan rumus :

1. High = low + CR*high_range(simbol)


2. Low = low + CR*low_range(simbol)

Anda mungkin juga menyukai