Implementasi Metode Median Filtering Dan Kompresi Jpeg Untuk Citra BMP

BAB 2
LANDASAN TEORI

2.1 Pengenalan Citra

Citra merupakan representasi (gambaran) dari sebuah objek nyata yang dihasilkan
oleh alat digital. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat
optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada
monitor televisi atau bersifat digital yang dapat langsung disimpan pada suatu media
penyimpan [9]. Karakteristik dari citra yang tidak dimiliki oleh data teks adalah citra
kaya akan informasi karena dapat menyampaikan informasi yang imajinatif (dapat
dihayalkan).

2.1.1 Citra Analog

Citra analog merupakan citra yang bersifat kontinu. Citra analog ini tidak dapat
langsung diproses dalam komputer, sehingga citra analog perlu proses konversi analog
ke digital terlebih dahulu. Hal ini disebabkan karena citra analog yang terdiri dari
sinyal – sinyal elektromagnetik yang tidak dapat dibedakan sehingga citra ini sulit
ditentukan ukurannya. Contoh dari citra analog ini seperti citra tampilan pada televisi
atau monitor, gambar – gambar atau lukisan, foto yang dicetak dikertas, dan lain

sebagainya.

2.1.2 Citra Digital

Citra digital merupakan sebuah larik (array) yang berisi nilai – nilai real maupun
kompleks yang direpresentasikan dengan deretan bit – bit tertentu [6]. Sebuah citra
digital dihasilkan melalui proses digitalisasi pada citra kontinu. Digitalisasi citra

Universitas Sumatera Utara

8

merupakan representasi dari fungsi – fungsi kontinu menjadi nilai – nilai diskrit,
sehingga disebut sebagai citra digital.

Citra kontinu dinyatakan dengan presisi angka tak terhingga, sedangkan citra
diskrit dinyatakan dengan presisi angka terhingga. Karena komputer bekerja dengan
angka-angka presisi terhingga, maka hanya citra dari kelas diskrit (citra digital) saja
yang dapat diolah dengan komputer.


Suatu citra dapat didefinisikan sebagai fungsi f(x) berukuran MxN dimana M
adalah baris dan N adalah kolom, dengan x dan y adalah koordinat spasial, dan
amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari
citra pada titik tersebut. Citra digital ditulis dalam bentuk matrik sebagai berikut.

Contoh dari sebuah citra digital dapat dilihat pada gambar 2.1

Gambar 2.1 Contoh Citra Digital dan Matrik penyusunnya

Universitas Sumatera Utara

9

Citra digital terbagi atas 2 jenis, yaitu:

1.

Tipe Raster

Citra raster merupakan citra yang terdiri atas persegi – persegi kecil yang memiliki

warna tersendiri. Citra raster sering disebut sebagai bitmap. Tampilan raster mampu
menunjukkan kehalusan gradasi warna dan bayangan dari sebuah gambar, oleh sebab
itu tipe raster merupakan media elektronik yang paling tepat untuk gambar-gambar
dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital.

Gambar raster sangat tergantung dengan resolusinya, karena setiap gambar
mempunyai jumlah piksel yang pasti. Artinya sebuah gambar akan sangat tergantung
dari jumlah piksel yang membentuknya. Apabila dilakukan pembesaran ukuran
gambar dengan resolusi kecil, maka gambar akan kehilangan detil dan akan terlihat
kotak-kotak piksel yang berundak (jagged). Beberapa format raster antara lain adalah
JPEG, GIF, BMP, PNG dan ICO. Contoh tipe raster dilihat pada gambar 2.2 berikut.

Gambar 2.2 Contoh Citra Raster

2.

Tipe Vektor

Citra vektor merupakan citra yang terbentuk dari bangun – bangun geometri
sederhana seperti titik, garis lurus, garis lengkung, polygon (segi banyak). Gambar

vektor menggabungkan titik dan garis untuk menjadi sebuah objek, sehingga gambar
tidak menjadi pecah biarpun diperbesar atau diperkecil, tidak seperti gambar Bitmap.

Universitas Sumatera Utara

10

Beberapa format gambar vektor antara lain adalah CGM, SVG, SWF. Contoh tipe
vektor dilihat pada gambar 2.3 berikut.

Gambar 2.3 Contoh Citra Vektor

2.1.3 J enis Citra

Sebuah citra terdiri atas piksel – piksel penyusunnya, dimana nilai suatu piksel sebuah
citra memiliki nilai dalam suatu rentang tertentu. Yaitu mulai dari nilai rentang
minimum hingga rentang nilai maksimum. Tetapi secara umum rentang nilai piksel
sebuah citra adalah 0 – 255. Berikut adalah jenis – jenis citra berdasarkan nilai
pikselnya[6].


2.1.3.1 Citra Biner

Citra biner merupakan citra digital yang hanya memiliki dua kemungkinan nilai piksel
yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and white)
atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap piksel dari
citra biner. Pada gambar 2.4 berikut adalah contoh dari citra biner.

Gambar 2.4 Citra Biner

Universitas Sumatera Utara

11

2.1.3.2 Citra Grayscale

Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada
setiap piksel-nya, dengan kata lain nilai bagian RED = GREEN = BLUE. Nilai
tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah
warna dari hitam, keabuan, dan putih. Tingkatan keabuan di sini merupakan warna
abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra grayscale

berikut memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan). Contoh dari
citra grayscale dapat dilihat pada gambar 2.5 berikut.

Gambar 2.5 Citra Grayscale

2.1.3.3 Citra Warna (8 bit)

Setiap piksel dari citra warna (8 bit) hanya di wakili oleh 8 bit dengan jumlah warna
maksimum yang dapat digunakan adalah 256 warna. Ada dua jenis citra warna 8 bit.
Pertama, citra warna 8 bit dengan menggunakan palet warna 256 dengan setiap
paletnya memiliki pemetaan nilai (colormap) RGB tertentu. Model ini lebih sering
digunakan. Kedua, setiap piksel memiliki format 8 bit seperti tabel 2.1 berikut.

Tabel 2.1 Format bit citra 8 bit
Bit-7

Bit-6

Bit-5


Bit-4

Bit-3

Bit-2

Bit-1

Bit-0

R

R

R

G

G


G

B

B

Universitas Sumatera Utara

12

Contoh dari citra warna 8 bit dapat dilihat pada gambar 2.6 berikut.

Gambar 2.6 Citra 8 bit

2.1.3.4 Citra Warna (16 bit)

Citra warna 16 bit (biasanya disebut sebagai citra highcolor ) dengan setiap piksel-nya
diwakili dengan 2 byte memory (16 bit).Warna 16 Bit memiliki 65.536 warna. Dalam
formasi bitnya, nilai merah dan biru mengambil tempat di 5 bit di kanan dan kiri.
Komponen hijau memiliki 5 bit ditambah 1 bit ekstra. Pemilihan komponen hijau

dengan deret 6 bit dikarenakan penglihatan manusia lebih sensitif terhadap warna
hijau. Berikut pada tabel 2.2 formasi bit citra 16 bit.

Tabel 2.2 Formasi bit citra 16 bit
Bit Bit Bit Bit Bit Bit Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
15

14

13

12

11

10

R

R


R

R

R

G

G

G

G

G

G

B


B

B

B

B

Universitas Sumatera Utara

13

Pada gambar 2.7 berikut adalah contoh dari citra warna 16 bit.

Gambar 2.7 Citra 16 bit

2.1.3.5 Citra Warna (24 bit)

Setiap piksel dari citra warna 24 bit diwakili dengan 24 bit sehingga total 16.777.216
variasi warna. Variasi ini sudah lebih dari cukup untuk memvisualisasikan seluruh
warna yang dapat dilihat penglihatan manusia. Penglihatan manusia dipercaya hanya
dapat membedakan hingga 10 juta warna saja. Setiap poin informasi piksel (RGB)
disimpan ke dalam 1 byte data. 8 bit pertama menyimpan nilai biru, kemudian diikuti
dengan nilai Hijau pada 8 bit kedua dan pada 8 bit terakhir merupakan warna merah.
Contoh dari citra warna 24 bit dapat kita lihat pada gambar 2.8 berikut.

Gambar 2.8 Citra 24 bit

2.1.4 For mat File Citra

Secara umum format file citra yang standar digunakan terdiri atas beberapa jenis.
Format – format ini digunakan dalam menyimpan citra dalam sebuah file, dan setiap

Universitas Sumatera Utara

14

format memiliki karakteristik masing – masing. Beberapa format yang umum
digunakan adalah bitmap, tagged image format(.tif), portable network graphics(.png),
jpeg, mpeg, graphics interchange format(.gif), dan lain sebagainya. Dalam penelitian
ini jenis file yang akan dibahas adalah bitmap(BMP).

2.1.4.1 Format File Citra Bitmap (BMP)

Format file BMP merupakan format penyimpanan standar tanpa kompresi yang umum
dapat digunakan untuk menyimpan citra biner hingga citra warna [6]. Pada format
BMP, citra disimpan sebagai matrik yang tiap elemennya digunakan untuk
menyimpan informasi warna untuk setiap piksel. Susunan bit – bit warna pada citra
BMP membentuk pola tertentu yang menyajikan informasi yang dapat dipahami
sesuai dengan persepsi penglihatan manusia. Citra BMP mampu menyimpan
informasi dengan kualitas mulai dari 1 bit hingga 24 bit. Citra dalam format BMP
lebih bagus dari pada citra dalam format JPG, karena pada umumnya citra BMP tidak
dimampatkan sehingga tidak ada informasi yang hilang. Citra BMP cocok digunakan
untuk menyimpan citra digital yang memiliki banyak variasi dalam bentuknya
maupun warnanya, seperti foto, lukisan, dan frame video.

Citra dalam format BMP mudah untuk dibuka dan disimpan, tetapi ada
beberapa hal yang harus dicermati yaitu :

1

Format file BMP menyimpan datanya secara terbalik, yaitu dari bawah keatas.

2

Citra dengan ukuran warna 8 bit, lebar citra harus kelipatan dari 4 bila tidak
maka pada saat penyimpanan akan ditambahkan beberapa byte pada data
hingga merupakan kelipatan dari 4.

3

Citra dengan ukuran warna 24 bit, urutan penyimpanan 3 wrna dasar adalah
red, green, blue (RGB).

4

Ukuran file BMP bisa sangat besar hingga Megabytes.

Universitas Sumatera Utara

15

2.2 Noise

Noise merupakan gangguan yang disebabkan oleh menyimpangnya data digital yang
diterima oleh alat penerima gambar yang dapat mengganggu kualitas citra. Gangguan
pada citra umumnya berupa variasi intensitas suatu piksel yang tidak berkorelasi
dengan piksel – piksel tetangganya [12]. Jenis noise yang dibahas pada penelitian ini
adalah salt and pepper noise dan speckle noise.

2.2.1 Salt and Pepper Noise

Salt and pepper noise merupakan noise yang terlihat seperti titik – titik hitam dan
putih pada sebuah citra menyerupai tebaran garam dan merica. Salt and pepper noise
disebabkan karena terjadinya error bit dalam pengiriman data, piksel – piksel yang
tidak berfungsi dan kerusakan pada lokasi memori [8]. Untuk menguji sebuah metode
agar dapat mereduksi noise, maka noise dapat dihasilkan dengan cara membangkitkan
noise tersebut, hal ini sering disebut dengan noise generator.

Gambar 2.9 Citra sebelum
terkena salt and pepper noise

Gambar 2.10 Citra setelah terkena salt
and pepper noise

Adapun cara untuk membangkitkan salt and pepper noise adalah dengan cara
membangkitkan bilangan 255 (warna putih) pada titik –titik yang secara probabilitas
noise, dan dirumuskan dengan:

Universitas Sumatera Utara

16

f (x,y) = 0 jika p (x,y) 1 – Prob.Noise/2
Dimana :
f(x,y) : adalah nilai piksel citra pada titik (x,y)
p(x,y) : adalah probabilitas acak

2.2.2 Speckle Noise

Speckle noise merupakan jenis noise yang memberikan warna hitam pada titik yang
terkena noise.

Gambar 2.11 Citra sebelum
terkena speckle noise

Gambar 2.12 Citra setelah
terkena speckle noise

Noise ini dibangkitkan dengan cara membangkitkan bilangan 0(warna hitam)
pada titik – titik yang secara probabilitas lebih kecil dari nilai probabilitas noise, dan
dirumuskan dengan :
f (x,y) = 0 jika p (x,y) > n2 , maka CR

∞ dan R

D

>1, berarti cukup banyak redundansi dalam

gambar asli.
3. Jika n1 0 dan RD

∞ menunjukkan bahwa citra dikompresi

mengandung data berlebihan sangat tinggi.

Universitas Sumatera Utara

22

2.4.4 Kompresi J PEG (Joint Photographic Experts Group)

Algoritma kompresi yang telah dikembangkan dan diterapkan pada teknologi
informasi dan komunikasi multimedia saat ini adalah algoritma JPEG untuk kompresi
citra [7]. Kompresi JPEG termasuk jenis kompresi yang bersifat lossy. Tujuan dari
kompresi gambar JPEG sederhana yaitu untuk menyimpan data yang diperlukan guna
merekonstruksi citra digital menggunakan ruang sesekecil mungkin dengan tetap
menjaga detail visual sehingga menyimpan gambar mendekati sebenarnya [5].
Adapun kelebihan yang dimiliki oleh JPEG antara lain:

1. JPEG mampu memampatkan citra hingga kedalaman 24 bit (16,7 juta warna)
dengan kecepatan yang standar sehingga hasil yang maksimal dari sebuah
gambar dapat diperoleh.
2. JPEG memanfaatkan pola pada citra untuk mereduksi informasi pada citra
yang tidak memberikan dampak yang mempengaruhi kualitas citra.
3. JPEG mampu memampatkan citra grayscale hingga warna seperti RGB,
CMYK.

Tahapan kompresi JPEG [1]:

1. Encoding JPEG, Pada proses penyandian terdapat beberapa langkah seperti
berikut.
a. Konversi warna RGB

YCbCr

b. Downsampling, merupakan proses pengurangan pada komponen Cb dan Cr.
c. Block Splitting, pada proses ini citra dibagi menjadi 8x8 blok setelah proses
downsampling.
d. Proses DCT, merupakan proses transformasi citra dari domain spasial ke
domain frekuensi yang mampu memisahkan informasi mulai pada frekuensi
rendah hingga frekuensi tinggi, sehingga hal ini memungkinkan untuk

Universitas Sumatera Utara

23

memampatkan jumlah bit dalam setiap piksel melalui pengurangan atau
penghilangan detil informasi (frekuensi tinggi).
e. Kuantisasi, merupakan proses pembagian setiap nilai piksel hasil DCT
dengan setiap nilai konstanta elemen matrik kuantisasi, dimana nilai-nilai
setiap elemen matrik tersebut menentukan kualitas hasil kompresi. Pada
proses ini dilakukan pembersihan koefisien DCT yang tidak penting untuk
pembentukan image baru. Hal ini yang menyebabkan JPEG bersifat lossy.
f. Entropy Coding, merupakan proses penggunaan algoritma entropy seperti
Huffman Coding untuk mengkodekan koefisien hasil proses DCT yang akan
mengeliminasi nilai – nilai matrik yang bernilai nol secara zig – zag order.

2. Decoding JPEG, proses menguraikan kode untuk menampilkan citra yang
dilakukan dengan invers dari proses encoding JPEG yaitu Huffman decoding,
dekuantisasi, invers DCT, konversi YCbCr

RGB.

Diagram kompresi dari metode JPEG dapat dilihat pada gambar 2.13 .

Quant izer

Ent ropi Encoder

Quant izer
Table

Gambar 2.13 JPEG Encoder Block Diagram
Dalam proses penyandian JPEG pada Gambar 2.14, citra masukan dibentuk ke
dalam blok 8×8, dan tiap-tiap blok diubah dengan DCT maju (FDCT) menjadi satu set
64 nilai yang disebut koefisien DCT. Satu dari nilai-nilai ini adalah koefisien DC dan
selebihnya adalah koefisien AC. Tiap-tiap nilai koefisien DCT kemudian dikuantisasi
menggunakan satu dari 64 nilai yang saling berhubungan dari sebuah tabel kuantisasi.
Koefisien-koefisien yang telah dikuantisasi kemudian diproses dengan penyandian

Universitas Sumatera Utara

24

entropi. Salah satu dari dua prosedur pengkodean entropi yang dapat digunakan yaitu
dengan penyandian Huffman atau penyandian Aritmetika.

Sebuah data yang telah mengalami proses kompresi/pemampatan tentunya
harus dapat dikembalikan lagi kebentuk aslinya, walaupun tidak semua citra hasil
kompresi yang didekompresi akan memiliki hasil yang sama persis dengan citra
awal/asli, hal itu bergantung pada jenis kompresi yang digunakan. Gambar 2.14
berikut adalah diagram proses decoder JPEG.

Ent ropi Decoder

Dequant izer

Quant izer
Table

Gambar 2.14 JPEG Decoder Block Diagram

Pada proses rekonstruksi yang ditunjukkan Gambar 2.14, citra yang
terkompresi menggunakan standar JPEG yaitu melalui proses terbalik. Jika pada
proses kompresi menggunakan DCT maju (FDCT), pada proses rekonstruksi
digunakan invers DCT (IDCT) untuk melakukan dekompresi citra sehingga citra dapat
ditampilkan.

2.5 Matlab (Matrix Laboratory)

Matlab merupakan program yang digunakan untuk analisis dan komputasi numerik
dan merupakan suatu bahasa pemrograman matematika lanjutan yang dibentuk
dengan dasar pemikiran menggunkan sifat dan bentuk matriks, Matlab sering
digunakan untuk melakukan teknik komputasi numerik, yang digunakan untuk
menyelesaikan masalah-masalah yang melibatkan operasi matematika elemen, matrik,
optimasi, aproksimasi dan lain – lain.

Universitas Sumatera Utara

25

Matlab merupakan software yang dikembangkan oleh Mathworks.Inc. dan
merupakan software yang paling efisien untuk perhitungan numeric berbasis matriks.
Dengan demikian jika di dalam perhitungan kita dapat menformulasikan masalah ke
dalam format matriks maka Matlab merupakan software terbaik untuk penyelesaian
numericnya. Pada penelitian ini, topik yang diangkat berhubungan dengan pengolahan
citra, dimana citra tersusun dari matrik yang terdiri dari piksel – piksel penyusunnya.
Matlab menyediakan beberapa fungsi yang dapat membantu penulis dalam melakukan
pengoperasian pada citra yang perhitungannya sulit diterjemahkan ke dalam bahasa
pemrograman.

2.6 Pengukuran Kualitas Citra

Terdapat beberapa parameter yang dapat digunakan untuk mengukur kualitas sebuah
citra. Antara lain adalah Mean Square Error (MSE) dan Peak Signal to Noise Ratio
(PSNR).

2.6.1 MSE (Mean Square Error)

MSE merupakan rata-rata kuadrat nilai kesalahan antara citra asli dengan citra hasil
pengolahan [10]. Semakin besar tingkat penurunan MSE kualitas citra menjadi
semakin baik. MSE dirumuskan sebagai berikut:

------------------- 2.7

Dimana :

m,n

: adalah ukuran matrik citra mxn

B1, B2 : adalah matrik citra

Universitas Sumatera Utara

26

2.6.2 PSNR (Peak Signal to Noise Ratio)

PSNR merupakan nilai perbandingan antara harga maksimum warna pada citra hasil
filtering dengan kuantitas gangguan (noise) [10], semakin tinggi peningkatan PSNR
yang dihasilkan kualitas citra menjadi semakin baik. PSNR dinyatakan dalam satuan
desibel (dB). PSNR dirumuskan sebagai berikut :

------------------- 2.8

Universitas Sumatera Utara