46
[TTG4J3] KODING DAN KOMPRESI Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom Oleh : Ledya Novamizanti Astri Novianty

Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

Embed Size (px)

Citation preview

Page 1: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] KODING DAN KOMPRESI

Prodi S1 Teknik TelekomunikasiFakultas Teknik Elektro

Universitas Telkom

Oleh :Ledya Novamizanti

Astri Novianty

Page 2: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Terjadi transformasi atau revolusi dalam cara kita

berkomunikasi dalam kurun waktu 20 tahun terakhir

Perkembangan internet, komunikasi mobile yang

berkembang sangat cepat, dan komunikasi multimedia

Salah satu teknologi pemicu revolusi multimedia

adalah teknologi kompresi data

Page 3: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Data compression is the art of science of

representing information in a compact form.

Kompresi data adalah cara untuk

merepresentasikan informasi menjadi bentuk

kompak.

Tujuan kompresi untuk memperkecil ukuran

sebuah data

Page 4: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Sebagian besar informasi yang kita pakai

atau pun kita hasilkan kini direpresentasikan

dalam bentuk digital dan jumlahnya terus

meningkat dari waktu ke waktu.

Jumlah byte pada data multimedia bisa

sangat besar tanpa dikompresi

Page 5: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Di antara dampak teknologi kompresi data:

Memungkinkan penggunaan gambar, audio, dan video

pada website

Berkembangnya TV digital,

dll

Awalnya kompresi data hanya domain sekelompok

kecil engineer dan scientist, tapi sekarang menjadi

ubiquitous

Page 6: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Merepresentasikan atau mengubah data ke dalam

bentuk kode tertentu sedemikian rupa sehingga kode

yang dihasilkan dapat memenuhi tujuan tertentu

Di antara tujuan pengkodean:

1. Error detecting dan error correcting pada transmisi data

2. Mengamankan data (enkripsi data)

3. Kompresi data

Page 7: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Beberapa algoritma pengkodean hanya

dapat digunakan untuk 1 tujuan saja,

beberapa dapat multifungsi

Page 8: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Algoritma pengkodean selalu mencakup dua

proses dasar:

1. Encoding

2. Decoding

Page 9: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Page 10: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Di dalam komputer data teks disimpan dalam bentuk representasi data ASCII

Setiap simbol karakter direpresentasikan ke dalam 8 bit data

Contoh: Message “ini kompresi” tersimpan dalam

bentuk representsi ASCII sebanyak 12 x 8 bit = 96 bit

Page 11: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

pixel

Page 12: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Pixel

H (horizontal number of pixel)

Satuan terkecil image

adalah piksel

Total jumlah piksel

pada image adalah

(banyaknya piksel

horisontal) x

(banyaknya piksel

vertikal)

Page 13: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Di dalam komputer, setiap piksel dapat

direpresentasikan oleh:

1 bit data (BW)

1 byte data (grayscale)

1 byte data (256 warna)

2 byte data (64K warna)

3 byte data (16M warna)

Page 14: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data 14

Greyscale

Black and White

Color

Page 15: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Setiap piksel pada BW image direppresentasikan dalam 1 bit data

Hanya ada 2 variasi warna: hitam dan putih

15

Black & White

8 pixels= 1 byte

Page 16: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Setiap piksel pada Grayscale image direpresentasikan dalam 1 Byte data

Ada 256 variasi warna abu-abu

16

Greyscale

1 pixels= 1 byte

Page 17: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Grayscale Image 500 x 400 pixel

Ukuran file?

17

Pixel-1

Pixel-2 Pixel-n= 1 byte

Page 18: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data18

Image 400 x 500 pixel

Ukuran file?

Pixel-1 Pixel-2 Pixel-n= 1 byte

Page 19: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data 19

Signal

Conditioner

Analog to

Digital

Converter

Computer

System

Microphone

Computer

Storage

Computer Sound Board

Page 20: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

1. Sampling

Sinyal audio berupa sinyal analog disampling dengan sampling

rate tertentu (dalam satuan Hz, atau samples per second)

2. Kuantifikasi

Setelah sinyal disampling, dilakukan kuantifikasi untuk

menentukan representasi bit setiap hasil sampling.

3. Koding

Setiap hasil sampling direpresentasikan ke dalam bentuk data

bit-bit.

Page 21: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data 21

1000

1001

1010

1011

1100

1101

1110

1111

0000

0001

0010

0011

0100

0101

0110

0111

Quantizatio

n

Error

1010

10

11

10

11

10

11

1001

1010

1001

Digital Data Stream : 1010 1011 1011 1011 1001 ...

Sampling

Period

Page 22: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Sampling rate untuk standar audio pada CD

adalah 44.1 kHz, pada Digital Audio Tape

adalah 48 kHz.

Data audio standar umumnya disimpan

dalam 16 bit data per sample.

Page 23: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Berapa ukuran file audio berdurasi 2 menit

menggunakan standar CD-Audio?

Page 24: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Berapa ukuran file audio berdurasi 5 menit

menggunakan standar CD-Audio?

Page 25: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Terdiri atas rangkaian frame yang

ditampilkan dengan sangat cepat

Frame pada dasarnya adalah sebuah citra

(image)

Banyaknya frame yang ditampilkan dalam 1

detik diistilahkan frame per second (fps)

Page 26: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data 26

frame

Page 27: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Dua jenis standar video yang banyak digunakan:

a. NTSC (National Television Standards Committee)

mentrasfer 30 fps

resolusi per frame = 352 x 240 pixel = 84.480 pixel

1 pixel menggunakan RGB 3 Byte

b. PAL (Phase Alternating Line)

mentrasfer 25 fps

resolusi per frame = 352 x 288 pixel = 101.376 pixel

1 pixel menggunakan RGB 3 Byte

Page 28: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data 28

frame

NTSC = 30 fps, PAL = 25 fps

10 minutes NTSC video

consist of 10 x 60 x 30 = 18.000 frames

Page 29: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Berapa ukuran file video NTSC VCD berdurasi

10 menit tanpa kompresi?

Page 30: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Berapa ukuran file video PAL VCD berdurasi 2

jam?

Page 31: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Misalkan kita akan mentransfer video “live” melaluiinternet. Spesifikasi video streamnya adalah sebagaiberikut:

512× 512 pixel per frame,

25 frames per second

full colour RGB, 3 bytes per pixel

durasi video 30 menit

Berapa kebutuhan bandwidth jika mata kita masih dapat menikmati video dengan minimal 20 fps?

Jika menggunakan koneksi Ethernet 10 Mbps, hitung berapa besar data yang harus direduksi agar video dapat dinikmati oleh penerima streaming dengan kualitas 20 fps?

Page 32: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Berapa kebutuhan bandwidth jika mata kita masih dapat menikmati video dengan minimal 20 fps?

32

Page 33: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Jika menggunakan koneksi Ethernet 10 Mbps, hitung berapa besar data yang harus direduksi agar video dapat dinikmati oleh penerima streaming dengan kualitas 20 fps?

33

Page 34: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

1. Menghemat storage space (kapasitas

penyimpanan)

2. Mengurangi waktu transmisi

3. Proses transmisi dapat lebih progresif

4. Mengurangi komputasi

Page 35: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Mencakup 2 algoritma dasar:

1. Algoritma kompresi

Mengubah data awal menjadi data terkompresi

2. Algoritma dekompresi/rekonstruksi

Mengubah data terkompresi menjadi data awal

kembali (sesuai dengan asliya)

Page 36: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Misalkan:x = data original,

sebelum dikompresixc = data hasil kompresiy = data hasil

rekonstruksi/dekompresi

αβγδεζηθλμνρος

σφψωПαβγδεζηθ

λμνροςσφψωПα

βγδεζηθλμνροςσ

φψωПαβγδεζηθλ

μνροςσφψωПαβ

γδεζηθλμνροςσφ

ψωП

αβγδεζηθλμνρος

σφψωПαβγδεζηθ

λμνροςσφψωПα

βγδεζηθλμνροςσ

φψωПαβγδεζηθλ

μνροςσφψωПαβ

γδεζηθλμνροςσφ

ψωП

Αβγδεζηθ

λμνροψωПαβγδ

εζ νροςσφψ

ωПαβγδε ψωП

αβγδεПαβγ

δεζηθλμ

νροςσφ ψωП

Kompre

si

Dekompresi/

Rekonstruksi

Original Hasil Rekonstruksi

x

xc

y

Page 37: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

1. Lossless Compression

2. Lossy Compression

Page 38: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Tidak ada informasi yang hilang

Data hasil rekonstruksi = data original

Reversible

Cocok untuk data diskrit (teks, bit string, dll)

Digunakan ketika aplikasi tidak dapat mentolerir perubahan data

atau hilangnya sebagian data.

Contoh:

Pada teks, contoh: “do not send money” menjadi “do now send

money”

Pada data yang akan di”enhanced” oleh analisis lebih lanjut.

Dikhawatirkan analisis tersebut akan memperbesar error. Contoh

pada image radiologi.

Page 39: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Contoh kompresi teks: winzip pada Windows atau gzip pada UNIX.

Algoritma Lossless Compression:

Huffman Code

Golomb Code

Rice Code

Tunstall Code

Arithmetics Code

Dictionary Code

Run-Length Code

Burrows-Wheeler Transform

Page 40: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Ada informasi yang hilang

Data hasil rekonstruksi data original

Irreversible

Cocok untuk data kontinu (image, sound, dll)

Digunakan ketika aplikasi masih dapat mentolerir

perubahan data atau hilangnya sebagian data selama

perubahan data tersebut tidak mengganggu.

Data hasil rekonstruksi hanya perlu “mirip” dengan data

aslinya. Misalnya pada data image, audio dan video.

Menghasilkan rasio kompresi yang lebih besar.

Page 41: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

1. Kompleksitas relatif algoritma yang dipakai

2. Besar memori yang diperlukan utuk

mengimplementasikan algortima kompresi yang

dipakai

3. Kecepatan algoritma bekerja pada mesin tertentu

4. Besar kompresi

5. Seberapa dekat/mirip antara hasil rekonstruksi

dengan data asli yang dikompresi.

Page 42: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Untuk Lossless Compression, biasanya yang

dijadikan acuan performansi adalah besar

kompresi

Untuk Lossy Compression, parameter

performansi yang umum dipakai selain rasio

kompresi adalah seberapa mirip antara hasil

rekonstruksi dengan data asli yang dikompresi.

Page 43: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Perbandingan antara jumlah data sebelum

dikompresi dengan data setelah dikompresi.

Contoh:

sebuah image beresolusi 256x256 pixel dengan warna

1 byte,

jumlah data yang tersimpan sebelum dikompresi

adalah 65.536 Bytes.

Jika setelah dikompresi ukuran data menjadi 16.384

Bytes, maka rasio kompresinya adalah 4:1.

Page 44: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Adalah prosentase jumlah data yang berhasil

direduksi di dalam kompresi dibandingkan

data awalnya.

Untuk contoh kasus yang sama di atas, maka

rasio kompresinya adalah 75%.

Page 45: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3

[TTG4J3] Koding dan Kompresi Pengantar Kompresi Data

Perbedaan antara data original dengan data hasil

rekonstruksi

Semakin besar distorsi, rasio kompresi yang diperoleh

semakin besar

Tetapi distorsi yang besar akan menyebabkan

penerima data akan merasa “terganggu” dengan data

hasil rekonstruksi

Pada akhirnya yang menilai kualitas kompresi Lossy

adalah manusia

Page 46: Terjadi transformasi atau revolusi dalam cara kita ... · Kompresi data adalah cara untuk merepresentasikan informasi menjadi bentuk kompak. ... Mengamankan data (enkripsi data) 3