5
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.
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.
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.
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:
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ B G R S M L 8444 . 0 1288 . 0 0241 . 0 0782 . 0 7244 . 0 1967 . 0 0402 . 0 5783 . 0 3811 . 0 (2.1) b. Mengkonversi LMS ke lαβ
Matriks transformasi yang digunakan adalah:
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − − ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ S M L 0 1 1 2 1 1 1 1 1 2 1 0 0 0 6 1 0 0 0 3 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
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,
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 =
(
) (
)
2 2 1 2 2 1 μ σ σ μ − + − 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.
a. Mengkonversi lαβ ke LMS
Matriks transformasi yang digunakan adalah:
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ β α l S M L 2 2 0 0 0 2 1 0 6 6 0 0 1 1 0 0 3 3 1 1 1 (2.4) b. Mengkonversi LMS ke RGB
Matriks transformasi yang digunakan adalah:
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ − − = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ S M L B G R 2045 . 1 2439 , 0 0497 , 0 1624 , 0 0809 , 2 2195 , 1 1193 , 0 5873 , 3 4679 , 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.
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.
⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ B G R Z Y X 990 . 0 010 . 0 000 . 0 011 . 0 813 . 0 177 . 0 200 . 0 310 . 0 490 . 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.
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
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 B G R V = + +(
)
a B G R S 1 3 ⎟⎟* ⎠ ⎞ ⎜⎜ ⎝ ⎛ + + −= , di mana a adalah nilai minimum dari RGB (2.7)
(
) (
)
(
) (
) (
)
5 . 0 2 1 * * 5 , 0 cos ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ − − + − − + − = − B G B R G R B R G R Hb. 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.
L * = 116 * 3 / 1 ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ Yn Y - 16. jika Yn Y > 0.008856
Atau jika tidak: L * = 903.3 * Yn Y a* = 500 * (f ( Xn X ) – f ( Yn Y )) b* = 200 * (f ( Yn Y ) – f ( Zn Z )) (2.8) di mana: ( ) 1/3, t t f = jika t > 0.008856 atau jika tidak:
116 16 * 787 . 7 ) (t = t+ f
Keterangan: Xn, Yn, dan Zn adalah nilai X, Y, Z untuk tingkat kecerahan yang digunakan untuk contoh X, Y, Z. Nilai (konstanta) dari
Xn X , Yn Y , Zn Z 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.
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 FileBMP
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.
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 HeaderBMP
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
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
2.7.4 Data PixelBMP
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
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
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
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
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).
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 y g x y 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 y y x g MN 1 1 2 , 1 1 μ σ (2.10) Keterangan:M = ukuran lebar pixel N = ukuran panjang pixel g(x, y) = nilai kelabu pixel
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.
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.