5
BAB 2
LANDASAN TEORI
2.1 Definisi Pengolahan Citra
Digital image processing adalah istilah untuk memproses gambar (picture) dua
dimensi oleh komputer digital (Jain, 1989, p1).
Segala proses yang digunakan untuk mengolah suatu gambar dikenal dengan
image processing. Ada pun istilah pengolahan gambar menurut Ahmad (2005, p4),
image processing atau pengolahan gambar adalah bidang tersendiri yang sudah cukup
berkembang sejak orang mengerti bahwa komputer tidak hanya dapat menangani data
teks, tetapi juga data gambar. Bidang-bidang yang termasuk dalam image processing
meliputi penajaman gambar, penonjolan fitur tertentu dari suatu gambar, komponen
gambar dan koneksi gambar yang tidak fokus atau kabur, pewarnaan pada gambar
grayscale, dan sebagainya.
2.2 Konsep Dasar Rekayasa Piranti Lunak
Menurut Pressman (1992, p24), rekayasa piranti lunak mencakup tiga elemen
yang mampu mengontrol proses pengembagan piranti lunak, yaitu sebagai berikut.
a. Methods
Menyediakan cara-cara teknis untuk membangun piranti lunak.
b. Tools
Menyatakan dukungan otomatis atau semi otomatis yang mengkombinasikan
software, hardware, dan software engineering database.
6
c. Procedures
Merupakan pengembangan metode dan alat bantu.
Dalam skripsi ini digunakan perancangan software dengan model Classic Life
Cycle (Waterfall Model). Serangkaian kegiatan yang dilakukan selama perancangan
software, antara lain sebagai berikut.
a. Rekayasa dan analisis sistem. Proses menganalisis kebutuhan secara umum yang
berkaitan dengan hardware, user, dan database.
b. Analisis kebutuhan software. Proses menganalisis kebutuhan dengan memfokuskan
pada spesialisasi software. Semua kebutuhan baik sistem mau pun software harus
didokumentasikan dan harus dikaji oleh user.
c. Perancangan. Pada tahap ini, ada tiga hal yang harus difokuskan dalam program,
yaitu struktur data, arsitektur software, dan prosedur detil. Di tahap proses ini,
kebutuhan dituangkan menjadi software yang layak dari segi kualitas, sebelum
masuk pada proses pengkodean.
d. Pengkodean. Difokuskan pada penterjemahan hasil rancangan ke bahasa mekanik
yang dimengerti oleh mesin dalam bentuk program.
e. Pemeliharaan. Perubahan-perubahan yang dilakukan pada software untuk
mengantisipasi peningkatan kebutuhan user atas fungsi-fungsi baru.
2.3 Algoritma Image Matching
Dalam skripsi ini, algoritma yang digunakan untuk mewarnai gambar grayscale
adalah Algoritma Image Matching, seperti terlihat pada Gambar 2.1. Mewarnai gambar
grayscale dapat dilakukan dengan berbagai cara, salah satu di antaranya adalah dengan
mentransfer warna dari gambar berwarna ke gambar grayscale.
7
Sumber: http://www.FreeFoto.com/ Gambar 2.1 Contoh Pentransferan Warna dengan Algoritma Image Matching
Pentransferan warna secara keseluruhan dari gambar warna ke gambar grayscale
dapat dilakukan dengan mencocokkan tingkat kecerahan dan informasi tekstur di antara
kedua gambar. Hal ini dapat dilakukan dengan beberapa langkah sebagai berikut (Welsh,
2002, pp277-280).
2.3.1 Pengkonversian Gambar ke Dalam Bentuk αβl Color Space
Dua gambar yang telah diinput oleh user, yaitu sebuah gambar berwarna dan
sebuah gambar grayscale, harus diubah ke αβl color space terlebih dahulu. Proses
pengkonversian ini diperlukan karena αβl color space memiliki komponen L
(luminance) yang dapat mempermudah proses pencocokan pixel gambar, dan juga
komponen α dan β yang dapat ditransfer dari gambar warna ke gambar grayscale
setelah proses pencocokan pixel dilakukan.
Dengan mengasumsikan bahwa kedua gambar yang diinputkan adalah gambar
RGB color space, maka proses yang perlu dilakukan adalah mengubah RGB color space
menjadi αβl color space. Proses konversi dari RGB ke αβl ini dibagi menjadi dua
tahap (Reinhard, 2001, pp34-41), sebagai berikut.
8
a. Mengkonversi RGB (Red, Green, Blue) ke LMS (Long Middle Short wavelengths).
Konversi RGB ke αβl melalui tahap konversi RGB ke LMS karena RGB merupakan
transformasi dari LMS. LMS yaitu long wavelength (L), middle wavelength (M), dan
short wavelength (S), merupakan salah satu cara untuk merepresentasikan warna
dengan tiga buah variabel.
Matriks transformasi yang digunakan adalah:
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
BGR
SML
8444.01288.00241.00782.07244.01967.00402.05783.03811.0
(2.1)
b. Mengkonversi LMS ke αβl
Matriks transformasi yang digunakan adalah:
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−
⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
SML
011211
111
2100
06
10
003
1
l
βα (2.2)
2.3.2. Pembuatan Histogram Gambar
Setiap pixel pada gambar grayscale harus dicocokkan dengan pixel pada gambar
warna, untuk mentransfer nilai kromatik (komponen α danβ ) dari gambar warna ke
gambar grayscale. Pencocokan ini dilakukan dengan membandingkan tingkat kecerahan
dan statistika pixel di sekeliling pixel yang dibandingkan.
Tingkat kecerahan kedua gambar seringkali berbeda jauh. Oleh karena itu, perlu
dilakukan luminance remapping, yaitu menggeser dan menskalakan histogram tingkat
9
kecerahan gambar warna agar sesuai dengan histogram tingkat kecerahan gambar
grayscale. Beberapa tahap yang harus dilakukan adalah sebagai berikut.
a. Membuat histogram tingkat kecerahan gambar warna
b. Membuat histogram tingkat kecerahan gambar grayscale.
c. Melakukan luminance remapping.
Proses luminance remapping meliputi proses perataan histogram dan proses
spesifikasi histogram.
2.3.3 Perhitungan Statistika Pixel
Proses perhitungan statistika pixel dilakukan dengan cara mencocokkan antara
pixel gambar warna dengan pixel gambar grayscale. Proses ini meliputi dua tahap,
sebagai berikut.
a. Memasukkan jumlah sampel gambar warna serta ukuran panjang dan lebar masing-
masing sampel pixel yang diinputkan oleh user, untuk diikutkan dalam perhitungan
statistika.
b. Perhitungan statistika gambar grayscale dilakukan terhadap setiap pixel. Perhitungan
ini dilakukan dengan menghitung rata-rata dan simpangan baku di sekeliling pixel
sesuai dengan ukuran yang diinputkan oleh user.
2.3.4 Pencocokan Pixel
Proses pencocokan pixel dilakukan terhadap gambar warna dan gambar
grayscale yang telah diinputkan oleh user. Proses pencocokan pixel dilakukan dengan
cara menghitung rata-rata dan simpangan baku tingkat kecerahan pixel di sekelilingnya.
Dengan menganggap rata-rata (μ) dan simpangan baku (σ) tersebut sebagai koordinat,
10
maka pixel gambar warna yang paling cocok adalah pixel yang memiliki jarak terpendek
(d) dengan pixel pada gambar grayscale. Rumus yang digunakan adalah:
σ
(μ2, σ2) d = ( ) ( )221
221 σσμμ −+−
d μ (2.3)
(μ1, σ1)
Tahap perhitungan statistika dan pencocokan pixel biasa disebut dengan texture
synthesis dengan sampling local models, yaitu mencari tekstur yang sama pada dua
gambar yang berbeda dengan menghitung selisih (perbedaan distribusi) sekeliling kedua
pixel yang dibandingkan. Selisih ini bernilai kecil jika kedua pixel yang dibandingkan
mirip, dan bernilai besar jika keduanya berbeda jauh. Sedangkan yang digunakan dalam
proses pencocokan pixel adalah selisih (perbedaan distribusi) yang bernilai kecil.
2.3.5 Pentransferan Warna
Proses pentransferan warna dilakukan setelah ditemukan pixel yang paling
cocok. Nilai kromatik α dan β dipindahkan ke pixel target pada gambar grayscale,
dengan tetap mempertahankan tingkat kecerahan pixel.
Setelah proses pewarnaan tersebut, maka gambar grayscale yang telah
mempunyai warna dalam αβl color space harus diubah kembali ke RGB color space
untuk ditampilkan. Tahap ini meliputi dua proses (Reinhard, 2001, pp34-41), sebagai
berikut.
11
a. Mengkonversi lαβ ke LMS
Matriks transformasi yang digunakan adalah:
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
βαl
SML
2200021
0660011
0033111
(2.4)
b. Mengkonversi LMS ke RGB
Matriks transformasi yang digunakan adalah:
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−
−=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
SML
BGR
2045.12439,00497,01624,00809,22195,11193,05873,34679,4
(2.5)
2.4 Teori Warna
Suatu sistem standar yang diperlukan untuk merepresentasikan warna biasa
disebut color space. Ada dua jenis color space yang sering digunakan dalam aplikasi
(Forsyth, 2003, pp53-91).
2.4.1 Linear Color Spaces
Linear Color Spaces menyatakan bahwa suatu warna itu terdiri dari tiga warna
utama cahaya atau tiga macam panjang gelombang, yaitu LMS (Long, Middle, Short).
Untuk memperoleh suatu warna tertentu, diperlukan pencocokan warna dengan
mengubah komposisi ketiga warna utama tadi. Dengan menggunakan algoritma ini,
terdapat beberapa standar color spaces yang menerapkan cara-cara yang berbeda untuk
memperoleh warna yang diinginkan.
12
a. CIE XYZ Color Space
Diciptakan oleh Commission Internationale de I’Eclairage (CIE) pada tahun 1931,
CIE XYZ merupakan salah satu standar yang cukup terkenal, tetapi sudah kuno.
Kelemahan color space ini adalah sulitnya untuk mengatur brightness (Loy, 2002,
pp1-28).
Untuk merepresentasikan warna, standar ini menggunakan kombinasi penambahan
nilai X, Y, Z. Ketiga nilai ini selalu bernilai positif, dan diubah menjadi nilai RGB
melalui matriks transformasi berikut.
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
BGR
ZYX
990.0010.0000.0011.0813.0177.0200.0310.0490.0
(2.6)
b. RGB Color Space
Sebagian besar spektrum yang terlihat oleh mata manusia, dapat direpresentasikan
dengan menggabungkan warna cahaya merah, hijau, dan biru (RGB) dalam intensitas
dan perbandingan yang beragam. Namun, tidak semua warna yang terlihat manusia
dapat direpresentasikan dengan kombinasi ketiga nilai warna ini (Loy, 2002, pp1-
28).
Perpotongan ketiga warna tersebut menghasilkan warna cyan, magenta, kuning, dan
putih. Karena warna RGB dapat dikombinasikan untuk menghasilkan warna putih,
maka warna ini disebut juga additive colors.
13
Sumber: Adobe Photoshop 7 Help Files Gambar 2.2 Additive Colors RGB
c. CMYK Color Space
CMYK Color Space dibuat berdasarkan kualitas penyerapan cahaya dari tinta yang
dicetak pada kertas. Ketika seberkas cahaya putih mengenai tinta, beberapa
gelombang tertentu diserap, sementara gelombang yang lainnya dipantulkan ke mata
manusia.
Berdasarkan teori, kombinasi warna cyan (C), magenta (M), dan kuning (Y) yang
murni, akan menyerap semua cahaya dan menghasilkan warna hitam. Karena itulah,
warna ini seringkali disebut subtractive colors.
Sumber: Adobe Photoshop 7 Help Files Gambar 2.3 Subtractive Colors CMYK
14
2.4.2 Non-Linear Color Spaces
Metode non-linear color spaces ini biasanya menyajikan warna dengan
menggunakan suatu bidang lingkaran warna spektrum. Dengan demikian, untuk
menyajikan warna tertentu, tidak terlalu sulit bagi manusia untuk membayangkannya.
Saat ini, ada beberapa standar yang menggunakan non-linear color spaces untuk
menyajikan suatu warna.
a. HSV color space
HSV color space merupakan bentuk transformasi non linier dari RGB color space,
yaitu:
RGB (Red, Green, Blue) ke HSV (Hue, Saturation, Value): ( )3
BGRV ++=
( ) aBGR
S *31 ⎟⎟⎠
⎞⎜⎜⎝
⎛++
−= , di mana a adalah nilai minimum dari RGB (2.7)
( ) ( )( ) ( ) ( )
5.0
21
**5,0cos ⎟⎟
⎠
⎞⎜⎜⎝
⎛
−−+−−+−
= −
BGBRGRBRGRH
b. CIE LAB color space
CIE LAB terdiri dari komponen L (luminance atau tingkat kecerahan) dan dua
komponen warna, yaitu komponen A (hijau sampai merah) dan komponen B (biru
sampai kuning).
Koordinat dari warna CIE LAB diperoleh dari perhitungan koordinat warna non-
linear color space CIE XYZ.
15
L * = 116 * 3/1
⎟⎠⎞
⎜⎝⎛
YnY - 16. jika
YnY > 0.008856
Atau jika tidak: L * = 903.3 * YnY
a* = 500 * (f (XnX ) – f (
YnY ))
b* = 200 * (f (YnY ) – f (
ZnZ )) (2.8)
di mana: ,)( 3/1ttf = jika t > 0.008856
atau jika tidak: 11616*787.7)( += ttf
Keterangan: Xn, Yn, dan Zn adalah nilai X, Y, Z untuk tingkat kecerahan yang
digunakan untuk contoh X, Y, Z. Nilai (konstanta) dari XnX ,
YnY ,
ZnZ adalah lebih
besar dari 0.008856.
2.5 Gambar Bitmap
Gambar Bitmap sering disebut juga dengan gambar raster. Gambar Bitmap
adalah gambar yang terbentuk dari pixel, dengan setiap pixelnya mempunyai warna
tertentu. Jika gambar bitmap ini diperbesar, misalnya menjadi 4 kalinya, maka gambar
akan menjadi kabur karena pixelnya juga bertambah besar menjadi 4 kalinya (kualitas
gambar menurun). Format gambar bitmap sering dipakai dalam foto dan gambar. Dua
istilah yang perlu dipahami ketika bekerja dengan gambar bitmap adalah resolusi dan
kedalaman warna.
16
Setiap kotak kecil (pixel) mempunyai nilai (kecerahan atau warna) dan lokasi
masing-masing (Kay dan Levine, 1995, pp1-5). Setiap pixel yang ditampilkan pada layar
monitor, dipetakan sebagai salah satu atau lebih bit dalam memori komputer. Karena itu,
gambar yang ditampilkan dengan cara ini disebut sebagai bitmap yang artinya peta bit.
Cara ini sering digunakan karena lebih mudah digunakan, tanpa batas, dan dapat berlaku
untuk semua gambar.
Gambar bitmap mempunyai keunggulan, yaitu kemudahannya untuk ditampilkan
secara rinci dengan pola-pola yang kompleks atau gambar fotorealistik, yang tidak dapat
dengan mudah direpresentasikan sebagai model matematika (garis, kurva, dan bidang).
2.6 Pixel (Picture Element)
Gambar yang bertipe bitmap tersusun dari pixel-pixel. Pixel disebut juga dengan
dot. Pixel berbentuk bujur sangkar dengan ukuran relatif kecil yang merupakan
penyusun/pembentuk gambar bitmap.
Banyaknya pixel tiap satuan luas tergantung pada resolusi yang digunakan.
Keanekaragaman warna pixel tergantung pada bit depth (kedalaman warna) yang
dipakai. Semakin banyak jumlah pixel tiap satu satuan luas, semakin baik kualitas
gambar yang dihasilkan dan tentu akan semakin besar ukuran filenya.
2.7 Format File BMP
Struktur file BMP terdiri dari empat bagian seperti pada diagram di bawah ini.
Bagian pertama adalah header, diikuti dengan bagian informasi, palet warna, dan data
pixel.
17
Sumber: http://astronomy.swin.edu.au/~pbourke/dataformats/BMP/ Gambar 2.4 Struktur File BMP
Berikut ini akan dibahas secara singkat masing-masing bagian struktur yang
terdapat pada sebuah file BMP (Kay dan Levine, 1995, pp1-5).
2.7.1 Header BMP
Fungsi utama dari header pada file BMP adalah sebagai tanda/ciri yang
mengidentifikasi format file tersebut. Header pada file BMP mempunyai beberapa field
yang jarang digunakan. Hal ini dapat dilihat pada Tabel 2.1.
Tabel 2.1 Tabel Header BMP
Offset Nama Field Ukuran Keterangan 0 BfType 2 byte Berisi Karakter “BM” 2 BfSize 4 byte Ukuran file BMP dalam byte 6 BfReserved1 2 byte Tidak digunakan 8 BfReserved2 2 byte Tidak digunakan 10 BfOffbits 4 byte Offset kepada awal data pixel dalam byte
Header file
Info Header
Optional Pallet
Image Data
18
2.7.2 Informasi BMP
Informasi BMP yang mengikuti header BMP, mempunyai ukuran minimal 40
byte. Beberapa field penting yang terdapat pada informasi BMP, yaitu panjang dan lebar,
jumlah bit per pixel, dan jenis kompresi, seperti terlihat pada Tabel 2.2.
Tabel 2.2 Tabel Informasi BMP
Offset Nama Field Ukuran Keterangan 14 BiSize 4 byte Ukuran header dalam byte 18 BiWidth 4 byte Lebar gambar 22 BiHeight 4 byte Panjang gambar 26 BiPlanes 2 byte Bernilai 1 28 BiBitCount 2 byte Bits per pixel 1, 4, 8, 16, 24, atau 32 30 BiCompression 4 byte Jenis Kompresi . RGB=0, RLE8=1,
RLE4=2, atau BITFIELDS=3 34 BiSizeImage 4 byte Ukuran gambar kompresi dalam byte 38 BixPelsPerMeter 4 byte Resolusi horizontal 42 BiyPelsPerMeter 4 byte Resolusi vertical 46 BiClrUsed 4 byte Jumlah warna yang digunakan 50 BiClrImportant 4 byte Jumlah warna yang penting
2.7.3 Palet Warna BMP
Gambar yang menggunakan 1, 4, atau 8 bits per pixel pasti mempunyai palet
warna. Pada umumnya palet berisi 2, 16, atau 256 macam warna, tetapi dapat lebih
sedikit jika gambar yang bersangkutan tidak menggunakan semua warna yang tersedia.
Untuk gambar 24 bit, tidak digunakan palet warna, melainkan langsung ditampilkan
nilai RGB (Red, Green, Blue). Masing-masing warna dalam palet memiliki ukuran
sebesar 4 byte, seperti terlihat pada Tabel 2.3.
Tabel 2.3. Tabel Palet Warna BMP
Offset Nama Field Ukuran Keterangan 0 RgbBlue 1 byte Nilai warna biru 1 RgbGreen 1 byte Nilai warna hijau 2 RgbRed 1 byte Nilai warna merah 3 RgbReserved 1 byte Bernilai 0
19
2.7.4 Data Pixel BMP
Data pixel terletak setelah palet warna jika ada. Jika tidak, data pixel terletak
setelah informasi BMP. Untuk mengetahui awal (offset) letak data pixel, digunakan
BfOffBits pada Header BMP. Baris pixel untuk beberapa file BMP dengan jumlah bit
per pixel yang berbeda.
1) File BMP 1 bit per pixel
Setiap pixel berukuran 1 bit, dan dikemas dalam ukuran 1 byte yang berisi 8 data
pixel yang mengacu pada palet warna yang berisi 2 warna.
2) File BMP 4 bit per pixel
Dalam gambar yang tidak terkompresi, setiap byte berisi 2 data pixel. Masing-
masing data pixel mengacu pada palet warna yang berisi 16 warna.
3) File BMP 8 bit per pixel
Setiap pixel dalam baris mempunyai sebuah nilai sebesar 1 byte, yaitu indeks pada
palet 256 warna.
4) File BMP 16 bit per pixel
Setiap pixel mempunyai sebuah nilai integer sebesar 2 byte. Jika gambar tidak
terkompresi, maka setiap warna disajikan dalam nilai 5 bit, dimana bit paling kiri
tidak digunakan, seperti terlihat pada Gambar 2.5.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Red Blue Green
Gambar 2.5 Format Data Pixel 16 Bit Per Pixel
5) File BMP 24 bit per pixel
Setiap pixel berukuran 3 byte, terdiri dari urutan warna biru, hijau, merah.
6) File BMP 32 bit per pixel
20
Setiap pixel mempunyai nilai integer sebesar 4 byte, terdiri dari urutan warna biru,
hijau, merah, dan 1 byte tidak terpakai
2.8 Histogram Citra
Histogram merupakan alat yang berguna untuk melihat profil intensitas dari
suatu citra. Histogram memberikan gambaran tentang komposisi citra, informasi tentang
kontras, dan distribusi intensitas citra secara keseluruhan.
Sebuah histogram disajikan melalui sebuah diagram batang, di mana nilai
intensitas pixel ditempatkan pada sumbu x, dan banyak setiap intensitas pixel
ditempatkan pada sumbu y.
Suatu citra yang gelap akan memiliki distribusi pixel di sebelah kiri lebih banyak.
Sedangkan citra yang cerah memiliki distribusi pixel di sebelah kanan lebih banyak.
Pada citra yang ideal, distribusi pixel akan merata pada setiap nilai intensitas histogram.
2.8.1 Perataan Histogram
Perataan histogram ini bertujuan untuk memperoleh histogram yang merata
untuk setiap intensitas pixel-nya (Gose, 1996, pp275-282). Dengan demikian, dihasilkan
citra baru yang memiliki histogram yang lebih terdistribusi, yaitu frekuensi setiap
intensitas pixel yang ditempatkan pada sumbu y, kurang lebih sama.
Perataan histogram tidak benar-benar meratakan histogram. Seperti terlihat pada
Gambar 2.8, proses ini hanya akan mendistribusikan ulang distribusi intensitas pixel
citra yang bersangkutan. Jika histogram citra memiliki banyak bukit dan lembah, maka
setelah proses perataan histogram, histogram tersebut akan tetap memiliki banyak bukit
21
dan lembah, tetapi bukit dan lembah tersebut akan bergeser. Karena itu, perataan
histogram lebih mengacu kepada istilah ”penyebaran” dibandingkan ”perataan”.
(a) (b)
Gambar 2.6 (a) Histogram Asal (b) Histogram Setelah Perataan
Perataan histogram dapat dilakukan melalui ketiga tahap di bawah ini (Crane,
1997, pp47-49).
a. Membuat histogram
Langkah pertama ini dilakukan dengan menghitung jumlah (frekuensi) setiap nilai
pixel dalam citra. Pembuatan histogram ini diawali dengan persiapan sebuah array
yang berisi nol. Sebuah citra yang memiliki jumlah warna sebanyak 8 bit
memerlukan array berukuran 256 (0 sampai 255). Kemudian proses terus
dilanjutkan dengan mengisi array tersebut dengan jumlah masing-masing nilai pixel
pada citra.
b. Menghitung normalisasi histogram
Langkah kedua ini membutuhkan sebuah array baru untuk menyimpan jumlah
komulatif dari setiap nilai pixel. Pada array ini, elemen 1 berisi jumlah elemen 0 dan
elemen 1. Elemen 2 berisi jumlah elemen 0, elemen 1, dan elemen 2. Sedangkan
elemen 255 berisi jumlah elemen 0, elemen 1, dan seterusnya sampai dengan elemen
255. Array ini kemudian dinormalisasi dengan mengalikan setiap elemen dengan
22
pixel maksimal dibagi dengan jumlah keseluruhan pixel. Hasil yang diperoleh dari
perhitungan normalisasi histogram ini adalah probabilitas kumulatif untuk setiap
nilai pixel. Misalkan sebuah gambar 8 bit dengan resolusi 512x512, berarti setiap
pixel harus dikalikan dengan 255/262144.
c. Memperbaharui citra lama
Citra lama diperbaharui dengan mengganti nilai pixel lama dengan hasil pembulatan
nilai yang diperoleh dari proses perhitungan normalisasi histogram.
2.8.2 Penyesuaian Histogram
Perataan histogram kurang lebih menghasilkan histogram yang merata. Kadang-
kadang, histogram yang tidak merata itu tidak sesuai dengan keinginan. Misalnya, ketika
diperlukan citra yang lebih cerah atau pun citra yang lebih gelap, atau ketika diperlukan
citra yang lebih kontras. Semua modifikasi ini dapat dilakukan melalui spesifikasi
histogram.
Penyesuaian histogram adalah sebuah proses untuk menyesuaikan tingkat
kecerahan suatu citra yang diinputkan, sehingga tingkat kecerahan citra tersebut menjadi
sesuai dengan tingkat kecerahan histogram yang juga diinputkan oleh user (Crane, 1997,
pp49-54).
Secara garis besar, proses ini meliputi beberapa tahap, yaitu:
a. Melakukan perataan histogram terhadap citra yang diinput oleh user.
b. Melakukan perataan histogram terhadap histogram yang juga diinput oleh user.
c. Melakukan kebalikan dari transformasi perataan histogram terhadap citra yang telah
diratakan. Proses ini dilakukan dengan mengganti setiap nilai hasil perataan
23
histogram citra dengan nilai terdekat yang diperoleh dari hasil perataan histogram
yang diinputkan.
2.9 Teori Statistika
Statistika merupakan sekumpulan konsep dan metode yang digunakan untuk
mengumpulkan dan menginterpretasi data tentang bidang kegiatan tertentu dan
mengambil kesimpulan dalam situasi di mana ada ketidakpastian dan variasi.
Cabang ilmu statistika yang menjelaskan teknik untuk meringkas dan
mendeskripsikan data disebut statistika deskriptif. Sedangkan cabang ilmu statistika
yang bertujuan untuk membuat kesimpulan (mengambil kesimpulan, memprediksi, dan
membuat keputusan) tentang karakteristik populasi berdasarkan informasi yang
diperoleh dari sampel, disebut inferensi statistik.
Dalam Statistika, salah satu konsep paling dasar adalah penarikan sampel
(sampling). Sampel diambil dari suatu kelompok yang lebih besar, yang disebut
populasi. Populasi sering disebut sebagai himpunan keseluruhan objek yang diselidiki,
sedangkan sampel merupakan himpunan bagian populasi. Karakteristik atau konstanta
dari suatu populasi disebut parameter. Sedangkan suatu harga yang dihitung dari sampel
dinamakan statistika.
Operasi statistika yang sering dipakai dalam aplikasi yang melibatkan gambar,
yaitu rata-rata (mean) dan simpangan baku (standard deviation).
24
2.9.1 Rata-rata (μ)
Di dalam gambar, rata-rata nilai kelabu pixel menyatakan tingkat kecerahan
gambar tersebut (Gose, 1996, pp271-273). Jika terdapat suatu gambar dengan ukuran M
x N pixel dan nilai pixel g, maka rata-rata nilai pixel gambar tersebut dapat diketahui
melalui rumus berikut ini.
( )∑ ∑== =
M
x
N
yyxg
MN 1 1,1μ (2.9)
2.9.2 Simpangan Baku (σ)
Kontras suatu gambar dapat diketahui melalui besarnya variasi nilai kelabu pixel
gambar tersebut (Gose, 1996, pp271-273). Salah satu cara untuk mengetahui besarnya
variasi ini adalah dengan menghitung akar dari jumlah kuadrat selisih nilai kelabu pixel
yang bersangkutan dengan rata-ratanya. Bilangan ini biasa dikenal dengan istilah
simpangan baku.
( )( )∑ ∑ −−
== =
M
x
N
yyxg
MN 1 12,
11 μσ (2.10)
Keterangan:
M = ukuran lebar pixel
N = ukuran panjang pixel
g(x, y) = nilai kelabu pixel
μ = rata-rata nilai kelabu pixel
25
2.10 Prinsip Perancangan Layar
Prinsip perancangan layar merupakan panduan bagi perancang yang berguna
dalam membuat dan membandingkan alternatif desain. Ada tiga prinsip yang terdapat
dalam perancangan layar yaitu:
a. Kenali perbedaan
Dalam melakukan perancangan layar, perancang harus mengenali pengguna dari
program aplikasi. Pengguna ini dapat berupa first-time users (pemula),
knowledgeable intermittent users (pengguna yang telah mengenal program aplikasi),
dan expert frequent users (ahli).
b. Gunakan delapan aturan emas perancangan user interface:
1) Berusaha untuk konsisten.
2) Memungkinkan frequent user menggunakan shortcuts.
3) Memberikan umpan balik yang inovatif.
4) Merancang dialog yang memberikan penutupan (keadaan akhir).
5) Memberikan pencegahan kesalahan dan penangan kesalahan yang sederhana.
6) Memungkinkan pembalikan aksi yang mudah.
7) Mendukung pusat kendali internal.
8) Mengurangi beban ingatan jangka pendek.
2.11 DFD (Data Flow Diagram)
DFD adalah alat bantu dalam melakukan analisis sistem. DFD terdiri dari
simbol-simbol yang menggambarkan komponen-komponen, yang antara lain sebagai
berikut.
26
a. Proses
Proses menunjukkan apa yang sistem kerjakan. Setiap proses
memiliki satu atau lebih data masukan dan memiliki satu atau lebih
data keluaran.
b. Data store
Data store adalah tempat menyimpan data, di mana berisi data yang
akan dipakai oleh sistem. Proses dapat memasukkan data ke dalam
data share atau mendapatkan kembali datanya. Setiap data store
memiliki nama yang unik.
c Eksternal entitas
Eksternal entitas berada di luar sistem, tetapi dapat mensuplai data
ke sistem atau menerima keluaran dari sistem. Eksternal entitas
yang mensuplai data ke sistem disebut source.
d. Aliran data (Data flow)
Menggambarkan arah ke aliran data.
Diagram aliran data dapat dibagi menjadi tiga tingkatan, sebagai berikut.
1) Diagram konteks, merupakan level tertinggi yang menggambarkan batas-batas
dari sistem informasi secara global.
2) Diagram nol, merupakan diagram yang memaparkan proses-proses penting
dalam sistem.
3) Diagram rinci, merupakan penjelasan dari setiap proses secara mendetil, yang
terdapat dalam diagram nol, yang tidak dapat dipecah lagi ke dalam proses-
proses yang lebih rinci.