• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN

3.3 Input citra RSS

Sebelum melakukan proses klasifikasi, perlu dilakukan proses input citra berupa citra karet RSS yang akan diklasifikasikan. Citra yang akan diinput terlebih dahulu akan dilakukan proses akuisisi citra dengan menggunakan pengambilan gambar dengan jarak yang sama pada setiap gambar untuk mendapatkan hasil jarak dan kerenggangan yang sama dari setiap citra sehingga hasil klasifikasi yang akan didapatkan lebih akurat. Adapun langkah-langkah akuisisi citra yang akan dilakukan adalah sebagai berikut :

 Sampel yang akan dijadikan citra berupa karet RSS 1 dan Karet RSS 3 yang akan dilakukan proses sortasi

 Sampel akan diletakkan pada meja sortasi yang telah tersedia pada ruang sortasi PTPN III Sarang Gitting

 Sampel diletakkan pada background putih

 Pengambilan citra dilakukan menggunakan kamera digital dengan jarak kamera 50 cm dengan resolusi 2592 x 1944 piksel

 Citra akan disimpan dalam bentuk .jpeg 3.4 Preprocessing

Pada tahap preprocessing, dilakukan beberapa tahapan persiapan citra sehingga citra dapat dengan mudah diproses pada tahap selanjutnya. Tahapan preprocessing citra karet RSS terdiri dari resizing, grayscale, thresholding.

3.4.1 Resizing

Tahap ini dilakukan pengukuran ulang citra karet RSS dengan memperkecil ukuran piksel citra RSS guna memfokuskan bagian RSS yang memiliki area bergelembung pada permukaan karet RSS. Citra RSS yang akan di-resize pada penelitian ini berukuran 1024 x 1024 piksel seperti pada Gambar 3.3

Gambar 3.3 Citra RSS resize 3.4.2 Grayscale

Setelah citra di resizing, akan dilakukan proses grayscale. Proses ini digunakan untuk memisahkan antara bayangan dan warna asli pada citra RSS. Proses ini akan menghasilkan citra hitam putih dengan cara melakukan konversi citra RGB ke citra grayscale. Pada citra terdiri dari 24-bit dimana setiap piksel mengandung nilai warna dasar (R,G,B) yang masing-masing memiliki 8-bit warna dengan nilai warna berada pada 0 (00000000) sampai 255 (11111111). Gambar 3.4 merupakan representasi piksel pada citra karet RSS.

Gambar 3.4 Representasi piksel karet RSS

Gambar yang direpresentasikan pada Gambar 3.4 merupakan citra karet RSS yang berukuran 1024 x 1024 piksel dan potongan karet RSS yang berukuran 9 piksel (3 x 3). Proses perhitungan nilai grayscale pada citra RSS akan direpresentasikan pada potongan karet RSS berukuran 9 piksel seperti pada Gambar 3.5

Gambar 3.5 Citra 9 (3x3) Piksel Adapun nilai Red, Green, Blue pada citra 9 piksel antara lain :

P1 = R, G, B (145, 112, 58 ) P2 = R, G, B (133, 101, 60 ) P3 = R, G, B (151, 118, 56) P4 = R, G, B (145, 112, 65 ) P5 = R, G, B (126, 97, 57 ) P6 = R, G, B (128, 96, 58 ) P7 = R, G, B (142, 111, 64 ) P8 = R, G, B (122, 91, 50 ) P9 = R, G, B (115, 85, 51 )

Citra warna pada RSS diubah menjadi citra grayscale dengan menghitung rata- rata elemen warna dari Red, Green, Blue. Persamaan yang digunakan dalam mengkonversi citra RGB menjadi citra grayscale adalah sebagai berikut

Dengan menggunakan persamaan (3.1) maka nilai grayscale yang akan di dapatkan antara lain sebagai berikut :

P1 = R, G, B (145, 112, 58 ) / 3 = 105 P2 = R, G, B (133, 101, 60 ) / 3 = 98 P3 = R, G, B (151, 118, 56) / 3 = 108.33 P4 = R, G, B (145, 112, 65 ) / 3 = 107.33 P5 = R, G, B (126, 97, 57 ) / 3 = 93.33 P6 = R, G, B (128, 96, 58 ) / 3 = 94 P7 = R, G, B (142, 111, 64 ) / 3 = 105.67 P8 = R, G, B (122, 91, 50 ) / 3 = 87.67 (3.1)

P9 = R, G, B (115, 85, 51 ) / 3 = 83.67

Setelah didapatkan nilai grayscale setiap piksel sesuai persamaan (3.1) maka nilai piksel akan diubah sesuai dengan nilai grayscale sehingga didapatkan nilai grayscale pada setiap piksel dapat dilihat pada Gambar 3.6

105

98

108

107

93

94

105

87

83

Gambar 3.6 Nilai Grayscale pada setiap piksel

Proses perhitungan nilai grayscale pada citra karet RSS 9 piksel (3x3) piksel dapat dilakukan juga pada citra karet RSS 1024 x 1024. Contoh citra karet RSS yang telah dilakukan grayscale pada ukuran 1024 x 1024 piksel ditunjukkan pada Gambar 3.7

a b

3.4.3 Thresholding

Pada tahap selanjutnya citra yang telah digrayscale selanjutnya akan dilakukan proses thresholding dimana citra grayscale akan diubah menjadi citra biner yang bernilai 0 dan 1 (Hitam dan Putih).Pada tahap ini setiap nilai piksel citra grayscale akan diambil nilai ambangnya untuk menentukan nilai biner pada setiap citra.

Jika nilai yang dihasilkan kurang dari ambang yang dihasilkan maka nilai piksel tersebut akan diubah menjadi warna hitam dan jika nilai yang dihasilkan lebih dari nilai rata-rata maka nilai piksel akan diubah menjadi warna putih.

Nilai grayscale pada potongan citra 9 piksel (3x3) piksel akan diubah menjadi nilai threshold sesuai dengan nilai ambang. Nilai ambang yang akan digunakan didapatkan sesuai persamaan (3.2)

Keterangan :

T = Nilai threshold

fmaks = Nilai piksel maksimum fmin = Nilai piksel minimum

Menggunakan persamaan (3.2), maka nilai threshold pada potongan citra 9 piksel (3x3) piksel adalah sebagai berikut

Nilai threshold yang dihasilkan adalah 96. Nilai threshold 96 ini dapat digunakan jika persentase nilai piksel > 96 sebesar lebih dari 50 %, namun jika persentase nilai piksel 96 lebih sedikit dari 50 % maka digunakan persamaan (3.3)

Berdasarkan gambar 3.5, nilai piksel yang berada diatas nilai threshold (96) sebesar 5 piksel dan nilai piksel yang berada dibawah nilai threshold (96) sebesar 4 piksel. Sehingga presentasi yg diperoleh adalah sebagai berikut

(3.2)

Dengan persentasi nilai threshold diatas, diperoleh sebesar 55.56 % nilai piksel yang berada di atas nilai threshold sehingga untuk menentukan nilai threshold dapat digunakan pesamaan (3.2) sehingga diperoleh :

P1 = 105 > 96 = 1 P2 = 98 > 96 = 1 P3 = 108.33 > 96 = 1 P4 = 107.33 > 96 = 1 P5 = 93.33 < 96 = 0 P6 = 94 < 96 = 0 P7 = 105.67 > 96 = 1 P8 = 87.67 < 96 = 0 P9 = 83.67 < 96 = 0

Setelah semua nilai threshold didapatkan pada setiap piksel maka nilai citra grayscale akan diupdate dan diganti dengan nilai threshold sesuai dengan Gambar 3.8

1

1

1

1

0

0

1

0

0

Gambar 3.8 Nilai Threshold Citra karet 9 Piksel

Proses penentuan nilai threshold pada citra karet RSS 9 piksel (3x3) piksel dapat dilakukan juga pada citra karet RSS 1024 x 1024. Contoh citra karet RSS yang telah dilakukan threshold pada ukuran 1024 x 1024 piksel ditunjukkan pada Gambar 3.9

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

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 = 20/80 = 0.25 Z10 = 80/80 = 1 Z20 = 40/80 = 0.5 Z50 = 50/80 = 0.625

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

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 :

 X1, X2, X3,…, X121 = Nilai input dari hasil ekstraksi fitur

 ||X-W1||, ||X-W2|| = 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 :

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

 Tahap selanjutnya yaitu bandingkan target kelas dengan bobot. Jika Target kelas dan bobot sama maka perbaharui nilai bobot dengan persamaan berikut :

w

j(baru)

= w

j(lama)

+ α [x-w

j(lama)

]

 Tetapi jika target kelas dan bobot berbeda maka perbaharui nilai dengan dengan persamaan berikut:

w

j(baru)

= w

j(lama)

+ α [x-w

j(lama)

]

 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 0 0 0 0 1 1 000011 RSS1 2 Karet2 0 0 1 1 0 1 001101 RSS3 3 Karet3 0 1 1 0 1 1 011011 RSS1 4 Karet4 0 0 1 1 0 0 001100 RSS3 5 Karet5 0 1 0 0 1 1 010011 RSS1 6 Karet6 1 1 1 0 0 1 111001 RSS3

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 0 1 1 0 1 1 011011 RSS1

2 Karet4 0 0 1 1 0 0 001100 RSS3

3 Karet5 0 1 0 0 1 1 010011 RSS1

4 Karet6 1 1 1 0 0 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 0 0 0 0 1 1 000011 RSS1

2 Karet2 0 1 1 1 0 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

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 :

W1 = W1+ α * (X1– W1) = 0 + 0.05 * (0-0) = 0 W2 = W2+ α * (X2– W2) = 0 + 0.05 * (1-0) = 0.05 W3 = W3+ α * (X3– W3) = 0 + 0.05 * (1-0) = 0.05 W4 = W4+ α * (X4– W4) = 0 + 0.05 * (0-0) = 0 W5 = W5+ α * (X5– W5) = 1 + 0.05 * (1-1) = 1 W6 = W6+ α * (X6– W6) = 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 0.05 0.05 0 1 1 RSS1

2 Karet2 0 0 1 1 0 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

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 :

W1 = W1+ α * (X1– W1) = 0 + 0.05 * (0-0) = 0 W2 = W2+ α * (X2– W2) = 0 + 0.05 * (0-0) = 0 W3 = W3+ α * (X3– W3) = 1 + 0.05 * (1-1) = 1 W4 = W4+ α * (X4– W4) = 1 + 0.05 * (1-1) = 1 W5 = W5+ α * (X5– W5) = 0 + 0.05 * (0-0) = 0 W6 = W6+ α * (X6– W6) = 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 0.05 0.05 0 1 1 RSS1

2 Karet2 0 0 1 1 0 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.

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 0.05 0.05 0 1 1 0 0 1 1 0 1 Karet4 001100 1.97 1 Bobot 2 0 0.05 0.05 0 1 1 0 0 1 1 0 0.95 Karet5 010011 0.905 2 Bobot 1 0 0.097 0.047 0 1 1 0 0 1 1 0 0.95 Karet6 111001 1.929 1.73 Bobot 2 0 0.097 0.047 0 1 1 0.05 0.05 1 0.95 0 0.95 2 α=0.005 Karet3 011011 1.31 1.67 Bobot 1 0 0.1 0.05 0 1 1 0.05 0.05 1 0.95 0 0.95 Karet4 001100 1.97 0.95 Bobot 2 0 0.1 0.05 0 1 1 0.05 0.05 1 0.95 0 0.95 Karet5 010011 0.90 1.95 Bobot 1 0 0.1 0.05 0 1 1 0.05 0.05 1 0.95 0 0.95 Karet6 111001 1.92 1.64 Bobot 2 0 0.1 0.05 0 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 0.1 0.05 0 1 1 0.05 0.055 1 0.95 0.005 0.95 Karet4 001100 1.99 0.95 Bobot 2 0 0.1 0.05 0 1 1 0.05 0.055 1 0.95 0.005 0.95 Karet5 010011 0.905 1.94 Bobot 1 0 0.1 0.05 0 1 1 0.05 0.055 1 0.95 0.005 0.95 Karet6 111001 1.92 1.64 Bobot 2 0 0.1 0.05 0 1 1 0.05 0.055 1 0.95 0.005 0.95

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 0.1 0.05 0 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

Dokumen terkait