Sunday, 19 February 2012

TEORI KOMPRESI DATA (KOMUNIKASI DATA)

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. 
10.  http://eprints.undip.ac.id/18380/1/Kompresi_Data_pert6.pdf

1 comments:

hanum said...

terkait dengan algoritma kompresi, bisa diunduh artikel berikut http://repository.gunadarma.ac.id/bitstream/123456789/1352/1/21107685.pdf