Format arsip ISO, yang juga dikenal sebagai ISO 9660, adalah standar sistem berkas yang diterbitkan oleh Organisasi Internasional untuk Standardisasi (ISO) pada tahun 1988. Format ini dirancang sebagai sistem berkas lintas platform untuk media cakram optik, seperti CD-ROM. Tujuannya adalah untuk menyediakan metode terpadu bagi sistem operasi yang berbeda untuk membaca data dari cakram optik, memastikan interoperabilitas dan kompatibilitas.
ISO 9660 mendefinisikan struktur sistem berkas hierarkis, mirip dengan sistem berkas yang digunakan oleh sebagian besar sistem operasi. Ini mengatur data ke dalam direktori dan berkas, dengan setiap direktori dapat berisi subdirektori dan berkas. Standar ini menentukan format deskriptor volume dan direktori, serta tabel jalur, yang digunakan untuk akses cepat ke direktori.
Salah satu fitur utama dari format ISO 9660 adalah kesederhanaan dan kompatibilitasnya. Standar ini memberlakukan pembatasan pada nama berkas, struktur direktori, dan metadata untuk memastikan bahwa cakram dapat dibaca oleh berbagai sistem. Nama berkas dibatasi hingga 8 karakter, diikuti oleh ekstensi 3 karakter (format 8.3), dan hanya dapat berisi huruf besar, angka, dan garis bawah. Nama direktori juga dibatasi, dengan kedalaman maksimum 8 level.
Untuk mengakomodasi nama berkas yang lebih panjang dan metadata tambahan, standar ISO 9660 telah diperluas melalui berbagai spesifikasi. Salah satu ekstensi tersebut adalah Joliet, yang diperkenalkan oleh Microsoft pada tahun 1995. Joliet memungkinkan nama berkas yang lebih panjang (hingga 64 karakter Unicode) dan mendukung sensitivitas huruf besar/kecil. Ini dicapai dengan menyertakan set tambahan catatan direktori menggunakan pengodean UCS-2, yang dibaca oleh sistem yang mendukung ekstensi Joliet.
Ekstensi penting lainnya untuk ISO 9660 adalah Rock Ridge, yang dikembangkan untuk sistem UNIX. Rock Ridge menambahkan semantik sistem berkas POSIX, seperti izin berkas, kepemilikan, dan tautan simbolik, ke format ISO 9660. Ekstensi ini memungkinkan pelestarian atribut berkas khusus UNIX saat membuat citra ISO dari sistem berkas UNIX.
Format ISO 9660 membagi cakram menjadi blok logis, masing-masing biasanya berukuran 2.048 byte. 16 blok pertama dicadangkan untuk penggunaan sistem dan berisi Deskripsi Volume, yang memberikan informasi tentang struktur dan konten cakram. Deskripsi Volume Primer bersifat wajib dan mencakup detail seperti pengenal volume cakram, ukuran blok logis, dan catatan direktori root.
Setelah Deskripsi Volume, Tabel Jalur disimpan pada cakram. Tabel Jalur berisi informasi tentang lokasi setiap direktori pada cakram, memungkinkan penelusuran hierarki direktori dengan cepat. Ini terdiri dari Tabel L-Path (Little-Endian) dan Tabel M-Path (Big-Endian) untuk mendukung urutan byte yang berbeda yang digunakan oleh berbagai sistem.
Direktori dan berkas disimpan di blok cakram berikutnya. Setiap direktori diwakili oleh Catatan Direktori, yang berisi informasi seperti nama direktori, direktori induknya, dan lokasi berkas dan subdirektori terkait. Berkas disimpan sebagai urutan blok logis yang berdekatan, dengan lokasi dan ukurannya ditentukan dalam catatan Pengidentifikasi Berkas yang sesuai dalam direktori.
Saat membuat citra ISO, sistem berkas pertama kali diatur sesuai dengan persyaratan standar ISO 9660. Ini termasuk memastikan bahwa nama berkas dan direktori sesuai dengan format 8.3, membatasi kedalaman direktori, dan mengonversi nama berkas menjadi huruf besar. Setelah sistem berkas disiapkan, sistem berkas tersebut ditulis ke berkas citra dengan ekstensi `.iso`, yang kemudian dapat dibakar ke cakram optik atau digunakan sebagai citra cakram virtual.
Untuk membaca cakram berformat ISO 9660, sistem operasi atau aplikasi perangkat lunak khusus mulai dengan memeriksa Deskripsi Volume untuk menentukan struktur dan karakteristik cakram. Kemudian menggunakan Tabel Jalur dan Catatan Direktori untuk menavigasi hierarki sistem berkas dan menemukan berkas atau direktori tertentu. Saat berkas diakses, sistem membaca blok logis yang sesuai dari cakram berdasarkan informasi yang disediakan dalam catatan Pengidentifikasi Berkas.
Format ISO 9660 telah diadopsi secara luas dan masih umum digunakan untuk mendistribusikan perangkat lunak, konten multimedia, dan data arsip pada cakram optik. Kesederhanaan, kompatibilitas, dan ketahanannya telah berkontribusi pada umur panjangnya, bahkan ketika format cakram optik dan sistem berkas yang lebih baru telah muncul.
Meskipun usianya, standar ISO 9660 tetap relevan dalam komputasi modern. Banyak aplikasi perangkat lunak dan sistem operasi, termasuk Windows, macOS, dan Linux, terus mendukung format ini secara asli. Selain itu, citra ISO sering digunakan untuk mendistribusikan berkas instalasi sistem operasi, paket perangkat lunak, dan citra cakram mesin virtual, karena menyediakan metode yang nyaman dan tidak bergantung pada platform untuk menyimpan dan mentransfer data.
Sebagai kesimpulan, format ISO 9660 telah memainkan peran penting dalam menstandardisasi struktur sistem berkas untuk cakram optik, memungkinkan kompatibilitas lintas platform dan memfasilitasi distribusi konten digital. Ekstensinya, seperti Joliet dan Rock Ridge, telah menambahkan dukungan untuk nama berkas yang lebih panjang, metadata tambahan, dan atribut khusus UNIX. Meskipun cakram optik sebagian besar telah digantikan oleh media penyimpanan lain dan metode distribusi berbasis jaringan, format ISO 9660 tetap menjadi standar yang andal dan didukung secara luas untuk pengarsipan dan pertukaran data.
Seiring teknologi terus berkembang, format ISO 9660 pada akhirnya dapat digantikan oleh sistem berkas yang lebih baru dan lebih canggih yang dirancang untuk cakram optik berkapasitas tinggi atau media penyimpanan lainnya. Namun, dampaknya pada sejarah komputasi dan perannya dalam membangun pendekatan standar untuk pertukaran data lintas platform tidak akan dilupakan. Format ISO 9660 berfungsi sebagai bukti pentingnya interoperabilitas dan manfaat kolaborasi seluruh industri dalam mengembangkan dan mengadopsi standar.
Kompresi file mengurangi redundansi sehingga informasi yang sama membutuhkan lebih sedikit bit. Batas atasnya ditentukan oleh teori informasi: untuk kompresi lossless, batasnya adalah entropi sumber (lihat teorema pengkodean sumber Shannon source coding theorem dan makalah aslinya tahun 1948 “A Mathematical Theory of Communication”). Untuk kompresi lossy, kompromi antara laju bit dan kualitas dijelaskan oleh teori rate–distortion.
Sebagian besar kompresor memiliki dua tahap. Pertama, sebuah model memprediksi atau mengekspos struktur dalam data. Kedua, sebuah coder mengubah prediksi tersebut menjadi pola bit yang hampir optimal. Keluarga pemodelan klasik adalah Lempel–Ziv LZ77 (1977) dan LZ78 (1978) mendeteksi substring berulang lalu memancarkan referensi alih-alih byte mentah. Di sisi pengodean, pengodean Huffman (lihat makalah aslinya 1952) memberikan kode lebih pendek untuk simbol yang lebih mungkin. Pengodean aritmetika dan range coding lebih halus lagi dan mendekati batas entropi, sementara Asymmetric Numeral Systems (ANS) modern mencapai rasio serupa dengan implementasi berbasis tabel yang cepat.
DEFLATE (dipakai oleh gzip, zlib, dan ZIP) menggabungkan LZ77 dengan pengodean Huffman. Spesifikasinya bersifat publik: DEFLATE RFC 1951, pembungkus zlib RFC 1950, dan format file gzip RFC 1952. Gzip dibingkai untuk streaming dan tidak menyediakan akses acak. Gambar PNG menstandarkan DEFLATE sebagai satu-satunya metode kompresi (maksimal jendela 32 KiB) menurut spesifikasi PNG “Compression method 0… deflate/inflate… at most 32768 bytes” dan W3C/ISO PNG 2nd Edition.
Zstandard (zstd): kompresor serbaguna modern yang dirancang untuk rasio tinggi dengan dekompresi sangat cepat. Formatnya didokumentasikan dalam RFC 8878 (serta cermin HTML-nya) dan spesifikasi referensi di GitHub. Seperti gzip, frame dasar tidak menargetkan akses acak. Salah satu keunggulan zstd adalah kamus: sampel kecil dari korpus Anda yang membuat banyak file kecil atau serupa terkompresi jauh lebih baik (lihat dokumentasi kamus python-zstandard dan contoh karya Nigel Tao). Implementasi menerima kamus “unstructured” maupun “structured” (diskusi).
Brotli: dioptimalkan untuk konten web (mis. font WOFF2, HTTP). Ia memadukan kamus statis dengan inti LZ+entropi mirip DEFLATE. Spesifikasinya adalah RFC 7932, yang juga menyebut jendela geser 2WBITS−16 dengan WBITS [10, 24] (1 KiB−16 B hingga 16 MiB−16 B) dan bahwa ia tidak memberikan akses acak. Brotli sering mengalahkan gzip pada teks web sambil tetap cepat saat decoding.
Kontainer ZIP: ZIP adalah arsip file yang dapat menyimpan entri dengan berbagai metode kompresi (deflate, store, zstd, dll.). Standar de facto-nya adalah APPNOTE PKWARE (lihat portal APPNOTE, salinan yang di-host, serta ringkasan LC ZIP File Format (PKWARE) / ZIP 6.3.3).
LZ4 menargetkan kecepatan mentah dengan rasio sedang. Lihat halaman proyeknya (“extremely fast compression”) dan format frame. Cocok untuk cache in-memory, telemetri, atau jalur panas yang memerlukan dekompresi hampir secepat RAM.
XZ / LZMA mengejar kerapatan tinggi dengan waktu kompres yang relatif lambat. XZ adalah kontainer; pekerjaan berat biasanya dilakukan LZMA/LZMA2 (pemodelan mirip LZ77 + range coding). Lihat format .xz, spesifikasi LZMA (Pavlov), dan catatan kernel Linux tentang XZ Embedded. XZ biasanya lebih kecil dari gzip dan sering bersaing dengan codec modern yang berorientasi rasio tinggi, walau waktu enkodenya lebih lama.
bzip2 menggunakan Transformasi Burrows–Wheeler (BWT), move-to-front, RLE, dan pengodean Huffman. Biasanya lebih kecil daripada gzip namun lebih lambat; lihat manual resminya dan halaman manual (Linux).
Ukuran “jendela” penting. Referensi DEFLATE hanya bisa melihat ke belakang 32 KiB (RFC 1951) serta batas 32 KiB di PNG yang disebutkan di sini. Brotli memiliki jendela sekitar 1 KiB hingga 16 MiB (RFC 7932). Zstd menyetel jendela dan kedalaman pencarian lewat level (RFC 8878). Stream dasar gzip/zstd/brotli didesain untuk decoding sekuensial; format dasarnya tidak menjanjikan akses acak, meskipun kontainer (mis. indeks tar, framing berchunk, atau indeks khusus format) bisa menambahkannya.
Format di atas bersifat lossless: Anda bisa merekonstruksi byte yang sama persis. Codec media sering lossy: mereka membuang detail yang tak terlihat untuk mencapai bitrate lebih rendah. Pada gambar, JPEG klasik (DCT, kuantisasi, pengodean entropi) distandardisasi dalam ITU-T T.81 / ISO/IEC 10918-1. Di audio, MP3 (MPEG-1 Layer III) dan AAC (MPEG-2/4) menggunakan model persepsi dan transformasi MDCT (lihat ISO/IEC 11172-3, ISO/IEC 13818-7, dan ringkasan MDCT di sini). Lossy dan lossless dapat berdampingan (mis. PNG untuk aset UI; codec web untuk gambar/video/audio).
Teori Shannon 1948 · Rate–distortion · Pengodean Huffman 1952 · Pengodean aritmetika · Range coding · ANS. Format DEFLATE · zlib · gzip · Zstandard · Brotli · LZ4 frame · Format XZ. Tumpukan BWT Burrows–Wheeler (1994) · manual bzip2. Media JPEG T.81 · MP3 ISO/IEC 11172-3 · AAC ISO/IEC 13818-7 · MDCT.
Intinya: pilih kompresor yang cocok dengan data dan batasan Anda, ukur pada input nyata, dan jangan lupakan keuntungan dari kamus dan framing yang cerdas. Dengan pasangan yang tepat Anda mendapat file lebih kecil, transfer lebih cepat, dan aplikasi lebih responsif tanpa mengorbankan kebenaran atau portabilitas.
Kompresi file adalah proses yang mengurangi ukuran file atau beberapa file, biasanya untuk menyimpan ruang penyimpanan atau mempercepat transmisi melalui jaringan.
Kompresi file berfungsi dengan mengidentifikasi dan menghilangkan redundansi dalam data. Ia menggunakan algoritma untuk mengkodekan data asli dalam ruang yang lebih kecil.
Dua jenis utama kompresi file adalah kompresi tanpa kehilangan (lossless) dan kompresi dengan kehilangan (lossy). Kompresi lossless memungkinkan file asli untuk dipulihkan dengan sempurna, sedangkan kompresi lossy memungkinkan pengurangan ukuran yang lebih signifikan dengan biaya beberapa kehilangan kualitas data.
Contoh populer dari alat kompresi file adalah WinZip, yang mendukung beberapa format kompresi termasuk ZIP dan RAR.
Dengan kompresi tanpa kehilangan, kualitas tetap tidak berubah. Namun, dengan kompresi dengan kehilangan, dapat terjadi penurunan kualitas yang cukup terlihat karena menghilangkan data yang kurang penting untuk mengurangi ukuran file lebih signifikan.
Ya, kompresi file aman dari segi integritas data, terutama dengan kompresi tanpa kehilangan. Namun, seperti file lainnya, file yang dikompresi bisa menjadi target malware atau virus, jadi selalu penting untuk memiliki perangkat lunak keamanan yang terpercaya.
Hampir semua jenis file dapat dikompresi, termasuk file teks, gambar, audio, video, dan file perangkat lunak. Namun, level kompresi yang dapat dicapai bisa sangat bervariasi di antara jenis file.
File ZIP adalah jenis format file yang menggunakan kompresi tanpa kehilangan untuk mengurangi ukuran satu atau lebih file. Beberapa file dalam sebuah file ZIP efektif digabungkan menjadi satu file, yang juga memudahkan berbagi.
Secara teknis, ya, meskipun pengurangan ukuran tambahan mungkin minimal atau bahkan kontraproduktif. Melakukan kompresi pada file yang sudah dikompresi terkadang bisa meningkatkan ukurannya karena metadata yang ditambahkan oleh algoritma kompresi.
Untuk melakukan dekompresi file, biasanya Anda memerlukan alat dekompresi atau unzipping, seperti WinZip atau 7-Zip. Alat-alat ini dapat mengekstrak file asli dari format yang dikompresi.