A.
Definisi
Kompresi Data
Kompresi merupakan suatu teknik pemampatan data sehingga diperoleh file
dengan ukuran yang lebih kecil daripada ukuran aslinya
atau
proses pengubahan sekumpulan
data menjadi bentuk kode dengan tujuan untuk menghemat kebutuhan tempat
penyimpanan dan waktu untuk transmisi data (memperkecil kebutuhan bandwidth).
Sedangkan
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. 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” sehingga 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.
Beberapa
software kompresi file yang terkenal diantaranya Winrar dan Winzip. Tetapi
lebih baik lagi software yang sifatnya open source dan freeware, seperti 7Zip
(Igor Pavlov), Zipeg (Leo Kuznetsov), ZipGenius (Matteo Riso).
B.
Tujuan
Kompresi Data, antara lain:
·
Memperkecil penyimpanan data.
·
Mempercepat pengiriman data.
·
Memperkecilkebutuhan bandwidth.
C.
Teknik kompresi, bisa dilakukan :
1.
Data teks
2.
Gambar (JPEG, PNG, TIFF),
3.
Audio (MP3, AAC, RMA, WMA)
4.
Video (MPEG,H261, H263)
Contoh: kebutuhan data selama 1 detik pada layar resolusi 640 x
480:
1.
Data teks
·
1 karakter = 2 bytes
(termasuk karakter ASCII)
·
Setiap karakter ditampilkan
dalam 8x8 pixels.
·
Jumlah karakter yang dapat
ditampilkan per halaman = 4800 karakter.
·
Kebutuhan tempat penyimpanan
per halaman = 4.800×2 byte =9.600 byte = 9 .375 Kbyte.
2.
Data Grafik Vektor
·
1 still image membutuhkan
500 baris.
·
Setiap 1 baris
direpresentasikan dalam posisi horisontal, vertikal, dan field atribut sebesar
8-bit.
·
Sumbu Horizontal direpresentasikan dengan log2 640 = 10 bits .
·
Sumbu Vertical direpresentasikan dengan log2 480 = 9 bits.
·
Bits per line = 9bits + 10bits + 8bits = 27bits.
·
Storage required per screen page = 500 × 27 = 1687,5 byte = 1,65 Kbyte.
3.
Color Display
·
Jenis : 256, 4.096, 16.384, 65.536, 16.777.216 warna.
·
Masing-masing warna pixel memakan tempat 1 byte.
·
Misal 640 x 480 x 256 warna x 1 byte = 307.200 byte = 300 KByte
4.
Kebutuhan tempat penyimpanan untuk media kontinyu untuk 1 detik playback
:
·
Sinyal audio tidak terkompres dengan kualitas suara telepon dengan
sample 8 kHz dan dikuantisasi 8 bit per sample, pada bandwidth 64 Kbits/s,
membutuhkan storage
5.
Sinyal audio CD disample 44,1 kHz, dikuantisasi 16 bits per sample,
Storage = 44,1 kHz x 16 bits = 705,6 x 103 bits = 88.200 bytes untuk menyimpan
1 detik playback.
Ø Contoh-contoh
Teknik Kompresi Teks:
1. Run-Length-Encoding
(RLE)
·
Kompresi data teks dilakukan jika ada
beberapahuruf yang sama yang ditampilkan berturut-turut:
·
Mis: Data:
ABCCCCCCCCDEFGGGG = 17 karakter.
·
RLE tipe 1 (min. 4
huruf sama) : ABC!8DEFG!4 = 11 karakter.
·
Best case: untuk RLE tipe 2
adalah ketika terdapat 127 karakter yang sama sehingga akan dikompres menjadi 2
byte saja.
·
Worst case: untuk RLE tipe 2
adalah ketika terdapat 127 karakter yang berbeda semua, maka akan terdapat 1
byte tambahan sebagai tandanjumlah karakter yang tidak sama tersebut.
·
Menggunakan teknik loseless.
2. Static Huffman Coding
·
Frekuensi karakter dari
string yang akan dikompres dianalisa terlebih dahulu. Selanjutnya dibuat pohon huffman
yang merupakan pohon biner dengan root awal yang diberi nilai 0 (sebelah
kiri) atau 1 (sebelah kanan), sedangkan selanjutnya untuk dahan kiri selalu
diberi nilai 1(kiri) - 0(kanan) dan di dahan kanan diberi nilai 0(kiri)
–1(kanan).
·
A bottom-up approach =
frekuensi terkecil dikerjakan terlebih dahulu dan diletakkan ke dalam
leaf(daun).
·
Kemudian leaf-leaf akan
dikombinasikan dan dijumlahkan probabilitasnya menjadi root diatasnya.
·
Misalnya: MAMA SAYA
A = 4 ->
4/8 = 0.5
M = 2 ->
2/8 = 0.25
S = 1 ->
1/8 = 0.125
Y = 1 ->
1/8 = 0.125
Total = 8 karakter.
3.
Shannon-Fano
Algorithm
·
Dikembangkan oleh Shannon
(Bell Labs) dan Robert Fano (MIT).
·
Contoh: H E L L O
simbol
|
H
|
E
|
L
|
O
|
jumlah
|
1
|
1
|
2
|
1
|
Algoritma :
·
Urutkan simbol berdasarkan
frekuensi kemunculannya.
·
Bagi simbol menjadi 2 bagian
secara rekursif, dengan jumlah yang kira-kira sama pada kedua bagian, sampai tiap
bagian hanya terdiri dari 1 simbol.
·
Cara yang paling tepat untuk
mengimplementasikan adalah dengan membuat binary tree.
D.
Cara mengatasi kapasitas
penyimpanan yang besar dan bandwidth transmisi yang lebar:
·
Mengembangkan
teknologi penyimpanan dan pengiriman yang lebih besar.
·
Mengembangkan
teknik kompresi data dengan tetap memperhatikan batasan kualitasnya.
E.
Jenis
Kompresi Data
Ø Berdasarkan mode penerimaan data yang diterima manusia, antara
lain:
1.
Dialoque
Mode: yaitu proses penerimaan data dimana pengirim dan penerima seakan
berdialog (real time), seperti pada contoh video conference.
·
Dimana kompresi data harus
berada dalam batas penglihatan dan pendengaran manusia.
·
Waktu tunda (delay) tidak
boleh lebih dari 150 ms, dimana 50 ms untuk proses kompresi dan dekompresi, 100
ms mentransmisikan data dalam jaringan.
2.
Retrieval Mode : proses penerimaan data tidak dilakukan secara real time.
·
Dapat dilakukan fast forward dan fast rewind di client.
·
Dapat dilakukan random access terhadap data dan dapat bersifat Interaktif.
Ø Jenis kompresi data berdasarkan output, antara lain:
1.
Lossy
Compression
·
Teknik yang mengakibatkan
data semula tidak dapat direkonstruksi kembali (ada data yang hilang).
·
Teknik kompresi dimana data
hasil tidak samadengan datasebelum kompresi.
·
Batasan : kualitas yang
diinginkan dan waktu (pemrosesan dan pengiriman)
·
Contoh: data lagu, data
film, video conference.
·
MPEG (Motion Picture Expert
Group) untuk video.
·
MP3 untuk lagu dan audio.
·
JPEG (Joint Picture Expert
Group) untuk gambar.
·
Kelebihan:
Ukuran file lebih kecil dibanding loseless tetapi masih memenuhi
syarat untuk digunakan.
·
Biasanya teknik ini membuang
bagian-bagian data yang sebenarnya tidak begitu berguna dan tidak dirasakan
oleh kitasehingga kita masih beranggapan bahwa data tersebut masih bisa
digunakan walaupun sudah dikompres.
2.
Loseless
Compression
·
Teknik kompresi yang tidak
menyebabkan kehilangan data. Hasilnya sama seperti data sebelum proses
kompresi.
·
Contoh : ZIP, RAR, GZIP.
·
Teknik ini digunakan jika
dibutuhkan data setelah dikompresi harus dapat diekstrak/dekompres lagi tepat
sama.
·
Biasanya digunakan jika
akurasi data sangat penting.
·
EX : data teks/biner, data
program, image (PNG, GIF).
·
Kadang ada data-data yang
setelah dikompresi dengan teknik ini ukurannya sama atau lebih besar.
Ø
Teknik Kompresi Data dapat dibagi
menjadi dua kategori besar, yaitu:
Lossy Compression
Lossy compression
menyebabkan adanya perubahan data dibandingkan sebelum dilakukan proses
kompresi. Sebagai gantinya lossy compression memberikan derajat kompresi lebih
tinggi. Tipe ini cocok untuk kompresi file suara digital dan gambar digital.
File suara dan gambar secara alamiah masih bisa digunakan walaupun tidak berada
pada kondisi yang sama sebelum dilakukan kompresi.
Lossless
Compression
Sebaliknya Lossless
Compression memiliki derajat kompresi yang lebih rendah tetapi dengan akurasi
data yang terjaga antara sebelum dan sesudah proses kompresi. Kompresi ini
cocok untuk basis data, dokumen atau spreadsheet. Pada lossless compression ini
tidak diijinkan ada bit yang hilang dari data pada proses kompresi. Secara umum
kompresi.
Perbandingan LOSSY Vs LOSSLESS
·
Keuntungan
metode lossy
·
Menghasilkan
file kompresi yang lebih kecil dibandingkan dengan metode lossless.
·
Metode
lossy sering digunakan untuk mengkompresi suara, gambar dan video.
·
Lossy
akan mengalami generation loss pada data sedangkan pada lossless tidak terjadi
karena data yang hasil dekompresi sama dengan data asli.
·
Sedangkan
lossless digunakan untuk mengkompresi data untuk diterima ditujuan dalam
kondisi asli seperti dokumen teks.
F. Klasifikasi Teknik Kompresi (1)
1. Entropy Encoding.
·
Bersifat
loseless.
·
Tekniknya
tidak berdasarkan media karakteristik tertentu tetapi berdasarkan urutan data.
·
EX:
Run-length coding, Huffman coding, Arithmetic coding
2.
Source Coding
·
Bersifat lossy.
·
Berkaitan dengan data
semantik (arti data) dan media.
·
EX:Prediction(DPCM,DM),Transformation(FFT,DCT),LayeredCoding(Bitposition,subsampling,sub-bandcoding),VectorQuantization.
3.
Hybrid Coding
·
Gabungan antara lossy +
loseless.
·
EX: JPEG, MPEG, H.261, DVI.
G. Kriteria
Algoritma dan Aplikasi Kompresi Data
·
Kualitas data hasil
enkoding: ukuran lebih kecil, data tidak rusak untuk kompresi lossy.
·
Kecepatan, ratio, dan
efisiensi proses kompresi dan dekompresi.
·
Ketepatan proses dekompresi
data: data hasil dekompresi tetap sama dengan data sebelum dikompres (kompresi
loseless).
H. Pendekatan yang
digunakan pada kompresi data
1. Pendekatan statistik
·
Kompresi didasarkan pada
frekuensi kemunculan derajat keabuan pixel didalam seluruh bagian.
·
Contoh metode : Huffman
Coding.
2. Pendekatan ruang
·
Kompresi didasarkan pada
hubungan spasial antara pixel-pixel di dalam suatu kelompok yang memiliki
derajat keabuan yang sama dalam suatu daerah gambar atau data.
·
Contoh metode : Run-Length
Encoding.
3.
Pendekatan
kuantisasi
·
Kompresi dilakukan dengan
mengurangi jumlah derajat keabuan yang tersedia.
·
Contoh metode : kompresi
kuantisasi (CS-&Q).
4.
Pendekatan
fraktal
·
Kompresi dilakukan pada
kenyataan bahwa kemiripan bagian-bagian didalam data atau citra atau gambar
dapat dieksploitasi dengan suatu matriks transformasi.
·
Contoh metode : Fractal
Image Compression.
I.
Tipe
sistem kompresi (Encoder)
1. Transformer
Melakukan transformasi pemetaan
one-to-one pada gambar masukan.
·
Keluaran
transformer adalah representasi gambar yang lebih efisien untuk dikompresi.
·
EX:
Discrete Cosine Transform (DCT).
·
DCT
mengumpulkan energi sinyal gambar di tempat koefisien yang kecil. Tahapan ini
tidak mengakibatkan kehilangan data.
2. Quantizer
Menghasilkan
simbol-simbol yang digunakan untuk merepresentasikan gambar yang terkompresi.
·
Tahapan ini mengakibatkan
kehilangan data karena terjadi pembulatan pada data. Bersifat reversible.
·
Proses : scalar quantizer
dan vector quantizer.
·
Scalar quantizer melakukan
proses kuantisasi pada elemen per elemen.
·
Vector quantizer melakukan
proses kuantisasi pada blok data.
3. Coder
Mengubah keluaran Quantizer, berupa bit stream, menjadi kode-kode tertentu
yang mewakilinya.
·
Coder dapat menggunakan kode
variable-length(VLC).
·
Keluaran Coder adalah bit stream
yang dapat ditransmisikan lewat jaringan.
·
Bit stream dikirimkan pada penerima
yang memiliki Decoder untuk menata kembali gambar yang dikompresi.
·
Karena proses kuantisasi yang
bersifat reversibel maka gambar yang direkonstruksi tidak sama dengan gambar semula,meskipun
bagi penglihatan manusia tidak terlalu berpengaruh (tergantung rasio kompresi yang
digunakan).
J.
Aplikasi kompresi
1. Algoritma
Lempel-Ziv-Welch (LZW) menggunakan teknik adaptif dan berbasiskan “kamus”
Pendahulu LZW adalah LZ77 dan LZ78 yang dikembangkan oleh Jacob Ziv dan Abraham
Lempel pada tahun 1977 dan 1978. Terry Welch mengembangkan teknik tersebut pada
tahun 1984. LZW banyak dipergunakan pada UNIX, GIF, V.42 untuk modem.
2.
ZIP File Format
·
Ditemukan oleh Phil Katz
untuk program PKZIP kemudian dikembangkan untuk WinZip, WinRAR, 7-Zip.
·
Berekstensi *.zip dan MIME
application/zip.
·
Dapat menggabungkan dan
mengkompresi beberapa file sekaligus.
·
Aplikasi: WinZip oleh
Nico-Mak Computing.
Beberapa
method Zip:
· Shrinking : merupakan metode variasi dari LZW.
· Reducing : merupakan metode yang mengkombinasikan metode same byte
sequence based dan probability based encoding.
· Imploding : menggunakan metode byte sequence based dan Shannon-Fano
encoding.
· Deflate : menggunakan LZW.
· Bzip2, dan lain-lain
3.
RAR File
·
Ditemukan oleh Eugene
Roshal, sehingga RAR merupakan singkatan dari Roshal Archive pada
10 Maret 1972 di Rusia.
·
Berekstensi .rar dan MIME
application/x-rar-compressed.
·
Proses kompresi lebih lambat
dari ZIP tapi ukuran file hasil kompresi lebih kecil.
·
Aplikasi: WinRAR yang mampu
menangani RAR dan ZIP, mendukung volume split, enkripsi AES.
KESIMPULAN
1. Kompresi
merupakan suatu teknik
pemampatan data sehingga diperoleh file dengan ukuran yang lebih kecil daripada
ukuran aslinya atau proses pengubahan sekumpulan data menjadi bentuk kode dengan tujuan untuk
menghemat kebutuhan tempat penyimpanan dan waktu untuk transmisi data
(memperkecil kebutuhan bandwidth).
2.
Berdasarkan mode penerimaan
data yang diterima manusia, antara lain :
Dialoque Mode: yaitu proses
penerimaan data dimana pengirim dan penerima seakan berdialog (real time),
seperti pada contoh video conference. Dan Retrieval Mode : proses penerimaan data
tidak dilakukan secara real time.
3. Lossy
compression menyebabkan adanya perubahan data dibandingkan sebelum dilakukan
proses kompresi. Sebagai gantinya lossy compression memberikan derajat kompresi
lebih tinggi.
4. Lossless
Compression memiliki derajat kompresi yang lebih rendah tetapi dengan akurasi
data yang terjaga antara sebelum dan sesudah proses kompresi. Kompresi ini
cocok untuk basis data, dokumen atau spreadsheet.
5. Beberapa
software kompresi file yang terkenal diantaranya Winrar dan Winzip. Tetapi
lebih baik lagi software yang sifatnya open source dan freeware, seperti 7Zip
(Igor Pavlov), Zipeg (Leo Kuznetsov), ZipGenius (Matteo Riso).
DAFTAR PUSTAKA
2. ilmukomputer.org/.../widhiartha_kompresidata.pdf.
3. efrylia.files.wordpress.com/.../kompresi-data.pdf.
4. http://nurilla7.wordpress.com/2008/11/05/kompresi-data-lossy-dan-lossless/lecturer.ukdw.ac.id/anton/.../multimedia8.pdf.
1 comments:
terkait dengan algoritma kompresi, bisa diunduh artikel berikut http://repository.gunadarma.ac.id/bitstream/123456789/1352/1/21107685.pdf
Post a Comment