7-zip, 7z, dan LZMA

Jumat Kliwon, 13 April 2007 @ 10:59 am Label:

Ada yang nanya ke saya masalah kompresi 7-zip. Bertanya-nya pun mekso. Harus dijawab! lHa apa saya itu dukun yang tahu segala hal?! Tapi, gak masalah… internet sumber belajar tanpa batas :)

7-zip dikenal sebagai aplikasi kompresi terbaru yang memiliki teknik kompresi lebih bagus. Tapi saya sendiri belum pernah mencoba. whalaH…! Winrar sudah cukup bagi saya (pake format zip). Wong saya gak pernah melakukan kompresi untuk data-data dalam ukuran besar. Untuk data dalam satuan mega, pake teknik secanggih apa-pun, pasti selisihnya cuman beberapa kilo (ratus?). Flashdisk 1GB masih bersisa banyak.

7-zip, 7z, dan LZMA adalah tiga serangkai. Saling terkait namun sama sekali berbeda, sesuai dengan perannya masing-masing.

Apa itu 7-zip?

7-zip bukan algoritma! demikian klarifikasi saya kepada “penanya”. 7-zip adalah software pengarsip file (open-source) yang pada mulanya dirancang untuk sistem operasi Windows. 7-zip boleh jadi populer, karena dukungannya pada berbagai platform, teknik kompresi, dukungan enkripsi, dan kompatibiltas terhadap file-file archive yang lain (seperti: .rar, .zip, .gzip, .tar, .rpm, .deb dan masih banyak lagi).

Apa itu 7z?

Sedangkan 7z adalah format file terkompresi, setara dengan .zip, .rar, dan sejenisnya. File ini berakhiran dengan ekstensi .7z.
Yang menjadi kelebihan dari 7z, menurut saya, adalah dukungan terhadap beberapa teknik kompresi data, enkripsi, dan “pre-processing filter” (baca rinciannya di Wikipedia).
Jadi boleh dibilang, bila ada dua file yang berekstensi .7z belum tentu file-file tersebut di kompres dengan teknik yang sama. Lalu bagaimana cara mendeteksi jenis kompresi yang ada dalam setiap file? 7z telah menyediakan struktur header yang menyimpan informasi tentang metode kompresi yang sedang digunakan (dalam bentuk ID yang unik). Serta beberapa informasi tentang file-file yang terkompresi.
SDK dan source code yang bisa kita oprek-oprek dapat menjelaskan secara detil bagaimana penyusunan header, proses kompresi, dan dekompresinya.

Apa itu LZMA?

LZMA adalah algoritma kompresi data yang dikembangkan dari algoritma LZ77, menjadi pilihan default untuk file kompresi 7z (karena 7z tidak hanya LZMA). Sayangnya, saya tidak berhasil menemukan dokumentasi yang detil tentang algoritma ini. Disarankan untuk “membaca” source-code C++ dalam distribusi open source 7-zip :(

<br />
Jadi, “tiga serangkai” ini adalah:

sebuah aplikasi pengarsip (7-zip) yang menyusun arsip dalam format 7z dengan menggunakan teknik kompresi LZMA (by default)

Mencoba 7-zip

Dugaan saya semula ternyata keliru. Setelah mencoba melakukan kompresi pada dokumentasi (manual) PHP distribusi apache-triad sebanyak 3,808 file dengan ukuran 18,408,881 bytes, hasilnya:

Winrar-zip	: 5,915 KB
Winrar-rar	: 5,645 KB
7Zip-7z-LZMA*	: 1,581 KB
7Zip-7z-BZip2*	: 1,426 KB

*: menggunakan ukuran dictionary default.

Saya kaget dengan selisihnya! Coba lagi melakukan kompresi lain. Dokumentasi Java (Javadoc) 1.5.0 dengan jumlah 10,966 file dan berukuran 225 MB.

Winrar-zip	: 44,817 KB
?-tar.gz	: 27,886 KB
7Zip-7z-LZMA	: 19,725 KB

7-zip masih tergolong “muda” (versi2.30 Beta 9, tahun 2002). Dokumentasi teknis tentang 7z dan LZMA masih minim dan lugu (pake file teks). Tapi dukungan bahasanya lumayan lengkap. Sempat kaget setelah mecoba menggunakan 7-zip, secara otomatis, menggunakan bahasa Indonesia.

Dan yang pasti, GRATIS!. Saatnya berpindah ke 7-zip!

Referensi:

Post yang berhubungan:

4 Komentars »

  1. Sama, sejak semester lalu saya juga sudah menggunakan 7-zip. Tapi untuk berkas .tar.gz kalau diekstrak struktur foldernya tidak dibuat.

    Komentar oleh dcky — April 13, 2007 @ 3:29 pm

  2. waktu di labkom juga pake 7zip. Gara-gara sok peduli license seh :P
    kalo editor yang cepet dan free pake notepad++, daripada editplus

    Komentar oleh abud — April 13, 2007 @ 10:31 pm

  3. 7-zip memang algoritma, sama halnya seperti GZIP yang merupakan perkembangan dari algoritma DEFLATE (dan sekarang sudah jadi class di dotnet). Dan salah satu algoritma utama yang digunakan dalam 7-zip adalah LZMA (digabung dengan algoritma lain seperti AES untuk enkripsinya). Itulah kenapa judul TA istrimu tak suruh menggunakan kata “algoritma” bukan “aplikasi”.
    Dalam bidang “seperti itu” (kompresi,enkripsi dan sejenisnya), jika kita telah menggabungkan antara satu algoritma dengan yang lain, atau menambahkan fitur ke sebuah algoritma yang sudah mapan (misal : menggabungkan antara shift transposition dengan vernam cipher terus tak kasih nama soetam’s algorithm), maka dapat dikatakan membuat sebuah algoritma baru (bedanya nggak ada yang mau mengakui atau nggak ada patennya).
    lihat lagi di : http://compression.wikidot.com/appropriate
    NB : jangan terlalu percaya wikipedia, terutama jika di footnotenya masih ditulis “memerlukan source yang lebih kredibel”. Karena dalam “medan penelitian” hal tersebut sangat berbahaya. Lebih baik cari source berupa buku (atau mungkin ebook dan juga thesis yang bertebaran di internet).

    Komentar oleh Soetam Rizky — April 17, 2007 @ 7:50 am

  4. […] terlalu percaya Wikipedia”, demikian pesan pak Soetam dalam komentar di tulisan saya tentang 7zip, 7z, dan LZMA. Terutama jika footnote-nya masih ditulis […]

    Ping balik oleh Mencari Sumber Informasi Terpercaya « belajar tanpa batas — April 17, 2007 @ 2:07 pm

RSS umpan untuk komentar-komentar dalam tulisan ini. URL Lacak Balik

Tinggalkan komentar

36 queries. 0,291 seconds. Didukung oleh WordPress