BAB II TINJAUAN PUSTAKA - repository.ipb.ac.id · Sinapsis (Synapse) Sinapsis merupakan bagian...
Transcript of BAB II TINJAUAN PUSTAKA - repository.ipb.ac.id · Sinapsis (Synapse) Sinapsis merupakan bagian...
BAB II
2.1 Pengolahan Citra
Bidang pengolahan citra secara
yaitu saat pertama kali sebuah foto berhasil ditransmisikan secara digital melalui
kabel laut dari kota New York ke kota London (Wijaya & Prijono 2007).
banyak dikembangkan berbagai aplikasi pengolahan ci
dikelompokkan dalam dua bagian:
a) Memperbaiki kualitas suatu
mudah diinterpretasikan oleh manusia.
b) Mengolah informasi yang terdapat pada
keperluan pengenalan objek secara otomatis oleh suatu mesin.
2.1.1 Pengertian Citra Digital.
Citra digital merupakan sebuah larik (
maupun komplek yang dapat direpresentasikan dengan deretan bit tertentu. Citra
dapat didefenisikan dengan sebuah fungsi f(x,y) berukuran matrik M kali N,
dimana M adalah baris d
spasial (Putra 2010). Amplitudo f dititik koordinat (x,y) dinamakan intensitas atau
tingkat keabuan citra pada titik tersebut. Apabila nilai x,y dan nilai amplitudo f
secara keseluruhan berhingga (
bahwa citra tersebut adalah citra digital. Titik
posisi koordinat citra digital
BAB II TINJAUAN PUSTAKA
Bidang pengolahan citra secara digital mulai diminati diawal tahun 1921,
kali sebuah foto berhasil ditransmisikan secara digital melalui
kabel laut dari kota New York ke kota London (Wijaya & Prijono 2007).
yak dikembangkan berbagai aplikasi pengolahan citra yang secara umum dapat
dikelompokkan dalam dua bagian:
Memperbaiki kualitas suatu gambar (citra) sehingga dapat lebih
mudah diinterpretasikan oleh manusia.
Mengolah informasi yang terdapat pada gambar (citra) untuk
keperluan pengenalan objek secara otomatis oleh suatu mesin.
Pengertian Citra Digital.
Citra digital merupakan sebuah larik (array) yang berisi nilai
maupun komplek yang dapat direpresentasikan dengan deretan bit tertentu. Citra
dapat didefenisikan dengan sebuah fungsi f(x,y) berukuran matrik M kali N,
dimana M adalah baris dan N adalah kolom serta x dan y merupakan koordinat
spasial (Putra 2010). Amplitudo f dititik koordinat (x,y) dinamakan intensitas atau
pada titik tersebut. Apabila nilai x,y dan nilai amplitudo f
secara keseluruhan berhingga (finite) dan bernilai deskrit maka dapat dikatakan
bahwa citra tersebut adalah citra digital. Titik-titik pada Gambar 2 menunjukkan
posisi koordinat citra digital (Putra 2010).
Gambar 2 Koordinat citra digital
7
digital mulai diminati diawal tahun 1921,
kali sebuah foto berhasil ditransmisikan secara digital melalui
kabel laut dari kota New York ke kota London (Wijaya & Prijono 2007). Saat ini
tra yang secara umum dapat
(citra) sehingga dapat lebih
(citra) untuk
keperluan pengenalan objek secara otomatis oleh suatu mesin.
) yang berisi nilai-nilai riil
maupun komplek yang dapat direpresentasikan dengan deretan bit tertentu. Citra
dapat didefenisikan dengan sebuah fungsi f(x,y) berukuran matrik M kali N,
merupakan koordinat
spasial (Putra 2010). Amplitudo f dititik koordinat (x,y) dinamakan intensitas atau
pada titik tersebut. Apabila nilai x,y dan nilai amplitudo f
) dan bernilai deskrit maka dapat dikatakan
menunjukkan
8
Citra digital dapat ditulis dalam bentuk matrik sebagai berikut :
���, �� =
� ��0,0� ��0,1� … ��0, � − 1�
��1,0� ��1,1� ⋯ ��1, � − 1�⋮ ⋮ ⋮
��� − 1,0� ��� − 1,1� … ��� − 1,1����� . …...........(1)
Matriks (1) menunjukkan nilai pada suatu irisan antara baris dan kolom
(pada posisi x,y) disebut dengan picture elements, image elements, pels, atau
pixels (Putra 2010). Istilah terakhir (pixel) paling sering digunakan pada citra
digital. Pemrosesan citra merupakan ilmu untuk memanipulasi citra. Pemrosesan
citra mencakup teknik-teknik untuk memperbaiki atau mengurangi kualitas citra,
menampilkan bagian tertentu dari citra, membuat sebuah citra yang baru dari
beberapa bagian citra yang sudah ada, dan beberapa teknik manipulasi citra
lainnya.
2.1.2 Jenis Citra.
Nilai suatu pixel memiliki nilai dalam rentang tertentu, dari nilai minimum
sampai nilai maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari
jenis warnanya. Namun secara umum jangkauannya adalah 0 - 255. Citra dengan
penggambaran seperti ini digolongkan kedalam citra integer (Putra 2010). Dalam
ilmu pengolahan citra digital dikenal beberapa jenis citra yaitu : citra biner,
grayscale, citra warna 8 bit, citra warna 16 bit, dan citra warna 24 bit. Pada
penelitian ini jenis citra yang digunakan adalah citra biner dan grayscale.
a) Citra Biner
Citra biner merupakan citra digital yang hanya memiliki dua
kemungkinan nilai pixel yaitu hitam dan putih. Citra biner juga disebut
sebagai citra B&W (black and white) atau citra monokrom (Putra 2010).
Hanya dibutuhkan 1 bit untuk mewakili nilai setiap pixel dari citra biner.
Citra biner seringkali muncul sebagai hasil dari proses pengolahan seperti
segmentasi, pengambangan, morfologi, ataupun dithering.
9
b) Keabu-abuan (Grayscale)
Citra grayscale merupakan citra digital yang hanya memiliki satu
nilai kanal pada setiap pixelnya, dengan kata lain nilai bagian warna
Red(R) = Green(G) = Blue(B) (Putra 2010). Nilai tersebut digunakan
untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna
hitam, keabuan dan putih. Tingkat keabuan disini merupakan warnah abu
dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra
grayscale memiliki kedalaman warna 8 bit (256 kombinasi warna
keabuan).
Format File Citra.
Terdapat beberapa jenis format file citra standar yang digunakan saat ini.
Format-format ini digunakan dalam penyimpanan citra dalam sebuah file. Setiap
format memiliki karakteristik masing-masing (Putra 2010). Berikut adalah
penjelasan beberapa format tersebut.
Bitmap (.bmp)
Format .bmp adalah format penyimpanan standar tanpa kompresi yang
umum dapat digunakan untuk menyimpan citra biner hingga citra warna (Putra
2010). Format ini terdiri dari beberapa jenis yang setiap jenisnya ditentukan
dengan jumlah bit yang digunakan untuk untuk menyimpan sebuah nilai pixel.
Tagged Image Format (.tif, .tiff)
Format .tif merupakan format penyimpanan citra yang dapat digunakan
untuk menyimpan citra bitmap hingga citra dengan warna palet terkompresi (Putra
2010). Format ini dapat digunakan untuk menyimpan citra yang tidak terkompresi
dan juga citra terkompresi.
JPEG (.jpg)
Format .jpg adalah format yang sangat umum digunakan saat ini khususnya
untuk transisi citra. Format ini digunakan untuk menyimpan citra hasil kompresi
dengan metode JPEG.
Portable Network Graphics (.png)
Format .png adalah format penyimpanan citra terkompresi. Format ini dapat
digunakan pada citra grayscale, citra dengan palet warna, dan juga citra fullcolor
10
(Putra 2010). Format .png juga mampu menyimpan informasi hingga kanal alpha
dengan penyimpanan sebesar 1 hingga 16 bit per kanal.
2.2 Jaringan Syaraf Tiruan untuk Pengenalan Pola.
Jaringan Syaraf Tiruan (JST) atau Artificial Neural Network (ANN) adalah
model jaringan syaraf yang meniru prinsip kerja dari neuron otak manusia
(neuron biologis). JST pertama kali muncul setelah model sederhana dari neuron
buatan diperkenalkan oleh McCulloch dan Pitts pada tahun 1940 (Puspitanigrum
2006). Model sederhana tersebut dibuat berdasarkan fungsi neuron biologis yang
merupakan dasar unit pensinyalan dari sistem syaraf.
JST memiliki beberapa kemampuan seperti yang dimiliki oleh manusia, yaitu:
1. Kemampuan untuk belajar dari pengalaman,
2. Kemampuan melakukan perumpamaan (generalization) terhadap input
baru dari pengalaman yang dimiliki,
3. Kemampuan memisahkan (abstraction) karakteristik penting dari input
yang mengandung data yang tidak penting.
2.2.1 Model Neuron Biologis.
Jaringan Syaraf atau Neural Network (NN) terdiri atas banyak elemen
pemroses sederhana yang disebut neuron, sel, unit, atau simpul (Puspitanigrum
2006). Otak manusia diperkirakan memiliki sekitar 100 miliar neuron. Setiap sel
syaraf berhubungan dengan sel syaraf lainnya memakai saluran komunikasi yang
diatur dengan suatu bobot penghubung. Gambar 3. menunjukkan struktur Neuron
pada manusia.
Gambar 3 Struktur neuron (Stufflebeam 2011)
11
Secara umum neuron memiliki 4 daerah utama:
1. Dendrit (Dendrite).
Dendrit adalah perluasan dari soma yang menyerupai rambut dan
bertindak sebagai saluran untuk menerima masukan dari sel syaraf lainnya
melalui sinapsis.
2. Sel Tubuh (Soma)
Sel tubuh atau soma merupakan jantung sel yang memiliki inti
(nucleus). Soma bertugas memproses nilai masukan dari semua dendrit
yang terhubung dengannya menjadi suatu output. Soma memiliki dua
cabang yaitu dendrit dan akson.
3. Akson (Axon)
Pada umumnya Neuron hanya memiliki satu akson yang tumbuh
dari bagian Soma dan disebut dengan akson hillock. Akson menyalurkan
sinyal elektrik yang dihasilkan pada bagian bawah dari akson hillock.
Sinyal elektrik digunakan oleh neuron untuk menyampaikan informasi
(sinyal) ke otak dengan semua sinyal sama. Jadi, otak menentukan jenis
informasi yang diterima berdasarkan jalur yang membawa sinyal. Otak
kemudian menganalisis dan menafsirkan jenis informasi yang diterima.
Mylin, adalah materi lemak yang melindungi syaraf yang berfungsi
sebagai lapisan pelindung. Bagian akson yang tidak terlindung dengan
Mylin disebut dengan nodus ranvier. Pada nodus ini sinyal yang mengalir
dan mengalami penurunan diperkuat lagi untuk memastikan bahwa
perjalanan sinyal pada akson mengalir cepat dan tetap konstan.
4. Sinapsis (Synapse)
Sinapsis merupakan bagian kontak (tempat) terjadinya pertukaran
sinyal antara dua neuron. Neuron sebenarnya secara fisik tidak terhubung.
Mereka dipisahkan oleh synaptic cleft. Neuron yang mengirim sinyal
disebut dengan sel presynaptic dan neuron yang menerima sinyal disebut
dengan sel postsynaptic.
2.2.2 Model JST
Prinsip kerja JST didasari pada mekanisme kerja penyaluran informasi
sistem jaringan syaraf. Namum demikian karena keterbatasan yang dimiliki oleh
12
struktur JST maka hanya sebagian kecil saja dari kemampuan sistem syaraf
manusia yang dapat ditiru (Puspitanigrum 2006). Ilustrasi model JST seperti yang
ditunjukkan pada Gambar 4.
Gambar 4 Ilustrasi model JST (Puspitanigrum 2006).
Berikut penjelasan Gambar 4:
• Pr menyatakan sinyal input dari node input ke i = 1,2,...,r, dengan r
menyatakan jumlah input.
• Ws,r menyatakan bobot (weight) hubungan dari node (neuron) input r ke
node (neuron) yang di tuju j, j = 1,2,...,S, dengan S menyatakan jumlah
neuron.
• n menyatakan total (jumlah) sinyal terbobot yang masuk ke node s atau
juga sering disebut sebagai tingkat pengaktifan (activation level) di node s.
• f menyatakan fungsi transfer (transfer function) yang menentukan
keluaran dari node s dan tergantung dari nilai n.
• as menyatakan sinyal yang keluar (outgoing signal) atau output dari node
s.
Nilai n dari model diatas dihitung dengan rumus :
n = Ws,r .pr ...........................................................................................(4)
sedangkan keluaran node yang dinyatakan dengan a dapat ditentukan sebagai
berikut .
a = f(n) ...........................................................................................(5)
seringkali kedua formula diatas digabung menjadi satu seperti berikut :
a = f(Ws,r pr ) ...........................................................................................(6)
13
2.2.3 Pembelajaran pada JST
Proses pembelajaran(learning) atau pelatihan (training) pada JST
merupakan proses perubahan atau penyesuaian tingkat kekuatan hubungan antar
node-node yang saling terhubung (Puspitanigrum 2006). Tingkat kekuatan
hubungan antar node dinyatakan dengan nilai bobot. Ini berarti proses
pembelajaran pada JST tidak lain merupakan proses penyesuaian nilai-nilai bobot
tersebut.
Proses pembelajaran merupakan suatu proses iterasi pada sistem JST yang
cukup kompleks dan proses belajar membutuhkan waktu yang cukup panjang.
Selama proses belajar faktor bobot mengalami perubahan dan bila tahapan belajar
sudah selesai maka nilai-nilai faktor bobot yang dihasilkan disimpan dan
digunakan sebagai faktor bobot terpakai. Keandalan suatu JST tergantung pada
keberhasilan dalam menemukan faktor bobot terpakai tersebut.
2.2.4 Algoritma JST Propagasi Balik.
Propagasi balik (backpropagation) adalah salah satu pengembangan dari
arsitektur Single Layer Neural Network. Arsitektur ini terdiri dari input layer,
hidden layer dan output layer (Puspitanigrum 2006). Setiap layer terdiri dari satu
atau lebih artificial neuron.
Algoritma propagasi balik merupakan salah satu teknik pembelajaran
terawasi (supervised learning) dan digunakan dalam eksperimen/penelitian ini,
oleh karena itu diperlukan pemahaman beberapa unsur penting dalam metode
propagasi balik. Di dalam jaringan propagasi balik, setiap unit yang berada di
lapisan input terhubung dengan setiap unit yang ada di lapisan tersembunyi.
Setiap unit yang ada di lapisan tersembunyi terhubung dengan setiap unit yang
ada di lapisan output.
Jaringan ini terdiri dari banyak lapisan (multilayer network). Ketika jaringan
diberikan pola masukan sebagai pola pelatihan, maka pola tersebut menuju unit-
unit lapisan tersembunyi untuk selanjutnya diteruskan pada unit-unit lapisan
keluaran. Kemudian unit-unit lapisan keluaran memberikan respon sebagai
keluaran JST. Saat hasil keluaran tidak sesuai dengan yang diharapkan, maka
keluaran disebarkan mundur (backward) pada lapisan tersembunyi kemudian dari
lapisan tersembunyi menuju lapisan masukan.
14
Arsitektur jaringan propagasi balik seperti terlihat pada Gambar 5, x1
sampai dengan xn adalah input layer, z1 sampai dengan zp adalah hidden layer ,
dan y1 sampai dengan ym adalah output layer.
Gambar 5 Arsitektur jaringan propagasi balik (Kusumadewi 2004).
Tahap pelatihan ini merupakan langkah untuk melatih suatu JST, yaitu
dengan cara melakukan perubahan bobot. Sedangkan penyelesaian masalah
dilakukan jika proses pelatihan tersebut telah selesai, fase ini disebut fase testing.
Pada proses pelatihan algoritma propagasi balik menggunakan error output untuk
mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk
mendapatkan error ini, tahap perambatan maju (forward propagation) harus
dikerjakan terlebih dahulu.
Pelatihan propagasi umpan balik berbasis jaringan syaraf tiruan meliputi 3
fase. Fase pertama adalah fase maju. Pola masukan dihitung maju mulai dari
lapisan masukan hingga lapisan keluaran menggunakan fungsi aktivasi yang
ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran jaringan
dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan
tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung
dengan unit-unit di lapisan keluaran. Fase ketiga adalah modifikasi bobot untuk
menurunkan kesalahan yang terjadi. Berikut penjelasan umum setiap fase (Siang
2009) .
X1
Z1
Y
X1
X1
Z1
1 1
15
Fase I: Propagasi Maju.
Selama propagasi maju, sinyal masukan (xi) dipropagasikan ke lapisan
tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap
unit lapisan tersembunyi (zj) tersebut selanjutnya dipropagasikan maju lagi ke
layer tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan.
Demikian seterusnya hingga menghasilkan keluaran jaringan (yk).
Berikutnya, keluaran jaringan (yk) dibandingkan dengan target yang harus
dicapai (tk). Selisih dari tk terhadap yk yaitu tk-yk adalah kesalahan yang terjadi.
Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi
dihentikan. tetapi apabila kesalahan masih lebih besar dari batas toleransinya,
maka bobot setiap garis dalam jaringan dimodifikasi untuk mengurangi kesalahan
yang terjadi.
Fase II: Propagasi Mundur
Berdasarkan kesalahan tk-yk, dihitung faktor δk ( k = 1,2,..., m ) yang dipakai
untuk mendistribusikan kesalahan di unit yk ke semua unit tersembunyi yang
terhubung langsung dengan yk. Faktor δk juga dipakai untuk mengubah bobot
garis yang berhubungan langsung dengan unit keluaran.
Dengan cara yang sama, dihitung faktor δj ( j = 1,2,..., m ) di setiap unit di
lapisan tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari
unit tersembunyi di lapisan di bawahnya. Demikian seterusnya hingga semua
faktor di unit tersembunyi yang berhubungan langsung dengan unit masukan
dihitung.
Fase III: Perubahan Bobot
Setelah semua faktor dihitung, bobot semua garis dimodifikasi bersamaan.
Perubahan bobot suatu garis didasarkan atas faktor neuron di lapisan atasnya.
Sebagai contoh, perubahan bobot garis yang menuju ke lapisan keluaran
didasarkan atas k yang ada di unit keluaran.
Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian
dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah
iterasi atau kesalahan. Iterasi dihentikan jika jumlah iterasi yang dilakukan sudah
melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang
terjadi sudah lebih kecil dari batas toleransi yang diijinkan. Selama proses
16
pelatihan bobot-bobot diatur secara iteratif untuk meminimumkan fungsi kinerja
jaringan. Pada penelitian ini fungsi kinerja yang digunakan untuk propagasi balik
adalah Mean Square Error (MSE). Adapun rumus dari fungsi kinerja MSE
adalah:
∑=
−=m
k
kk ytm
MSE1
2)(1
......................................(7)
Fungsi ini mengambil rata-rata kuadrat error yang terjadi antara output jaringan
(yk) dan target (tk). Algoritma selengkapnya tentang JST Propagasi balik (Siang
2009) dapat dilihat pada Lampiran 1.
2.3 Database Relasional
Database relasional adalah jenis database yang menggunakan model
relasional (Kadir 2008). Pada model relasional data dibentuk dalam sejumlah
relasi atau tabel. Untuk menangani database dibutuhkan sebuah atau sejumlah
DBMS (Database Management System). DBMS adalah suatu perangkat lunak
yang ditunjukkan untuk menangani penciptaan, pemeliharaan, dan pengendalian
akses data. Dengan menggunakan perangkat lunak ini pengelolaan data menjadi
mudah dilakukan. Selain itu perangkat lunak ini juga menyediakan berbagai
piranti berguna seperti pembuatan laporan. DBMS yang akan digunakan pada
penelitian ini adalah Microsoft Access 2007. Dalam perancangan database ada
beberapa tahapan yang harus dilakukan. Tahapan-tahapan dalam proses
perancangan database seperti dutunjukkan pada Gambar 6.
Gambar 6 Diagram perancangan database (Kadir 2008).
Tahap awal yang dilakukan dalam perancangan database adalah melakukan
pengumpulan kebutuhan akan informasi yang dibutuhkan oleh suatu organisasi dan
17
kemudian menganalisisnya. Penggalian kebutuhan informasi ini dilakukan dengan
cara antara lain melakukan wawancara, mengamati sistem yang sedang berjalan dan
mempelajari dokumen-dokumen yang tersedia, sehingga data yang digunakan
untuk menyusun informasi bisa teridentifikasi. Untuk menggambarkan proses-
proses bisnis dalam organisasi dan sekaligus menerangkan kaitan antara proses dan
data maka diperlukan diagram alir yang disebut dengan DFD (Data Flow
Diagram). DFD ini sekaligus dapat digunakan sebagai bahan untuk berkomunikasi
antar pengembang sistem dan calon pemakai sistem.
Pada langkah perancangan konseptual data yang dibutuhkan oleh organisasi
dikelompokkan menurut kriteria tertentu kemudian antara satu grup data dengan
grup data yang lain dilengkapi dengan hubungan. Dalam terminologi database
grup data tersebut dinamakan entitas (Kadir 2008). Model E-R adalah suatu
model yang digunakan untuk menggambarkan data dalam bentuk entitas, atribut
dan hubungan atar entitas. Huruf E sendiri menyatakan entitas dan R menyatakan
hubungan (dari kata relationship).
Perancangan logis merupakan suatu tahapan yang digunakan untuk
menentukan hasil perancangan konseptual kedalam bentuk yang nantinya akan
diimplementasikan. Pada umumnya tahapan ini sudah memikirkan jenis basis
data (DBMS) yang akan digunakan. Sebagai contoh bahwa jika DBMS yang
digunakan adalah jenis relasional, maka skema konseptual yang digunakan adalah
model E-R yang dipetakan atau ditrasformasikan kedalam bentuk relasi/tabel.
Langkah terakhir dalam perancangan basis data berupa tahapan yang dinamakan
perancangan fisik. Perancangan ini sangat spesifik terhadap DBMS yang
digunakan. Tipe data atau domain untuk masing-masing kolom dalam setiap tabel
harus disesuaikan dengan DBMS yang digunakan.
2.1 Pengolahan Citra Digital Menggunakan Visual Basic
Visual Basic (atau sering disingkat VB) adalah perangkat lunak untuk
menyusun program aplikasi yang bekerja dalam lingkup sistem operasi Windows.
Dalam Visual Basic terdapat sebuah toolbox yang dapat digunakan untuk
membuat objek sesuai kebutuhan.
18
Proses awal yang banyak digunakan dalam pengolahan citra adalah
mengubah citra berwarna menjadi citra grayscale, hal ini diperlukan untuk
menyederhanakan model citra. Untuk mengubah citra berwarna menjadi citra
grayscale dapat dilakukan dengan mengambil rata-rata nilai R, G, dan B (Basuki
et al. 2005). Gambar dan penulisan code dalam Visual Basic untuk mengubah
citra berwarna menjadi citra grayscale seperti ditunjukkan pada Gambar 7.
Gambar 7 Konversi citra warna ke citra grayscale dalam Visual Basic
2.1.1 Konversi Citra Grayscale ke Citra Biner
Citra biner (hitam-putih) merupakan citra yang banyak dimanfaatkan
untuk keperluan pengenalan pola yang sederhana seperti pengenalan angka atau
pengenalan huruf. Untuk mengubah suatu citra grayscale menjadi citra biner
dilakukan dengan mengubah kuantisasi citra atau proses Thresholding. Gambar
dan penulisan code dalam Visual Basic untuk mengubah citra grayscale menjadi
citra biner seperti ditunjukkan pada Gambar 8.
Gambar 8 Konversi citra grayscale ke citra biner dalam Visual Basic
For I = 0 To Picture1.ScaleWidth Step 15
For j = 0 To Picture1.ScaleHeight 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
Picture2.PSet (I, j), RGB(x, x, x)
Next j
Next I
For I = 0 To Picture1.ScaleWidth Step 15
For j = 0 To Picture1.ScaleHeight 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
If x < 128 Then x = 0 Else x = 255
Picture2.PSet (I, j), RGB(x, x, x)
Next j