Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan...

14
Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227 21

Transcript of Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan...

Page 1: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

Aplikasi Kompresi Citra Dengan MatlabR2015aMenggunakan Metode Discrete Cosine

Transform(DCT) dan Kuantisasi

Julian dan Aqwam Rosadi Kardian

Sistem Informasi, STMIK Jakarta STI&K

Jl. BRI No. 17 Radio Dalam, Kebayoran Baru, Jakarta Selatan

[email protected], [email protected]

Abstrak

Kompresi gambar adalah salah satu proses yang bisa mengurangi ukuran gambar agar bisapada proses menyimpan gambar dan mengirimkannya. Dalam penelitian ini digunakan Image

Compression JPEG Method Standard untuk mengompres ukuran gambar. Proses KompresiMetode JPEG melibatkan banyak metode dalam metode ini, seperti Quantization, DiscreteCosine Transform (DCT) dan beberapa Entropy Encoding. Metode Kompresi ini berbasiskompresi lossy, karena ketika proses kompresi sedang berjalan, ada beberapa informasi dalamgambar yang hilang. Aplikasi ini dibuat menggunakan pemrograman matlab R2015a. Mediauntuk membuat aplikasi kompresi image menggunakan GUI yang terdapat pada matlab Jeniscitra yang dipakai sebagai uji coba adalah citra berwarna (True Color ) dan berformat PNGdan BMP. Digunakan rasio pemampatan untuk perbandingan citra yang terkompresi danyang belum terkompresi, dimana hal tersebut akan menunjukkan berapa besar citra yangberhasil termampatkan.

Kata Kunci : : Aplikasi, kompresi citra, DCT dan Kuantisasi, Matlab

Pendahuluan

Sejak ditemukannyaalat-alat untuk menangkapsuatu citra seperti camera, perkembanganteknologi tidak hanya terfokuskan pada per-alatan yang digunakan untuk menangkap citratersebut. Namun teknologi untuk mengolah su-atu citra yang telah ditangkap juga merupakanhal yang sangat penting, karena citra yang di-hasilkan oleh kamera belum tentu baik sesuaidengan kebutuhan manusia. Dalam pengiri-man data, terkadang mengalami kesulitan ter-hadap ukuran �le atau data yang dikirim, datacitra yang dikirim memiliki ukuran yang ter-lalu besar sehingga terkadang hal tersebut men-jadi kendala utama. Pengiriman data gagaldikarenakan server storage dari web yang dise-diakan tidak memuat ukuran �le citra digitalyang dikirim.

Duplikasi data ini tidak perlu disimpanberulang kali karena memboroskan penggu-naan memori.Untuk itu penerapan kompresiterhadap citra diperlukan dengan tujuan mem-inimalkan kebutuhan memori untuk merepre-

sentasikan citra digital. Teknik dan algo-ritma kompresi dapat digunakan untuk men-ciptakan �leduplikat dari citra yang akan dikompres sehingga ukurannya lebih kecil dari�leaslinya. File tersebut kemudian dapatditampilkan tanpa terlihat berkurang kuali-tas aslinya, dikarenakan indra manusia dapathanya dapat menangkap citra dalam kuali-tas tertentu. Penerapan Kompresi citra den-gan metode kompresi JPEG dilakukan den-gan Matlab R2015a, dimana didalamnya terda-pat Discrete Cosine Transform (DCT), Kuan-tisasi. Matlab memudahkan dalam kompresicitra, mendukung cara kerja metode kompresiJPEG, pada matlab terdapat perintah dancommand yang mendukung dalam pengkom-presian. Karena dalam memproses citra atauimage dalam penerapannya kebanyakan berba-sis matrix MxN [3].

Ditemukan beberapa kondisi, dimana citradigital dalam komputer perlu di re-size dalamukuran yang lebih kecil dikarenakan:

1. Apakah kompresi dapat dilakukan den-

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

21

Page 2: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

gan metode kompresi JPEG sehingga sizecitra menjadi lebih kecil dari citra aslinya.

2. Bagaimana tingkat rasio �le hasil kom-presi citra yang dihasilkan dengan metodelossy.

3. Bagaimana hasil dari MSE dan PSNR�le citra setelah terkompresi dan sebelumterkompresi.

4. Bagaimana penerapan metode kompresiJPEG pada citra.

Adapun yang menjadi tujuan penelitian iniadalah:

1. Melakukan kompresi citra dengan meng-gunakan aplikasi GUI dari matlab untukmerubah detail dan warna pada sebuah�le citra digital sehingga menghasilkancitra yang memiliki ukuran �le kecil, danmemliki skala kebaikan citra yang baik.

2. Menerapkan metode kompresi JPEGstandard untuk pemampatan citra digi-tal.

3. Menjabarkan secara garis besar proseskompresi JPEG dengan singkat dan jelas.

Sedangkan manfaat pada penlitian ini nantinyaakan menurunkan size pada �le citra digital, se-hingga dapat menghemat penyimpanan mem-ori pada komputer dan dalam pengiriman datamelalui internet dapat menghemat waktu.

Citra digital adalah gambar dua dimensiyang dihasilkan dari gambar analog dua di-mensi yang kontinu menjadi gambar diskritmelalui proses digitalisasi. Citra yang terlihatmerupakan cahaya yang dire�eksikan dari se-buah objek. Sumber cahaya menerangi objeklalu objek memantulkan kembali sebagian dariberkas cahaya tersebut dan pantulan cahayaditangkap oleh alat-alat optik, missal matamanusia, kamera, scanner, sensor satelit, dansebagainya, kemudian direkam. Citra seba-gai keluaran suatu sistem perekaman data da-pat bersifat optik berupa foto, bersifat ana-log berupa sinyal video seperti gambar padamonitor televisi, atau bersifat digital juga da-pat dikelompokkan menjadi dua yaitu: citratampak seperti foto/gambar, lukisan, dan yangtampak di layar monitor/televisi, hologramserta citra tidak tampak seperti data foto, gam-bar dalam �le, dan citra yang direpresentasikandalam fungsi matematis.[2]

Gambar 1: Citra Digital

Setiap pixel memiliki nilai (value ataunumber) yang menunjukkan intensitaskeabuanpada pixel tersebut. Derajat keabuan dimanamerepresentasikan grey levelatau kode warna.Kisaran nilai ditentukan oleh bit yang dipakaidan akan menunjukkan resolusi aras abu-abu(grey level resolution). 1 bit �2 warna: [0,1]4 bit �16 warna: [0,15] 8 bit �256 warna:[0,255] 24 bit �16.777.216 warna (true color)Kanal Merah -Red (R): [0,255] Kanal Hijau -Green (G): [0,255] Kanal Biru- Blue (B): [0,255]Suatu citra dapat didefenisikan sebagai fungsif(x,y) berukuran M baris dan Nkolom, denganx dan y adalah koordinat spasial, dan ampli-tudo f di titik koordinat(x,y) dinamakan inten-sitas atau tingkat keabuan dari citra pada titiktersebut. Apabilanilai x,y, dan amplitudo f se-cara keseluruhan berhingga (�nite) dan bernilaidiskritmaka dapat dikatakan bahwa citra terse-but adalah citra digital. Pada gambar 2, me-nunjukkan posisi koordinat digital.

Gambar 2: . Koordinat Citra Digital

Nilai Digital dan banyak bit :

M = banyak pixel per baris (panjang)

N = banyak pixel per kolom (lebar)

b = banyak / besar bitpada suatu citra

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

22

Page 3: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

Jenis Citra Digital

Pada suatu citra, citra memiliki ragamtersendiri, dan berbagai macam bentuk citra,antara lain :

1. Citra Biner Citra biner adalah citra yangsetiap pixelnya hanya bernilai 0 (warnahitam) dan 1(warna putih).

2. Citra Skala Keabuan (Grayscale). Citraskala keabuan adalah citra yang se-tiap pixelmempunyai kemungkinanwarna antara hitam(minimal) danputih(maksimal).

3. Citra Warna(True Color) Citra warnaadalah citra yang setiap pikselnya memi-liki warna yang merupakan kombinasi an-tara tiga warna dasar, yaitu merah, biru,dan hijau(RGB) [5]

Format Citra Digital

Citra memiliki ekstensi atau �le formattersendiri, dalam formatcitra, masing-masingcitra memiliki keunggulannya, beberapa contohformat �le citra pada.

1. Format Citra BMP (Bitmap) Meru-pakan format gambar yang paling umumdan merupakan format standardwindows.Ukuran �lenya sangat besar karena men-capai ukuran megabytes. File ini meru-pakan format yang belum terkompresidan menggunakan sistem warna RGB(Red, Green, Blue) di mana setiap warnapixelnya terdiri dari 3 komponen R,G,dan B yang dicampur menjadi satu.FileBMP sangat jarang digunakan di web(internet) karena ukurannya besar.

2. JPEG (Joint Photographic ExpertGroup) Format JPEG merupakan formatyang paling terkenal sampai sekarang ini.Hal ini karena sifatnya yang berukurankecil, dan bersifat portable. File ini ser-ing digunakan pada bidang fotogra� un-tuk menyimpan �le foto. File ini bisadigunakan di web (internet).

3. GIF(Graphic Interchange Format) For-mat �le GIF (Graphics Interchange For-mat) menggunakan maksimal 8 bit warna(28 = 256 warna) gambar ini meng-gunakan kompresi dengan LZW com-pression yang merupakan kompresi lose-less yang berarti tidak ada data yang

dibuang. Format ini juga mendukunggambar transparansi dan animasi.

4. PDF (Portable Document Format) For-mat �le PDF (Portable Document For-mat) digunakan untuk keperluan doku-men lintas sistem dan lintas program ap-likasi dan mempunya ukuran �le relatifkecil.

Pengolahan Citra

Pengolahan citra adalah pemrosesan citrakhususnya dengan menggunakan komputermenjadi citra yang kualitasnya lebih baik.Umumnya operasi pada pengolahan citra diter-apkan pada citra bila perbaikan atau memodi-�kasi citra perlu dilakukan untuk meningkatkankualitas penampakan atau untuk menonjolkanbeberapa aspek informasi yang terkandung didalam citra, kemudian elemen di dalam citraperlu dikelompokkan, dicocokkan, atau diukur,sebagian citra perlu digabung dengan bagiancitra yang lain. Sebelum melakukan pen-golahan citra, citra yang akan diolah perludilakukan image pre-processing. Salah satuimage pre-processing adalah mengubah citraberwarna menjadi citra keabuan.

Pada dasarnya ada tiga bidang yang menan-gani pengolahan data berbentuk citra, yaitu:gra�ka komputer, pengolahan citra, dan visikomputer. Bidang gra�ka komputer banyak di-lakukan proses yang bersifat sintesis yang mem-punyai ciri data masukan berbentuk deskrip-tif dengan keluaran hasil proses yang berben-tuk citra. Sedangkan proses di dalam bidangvisi komputer merupakan kebalikan dari prosesgra�ka komputer. Bidang pengolahan citramerupakan proses pengolahan dan analisis citradengan data masukan maupun data keluaran-nya berbentuk citra. Pengolahan citra meru-pakan proses pengolahan dan analisis citra yangbanyak melibatkan persepsi visual. Pengola-han citra bertujuan memperbaiki kualitas citraagar mudah diinterpretasi oleh manusia ataumesin(dalam hal ini komputer) [4].

Teknik pengolahan citra transformasikanci-tra menjadi citra lain. Masukan adalah citradan keluaran juga citra, namun citra kelu-aran mempunyai kualitas lebih baik daripadacitra masukan. Hubungan antara ketiga bidangtersebut ditunjukkan pada gambar 3.

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

23

Page 4: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

Gambar 3: Bidang berkaitan citra

Tujuan dan manfaat penelitian ini adalahmelakukan kompresi citra dengan menggu-nakan aplikasi GUI dari matlab untuk merubahdetail dan warna pada sebuah �le citra digi-tal sehingga menghasilkan citra yang memilikiukuran �le kecil, dan memiliki skala kebaikancitra yang baik, pada metode kompresi jpeg-standard untuk pemampatan citra digital.

Penelitian ini bertujuan juga menurunkansize pada�lecitra digital, sehingga dapatmenghemat penyimpanan memori pada kom-puter dan dalam pengiriman data melalui in-ternet sehingga dapat menghemat waktu.

Metode

Operasi Pengolahan Citra

Operasi yang dilakukan dalam pengolahan citrabanyak ragam. Namun, secara umum, padapengolahan citra terdapat enam jenis operasipengolahan, yaitu:

1. Peningkatan kualitas citra (image en-hancement) Jenis operasi ini bertujuanuntuk memperbaiki kualitas citra dengancara memanipulasi parameter citra. Op-erasi peningkatan kualitas citra:

(a) Perbaikan kontras gelap/terang

(b) Perbaikan tepi objek (edge enhance-ment)

(c) Penajaman (sharpening)

(d) Pemberian warna semu (pseudo col-oring)

(e) Penapisan derau (noise �ltering)

2. Restorasi citra (image restoration) Op-erasi ini bertujuan meminimumkan ca-cat pada citra. Tujuan restorasi citrahampir sama dengan operasi peningkatankualitas citra. Bedanya, pada restorasicitra penyebab degradasi gambar dike-tahui. Operasi restorasi citra:

(a) Penghilangankesamaran (deblur-ring).

(b) Penghilangan derau (noise).

3. Kompresi citra (image compression) Je-nis operasi ini dilakukan agar citra da-pat direpresentasikan dalam bentuk yanglebih kompak sehingga memerlukan mem-ori yang lebih sedikit. Hal penting yangharus diperhatikan dalam kompresi citraadalah citra yang telah dikompresikanharus tetap mempunyai kualitas gambaryang bagus.

4. Segmentasi citra (image segmentation)Operasi ini adalah suatu tahap padaproses analisis citra yang bertujuan un-tuk memperoleh informasi yang ada didalam citra tersebut dengan membagicitra ke dalam daerah terpisah dimanasetiap daerah adalah homogen dan men-gacu pada sebuah kriteria keseragamanyang jelas.

5. Analisisi citra (image analysis) Jenisoperasi ini bertujuan menghitung be-saran kuantitatif dari citra untuk meng-hasilkan deskripsinya.Proses segmenta-sidiperlukan untuk melokalisasi objekyang diinginkannya.Operasi analisis citra,diantaranya [4]:

(a) Pendeteksian tepi objek (edgedetec-tion).

(b) Ekstraksi batas (boundary).

(c) Representasi daerah (region).

(d) Rekonstruksi citra.

Klasi�kasi Teknik Kompresi Citra

Kompresi citra (images compression) mem-punyai tujuan meminimalkankebutuhan mem-ori untuk merepresentasikan sebuah citra digi-tal. Prinsip umum yangdigunakan pada proseskompresi citra digital adalah mengurangi du-plikasi data didalam citra sehingga memoriyang dibutuhkan untuk merepresentasikan citramenjadi lebih sedikit dari pada citra digitalaslinya. Terdapat dua proses utama dalamper-masalahan kompresi citra digital.

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

24

Page 5: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

Lossless Compression

Pada kompresi jenis ini informasi yang terkan-dung pada citra hasil sama denganinformasipada citra asli. Citra hasil proses kompresidapat dikembalikan secarasempurna menjadicitra asli, tidak terjadi kehilangan informasi,dan tidak terjadikesalahan informasi. Olehkarena itu metode ini disebut juga error freecompression. Pada kompresi lossless, karenaharus mempertahankan kesempurnaan infor-masi,sehingga hanya terdapat proses codingdan decoding, tidak terdapat proses kuantisasi.

Kompresi lossless cocok diterapkan padaberkas basis data (database), spread sheet,berkas word processing, citra biomedis. Na-mun ratio kompresi (Rasio kompresi yaitu, uku-ran �le yang dikompresi dibanding yang takterkompresi dari �le) dengan metode ini sangatrendah. Pada gambar 4 contoh citra denganLossless Compression.

Gambar 4: Citra dengan Lossless

Lossy Compression

Lossy kompresi adalah suatu metode untukmengkompresi data dan mendekompresinya,data yang diperoleh mungkin berbeda dariyang aslinya tetapi cukup dekat perbedaaanya.Lossy kompresi ini paling sering digunakan un-tuk kompres data multimedia (audio, gam-bar diam). Format kompresi lossy mengalamigeneration loss yaitu jika melakukan berulangkali kompresi dan dekompresi �le akan menye-babkan kehilangan kualitas secara progresif.hal ini berbeda dengan kompresi data loss-less. ketika pengguna yang menerima �leterkompresi secara lossy (misalnya untuk men-gurangi waktu download) �le yang diambildapat sedikit berbeda dari yang asli dilevelbit ketika tidak dapat dibedakan oleh matadan telinga manusia untuk tujuan paling prak-tis. Metode kompresi lossy menghasilkan ra-sio kompresi yang lebih besar daripada metode

lossless. Misal terdapat image asli beruku-ran 12,249 bytes, kemudian dilakukan kom-presi dengan JPEG kualitas 30 dan berukuran1,869 bytes berarti image tersebut 85% lebihkecil dan ratio kompresi 15%. Contoh metodelossyadalah metode CS&Q (coarser samplingand/or quantization), jpeg, dan mpeg, citradengan Lossy Compression.

Gambar 5: Citra dengan Lossy Compression

Kompresi Citra

Proses kompresi merupakan proses mereduksiukuran suatu data untuk menghasilkanrepre-sentase citra digital yang padat atau mam-pat namun tetap dapat mewakili kuantitas in-formasi yang terkandung pada data tersebut.Pada citra, video, dan audio, kompresi men-garah pada minimisasi jumlah bit rate untukrepresentasi digital. Pada beberapa literatur,istilah kompresi sering disebut juga source cod-ing, data compression, bandwith compression,dan signal compression.

Data dan informasi adalah dua hal yangberbeda. Pada data terkandung suatu in-formasi. Tujuan dari kompresi data tiadalain adalah untuk mengurangi data berlebihantersebut sehingga ukuran data menjadi lebihkecil dan lebih ringan dalam proses transmisi.

Jenis Pendekatan Kompresi Citra

Pendekatan kompresi citra dalam merupakanstrategi atau teknik untuk melakukan kompresicitra, dalam pendekatannya, adalah :

1. Pendekatan Statistik Kompresi ataupemampatan citra didasarkan padafrekuensi kemunculan derajat keabuanpixel di dalam seluruh bagian gambar.Contoh metode: Hu�man Coding.

2. Pendekatan Ruang Kompresi atau pe-mampatan citra didasarkan pada hubun-gan spasial antara pixel-pixel di dalam su-atu kelompok yang memiliki derajat ke-abuan yang sama di dalam suatu daerah

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

25

Page 6: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

di dalam gambar. Contoh: Run-LengthEncoding.

3. Pendekatan Kuantisasi Pemampatancitra yang dilakukan dengan mengurangijumlah derajat keabuan yang ada. Con-toh :Metode pemampatan kuantisasi

4. Pendekatan Fraktal Pemampatan citrayang didasarkan pada kenyataan bahwakemiripan bagian-bagian di dalam citradapat dieksploitasi dengan suatu ma-triks transformasi.Contoh :Fractal ImageCompression.

Descrete Cosine Transform (DCT)

Discrete Cosine Transform (DCT) atau disebutdengan Transformasi Cosinus Diskrit adalahmodel transformasi fourier yang mengacu padafungsi diskrit dengan mengambil bagian cosinesdari eksponensial kompleks, dan hasilnya jugadiskrit. Discrete Cosine Transform (DCT) 1D(satu dimensi) dide�nisikan sebagai berikut :[6]

C(u) =

√2

Nα(u)

N−1∑x=0

f(x)cos(π(2x+ 1)u/N) (1)

untuk u = 0,1,2. . . . . . ,N-1

Dengan cara yang sama, DCT balik dapatdide�nisikan sebagai berikut :

F (x) =

√2

N

N−1∑x=0

α(u)C(u)cos

(π(2x+ 1)u

2N

)(2)

Dengan α(u) dinyatakan sebagai berikut.

α(u) ={ 1√

2untuk u=0

1 untuk u6=0(3)

Format image jpeg menggunakan DCT un-tuk mengolah tiap 8x8 blok pixel data. Un-tuk image dengan banyak komponen warna(YUV misalnya), maka DCT diterapkan pada8x8 pixel untuk setiap komponen.[7]

Persamaan dasar 2D DCT sebagai berikut:

f(x, y) =2√MN

α(u)α(v)C(x, y) (4)

N−1∑x−0

M−1∑y−0

cos

[π(2x+ 1)u

2M

]cos

[π(2y + 1)u

2N

](5)

Persamaan dasar 2D DCT untuk 8x8 stan-dar JPEG dide�nisikan M = N = 8, dimana Mdan N adalah baris dan Kolom matriks padacitra yang sudah di bentuk ke dalam blok 8x8.

Perancangan Aplikasi

Rancangan aplikasi untuk teknik kompresiJPEG ditunjukkan pada Gambar dibawah,pada blok diagram ini menunjukkan proses se-cara garis besar bagaimana proses kompresi inibekerja.

Gambar 6: Diagram Perancangan

Aplikasi Kompresi jpeg Aplikasi yang diran-cang akan menghasilkan keluaran berupa citraterkompresi yang sesuai dengan faktor kuali-tas yang sudah ditentukan dan dipilih. Per-cobaan akan dilakukan beberapa kali denganfactor kualitas tertentu, sehingga akan menda-patkan hasil kompresi dan data yang berbeda.Nantinya hasil dan data kompresi akan dibu-atkan dalam bentuk tabel sehingga akan mem-perlihatkan hasil kompresi dengan faktor kual-itas yang terbaik.

Hasil Pembahasan

Rasio Kompresi Citra Rasio kompresi citraadalah ukuran citra dalam bentuk presentase

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

26

Page 7: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

yang telah berhasil dikompresi atau dimam-patkan, sehingga dapat diketahui berapa be-sar hasil kompresi atau pemampatan yang di-lakukan. Secara matematis rasio kompresi citradapat dihitung sebagai berikut :

RasioKompresi = (UkuranCitraAsli

UkuranCitrahasilKompresi)Ö100

(6)

Pengukuran Error Kompresi Citra

Informasi yang hilang akibat kompresi sebe-narnya seminimal mungkin sehingga kualitashasil kompresi bagus. Tetapi biasanya kuali-tas kompresi bagus bila proses kompresi meng-hasilkan pengurangan memori yang tidak be-gitu besar, demikian sebaliknya. Dalam kom-presi citra terdapat standar pengukuran errorkompresi yaitu :

1. MSE (Mean Square Error) MSE dapat di-tuliskan secara matematis, yaitu :

MSE =1

MN

M∑y=1

N∑x=1

[I(x, y)− I ′(x, y)2

](7)

Dimana: I(x,y) adalah nilai pixel di citraasliI'(x,y) adalah nilai pixel pada hasilcitra kompresiM,N adalah dimensi image.

2. PSNR (Peak Signal to Noise Ratio)PSNR dapat dituliskan secara matema-tis, yaitu :

PSNR = 20xlog10(255/√MSE) (8)

Nilai MSE yang rendah akan lebih baik,sedangkan nilai PSNR yang tinggi akanlebih baik.

Kompresi citra (image compression) meru-pakan salah satu proses penting yang banyakaplikasi dalam pengolahan citra, namuntekniknya cukup rumit. Kompresi citra diper-lukan karena kemampuannya dalam memam-patkan �le citra yang dapat menghemat peng-gunaan memori. Adapun proses yang dilakukandalam kompresi citra JPEG yaitu :

1. Melakukan Color Sampling atau ColorTransform.

2. Membagi pixel citra dengan ukuran 8x8blok grup.

3. Setiap blok citra akan dilakukan peruba-han nilai pixel dengan koe�sien dari ma-triks persegi MxN

4. Kuantisasi, yaitu membuang informasidari hasil DCT forward dan DCT In-verse, setelah nilai DCT dikuantisasidengan tabel kuantisasi standar den-gan kualitas kompresi 50%, kemudiannilai-nilai pixel tersebut akan dilakukanPengkodean entropi.

5. Entropy coding atau Pengkodean ini di-lakukan secara zig-zag, dalam kompresiJPEG biasanya hal ini dapat dilakukandengan metode Hu�man atau RLE.[1]

Uji Coba

Uji coba diterapkan pada komputer HP pavil-ion 14-e017tx dengan spesi�kasi Processor In-tel® Core� i5-3230M CPU 2.60GHz denganRAM sebesar 4.00 Gb atau setara dengan 4096Mb, serta menggunakan program perhitunganmatematis yaitu Matlab R2015a. Dalam ujicoba ini, citra yang digunakan sebagai bahanuji coba kucing.bmp ditunjukkan pada gambar7.

Gambar 7: Citra kucing.bmp

Pada gambar 8 terlihat hasil histogram citrakucing.bmp dimana penyebaran nilai histogramyang merata, dengan citra yang memiliki nilaiintensitas keabuan citra yang maksimal.

Gambar 8: Histogram pada citra Kucing.bmp

Citra berikutnya yaitu dilakukan pengujianpada citra kucing2.png, dipilih karena nilai der-

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

27

Page 8: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

ajat keabuan citra ini memiliki nilai yang cukupmerata.

Gambar 9 adalah contoh dari gambar yangakan digunakan sebagai uji coba dengan formatPNG.

Gambar 9: Citra kucing2.png

Histogram citra memiliki nilai derajat ke-abuan yang sedang, dapat dilihat pada gambar10.

Gambar 10: Histogram pada Citra Kuc-ing2.png

Pada sampel berikutnya yaitu winter.bmpyang dapat dilihat pada gambar 11, dimanacitra ini digunakan karena object didalam citraberbeda dengan citra sebelumnya, sebab citraini memiliki penyebaran nilai terpusat padasatu titik.

Gambar 11: Winter.bmp

Histogram citra winter.bmp terlihat padagambar 12

Gambar 12: Histogram pada Citra winter.bmp

Flowchart Program

Flowchart berikut merupakan bagaimana alurprogram bekerja pada aplikasi yang telah di-rancang.

Gambar 13: Flowchart Aplikasi Kompresi.JPEG

Pada gambar 14, merupakan hasil uji cobadari aplikasi yang berhasil menampilkan GUI(Graphical User Interface) dari sebelumnya,adalah tampilan aplikasi secara keseluruhan,terdapat button input atau untuk memasukkan�le citra yang akan dikompresi, histogram se-bagai button untuk menampilkan histogrampada citra, dan beberapa static text untukmenampilkan nama citra, dan size �le dari citraitu sendiri.

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

28

Page 9: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

Gambar 14: Tampilan GUI Aplikasi KompresiJPEG

Hasil Uji Coba Citra

Hasil uji coba citra dilakukan pada 3 sampelcitra yang sudah ditentukan, masing-masingcitra memiliki format �le berbeda yakni, PNGdan BMP. Hasil pengujian menunjukkan sizeatau ukuran sebelum pemampatan, sesudah pe-mampatan, dan berupa perbandingan antaracitra dengan faktor kualitas 10-100.

Hasil Uji Coba CitraKucing.BMP

Dalam pengujian aplikasi, dilakukan pada 3citra dengan format PNG dan BMP, dimanacitra ini adalah Kucing.bmp, kucing2.png, danwinter.bmp. Pada tabel 1, adalah tabel citrakucing.bmp dengan ukuran �le sebesar 572 KB.Ppada tabel ini dipaparkan size citra dari tiapfaktor kualitas pada aplikasi yang sudah diran-cang.

Tabel 1: Hasil Kompresi Citra Kucing.bmpdengan faktor kualitas 10-100

Dari tabel 1 hasil kompresi citra kuc-ing.bmp, dengan faktor kualitas 10 maka akanmenghasilkan citra yang memiliki size den-gan ukuran yang sangat kecil, namun kualitasdari gambar dapat digolongkan ke dalam kat-egori buruk, terlihat dari gambar yang banyak

menimbulkan noise atau derau, ini dikarenakanfaktor kualitas menunjukkan tingkat kualitaspemampatan dengan tujuan untuk mendap-atkan beberapa variasi hasil dari kompresi.Hasilkompresi citra berhasil menurunkan �le ukuranhingga lebih kecil dari �le aslinya. Pada gam-bar 15, adalah hasil dari citra yang terkompresidengan faktor kualitas dari 10 hingga 100.

Gambar 15: Perbandingan hasil citra kucing.jpg terkompresi

Hasil Uji Coba Citra Kucing2.PNG

Pada bagian kedua ini adalah hasil kompresipada citra kucing2.png dengan ukuran �le sebe-sar 326 Kb, terlihat pada tabel 2, dimana hasilkompresi JPEG ini dengan faktor kualitas 10-100. Hasil uji coba didapatkan hasil kompresisebesar 105.708 byte pada citra kucing2.pngdengan faktor kualitas 100, citra asli sebelumdikompresi sebesar 586.606 byte, hal ini menun-jukkan kompresi berhasil menekan angka ataubesar ukuran �le, namun tetap tidak mengu-rangi kualitas citra. Tetapi pada citra hasilkompresi dengan faktor kualitas yang dipilih10, citra menghasilkan keluaran dengan uku-ran �le yang sangat minim, berkisar 6.58Kbatau setara dengan 6.743 byte dan dapat dil-ihat, citra yang dikompresi dengan faktor kual-itas sebesar 10-30 menampakkan sedikit derau

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

29

Page 10: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

atau noise yang mana citra tersebut tergolongpada citra dengan kualitas yang kurang bagus.Hasil perbandingan citra kucing2.png, terlihatpada gambar 16.

Tabel 2: Hasil Kompresi Citra Kucing2.pngdengan faktor kualitas 10-100

Gambar 16: Perbandingan hasil citra kuc-ing2.png terkompresi

Hasil Uji Coba CitraWinter.bmp

Pada uji sampel ke tiga adalah citra winter.bmpterlihat pada tabel 3, kompresi citra berhasildilakukan dengan faktor kualitas yang sudahditentukan, dari 10 hingga 100.

Tabel 3: Hasil Kompresi Citra Winter.bmpdengan faktor kualitas 10-100.

Gambar 17 memperlihatkan hasil kompresicitra winter.bmp beserta ukuran �le yang sudahterkompresi.Hal yang serupa pada citra win-ter.bmp, setelah terkompresi pada faktor kual-itas 10-30 citra terdapat banyak begitu derauatau noise dimana, hal ini juga dialami padacitra kucing.bmp dan kucing2.png

Gambar 17: Perbandingan hasil citra win-ter.bmp terkompresi

Dengan demikian faktor kualitas menen-tukan seberapa besar citra yang akan terkom-presi dan seberapa baik hasil dan kualitas citrayang terkompresi, pada citra yang terkompresidengan faktor kualitas 50-100 menghasilkan

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

30

Page 11: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

citra yang minim ukuran namun, memilikikualitas yang baik.

Hasil PSNR, MSE dan Rasio Kompresi

Citra Uji Coba

Tabel 4. Merupakan hasik dari pengukuranKualitas Citra, dimana PSNR dan MSE, serta

Rasio Kompresi citra ditampilkan dalam ben-tuk tabel dan angka sehingga nantinya akandibuat simpulan akhir dari tabel 4.

Tabel 4: Pengukuran Kualitas Citra

Pada citra kucing.bmp yang terkompresimenjadi JPEG, dengan faktor kualitas 10menghasilkan nilai PSNR dibawah 30 dB (Deci-bel) hal ini mengindikasikan citra ini memi-liki kualitas yang rendah dan ini berpengaruhpada, lain halnya dengan citra kucing2.pngcitra ini mendapatkan PSNR senilai 30.667dB, dan pada citra Winter.bmp didapat PSNRdibawah 30 dB atau berkisar 28.295 dB. Fak-tor kualitas yang rendah akan memberikanproses kuantisasi yang banyak menghilangkandata pada citra setelah di kompressi sehinggamenjadikan nilai PSNR semakin rendah tetapinilai rasio kompresi semakin tinggi. Kuali-tas citra yang baik ketika nilai PSNR lebihtinggi dari nilai MSE. Proses Kompresi Gam-bar Discrete Cosine Transform (DCT) bek-erja dengan memisahkan gambar ke bagianfrekuensi yang berbeda. Pada langkah kuan-

tisasi dimana proses kompresi terjadi, sehingganantinya frekuensi dan informasi yang kurangpenting dibuang. Diasumsikan suatu citragrayscale digunakan sebagai contoh kasus un-tuk DCT, berikut ini adalah algoritma DiscreteCosine Transform:

1. Gambar dibagi menjadi beberapa bagianblok, dan setiap blok memiliki ordo 8x8atau 8x8 pixel.

Gambar 18: Citra Sampel Grayscale

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

31

Page 12: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

2. Data matriks original dikurangi dengan128, hal ini disebut sebagai color trans-form atau color conversion, algoritmaDCT bekerja pada rentang [-128127] den-gan ketentuan pengolahan citra digitalpada citra berwarna

3. Lakukan pengurangan pada tiap barisdan kolom matrix original dengan titiknol dari [0 255] maka matriks originaldikurangi dengan 128 didapatkan matrikssebagai berikut:

Gambar 19: Matriks M

Kemudian, cari nilai untuk Matriks Dis-crete Cosine Transform untuk Matriks Tyang nantinya matriks T ini akan dika-likan dengan Matriks M, dan matriks Tini akan di transpose menjadi matriks T t.

T(i, j)=1/»N,jika i = 0√2N cos(

(2j+1)iπ2N jika i 6= 0

Dengan rumusan diatas, matriks T akandihitung mulai dari blok T(0,0) sampaiT(7,7). Berikut ini adalah perhitungannilai DCT untuk Matriks T :

Gambar 20: Matriks T

Selajutnya matriks T akan dilakukantranspose menjadi matriks T t, ditun-jukkan pada gambar 21.

Gambar 21: Matriks T t

4. Dengan menggunakan persamaan Dis-crete Cosine Transform, dimana untukmencari matriks D dan matriks tersebutakan digunakan untuk proses kuantisasilanjutan. Untuk mencari matriks D digu-nakan persamaan D = T. M .T^t. Sete-lah dilakukan perkalian pada matriks T,M dan T^t, didapatkan matriks D padagambar 22

Gambar 22: Matriks D

Matriks D berisi koe�sien DCT, yang ke-mudian akan dikuantisasi dengan levelkuantisasi yang dipilih, atau dengan fak-tor kualitas yang telah dipilih.

5. Matriks D yang berisi koe�sien DCT,data yang terletak pada kiri atas meru-pakan korelasi dari frekuensi-frekuensirendah dari data original. Sedangkanpada kanan bawah merupakan korelasifrekuensi tinggi dari data original. Se-lajutnya dilakukan proses kuantisasi den-gan Quality 50, dimana hasil terlihatpada gambar 23

Gambar 23: Matriks Q50

Kuantisasi dilakukan dengan persamaan

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

32

Page 13: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

berikut ini, dimana round berartimendekatkan nilai hasil pembagian kedalam pembulatan integer yang palingdekat.

C((i, j)) = round(Dij/Qij) (9)

Maka dari perhitungan diatas didap-atkan matriks C dengan nilai yang telahterkuantisasi dan dapat dilihat pada gam-bar24

Gambar 24: Matriks C

Citra original yang telah terkuantisasidan sebelum terkuantisasi dapat dili-hat perbandingannya, pada citra originaldengan citra matriks C.

6. Susun bilangan menggunakan fungsi zig-zag scanning dimana ini adalah langkahterakhir pada proses kompresi, proses iniditunjukkan pada gambar 25.

Gambar 25: Metode Zig-Zag Scanning

Matriks C yang telah terkuantisasi akandikonversi oleh encoder dapat disebutjuga dengan proses pengkodean entropi.Matriks C ini akan diubah ke data biner(0110101. . . .) koe�sien DCT terkuan-tisasi sehingga bit yang paling kiriberisikan nilai-nilai yang tidak 0, danyang paling kanan berisikan baris bit yangbernilai0. Setelah diurutkan, maka proseskompresi dapat dilanjutkan dengan algo-ritma Hu�man atau RLE.

7. Dilakukan proses dekompresi untukmerekronstuksi hasil kompresi, ini meru-pakan proses dimana hasil akan dita-mpilkan dan menjadi data yang dapatdikenali. Hitung dengan persamaan se-bagai:

R(i,j) = Q(i,j) x C(i,j)

Setelah matriks Q50 dikalikan dengankoe�sien matriks C, lakukan perhitungandengan persamaan berikut :

N = round(T'. R . T) + 128

Didapatkan matriks R setelah dilakukanperhitungan terhadap matriks Q50 den-gan matriks C,seperti pada gambar 26.

Gambar 26: Matriks R

Matriks T' dikalikan dengan matriks R,kemudian hasil dari perkalian tersebutdikalikan dengan matriks T, dan hasil-nya ditambahkan dengan 128.Didapatkanhasil matriks N dan ini adalah hasil akhirdari proses yang sudah dikompresi dalamblok 8x8,hasil pada gambar27.

Gambar 27: Matriks N

Pada hasil yang didapat, dilakukan per-bandingan matriks Original dengan ma-triks N, dimana nilai koe�sien tiap blokberubah dan ditunjukkan pada gambar 28(a) dan gambar 28 (b)

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

33

Page 14: Aplikasi Kompresi Citra Dengan MatlabR2015a Menggunakan ...aqwamrosadi.staff.gunadarma.ac.id/Publications/files/3995/Jurnal... · Aplikasi ini dibuat menggunakan pemrograman matlab

Gambar 28: (a) Matriks Original

Gambar 29: Matriks N

Pada gambar 28 dan 29 adalah perbandin-gan Matriks Original dengan Matriks N yangmerupakan hasil akhir dari proses kompresiyang dilakukan, contoh perhitungan tersebutdilakukan dengan kompresi faktor kualitas 50persen, atau dengan kuantisasi 50.

Penutup

Dari penelitian yang dilakukan, pada 3 citraberbeda sebagai sampel uji coba, disimpulkanbahwa :

1. Kompresi yang dilakukan pada citra PNGberhasil menurunkan size/ ukuran citrasecara signi�kan, ditunjukkan ukurancitra asli 334.774 menjadi 105.708 (byte)atau setara dengan 103Kb.

2. Aplikasi kompresi citra yang dirancangsudah dapat berjalan sesuai denganyang diharapkan dan dapat mengkom-presi citra dengan baik sesuai faktor kual-itas yang ada.

3. Tingkat rasio �le citra masing-masingmemiliki tingkatan yang berbeda, inidikarenakan faktor kualitas kompresicitra yang berbeda. Dengan faktor kual-itas 10 maka kompresi yang dilakukanakan semakin tinggi dan mempengaruhinilai rasio kompresi.

4. Hasil PSNR dan MSE mengindikasikankualitas citra yang baik, dimana nilaiPSNR lebih tinggi dibandingkan dengannilai MSE.

Saran dari penelitian yang telah dilakukanyaitu, dimasa yang akan datang dapat di-lakukan pengembangan untuk kompresi citramenggunakan metode yang lain dan bisa mem-bandingkan metode mana yang lebih cocokpada citra dengan format citra yang ada.

Daftar Pustaka

[1] Marvin Ch. Wijaya dan Agus Prijono, �Pen-golahan Citra Digital Menggunakan Mat-lab�, Bandung: Informatika Bandung, 2007.

[2] Aqwam Rosadi, Sunny Arief Sudiro danSarifuddin Madenda, �E�cient Implemen-tation of Mean Formula for Image Pro-cessing using FPGA Device�, Proceedingof International Conferences on Informa-tion Technology, Information Systems andElectrical Engineering (ICITISEE 2016),ISBN:978-602-60280-0-6,Yogyakarta, 2016

[3] Liliana, Andy Febrico Bintoro dan IwanNjoto Sandjaja, �Pembuatan Aplikasi Kom-presi Image dengan Metode FastDiscreteCosine Transform�, Jurnal JurusanTeknikInformatika, Fakultas Teknologi Industri,Universitas Kristen Petra, 2012.

[4] Darma Putra, �Pengolahan Citra Digital�,Yogyakarta. Penerbit: ANDI, 2011.

[5] Sigit R, Basuki, A., Ramadijanti, N., danPramadihanto, D., �Step by step Pengola-han Citra Digital�, Yogyakarta: Andi, 2005.

[6] Thomas Wiegand and Heiko Schwarz, �Source Coding: Part I of Fundamentals ofSource and Video Coding�, Foundations andTrends in sample Vol. 1, No 1, p-p : 1�217,2011.

[7] Dewobroto Wiryanto, �Aplikasi RekayasaKonstruksi dengan Visual Basic 6.0�,Jakarta, Penerbit Elex Media Komputindo,2005.

Jurnal Ilmiah KOMPUTASI, Volume 17 No : 1, Maret 2018, p-ISSN 1412-9434/e-ISSN 2549-7227

34