Selasa, 15 Juni 2010

Kompresi data

Kita sering mendengar atau mendownload file-file dengan ekstensi .zip, .tar.gz, .tar, .tar.bz2, .rar, .jar. Nah pertanyaannya, sebenernya file apa sih itu? Di dalam kehidupan sehari-hari, kita bekerja dengan menggunakan banyak file. Suatu saat kita ingin mengumpulkan file-file tersebut di dalam sebuah file agar kita tidak bingung akan banyaknya file yang ada (archiving). Selain dapat dikumpulkan, file tersebut juga dapat dikompresi agar file yang dihasilkan tidak terlalu besar (compression). 

Format file archive Ada beberapa format file yang digunakan untuk membuat file archive. Misalnya Unix Archiver (.a, .ar), Tape Archiver (.tar), LBR (.lbr). Unix Archiver digunakan pada platform Unix-like, merupakan format archive tradisional yang sekarang hanya digunakan untuk membuat static libraries. Tape Archiver, juga digunakan pada platform Unix-like, yang merupakan format archive yang umum digunakan. Sedangkan LBR digunakan pada platform MS-DOS.

Format file compression Untuk mengkompres data, ada beberapa format file yang digunakan seperti bzip2 (.bz2), gzip (.gz), lzma (.lzma), lzo (.lzo), pack (.z), compress (.Z). Perbedaan masing-masing format kompresi ini adalah algoritma yang digunakan. Seperti bzip2 yang menggunakan Burrows-Wheeler transform diikuti dengan move-to-front transform dan terakhir Huffman coding. Format gzip yang menggunakan algoritma DEFLATE untuk kompresi data, lzma menggunakan algoritma 7-zip, lzo menggunakan algoritma LZO. Beberapa dari format kompresi data ini digunakan bersama-sama ketika meng-archive file. Seperti Tape Archiver (.tar) yang digunakan bersama bzip2 (ekstensi file menjadi .tar.bz2), gzip (ekstensi file menjadi .tar.gz) atau compress (ekstensi file menjadi .tar.Z). 

File archive dan compression Sekarang ini sudah banyak format file yang menawarkan archive dan compression. Seperti ARC (.arc), ARJ (.arj), Cabinet (.cab), ZIP (.zip), Jar (.jar), Tar dengan GZip, BZip2, Compress, LZMA (.tar.gz, .tgz, .tar.bz2, .tar.Z, .tar.lz, .tlz). Jenis-jenis format ini “boleh” di-restore dengan software gratisan (tanpa perlu lisensi dari si pembuat format file tersebut). Sedangkan format file seperti WinACE (.ace), RAR (.rar), StuffIt (.sit, .sitx) hanya “boleh” di-restore oleh software tertentu (software yang telah mendapat lisensi untuk merestore/ekstrak file dari si pembuat format file tersebut).

File-file yang telah di-archive dan compress biasanya sering dijumpai di Internet. Karena, untuk pertukaran data yang cepat, diperlukan sebuah metode untuk mengirimkan data dalam jumlah yang sedikit dan dengan ukuran yang kecil.

Kompresi berarti memampatkan /mengecilkan ukuran. 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 enkoding 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”. Pengiriman data hasil kompresi dapat dilakukan jika pihak pengirim/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 dibaca/di-dekode kembali dengan benar. Kompresi data menjadi sangat penting karena memperkecil kebutuhan penyimpanan data, mempercepat pengiriman data, memperkecil kebutuhan bandwidth. Teknik kompresi bisa dilakukan terhadap data teks/biner, gambar (JPEG, PNG, TIFF), audio (MP3, AAC, RMA, WMA), dan video (MPEG, H261, H263). 

Tujuan Kompresi data yaitu memperkecil ukuran file / data dalam penyimpanan maupun transmisi.