20
BAB 2 LANDASAN TEORI 2.1 Definisi Citra Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. 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. (Sutoyo et al, 2009) Menurut arti secara harfiah, citra (image) adalah gambar pada bidang dua dimensi. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dua dimensi. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkasi cahaya. Pantulan cahaya ini ditangkap oleh alat-alat optik, seperti mata pada manusia, kamera, pemindai (scanner), dan lain-lain sehingga bayangan objek dalam bentuk citra dapat terekam. Citra sebagai output dari suatu sistem perekaman data dapat bersifat: 1. Optik, berupa foto, 2. Analog berupa sinyal video, seperti gambar pada monitor televisi, 3. Digital yang dapat langsung disimpan pada suatu pita magnetic. Citra dapat dikelompokkan menjadi dua bagian yaitu citra diam (still image) dan citra bergerak (moving image). Citra diam adalah citra tunggal yang tidak bergerak. Sedangkan citra bergerak adalah rangkaian citra diam yang ditampilkan secara beruntun (sekuensial) sehingga memberi kesan pada mata sebagai gambar yang bergerak. Setiap citra didalam rangkaian itu disebut frame. Gambar-gambar yang tampak pada film layar lebar atau televisi pada hakikatnya terdiri dari ratusan sampai ribuan frame. (Sawaluddin et al, 2006)

BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

  • Upload
    habao

  • View
    242

  • Download
    1

Embed Size (px)

Citation preview

Page 1: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

BAB 2

LANDASAN TEORI

2.1 Definisi Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek.

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. (Sutoyo et

al, 2009)

Menurut arti secara harfiah, citra (image) adalah gambar pada bidang dua

dimensi. Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus

(continue) dari intensitas cahaya pada bidang dua dimensi. Sumber cahaya menerangi

objek, objek memantulkan kembali sebagian dari berkasi cahaya. Pantulan cahaya ini

ditangkap oleh alat-alat optik, seperti mata pada manusia, kamera, pemindai

(scanner), dan lain-lain sehingga bayangan objek dalam bentuk citra dapat terekam.

Citra sebagai output dari suatu sistem perekaman data dapat bersifat:

1. Optik, berupa foto,

2. Analog berupa sinyal video, seperti gambar pada monitor televisi,

3. Digital yang dapat langsung disimpan pada suatu pita magnetic.

Citra dapat dikelompokkan menjadi dua bagian yaitu citra diam (still image) dan citra

bergerak (moving image). Citra diam adalah citra tunggal yang tidak bergerak.

Sedangkan citra bergerak adalah rangkaian citra diam yang ditampilkan secara

beruntun (sekuensial) sehingga memberi kesan pada mata sebagai gambar yang

bergerak. Setiap citra didalam rangkaian itu disebut frame. Gambar-gambar yang

tampak pada film layar lebar atau televisi pada hakikatnya terdiri dari ratusan sampai

ribuan frame. (Sawaluddin et al, 2006)

Page 2: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

8  

2.2 Definisi Citra Digital

Citra digital dihasilkan dengan proses digitalisasi terhadap citra kontinu. Sama halnya

Proses digitalisasi dalam bentuk data lain, proses digitalisasi pada citra juga

merupakan proses pengubahan suatu bentuk data citra dari yang bersifat analog ke

digital. Yang mana proses ini dihasilkan dari peralatan digital yang langsung bisa

diproses oleh komputer. Proses ini dapat dijelaskan sebagai berikut. Ada sebuah objek

yang akan diambil gambarnya untuk dijadikan citra digital. Sumber cahaya diperlukan

untuk menerangi objek, yang berarti ada intensitas cahaya (brightness) yang diterima

oleh objek. Oleh objek, intensitas cahaya ini sebagian diserap dan sebagian lagi

dipantulkan ke lingkungan sekitar objek secara radikal. Sistem pencitraan (imaging)

menerima sebagian dari intensitas cahaya yang dipantul oleh objek tadi. Di dalam

sistem pencitraan terdapat sensor optik yang digunakan untuk mendeteksi intensitas

cahaya yang masuk ke dalam sistem. Keluaran dari sistem ini berupa arus yang

besarnya sebanding dengan intensitas cahaya yang mengenainya. Arus tersebut

kemudian dikonversi menjadi data digital yang kemudian dikirimkan ke unit penampil

atau unit pengolah lainnya. Secara keseluruhan hasil keluaran sistem pencitraan

berupa citra digital. Berikut ini gambar langkah-langkah pengolahan citra digital.

Gambar 2.1 Langkah-Langkah Pengolahan Citra Digital

Domain masalah

Akuisisi

Preprocessing

Segmentasi Representasi dan Deskripsi

HasilPengenalan dan

Interpretasi

    Basis Pengetahuan

Page 3: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

9  

Pada gambar terdapat akuisisi citra yaitu tahap awal untuk mendapatkan citra

digital. Tujuan akuisisi citra adalah untuk menentukan data yang diperlukan dan

memilih metode perekaman citra digital. Tahap ini dimulai dari objek yang akan

diambil gambarnya, persiapan alat-alat, sampai pada pencitraan. Pencitraan adalah

kegiatan transformasi dari citra tampak (foto, gambar, lukisan, patung, pemandangan,

dan lain-lain) menjadi citra digital. Beberapa alat yang dapat digunakan untuk

pencitraan, yaitu video kamera, kamera digital, kamera konvensional, scanner, sinar

infra merah. Hasil akuisisi citra ini ditentukan oleh kemampuan sensor untuk

mendigitalisasi sinyal yang terkumpul pada sensor tersebut.

Kemudian masuk tahap preprocessing, tahapan ini diperlukan untuk menjamin

kelancaran pada proses berikutnya. Hal-hal penting yang dilakukan pada tingkatan ini

antaranya adalah peningkatan kualitas citra, menghilangkan noise, perbaikan citra,

transformasi, menentukan bagian citra yang akan diobservasi. Selanjutnya masuk pada

tahap segmentasi ini bertujuan untuk mempartisi citra menjadi bagian-bagian pokok

yang mengandung informasi penting. Misalnya, memisahkan objek dan latar

belakang. Kemudian tahap representasi dan deskripsi dalam hal ini representasi

merupakan suatu proses untuk merepresentasikan suatu wilayah sebagai suatu daftar

titik-titik koordinat dalam kura yang tertutup, dengan deskripsi luasan atau

parameternya.

Tahap pengenalan dan interpretasi, pengenalan bertujuan untuk memberi label

pada sebuah objek yang informasinya disediakan oleh descriptor, sedangkan tahap

interpretasi untuk memberi arti atau makna kepada kelompok objek-objek yang

dikenali. Basis pengetahuan sebagai basis data pengetahuan berguna untuk memandu

operasi dari masing-masing modul proses dan mengkontrol interaksi antara modul-

modul tersebut. Selain itu, basis pengetahuan juga digunakan sebagai referensi pada

proses template matching atau pada pengenalan pola.

Citra digital yang tersusun dalam bentuk grid. Setiap kotak yang terbentuk

disebut piksel dan memiliki koordinat (x,y) adalah f(x,y). Sumbu x yaitu baris,

sedangkan sumbu y yaitu kolom. Setiap piksel memiliki nilai yang menunjukkan

Page 4: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

10  

intensitas warna pada piksel tersebut. Gambar 2.2 menunjukkan posisi koordinat citra

digital.

Gambar 2.2 Koordinat Citra Digital

Citra digital dinyatakan dengan matriks berukuran N x M (kolom / tinggi = N,

baris / lebar = M). Piksel mempunyai dua parameter, yaitu koordinat dan intensitas

warna. Nilai yang terdapat pada koordinat (x,y), yaitu besar intensitas warna dari

piksel di titik itu (Putra, 2010). Sehingga citra digital dapat ditulis dalam bentuk

matriks sebagai berikut :

f(x,y) =

Gambar 2.3 Matriks Citra Digital N x M

Berdasarkan gambaran tersebut, citra digital dapat dituliskan sebagai fungsi intensitas

f(x,y), di mana harga x (baris) dan y (kolom) merupakan koordinat posisi dan f(x,y)

adalah nilai fungsi pada setiap titik (x,y) yang menyatakan besar intensitas citra atau

tingkat keabuan atau warna dari piksel di titik tersebut. Merepresentasikan sebuah

citra ukuran 8 x 8 piksel dengan mengambil derajat keabuan pada tiap piksel serta

matriks yang terdiri dari 8 baris dan 8 kolom.

Koordinat asal N-1

M-1

Y

X

f(x,y)

Page 5: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

11  

Gambar 2.4 Ilustrasi Sistem Matriks Citra Digital 8 x 8 Piksel

Dapat dilihat dari gambar 2.4 bahwa pada piksel pertama pada koordinat (1,1)

mempunyai derajat keabuan 47 yang mewakili dari beberapa gradasi warna,

selanjutnya piksel kedua pada koordinat (2,1) memiliki derajat keabuan 52 yang

mewakili dari beberapa gradasi warna dan seterusnya.

Ada beberapa format citra digital, antara lain: BMP, PNG, JPG, GIF dan

sebagainya. Masing-masing format mempunyai perbedaan satu dengan yang lain

terutama pada header file. Namun ada beberapa yang mempunyai kesamaan, yaitu

penggunaan palette untuk penentuan warna piksel. Sebagai studi kasus dalam tugas

akhir ini akan digunakan format citra *.bmp yang dikeluarkan oleh Microsoft.

2.2.1 Citra BMP

Format BMP, disebut dengan bitmap atau format DIB (Device Independent Bitmap)

adalah sebuah format citra yang digunakan untuk menyimpan citra bitmap digital

terutama pada sistem operasi Microsoft Windows atau OS/2. Pada citra berformat

*.bmp (bitmap) yang tidak terkompresi, piksel citra disimpan dengan kedalaman

warna 1, 4, 8, 16 atau 24 bit per piksel. (Ahmad, 2005)

Pada umumnya citra bitmap teridir dari 4 blok data yaitu: BMP header, Bit

Information (DIB header), Color Pallete, dan Bitmap Data. BMP header berisi

informasi umum dari citra bitmap. Blok ini berada pada bagian awal file citra dan

Page 6: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

12  

digunakan untuk mengidentifikasi citra. Beberapa aplikasi pengolah citra akan

membaca blok ini untuk memastikan bahwa citra tersebut berformat bitmap dan tidak

dalam kondisi rusak. Bit information berisi informasi detail dari citra bitmap, yang

akan digunakan untuk menampilkan citra pada layar. Color pallete berisi informasi

warna yang digunakan untuk indeks warna bitmap, dan bitmap data berisi data citra

yang sebenarnya, piksel per piksel.

Model ruang warna yang digunakan pada citra bitmap adalah RGB (red,

green, dan blue). Sebuah ruang RGB dapat diartikan sebagai semua kemungkinan

warna yang dapa dibuat dari tiga warna dasar red, green, dan blue. RGB sering

digunakan di dalam sebagian besar aplikasi komputer karena dengan ruang warna ini

tidak diperlukan transformasi untuk menampilkan informasi di layar monitor.

Pada citra 256 warna setiap piksel panjangnya 8 bit, tetapi komponen warna

RGBnya disimpan di dalam tabel RGB yang disebut pallete. Setiap komponen

panjangnya 8 bit, jadi ada 256 nilai keabuan untuk warna merah, 256 nilai keabuan

untuk warna hijau, 256 nilai keabuan untuk warna biru. Nilai setiap piksel tidak

menyatakan derajat keabuan secara langsung, tetapi nilai piksel menyatakan indeks

tabel RGB yang memuat nilai keabuan merah (R), nilai keabuan hijau (G), nilai

keabuan biru (B) untuk masing-masing piksel yang bersangkutan. Namun pada citra

hitam-putih, nilai R = G = B untuk menyatakan bahwa citra hitam putih hanya

mempunya satu kanal warna. Citra hitam putih umumnya adalh citra 8 bit.

Citra yang lebih kaya warna adalah citra 24 bit. Setiap piksel panjangnya 24

bit, karena setiap piksel langsung menyatakan komponen warna merah, komponen

warna hijau, dan komponen warna biru. Masing-masing komponen panjangnya 8 bit.

Citra 24 bit disebut juga citra 16 juta warna, karena citra ini mampu menghasilkan

16.777.216 kombinasi warna.

Page 7: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

13  

Tabel 2.1 Contoh Warna 24 bit

Gambar 2.5 Komposisi Warna RGB

2.3 Operasi-Operasi pada Pengolahan Citra

Operasi-operasi yang dilakukan pada pengolahan citra secara umum dapat

dikelompokkan dalam beberapa jenis, yaitu: (Sigit, 2005)

1. Perbaikan Kualitas (Image Enchancement)

Operasi perbaikan kualitas citra bertujuan untuk memperbaiki kualitas citra

dengan cara memanipulasi parameter-parameter citra. Melalui operasi ini, ciri-

ciri khusus yang terdapat di dalam citra dapat lebih ditonjolkan. Beberapa

operasi perbaikan citra antara lain: perbaikan kontras gelap / terang, perbaikan

tepian objek, penajaman, pemberian warna semu.

Page 8: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

14  

2. Kompresi Citra (Image Compression)

operasi kompresi citra bertujuan untuk dapat merepresentasikan citra dalam

bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit.

Yang menjadi perhatian penting dalam kompresi citra adalah mempertahankan

kualitas citra agar tetap baik.

3. Segmentasi Citra (Image Segmentation)

Operasi segmentasi citra bertujuan untuk memecah suatu citra ke dalam

beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat

dengan pengenalan pola.

4. Analisis Citra (Image Analysis)

Operasi analisis citra bertujuan untuk menghitung besaran kuantitatif dari citra

untuk menghasilkan deskripsinya. Teknik analisis citra adalah mengekstraksi

ciri-ciri tertentu yang sangat membantu dalam identifikasi objek. Proses

segmentasi juga diperlukan untuk melokalisasi objek dari sekelilingnya.

Contoh dari operasi analisis citra yaitu pendeteksian tepi objek, ekstraksi batas,

dan representasi daerah.

5. Rekonstruksi Citra (Image Reconstruction)

Operasi rekonstruksi citra bertujuan untuk membentuk ulang objek dari

beberapa citra hasi proyeksi. Operasi rekonstruksi citra banyak digunakan di

dalam bidang medis.

2.4 Kompresi Citra

Kompresi citra yaitu aplikasi kompresi data yang dilakukan terhadap citra digital

dengan tujuan untuk mengurangi redudansi dari data yang terdapat dalam citra

sehingga dapat disimpan atau ditransmisikan secara efisien (Sayood, 2005).

Page 9: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

15  

Kompresi citra merupakan proses untuk mereduksi ukuran suatu data untuk

menghasilkan representasi digital yang padat atau mampat (compact) namun tetap

dapat mewakili kuantitas informasi yang terkandung pada data tersebut (Putra, 2010).

Pada dasarnya teknik kompresi citra digunakan pada proses penyimpanan data

dan proses transmisi data. Data dan informasi adalah dua hal berbeda. Pada data

terkandung suatu informasi. Namun tidak semua bagian data terkait dengan informasi

tesebut atau pada suatu data terdapat bagian-bagian data yang berulang untuk

mewakili informasi yang sama (Putra, 2010).

Semakin besar ukuran citra, semakin besar memori yang dibutuhkan, namun

kebanyakan citra mengandung duplikasi data, yaitu:

1. Suatu piksel memiliki intensitas yang sama dengan piksel tetangganya, sehingga

penyimpanan piksel membutuhkan memori (space) yang lebih besar sehingga

sangat memboroskan tempat.

2. Citra banyak mengandung bagian (region) yang sama sehingga bagian yang sama

ini tidak perlu dikodekan berulang kali karena tidak berguna.

Contohnya citra langit biru dengan beberapa awan putih yang memiliki banyak

intensitas dan region yang sama.

Kompresi citra bertujuan untuk meminimalkan jumlah bit yang diperlukan

untuk merepresentasikan citra. Apabila sebuah foto bewarna berukuran 3 inci x 4 inci

dengan tingkat resolusi sebesar 500 dot per inch (dpi), maka diperlukan 3 x 4 x 500 x

500 = 3.000.000 dot (piksel). Setiap piksel terdiri dari 3 byte dimana masing masing

byte merepresentasikan warna merah, hijau, dan biru. Sehingga citra digital tersebut

memerlukan volume penyimpanan sebesar 3.000.000 x 3 byte + 1080 = 9.001.080 byte

setelah ditambahkan jumlah byte yang diperlukan untuk menyimpan format (Header)

citra. Oleh karena itu diperlukan kompresi citra sehingga ukuran citra tersebut menjadi

lebih kecil dan waktu pengiriman citra menjadi lebih cepat. Citra yang belum

dikompresi disebut citra mentah (raw image). Sementara citra hasil kompresi disebut

Page 10: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

16  

citra terkompresi (compressed image). Secara umum proses kompresi dan dekompresi

dapat dilihat pada gambar di bawah ini:

Gambar 2.6 Alur Kompresi dan Dekompresi

Proses kompresi didasarkan pada kenyataan bahwa hampir semua jenis data

selalu terdapat pengulangan pada komponen data yang dimilikinya, misalnya di dalam

suatu citra akan terdapat pengulangan warna dari 0 hingga 255. Melalui proses

kompresi berusaha untuk menghilangkan unsur pengulangan ini dengan mengubahnya

sedemikian rupa sehingga ukuran data menjadi lebih kecil.

Kompresi data sangat populer sekarang ini karena dua alasan yaitu (Salomon,

2007):

1. Orang-orang lebih suka mengumpulkan data. Tidak peduli seberapa besar

media penyimpanan yang dimilikinya. Akan tetapi cepat atau lambat akan

terjadi overflow.

2. Orang-orang tidak suka menunggu waktu yang lama untuk memindahkan

data. Misalnya ketika duduk di depan komputer untuk menunggu halaman

Web terbuka atau men-download sebuah file.

Alasan mengapa kompresi data sangat dibutuhkan karena semakin banyak informasi

saat ini yang digunakan dalam bentuk digital dan semakin lama ukuran yang

dibutuhkan untuk menyajikan data tersebut semakin besar. (Sayood, 2005)

Kompresi  Dekompresi

Page 11: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

17  

2.4.1 Teknik Kompresi Citra

Kompresi data dapat dibagi ke dalam dua teknik yaitu lossless compression dan lossy

compression. (Pu, 2006)

1. Lossless Compression

Pada teknik ini tidak ada kehilangan informasi. Jika data dikompresi secara lossless,

data asli dapat direkontruksi kembali sama persis dari data yang telah dikompresi,

dengan kata lain data asli tetap sama sebelum dan sesudah kompresi, secara umum

teknik lossless digunakan untuk penerapan yang tidak bisa mentoleransi setiap

perbedaan antara data asli dan data yang telah direkonstruksi. Data berbentuk citra

untuk medis misalnya harus dikompresikan menggunakan teknik lossless, karena

kehilanggan sebuah piksel atau warna saja dapat mengakibatkan kesalahpahaman.

Lossless compression disebut juga dengan reversible compression karena data asli

bisa dikembalikan dengan sempurna. Akan tetapi rasio kompresi pada teknik ini

rendah. Contoh metode ini adalah Shannon-Fano, Huffman Coding, Arithmetic

Coding dan lain sebagainya.

Rasio kompresi citra adalah ukuran presentasi citra yang telah berhasil

dikompresi. Secara umum matematis rasio kompresi citra dituliskan sebagai berikut.

(Pu, 2006)

Rasio Kompresi = x 100%

Gambar 2.7 Rumus Rasio Kompresi

Misalkan rasio kompresi adalah 40%, artinya 40% dari citra semula telah berhasil

dikompresi.

Page 12: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

18  

Gambar 2.8 Ilustrasi Kompresi Lossless

2. Lossy Compression

Pada teknik ini akan terjadi kehilangan sebagian informasi. Data yang telah

dikompresi dengan teknik ini secara umum tidak bisa direkonstruksi sama persis dari

data aslinya. Di dalam banyak penerapan, rekonstruksi yang tepat bukan suatu

masalah, tergantung data yang diperlukan.

Biasanya teknik ini membuang bagian-bagian data yang sebenarnya tidak

begitu berguna, tidak begitu dirasakan, tidak begitu dilihat sehingga manusia masih

beranggapan bahwa data tersebut masih bisa digunakan walaupun sudah dikompresi.

Lossy compression disebut juga irreversible compression karena data asli tidak dapat

dikembalikan seperti semula. Kelebihan teknik ini adalah rasio kompresi yang tinggi

dibanding metode lossless. Contoh metode ini adalah Transform Coding, Wavelet, dan

lain-lain.

BAAABBA 000011100101011

000011100101011 BAAABBA Algoritma Coding

Algoritma Decoding

Page 13: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

19  

Gambar 2.9 Ilustrasi Kompresi Lossy

Ada beberapa parameter yang digunakan untuk menilai kehandalan suatu

kompresi. Diantara masing-masing parameter tersebut terdapat hubungan yang erat

dan saling mempengaruhi.

1. Faktor kompresi

Faktor kompresi adalah perbandingan jumlah data yang belum dikompresi

terhadap jumlah data hasil kompresi. Semakin bagus suatu kompresi maka faktor

kompresinya semakin tinggi. Akan tetapi faktor kompresi yang tinggi akan

mengakibatkan kualitas yang menurun. Faktor penting kompresi data, terdapat

empat faktor penting yang perlu diperhatikan, yaitu: Time Process (waktu yang

dibutuhkan dalam menjalankan proses), Completeness (kelengkapan data setelah

file-file tersebut dikompres), Ratio Compress (ukuran data setelah dilakukan

kompresi), Optimaly (perbandingan apakah ukuran file sebelum dikompres sama

atau tidak sama dengan file yang telah dikompres). Tidak ada metode kompresi

yang paling efektif untuk semua jenis file.

2. Kualitas

Suatu teknik kompresi dikatakan baik apabila kualitas data hasil decoding

sangatlah mirip bila dibandingkan dengan aslinya. Faktor kualitas ini sangat erat

dengan faktor kompresi.

5.26 000110001010110

000110001010110 3.26 Algoritma Coding

Algoritma Decoding

Page 14: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

20  

3. Kompleksitas

Kompleksitas dari suatu teknik kompresi menentukan sulit atau tidaknya

implementasi teknik kompresi tersebut.

4. Interaktif

Pengguna dapat bebas untuk berinteraksi dengan informasi multimedia untuk

mengubah, mencari informasi yang diinginkan atau membuang informasi yang

tidak diinginkan.

2.4.2 Algoritma Arithmetic Coding

Prinsip Arithmetic Coding diperkenalkan pertama kali oleh Peter Elias sekitar tahun

1960-an. Algoritma ini melakukan proses pengkodean dengan menggantikan setiap

simbol masukan dengan suatu codeword (Pu, 2006). Arithmetic Coding memiliki

kelebihan terutama ketika memproses kumpulan abjad yang relatif sedikit. Awalnya

Arithmetic Coding diperkenalkan oleh Shannon, Fano dan Elias. Tujuannya

memberikan ide alternatif yang pada saat itu setiap proses pengkodean dilakukan

dengan menggantikan setiap simbol masukan digantikan dengan sebuah angka single

floating point. Sehingga semakin panjang dan kompleks pesan yang dikodekan maka

semakin banyak bit yang diperlukan untuk keperluan tersebut. Sejak tahun 1960-an

hingga sekarang Algoritma Arithmetic Coding mulai berkembang para peneliti mulai

mengembangkan Algoritma Arithmetic Coding untuk melakukan kompresi pada

multimedia yaitu: citra, audio, video dll.

Pada umumnya, algoritma kompresi data didasarkan pada pemilihan cara

melakukan penggantian satu atau lebih elemen-elemen yang sama dengan kode

tertentu. Berbeda dengan cara tersebut, Arithmetic Coding menggantikan sautu deret

simbol input dalam suatu file data dengan sebuah bilangan menggunakan proses

aritmatika. Semakin panjang dan semakin kompleks pesan dikodekan, semakin

banyak bit yang diperlukan untuk proses kompresi dan dekompresi data.

Page 15: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

21  

Output dari Arithmetic Coding ini adalah satu angka yang lebih kecil dari 1

dan lebih besar atau sama dengan 0. Angka ini secara unik dapat didekompresikan

sehingga menghasilkan deretan simbol yang dipakai untuk menghasilkan angka

tersebut.

Implementasi Arithmetic Coding harus memperhatikan kemampuan encoder

dan decoder. Hal ini dapat menyebabkan kesalahan atau error apabila suatu

Arithmetic Coding mempunyai kode dengan floating point yang sangat panjang.

Sehingga diberikan solusi berupa modifikai algoritma Arithmetic Coding dengan

menggunakan bilangan integer. Modifikasi ini mampu mengatasi keterbatasan

pengolahan floating point dalam melakukan kompresi dan dekompresi data.

Modifikasi dengan bilangan integer juga dipakai karena jumlah bit kodenya lebih

sedikit dan mempercepat proses kompresi dan dekompresi data karena perhitungan

integer jauh lebih cepat dari perhitungan floating point serta dapat diimplementasikan

dalam program.

Berikut ini algoritma encoding dan decoding pada Arithmetic Coding. Akan

digunakan dua variabel low dan high untuk mendefinisikan interval (low, high). (Pu,

2006)

Proses encoding, algoritma Arithmetic Coding:

Langkah 1: Set low = 0.0 (kondisi awal) Langkah 2: Set high = 1.0 (kondisi awal) Langkah 3: While (simbol input masih ada) do Langkah 4: Ambil simbol input Langkah 5: Code-Range = high – low Langkah 6: High = low + Code-Range*high_range (simbol) Langkah 7: Low = low + Code-Range*low_range (simbol) Langkah 8: End While Langkah 9: Output Low

Proses decoding, algoritma Arithmetic Coding:

Langkah 1: Ambil Encoded-Symbol (ES) Langkah 2: Do Langkah 3: Cari range dari simbol yang melingkupi Encoded-Symbo(ES) Langkah 4: Cetak simbol Langkah 5: Code-Range = high_range – low_range Langkah 6: Encoded-Symbol = Encoded-Symbol – low_range Langkah 7: Encoded-Symbol = Encoded-Symbol / Code-Range Langkah 8: Until simbol habis

Page 16: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

22  

2.4.3 Algoritma Shannon-Fano

Algoritma Shannon-Fano merupakan algoritma pertama yang diperkenalkan untuk

kompresi sinyal digital pada bukunya yang berjudul “A Mathematical Theory of

Communication”. Algoritma ini dikembangkan secara mandiri oleh Claude Shannon

dan Robert Fano dalam dua publikasi terpisah pada tahun yang sama yaitu pada tahun

1949. Algoritma Shannon-Fano adalah salah satu banyak yang dikembangkan oleh

Claude Shannon dianggap sebagai “Father of Information Theory” yaitu membuat

kemajuan dalam kaitannya dengan transfer data dan komunikasi pada umumnya. Pada

tahun 1976 Robert Fano menerima Claude Shannon Award untuk karyanya dalam

Information Theory. Hingga sekarang para peneliti mulai mengembangkan Algoritma

Shannon-Fano untuk melakukan kompresi pada multimedia yaitu: citra, audio, video

dll.

Algoritma Shannon-Fano didasarkan pada variable-length code yang berarti

karakter pada data yang akan dikodekan direpresentasikan dengan kode (codeword)

yang lebih pendek dari karakter yang ada pada data. Jika frekuensi kemunculan

karakter semakin tinggi, maka kode semakin pendek, dengan demikian kode yang

dihasilkan tidak sama panjang, sehingga kode tersebut bersifat unik. Berikut langkah-

langkah kompresi dan dekompresi pada algoritma Shannon-Fano. (Pu, 2006)

Langkah-langkah kompresi menggunakan algoritma Shannon-Fano.

1. Buatlah daftar peluang atau frekuensi kehadiran setiap simbol dari data

yang akan dikodekan.

2. Urutkanlah daftar tersebut menurut frekuensi kehadiran simbol secara

menurun (dari simbol yang frekuensi kemunculan paling banyak sampai

simbol dengan frekuensi kemunculan paling sedikit).

3. Bagilah daftar tersebut menjadi dua bagian dengan pembagian didasari

pada jumlah total frekuensi suatu bagian (disebut bagian atas) sedekat

mungkin dengan jumlah total frekuensi dengan bagian yang lain (disebut

bagian bawah).

4. Daftar bagian atas dinyatakan dengan digit 0 dan bagian bawah dinyatakan

dengan digit 1. Hal tersebut berarti kode untuk simbol-simbol pada bagian

Page 17: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

23  

atas akan dimulai dengan 0 dan kode untuk simbol-simbol pada bagian

bawah akan dimulai dengan 1.

5. Lakukanlah proses secara rekursif langkah 3 dan 4 pada bagian atas dan

bawah. Bagilah menjadi kelompok-kelompok dan tambahkan bit-bit pada

kode sampai setiap simbol mempunyai kode yang bersesuaian pada pohon

tersebut.

Langkah-langkah dekompresi menggunakan algoritma Shannon-Fano.

1. Baca bit pertama dari serangkaian kode yang dihasilkan

2. Jika bit tersebut ada dalam SF Code, maka bit tersebut diterjemahkan

menjadi simbol yang sesuai dengan bit tersebut.

3. Jika bit tersebut tidak ada dalam SF Code, gabungkan bit tersebut dengan

bit selanjutya dalam rangkaian kode, cocokkan dengan tabel hasil

pengkodean.

4. Lakukan langkah 3 sampai ada rangkaian bit yang cocok dengan SF Code,

terjemahkan rangkaian bit tersebut menjadi simbol yang sesuai.

5. Baca bit selanjutnya dan ulangi langkah 2, 3, dan 4 sampai rangkaian kode

habis.

2.5 Pengenalan Visual Basic

Visual Basic berawal dari bahasa BASIC yang dikembangkan mulai dari tahun 1963.

BASIC adalah singkatan dari Beginner’s All Purpose Symbolic Instruction Code.

Sesuai namanya bahasa BASIC dibuat untuk tujuan memudahkan pengguna agar

dapat dengan mudah mempelajari, membuat, dan mengembangkan program

komputer.

Visual Basic merupakan pengembangan lebih lanjut dari bahasa BASIC yang

dilakukan oleh Microsoft Visual Basic ditujukan sebagai perangkat untuk membuat

dan mengembangkan program secara cepat (Rapid Application Development: RAD).

Terutama jika menggunakan antarmuka berbasis windows (Graphical User Interface:

GUI).

Page 18: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

24  

Visual Basic 1.0 merupakan versi pertama Visual Basic dan dirilis pada tahun

1991. Visual Basic 1.0 ditujukan untuk sistem operasi Microsoft DOS. Selanjutnya

diteruskan dengan Visual Basic 2.0 di tahun 1992, versi 3.0 tahun 1993, versi 4.0

tahun 1995, versi 5.0 tahun 1997, dan versi 6.0 tahun 1998.

Visual Basic 6.0 sangat populer dan masih banyak dipakai hingga saat ini.

Sayangnya, dukungan terhadapa Visual Basic 6.0 telah dihentikan oleh Microsoft

mulai bulan maret 2008. Namun, program yang dibuat dengan Visual Basic 6.0 masih

dapat dijalankan pada sistem operasi terbaru seperti Windows Server 2008 maupun

Windows Vista. Visual Basic .Net diluncurkan Februari 2002, merupakan penerus dari

Visual Basic 6.0 dan menggunakan platform .Net yang berbeda dengan Visual Basic

sebelumnya.

2.5.1 Microsoft Visual Basic 2008 Express Edition

Visual Basic 2008 Express Edition yang lebih lengkap dan mudah digunakan untuk

mencari komponen atau objek yang diinginkan. Perhatikan antar muka yang dapat

dilihat pada gambar 2.11.

Page 19: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap

25  

Gambar 2.10 Antarmuka pada Aplikasi Visual Basic 2008 Express Edition

Keterangan:

Tabel 2.2 Keterangan Gambar 2.11

Antarmuka Keterangan

Menu bar Menu standar pada Visual Basic

Toolbar Daftar tool (perangkat) untuk menjalankan perintah yang sering digunakan

Toolbox Daftar kontrol yang dapat ditambahkan ke dalam program sebagai antarmuka (interface)

Form Designer Digunakan untuk mengedit tampilan form serta mengatur posisi kontrol pada form

Solution Explorer Digunakan untuk mengolah file dan projek berhubungan dengan solution

Properties Digunakan untuk mengedit properties dari form dan kontrol yang sedang diedit

Error list Menampilkan pesan error jika ada kesalahan

Toolbox Push

Form

Page tab

Menu bar

Solution Explorer

Properties

MainStatusError list

Sizing

Toolbar

Page 20: BAB 2 LANDASAN TEORI 2.1 Definisi Citra - repository.usu.ac.idrepository.usu.ac.id/bitstream/123456789/37738/4/Chapter II.pdf · 9 Pada gambar terdapat akuisisi citra yaitu tahap