BAB 2
LANDASAN TEORI
2.1 Citra Digital
Secara harfiah citra (image) adalah gambar pada bidang dwimatra atau dua dimensi. Citra juga dapat diartikan sebagai kumpulan titik-titik dengan intesitas warna tertentu yang membentuk suatu kesatuan dan mempunyai pengertian artistik. Citra sebagai salah satu komponen multimedia yang memegang peranan sangat penting sebagai salah satu bentuk informasi visual [1].
Pada umumnya representasi citra digital membutuhkan memori yang besar. Semakin besar ukuran citra tentu semakin besar pula memori yang dibutuhkannya. Pada sisi lain, kebanyakan citra mengandung duplikasi data. Duplikasi data pada citra dapat berarti dua hal. Pertama, besar kemungkinan suatu pixel dengan pixel tetangganya memiliki intensitas yang sama, sehingga penyimpanan setiap pixel memboroskan tempat. Kedua, citra banyak mengandung bagian (region) yang sama, sehingga bagian yang sama ini tidak perlu dikodekan berulang kali karena redundan .[9]
Citra tidak sama dengan teks yang hanya memberikan informasi secara jelas dengan kata-kata yang dipaparkan, sedangkan citra memberikan informasi yang jelas dengan memberikan gambaran visual dan terkadang informasi yang diberikan dapat memacu imajinasi dari orang yang melihat citra untuk menyimpulkan informasi dari citra tersebut.
Citra merupakan keluaran dari suatu sistem perekaman data yang bersifat optik,
analog ataupun digital. Perekaman data citra dapat dibagi menjadi dua yaitu: 1. Citra Analog
2. Citra Digital
Citra digital terdiri dari sinyal-sinyal yang dapat dibedakan dan mempunyai fungsi
yang tidak kontinu yakni berupa titik-titik warna pembentuk citra. Hasil perekaman citra digital dapat disimpan pada suatu media magnetik [1].
2.1.1 Pengertian Citra Digital
Secara umum, pengolahan citra digital menunjuk pada pemrosesan gambar 2 dimensi menggunakan komputer. Dalam konteks yang lebih luas, pengolahan citra digital mengacu pada pemrosesan setiap data 2 dimensi. Citra digital merupakan sebuah larik (array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan bit tertentu [8].
Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M baris dan N 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. Apabila nilai x,y, dan nilai amplitudo f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital. Gambar 2.1 menunjukkan posisi koordinat citra digital [8].
Sumber: Darma, Putra. 2009.
Citra dapat ditulis dalam bentuk matrik sebagai berikut:
2.1.2 Format File Citra
Ada dua jenis format file citra yang sering digunakan dalam pengolahan citra, yaitu citra bitmap dan citra vektor. Istilah ini biasanya digunakan pada saat
melakukan desain grafis. 1. Format File Citra Bitmap
Tabel 2.1 Format file citra bitmap
Nama Format Ekstensi Keterangan
Microsoft Windows Bitmap Format
BMP Format umum untuk menyimpan citra bitmap yang dikembangkan oleh Microsoft
Compuserve Graphics
Interchange Format
GIFF Format umum citra yang dirancang untuk keperluan transmisi melalui modem
Aldus Tagged Image File Format
TIF Format kompleks dan multiguna yang
dikembangkan oleh Aldus bersama microsoft Word Perfect
Graphics Format
WPG Format vektor yang juga mendukung citra bitmap
GEM Image Format IMG Format bitmap yang dikembangkan untuk riset digital dilingkungan GEM
Zsoft Pengolahan Citra Paintbrush Format
PCS Dirancang untuk menyimpan citra layar dan merupakan formatbitmap yang didukung luas
Microsoft Paint Bitmap Format
MSP Secara fungsional mirip dengan IMG dan PCX, tapi kurang popular
AT & T Targa Format
TGA Format untuk 16-bit dan 24-bit citra warna penuh diciptakan untuk system Truevision Apple Macpaint
Format
PNTG Format asli dari Macintosh Macpaint program
Sun Microsystem Raster Format
RAS Format bitmap asli yang digunakan Sun SPARCS
X Windows X-11 Bitmap Format
XBM Format umum untuk menyimpan bitmap yang dikembangkan untuk Windows.
2. Format File Citra Vektor
2.1.3 Pixel Pada Citra Digital
Setiap pixel mewakili tidak hanya satu titik dalam sebuah citra melainkan sebuah bagian berupa kotak yang merupakan bagian terkecil (sel) [8]. Nilai dari sebuah pixel haruslah dapat menunjukkan nilai rata-rata yang sama untuk seluruh bagian dari sel tersebut.
Selain itu dalam pembahasan citra digital juga terdapat istilah resolusi citra. Resolusi citra merupakan tingkat detail suatu citra. Semakin tinggi resolusi citra maka akan semakin tinggi pula tingkat detail dari citra tersebut. Satuan dalam pengukuran resolusi citra dapat berupa ukuran fisik (jumlah garis per mm/jumlah garis per inchi) ataupun dapat juga berupa ukuran citra menyeluruh (jumlah garis per tinggi citra) [8].
2.2 Struktur Citra Format Bitmap(BMP)
Tabel 2.2 Struktur File Bitmap
39 4 BiXPelsPerMeter 0 Resolusi horizontal pixel meter 43 4 BiYPelsPerMeter 0 Resolusi vertikal pixel
meter
47 4 BiClrUsed 0 Jumlah warna yang
digunakan
51 4 BiClrImport 0 Jumlah warna
Untuk penyimpanan nilai pixel yang membentuk gambar dimulai dari alamat 54 sampai tidak berhingga, sesuai dengan banyaknya nilai pixel pada gambar. Jumlah warna yang terdapat pada gambar ditentukan oleh BiBitCount. Kemungkinan nilai untuk BiBitCount adalah 1 (hitam/putih), 4 (16 warna), 8 (256 warna), dan 24 (16,7 juta warna). Elemen data BiBitCount sekaligus menentukan apakah pada file BMP terdapat tabel warna atau tidak, sekaligus susunan dari tabel warnanya.
Offset didefinisikan byte ke (yang dimulai dari angka 0), sedangkan size merupakan ukuran dari panjang byte. Dimana dengan byte ke – 0 ukuran panjang 2 byte dispesifikasikan dengan nama tipe file yang diindikasikan berupa kode ASCII “BM”. Pada byte ke- 2 dengan ukuran panjang 4 byte, nama spesifikasinya bitmap file size yang berupa ukuran dari file dalam bentuk bytes.Untuk byte ke – 6 dan 8 yang ukurannya 2 byte berupa field cadangan di set 0. Pada byte ke – 10 ukurannya 4 byte yang merupakan spesifikasi dari struktur bitmap file header ke bit bitmap, dimana file gambar dimulai pada tahap ini. Byte ke – 14, panjangnya 4 byte dengan spesifikasi nama bitmap size yang mempunyai ukuran header 40 bytes. Byte ke – 18 dengan panjang 4 bytes merupakan lebar gambar dalam satuan pixel, serta byte ke 22 dengan panjang 4 bytes merupakan tinggi gambar dalam satuan pixel. Untuk byte ke – 26 dengan panjang 2 bytes merupakan bitmap
planes dengan sejumlah planes (umumnya 1). Pada byte ke – 28 dengan panjang 2 byte merupakan jumlah bit per pixel: 1, 4, 8, atau 24. Dan untuk byte ke – 30 dengan panjang 4 byte yang merupakan tipe kompresi [13].
(Reny, 2012)
Gambar 2.2 Struktur File BMP
2.3 Kompresi
Proses kompresi merupakan proses mereduksi ukuran suatu data untuk menghasilkan representasi digital yang padat atau mampat namun tetap dapat mewakili kuantitas informasi yang terkandung pada data tersebut. Pada citra, video, dan audio, kompresi mengarah pada minimisasi jumlah bit rate untuk representasi digital. Pada beberapa literatur, istilah kompresi sering disebut juga source coding, data compression, bandwidth compression, dan signal compression [8]. Kompresi data adalah proses mengubah suatu input data menjadi data lain dengan format berbeda dan ukuran yang lebih kecil, atau proses pengkodean dari suatu data untuk mengurangi kebutuhan akan media penyimpanan. Salah satu jenis berkas yang paling banyak membutuhkan proses
kompresi adalah berkas citra. Citra asli umumnya disimpan dalam format
Bitmap. Format ini menghasilkan ukuran berkas yang besar dan tidak efektif untuk disimpan atau ditransfer. Teknik dan algoritma kompresi dapat digunakan untuk menghasilkan berkasbaru dari citra yang asli dengan ukuran yang lebih kecil dari berkasaslinya tanpa mengurangi kualitas dari citranya [7].
Data dan informasi adalah dua hal yang berbeda pada data terkandung suatu informasi. Namun tidak semua bagian data terkait dengan informasi tersebut atau pada suatu data terdapat bagian-bagian data yang berulang untuk mewakili informasi yang sama. Bagian data yang tidak terkait atau bagian data yang berulang tersebut disebut dengan data berlebihan (redudancy data). Tujuan daripada kompresi data tiada lain adalah untuk mengurangi data berlebihan tersebut sehingga ukuran data menjadi lebih kecil dan lebih ringan dalam proses transmisi [8].
citra terkompresi akan direkonstruksi kembali untuk menghasilkan citra output f’(x,y) [8].
Sumber: Putra, Darma. 2009.
Gambar 2.3 Model umum kompresi citra
Berdasarkan kandungan informasi pada citra hasil maka sifat kompresi data dapat dikelompokkan menjadi dua yaitu kompresi lossless dan kommpresi lossy.
2.3.1 Kompresi Lossless
Kompresi jenis ini informasi yang terkandung pada citra hasil sama dengan informasi pada citra asli. Citra hasil proses kompresi dapat dikembalikan secara sempurna menjadi citra asli, tidak terjadi kehilangan informasi, tidak terjadi kesalahan informasi. Oleh karena itu metode ini disebut juga error free compression [8].
Pada kompresi lossless, karena harus mempertahankan kesempurnaan informasi, sehingga hanya terdapat proses coding dan decoding, tidak terdapat proses kuantisasi. Kompresi tipe ini cocok diterapkan pada berkas basis data, spread sheet, berkas word processing, citra biomedis, dan lain sebagainya.
Sumber: Putra, Darma. 2009.
2.3.2 Kompresi Lossy
Kompresi data yang bersifat lossy mengijinkan terjadinya kehilangan sebagian data tertentu dari pesan tersebut, sehingga dapat menghasilkan rasio kompresi yang tinggi. Apabil citra terkompresi direkonstruksi kembali maka hasilnya tidak sama dengan citra aslinya, tetapi informasi yang terkandung tidak sampai berubah atau hilang. Sebagian besar kompresi data lossy memiliki pengaturan tingkat kompresi yang berbeda-beda. Hal ini dilakukan agar kompresinya lebih efektif dan informasi yang terkandung pada citra tidak sampai berubah dan hilang. Kompresi data lossy ini efektif jika diterapkan pada penyimpanan data analog yang didigitalisasi seperti gambar, video dan suara.
Sumber: Putra, Darma. 2009.
Gambar 2.5 Ilustrasi kompresi Lossy
2.4 RLE (Run Length Encoding)
RLE (Run Length Encoding) adalah kompresi yang umum digunakan untuk data grafis (citra). Kompresi citra dengan menggunakan RLE didasarkan pada pengamatan bahwa suatu pixel dalam suatu citra akan memiliki nilai yang
cenderung sama dengan nilai piksel tetangganya. Bila suatu citra biner dimulai dengan 20 pixel putih kemudian diikuti dengan 3 pixel hitam kemudian diikuti lagi dengan 65 pixel putih maka hanya nilai 20, 3 dan 65 yang akan menjadi output untukmewakili nilai dari masing-masing pixel input [8].
Metode ini mengasumsikan bahwa setiap citra dimulai dengan suatu pixel putih. Apabila dimulai dengan pixel warna hitam maka di awal output ditambah nilai 0 yang artinya 0 pixel putih. RLE juga dapat digunakan untuk melakukan kompresi pada citra grayscale. Setiap deret pixel dengan intensitas yang sama
Algoritma Coding
Algoritma Decoding
3.26 0001100001010110
akan dikompres menjadi sepasang nilai yang masing-masing mewakili banyaknya nilai pixel yang sama dan kemudian diikuti dengan nilai pixel.
Permasalahan dari RLE adalah untuk membedakan angka yang menyatakan banyaknya nilai suatu pixel dengan nilai pixel itu sendiri. Beberapa langkah yang sering ditempuh untuk menyelesaikan masalah di atas sebagai berikut [8].
1. Jika citra grayscale memiliki nilai maksimum 128 maka 1 bit pada setiap byte dapat digunakan untukmembedakan byte nilai grayscale atau nilai menyatakan jumlah.
2. Jika citra grayscale dengan nilai maksimum 256, maka nilai tersebut dapat dikurangi menjadi 255 dengan 1 nilai disiapkan sebagai penanda. Misalkan saja nilai penanda tersebut adalah 255.
3. Solusi ketiga adalah 1 bit dari setiap byte disiapkan sebagai penunjuk byte tersebut merupakan nilaiintensitas atau nilai banyaknya pixel. Namun pada solusi ketiga ini 1 bit ekstra tersebut disisipkan ke dalam deret 8 bit. Deret bit ekstra tersebut kemudian diikuti atau didahului oleh nilai-nilai menyatakan intensitas dan banyaknya pixel.
4. Solusi keempat adalah menggunakan nilai negatif dari selisih antara nilai intensitas dan banyaknya pixel yang ditempatkan setelah deretan intesintas dan banyaknya pixel.
Algoritma metode kompresi RLE hanya efisien dengan data file yang berisi kelompok data(byte/karakter) yang berulang dan dapat digunakan pada file teks. File teks berisi banyak kelompok data yang berupa spasi atau tabulator, tetapi juga dapat diterapkan untuk citra (gambar) yang berisi area hitam atau putih yang besar. [10]
2.4.1 Varian dari Run Length Encoding
Ada sejumlah varian run-length encoding. Data citra biasanya run-length encoded dalam proses sekuensial yang memperlakukan data gambar sebagai aliran 1D, bukan sebagai peta 2D data. Dalam pengolahan sekuensial, bitmap dikodekan mulai di sudut kiri atas dan melanjutkan dari kiri ke kanan di setiap garis pindai (sumbu X) ke sudut kanan bawah bitmap (ditunjukkan dalam Gambar 2.6, a). Tapi skema RLE alternatif juga dapat ditulis untuk menyandikan data di sepanjang bitmap (sumbu Y) sepanjang kolom (ditunjukkan dalam Gambar 2.6, b), untuk menyandikan bitmap menjadi keramik 2D (ditunjukkan dalam Gambar 2.6 , c), atau bahkan untuk mengkodekan piksel pada diagonal secara zig-zag (ditunjukkan dalam Gambar 2.6, D). RLE varian aneh seperti yang terakhir ini mungkin
digunakan dalam aplikasi yang sangat khusus namun biasanya cukup langka [13].
(Reny, 2012)
2.5 Walsh Hadamard Transform
Transformasi walsh hadamard merupakan transformasi yang hanya memiliki fungsi basis dalam dua jenis nilai yaitu -1 dan 1. Transformasi walsh hadamard dapat digunakan untuk melakukan kompresi citra dengan sifat kompresi yaitu lossy dimana diperbolehkan terjadinya kehilangan beberapa data maupun sebagian besar data pada citra. Transformasi walsh hadamard 1 dimensi pada citra f(x) dapat dinyatakan dengan rumus walsh maupun rumus hadamard. Untuk fungsi basis (kernel) dari transformasi hadamard dapat menggunakan rumus sebagai berikut.
Dengan u = 0,1,2,...,N-1, dan x=0,1,2,...,N-1, sedangkan nilai n mengikuti aturan N=2n. Dari rumus diatas N merupakan banyaknya data, bi(x) menyatakan bit ke-i dari representasi biner x. Begitu juga berlaku untuk bi(u) dimana nilai bit-bitnya tergantung pada nilai u. Setelah diperoleh matriks walsh hadamard kemudian matriks tersebut dikalikan dengan nilai pixel pada citra kemudian dilakukan proses perhitungan walsh hadamard.
Dalam metode ini rumus yang digunakan adalah rumus hadamard. Rumus hadamard didalam pembentukan matriks transformasinya adalah sebagai berikut.
𝐻(𝑢) = 1 Persamaan (2.2) diatas digunakan untuk melakukan proses kompresi citra,
dimana bi merupakan posisi nilai biner dari x maupun u. Dimana f(x) merupakan nilai fungsi citra yang asli sebelum dilakukan proses kompres. Sedangkan nilai -1
merupakan nilai ketetapan dari metode walsh-hadamard. Untuk fungsi balik menggunakan metode hadamard dapat menggunakan rumus berikut.
hasil kompresi citra yang mana nilai tersebut disimbolkan dengan H(u). Nilai H(u) inilah yang digunakan untuk mendapatkan nilai balik yang menjadi hasil dari proses dekompresi menggunakan metode walsh-hadamard.
2.6 Flowchart
Flowchart atau bagan alir, awal mulanya memang berkembang dari industri komputer yaitu untuk menggambarkan urutan proses penyelesaian masalah. Suatu flowchart dapat dengan mudah menjelaskan suatu urutan-urutan proses yang relatif rumit bila diuraikan dalam kata-kata. Dengan visualisasi maka adanya bottleneck (penumpukan) atau ketidak-efisiensian dari suatu proses dapat terdeteksi untuk dilakukan perbaikan. Oleh karena itu flowchart juga diterima di
kalangan lain seperti manufaktur, sain, militer, manajemen, dsb. Flowchart sangat berguna khususnya untuk menjelaskan urutan-urutan proses yang pelaksanaannya mempunyai banyak pilihan atau percabangan [12].
Tabel 2.3 Simbol-simbol flowchart
Simbol Keterangan
Proses
Proses-proses
Proses yang telah didefinisikan, misal dalam bentuk sub-routine
Operasi manual
Proses pendahuluan
Arah aliran program
Proses input/output data
Kode mulai/ berhenti
Konektor, jika flowchartnya besar sehingga perlu dipisah