a b Gambar 3.9 Proses citra thresholding, a citra grayscale b citra thresholding
3.5 Ekstraksi fitur
Setelah dilakukan proses preprocessing, maka akan dilakukan proses ekstraksi ciri yang membentuk nilai fitur yang bersifat unik untuk mendapatkan ciri dari citra. Nilai
fitur yang didapat akan mewakili karakteristik dari citra yang akan diklasifikasikan menggunakan Learning Vektor Quantizatin LVQ. Pada penelitian ini, ekstraksi fitur
yang digunakan menggunakan metode zoning.
3.5.1 Zoning Pada penelitian ini, citra akan dibagi dalam beberapa zona, dimana setiap zona akan
menghasilkan nilai fitur dengan menghitung jumlah piksel hitam tertinggi. Pada tahap ini, citra yang berukuran 1024 x 1024 piksel akan dibagi menjadi 11 kolom dan 11
baris sehingga didapatkan 121 zona yang mewakili 121 fitur . Dalam satu zona terdapat 100 piksel. Contoh pembagian zona yang akan dibagi dalam citra dapat
dilihat pada Gambar 3.10
Universitas Sumatera Utara
Gambar 3.10 Hasil Zoning Citra
Adapun proses metode zoning dalam proses ekstraksi fitur pada citra karet RSS antara lain :
1. Hitung jumlah piksel hitam setiap zona dari zona Z1 – Z121
2. Tentukan zona yang memiliki jumlah piksel hitam paling tinggi
3. Hitung nilai fitur setiap zona dari Z1-Z121 dengan persamaan
Dengan 1≤ n ≤ 121 Contoh Perhitungan Zoning antara lain:
1. Jumlah Piksel hitam setiap zona antara lain
Z1=20, Z10=80, Z20=40, Z50=50 2.
Zona yang memiliki jumlah piksel hitam paling tinggi adalah Z10 = 80 3.
Nilai fitur setiap zona antara lain : Z1 = 2080 = 0.25
Z10 = 8080 = 1 Z20 = 4080 = 0.5
Z50 = 5080 = 0.625
Universitas Sumatera Utara
Namun dalam penelitian ini, penulis melakukan pembulatan pada nilai fitur setiap zona dengan ketentuan jika :
Pembulatan ini dilakukan agar nilai fitur yang dihasilkan akan berbentuk nilai biner yang akan digunakan sebagai nilai input pada proses klasifikasi pada tahap
selanjutnya. Sehingga dari perhitungan zona didapat nilai fitur berupa Z1= 0, Z10=1, Z20 = 1, Z50= 1.
Dari perhitungan zoning pada tahap ekstraksi fitur akan menghasilkan 121 fitur yang akan digunakan sebagai nilai input pada proses klasifikasi menggunakan LVQ
yang sesuai dengan gambar 3.11
Gambar 3.11 Nilai ekstraksi fitur menggunakan Zoning 3.6 Klasifikasi
Setelah didapat nilai fitur pada proses ekstraksi fitur menggunakan Zoning, tahapan berikutnya yaitu proses klasifikasi citra menggunakan metode learning vektor
quantization LVQ. Tahapan ini memiliki dua proses yaitu proses pelatihan dan proses pengujian. Proses pelatihan menggunakan nilai fitur yang didapat dari data
latih yang telah diekstraksi fitur. Pada proses pengujian dilakukan nilai pendekatan dengan menggunakan nilai fitur yang didapat pada data uji.
3.6.1 Learning Vektor Quantization Dalam penelitian ini, Learning Vektor Quantization digunakan untuk melakukan
klasifikasi pola ke dalam beberapa kelas dengan mencari bobot akhir untuk proses klasifikasi dengan menghitung jarak antar data dan bobot akhir. Arsitektur LVQ
terdiri atas dua lapisan yaitu lapisan input dan lapisan output. Lapisan input pada penelitian ini diperoleh dari proses ekstraksi fitur berupa
121 nilai fitur dan lapisan output merupakan kelas dari proses klasifikasi yaitu kelas Zn 0.5 maka Zn = 0
Zn 0.5 maka Zn = 1
Universitas Sumatera Utara
RSS1 dan kelas RSS3. Adapun arsitektur umum Learning Vektor Quantization LVQ dapat dilihat pada Gambar 3.12
Gambar 3.12 Arsitektur Learning Vektor Quantization LVQ
Keterangan :
X
1
, X
2
, X
3
,…, X
121
= Nilai input dari hasil ekstraksi fitur
||X-W
1
||, ||X-W
2
|| = Jarak bobot
H1, H2 = Lapisan Output
D1, D2 = Nilai Output yang akan digunakan dalam proses uji
W1, W2.. W121 = Nilai data inisialisasi
3.6.2 Proses Pelatihan
Pada tahap pelatihan, algoritma LVQ akan memproses input dengan menerima vektor masukan sebanyak 121 fitur dengan keterangan kelas fitur tersebut. Kemudian vektor
akan menghitung jarak semua vektor pewakil untuk kelas yang ada dengan menggunakan Euclidean distance.
Proses penerapan Algoritma Learning Vektor Quantization LVQ pada pelatihan digambarkan pada gambar 3.13 dibawah ini :
Universitas Sumatera Utara
Gambar 3.13 Pseudocode Penerapan Algoritma LVQ pada Citra RSS
Adapun penjelasan dari Gambar 3.13 adalah sebagai berikut : Tahap awal pada algoritma LVQ adalah tahap inisialisasi untuk penentuan
awal bobot, maksimal iterasi, minimum error dan learning rate untuk mendapatkan hasil akhir yang akurat pada citra.
Tahap selanjutnya yaitu tahap inisialisasi nilai input dan target dari input. Nilai input didapat dari hasil ekstraksi fitur. Pada tahap ini, setiap nilai input citra
telah ditentukan target kelas citranya RSS1 atau RSS3. Tahap berikutnya yaitu inisialisai kondisi awal yaitu epoch = 0 dan error = 1.
Perhitungan bobot dimulai dari kondisi awal epoch sampai epoch maksimum yang telah ditentukan
Selama epoch lebih kecil dari Maksimal epoch atau α Eps maka hitung setiap bobot pada suatu input kemudian tetapkan bobot dengan nilai terkecil
sebagai jarak terpendek pada bobot
Universitas Sumatera Utara
Tahap selanjutnya yaitu bandingkan target kelas dengan bobot. Jika Target kelas dan bobot sama maka perbaharui nilai bobot dengan persamaan berikut :
w
jbaru
= w
jlama
+ α [x-w
jlama
]
Tetapi jika target kelas dan bobot berbeda maka perbaharui nilai dengan dengan persamaan berikut:
w
jbaru
= w
jlama
+ α [x-w
jlama
]
Lakukan perhitungan yang sama seperti input awal pada setiap input dengan menggunakan bobot yang telah diperbaharui.
Setelah setiap input selesai dilakukan perhitungan, maka kurangi nilai
α
dan lakukan iterasi epoch sampai epoch mencapai maksimal epoch
atau α mendekati nilai Eps
Pada tahap terakhir yaitu jika iterasi epoch berakhir maka tetapkan bobot baru pada epoch terakhir sebagai bobot akhir yang akan digunakan sebagai nilai
bobot pada proses data latih. Pada tahap pelatihan, penulis akan memaparkan proses perhitungan LVQ dalam
mendapatkan nilai bobot yang akan disimpan sebagai bobot akhir yang akan digunakan dalam tahap pengujian. Namun penulis hanya mengilustrasikan input hanya
dalam beberapa vektor. Adapun data yang akan digunakan sebagai proses perhitungan LVQ pada proses pelatihan dapat dilihat pada tabel 3.1
Tabel 3.1 Data Vektor Input No
Nama Karet X1 X2
X3 X4 X5 X6 Vektor
Kelas 1
Karet1 1
1 000011
RSS1
2 Karet2
1 1
1 001101
RSS3
3
Karet3 1
1 1
1 011011
RSS1
4
Karet4 1
1 001100
RSS3
5 Karet5
1 1
1 010011
RSS1
6 Karet6
1 1
1 1
111001 RSS3
Universitas Sumatera Utara
Dari keenam data yang akan dilakukan proses pelatihan, empat data akan diambil sebagai nilai input. Nilai input dapat dilihat pada tabel 3.2.
Tabel 3.2 Tabel Nilai Input Pelatihan No
Nama Karet X1 X2
X3 X4 X5 X6 Vektor
Kelas 1
Karet3 1
1 1
1 011011
RSS1
2 Karet4
1 1
001100 RSS3
3 Karet5
1 1
1 010011
RSS1
4
Karet6 1
1 1
1 111001
RSS3 Dan dua data dengan kelas berbeda yakni RSS1 dan RSS akan diambil sebagai
nilai bobot untuk proses pelatihan. Nilai bobot pelatihan dapat dilihat pada tabel 3.3
Tabel 3.3. Nilai Bobot Pelatihan No
Nama Karet X1 X2
X3 X4 X5 X6 Vektor
Kelas 1
Karet1 1
1 000011
RSS1
2
Karet2 1
1 1
1 011101
RSS3 Parameter-parameter yang digunakan pada penelitian ini adalah sebagai berikut :
1. Learning rate α = 0.05
2. Penurunan Learning rate, Dec α = 0.1
3. Minimum Learning rate, Min α = 0.0001
4. Maksimum Epoch, MaxEpoch = 5
Proses Perhitungan
Epoch ke-1
Data Ke-1 : 0, 1, 1, 0, 1, 1
Bobot Ke-1 : 0, 0, 0, 0, 1, 1 Jarak pada bobot ke-1
Wj = = 1.414214
Universitas Sumatera Utara
Bobot Ke-2 : 0, 0, 1, 1, 0, 0 Jarak pada bobot ke-2
Wj Wj=
= 1,732051 Jarak terpendek pada Bobot ke-1
Kelas data ke-1 RSS1 = Target Bobot ke-1 RSS1
Bobot ke-1 baru :
W
1 =
W
1
+ α X
1
– W
1
= 0 + 0.05 0-0 = 0 W
2 =
W
2
+ α X
2
– W
2
= 0 + 0.05 1-0 = 0.05 W
3 =
W
3
+ α X
3
– W
3
= 0 + 0.05 1-0 = 0.05 W
4 =
W
4
+ α X
4
– W
4
= 0 + 0.05 0-0 = 0 W
5 =
W
5
+ α X
5
– W
5
= 1 + 0.05 1-1 = 1 W
6 =
W
6
+ α X
6
– W
6
= 1 + 0.05 1-1 = 1
Wi baru = 0, 0.05, 0.05, 0, 1, 1
Setelah didapatkan nilai bobot kesatu yang baru, maka lakukan update pada bobot yang lama dan ganti dengan bobot kesatu yang baru. Nilai bobot yang baru
akan digunakan pada perhitungan data selanjutnya. Bobot baru pertama dapat dilihat pada tabel 3.4
Tabel 3.4 Nilai Bobot Pertama Baru No
Nama Karet X1
X2 X3
X4 X5 X6
Kelas 1
Karet1 0.05 0.05
1 1
RSS1
2
Karet2 1
1 1
RSS3
Data Ke-2 : 0, 0, 1, 1, 0, 0
Bobot Ke-1 : 0, 0.05, 0.05, 0, 1, 1 Jarak pada bobot ke-1
Wi = = 1.976107
Universitas Sumatera Utara
Bobot Ke-2 : 0,0, 1, 1, 0, 1 Jarak pada bobot ke-2
Wj = = 1
Jarak terpendek pada Bobot ke-2 Kelas data ke-2 RSS3 = Target Bobot ke-2 RSS3
Bobot ke-2 baru :
W
1 =
W
1
+ α X
1
– W
1
= 0 + 0.05 0-0 = 0 W
2 =
W
2
+ α X
2
– W
2
= 0 + 0.05 0-0 = 0 W
3 =
W
3
+ α X
3
– W
3
= 1 + 0.05 1-1 = 1 W
4 =
W
4
+ α X
4
– W
4
= 1 + 0.05 1-1 = 1 W
5 =
W
5
+ α X
5
– W
5
= 0 + 0.05 0-0 = 0 W
6 =
W
6
+ α X
6
– W
6
= 1 + 0.05 0-1 = 0.95
Wj baru = 0, 0, 1, 1, 0, 0.95
Setelah didapatkan nilai bobot kedua yang baru, maka lakukan update pada bobot yang lama dan ganti dengan bobot kedua yang baru. Nilai bobot yang baru
akan digunakan pada perhitungan data selanjutnya. Bobot baru kedua dapat dilihat pada tabel 3.5
Tabel 3.5 Nilai Bobot Kedua Baru No
Nama Karet X1
X2 X3
X4 X5 X6
Kelas 1
Karet1 0.05 0.05
1 1
RSS1
2 Karet2
1 1
0.95 RSS3
Proses ini diteruskan sampai data terakhir. Setelah itu proses dilanjutkan ke iterasi epoch ke-2 sampai epoch yang ditentukan . Namun sebelum dilakukan epoch
selanjutnya, lakukan update learning rate α dengan Dec α.
Learning rate harus di-update terlebih dahulu setiap kali akan memasuki epoch selanjutnya. Hasil perhitungan data setiap epoch dapat dilihat pada tabel 3.5.
Universitas Sumatera Utara
Tabel 3.6 Hasil Perhitungan Data Latih
Epoch Nama
Input Vektor
Bobot Ke-1
Bobot Ke-2
Jarak terdekat
Bobot Ke 1 Baru Bobot Ke-2 Baru
1 α=0.05
Karet3 011011
1.41 1.73
Bobot 1 0.05
0.05 1
1 1
1 1
Karet4 001100
1.97 1
Bobot 2 0.05
0.05 1
1 1
1 0.95
Karet5 010011
0.905 2
Bobot 1 0.097 0.047
1 1
1 1
0.95 Karet6
111001 1.929
1.73 Bobot 2
0.097 0.047 1
1 0.05 0.05
1 0.95
0.95 2
α=0.005 Karet3
011011 1.31
1.67 Bobot 1
0.1 0.05
1 1
0.05 0.05 1
0.95 0.95
Karet4 001100
1.97 0.95
Bobot 2 0.1
0.05 1
1 0.05 0.05
1 0.95
0.95 Karet5
010011 0.90
1.95 Bobot 1
0.1 0.05
1 1
0.05 0.05 1
0.95 0.95
Karet6 111001
1.92 1.64
Bobot 2 0.1
0.05 1
1 0.05 0.055
1 0.95 0.005 0.95
3 α=0.0005
Karet3 011011
1.31 1.67
Bobot 1 0.1
0.05 1
1 0.05 0.055
1 0.95 0.005 0.95
Karet4 001100
1.99 0.95
Bobot 2 0.1
0.05 1
1 0.05 0.055
1 0.95 0.005 0.95
Karet5 010011
0.905 1.94
Bobot 1 0.1
0.05 1
1 0.05 0.055
1 0.95 0.005 0.95
Karet6 111001
1.92 1.64
Bobot 2 0.1
0.05 1
1 0.05 0.055
1 0.95 0.005 0.95
Universitas Sumatera Utara
3.6.3 Proses pengujian Dari Tabel 3.5, hasil perhitungan data latih tidak lagi mengalami perubahan di epoch
ke- 3 dengan α = 0.0005. Sehingga bobot yang dihasilkan pada epoch terakhir pada
data terakhir akan dijadikan nilai bobot pada data uji dalam proses klasifikasi. Adapun hasil bobot akhir yang akan digunakan pada data uji dapat dilihat pada tabel 3.6
Tabel 3.7 Nilai Bobot Data Uji No
Jenis Bobot X1
X2 X3
X4 X5
X6 Kelas
1 Bobot Ke 1
0.1 0.05
1 1
RSS1 2
Bobot ke -2 0.05
0.055 1
0.95 0.005
0.95 RSS3
Pada tahap pengujian, data input diklasifikasikan dengan cara yang sama dengan tahap pelatihan yaitu dengan menghitung nilai setiap bobot pada input dan memilih
jarak terkecil pada kedua bobot. Nilai pada jarak bobot terkecil akan mewakili kelas pada citra masukan. Adapun alur flowchart pada proses pengujian dapat dilihat pada
gambar 3.14
Gambar 3.14 Flowchart Proses Pengujian
Universitas Sumatera Utara
3.7 Rancangan Tampilan Antarmuka