MMB Fiqri Raihan Kompresi
MMB Fiqri Raihan Kompresi
DOSEN PENGAJAR
DISUSUN OLEH
Fiqri Raihan
PSDKU MEDAN
2020
KATA PENGANTAR
Saya menyadari bahwa penulisan makalah ini tidak lepas dari bimbingan,
arahan dan bantuan serta motivasi dari berbagai pihak. Oleh karena itu, melalui
kesempatan ini saya mengucapkan terima kasih kepada :
Penyusun
Fiqri Raihan
i
DAFTAR ISI
KATA PENGANTAR...................................................................................i
DAFTAR ISI................................................................................................ii
BAB I (Pendahuluan)
1.3 Tujuan...................................................................................................................2
BAB II ( Pembahasan)
3.1 Kesimpulan.........................................................................................................13
3.2 Saran....................................................................................................................13
DAFTAR PUSTAKA...........................................................................14
ii
BAB I
PENDAHULUAN
1.1 Latar Belakang Kompresi data atau pemampatan data ( data
compression) adalah sebuah cara dalam ilmu
komputer 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 kehilangan (lossy data compression).
1
1.2 Rumusan Masalah
1. Apa yang di maksud dengan Run-Length-Encoding (RLE) ?
2. Apa yang di maksud dengan Static Huffman Coding ?
3. Apa yang di maksud dengan Shannon-Fano Algorithm ?
1.3 Tujuan
1. Untuk Mengetahui apa yang dimaksud dengan Run-Length-Encoding
(RLE)!
2. Untuk Mengetahui apa yang dimaksud dengan Static Huffman Coding !
3. Untuk Mengetahui apa yang dimaksud dengan Shannon-Fano Algorithm !
2
BAB II
PEMBAHASAN
2.1 Kompresi Data
Kompresi berarti memampatkan / mengecilkan ukuran Kompresi data adalah
proses mengkodekan informasi menggunakan bit atau informationbearing 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).
2.2 Run-Length-Encoding (RLE)
Pada pembahasan ini akan di bahas mengenai kompresi data teks dengan
menggunakan salah satu metode kompresi data yaitu metode Run Length Encoding
(RLE). Kompresi dan dekompresi data menggunakan run-length encoding (RLE) ini
merupakan suatu bentuk teknik yang digunakan untuk mengkompresi data yang
berisi karakter-karakter berulang.
Run-length encoding (RLE) adalah bentuk yang sangat sederhana dari kompresi
data di mana data berjalan (yaitu, urutan di mana nilai data yang sama terjadi pada
banyak elemen data yang berturut-turut) disimpan sebagai nilai data tunggal dan
dihitung panjangnya. Hal ini berguna pada data yang berisi banyak data berjalan,
misalnya: gambar grafis sederhana seperti ikon, gambar garis, dan animasi. Hal ini
tidak berguna dengan file yang tidak memiliki banyak data berjalan karena sangat
dapat meningkatkan ukuran file.
kompresi data teks dilakukan jika terdapat beberapa huruf yang sama
ditampilkan secara berturut-turut. Terdapat dua tipe RLE yaitu RLE tipe 1 dan RLE
tipe 2.
Contoh :
Data: ABCCCCCCCCDEFGGGG = 17 karakter
Dengan RLE tipe 1 (min. 4 huruf sama) ditulis; ABC8!DEFG!4 = 11 karakter
Dalam RLE tipe 1 ini terdapat suatu karakter yang tidak digunakan dalam teks
seperti tanda ‘!’ yang digunakan untuk menandai. Teknik kompresi RLE tipe 1 ini
memiliki kelemahan yaitu jika terdapat karakter angka, mana tanda mulai dan tanda
akhir? Maka dalam RLE tipe 2 digunakanlah flag bilangan negatif untuk menandai
batas sebanyak jumlah karakter tersebut.
Contoh:
Data: ABCCCCCCCCDEFGGGG = 17 Karakter
Dengan RLE tipe 2: -2AB8CDEF4G = 12 Karakter
Contoh:
Data; AB12CCCCDEEEF = 13 Karakter
Dengan RLE tipe 2; -4AB124CD3EF = 12 Karakter
Teknik kompresi dengan RLE ini berguna untuk data yang banyak memiliki
kesamaan dan data tersebut berdekatan, misal teks ataupun grafik seperti icon atau
gambar garis-garis yang banyak memilki kesamaan pola.
Misalkan, ada seseorang yang berteriak :
“AAAAAKUUUUU SAHAAAAABBBBBAT
KAAAAMUUUUUUUUUUUUUUUUUUUUUUUU !!!!!!”
Pesan tersebut akan sangat cocok jika dikompresi menggunakan metode
6
kompresi RLE karena kompresi RLE menghitung jumlah kemunculan simbol lalu
menuliskan simbol tersebut sebanyak satu kali diikuti dengan jumlah kemunculannya.
Data diatas berukuran 66 byte, dan kita akan melakukan kompresi RLE terhadap data
tersebut :
- Ubah data dalam bentuk sekuensial
Data teks diatas sudah dalam bentuk sekuensial :
AAAAAKUUUUU SAHAAAAABBBBBAT
KAAAAMUUUUUUUUUUUUUUUUUUUUUUUU!!!!!!
- Hitung jumlah kemunculan karakter
(A,6) (K,1) (U,5) (spasi,1) (S,1) (A,1) (H,1) (A,5) (B,5) (A,1) (T,1) (spasi,1)
(K,1) (A,5) (M,1) (U,24)(!,6)
7
Contoh: e t a n o i l
25 20 15 12 10 10 8
i l
100
58 42
33 25 22 20
e t
18151210
ano
108
CONTOH: 1, 1, 2, 2, 4
10
10
6 4
6 4
4 2
2 4 2 2
2 2
1 1
1 1
2.3.1 Algoritma pohon Huffman
Program kompresi data menggunakan Pohon Huffman ini dibuat dengan bahasa Turbo
Pascal 7.0. Untuk keperluan penyusunan pohon digunakan stuktur data pointer (struktur data
dinamis) karena dirasa lebih menguntungkan. Untuk lebih meningkatkan efisiensi pengunaan
pointer maka setiap pointer harus memiliki 3 medan pointer selain 2 medan untuk data (karakter
dan probabilitas). Fungsi ketiga medan pointer ini adalah satu medan digunakan untuk menunjuk
pointer berikutnya dalam pembuatan senarai berantai, sedangkan dua medan lainnya digunakan
untuk menunjuk cabang kiri dan kanan setelah menjadi bentuk pohon.
Bentuk komponen pointer tersebut dapat digambarkan sebagai berikut :
Dalam struktur di atas, medan DTKAR sebagai tempat data simbul sedangkan DTPROB
sebagai tempat data probabilits dari simbul tersebut. Medan KIRI adlah pointer yang akan
menunjuk cabang kiri, medan KANAN adalah pointer yang akan menunjuk cabang kanan, dan
medan NEXT adalah pointer yang pembuatan pohon Huffman).
Deklarasi type berdasarkan struktur komponen di atas
Simpul = record
dtkar : char;
Next : Node
end;
1. BUAT_LIST_PELUANG
2. CARI_PELUANG_TERKECIL
3. SUSUN_POHON
Simbol H E L O
Jumlah 1 1 2 1
11
Algoritma :
1. Urutkan simbol berdasarkan frekuensi kemunculannya
2. Bagi simbol menjadi 2 bagian secara rekursif, dengan jumlah yang kira-kira sama
pada kedua bagian, sampai tiap bagian hanya terdiri dari 1 simbol.
Cara yang paling tepat untuk mengimplementasikan adalah dengan membuat binary tree.
BAB III
PENUTU
3.1 Kesimpulan
Kompresi berarti memampatkan / mengecilkan ukuran Kompresi data adalah proses
mengkodekan informasi menggunakan bit atau informationbearing unit yang lain yang lebih
rendah daripada representasi data yang tidak terkodekan dengan suatu sistem enkoding tertentu.
Run-length encoding (RLE) adalah bentuk yang sangat sederhana dari kompresi data di
mana data berjalan (yaitu, urutan di mana nilai data yang sama terjadi pada banyak elemen data
yang berturut-turut) disimpan sebagai nilai data tunggal dan dihitung panjangnya. Hal ini
berguna pada data yang berisi banyak data berjalan, misalnya: gambar grafis sederhana seperti
ikon, gambar garis, dan animasi. Hal ini tidak berguna dengan file yang tidak memiliki banyak
data berjalan karena sangat dapat meningkatkan ukuran file.
3.2 Saran
Makalah ini sangat jauh dari kata sempurna, maka dari itu, pembaca dapat memberikan
kritik dan sarannya untuk penulis apabila terdapat kalimat yang salah ataupun materi yang
kurang lengkap atau setengah-setengah.
DAFTAR PUSTAKA
https://id.wikipedia.org/wiki/Kompresi_data
file:///C:/Users/BAWEL/Downloads/Documents/Kompresi_Data_pert6.pdf
http://elektrojoker13unc.blogspot.com/2017/02/kompresi-data-teks-dengan-metode-run.html
https://id.wikipedia.org/wiki/Pengodean_Huffman
file:///C:/Users/BAWEL/Downloads/Documents/330-958-1-PB.pdf
http://elektrojoker13unc.blogspot.com/2017/02/makalah-kompresi-data-aplikasi-teks.html
file:///C:/Users/BAWEL/Downloads/Documents/KOMPRESI+DATA_Eko.pdf
file:///C:/Users/BAWEL/Downloads/Documents/zHuff.pdf
PT-278