11
dengan pemutar musik seperti Winamp, Windows Media Player, dll. Berbeda dengan format MPEG, AVI, Mp3, dan lain-lain, bisa dengan mudah dimainkan
dengan pemutar musik tersebut [10].
2.3 Kompresi Data
Kompresi berarti memampatkan atau mengecilkan ukuran. 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 dilakukan
misalnya adalah menyingkat kata-kata yang sering digunakan tapi sudah memiliki konvensi umum, misalnya : kata “yang” dikompres menjadi kata “yg’’ [1].
Pengiriman data hasil kompresi dapat dilakukan jika pihak pengirim atau 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 dibacadi-decode kembali dengan benar [1].
Kompresi data menjadi sangat penting karena memperkecil kebutuhan penyimpanan data, mempercepat pengiriman data, memperkecil kebutuhan
bandwidth . Teknik kompresi bisa dilakukan terhadap data teksbiner, gambar JPEG,
PNG, TIFF, audio MP3, AAC, RMA, WMA, dan video MPEG, H261, H263 [1]. Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 [1] :
1. Data Teks
1 karakter = 2 bytes termasuk karakter ASCII Extended Setiap karakter ditampilkan dalam 8x8 pixels
Jumlah karakter yang dapat ditampilkan per halaman =
8x8 480
x 640
= 4800 karakter.
Kebutuhan tempat penyimpanan per halaman = 4.800×2 byte = 9.600 byte = 9.375 Kbyte
Universitas Sumatera Utara
12
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 Vertikal direpresentasikan dengan log2 480 = 9 bits,Bits per line = 9 bits + 10 bits + 8 bits = 27 bits
Storage required per screen page = 500 × 27
8 = 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.
2.3.1 Jenis-Jenis Kompresi Data
Jenis-jenis kompresi data dapat dibedakan atas [1] : 1.
Jenis Kompresi Data Berdasarkan Mode Penerimaan Data oleh Manusia Jenis kompresi data ini dapat dibedakan atas :
a. Dialoque Mode, yaitu proses penerimaan data di mana pengirim dan
penerima seakan berdialog real time, seperti pada contoh video conference. Di mana kompresi data harus berada dalam batas penglihatan dan
pendengaran manusia. Waktu tunda delay tidak boleh lebih dari 150 ms, di mana 50 ms untuk proses kompresi dan dekompresi, 100 ms
mentransmisikan data dalam jaringan. b.
Retrieval Mode, yaitu proses penerimaan data tidak dilakukan secara real time. Pada jenis ini dapat dilakukan fast forward dan fast rewind di client
atau dapat dilakukan random access terhadap data dan dapat bersifat interaktif.
2. Jenis kompresi berdasarkan output dapat dibedakan atas [5] :
a. Lossy Compression
Kompresi Lossless memiliki batasan pada jumlah kompresi. Namun, dalam beberapa situasi, kita bisa mengorbankan akurasi untuk meningkatkan tingkat
kompresi. Meskipun kita tidak mampu kehilangan informasi dalam kompresi teks, kita bisa membelinya ketika kita mengompresi gambar, video, dan
Universitas Sumatera Utara
13
audio. Misalnya, penglihatan manusia tidak dapat mendeteksi beberapa distorsi kecil yang dapat hasil dari kompresi lossy dari suatu gambar.
b. Lossless compression
Dalam Lossless compresion, integritas data sangat terjaga karena algoritma kompresi dan dekompresi invers tepat satu sama lain: tidak ada bagian dari
data yang hilang dalam proses. Metode kompresi lossless biasanya digunakan ketika kita tidak ingin kehilangan data apapun. Misalnya, kita tidak boleh
kehilangan data ketika kita kompres file teks atau program aplikasi. Kompresi lossless juga diterapkan sebagai langkah terakhir dalam beberapa
prosedur kompresi lossy untuk mengurangi ukuran data. Empat contoh metode kompresi lossless dalam bagian ini: run length coding, dictiinary
coding , Huffman coding, dan arithmatic coding.
2.3.2 Kriteria dan Klasifikasi Teknik Kompresi Data
Adapun kriteria utama dari sebuah sistem yang bisa digunakan untuk kompresi data adalah sebagai berikut [1]:
1. Kualitas data hasil enkoding harus bisa membuat ukuran file lebih kecil dari file
sumber, serta data tidak rusak untuk kompresi lossy. 2.
Kecepatan, ratio, dan efisiensi proses kompresi dan dekompresi. 3.
Ketepatan proses dekompresi data harus bisa membuat data hasil dekompresi tetap sama dengan data sebelum dikompres kompresi loseless.
Sedangkan klasifikasi teknik kompresi data adalah sebagai berikut [1]: 1.
Entropy Encoding Teknik kompresi ini memiliki ciri-ciri sebagai berikut :
a. Bersifat loseless
b. Tekniknya tidak berdasarkan media dengan spesifikasi dan karakteristik
tertentu namun berdasarkan urutan data. c.
Statistical encoding, tidak memperhatikan semantik data. d.
Misalnya : Run-length coding, Huffman coding, Arithmetic coding 2.
Source Coding Teknik kompresi ini memiliki ciri-ciri sebagai berikut :
Universitas Sumatera Utara
14
a. Bersifat lossy
b. Berkaitan dengan data semantik arti data dan media.
c. Misalnya : Prediction DPCM, DM, Transformation FFT, DCT, Layered
Coding Bit position, subsampling, sub-band coding, Vector Quantization. 3.
Hybrid Coding Teknik kompresi ini memiliki ciri-ciri sebagai berikut :
a. Gabungan antara lossy + loseless
b. Misalnya JPEG, MPEG, H.261, DVI
2.3.3 Aplikasi Kompresi
Aplikasi kompresi data sudah banyak dijual dipasaran dalam berbagai bentuk format file
. Adapun beberapa format file yang bisa digunakan untuk kompresi file, antara lain: 1.
ZIP File Format Oleh Phil Katz untuk program PKZIP kemudian dikembangkan untuk WinZip,
WinRAR, 7-Zip. File hasil kompresi berekstensi .zip dan MIME application
zip. Format ini dapat menggabungkan dan mengkompresi beberapa file
sekaligus menggunakan bermacam-macam algoritma, namun paling umum menggunakan Katz’s Deflate Algorithm. Adapun beberapa method Zip yang
sering digunakan adalah shrinking yang merupakan metode variasi dari LZW, reducing
merupakan metode yang mengkombinasikan metode same byte sequence based dan probability based encoding imploding
yang menggunakan metode byte sequence based dan Shannon-Fano encoding, deflate yang
menggunakan LZW, Bzip2 dan lain-lain. AplikasiWinZip dibuat oleh Nico-Mak Computing
[1]. 2.
RAR bagian, 3.20 Diciptakan oleh Eugene Roshal. RAR memiliki dua mode kompresi, umum dan
khusus. Modus umum menggunakan algoritma berbasis LZSS mirip dengan Deflate
ZIP. Ukuran menggeser kamus dalam RAR dapat bervariasi dari 64 Kb sampai 4 MB dengan 4 MB nilai default dan minimum match length adalah 2.
Literals, offsets, dan match length yang dikompresi lebih lanjut dengan Huffman
coder. Sebuah fitur penting atau RAR adalah kode error-control yang
meningkatkan kehandalan arsip RAR ketika sedang dikirim atau disimpan [11].
Universitas Sumatera Utara
15
2.3.4 Rasio Kompresi
Menurut David Salomon 2007, tingkat pengurangan data yang dicapai sebagai hasil dari proses kompresi disebut rasio kompresi. Rasio ini merupakan perbandingan
antara panjang data string asli dengan panjang data string yang sudah dikompresi, seperti dituliskan dalam persamaan berikut:
����� = ������ ���� ����
������ ���� ����������� Jika dinyatakan dalam persentasemaka dituliskan dalam persamaan berikut:
� = 1 − ������ ���� �����������
������ ���� ���� × 100
Yang berarti ukuran file berkurang sebesar P dalam persentase dari ukuran semula. Semakin tinggi rasio tingkat suatu teknik kompresi data maka semakin efektif
teknik kompresi tersebut [11].
2.4 Algoritma