Anda di halaman 1dari 6

Data Kompresi

Dalam ilmu komputer, pemampatan data atau kompresi data adalah sebuah cara untuk memadatkan data sehingga hanya memerlukan ruangan penyimpanan lebih kecil sehingga lebih efisien dalam menyimpannya atau mempersingkat waktu pertukaran data tersebut. Ada terdapat dua jenis pemampatan data, yaitu pemampatan tanpa kehilangan (lossless data compression) dan pemampatan berkehilangan (lossy data compression). Data tidak hanya disajikan dalam bentuk teks, tetapi juga dapat berupa gambar, audio (bunyi, suara, musik) dan video. Keempat macam data tersebut sering disebut dengan multimedia. Pada umumnya representasi data digital membutuhkan memori yang besar, disisi lain kebanyakan data misalnya citra (image) mengandung duplikasi. Duplikasi ini dapat berarti dua hal. Pertama, besar kemungkinan suatu pixel dengan pixel lain tetangganya memiliki intensitas yang sama, sehingga penyimpanan setiap pixel memboroskan tempat. Kedua, citra banyak mengandung bagian (region) yang sama, sehingga bagian yang sama ini tidak perlu dikodekan berulang kali. Saat ini, kebanyakan aplikasi menginginkan representasi dengan memori yang lebih sedikit. Pemampatan data atau kompresi data (data compression) bertujuan meminimalkan kebutuhan memori untuk merepresentasikan data digital. Prinsip umum yang digunakan pada proses kompresi adalah mengurangi duplikasi data sehingga memori untuk merepresentasikan menjadi lebih sedikit daripada representasi data digital semula. Data digital yang telah dikompresi dapat dikembalikan ke bentuk data digital semula (dekompresi) dimana hal ini tergantung pada aplikasi software yang mendukung kompresi tersebut. Ketika suatu aplikasi mampu menghilangkan atau mengkompresi data yang tidak dibutuhkan maka aplikasi tersebut juga mampu mengembalikan data yang dihilangkan tersebut sehingga menjadi data digital semula (dekompresi) namun terdapat juga suatu aplikasi yang dapat mengkompresi namun ketika dekompresi dapat menggunakan aplikasi lain contohnya aplikasi winzip dengan aplikasi winrar. Contoh software sound forge yang digunakan untuk mengkompresi data digital namun hasil yang didapat malah ukuran yang dihasilkan lebih besar`daripada ukuran data digital semula dimana hal ini dapat terjadi karena terdapat informasi-informasi yang tidak dikenali software ini sehingga terjadi penambahan informasi oleh software ini sehingga ukuran menjadi lebih besar. Bila dibandingkan dengan software permainan atau games terdapat informasi yang lebih banyak dikompresi karena terdapat informasi yang bisa dikompresi. Image atau citra yang ditransmisikan sepanjang world wide web merupakan salah satu contoh mengapa kompresi data diperlukan. Ada empat pendekatan yang digunakan pada kompresi suatu data, yaitu: 1. Pendekatan statistik Kompresi didasarkan pada frekuensi kemunculan derajat keabuan pixel didalam seluruh bagian. Contoh metode : Huffman Coding.

2. Pendekatan ruang Kompresi didasarkan pada hubungan spasial antara pixel-pixel di dalam suatu kelompok yang memiliki derajat keabuan yang sama dalam suatu daerah gambar atau data. Contoh metode : Run-Length Encoding.

3. Pendekatan kuantisasi Kompresi dilakukan dengan mengurangi jumlah derajat keabuan yang tersedia. Contoh metode : kompresi kuantisasi (CS&Q). 4. Pendekatan fractal Kompresi dilakukan pada kenyataan bahwa kemiripan bagian-bagian didalam data atau citra atau gambar dapat dieksploitasi dengan suatu matriks transformasi. Contoh metode : Fractal Image Compression. Metode pemampatan data atau kompresi data dapat dikelompokan dalam dua kelompok besar, yaitu: I. Metode lossless Lossless data kompresi adalah kelas dari algoritma data kompresi yang memungkinkan data yang asli dapat disusun kembali dari data kompresi. Lossless data kompresi digunakan dalam berbagai aplikasi seperti format ZIP dan GZIP. Lossless juga sering digunakan sebagai komponen dalam teknologi kompresi data lossy. Kompresi Lossless digunakan ketika sesuatu yang penting pada kondisi asli. Beberapa format gambar sperti PNG atau GIF hanya menggunakan kompresi lossless, sedangkan yang lainnya sperti TIFF dan MNG dapat menggunakan metode lossy atau lossless. Metode lossless menghasilkan data yang identik dengan data aslinya, hal ini dibutuhkan untuk banyak tipe data, contohnya: executable code, word processing files, tabulated numbers,dan sebagainya. Misalnya pada citra atau gambar dimana metode ini akan menghasilkan hasil yang tepat sama dengan citra semula, pixel per pixel sehingga tidak ada informasi yang hilang akibat kompresi. Namun ratio kompresi (Rasio kompresi yaitu, ukuran file yang dikompresi dibanding yang tak terkompresi dari file) dengan metode ini sangat rendah. Metode ini cocok untuk kompresi citra yang mengandung informasi penting yang tidak boleh rusak akibat kompresi, misalnya gambar hasil diagnosa medis. Contoh metode lossless adalah metode run-length, Huffman, delta dan LZW. TEKNIK KOMPRESI LOSSLESS Kebanyakan program kompresi lossless menggunakan dua jenis algoritma yang berbeda: yang satu menghasilkan model statistik untuk input data, dan yang lainnya memetakan data input ke rangkaian bit menggunakan model ini dengan cara bahwa probable data akan menghasilkan output yang lebih pendek dari improbable data. algoritma encoding yang utama yang dipakai untuk menghasilkan rangkaian bit adalah Huffman coding dan Aritmatik Coding. II. Metode lossy Lossy kompresi adalah suatu metode untuk mengkompresi data dan men-dekompresinya, data yang diperoleh mungkin berbeda dari yang aslinya tetapi cukup dekat perbedaaanya. Lossy kompresi ini paling sering digunakan untuk kompres data multimedia (Audio, gambar diam). Sebaliknya, kompresi lossless diperlukan untuk data teks dan file, seperti catatan bank, artikel teks dll. Format kompresi lossy mengalami generation loss yaitu jika melakukan berulang kali kompresi dan dekompresi file akan menyebabkan kehilangan kualitas secara progresif. hal ini berbeda dengan kompresi data lossless. ketika pengguna yang menerima file terkompresi secara lossy (misalnya untuk mengurangi waktu download) file yang diambil dapat sedikit berbeda dari yang asli dilevel bit ketika

tidak dapat dibedakan oleh mata dan telinga manusia untuk tujuan paling praktis. Metode ini menghasilkan ratio kompresi yang lebih besar daripada metode lossless. Misal terdapat image asli berukuran 12,249 bytes, kemudian dilakukan kompresi dengan JPEG kualitas 30 dan berukuran 1,869 bytes berarti image tersebut 85% lebih kecil dan ratio kompresi 15%. Contoh metode lossy adalah metode CS&Q (coarser sampling and/or quantization), JPEG, dan MPEG. Ada dua skema dasar lossy kompresi :

Lossy transform codec, sampel suara atau gambar yang diambil, di potong kesegmen kecil, diubah menjadi ruang basis yang baru, dan kuantisasi. hasil nilai kuantisasi menjadi entropy coded Lossy predictive codec, sebelum dan/atau sesudahnya data di-decode digunakan untuk memprediksi sampel suara dan frame picture saat ini. kesalahan antara data prediksi dan data yang nyata, bersamasama dengan informasi lain digunakan untuk mereproduksi prediksi, dan kemudian dikuantisasi dan kode. Dalam beberapa sistem kedua teknik digabungkan, dengan mengubah codec yang digunakan untuk mengkompresi kesalahan sinyal yang dihasilkan dari tahapan prediksi. LOSSY Vs LOSSLESS Keuntungan dari metode lossy atas lossless adalah dalam bebeapa kasus metode lossy dapat menghasilkan file kompresi yang lebih kecil dibandingkan dengan metode lossless yang ada, ketika masih memenuhi persyaratan aplikasi. Metode lossy sering digunakan untuk mengkompresi suara, gambar dan video. karena data tersebut dimaksudkan kepada human interpretation dimana pikiran dapat dengan mudah mengisi bagian-bagian yang kosong atau melihat kesalahan masa lalu sangat kecil atau inkonsistensi-idealnya lossy adalah kompresi transparan, yg dapat diverifikasi dengan tes ABX. Sedangkan lossless digunakan untuk mengkompresi data untuk diterima ditujuan dalam kondisi asli seperti dokumen teks. Lossy akan mengalami generation loss pada data sedangkan pada lossless tidak terjadi karena data yang hasil dekompresi sama dengan data asli. I. Pendahuluan Tujuan utama dari halaman ini adalah untuk memperkenalkan dua algoritma kompresi lossless penting: Huffman Coding dan Lempel-Ziv Coding . Sebuah encoder Huffman membutuhkan blok karakter input dengan tetap panjang dan menghasilkan blok bit output dari variabel panjang. Ini adalah kode panjang tetap ke variabel. Lempel-Ziv, di sisi lain, adalah panjang variabel kode-untuktetap. Desain dari kode Huffman optimal (untuk blocklength tetap) dengan asumsi bahwa statistik sumber diketahui apriori. Kode Lempel-Ziv tidak dirancang untuk setiap sumber tertentu, tetapi untuk kelas besar sumber. Anehnya, untuk setiap sumber stasioner dan ergodic tetap, algoritma Lempel-Ziv melakukan sama seperti jika ia dirancang untuk sumber itu. Terutama karena alasan ini, kode Lempel-Ziv adalah teknik yang paling banyak digunakan untuk file kompresi lossless. II. Huffman Coding

Ide dasar dalam Huffman coding adalah untuk menetapkan codeword singkat untuk orang-orang blok input dengan probabilitas tinggi dan panjang codeword kepada mereka dengan probabilitas rendah. Konsep ini mirip dengan yang ada pada kode Morse . Kode Huffman dirancang dengan menggabungkan bersama-sama dua kemungkinan setidaknya karakter, dan mengulangi proses ini sampai hanya ada satu karakter yang tersisa. Sebuah pohon dengan demikian kode yang dihasilkan dan kode Huffman diperoleh dari pelabelan pohon kode. Sebuah contoh bagaimana hal ini dilakukan ditampilkan di bawah. Pohon kode akhir statis diberikan di bawah ini:

1. Tidak peduli bagaimana karakter tersebut diatur. Saya telah mengaturnya di atas sehingga pohon kode akhir terlihat bagus dan rapi. 2. Tidak peduli bagaimana pohon kode terakhir diberi label (dengan 0s dan 1s). Saya memilih untuk label cabang atas dengan 0s dan cabang-cabang yang lebih rendah dengan 1s. 3. Mungkin ada kasus dimana ada dasi untuk dua karakter kemungkinan paling sedikit. Dalam kasus tersebut, prosedur dasi pemecah diterima. 4. Kode Huffman tidak unik. 5. Kode Huffman optimal dalam arti bahwa tidak ada lossless tetap lainnya-untuk-variabel panjang kode rata-rata memiliki tingkat lebih rendah. 6. Nilai dari kode di atas adalah 2,94 bit / karakter. III. Lempel-Ziv Coding Algoritma Lempel-Ziv adalah kode panjang variabel-ke-tetap. Pada dasarnya, ada dua versi algoritma disajikan dalam literatur yaitu teori versi dan praktis versi. Secara teoritis, kedua versi melakukan dasarnya sama. Namun, bukti optimal asimtotik dari versi teoritis adalah mudah. Dalam prakteknya, versi praktis lebih mudah untuk menerapkan dan sedikit lebih efisien. Kami menjelaskan versi praktis dari algoritma seperti yang dijelaskan dalam buku oleh Gersho dan Gray dan di koran oleh Welch. Ide dasarnya adalah untuk mengurai urutan masukan ke dalam non-overlapping blok dengan panjang yang berbeda sementara membangun sebuah kamus dari blok melihat sejauh . Algoritma Encoding

1. 2. 3. 4. 5.

Inisialisasi kamus untuk menampung semua blok dengan panjang satu (D = { a, b }). Pencarian untuk blok terpanjang W yang telah muncul dalam kamus. Encode W oleh indeks dalam kamus. Tambahkan W diikuti dengan simbol pertama dari blok selanjutnya ke dalam kamus. Pergi ke Langkah 2.

Secara teoritis, ukuran kamus dapat tumbuh besar tak berhingga. Dalam praktek, ukuran kamus terbatas. Setelah batas tersebut tercapai, tidak ada entri yang lebih banyak. Welch telah merekomendasikan sebuah kamus dari ukuran 4096. Hal ini terkait dengan 12 bit per indeks. Panjang indeks mungkin bervariasi. Misalnya, dalam n -th blok, ukuran kamus saat ini adalah n +1 (dengan asumsi bahwa batas belum tercapai). Karena itu, kita dapat mengkodekan indeks blok n menggunakan [log 2 (n +1)] bit (dibulatkan ke bilangan bulat terdekat). Sebagai contoh, indeks pertama dapat direpresentasikan dengan 1 bit, 2 dan 3 dengan 2 bit masing-masing, 4, 5, 6, dan 7 dengan 3 bit masing-masing, dan sebagainya. Ini adalah variabel-to-variabel panjang versi dari algoritma Lempel-Ziv. Untuk ukuran kamus maksimum 2 m , variabel-panjang encoding dari indeks menghemat persis 2 m1 bit dibandingkan dengan fixed-length encoding. Contoh di atas, karena sebagian contoh ilustrasi lain dalam literatur, tidak mengakibatkan kompresi nyata. Sebenarnya, lebih banyak bit yang digunakan untuk mewakili indeks dari data asli.Hal ini karena panjang data masukan dalam contoh ini terlalu singkat. Dalam prakteknya, algoritma Lempel-Ziv bekerja dengan baik (menyebabkan kompresi sebenarnya) hanya bila input data cukup besar dan ada redundansi yang cukup dalam data. Dekompresi bekerja dengan cara terbalik. Decoder tahu bahwa terakhir simbol dari entri kamus terbaru adalah pertama simbol dari blok parse berikutnya. Pengetahuan ini digunakan untuk menyelesaikan konflik mungkin dalam decoder. Banyak program populer (misalnya kompres dan uncompress Unix, gzip dan gunzip, dan Windows WinZip) didasarkan pada algoritma Lempel-Ziv. Nama `` Ziv-Lempel'' lebih tepat daripada `` Lempel-Ziv'' (lihat Gersho dan Gray dan nama pemesanan dalam Referensi 3 dan 4 bawah).

Persentase Materi, MATA KULIAH : KEAMANAN JARINGAN

Kompresi Data

MUHAMMAD IQBAL FADHLY 082350

Anda mungkin juga menyukai