Anda di halaman 1dari 18

MAKALAH

TEKNIK KOMPRESI DATA TEKS

DOSEN PENGAJAR

Dodi Siregar, M.Kom

DISUSUN OLEH

Fiqri Raihan

POLITEKNIK NEGERI MEDIA KREATIF

PSDKU MEDAN

PROGRAM STUDI MULTIMEDIA

2020
KATA PENGANTAR

Alhamdulillahirobil’alamin, puji syukur saya panjatkan kehadirat Allah


SWT yang telah melimpahkan rahmat, hidayah dan inayah-Nya sehingga dapat
menyelesaikan makalah yang berjudul “Teknik Kompresi Data Teks”.

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 :

1. Dodi Siregar, M.Kom selaku pengajar mata kuliah Pengantar Teknologi


Multimedia dan selaku pemberi tugas , yang telah memberikan banyak
materi pembelajaran dan telah memberikan wawasan lebih terhadap diri
saya.

Saya menyadari bahwa makalah in masih jauh dari kesempurnaan. Untuk


itu saya mengharapkan kritik dan saranyang dapat membangun demi memperbaiki
makalah-makalah saya berikutnya. Semoga makalah ini bermanfaat bagi semua
pihak.

Medan, 02 November 2020

Penyusun

Fiqri Raihan

i
DAFTAR ISI

KATA PENGANTAR...................................................................................i

DAFTAR ISI................................................................................................ii
BAB I (Pendahuluan)

1.1 Latar Belakang.....................................................................................................1

1.2 Rumusan Masalah.................................................................................................2

1.3 Tujuan...................................................................................................................2

BAB II ( Pembahasan)

2.1 Kompresi Data.......................................................................................................3

2.2 Run-Length-Encoding (RLE)................................................................................3

2.2.1 Penerapan Metode Run Length Encoding....................................................5

2.2.2 Proses Kompresi Run Length Encoding.......................................................6

2.3 Static Huffman Coding..........................................................................................7

2.3.1 Algoritma pohon Huffman............................................................................9

2.3.2 Proses Pembuatan Pohon Huffman...........................................................10

2.4 Shannon-Fano Algorithm....................................................................................11

BAB III ( PENUTUP)

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).

Teknik ini mampu memadatkan data dan


mengembalikannya sama persis seperti semula. Tidak ada
informasi yang hilang atau harus dikurangi dalam proses
untuk mengurangi ukuran besar data. Biasanya
algoritme pemadatan data jenis ini menggunakan
prinsip kelebihan statistik (statistical redundancy)
supaya data bisa disimpan dengan lebih ringkas. Karena
kebanyakan data yang dipakai sehari-hari memiliki bagian
yang berulang atau berlebihan (redundant data),
pemampatan tanpa kehilangan bisa terjadi.

Contoh mudahnya, apabila berkas gambar


berukuran 256x256 berwarna polos (setiap pixel
berwarna sama) dan tiap pixelnya berukuran 4 byte,
tanpa pemadatan, berkas harus disimpan berukuran 4
kali 256x256, sama dengan 262144 byte. Namun,
dengan pemadatan, maka data yang perlu disimpan
hanyalah data satu warna tersebut dan informasi bahwa
seluruh pixel gambar memiliki satu warna yang sama.
Jadi, data yang perlu disimpan hanyalah 4 byte tambah
beberapa byte untuk menandakan pengulangan pixel
yang sama. Ingatlah ini hanya contoh yang simpel.

Pemadatan tanpa kehilangan memiliki batas


rendah di mana berkas tidak bisa dipadatkan lebih jauh
lagi. Teorem Shannon menunjukkan bahwa pemadatan
data tidak bisa menghasilkan kadar kode yang lebih
rendah daripada entropi Shannon berkas, tanpa
menyebabkan kehilangan informasi. Maka, apabila
suatu
berkas
sudah
dipadatka
n
(misalnya
, berkas
gambar
disimpan
di
berkas
.zip),
berkas
.zip
tersebut
tidak bisa
lagi
dipadatka
n.

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.

2.2.1 Penerapan Metode Run Length Encoding

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)

- Tulis hasil kompresi


A6K1U5 1C1H1A1Y5A5N1K1 1K1A5M1U24!6
Setelah proses kompresi, maka data yang dihasilkan akan berukuran 35 byte.
Dengan proses kompresi tersebut, kita telah menghemat tempat penyimpanan sebesar
31 byte (47%) .
Algoritma metode kompresi RLE hanya efisien dengan data file yang berisi
kelompok data (byte / karakter) yang berulang dan dapat digunakan pada file teks. File
teks berisi banyak kelompok data yang berupa spasi atau tabulator, tetapi juga dapat
diterapkan untuk citra (gambar) yang berisi area hitam atau putih yang besar.

2.2.2 Proses Kompresi Run Length Encoding

Secara umum langkah-langkah yang


dilakukan untuk kompresi file mp3 dengan metode
run length encoding adalah sebagai berikut:
1. Buka file mp3 untuk membaca header-header
dan sampel mp3.
2. Baca file audio untuk mendapatkan data
sampel.
3. Ambil nilai sample mp3 ke 1 sampai ke n.
4. Susun nilai sample audio pada senarai berantai
dengan karakter khusus pembatas antara data sample mp3(#).
6
2.3 Static Huffman Coding

Dalam ilmu komputer dan teori informasi, Huffman coding adalah


sebuah tipe code yang optimal yang biasanya digunakan untuk lossless
data compression. Algoritme Huffman Coding ditemukan oleh David
A. Huffman pada saat ia masih seorang mahasiswa di MIT, ia
menerbitkan karyanya pada tahun 1952 yang berjudul "A Method for
the Construction of Minimum Redundancy Codes".

Hasil dari algoritme Huffman bisa dipandang sebagai sebuah tabel


kode variabel-panjang untuk pengkodean simbol sumber (seperti
sebuah karakter dalam sebuah file). Algoritme ini memperoleh dari
tabel tersebut berdasarkan dari estimasi probabilitas atau frekuensi
munculnya untuk setiap nilai yang mungkin dari simbol sumber.
Seperti dalam metode pengkodean entropi lainnya, simbol yang lebih
umum diwakili dengan bit yang lebih sedikit daripada simbol kurang
umum..

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 :

Gambar-4. Struktur komponen pointer untuk pohon Huffman

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

adalah: type Node = ^Simpul;

Simpul = record

dtkar : char;

dtprob : real; Kiri, Kanan,

Next : Node

end;

2.3.2 Proses Pembuatan Pohon Huffman.


Fungsi prosedur ini adalah untuk menyusun pohon Huffman berdasarkan

probabilitas simbul, kemudian membuat kode berdasarkan pohon tersebut.

Procedure pohon Huffman terdiri dari beberapa procedure yaitu:

1. BUAT_LIST_PELUANG

2. CARI_PELUANG_TERKECIL

3. SUSUN_POHON

4. ENCRYPT (Pembuatan Kode).:

2.4 Shannon-Fano Algorithm


 Dikembangkan oleh Shannon (Bell Labs) dan Robert Fano (MIT)
 Contoh :
HELLO

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

Anda mungkin juga menyukai