Anda di halaman 1dari 49

i

LEMBAR PENGESAHAN

ii
Telah dilaksanakan Praktikum ke 5. Mata Kuliah Praktikum Pengolahan Citra Digital di
Laboratorium information Processing pada hari senin, Tgl 10 April 2017 s/d 17 April 2017
dengan Materi Praktikum :

PERBAIKAN CITRA DAN HISTOGRAM


( ENHANCEMENT 2 )

Oleh:
Nama : Putri wahyuni
NIM : 1457301009
Kelas : TI 3.2

Disetujui oleh:
Dosen Pengasuh Mata Kuliah Nilai :

Sila Abdullah Syakri, S.T, M.T


NIP. 19751205 199903 1 003

DAFTAR ISI
LEMBAR PENGESAHAN........................................................................................................i

iii
DAFTAR ISI..............................................................................................................................ii

DAFTAR GAMBAR................................................................................................................iv

DAFTAR TABEL.....................................................................................................................vi

PRAKTIKUM 5.........................................................................................................................1

5.1 Tujuan Praktikum...........................................................................................................1

5.2 Dasar Teori.....................................................................................................................1

5.2.1 Enhancement..............................................................................................................1

5.2.2 Brightness..................................................................................................................1

5.3 Tugas Pendahuluan........................................................................................................2

5.4 Alat dan Bahan...............................................................................................................3

5.5 Langkah Kerja (VB 6.0).................................................................................................3

5.5.1 Percobaan (Brightness)..............................................................................................4

5.6 Langkah Kerja (VBnet)..................................................................................................9

5.6.1 Percobaan (Brightness)............................................................................................10

5.7 Tugas (Brightness Positif dan Negative)......................................................................16

5.7.1 Langkah Kerja Menggunakan VB6.0......................................................................16

5.7.2 Langkah Kerja Menggunakan VBnet......................................................................17

5.7.3 Tugas2......................................................................................................................18

5.8 Hasil Percobaan............................................................................................................18

5.8.1 Percobaan VB6.0 (Brightness)................................................................................18

5.8.2 Percobaan VBnet (Brightness).................................................................................21

5.8.3 Tugas1 VB 6.0 ( Brightness Positif-Negative)........................................................24

5.8.4 Tugas1 VBnet ( Brightness Positif-Negative).........................................................27

5.9 Analisa..........................................................................................................................30

5.9.1 Analisa Perbaris.......................................................................................................30

5.9.2 Analisa Persistem.....................................................................................................40

5.10 Kesimpulan................................................................................................................41

iv
DAFTAR PUSTAKA..............................................................................................................42

DAFTAR GAMBAR

v
DAFTAR TABEL

vi
vii
PRAKTIKUM 5
PERBAIKAN CITRA DAN HISTOGRAM
( ENHANCEMENT 2 )

5.1 Tujuan Praktikum


1. Mahasiswa dapat membuat program untuk memperjelas Citra (Brightness)
2. Mahasiswa dapat membuat program untuk mengubah Brightness dengan posisi
negative dan positif.

5.2 Dasar Teori

5.2.1 Enhancement
Penajaman citra (enhancement) dalam pengertiannya adalah proses mengubah nilai
piksel secara sistematis sehingga menghasilkan efek kenampakan citra yang lebih ekspresif
sesuai dengan kebutuhan pengguna. Meliputi semua operasi yang menghasilkan citra baru
dengan kenampakan visual dan karakteristik spektral yang berbeda. Penajaman Kontras ini
bertujuan untuk memperoleh kesan kontras yang lebih tinggi. Dengan mentransformasi
seluruh nilai kecerahan maka hasilnya adalah berupa citra baru dengan nilai maksimum awal,
dan nilai minimum baru lebih rendah dari nilai minimum awal dan jika dilihat secara visual
hasilnya berupa citra baru yang variasi hitam putihnya lebih menonjol sehingga tampak lebih

tajam dan memudahkan proses interpretasi.

5.2.2 Brightness
Operasi dasar yang sering dilakukan pada citra adalah peningkatan
kecerahan (brightness).Operasi ini diperlukan dengan tujuan untuk membuat gambar menjadi
lebih terang.Untuk membuat citra lebih terang atau lebih gelap, kita melakukan pengubahan
kecerahan gambar. Kecerahan/kecemerlangan gambar dapat diperbaiki dengan
menambahkan (atau mengurangkan) sebuah konstanta kepada (atau dari) setiap pixel di
dalam citra. Akibat dari operasi ini, histogram citra mengalami pergeseran.
Sebuah citra dengan derajat keabuan 256, akan tampak gelap jika seluruh komponen
warna berada mendekati 0. sebaliknya, citra akan tampak terang jika seluruh komponennya
mendekati angka 255.h

1
Brightness adalah proses untuk kecerahan citra, jika intensitas pixel dikurangi dengan
nilai tertentu maka citra akan menjadi lebih gelap, dan sebaliknya jika intensitas pixelnya
ditambah dengan nilai tertentu maka akan lebih terang.
Dengan aturan jika intensitas pixel berada antara 0-255 maka, jika pixel >255 diset
menjadi 255 dan jika pixel<0 diset menjadi 0.
Contoh hasil penambahan kecerahan:

 
Gambar 5. 1 Hasil Penambahan Brightness
5.3 Tugas Pendahuluan
1. Tuliskan tujuan praktikum
2. Jelaskan cara mengubah citra menjadi cerah
3. Jelaskan cara mengubah citra menggunakan brightness kondisi positif dan negatif

Jawaban:
1. Tujan Praktikum:
 Mahasiswa dapat membuat program untuk memperjelas Citra (Brightness)
 Mahasiswa dapat membuat program untuk mengubah Brightness dengan
posisi negative dan positif.
2. Cara Mengubah citra menjadi cerah:
 menambahkan (atau mengurangkan) sebuah konstanta kepada (atau dari)
setiap pixel di dalam citra. Akibat dari operasi ini, histogram citra
mengalami pergeseran.
 Sebuah citra dengan derajat keabuan 256, akan tampak gelap jika seluruh
komponen warna berada mendekati 0. sebaliknya, citra akan tampak terang
jika seluruh komponennya mendekati angka 255.h
3. cara mengubah citra menggunakan brightness kondisi positif dan negatif adalah:
menambahkan suatu konstanta terhadap nilai seluruh piksel. Misalkan, f(y, x)
menyatakan nilai piksel pada citra berskala keabuan pada koordinat (y, x). Maka,
citra baru “ g(y,x)= f(y,x)+ β “. Telah meningkat nilai kecerahan semua pikselnya

2
sebesar β terhadap citra asli f(y, x). Apabila β berupa bilangan negatif, kecerahan
akan menurun atau menjadi lebih gelap.

5.4 Alat dan Bahan


1. Aplikasi Visual Basic 6.0
2. Aplikasi Visual Basic net
3. Laptop dengan:
- Operating system : Windows 7 Profesional.
- Processor : AMD E1-2500 APU with Radeon (TM) HD Graphics 1.40GHz.

- System type : 64-bit Operating System, x64-based processor.

5.5 Langkah Kerja (VB 6.0)


1. Buka software Visual Basic 6.0 pada icon seperti gambar dibawah ini:

Gambar 5. 2 Icon untuk VB6.0


2. Setelah terbuka, maka akan tampil seperti gambar dibawah ini:

Gambar 5. 3 Halaman utama VB 6.0 untuk membuat project

3
3. Kemudian, pilih standart EXE, pilih open, makan akan tampil sebuah form
seperti pada gambar berikut ini:

ToolBar
Form

Nama Project

ToolBox Properties

Gambar 5. 4 Form Memberi warna sebelum didesign

5.5.1 Percobaan (Brightness)


- Design formnya sehingga menjadi seperti gambar dibawah ini:

4
PictureBox1 PictureBox3

PictureBox4

PictureBox2

HScroolBar1 Button1 Button2 Button3


PictureBox3 PictureBox3 Button1 Button1

TextBox1
PictureBox3

Gambar 5. 5 Form Brightness yang sudah didesign

- Komponen yang diperlukan pada form diatas adalah:

Komponen Properties Nilai


PictureBox1 - Gambar yang diinginkan
PictureBox2 - -
PictureBox3 - -
PictureBox2 - -
HscroolBar1 Min = 0, Max=255 -
TextBox1 - -
CommandButton1 Caption Brightness
CommandButton2 Caption Histogram
CommandButton2 Caption Keluar

Tabel 5.1 Tabel Komponen pada design form brightness pada VB6.0

- Kemudian pada PictureBox1 masukkan foto dengan cara klik pada picture pada
jendela properties tepatnya terdapat disamping kanan halaman VB 6.0, lalu pilih satu
foto sesuai dengan keinginan, seperti gambar berikut ini:

5
Gambar 5. 6 Cara memasukkan gambar pada picturebox1

- Kemudian klik pada kolom open, maka picture tersebut akan tersetting pada
picturebox1 seperti pada gambar dibawah ini:

Gambar 5. 7 Form yang sudah dimasukkan gambar

6
- Deklarasikan variabel yang akan digunakan pada program-program selanjutnya,
ketikkan program berikut untuk pendeklarasian:

Dim Cerah, bm, bh, bb As Integer

- Kemudian ketikkan program dibawah ini pada HscroolBar1 yang berfungsi untuk
menampilkan nilai yang discrool pada TextBox1 dengan cara double click pada
HscroolBar, berikut adalah programnya:
Private Sub HScroll1_Change()
Cerah = HScroll1.Value
Text1 = Cerah
End Sub

- Kemudian ketikkan program dibawah ini dengan cara double click pada
commandbutton1 atau tepatnya pada kolom Brightness, fungsinya agar button
tersebut berfungsi untuk membrighnesskan gambar dari citra asli berdasarkan nilai
berapa yang ingin di brightness pada saat diklik, berikut adalah programnya:

Private Sub Command1_Click()


For i = 1 To Picture1.Width Step 15
For j = 1 To Picture1.Height Step 15
warna = Picture1.Point(i, j)
r = warna And RGB(255, 0, 0)
g = Int((warna And RGB(0, 255, 0)) / 256)
b = Int(Int((warna And RGB(0, 0, 255)) / 256) /
256)
grey = (r + g + b) / 3
bm = grey + Text1
bh = grey + Text1
bb = grey + Text1
Picture1.PSet (i, j), RGB(grey, grey, grey)
Picture2.PSet (i, j), RGB(bm, bh, bb)
Next j
Next i
End Sub

- Kemudian ketikkan program dibawah ini dengan cara double click pada
commandbutton2 atau tepatnya pada kolom Histogram, fungsinya adalah ketika diklik
pada button tersebut maka akan keluar histogram dari picturebox1 dan picturebox3,
berikut adalah programnya:

7
Private Sub Histogram_Click()
' membuat histogram asli
Picture3.Cls
Picture4.Cls
Dim hr(256), hg(256), hb(256) As Integer
For i = 1 To 256
hr(i) = 0
hg(i) = 0
hb(i) = 0
Next i
For i = 0 To Picture1.Width Step 15
For j = 0 To Picture1.Height Step 15
warna = Picture1.Point(i, j)
r = warna And RGB(255, 0, 0)
g = Int((warna And RGB(0, 255, 0)) / 256)
b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256)
grey = (r + g + b) / 3
hr(r + 1) = hr(r + 1) + 1
hg(g + 1) = hg(g + 1) + 1
hb(b + 1) = hb(b + 1) + 1
Next j
Next i
ht2 = Picture3.Height - 70
For i = 1 To 256
xp = 15 * (i - 1) + 1
Picture3.Line (xp, ht2 - hr(i))-(xp, ht2), RGB(255, 0, 0)
Picture3.Line (xp, ht2 - hg(i))-(xp, ht2), RGB(0, 255, 0)
Picture3.Line (xp, ht2 - hb(i))-(xp, ht2), RGB(0, 0, 255)
Next i
' membuat histogram hasil
For i = 0 To Picture2.Width Step 15
For j = 0 To Picture2.Height Step 15
warna = Picture2.Point(i, j)
r = warna And RGB(255, 0, 0)
g = Int((warna And RGB(0, 255, 0)) / 256)
b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256)
grey = (r + g + b) / 3
hr(r + 1) = hr(r + 1) + 1
hg(g + 1) = hg(g + 1) + 1
hb(b + 1) = hb(b + 1) + 1
Next j
Next i
ht2 = Picture4.Height - 70
For i = 1 To 256
xp = 15 * (i - 1) + 1
Picture4.Line (xp, ht2 - hr(i))-(xp, ht2), RGB(255, 0, 0)
Picture4.Line (xp, ht2 - hg(i))-(xp, ht2), RGB(0, 255, 0)
Picture4.Line (xp, ht2 - hb(i))-(xp, ht2), RGB(0, 0, 255)
Next i
End Sub

- Kemudian ketikkan program dibawah ini dengan cara yang sama dengan button1 atau
2 yaitu double click pada commandbutton3 atau tepatnya pada kolom keluar yang
berfungsi untuk keluar dari output tersebut, berikut adalah programnya:

8
Private Sub
Command3_Click()
Unload Me
End Sub

- Save project dengan nama Brightness dan jalankan dengan f9

5.6 Langkah Kerja (VBnet)


1. Buka software VBNet, seperti pada gambar dibawah ini:

Gambar 5. 8 Loading untuk membuka VBnet

2. Setelah terbuka, pilih new project untuk membuat projek baru pada halaman utama,
seperti yang terlihat pada gambar dibawah ini:

Gambar 5. 9 Halaman untuk membuat project baru

3. Kemudian pilih pilihan pertama, dan buat nama sesuai keinginan, lalu klik OK seperti
gambar dibawah ini:

9
Gambar 5. 10 Halaman VBnet untuk membuat nama project

4. Kemudian akan muncul form baru seperti gambar berikut:

ToolBox
Nama
Project
Form Baru

Gambar 5. 11 Halaman Form baru


5.6.1 Percobaan (Brightness)
- Kemudian design form tersebut dengan cara drag and drop komponen-komponen
yang dibutuhkan dari ToolBox bawa ke form, sehingga menjadi seperti gambar
dibawah ini:

10
PictureBox1
Button1

Chart1
Button3

PictureBox2
Button1

Chart2
Button3

Button1
Track Button3
Bar1 Button1
TextBox1 Button2
Gambar 5. 12 Form yang sudah didesign

- Komponen yang diperlukan pada form diatas adalah:

Komponen Properties Nilai


PictureBox1 Image Gambar yang dinginkan
PictureBox2 Image -
Chart1 - -
Chart2 - -
TrackBar1 Min=0, Max=255 -
TextBox1 - -
Button1 Text Brightness
Button2 Text Histogram
Button3 Text Keluar

Tabel 5.2 Tabel Komponen pada design form Brightness pada VBnet

- Kemudian masukkan gambar ke dalam picturebox1 sesuai dengan keinginan, dengan


cara pilih kolom Image pada jendela properties yang terdapat pada halaman Vbnet,
kemudian akan tampil jendela select resource, klik pada kolom import untuk memilih
gambar pada folder seperti pada gambar dibawah ini:

11
Gambar 5. 13 Halaman untuk memasukkan gambar

- Maka akan jadi seperti gambar dibawah ini:

Gambar 5. 14 Form yang sudah dimasukkan gambar


- Lakukan juga hal yang sama seperti step diatas pada picturebox2 untuk memasukkan
gambar pada picturebox2, sehingga menjadi seperti gambar berikut:

12
Gambar 5. 15 Hasil akhir design form Brightness

- Deklarasikan variabel-variabel yang akan digunakan nantik pada program


selanjutnya, ketikkan program dibawah ini:

Public hisG1(0 To 255) As Integer


Public hisG2(0 To 255) As Integer
Dim Hist1(256), Hist2(256) As Integer
Dim hmaxg1 As Integer
Dim hmaxg2 As Integer
Dim gambar, gambarGR As Bitmap
Dim gambar1, gambar2 As Bitmap
Dim CDF1(256) As Integer
Dim CDF2(256) As Integer
Dim HV(256) As Integer
Dim grf As Integer

- Kemudian ketik program dibawah ini untuk menampilkan nilai yang discrool pada
texbox dengan cara double click pada HscroolBar, berikut adalah programnya:

Private Sub TrackBar1_Scroll(ByVal sender As System.Object,


ByVal e As System.EventArgs) Handles TrackBar1.Scroll
TextBox1.Text = TrackBar1.Value
End Sub

- Kemudian ketik program dibawah ini untuk membrightnesskan gambar dari citra asli
menurut nilai yang dscrool dengan cara double click pada button1, berikut adalah
programnya:

13
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim x, xb As Integer
Dim gambar1 As New Bitmap(PictureBox1.Image)
Dim gambar2 As New Bitmap(PictureBox2.Image)
hmaxg1 = 0
hmaxg2 = 0
For i As Integer = 0 To 255
hisG1(i) = 0
hisG2(i) = 0
Next
Dim nilai As Integer = TrackBar1.Value
For i As Integer = 0 To PictureBox1.Width - 1
For j As Integer = 0 To PictureBox1.Height - 1
Dim r As Integer = gambar1.GetPixel(i, j).R
Dim g As Integer = gambar1.GetPixel(i, j).G
Dim b As Integer = gambar1.GetPixel(i, j).B
x = (r + g + b) / 3
xb = x + nilai
If xb >= 255 Then
xb = 255
ElseIf xb <= 0 Then
xb = 0
End If
hisG1(x) = hisG1(x) + 1
hisG2(xb) = hisG2(xb) + 1
gambar1.SetPixel(i, j, Color.FromArgb(x, x,
x))
gambar2.SetPixel(i, j, Color.FromArgb(xb, xb,
xb))
Next j
Next i
PictureBox1.Image = gambar1
PictureBox2.Image = gambar2
For tinggi1 As Integer = 0 To 255
If hisG1(tinggi1) > hmaxg1 Then
hmaxg1 = hisG1(tinggi1)
End If
Next
For tinggi2 As Integer = 0 To 255
If hisG2(tinggi2) > hmaxg2 Then
hmaxg2 = hisG2(tinggi2)
End If
Next
End Sub

- Kemudian ketik program dibawah ini untuk menampilkan histogram pada picture3
dan 4 dari picture 1 dan 2 dengan cara double click pada button2, berikut adalah
programnya:

14
Private Sub Button2_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button2.Click
'Menampilkan Histogram pada Chart1
gambar = New Bitmap(PictureBox1.Image)
gambarGR = New Bitmap(PictureBox1.Image)
Dim Pb, Pc As Integer
Dim GR, r, g, b As Double
With gambar
For Pc = 0 To .Width - 1
For Pb = 0 To .Height - 1
r = .GetPixel(Pc, Pb).R
g = .GetPixel(Pc, Pb).G
b = .GetPixel(Pc, Pb).B
GR = (r + g + b) / 3
Hist1(GR) += 1
Hist2(r) += 1
.SetPixel(Pc, Pb, Color.FromArgb(GR, GR,
GR))
Next
PictureBox1.Image = gambar
PictureBox1.Refresh()
Next
End With
For i = 0 To 255
Me.Chart1.Series("Histogram1").Points.AddXY(i,
Hist1(i))
Next

'Menampilkan Histogram pada Chart2


gambar = New Bitmap(PictureBox2.Image)
gambarGR = New Bitmap(PictureBox2.Image)
With gambar
For Pc = 0 To .Width - 1
For Pb = 0 To .Height - 1
r = .GetPixel(Pc, Pb).R
g = .GetPixel(Pc, Pb).G
b = .GetPixel(Pc, Pb).B
GR = (r + g + b) / 3
Hist1(GR) += 1
Hist2(r) += 1
.SetPixel(Pc, Pb, Color.FromArgb(GR, GR,
GR))
Next
PictureBox2.Image = gambar
PictureBox2.Refresh()
Next
End With
For i = 0 To 255
Me.Chart2.Series("Histogram2").Points.AddXY(i,
Hist1(i))
Next
End Sub

15
- Kemudian ketik program dibawah ini untuk keluar dari output tersebut, dengan cara
yang, berikut adalah programnya:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
End
End Sub
End Class

- Save Project dengan nama Brightness dan jalankan dengan F5

5.7 Tugas (Brightness Positif dan Negative)

5.7.1 Langkah Kerja Menggunakan VB6.0


1. Untuk membuat project baru, ikuti langkah kerja VB6.0 dari step 1-3
2. Kemudian setelah tampil form baru, design form tersebut sehingga menjadi
seperti gambar pada percobaan diatas.
3. Kemudian pada PictureBox1 masukkan foto dengan cara klik pada picture pada
jendela properties tepatnya terdapat disamping kanan halaman VB 6.0, lalu pilih
satu foto sesuai dengan keinginan, seperti pada gambar 5.6 pada percobaan
(Brightness) VB6.0
4. Kemudian klik pada kolom button, maka picture tersebut akan tersetting pada
picturebox1
5. Selanjutnya, klik pada HscrollBar1 untuk mnsetting nilai minimal dan maximal,
arahkan kursor pada jendela properties, kemudian klik pada kolom maximal, isi
nilai dengan 127 dan klik pada kolom minimal, isi nilai dengan -127.
6. Kemudian ketikkan program pada HscroolBar1 seperti program yang ada pada
HscrollBar1 pada percobaan VB6.0 diatas, yang berfungsi untuk menampilkan
nilai yang discroll pada TextBox1 dengan cara double click pada HscrollBar1.
7. Kemudian ketikkan program dibawah ini dengan cara double click pada
commandbutton1 atau tepatnya pada kolom Brightness, fungsinya agar button
tersebut berfungsi untuk membrighnesskan gambar dari citra asli berdasarkan nilai
berapa yang ingin di brightness pada saat diklik, berikut adalah programnya:

16
Private Sub Command1_Click()
Picture4.BackColor = vbWhite
bg = Val(HScroll1)

For i = 1 To Picture1.Width Step 15


For j = 1 To Picture1.Height Step 15
warna = Picture1.Point(i, j)
r = warna And RGB(255, 0, 0)
g = Int((warna And RGB(0, 255, 0)) / 256)
b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256)
x = (r + g + b) / 3
xb = x + bg
If xb >= 255 Then xb = 255
If xb <= 0 Then xb = 0
Picture1.PSet (i, j), RGB(x, x, x)
Picture2.PSet (i, j), RGB(xb, xb, xb)
Next j
Next i
End Sub

8. Kemudian ketikkan program pada Button2 (Histogram) pada percobaan diatas


dengan cara double click pada commandbutton2 atau tepatnya pada kolom
Histogram, fungsinya adalah ketika diklik pada button tersebut maka akan keluar
histogram dari picturebox1 dan picturebox2.
9. Kemudian ketikkan program Unload Me dengan cara yang sama dengan
button1 atau 2 yaitu double click pada commandbutton3 atau tepatnya pada kolom
keluar yang berfungsi untuk keluar dari output tersebut.
10. Save project dengan nama Brightness P-N dan jalankan dengan f9

5.7.2 Langkah Kerja Menggunakan VBnet


- Untuk membuat project baru, ikuti langkah kerja VBnet dari step 1-4
- Kemudian design form tersebut dengan cara drag and drop komponen-komponen
yang dibutuhkan dari ToolBox bawa ke form, sehingga menjadi seperti gambar 5.12
pada percobaan Brightness VBnet diatas
- Kemudian masukkan gambar ke dalam picturebox1 sesuai dengan keinginan, dengan
cara pilih kolom Image pada jendela properties yang terdapat pada halaman Vbnet,
kemudian akan tampil jendela select resource, klik pada kolom import untuk memilih
gambar pada folder seperti pada gambar 5.13 pada percobaan Brightness VBnet
diatas.

17
- Kemudian ketik program yang sama pada HscrollBar1 pada percobaan VBnet diatas,
fungsinya adalah untuk menampilkan nilai yang discroll pada texbox dengan cara
double click pada HscroolBar1.
- Kemudian setting nilai minimal maximalnya pada jendela properties dengan nilai
minimal = -127 dan nilai maximal = 127
- Kemudian ketik program yang sama dengan percobaanVbnet diatas pada Button1 atau
tepatnya pada kolom Brightness, fungsinya adalah untuk membrightnesskan gambar
dari citra asli menurut nilai yang dscroll dengan cara double click pada button1.
- Kemudian ketik program sama dengan percobaan diatas pada kolom Histogram,
fungsinya adalah untuk menampilkan histogram pada picture3 dan 4 dari picture 1
dan 2 dengan cara double click pada button2.
- Kemudian ketik program Unload me untuk kuluar dari output tersebut, dengan cara
yang double click pada button tersebut.
- Setelah semua slelesai, save Project dengan nama Brightness dan jalankan dengan F5

5.7.3 Tugas2
Menjelaskan antara kondisi negatif dan positif:
Jika kondisi negatif, kualitas citra yang dibrightness adalah berwarna hitam,
sedangkan jika kondisi positif, maka kualitas citra yang dibrightness adalah berwarna
putih

5.8 Hasil Percobaan

5.8.1 Percobaan VB6.0 (Brightness)


- Setelah projectnya disave,Untuk melihat outputnya jalankan dengan f9. Maka
output akan tampil seperti pada gambar dibawah ini:

18
Gambar 5. 16 Output percobaan Brightness pada VB6.0

- Kemudian untuk mengubah citra menjadi brightness, scroll nilai yang ingin
dibrightness dan akan tampil nilai yang discroll pada textbox seperti pada
gambar berikut:

Gambar 5. 17 Output mengisi nilai pada textBox dengan menggunakan scroll

- Kemudian klik pada kolom Brightness seperti yang terlihat dibawah ini:

19
Gambar 5. 18 Output ketika diklik kolom Brightness

- Kemudian untuk menampilkan histogram, klik pada kolom histogram, maka


hasilnya akan tampil seprti gambar dibawah ini:

Gambar 5. 19 Output Brightness ketika diklik tombol Histogram

- Selanjutnya, jika kita menginginkan citra yang lebih Brightness maka srollkan
nilai sampai angka paling besar, maka citra akan terlihat lebih terang atau
lebih ke citra berwarna putih dan histogramnya juga akan berubah seperti pada
gambar dibawah ini:

20
Gambar 5. 20 Output ketika diinput nilai yang lebih tinggi

- Untuk keluar dari output tersebut maka cukup dengan klik pada kolom keluar,
maka akan keluar dari output tersebut atau halaman outputnya ditutup

5.8.2 Percobaan VBnet (Brightness)


- Setelah projectnya disave,Untuk melihat outputnya jalankan dengan f5. Maka
output akan tampil seperti pada gambar dibawah ini:

Gambar 5. 21 Output Brightness pada VBnet

21
- Kemudian untuk mengubah citra menjadi brightness, scroll nilai yang ingin
dibrightness dan akan tampil nilai yang discroll pada textbox seperti pada
gambar berikut:

Gambar 5. 22 Output dimasukkan nilai menggunakan scroll

- Kemudian klik pada kolom Brightness seperti yang terlihat dibawah ini:

Gambar 5. 23 Output ketika diklik pada tombol Brightness

22
- Kemudian untuk menampilkan histogram, klik pada kolom histogram, maka
hasilnya akan tampil seprti gambar dibawah ini:

Gambar 5. 24 Output ketika diklik tombol Histogram

- Selanjutnya, jika kita menginginkan citra yang lebih Brightness maka srollkan
nilai sampai angka paling besar, maka citra akan terlihat lebih cerah atau lebih
ke citra berwarna putih dan histogramnya juga akan berubah seperti pada
gambar dibawah ini:

23
Gambar 5. 25 Output ketika nilai yang diubah mmenjadi nilai yang lebih tinggi

- Untuk keluar dari output tersebut maka cukup dengan klik pada kolom keluar,
maka akan keluar dari output tersebut atau halaman outputnya ditutup

5.8.3 Tugas1 VB 6.0 ( Brightness Positif-Negative)


- Setelah projectnya disave,Untuk melihat outputnya jalankan dengan f9. Maka
output akan tampil seperti pada gambar dibawah ini:

24
Gambar 5. 26 Output Brightness Positif-Negative pada VB6.0

- Kemudian untuk mengubah citra menjadi brightness, scroll nilai negative yang
ingin dibrightness dan akan tampil nilai yang discroll pada textbox seperti
pada gambar berikut:

Gambar 5. 27 Output nilai yang dimasukkan adalah bernilai negatif

25
- Kemudian klik pada kolom Brightness seperti yang terlihat dibawah ini:

Gambar 5. 28 Output ketika diklik pada tombol Brightness

- Kemudian untuk menampilkan histogram, klik pada kolom histogram, maka


hasilnya akan tampil seprti gambar dibawah ini:

Gambar 5. 29 Output ketika diklik pada kolom Histogram

26
- Selanjutnya, jika kita menginginkan citra yang lebih cerah , maka scrollkan
nilai positif sampai angka paling besar, maka citra akan terlihat lebih cerah
dan histogramnya juga akan berubah seperti pada gambar dibawah ini:

Gambar 5. 30 Output nilai yang dimasukkan bernilai positif

- Untuk keluar dari output tersebut maka cukup dengan klik pada kolom keluar,
maka akan keluar dari output tersebut atau halaman outputnya ditutup

5.8.4 Tugas1 VBnet ( Brightness Positif-Negative)


- Setelah projectnya disave,Untuk melihat outputnya jalankan dengan f5. Maka
output akan tampil seperti pada gambar dibawah ini:

27
Gambar 5.31 Output Brightness Positif-Negative pada VBnet

- Kemudian untuk mengubah citra menjadi brightness, scroll nilai negative yang
ingin dibrightness dan akan tampil nilai yang discroll pada textbox seperti
pada gambar berikut:

Gambar 5.32 Output dimasukkan nilai pada TexBox1 menggunakan Scroll

28
- Kemudian klik pada kolom Brightness seperti yang terlihat dibawah ini:

Gambar 5.33 Output ketika diklik pada tombol Brightness

- Kemudian untuk menampilkan histogram, klik pada kolom histogram, maka


hasilnya akan tampil seprti gambar dibawah ini:

Gambar 5.34 Output ketika diklik pada tombol Histogram

29
- Selanjutnya, jika kita menginginkan citra yang lebih terang, maka srollkan
nilai positif sampai angka paling besar, maka citra akan terlihat lebih terang
dan histogramnya juga akan berubah seperti pada gambar dibawah ini:

Gambar 5.35 Output ketika dimasukkan nilai lebih besar

- Untuk keluar dari output tersebut maka cukup dengan klik pada kolom keluar,
maka akan keluar dari output tersebut atau halaman outputnya ditutup

5.9 Analisa

5.9.1 Analisa Perbaris


 Analisa VB6.0
 Dim Cerah, bm, bh, bb As Integer Perintah ini berfungsi untuk
mendeklarasika variabel yang akan digunakan pada perintah-perintah berikutnya
 Private Sub Command1_Click()Perintah ini berfungsi untuk mengawali sub
dari perintah-perintah didalam command1
 For i = 1 To Picture1.Width Step 15 Perintah ini berfungsi untuk
perulangan for i =1 sampai lebar picture1 ke step 15, dimana perintah ini akan
berulang-ulang sampai 15 step

30
 For j = 1 To Picture1.Height Step 15 Perintah ini berfungsi untuk
perulangan for j =1 sampai lebar picture1 ke step 15, dimana perintah ini akan
berulang-ulang sampai 15 step
 warna = Picture1.Point(i, j) Perintah ini berfungsi untuk memberi warna
pada picture1 dengan mengambil point atau nilai dari i dan j
 r = warna And RGB(255, 0, 0) Perintah ini berfungsi untuk memberi warna r
atau red, dengan nilai R = 255, G = 0, B = 0. Pada perintah ini, R bernilai karena
warna R yang akan diset
 g = Int((warna And RGB(0, 255, 0)) / 256) Perintah ini berfungsi untuk
memberi nilai g atau green dengan nilai R = 0, G = 255, B=0. Pada perintah ini, G
bernilai karena warna G yang akan diset dan dibagi 256 karena batas nilai warna RGB
adalah 256
 b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256) Perintah ini
berfungsi untuk memberi nilai B atau Blue dengan nilai R = 0, G = 0, B=255. Pada
perintah ini, B bernilai karena warna B yang akan diset dan dibagi 256 karena batas
nilai warna RGB adalah 256
 grey = (r + g + b) / 3 Perintah ini berfungsi untuk mencari warna grey
dengan cara nilai r ditambah nilai g ditambah nilai b kemudian dibagi 3
 bm = grey + Text1 Perintah ini berfungsi untuk mencari nilai bm yaitu nilai grey
ditambah nilai yang dinput pada text1
 bh = grey + Text1 Perintah ini berfungsi untuk mencari nilai bh yaitu nilai grey
ditambah nilai yang dinput pada text1
 bb = grey + Text1 Perintah ini berfungsi untuk mencari nilai bb yaitu nilai grey
ditambah nilai yang dinput pada text1
 Picture1.PSet (i, j), RGB(grey, grey, grey) Perintah ini berfungsi
untuk mengeset warna RGB yang diambil dari pencarian hasil grey pada picture1 dan
diambil dari perulangan i dan j
 Picture2.PSet (i, j), RGB(bm, bh, bb) Perintah ini berfungsi untuk
mengeset warna RGB yang diambil dari pencarian hasil bm, bh, bb pada picture2 dan
diambil dari perulangan i dan j
 Next j Perintah ini berfungsi untuk melanjutkan perulangan dari for j
 Next i Perintah ini berfungsi untuk melanjutkan perulangan dari for i
 End Sub Perintah ini berfungsi untuk mengakhiri sub dari command1

31
 Private Sub Histogram_Click()Perintah ini berfungsi untuk mengawali sub
dari button histogram
 ' membuat histogram asli Perintah ini berfungsi sebagai komentar atau judul
saja dari perintah-perintah dibawah ini yaitu perintah dibawah ini adalah untuk
membuat histogram, tanda petik satu merupakan kode dari komentar pada VB6.0
 Picture3.Cls Perintah ini berfungsi sebagai class atau bagian dari picure3
 Picture4.Cls Perintah ini berfungsi sebagai class atau bagian dari picure4
 Dim hr(256), hg(256), hb(256) As Integer Perintah ini berfungsi untuk
mendeklarasikan variabel hr dengan nilai 256, hg dengan nilai 256 dan hb juga
bernilai 256 dengan tipe data integer. Integer merupakan tipe data untuk variable yang
bernilai bilangan bulat
 For i = 1 To 256 Perintah ini berfungsi untuk perulangan for i, dimulai dari 1
sampai 256
 hr(i) = 0 Perintah ini berfungsi sebagai variabel hr bernilai 0
 hg(i) = 0 Perintah ini berfungsi sebagai variabel hg bernilai 0
 hb(i) = 0 Perintah ini berfungsi sebagai variabel hb bernilai 0
 Next i Perintah ini berfungsi untuk melanjutkan perulangan dari for j
 For i = 0 To Picture1.Width Step 15 Perintah ini berfungsi untuk
perulangan for i =1 sampai lebar picture1 ke step 15, dimana perintah ini akan
berulang-ulang sampai 15 step
 For j = 1 To Picture1.Height Step 15 Perintah ini berfungsi untuk
perulangan for j =1 sampai lebar picture1 ke step 15, dimana perintah ini akan
berulang-ulang sampai 15 step
 warna = Picture1.Point(i, j) Perintah ini berfungsi untuk memberi warna
pada picture1 dengan mengambil point atau nilai dari i dan j
 r = warna And RGB(255, 0, 0) Perintah ini berfungsi untuk memberi warna r
atau red, dengan nilai R = 255, G = 0, B = 0. Pada perintah ini, R bernilai karena
warna R yang akan diset
 g = Int((warna And RGB(0, 255, 0)) / 256) Perintah ini berfungsi untuk
memberi nilai g atau green dengan nilai R = 0, G = 255, B=0. Pada perintah ini, G
bernilai karena warna G yang akan diset dan dibagi 256 karena batas nilai warna RGB
adalah 256

32
 b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256) Perintah ini
berfungsi untuk memberi nilai B atau Blue dengan nilai R = 0, G = 0, B=255. Pada
perintah ini, B bernilai karena warna B yang akan diset dan dibagi 256 karena batas
nilai warna RGB adalah 256
 grey = (r + g + b) / 3 Perintah ini berfungsi untuk mencari warna grey
dengan cara nilai r ditambah nilai g ditambah nilai b kemudian dibagi 3
 hr(r + 1) = hr(r + 1) + 1 Perintah ini berfungsi untuk mencari nilai hr
dimana nilai r ditambah 1 = nilai r ditambah satu, hasilnya ditambah 1
 hg(g + 1) = hg(g + 1) + 1 Perintah ini berfungsi untuk mencari nilai hg
dimana nilai g ditambah 1 = nilai g ditambah satu, hasilnya ditambah 1
 hb(b + 1) = hb(b + 1) + 1 Perintah ini berfungsi untuk mencari nilai hb
dimana nilai b ditambah 1 = nilai b ditambah satu, hasilnya ditambah 1
 Next j Perintah ini berfungsi untuk melanjutkan perulangan dari for j
 Next i Perintah ini berfungsi untuk melanjutkan perulangan dari for i
 ht2 = Picture3.Height – 70 Perintah ini berfungsi untuk mencari nilai ht2
yaitu nilai pada picture3 dengan tinggi -70
 For i = 1 To 256 Perintah ini berfungsi untuk perulangan for i, dimana i = 1
sampai 256
 xp = 15 * (i - 1) + 1 Perintah ini berfungsi untuk mencari nilai xp yaitu 15
dikalli dari hasil nilai i kurang 1, kemudian ditambah 1, hasil dari itu semua adalah
sebagai nilai xp
 Picture3.Line (xp, ht2 - hr(i))-(xp, ht2), RGB(255, 0, 0)
Perintah ini berfungsi untuk menampilkan garis histogram pada picture3 dengan
mengambil nilai xp, nilai ht2 kurang nilai hr(i) kemudian dikurang dengan nilai xp,
nilai ht2, dan RGB yang bernilai pada warna R atau red
 Picture3.Line (xp, ht2 - hg(i))-(xp, ht2), RGB(0, 255, 0)
Perintah ini berfungsi untuk menampilkan garis histogram pada picture3 dengan
mengambil nilai xp, nilai ht2 kurang nilai hg(i) kemudian dikurang dengan nilai xp,
nilai ht2, dan RGB yang bernilai pada warna G atau green
 Picture3.Line (xp, ht2 - hb(i))-(xp, ht2), RGB(0, 0, 255)
Perintah ini berfungsi untuk menampilkan garis histogram pada picture3 dengan
mengambil nilai xp, nilai ht2 kurang nilai hb(i) kemudian dikurang dengan nilai xp,
nilai ht2, dan RGB yang bernilai pada warna B atau Blue

33
 Next i Perintah ini berfungsi untuk melanjutkan perulangan for i
 ' membuat histogram hasil Perintah ini berfungsi sebagai komentar atau judul
saja dari perintah-perintah dibawah ini yaitu perintah dibawah ini adalah untuk
membuat hasil histogram, tanda petik satu merupakan kode dari komentar pada
VB6.0
 For i = 0 To Picture2.Width Step 15 Perintah ini berfungsi untuk
perulangan for i =1 sampai lebar picture1 ke step 15, dimana perintah ini akan
berulang-ulang sampai 15 step
 For j = 1 To Picture1.Height Step 15 Perintah ini berfungsi untuk
perulangan for j =1 sampai lebar picture1 ke step 15, dimana perintah ini akan
berulang-ulang sampai 15 step
 warna = Picture2.Point(i, j) Perintah ini berfungsi untuk memberi warna
pada picture1 dengan mengambil point atau nilai dari i dan j
 r = warna And RGB(255, 0, 0) Perintah ini berfungsi untuk memberi warna r
atau red, dengan nilai R = 255, G = 0, B = 0. Pada perintah ini, R bernilai karena
warna R yang akan diset
 g = Int((warna And RGB(0, 255, 0)) / 256) Perintah ini berfungsi untuk
memberi nilai g atau green dengan nilai R = 0, G = 255, B=0. Pada perintah ini, G
bernilai karena warna G yang akan diset dan dibagi 256 karena batas nilai warna RGB
adalah 256
 b = Int(Int((warna And RGB(0, 0, 255)) / 256) / 256) Perintah ini
berfungsi untuk memberi nilai B atau Blue dengan nilai R = 0, G = 0, B=255. Pada
perintah ini, B bernilai karena warna B yang akan diset dan dibagi 256 karena batas
nilai warna RGB adalah 256
 grey = (r + g + b) / 3 Perintah ini berfungsi untuk mencari warna grey
dengan cara nilai r ditambah nilai g ditambah nilai b kemudian dibagi 3
 hr(r + 1) = hr(r + 1) + 1 Perintah ini berfungsi untuk mencari nilai hr
dimana nilai r ditambah 1 = nilai r ditambah satu, hasilnya ditambah 1
 hg(g + 1) = hg(g + 1) + 1 Perintah ini berfungsi untuk mencari nilai hg
dimana nilai g ditambah 1 = nilai g ditambah satu, hasilnya ditambah 1
 hb(b + 1) = hb(b + 1) + 1 Perintah ini berfungsi untuk mencari nilai hb
dimana nilai b ditambah 1 = nilai b ditambah satu, hasilnya ditambah 1
 Next j Perintah ini berfungsi untuk melanjutkan perulangan dari for j

34
 Next i Perintah ini berfungsi untuk melanjutkan perulangan dari for i
 ht2 = Picture4.Height - 70Perintah ini berfungsi untuk mencari nilai ht2
yaitu nilai pada picture3 dengan tinggi -70
 For i = 1 To 256 Perintah ini berfungsi untuk perulangan for i, dimana i = 1
sampai 256
 xp = 15 * (i - 1) + 1 Perintah ini berfungsi untuk mencari nilai xp yaitu 15
dikalli dari hasil nilai i kurang 1, kemudian ditambah 1, hasil dari itu semua adalah
sebagai nilai xp
 Picture4.Line (xp, ht2 - hr(i))-(xp, ht2), RGB(255, 0, 0)
Perintah ini berfungsi untuk menampilkan garis histogram pada picture4 dengan
mengambil nilai xp, nilai ht2 kurang nilai hr(i) kemudian dikurang dengan nilai xp,
nilai ht2, dan RGB yang bernilai pada warna R atau red
 Picture4.Line (xp, ht2 - hg(i))-(xp, ht2), RGB(0, 255, 0)
Perintah ini berfungsi untuk menampilkan garis histogram pada picture4 dengan
mengambil nilai xp, nilai ht2 kurang nilai hg(i) kemudian dikurang dengan nilai xp,
nilai ht2, dan RGB yang bernilai pada warna G atau green
 Picture4.Line (xp, ht2 - hb(i))-(xp, ht2), RGB(0, 0, 255)
Perintah ini berfungsi untuk menampilkan garis histogram pada picture4 dengan
mengambil nilai xp, nilai ht2 kurang nilai hb(i) kemudian dikurang dengan nilai xp,
nilai ht2, dan RGB yang bernilai pada warna B atau Blue
 Next i Perintah ini berfungsi untuk melanjutkan perulangan dari for i
 End Sub Perintah ini berfungsi untuk mengakhiri sub dari command histogram

 Private Sub HScroll1_Change()Perintah ini berfungsi untuk mengawali sub


dari Hscroll1
 Cerah = HScroll1.Value Perintah ini berfungsi sebagai variabel cerah yang
sudah dideklarasikan diatas, emudian pada Hsroll1 diset nilai
 Text1 = Cerah Perintah ini berfungsi untuk menampilkan hasil dari variabel cerah
pada text1
 End Sub Perintah ini berfungsi untuk mengakhiri sub dari Hscroll1

35
 Analisa Pada VBnet
 Public Class Form1 Perintah ini berfungsi sebagai public class dari form1
 Public hisG1(0 To 255) As Integer Perintah ini berfungsi sebagai public
dari hisG1 bernilai dari 0 sampai 255 bertipe data integer
 Public hisG2(0 To 255) As Integer Perintah ini berfungsi sebagai public
dari hisG2 bernilai dari 0 sampai 255 bertipe data integer
 Dim Hist1(256), Hist2(256) As Integer Perintah ini berfungsi untuk
pendeklarasian variabel Hist1 bernilai 256, Hist2 bernilai 256 yang bertipe data
integer
 Dim hmaxg1 As Integer Perintah ini berfungsi untuk pendeklarasian variabel
hmaxg1 bertipe data integer
 Dim hmaxg2 As Integer Perintah ini berfungsi untuk pendeklarasian variabel
hmaxg2 bertipe data integer
 Dim gambar, gambarGR As Bitmap Perintah ini berfungsi untuk pendeklarasian
variabel gambar, gambarGR
 Dim gambar1, gambar2 As Bitmap Perintah ini berfungsi untuk pendeklarasian
variabel gambar1, gambar2
 Dim CDF1(256) As Integer Perintah ini berfungsi untuk pendeklarasian variabel
CDF1 bernilai 256 dan bertipe data integer
 Dim CDF2(256) As Integer Perintah ini berfungsi untuk pendeklarasian variabel
CDF2 bernilai 256 dan bertipe data integer
 Dim HV(256) As Integer Perintah ini berfungsi untuk pendeklarasian variabel
HV bernilai 256 dan bertipe data integer
 Dim grf As Integer Perintah ini berfungsi untuk pendeklarasian variabel grf
bertipe data integer untuk grafik

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles Button1.Click Perintah ini berfungsi
untuk mengawali sub dari button1
 Dim x, xb As Integer Perintah ini berfungsi untuk pendeklarasian variabel x,
xb bertipe data integer
 Dim gambar1 As New Bitmap(PictureBox1.Image) Perintah ini berfungsi
untuk pendeklarasian variabel gambar1 new bitmap pada picturebox1 diset image

36
 Dim gambar2 As New Bitmap(PictureBox2.Image) Perintah ini berfungsi
untuk pendeklarasian variabel gambar2 new bitmap pada picturebox2 diset image
 hmaxg1 = 0 Perintah ini berfungsi untuk variabel hmaxg1 bernilai 0
 hmaxg2 = 0 Perintah ini berfungsi untuk variabel hmaxg2 bernilai 0
 For i As Integer = 0 To 255 Perintah ini berfungsi untuk perulangan for i
bernilai integer dimaulai dari 0 sampai 255
 hisG1(i) = 0 Perintah ini berfungsi untuk variabel hisG1 bernilai 0
 hisG2(i) = 0 Perintah ini berfungsi untuk variabel hisG2 bernilai 0
 Next Perintah ini berfungsi untuk melanjutkan dari perulangan for
 Dim nilai As Integer = TrackBar1.Value Perintah ini berfungsi untuk
mendeklarasikan variabel nilai bertipedata integer, pada Trackbar1 diset nilai
 For i As Integer = 0 To PictureBox1.Width - 1 perintah ini digunakan
untuk perulangan for i bernilai integer=0 sampai lebar PictureBox1 -1
 For j As Integer = 0 To PictureBox1.Height - 1 perintah ini digunakan
untuk perulangan for j bernilai integer=0 sampai lebar PictureBox1 -1
 Dim merah As Integer = gambar1.GetPixel(j, k).R perintah ini
digunakan untuk warna merah yang ditampilkan bernilai integer
 Dim hijau As Integer = gambar1.GetPixel(j, k).G merupakan warna
hijau yang ditampilkan bernilai integer
 Dim biru As Integer = gambar1.GetPixel(j, k).B merupakan warna biru
yang ditampilkan bernilai integer
 x = (r + g + b) / 3 perintah ini digunakan untuk mencari nilai x yaitu dengan
cara nilai r ditambah nilai g ditmabh nilai b, kemudian hasilnya dibagi 3
 xb = x + nilai perintah ini digunakan untuk mencari nilai xb yaitu dengan cara
nilai x ditambah nilai
 If xb >= 255 Then perintah ini digunakan untuk kondisi if, dimana jika nilai xb
lebih besar sama dengan 255
 xb = 255 maka nilai xb adalah 255
 ElseIf xb <= 0 Then jika nilai xb lebih kecil dari 0
 xb = 0 maka nilai xb adalah 0
 End If perintah ini digunakan untuk mengakhiri dari kondisi if
 hisG1(x) = hisG1(x) + 1 perintah ini digunakan untuk mencari nilai hisG1 =
nilai hisG1 ditambah 1

37
 hisG2(xb) = hisG2(xb) + 1 perintah ini digunakan untuk mencari nilai hisG2 =
nilai hisG2 ditambah 1
 gambar1.SetPixel(i, j, Color.FromArgb(x, x, x)) perintah ini
digunakan untuk mengeset pixel pada gambar1. Nilai yang diambil dari i dan j,
kemudian colornya dari nilai x
 gambar2.SetPixel(i, j, Color.FromArgb(xb, xb, xb)) perintah ini
digunakan untuk mengeset pixel pada gambar2. Nilai yang diambil dari i dan j,
kemudian colornya dari nilai xb
 Next j perintah ini digunakan untuk melanjutkan perulangan for j
 Next i perintah ini digunakan untuk melanjutkan perulangan for i
 PictureBox1.Image = gambar1 perintah ini digunakan untuk mengeset image
pada picturebox1 dengan mengambil nilai gambar1
 PictureBox2.Image = gambar2 perintah ini digunakan untuk mengeset image
pada picturebox2 dengan mengambil nilai gambar2
 For tinggi1 As Integer = 0 To 255 perintah ini digunakan untuk
perulangan for tinggi1 dengan tipe data integer bernilai 0 sampai 255
 If hisG1(tinggi1) > hmaxg1 Then perintah ini digunakan untuk kondisi if,
jika nilai hisG1 lebih besar dari nilai hmaxg1, kemudian
 hmaxg1 = hisG1(tinggi1) nilai hmaxg1 = nilai hisG1
 End If perintah ini digunakan untuk mengakhiri eksekusi kondisi if
 Next perintah ini digunakan untuk melanjutkan eksekusi perulangan
 For tinggi2 As Integer = 0 To 255perintah ini digunakan untuk perulangan
for tinggi2 dengan tipe data integer bernilai 0 sampai 255
 If hisG2(tinggi2) > hmaxg2 Then perintah ini digunakan untuk kondisi if,
jika nilai hisG2 lebih besar dari nilai hmaxg2, kemudian
 Hmaxg2 = hisG2(tinggi2) nilai hmaxg2 = nilai hisG2
 End If perintah ini digunakan untuk mengakhiri eksekusi kondisi if
 Next perintah ini digunakan untuk melanjutkan eksekusi perulangan
 End Sub perintah ini digunakan untuk mengakhiri dari sub button1

38
 Private Sub TrackBar1_Scroll(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles TrackBar1.Scroll perintah ini
digunakan untuk mengawali sub dari trackbar1
 TextBox1.Text = TrackBar1.Value perintah ini digunakan untuk mengeset
text pada textbox yang diambil dari Trackbar yang diset nilai
 End Sub perintah ini digunakan untuk mengakhiri dari sub trackbar1
 gambar = New Bitmap(PictureBox1.Image) perintah ini digunakan untuk
variabel gambar new bitmap pada picturebox1 diset image
 gambarGR = New Bitmap(PictureBox1.Image) perintah ini digunakan untuk
variabel gambaGRr new bitmap pada picturebox1 diset image
 Dim Pb, Pc As Integer perintah ini digunakan untuk pendeklarasian variabel Pb,
Pc yang bertipe data integer
 Dim GR, r, g, b As Double perintah ini digunakan untuk pendeklarasian
variabel GR, r, g, b yang bertipe data Double
 With gambar perintah ini digunakan dengan gambar
 For Pc = 0 To .Width - 1 perintah ini digunakan untuk perulangan for i
bernilai integer=0 sampai lebar PictureBox1 -1
 For Pb As Integer = 0 To .Height - 1 perintah ini digunakan untuk
perulangan for j bernilai integer=0 sampai lebar PictureBox1 -1
 r = .GetPixel(Pc, Pb).R perintah ini digunakan untuk mencari nilai r =
mengambil pixel dari nilai Pc, Pb untuk warna red
 g = .GetPixel(Pc, Pb).G perintah ini digunakan untuk mencari nilai rg=
mengambil pixel dari nilai Pc, Pb untuk warna green
 b = .GetPixel(Pc, Pb).B perintah ini digunakan untuk mencari nilai b =
mengambil pixel dari nilai Pc, Pb untuk warna blue
 GR = (r + g + b) / 3 perintah ini digunakan untuk mencari nilai GR yaitu
dengan cara nilai r ditambah nilai g ditmabh nilai b, kemudian hasilnya dibagi 3
 Hist1(GR) += 1 perintah ini digunakan untuk nilai Hist1 diambil dari nilai GR
 Hist2(r) += 1 perintah ini digunakan untuk nilai Hist2 diambil dari nilai r
 .SetPixel(Pc, Pb, Color.FromArgb(GR, GR, GR)) perintah ini digunakan
untuk mengeset pixel berasal dari nilai Pc, Pb dengan colornya diambil dari nilai GR
 Next perintah ini digunakan untuk melanjutkan eksekusi perulangan

39
 PictureBox1.Image = gambar perintah ini digunakan untuk mengeset image
pada picturebox1 yang diambil dari gambar
 PictureBox1.Refresh()perintah ini digunakan untuk mengrefresh picturebox1
atau ketika diinput nilai lain maka akan terulang kembali
 End With perintah ini digunakan untuk mengakhiri perintah with
 For i = 0 To 255 perintah ini digunakan untuk perulangan for i bernilai 0
sampai 255
 Me.Chart1.Series("Histogram1").Points.AddXY(i, Hist1(i)) perintah
ini digunakan untuk menampilkan histogram pada chart1 dengan series “Histogram1”
yang diambil point dengan penambahan nilai i, Hist1
 Next perintah ini digunakan untuk melanjutkan eksekusi perulangan

5.9.2 Analisa Persistem


 Percobaan Brightness

Berdasarkan percobaan diatas, Output yang ditampilkan adalah untuk brightness dan
Histogram. Untuk Brightness, nilai yang diinput berasal dari nilai yang discroll kemudian
masuk ke textbox. Kemudian, ketika diklik pada tombol Brightness maka akan tampil gambar
pada picturebox2 yang diambil dari gambar picturebox1 yang dibrightness berdasarkan nilai
yang diinput. Semakin kecil nilai yang diinput, maka akan semakin gelap atau hitam gambar
yang dibrightness, demikian juga sebaliknya, semakin besar nilai yang diinput maka semakin
terang atau putih gambar yang dibrightness. Ini membuktikan bahwa, jika nilai yang diinput
lebih besar maka warnanya putih dan jika nilai yang diinput lebih kecil maka warnanya
adalah 0 atau hitam. Untuk Histogram, dari percobaan diatas dapat dilihat bahwa semakin
besar nilai yang dibrightness maka semakin rendah histogramnya, dan semakin kecil nilai
yang diinput untuk brightness maka semakin tinggi nilai histogramnya. Seperti pada
percobaan diatas, nilai yang diinput adalah 29, maka hasil histogramnya agak sedikit tinggi
dibandingkan dengan nilai yang diinput kedua adalah 236, histogramnya lebih rendah.

 Tugas Brightness Positif-Negative

Berdasarkan percobaan diatas, Output yang ditampilkan adalah untuk brightness


bernilai positif-negative dan Histogram. Untuk Brightness bernilai positif-negative, diatur
pada Scrollbar, maka tanda scrollnya itu berada dtengah, jika scroll tersebut digeser ke kiri,

40
maka nilai yang masuk ke textbox adalah nilai negative dan jika scroll tersebut digeser ke
kanan maka nilai yang masuk ke textbox adalah nilai positif. Seperti analisa diatas bahwa
semakin kecil nilai yang diinput atau bernilai negative, maka akan semakin gelap atau hitam
gambar yang dibrightness, demikian juga sebaliknya, semakin besar nilai yang diinput atau
bernilai positif maka semakin terang atau putih gambar yang dibrightness. Untuk Histogram
dari brightness bernilai positif, seperti pada tugas diatas, nilai yang diinput adalah -35, maka
hasil histogramnya lebih rendah dibandingkan dengan nilai yang diinput bernilai positif, nilai
histogramnya lebih tinggi.

5.10 Kesimpulan
Kesimpulan dari praktikum ini adalah:
Brightness adalah proses mengubah citra dengan menambah atau mengurang nilai
konstanta kepada setiap nilai pixelnya didalah sebuah citra.
Proses Brightness bisa bernilai positif atau negative, Jika nilai yang diinput positif,
citra yang diperoleh adalah berwarna putih, atau semakin besar nilai yang diinput,
maka hasilnya akan berwarna putih, dan jika nilai yang diinput adalah negative maka
hasil brigtness nya akan semakin mengarah ke warna hitam, jika direpresentasika
dengan nilai, warna putih bernilai 255 dan warna hitam bernilai 0
Untuk melihat nilai pada histogram, bisa digunakan komponen chart. Dalam program
histogram dengan memakai komponen chart, perintah yang digunakan untuk
menampilkan histogram adalah dengan mengeset nama series yang diset, jika tidak,
maka histogramnya tidak akan tampil.
Untuk mengubah nilai positif dan negative, kita hanya mensetting pada properties
min dan max saja.

41
DAFTAR PUSTAKA

http://sayutirahman.stth-medan.ac.id/2013/12/keceraha-brightness.html (Diposkan
oleh Sayuti Rahman di 20.50)
http://pengolahancitradansuara.blogspot.co.id/2015/09/meningkatkan-kecerahan-
brightness.html (Rabu, 30 September 2015 Diposkan oleh Pengolahan Citra di 08.37)
Syakri, Sila Abdullah. 2017. Modul Praktikum 5 Pengolahan Citra Digital.

42

Anda mungkin juga menyukai