NASKAH PUBLIKASI KOMPRESI IMAGE MENGGUNAKAN...

12
NASKAH PUBLIKASI KOMPRESI IMAGE MENGGUNAKAN VECTOR QUANTIZATION Diajukan Untuk Memenuhi Tugas dan Syarat-syarat Guna Memperoleh Gelar Sarjana Teknik pada Fakultas Teknik Jurusan Teknik Elektro Universitas Muhammadiyah Surakarta Disusun oleh : NAMA : BAGUS ORIK M. W NIM : D 400080026 FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO UNIVERSITAS MUHAMMADIYAH SURAKARTA 2012

Transcript of NASKAH PUBLIKASI KOMPRESI IMAGE MENGGUNAKAN...

NASKAH PUBLIKASI

KOMPRESI IMAGE

MENGGUNAKAN VECTOR QUANTIZATION

Diajukan Untuk Memenuhi Tugas dan Syarat-syarat Guna Memperoleh Gelar

Sarjana Teknik pada Fakultas Teknik Jurusan Teknik Elektro

Universitas Muhammadiyah Surakarta

Disusun oleh :

NAMA : BAGUS ORIK M. W

NIM : D 400080026

FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO

UNIVERSITAS MUHAMMADIYAH SURAKARTA

2012

KOMPRESI IMAGE MENGGUNAKAN

VECTOR QUANTIZATION

Bagus Orik M.W FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO

UNIVERSITAS MUHAMMADIYAH SURAKARTA

E-mail : [email protected]

ABSTRAKSI

Salah satu yang termasuk dalam bagian pengolahan citra digital adalah kompresi citra yang merupakan

suatu teknik untuk mempresentasikan citra ke dalam bentuk yang lebih tereduksi, baik terhadap ukuran file, segi

pewarnaan maupun yang lainya. Selama ini telah banyak dikembangkan algoritma untuk proses kompresi, salah

satunya Vector Quantization merupakan metode baru yang mulai dikembangkan.

Pada kompresi citra Vector Quantization menggunakan teknik kompresi yang bersifat lossy yaitu dengan

menghilangkan beberapa informasi dalam citra asli atau dengan mengubah detail dan warna pada file citra

menjadi lebih sederhana sehingga ukurannya menjadi lebih kecil. Secara garis besar, komprsi merupakan proses

untuk menghilangkan beberapa informasi yang tidak penting (redundansi) dengan cara memadatkan isi file

sehingga ukuran file tersebut menjadi lebih kecil. Pada kompresi citra Vector Quantization kompresi dilakukan

dengan mengurangi jumlah bit yang digunakan untuk mempresentasikan citra sehingga ukuran file citra menjadi

berkurang.

Kompresi citra Vector Quantization ini digunakan untuk mengkompresi citra beberapa format citra seperti

jpeg, png, tif, bmp. Citra yang dihasilkan lebih efisien dan kualitas citra tidak jauh berbeda dengan citra aslinya.

Dari hasil pengujian diketahui rasio kompresi pada setiap format gambar yaitu format jpeg 58,71%, png 43,35%,

tif 25,24%, bmp 0% diambil dari hasil 25 gambar dan 5 tingkatan kompresi.

Kata Kunci: Kompresi Citra, Vector Quantization, Citra.

I. PENDAHULUAN

Perkembangan teknologi informasi

berjalan sangat pesat, baik di bidang perangkat

keras maupun perangkat lunaknya. Salah satu

bagian dari teknologi informasi adalah

teknologi multimedia. Teknologi ini telah

menjadi sebuah media komunikasi yang

populer pada era globalisasi. Melalui teknologi

inilah terjadi komunikasi dan pertukaran

informasi dari beberapa pihak dari lokasi yang

berbeda-beda. Salah satu bagian yang terkait

dengan multimedia adalah image atau citra.

Image merupakan sebuah media untuk

mengungkapkan kata-kata secara sederhana.

Dengan image, seseorang lebih cepat

menerima maksud yang ingin disampaikan.

Penyimpanan file image dalam suatu

media penyimpnan, ataupun pengiriman image

dari satu lokasi ke lokasi lain melalui jaringan

tenyata menimbulkan masalah, yaitu ukuran

file image yang besar, kecepatan transmisi

yang terbatas, dan kapasitas media

penyimpanan yang terbatas. Untuk masalah

kapasitas media penyimpanan mungkin bisa

diatasi dengan menambah kapasitas media

penyimpnan. Terkait dengan masalah tersebut

ukuran file citra menjadi fitur utama yang

diperhatikan. Untuk itu dikembangkan cara

untuk meminimalkan kapasitas penyimpanan

file citra tanpa mengesampingkan kualitas dari

image tersebut. Cara ini sering dikenal dengan

istilah kompresi citra.

Selama ini telah banyak dikembangkan

algoritma untuk proses kompresi ini,

diantaranya adalah Transform Coding, Block

Truncation coding, dan Vector Quantization.

Transform coding rnerupakan metode yang

paling banyak diterapkan di dunia, salah satus

standanya adaIah JPEG. Block Truncation

Coding merupakan metode yang sederhana,

namun tidak banyak dikenal dalam dunia

multimedia. SedangkanVector Quantization

merupakan metode baru yang mulai

dikembangkan.

Tugas Akhir ini bertujuan untuk

mengimplementasikan sebuah metode

kompresi citra baru yaitu Vector Quantization

dan menggunakan metode kuantisasi vektor

untuk menghasilkan kode citra yang efisien

serta citra yang dihasilkan juga tidak jauh

berbeda dari citra aslinya.

Batasan masalah dalam tugas akhir ini

adalah:

1. Menggunakan aplikasi Vector

Quantiization dalam analisis dan

perbandingan komperesi.

2. Implementasi perangkat lunak

menggunakan bahasa pemrograman

MATLAB.

1. Matlab

Matlab tersusun dari 5 bagian utama yaitu:

a. Development Environment.

Merupakan sekumpulan perangkat dan

fasilitas yang membantu dalam

penggunaan fungsi-fungsi dan file-file

Matlab. Beberapa perangkat ini

merupakan sebuah Graphical User

Interfaces (GUI). Termasuk didalamnya

adalah Matlab desktop dan

CommandWindow, command history,

sebuah editor dan debugger, dan browsers

untuk melihat help, workspace, files, dan

search path.

b. Matlab Mathematical Function Library.

Merupakan sekumpulan algoritma

komputasi mulai dari fungsi-fungsi dasar

sepertri: sum, sin, cos, dan complex

arithmetic, sampai dengan fungsi-fungsi

yang lebih kompek seperti matrix inverse,

matrix eigenvalues, Bessel functions, dan

fast fourier transforms.

c. Matlab Language.

Merupakan suatu high-level matrix/array

language dengan control flow statements,

functions, data structures, input/output,

dan fitur-fitur objectoriented

programming. Digunakan untuk

melakukan pemrograman dalam lingkup

sederhana untuk mendapatkan hasil yang

cepat, dan pemrograman dalam lingkup

yang lebih besar untuk memperoleh hasil

dan aplikasi yang komplek.

d. Graphics.

Matlab memiliki fasilitas untuk

menampilkan vector dan matrices sebagai

suatu grafik. Digunakan untuk visualisasi

data dua dimensi dan data tiga dimensi,

image processing, animasi, dan

presentation graphics. Memungkinkan

untuk memunculkan grafik mulai dari

benutk yang sederhana sampai dengan

tingkatan GUI pada aplikasi.

e. Matlab Application Program Interface

(API). Merupakan suatu library yang

memungkinkan program yang ditulis

dalam bahasa C dan Fortran mampu

berinterakasi dengan Matlab. Ini

melibatkan fasilitas untuk pemanggilan

routines dari Matlab (dynamic linking),

pemanggilan Matlab sebagai sebuah

computational engine, dan untuk

membaca dan menuliskan MAT-files.

2. Citra

Citra (image) adalah gambar pada bidang

dua dimensi yang dihasilkan darigambar

analog dua dimensi yang kontinyu menjadi

gambar diskrit melalui proses digitasi.

JPG/JPEG (Joint Photographic Expert Group)

Format file ini mampu mengkompres objek

dengan tingkat kualitas sesuai dengan pilihan

yang disediakan. Format file sering

dimanfaatkan untuk menyimpan gambar yang

akan digunakan untuk keperluan halaman web,

multimedia, dan publikasi elektronik lainnya.

Format file ini mampu menyimpan gambar

dengan mode warna RGB, CMYK, dan

Grayscale.

3. Kompresi Citra

Secara garis besar, kompresi merupakan

proses untuk menghilangkan berbagai

kerumitan yang tidak penting (redundansi)

dari suatu informasi dengan cara memadatkan

isi file sehingga ukurannya menjadi lebih kecil

dengan memaksimalkan kesederhanaannya

dan tetap menjaga kualitas penggambaran dari

informasi tersebut. Kompresi data menjadi

sangat penting karena memperkecil kebutuhan

penyimpanan data, mempercepat pengiriman

data, memperkecil kebutuhan bandwith.Teknik

kompresi bisa dilakukan terhadap data

teks/biner, gambar (JPEG, PNG, TIFF), audio

(MP3, AAC, RMA, WMA), dan video

(MPEG, H261, H263).

Ada dua tipe utama kompresi data, yaitu

kompresi tipe lossless dan kompresi tipe lossy.

Kompresi tipe lossy adalah kompresi dimana

terdapat data yang hilang selama proses

kompresi. Akibatnya kualitas data yang

dihasilkan jauh lebih rendah daripada kualitas

data asli. Sementara itu, kompresi tipe lossless

tidak menghilangkan informasi setelah proses

kompresi terjadi, akibatnya kualitas citra hasil

kompresi juga tidak berkurang.

Beberapa faktor yang perlu diperhatikan

dalam melakukan proses kompresi citra, antara

lain:

a. Resolusi

Resolusi adalah ukuran panjang kali lebar

dalam suatu gambar yang digambarkan

dalam satuan pixel. Besar kecilnya

resolusi akan berpengaruh pada kualitas

gambar. Tetapi hal ini juga akan

mempengaruhi jumlah bit datanya dan

proses transfer datanya.

b. Kedalaman bit

Kedalaman bit adalah banyak sedikitnya

jumlah bit yang dibutuhkan unruk

menggambarkan suatu citra (gambar)

dalam satuan bit/pixel. Tentu saja bila

dinalar, semakin banyak bit maka gambar

yang dihasilkan akan lebih bagus.

c. Redundansi

Redundansi adalah keadaan di mana

representasi suatu elemen data tidak

bernilai signifikan dalam menggambarkan

keseluruhan data.

3. Teknik Kompresi Citra

Teknik kompresi pada citra dapat dibagi

menjadi dua kategori besar, yaitu:

a. Lossy Compression

Lossy compression menyebabkan adanya

perubahan data dibandingkan sebelum

dilakukan proses kompresi. Sebagai gantinya

lossy compression memberikan derajat

kompresi lebih tinggi. Tipe ini cocok untuk

kompresi file suara digital dan gambar digital.

File suara dan gambar secara alamiah masih

bisa digunakan walaupun tidak berada pada

kondisi yang sama sebelum dilakukan

kompresi.

Ciri-ciri lossy compression:

1. Ukuran file citra menjadi lebih kecil

dngan menghilangkan beberapa informasi

dalam citra asli.

2. Teknik ini mengubah detail dan warna

pada file citra menjadi lebih sederhana

tanpa terlihat perbedaan yang mencolok

dalam pandangan manusia, sehingga

ukuranya menjadi lebih kecil.

3. Biasanya digunakan pada citra foto atau

image lain yang tidak terlalu memerlukan

detail citra, dimana kehilangan bit rate

foto tidak berpengaruh pada citra.

b. Lossless Compression

Sebaliknya Lossless Compression

memiliki derajat kompresi yang lebih rendah

tetapi dengan akurasi data yang terjaga antara

sebelum dan sesudah proses kompresi.

Kompresi ini cocok untuk basis data, dokumen

atau spreadsheet. Pada lossless compression

ini tidak diijinkan ada bit yang hilang dari data

pada proses kompresi.

Beberapa teknik lossless:

1. Color reduction: untuk warna-warna

tertentu yang mayoritas dimana informasi

warna disimpan dalam color palette.

2. Chroma subsampling: teknik yang

memanfaatkan fakta bahwa mata manusia

merasa brightness (luminance) lebih

berpengaruh daripada warna

(chrominance) itu sendiri, maka dilakukan

pengurangan resolusi warna dengan

disampling ulang. Biasanya digunakan

pada sinyal YUV.

3. Chroma Subsampling terdiri dari 3

komponen: Y (luminance) : U (CBlue) : V

(CRed)

4 Vector Quantization

Metode yang digunakan pada penulisan

ini adalah menggunakan metode kompresi

citra kuantisasi. Metode ini mengurangi

jumlah derajat keabuan, misalnya dari 16

menjadi 4, yang tentu saja mengurangi jumlah

bit yang dibutuhkan untuk merepresentasikan

citra. Misalkan p adalah jumlah pixel di dalam

citra semula, akan dimampatkan menjadi n

derajat keabuan.

Vector Quantization (VQ) adalah salah

satu teknik yang banyak digunakan dalam

bidang kompresi citra digital dan signal suara.

Vector Quantization merupakan generasi dari

skalar Quantization yang memungkinkan

pengkuantisasian pada ruang banyak dimensi.

II. METODE PENELITIAN

1. Alur Penelitian

Gambar 1. Diagram alir penelitian

Dalam alur pnelitian ini dijelasan proses

penelitian yang digunakan dalm penulisan

tugas akhir ini adalah sebagai berikut:

a. Perencanaan.

Bagian ini berisi tentang konsep

perancangan pembuatan program dan

interface aplikasi kompresi citra dalam

Vector Quantization.

b. Studi Pustaka.

Studi pustaka dilakukan dengan cara

mencari informasi tentang pembuatan

program kompresi citra dengan matlab

baik berupa buku-buku, jurnal, maupun

internet dan juga dari sumber lainnya yang

mendukung dalam perancangan program

kompresi citra yang berdasarkan pada

landasan teori yang sudah ada.

c. Pembuatan Program.

Pembuatan program kompresi citra dalam

Vector Quantization.

d. Pengujian Program.

Melakukan pengujian pada program

kompresi citra dalam Vector Quantization,

jika terjadi kesalahan maka dilakukan

perbaikan.

e. Analisis.

Menganalisis program yang telah dibuat

dan diuji.

f. Pembuatan Laporan.

Setelah program selesai dan sesuai yang di

harapkan maka proses selanjutnya

pembuatan karya tulisnya.

3. Algoritma Program

Gambar 2. Flowchart algoritma program.

Algoritma dari dari program kompresi citra

Vector Quantization adalah:

1. Gambar inputan di proses dalam fungsi

get untuk mengatur grafik gambar inputan

kemudian diproses dalam histogram.

2. Informasi gambar tersebut diwakili

variabel I, diatur dalam fungsi get untuk

menentukan nilai tingkatan kompresinya.

3. Kemudian informasi gambar akan

diproses dalam kompresi Vector

quantization dengan rumus:

I=uint8((single(I)/255)

*2^integerValue);

A= I/255 mengubah citra ke indeks

(0 - 1)

I= single (A) * 2 ^ integerValue

I= uint8 menggubah gambar indeks ke

gambar 8 bit (0-255)

Algoritma proses kuantitasi:

a. Menentukan bitrate dan toleransi distorsi

dari gambar inputan.

b. Membagi indeks gambar kedalam bagian-

bagian tertentu pada floating point -1038

sapai dengan 1038 dimanpatkan kedalam

4 biyte perelemen.

c. Menggunakan uint8 untuk mengubah

gambar indeks ke gambar 8 bit (0-255)

dan menulisakan kedalam file hasil.

4. Setelah dilakukan kompresi gambar siap

ditampilkan, kemudian dilakukan proses

penyimpanan dan menampilkan

hostogram gambar outputan.

III PENGUJIAN PROGRAM DAN

ANALISA HASIL

1. Pengujian Program

Program yang dibuat merupakan aplikasi

kompresi citra dalam Vector Quantization.

Program kompresi ini menggunakan teknik

kompresi lossy yakni membuat kapasitas

barkas sebuah citra menjadi lebih kecil dengan

cara menghilangkan beberapa informasi dari

sebuah citra asli sehingga citra yang

dikompresi tidak bisa di kembalikan menjadi

seperti semula. Teknik dalam kompresi ini

mengubah detail dan warna pada file citra

menjadi lebih sederhana sehingga hasil dari

citra terkompresi tidak jauh berbeda dengan

citra aslinya.

2. Analisa Hasil

1. Citra Asli

Dalam pengujian program kompresi ini

peneliti menyiapkan beberapa contoh citra

yang akan digunakan untuk pengujian. Format

gambar yang digunakan dalam pengujian

program adalah jpeg, png, tif dan bmp.

2. Citra Hasil Kompresi

Pada proses pengujian citra dikompresi

dalam tingkatan yang berbeda, citra asli

dikompresi pada level satu sampai dengan

level lima, untuk mengetahui kualitas

tingkatan kompresinya.

Setelah proses kompresi maka dilakukan

penyimpanan citra hasil kompresi sebagai

perbandingan yang digunakan untuk analisa

pengujian program. Perbandingan ukuran file

hasil kompresi adalah ukuran citra asli

dikurangi dengan ukuran citra hasil kompresi.

Sedangkan untuk perhitungan rasio

kompresi yaitu perbandingan hasil kompresi

dalam bentuk persentase, dapat dihitung

dengan rumus:

(4.1)

Perbandingan citra yang dikompresi

kedalam format asli, dapat diketahui dengan

menghitung rasio kompresi dan perbandingan

ukuran, menggunakan rumus diatas. Berikut

ini merupakan tabel perbandingan hasil

kompresi citra kedalam format aslinya.

Tabel 3.1 Hasil Kompresi Citra Level 1.

Nama File Ukuran

Asli

Ukuran

Terkompresi

Rasio

Kompresi

Elaine.jpg 120kb 21,3kb 82,25%

Fruit.png 2.496kb 520kb 79,16%

Foliage.tif 301kb 203kb 32,55%

Sky.bmp 2.069kb 2.069kb 0%

Tabel 3.2 Hasil Kompresi Citra Level 2.

Nama

File

Ukuran

Asli

Ukuran

Terkompresi

Rasio

Kompresi

Elaine.jpg 120kb 28,5kb 76,25%

Fruit.png 2.496kb 684kb 72,59%

Foliage.tif 301kb 248kb 17,60%

Sky.bmp 2.069kb 2.069kb 0%

Tabel 3.3 Hasil Kompresi Citra Level 3.

Nama

File

Ukuran

Asli

Ukuran

Terkompresi

Rasio

Kompresi

Elaine.jpg 120kb 50,2kb 58,16%

Fruit.png 2.496kb 873kb 65,02%

Foliage.tif 301kb 274kb 08,97%

Sky.bmp 2.069kb 2.069kb 0%

Tabel 3.4 Hasil Kompresi Citra Level 4.

Tabel 3.5 Hasil Kompresi Citra Level 5.

Nama File Ukuran

Asli

Ukuran

Terkompresi

Rasio

Kompresi

Elaine.jpg 120kb 120kb 0%

Fruit.png 2.496kb 1.446kb 42,06%

Foliage.tif 301kb 291kb 03,32%

Sky.bmp 2.069kb 2.069kb 0%

Tabel 3.6 Perbandingan Rasio Berdasarkan

Format Gambar.

Rata-rata rasio kompresi pada format gambar

Level

Kompresi

JPG

PNG

TIF

BMP

1 84,26%

67,96%

46,89%

0%

2 77,44%

54,06%

35,81%

0%

3 67,81%

43,67%

26,16%

0%

4 45,04%

32,88%

3,08%

0%

5 19%

18%

14%

0%

Rata -rata 58,71%

43,35%

25,24%

0%

rasio kompresi terbesar pada level kompresi

rasio kompresi terbesar pada level satu,

sedangkan pada format gambar rasio kompresi terbasar pada format jpeg.

IV KESIMPULAN

1. Pada kompresi citra dalam Vector

Quantization kompresi dilakukan dengan

mengurangi jumlah bit yang digunakan

untuk mempresentasikan citra menjadi

berkurang. Kejelasan gambar dapat diatur

pada tingkatan kompresinya, semakin

besar tingktan kompresi maka hasil

Nama

File

Ukuran

Asli

Ukuran

Terkompresi

Rasio

Kompresi

Elaine.jpg 120kb 92,9kb 22,58%

Fruit.png 2.496kb 1.122kb 55,04%

Foliage.tif 301kb 286kb 4,98%

Sky.bmp 2.069kb 2.069kb 0%

kompresi akan semakin buruk. Metode ini

masuk dalam kategori Lossy

Compression, karena citra yang sudah

dikompresi tidak dapat didekompresi

kembali seperti semula.

2. Perbandingan hasil kompresi dalam

analisa ukuran sesuai dengan tingkatan

kompresinya. Semakin tinggi tingkatan

kompresi maka ukuran dan kualitas citra

hasil kompresi semakin rendah dari citra

asli.

3. Analisa besarnya kompresi citra dari

masing-masing format gambar asli, yang

telah di kompresi dan disimpan dalam

format aslinya.

Berikut hasil rata-rata rasio kompresi

berdasarkan format gambar.

a. Format gambar JPEG memiliki rata-rata

rasio kompresi 58,71%. Diambil rata-rata

dari 5 hasil kompresi.

b. Format gambar PNG memiliki rata-rata

rasio kompresi 43,35%. Diambil rata-rata

dari 5 hasil kompresi.

c. Format gambar TIF memiliki rata-rata

rasio kompresi 25,24%. Diambil rata-rata

dari 5 hasil kompresi.

d. Format gambar BMP memiliki rata-rata

rasio kompresi 0%. Diambil rata-rata dari

5 hasil kompresi.

Dari hasil pengujian program aplikasi

kompresi citra dalam Vector Quantization

dapat di simpulkan bahwa tingkatan kompresi

terbaik pada format gambar JPEG yang

memiliki rasio kompresi 58,71%. Sedangkan

untuk citra format BMP dalam pengujian tidak

terjadi penurunan ukuran citra dengan rasio

kompresi 0%.

DAFTAR PUSTAKA

Prasetyo, Eko. 2011. Pengolahan Citra Digital

dan Aplikasinya Menggunakan Metlab.

Yogyakarta: ANDI.

Krisnawati. 2009. Kompresi Citra RGB

Dengan Metode Kuantitasi.

http://ebookbrowse.com/09-amikom-

yogyakarta-kompresi-citra-rgb-dengan-

pdf-d55230263.

Pramitarini, Yushintia. 2011. Analisa

Pengiriman Citra Terkompresi Jpeg,

Dengan Teknik Spread Spektrum Direct

Sequence (Ds-Ss).

http://www.scribd.com/doc/87438585/720

9040505-m.

Anonim. 2005/06. Multimedia7 Kompresi

Citra.Pdf. http://www.general-

files.com/download/gs14a943feh17i0/mult

imedia7%20kompresi%20citra.pdf.html.

Anonim. 2011. DownQuantization.

http://www.mathworks.com/matlabcentral

/answers /24669-down-quantization-8-bit-

grey-to-n-bit-grey-n-8.

Maulidia, Nia. 2011. Analisa Pengiriman Citra

Terkompresi SPIHT dengan Teknik

Spread Spectrum Direct Sequence (DS-

SS). http://www.eepis-

its.edu/uploadta/abstrakdetail.php?id=130

0.