Lompat ke isi

Gzip

Ensiklopedia Pengetahuan Universitas Islam Sultan Agung
Revisi sejak 24 Agustus 2026 18.10 oleh Maintenance script (bicara | kontrib) (Presentation V4: sitasi, referensi, Math, Wikimedia Commons, dan atribusi)
(beda) ← Revisi sebelumnya | Revisi terkini (beda) | Revisi selanjutnya → (beda)

gzip adalah format file dan aplikasi perangkat lunak yang digunakan untuk kompresi dan dekompresi file. Program ini diciptakan oleh Jean-loup Gailly dan Mark Adler sebagai pengganti perangkat lunak compress pada sistem Unix awal, dan dirancang untuk digunakan oleh GNU (dari sinilah huruf "g" dalam gzip berasal).[1] Versi pertama (0.1) dirilis pada 31 Oktober 1992, dan versi 1.0 menyusul pada Februari 1993.

Dekompresi format gzip dapat diimplementasikan sebagai algoritma streaming, yang merupakan fitur penting untuk protokol Web, pertukaran data, dan aplikasi ETL (menggunakan pipes standar).

Format file

gzip didasarkan pada algoritma DEFLATE, kombinasi LZ77 dan Huffman coding. Algoritma ini dirancang untuk menggantikan algoritma kompresi seperti LZW yang dilindungi paten.

Struktur format file gzip

  • Header 10-byte: Berisi magic number (1f 8b), metode kompresi (08 untuk DEFLATE), header flags, timestamp, dan informasi sistem operasi.
  • Header tambahan opsional: Bisa mencakup nama file asli, komentar, CRC-32 untuk bagian header, dan lainnya.
  • Body: Payload terkompresi menggunakan DEFLATE.
  • Trailer 8-byte: CRC-32 checksum dan panjang data asli tanpa kompresi.

gzip sering digunakan bersama program tar untuk mengompresi beberapa file menjadi satu arsip, menghasilkan file dengan ekstensi .tar.gz atau .tgz.[2]

Perbedaan dengan format lain

  • ZIP: Memungkinkan pengarsipan file tanpa alat eksternal tetapi kurang kompak dibandingkan tarball terkompresi.
  • compress: Menggunakan algoritma LZW dan memiliki ekstensi .Z. Alat gunzip mampu mendekompresi file ini.

Implementasi

Berbagai implementasi gzip telah dibuat, di antaranya:

  • GNU Project: Menggunakan algoritma LZ77.
  • BSD (FreeBSD, NetBSD, DragonFly BSD): Implementasi berlisensi BSD yang kompatibel dengan zlib.
  • OpenBSD: Menggunakan program compress dengan dukungan untuk format gzip.

Alternatif kompresi:

  • Zopfli: Kompatibel dengan gzip, memberikan rasio kompresi lebih baik dengan waktu kompresi yang lebih lama.
  • pigz: Ditulis oleh Mark Adler, menggunakan banyak CPU untuk mempercepat kompresi.[3]

Pemulihan data yang rusak

Data pada blok sebelum kerusakan biasanya dapat dibaca sepenuhnya. Data dari blok yang tidak hancur setelah kerusakan dapat dipulihkan melalui langkah tambahan.

Derivatif dan penggunaan lain

  • tar: Digunakan untuk mengekstraksi arsip .tar.gz dengan perintah seperti tar -zxf file.tar.gz.[4]
  • zlib: Abstraksi algoritma DEFLATE yang mendukung format gzip dan stream data ringan.
  • HTTP Compression: Format gzip digunakan untuk mempercepat pengiriman konten Web, sebagai salah satu dari tiga format standar untuk HTTP Compression.
  • PNG: Menggunakan zlib DEFLATE secara internal.

Pengganti populer

  • bzip2: Memberikan rasio kompresi lebih kecil tetapi membutuhkan lebih banyak waktu dan memori.[5]
  • AdvanceCOMP, Zopfli, libdeflate, 7-Zip: Menghasilkan file yang kompatibel dengan gzip dengan rasio kompresi lebih baik, meskipun membutuhkan waktu proses lebih lama.

Penelitian dan Inovasi

Penelitian pada 2023 menunjukkan bahwa teknik kompresi sederhana seperti gzip dapat dikombinasikan dengan algoritma k-nearest-neighbor untuk klasifikasi teks, memberikan alternatif menarik terhadap jaringan neural untuk pemrosesan bahasa alami dengan kebutuhan sumber daya rendah, termasuk tanpa memerlukan perangkat keras GPU.[6]

Penggunaan gzip

Berikut ini adalah beberapa sintaks yang bisa dilakukan dalam penggunaan gzip:[7]

Sintaks umum untuk perintah gzip adalah sebagai berikut:<syntaxhighlight lang="bash"> gzip [OPTION]... [FILE]... </syntaxhighlight>Untuk mengompres satu file, jalankan perintah gzip diikuti dengan nama file:<syntaxhighlight lang="bash"> gzip NamaFile </syntaxhighlight>Untuk mengopres banyak file, bisa gunakan perintah berikut:<syntaxhighlight lang="bash"> gzip file1 file2 file3 </syntaxhighlight>Untuk mengompres semua file dalam direktori yang diberikan, gunakan opsi -r:<syntaxhighlight lang="bash"> gzip -r directory </syntaxhighlight>Untuk mendecompress file .gz, gunakan opsi -d:<syntaxhighlight lang="bash"> gzip -d NamaFile.gz </syntaxhighlight>Untuk mendekompresi banyak file sekaligus, berikan beberapa nama file dengan dipisahkan oleh spasi ke gzip sebagai argumen:<syntaxhighlight lang="bash"> gzip -d file1.gz file2.gz file3.gz </syntaxhighlight>Ketika digunakan dengan opsi -d dan -r, gzip mendekompres semua file dalam direktori yang diberikan secara rekursif:<syntaxhighlight lang="bash"> gzip -dr directory </syntaxhighlight>Masih ada beberapa sintaks dalam penggunaan gzip yang bisa dimanfaatkan.

Referensi

  1. The gzip home page. www.gzip.org.
  2. xsand. Tutorial Penggunaan Perintah Gzip di Linux Terminal. LinuxID. 2019-09-02.
  3. pigz - Parallel gzip. zlib.net.
  4. Sara Zivanov. How to Extract or Unzip .tar.gz Files in Linux phoenixNAP KB. Knowledge Base by phoenixNAP. 2024-02-12.
  5. 7-zip vs bzip2 vs gzip. web.archive.org. 2014-11-01.
  6. Zhiying Jiang. “Low-Resource” Text Classification: A Parameter-Free Classification Method with Compressors. Findings of the Association for Computational Linguistics: ACL 2023. Association for Computational Linguistics. 2023-07. hlm. 6810–6828. doi:10.18653/v1/2023.findings-acl.426.
  7. xsand. Tutorial Penggunaan Perintah Gzip di Linux Terminal. LinuxID. 2019-09-02.

Sumber dan atribusi

Konten artikel ini diadaptasi dari Wikipedia bahasa Indonesia, revisi 28647317 (2025-12-01T02:17:36Z), yang tersedia berdasarkan lisensi Creative Commons Atribusi-BerbagiSerupa (CC BY-SA). Mohon gunakan konten ini secara bijak serta sesuai dengan ketentuan lisensi yang berlaku.