• Tidak ada hasil yang ditemukan

Bab 2 Landasan Teori

2.7 Color Constancy

Color constancy atau ketetapan warna adalah salah satu keistimewaan dari sistem penglihatan manusia, yang mengusahakan agar warna yang diterima dari suatu benda terlihat sama meskipun berada pada kondisi pencahayaan yang berbeda-beda.

Salah satu faktor luar yang diakibatkan oleh pencahayaan akan menyebabkan sebuah benda mempunyai warna yang berbeda dari warna aslinya. Hal ini sering juga disebut dengan color constancy. Misalnya apel akan terlihat berwarna hijau pada saat siang hari dengan pencahayaan yang utama adalah putih matahari. Apel tersebut juga akan terlihat berwarna hijau pada saat matahari terbenam atau dengan pencahayaan berwarna merah. Hal ini yang membantu kita untuk mengidentifikasi suatu benda. Karena kelebihan dari color constancy itu, maka dikembangkan algoritma yang dapat mengakomodasikan color constancy sehingga dapat dimanfaatkan untuk sistem penglihatan pada robot ataupun computer vision. Algoritma ini dikenal dengan nama algoritma retinex (Adiprinata & Ballangan, 2006).

Metode Retinex ini dikemukakan oleh Edwin Land pada tahun 1971. Melalui eksperimen yang dilakukan olehnya, terlihat bahwa bahwa sistem penglihatan manusia mampu secara praktis mengenal dan mencocokkan warna-warna di bawah sebuah range illumination berbeda yang luas, hal ini dikenal dengan Color Constancy Phenomenon.

Teori Retinex berhubungan dengan kompensasi untuk efek illumination (pencahayaan) pada citra. Tujuan utama dalam metode Retinex adalah untuk memisahkan image S ke

dalam dua buah image yang berbeda, yaitu reflectance imageR dan illumination image L (Murinto & Wibowo, 2009).

Di bawah ini merupakan contoh citra sebelum diberi color constancy pada gambar 2.6dan citra setelah diberi color constancy pada gambar 2.7.

Gambar 2.6: Citra sebelum proses Color Constancy Gambar 2.7: Citra setelah proses Color Cinstancy

Pada gambar 2.6, dapat dilihat bahwa objek pada citra misalnya balon-balon yang menjadi warna merah tua dikarenakan kurangnya intensitas cahaya pada saat pengambilan citra, sehingga kualitas citra di atas menjadi kurang baik. Lalu pada gambar 2.7 adalah hasil citra setelah melalui proses color constancy dengan menggunakan LIP dapat dilihat bahwa warna balon-balon pada citra di atas menjadi lebih terang dan menyerupai warna aslinya tanpa mengubah warna dasar citra.

BAB III

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Sebelum dilakukan tahap perancangan sebuah sistem, perlu dilakukan analisis sistem yang akan dibangun. Analisis sistem merupakan istilah yang secara kolektif mendeskripsikan fase-fase awal pengembangan sistem. Tahap ini bertujuan memberikan gambaran yang jelas terhadap sistem yang akan dibangun. Tahap ini menjabarkan kebutuhan-kebutuhan yang berguna untuk perancangan sistem agar sistem yang dibangun sesuai dengan masalah yang akan diselesaikan.

3.2 Analisis Masalah

Masalah utama yang diangkat adalah konsistensi sebuah citra pada sistem pengolahan citra. Sistem pengolahan citra ini menggunakan metode Algorithmic Image Processing (LIP). Analisis masalah digambarkan dengan Diagram Ishikawa (fishbone Diagram) berikut ini. Bagian kepala atau segiempat yang berada di sebelah kanan merupakan masalah. Sementara di bagian tulang-tulangnya merupakan penyebab. Pemodelan diagram Ishikawa dapat dilihat pada Gambar 3.1 dibawah ini.

User

Material Machine/tools

Metode

Konsistensi Citra

Ketidakpuasan terhadap kualitas sebuah citra

C# File .Jpeg dan .bmp sebagai

file inputan

Logarithmic Image Processing

Text box, pop-up menu menerima

input

Menu LIP, menu help, menu About

3.3 Logarithmic Image Processing (LIP)

LIP adalah satu pendekatan baru secara matematis yang menyediakan kerangka garis besar representasi dan pemrosesan, antara lain logaritmatik citra dengan gray level

dalam 1 jangkauan terbatas. Dimana konsisten dengan non linier logaritmik pada system pengalihan manusia (human visual system) modifikasi citra tersebut diolah dengan menggunakan fungsi log yaitu memfungsikan batas-batas pixel yang mencolok dari gray scale agar bisa melihat pengaruh dari fungsi range (Murinto & Wibowo, 2009). Pada peneliatian ini, background sebuah citra sangat dipertimbangkan karena jika background citra sangat gelap maka citra akan dicerahkan dengan mengatur manual

α yang mewakilkan kontras gambar.

3.3.1 Menentukan Titik Tengah (Median)

Gambar 3.2 di bawah ini merupakan salah satu contoh citra dengan dimensi 3x3 pixel.

warna diluar citra

Citra dengan 3x3 pixel

Gambar 3.2Pixel citra awal

Berikut adalah proses perhitungan citra dengan LIP dimana α = 1,5 dan β = 0,5,

ukuran kernel 3x3. Sortir terhadap angka dilakukan secara ascending untuk mendapatkan titik tengahnya (median) dengan menggunakan rumus LIP (2). Maka didapat : • Ma (i,j) = 0, 0, 0, 0, 5, 4, 0, 7, 9 Ma (0,0) = 0, 0, 0, 0, 0, 4, 5, 7, 9 Ma (0,0) = 0 f (0,0) = 5 0 0 0 0 0 0 5 4 3 0 0 7 9 2 0 0 10 4 6 0 0 0 0 0 0

f (1,1) = 1,5 log (0+1)) + 0,5 [(log (5+1)) – (log (0+1))] = 1,5 log (1) + 0,5 [log (6) – log (1)]

= 1,5 (0) + 0,5 (0,6989) = 0 + 0,3494 = 0,3494 • Ma (i,j) = 0, 0, 0, 5, 4, 3, 7, 9, 2 Ma (0,0) = 0, 0, 0, 2, 3, 4, 5, 7, 9 Ma (0,0) = 3 f (0,0) = 4

f (1,2) = 1,5 (log (3+1)) + 0,5 [(log (4+1)) – (log (3+1))] = 1,5 log (4) + 0,5 [log(5) – (log (4)]

= 1,5 (0,6020) + 0,5 (0) = 0,903 + 0 = 0,903 • Ma (i,j) = 0, 0, 0, 4, 3, 0, 9, 2, 0 Ma (0,0) = 0, 0, 0, 0, 0, 2, 3, 4, 9 Ma (0,0) = 0 f (0,0) = 3

f (1,3) = 1,5 (log (0+1)) + 0,5 [(log (3+1)) – (log (0+1))] = 1,5 log (1) + 0,5 [log(4) – (log (1)]

= 1,5 (0) + 0,5 (0,4771) = 0 + 0,2385 = 0,2385 • Ma (i,j) = 0, 5, 4, 0, 7, 9, 0, 10, 4 Ma (0,0) = 0, 0, 0, 4, 4, 5, 7, 9, 10 Ma (0,0) = 4 f (0,0) = 7

f (2,1) = 1,5 (log (4+1)) + 0,5 [(log (7+1)) – (log (4+1))] = 1,5 log (5) + 0,5 [log(8) – (log (5)]

= 1,5 (0,6989) + 0,5 (0,4771) = 1,0483 + 0,2385

• Ma (i,j) = 5, 4, 3, 7, 9, 2, 10, 4, 6 Ma (0,0) = 2, 3, 4, 4, 5, 6, 7, 9, 10 Ma (0,0) = 5

f (0,0) = 9

f (2,2) = 1,5 log (5+1)) + 0,5 [(log (9+1)) – (log (5+1))] = 1,5 log (6) + 0,5 [log (10) – log (6)]

= 1,5 (0,7781) + 0,5 (0,6020) = 1,1671 + 0,301 = 1,4681 • Ma (i,j) = 4, 3, 0, 9, 2, 0, 4, 6, 0 Ma (0,0) = 0, 0, 0, 2, 3, 4, 4, 6, 9 Ma (0,0) = 3 f (0,0) = 2

f (2,3) = 1,5 log (3+1)) + 0,5 [(log (2+1)) – (log (3+1))] = 1,5 log (4) + 0,5 [log (3) – log (4)]

= 1,5 (0,6020) + 0,5 (-0,1249) = 0,903 – 0,0624 = 0,8406 • Ma (i,j) = 0, 7, 9, 0, 10, 4, 0, 0, 0 Ma (0,0) = 0, 0, 0, 0, 0, 4, 7, 9, 10 Ma (0,0) = 0 f (0,0) = 10

f (3,1) = 1,5 log (0+1)) + 0,5 [(log (10+1)) – (log (0+1))] = 1,5 log (0) + 0,5 [log (11) – log (0)]

= 1,5 (0) + 0,5 (1,0413) = 0 + 0,5206 = 0, 5206 • Ma (i,j) = 7, 9, 2, 10, 4, 6, 0, 0, 0 Ma (0,0) = 0, 0, 0, 2, 4, 6, 7, 9, 10 Ma (0,0) = 4 f (0,0) = 4

f (3,2) = 1,5 log (4+1)) + 0,5 [(log (4+1)) – (log (4+1))] = 1,5 log (5) + 0,5 [log (5) – log (5)]

= 1,0483

• Ma (i,j) = 9, 2, 0, 4, 6, 0, 0, 0, 0 Ma (0,0) = 0, 0, 0, 0, 0, 2, 4, 6, 9 Ma (0,0) = 0

f (0,0) = 6

f (3,3) = 1,5 log (0+1)) + 0,5 [(log (6+1)) – (log (0+1))] = 1,5 log (1) + 0,5 [log (7) – log (1)]

= 1,5 (0) + 0,5 (0,7781) = 0 + 0,3890

= 0,3890

Hasil pixel perbaikan citra setelah melalui proses LIP , maka didapatkan pixel

perbaikan seperti pada Tabel 3.1.

Tabel 3.1 Hasil citra 3x3 pixel dengan proses LIP

0,3494 0,903 0,2385 1,2868 1,4681 0,8406 0,5206 1,0483 0,3890

3.3.2 Analisis Persyaratan (Requirement Analysis)

Analisis ini bertujuan untuk mengidentifikasi dan menyatakan persyaratan apa saja yang akan dibutuhkan oleh sistem agar dapat berjalan sesuai dengan yang diharapkan. Analisis persyaratan terdiri atas dua bagian yaitu analisis fungsional (functional requirement) dan analisis nonfungsional (nonfunctional requirement). Dimana persyaratan fungsional adalah aktifitas dan layanan yang harus diberikan/ disediakan oleh sebuah sistem, dan persyaratan nonfungsional berkaitan dengan fitur, kateristik, dan batasan lainnya yang menetukan apakah sistem memuaskan atau tidak. Persyaratan nonfungsional seringkali berupa batasan atau sesuatu yang

menjadi perhatian stakeholder sebuah sistem. Kedua analisis ini merupakan hal penting untuk menentukan hal-hal yang harus dimiliki sistem.

3.3.2.1Persyaratan Fungsional

Analisis fungsional dibutuhkan untuk mengetahui hal-hal yang bisa dikerjakan oleh sistem. Berikut dijabarkan fungsi-fungsi yang dapat dikerjakan oleh sistem. 1. Sistem akan melakukan konsistensi citra pada file berupa .jpeg dan .bmp

2. Sistem menghitung berapa lama waktu yang dibutuhkan dalam memproses seluruh kegiatan konsistensi citra dengan LIP.

3. Sistem melakukan konsistensi citra menggunakan Logarithmic Image Processing.

3.3.2.2Persyaratan Nonfungsional

Analisis nonfungsional berhubungan dengan hal-hal berikut ini: 1. Performa

Perangkat lunak yang akan dibangun dapat menunjukkan hasil citra sebelum dan sesudah diproses dengan LIP.

2. Mudah dipelajari dan digunakan

Perangkat lunak yang akan dibangun memiliki tampilan yang user friendly dan responsif.

3. Hemat biaya

Perangkat lunak yang dibangun akan memprmudah pengguna untuk efesiensi waktu, sehingga hemat biaya.

4. Dokumentasi

Perangkat lunak yang akan dibangun dapat menyimpan hasil konsistensi citra serta memiliki panduan penggunaan.

5. Kontrol

Perangkat lunak yang dibangun akan menampilkan pesan error untuk setiap input yang tidak sesuai.

3.3.3 Pemodelan Sistem dengan Use Case dan Activity Diagram

Pemodelan sistem dilakukan untuk memperoleh gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang

dilakukan oleh sistem. Use case adalah salah satu pemodelan yang digunakan untuk memodelkan persyaratan sistem. Dengan use case ini digambarkan siapa saja yang berinteraksi dengan sistem dan apa saja yang dapat dilakukan dengan sistem.

Berdasarkan analisis kebutuhan sistem, secara garis besar sistem melakukan proses konsistensi citra dengan metode Logarithmic Image Processing.

Diagram use case yang dirancang sebagai pemodelan persyaratan sistem berdasarkan informasi kebutuhan sistem dan aktor yang berperan didalamnya, dapat dilihat pada Gambar 3.3.

Generate p dan q

Authentication

User Input File

Generate bilangan acak Autentikasi <<uses>> <<extends>> <<extends>> Metode Lehhman <<extends>> <<extends>>

Feige Fiat Shamir <<extends>>

Konsistens Citra

Image

Enhancement Input File <<uses>>

<<extends>>

LIP <<extends>>

Gambar 3.3 Use case Diagram yang akan Dikembangkan

Diagram pada Gambar 3.4 menjelaskan aksi yang dapat dilakukan oleh user, user

melakukan input data dan memproses citra dengan metode Logarithmic Image Processing.

3.3.3.1 Use Case dan Activity Diagram LIP

Spesifikasi use case LIP dapat dilihat pada tabel 3.2.

Tabel 3.2 Spesifikasi Use Case LIP Name Logarithmic Image Processing

Trigger User meng-input file yang akan diproses

Preconditions -

Post Conditions System akan menampilkan pop-up window untuk pemilihan file

Success Scenario 1. User telah meng-inputkan file yang akan diproses 2. User mengakses tombol LIP.

3. Sistem akan menampilkan hasil citra yang telah diproses dengan LIP.

Alternative Flows -

Berikut adalah penjelasan dari tabel diatas:

1. Nama metode adalah Logarithmic Image Processing.

2. User sebagai actor.

3. Tidak tersedia preconditions.

4. Pada post conditions sistem akan menampilkan pop-upwindow untuk pemilihan file. 5. Pada success scenario terdapat proses:

a. User telah meng-inputkan file yang akan diproses b. User mengakses tombol LIP.

c. Sistem akan menampilkan hasil citra yang telah diproses dengan LIP.

Berikut ini adalah Activity diagram untuk proses LIP yang dapat dilihat pada Gambar 3.4.

User System

Input File Menampilkan pop-up window

untuk memilih citra

Menampilkan citra awal Mengakses tombol LIP

Menampilkan citra hasil

Gambar 3.4 ActivityDiagram untuk proses LIP

Penjelasan dari Activity Diagram diatas adalah pada saat User meng-input file maka sistem akan menampilkan pop-up window untuk memilih citra awal yang akan diolah lalu menampilkan citra awal tersebut. Setelah itu User akan mengakses tombol LIP maka citra akan diolah. Lalu sistem akan menampilkan citra hasil yang telah diolah.

3.3.4 Sequence Diagram Proses LIP

Adapun Sequence Diagram untuk Proses LIP dapat dilihat pada Gambar 3.5.

{}

Ambil Citra

Proses konsistensi citra

{} Hasil Perbaikan Citra

Input citra LIP

Actor

Gambar 3.5 Sequence Diagram Proses LIP

Dari sequnce diagram pada gambar 3.5 dapat dilihat bahwa citra diproses dengan metode LIP dengan menginput citra terlebih dahulu dan setelah proses LIP dapat ilakukan proses analisis akhir .

3.3.5 Flowchart Gambaran Umum dan Flowchart Pengolahan Citra dengan LIP

Secara umum proses yang dilakukan ini dapat dilihat pada flowchart gambaran umum pada Gambar 3.6.

Start Input File Citra(.jpg atau.bmp) End Tampilkan Citra hasil Pengolahan Citra Dengan LIP

Gambar 3.6 Flowchart Sistem

Flowchart di atas dapat dijelaskan sebagai berikut : 1. Pertama, program dimulai.

2. Kemudian, input citra yang akan diolah dengan format .bmp atau .jpg.

3. Citra akan diolah ketetapan warnanya menggunakan Logarithmic Image Processing

dengan proses yang telah ditentukan.

4. Setelah itu, hasil citra yang telah diolah dengan LIP akan ditampilkan. 5. Akhiri program.

Sedangkan secara khusus proses yang dilakukan dapat dilihat pada flowchart gambaran khusus Gambar 3.7.

start

α, β Citra input

Ubah citra ke dalam array

Array Pixel RGB i=0 j=0

f’ (i, j)=α log(Ma(i,j)+1)) + β[log(ḟ(i,j)+1)) - log(Ma(i,j)+1))] j<array pixel RGB.length() tidak Array result RGB

Ubah array result RGB menjadi citra hasil Citra hasil end ya i<array pixel RGB.length() ya tidak i=i+1 j=j+1

Penjelasan dari flowchart sistem secara khusus pada metode Logarithmic Image Processing adalah sebagai berikut:

1. Memulai program dengan menginput citra awal yang berformat .jpg dan .bmp. 2. Lalu citra akan diubah ke dalam bentuk array.

3. Ditemukan arraypixel Red, Green, Blue, dimana i=0 dan j=0.

4. Citra yang telah diubah menjadi array dan dikoreksi warnanya, diolah dengan

Logarithmic Image Processing dengan mencari nilai median untuk tiap warna R,G

dan B.

5. Jika ditemukan I dimana merupakan nilai byte citra yang jumlahnya 0 maka akan ditambah dengan 1 agar tidak tercapai nilai 1 dalam kondisi maksimum, selanjutnya akan diolah kembali oleh sistem. Begitu pula dengan J, yang jika ditemukan nilai 0

akan ditambah dengan 1untuk mencapai nilai 1 dalam kondisi maksimum.

6. Jika tidak ada nilai 0 maka dicari kembali nilai max dan min dari result array yang akan digunakan untuk proses recoloring. Dimana proses ini memastikan nilai-nilai yang ada didalam result array berada pada selang 0 – 255.

7. Selanjutnya resul array R,G dan B diubah menjadi citra hasil dan didapatkan citra hasil yang telah diberi color constancy.

3.3.6 Pseudocode LIP

Pseudocode yang digunakan untuk melakukan proses Logarithmic Image Processing

secara umum dapat dilihat sebagai berikut :

Begin

buffer[] = bitmap.getBuffer(); valueblue, valuegreen, valuered; medianblue, mediangreen, medianred; resultblue, resultgreen, resultred; for i = 0 to i < bitmap.width do begin for j = 0 to j < bitmap.height do begin medianblue = median(i, j, 0); mediangreen = median(i, j, 1); medianred = median(i, j, 2); valueblue = getvalue(i, j, 0); valuegreen = getvalue(i, j, 1); valuered = getvalue(i, j, 2); resultblue = alpa*Log(medianblue+1)+beta*(Log(valueblue) - Log(medianblue)); resultgreen = alpa*Log(mediangreen+1)+beta*(Log(valuegreen) - Log(mediangreen));

resultred = alpa*Log(medianred+1)+beta *(Log(valuered) - Log(medianred)); bufferPos = (i * 3) + (j * width * 3); result[bufferPos + 0] = resultblue; result[bufferPos + 1] = resultgreen; result[bufferPos + 2] = resultred; end; end; min = result.getMin(); max = result.getMax(); if max > 1 then begin factor = max; end; else begin factor = 1; end;

for i = 0 to i < result.Length do begin

result[i] = result[i] / factor; end;

min = result.getMin(); max = result.getMax();

for i = 0 to i+=3 < result.Length - 2 do begin blue = result[i + 0]; green = result[i + 1]; red = result[i + 2]; resultbufferbgr[i + 0] = reColoring(blue,min,max); resultbufferbgr[i + 1] = reColoring(green,min,max); resultbufferbgr[i + 2] = reColoring(red,min,max); end;

Pseudocode di atas menjelaskan proses sebagai berikut :

1. Pertama kali, citra bitmap sebagai input akan diambil nilai pixel-nya dan disimpan ke dalam bentuk byte[].

2. Kemudian akan dilakukan proses LIP ke seluruh pixel yang ada di dalam citra, dari

(0,0) sampai (width - 1,height - 1). Proses yang pertama kali dilakukan adalah mengambil nilai median pada koordinat (x,y) untuk tiap warna B, G dan R. Kemudian diambil nilai pixel pada koordinat (x,y). Setelah itu dilakukan proses LIP.

3. Setelah semua pixel selesai diproses, maka akan terbentuk result[] baru. Kemudian akan dicari nilai max dan min dari result[] tersebut.

4. Kemudian akan dicari factor pembagi yang akan digunakan untuk memastikan nilai-nilai byte dalam result[] hanya akan mencapai nilai 1 dalam kondisi maksimum. 5. Setelah itu dicari kembali nilai max dan min dari result[] yang akan digunakan untuk

proses recoloring. Dimana proses ini akan memastikan nilai-nilai yang ada di dalam

Berikut ini adalah pseudocode yang digunakan untuk mencari nilai median dari citra pada kernel :

begin

radius = (size - 1) / 2;

for baris = -radius to baris <= radius do begin

for kolom = -radius to kolom <= radius do begin

newX = x + baris; newY = y + kolom;

bufferPos = (newX * 3) + (newY * width * 3);

if (bufferPos < 0 || bufferPos >= width * height * 3) do begin

result[indexresult] = 0.0; end;

else begin

result[indexresult] += buffer[bufferPos + color]; end; indexresult++; end; end; return getMedian(result); end. getMedian(data[]) begin sorted = data.sortingData(); medianindex = (sorted.Length - 1) / 2; return sorted[medianindex]; end.

Pseudocode di atas dapat dijelaskan sebagai berikut:

1. Akan diambil data dari koordinat (x,y) dengan radius yang telah ditentukan. Pada kondisi ini, ukuran kernel yang digunakan adalah 3 x 3. Maka radius yang digunakan adalah (3-1)/2 = 1. Sehingga akan diperoleh data baru.

2. Kemudian akan dilakukan sorting data sebelum diperoleh nilai mediannya. Setelah itu, diperoleh sorted data sebagai data yang telah disorting.

3. Untuk mendapatkan nilai median dari data tersebut, dicari nilai tengah dari panjang data. Kemudian dikembalikan nilai pada sorted [median index] sebagai nilai median.

3.3.7 Rancangan Antar Muka

Sistem akan dibangun menggunakan bahasa pemrograman C# dengan menggunakan

software Microsoft Visual Studio. Rancangan antar muka akan disesuaikan dengan kebutuhan dan software yang digunakan. Antar muka menggunakan empat form, form

utama, form about, form Help, form metode LIP.

3.3.7.1Antar Muka Mainform

Pada Mainform user dapat memilih menu yang tersedia, antar muka mainform dapat dilihat pada Gambar 3.8.

X

__

Application

Implementasi Color Constancy menggunakan

Logarithmic Image Processing

Nama NIM

Lambang USU

DEPARTEMEN S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

4

5 1

2

3

Gambar 3.8 Rancangan Form Utama

Komponen yang dipakai untuk membangun antar muka Mainform pada gambar 3.9, dapat dilihat pada tabel 3.3.

Tabel 3.3 Rincian Rancangan Form Utama

No Tipe Teks Nama Keterangan

1 MenuStrip Application Menustrip1 Terdapat beberapa sub menu

2 Label Judul Label1 -

3 Label Nama, NIM Label2 -

4 PictureBox LambangUSU PictureBox1 -

5 Label Jurusan Label2 -

Tabel di atas dapat dijelaskan sebagai berikut:

1. Pada tipe MenuStrip diberi nama Application yang terdapat beberapa sub menu. 2. Pada tipe Label1 berisi Judul dari skripsi.

3. Sedangkan pada tipe Label2 berisi Nama dan NIM.

4. Pada tipe PictureBox terdapat lambang dari Universitas Sumatera Utara. 5. Pada tipe Label selanjutnya berisi nama Jurusan, yaitu Ilmu Komputer.

3.3.7.2Antar Muka FormLIP

Antar muka Form Proses LIP dapat dilihat pada rancangan Gambar 3.10.

Application Help __ X

Citra Awal Citra Hasil

Proses LIP 1 2 3 4 5 6 7 8 9 Buka Citra Simpan Citra

Gambar 3.10 dapat dijelaskan sebagai berikut:

1. MenuStrip yang diberi nama Application yang berisi beberapa submenu. 2. MenuStrip yang diberi nama Help yaitu menu bantuan atau panduan. 3. PictureBox untuk memuat citra sebelum melalui proses LIP.

4. PictureBox untuk memuat citra setelah melalui proses LIP.

5. Label Citra Awal untuk PictureBox citra sebelum proses LIP. 6. Label Citra Hasil untuk PictureBox citra setelah proses LIP.

7. Button Buka Citra untuk membuka file citra berformat .jpg dan .bmp yang akan diolah LIP.

8. Button Proses LIP untuk memulai proses LIP.

9. Selanjutnya yaitu Button Simpan Citra untuk menyimpan citra yang telah diolah dengan LIP.

Komponen yang dipakai untuk membangun antar muka Form LIP pada Gambar 3.10, dapat dilihat pada Tabel 3.4.

Penjelasan dari tabel 3.4 dibawah yaitu, pada MenuStrip terdapat beberapa submenu yaitu

Form About dan How To Use. Pada PictureBox pertama terdapat citra awal yang akan diolah dan pada PictureBox kedua terdapat citra hasil yang telah diolah.

Selanjutnya, terdapat label Citra Awal dan Citra Hasil. Terdapat PictureBox Buka Citra

untuk membuka file citra yang akan diproses, lalu PictureBox ProsesLIP untuk memproses file citra, dan PictureBox Simpan Citra untuk menyimpan citra yang telah diproses.

Tabel 3.4 Komponen pada Form LIP

No Tipe Teks Nama Keterangan

1 MenuStrip Application Menustrip1 Terdapat sub menu

2 MenuStrip Help MenuStrip2 Submenu untuk ke Form About dan How To use

3 PictureBox Citra Awal PBcitraAwal Menampilkan citra awal yang akan diproses

4 PictureBox Citra Hasil PBcitraHasil Menampilkan citra hasil yang sudah diproses

5 Label Citra Awal Label1 - 6 Label Citra Hasil Label2 -

7 PictureBox Buka Citra PBbukaCitra Membuka file citra yang akan diproses

8 PictureBox ProsesLIP PBprosesLIP Memproses file citra

9 PictureBox Simpan Citra PBsimpanCitra Menyimpan citra yang telah diproses

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Tahap implementasi sistem merupakan lanjutan dari tahap perancangan sistem. Pada tahap ini dilakukan implementasi sistem ke dalam bahasa pemrograman berdasarkan hasil analisis dan perancangan sistem. Pada tahap implementasi ini digunakan perangkat lunak dan perangkat keras, sehingga sistem yang dibangun dapat diselesaikan dengan baik.

Sistem ini dibangun dengan menggunakan Software Microsoft Visual Studio 2010 Version 10.0.030319.1 RTMRel. Pada sistem terdapat 4 halaman utama yang digunakan, terdiri dari:

1. Form Awal

2. Form Utama

3. Form About 4. Form How To Use

4.1.1 Tampilan Halaman Form Awal

Halaman Form Awal merupakan halaman yang muncul pertama sekali pada saat sistem dijalankan. Tampilan halaman form Awal dapat dilihat pada Gambar 4.1.

Gambar 4.1 Tampilan Halaman Form Awal

Halaman Form Awal terdapat 1 buah Menu yaitu tombol Application dimana terdapat 2 buah submenu yaitu submenu Logarithmic Image Processing yang akan menghubungkan pada proses LIP dan submenu Exit untuk keluar dari aplikasi.

4.1.2 Tampilan Halaman Form Utama

Halaman Form Utama merupakan halaman yang digunakan untuk melakukan proses

Logarithmic Image Processing. Pengguna dapat mengakses halaman form Utama

dengan cara memilih Logarithmic Image Processing pada Menu Application pada form

Awal. Pada menu Application terdapat 1 buah submenubar yaitu submenubar Exit

untuk keluar dari aplikasi. Tampilan halaman form utama dapat dilihat pada Gambar 4.2.

Gambar 4.2 Tampilan Form Utama

4.1.3 Tampilan Halaman FormAbout

Halaman menu About merupakan halaman yang digunakan untuk melihat informasi tentang program dan programmer, tampilan Menu About dapat dilihat pada Gambar 4.3 di bawah ini:

4.1.4 Tampilan Halaman Form How To Use

Halaman menu How To Use merupakan halaman yang berisikan panduan dalam menggunakan sistem ini. Pada halaman How To Use, dijelaskan langkah-langkah melakukan proses Color Constancy yang merupakan proses utama pada sistem ini. Tampilan halaman menu How To Use dapat dilihat pada Gambar 4.4 di bawah ini:

Gambar 4.4 Tampilan Halaman Form How To Use

4.2 Pengujian Sistem

Tahap pengujian sistem merupakan lanjutan dari tahap implementasi sistem. Fungsi dari tahap pengujian sistem adalah untuk membuktikan bahwa sistem yang telah diimplementasikan dari hasil analisis dan perancangan sistem telah berjalan dengan baik.

4.2.1 Pengujian Proses Open File

Pengujian proses open file dapat dilakukan dengan memilih tombol open file citra.

memilih citra yang akan diproses. Hasil pop-up window open file citra dapat dilihat pada Gambar 4.5 di bawah ini:

Gambar 4.5 Tampilan hasil open file citra

Setelah salah satu citra yang akan diproses telah dipilih maka citra akan ditampilkan pada picture box form utama, kemudian akan muncul window box yang menyatakan citra telah berhasil dibuka. Tampilan open file citra dapat dilihat pada gambar 4.6.

Setelah proses Open File Citra dilakukan maka pengguna dapat mengatur scrollbar

untuk menentukan kecerahan dan ketajaman gambar. Lalu tentukan persentase dari normalisasi warna secara manual agar warna yang dihasilkan lebih baik. Setelah itu

Dokumen terkait