11

Click here to load reader

Cluster Jst

Embed Size (px)

Citation preview

Page 1: Cluster Jst

Wood Parket Classification based on GDLM texture Analysis With

Backpropagation Method

Muhammad Arief Rahman Hakim

Undergraduate Program, Faculty of Industrial Engineering, 2010

Gunadarma University

http://www.gunadarma.ac.id

Keywords: Classification, Wood Parquet, Neural Network, Backpropagation

ABSTRACT

Tectona Grandis Teak or included in the first grade because of the strength, durability and

beauty. In the timber industry now, teak are also processed pieces of parquet (parquet) floor

coverings. Parquet wood also has a variety of patterns. In this writing wood parquet pattern is

classified into 3 (three) kinds of patterns. The patterns it is a striped pattern, a curved pattern

that resembles the letter U and also the pattern somewhat disabled (handicap not exceeding 20

per cent). The patterns of parquet teak in this paper entered for classification in automation.

Classification automation conducted in this study based on texture analysis GLDM. Input data

analysis texture is then used to classify using Neural Networks backpropagation method.

Page 2: Cluster Jst

KLASIFIKASI PARKET KAYU JATI BERDASARKAN ANALISA TEKSTUR GLDM MENGGUNAKAN METODE

BACKPROPAGATION

Muhammad Arief Rahman Hakim

Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Gunadarma Email: [email protected]

ABSTRAK

Kayu jati atau Tectona Grandis termasuk dalam kelas satu karena kekuatan, keawetan dan keindahannya. Dalam industri kayu sekarang, jati juga diolah keping-keping parket (parquet) penutup lantai. Parket kayu juga memiliki pola yang bermacam-macam. Pada penulisan ini pola parket kayu diklasifikasikan menjadi 3(tiga) macam pola. Pola-pola tersebut adalah pola bergaris, pola melengkung yang menyerupai huruf U dan juga pola yang agak cacat (cacatnya tidak melebihi 20 persen). Pola-pola parket kayu jati dalam skripsi ini dimasukkan untuk pengklasifikasian secara otomatisasi. Klasifikasi otomatisasi yang dilakukan dalam penelitian ini berdasarkan analisa tekstur GLDM. Data input hasil analisa tekstur ini kemudian digunakan untuk mengklasifikasi menggunakan Jaringan Saraf Tiruan menggunakan metode backpropagation. Kata Kunci : Klasifikasi, Parket Kayu Jati, Jaringan Saraf Tiruan, Backpropagation. PENDAHULUAN Kayu jati Indonesia memiliki beberapa kelebihan yang mungkin tidak dimiliki oleh kayu-kayu jenis lain baik dari sisi kekuatan ataupun teksturnya. Dalam industri kayu sekarang, jati juga diolah keping-keping parket (parquet) penutup lantai.

Parket kayu juga memiliki pola yang bermacam-macam. Pada penulisan ini pola parket kayu diklasifikasikan menjadi 3(tiga) macam pola. Pola-pola tersebut adalah pola bergaris, pola melengkung yang menyerupai huruf U dan juga pola yang agak cacat (cacatnya tidak melebihi 20 persen). Pengenalan pola untuk klasifikasi ini menggunakan otomatisasi.

Dalam menentukan klasifikasi otomatisasi maka harus ditentukan variabel yang akan digunakan dengan analisa tekstur. Analisa tekstur bekerja dengan mengamati pola ketergantungan antar piksel dalam domain spasial. Setelah dilakukan analisa tekstur perlu dilakukan klasifikasi pada tekstur yang telah dilakukan. Terdapat berbagai macam cara dalam mengklasifikasikan tekstur ini. Banyak cara ataupun metode yang bisa digunakkan dalam melakukan klasifikasi. Salah satu metode pangklasifikasian adalah dengan menggunakan Artificial Neural Network (ANN).

Dalam penulisan ini akan dibuat suatu klasifikasi pada parket kayu jati dengan menggunakan suatu Artificial Neural Network dengan metode backpropagation. Klasifikasi ini berdasarkan

Page 3: Cluster Jst

pada tekstur yang telah dibuat dengan menggunakan metode GLDM (grey level difference method). Tujuan dari pengklasifikasian ini adalah untuk membuat aplikasi klasifikasi tekstur guna mengklasifikasi jenis parket berdasarkan dari hasil analisa tekstur berdasarkan GLDM. Aplikasi dibuat dengan menggunakan metode Backpropagation. TINJAUAN PUSTAKA Metode Backpropagation Backpropagation merupakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Algoritma backpropagation 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. Pada saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi yang dapat didiferensiasikan. Metode Pelatihan Jaringan Syaraf Backpropagation Pelatihan jaringan syaraf dilakukan dalam rangka melakukan pengaturan bobot, sehingga pada akhir pelatihan akandiperoleh bobot-bobot yang baik. Selama proses pelatiha, bobot-bobot diatur secara iterative untuk meminimalkan fungsi kinerja jaringan syaraf. Fungsi kinerja yang sering dilakukan untuk backpropagation adalah Mean Square Error (MSE) fungsi MSE akan mengambil rata-rata kuadrat error yang terjadi antara output jaringan syaraf dan target. Algoritma Pelatihan Sederhana Sebagian besar algoritma pelatihan jaringan syaraf backpropagation menggunakan gradien fungsi kinerja untuk menentukan bagaimana mengatur bobot-bobot dalam rangka meminimalkan kinerja. Prinsip dasar dari algoritma backpropagation sederhana adalah memperbaikin bobot-bobot jaringan syaraf dengan arah yang membuat fungsi kinerja menjadi turun dengan cepat. Ada dua cara pelatihan standar yang digunakan untuk melatih jaringan yaitu incremental mode dan batch mode. Dalam incremental mode, perhitungan gradien dan perbaikan nilai bobot-bobot dilakukan pada setiap pengoperasian input data. Fungsi ini menggunakan objek jaringan syaraf, kumpulan data input dan target sebagai input pelatihan, dan akan menghasilkan objek jaringan syaraf terlatih, error yang terjadi dan bobot-bobot akhir sebagai nilai output. Pada mode ini harus diatur beberapa parameter yaitu fungsi pembelajaran yang digunakan oleh jaringan syaraf dan fungsi pembelajaran untuk setiap bobot. Pada batch mode, perhitungan gradien dan perbaikan nilai bobot yang dilakukan setelah penginputan semua input data. Pada pelatihan mode ini ada beberapa parameter yang harus diatur, antara lain : • Maksimum epoch

Jumlah epoch maksimum yang boleh dilakukan selama proses pelatihan. Iterasi akan dihentikan apabila nilai epoch melebihi maksimum epoch.

• Kinerja tujuan Iterasi akan dihentikan apabila nilai fungsi kinerja kurang dari atau sama dengan kinerja tujuan.

• Laju belajar Semakin besar nilai laju belajar akan berimplikasi pada semakin besarnya langkah pembelajaran. Jika laju belajar terlalu besar, maka algoritma akan menjadi tidak stabil.

Page 4: Cluster Jst

Sebaliknya algoritma akan konvergen dalam jangka waktu yang sangat lama jika nilai laju belajar terlalu kecil.

• Jumlah epoch yang akan ditunjukkan kemajuannya Menunjukkan berapa jumlah epoch berselang yang akan ditunjukkan kemajuannya.

Metode paling sederhana untuk merubah bobot adalah metode penurunan gradient (gradient descent). Pada fungsi gradient descent standar, selama proses pelatihan laju belajar akan terus bernilai konstan. Sulit untuk menentukan berapa nilai laju belajar yang optimal sebelum proses pelatihan berlangsung. Nilai laju belajar yang optimal akan terus berubah selama proses pelatihan seiring dengan berubahnya nilai fungsi kinerja. 2.3.4.2 Jumlah Unit Tersembunyi

Hasil teoritis yang ada menunjukkan bahwa jaringan dengan sebuah layar tersembunyi sudah cukup bagi backpropagation untuk mengenali sembarang pasangan antara masukan dan target dengan tingkat ketelitian yang ditentukan. Akan tetapi penambahan jumlah layar tersembunyi kadangkala membuat pelatihan lebih mudah. Jika jaringan memiliki lebih dari satu layar tersembunyi, maka algoritma pelatihan yang dijabarkan sebelumnya perlu direvisi. Dalam propagasi maju, keluaran harus dihitung untuk tiap layar, dimulai dari layar tersembunyi paling bawah (terdekat dengan masukan). Sebaliknya, dalam propagasi mundur, faktor kesalahan (δ) perlu dihitung untuk tiap layar tersembunyi, dimulai dari layar keluaran. HASIL DAN PEMBAHASAN Data Masukan

Data dalam penulisan ini menggunakan data parket kayu jati yang terlebih dahulu dilakukan analisa tekstur dengan menggunakan GLDM (grey level difference method). Data- data yang diambil meliputi semua features yang telah ditentukan. Fitur-fitur dalam menentukan data adalah Contrast, Angular Second Moment (ASM), Entropy, Inverse Difference Moment (IDM) dan Mean. Nilai dari fitur-fitur ini berdasarkan dari sudut yang diambil yaitu sudut 0˚, sudut 45˚, sudut 90˚ dan sudut 135˚ (lihat lampiran). Pada MATLAB data-data ini akan dijadikan menjadi matriks-matriks. Matriks-matriks ini akan disusun menjadi matriks 20x13. Data ini pada program diberi variable “x”. Namun pada penyusunan matriks ini tidak langsung dibuat menjadi matriks 20x13, melainkan dengan cara membuat baris matriks terlebih dahulu lalu baru membuat kolom matriksnya.

Page 5: Cluster Jst

Pada program ini juga akan diberikan tujuan (goal) dari pelatihan input dari data-data yang telah dimasukkan. Sama seperti data input, untuk tujuan ini juga akan dibuat matriks. Matriks yang digunakan adalah matriks 1x3. Matriks tujuan ini akan menjadi tujuan dari setiap kolom pada matriks inputan. Model Pelatihan

Pelatihan yang dilakukan terhadap data sesuai dengan contoh jaringan saraf tiruan berikut:

Gambar 1.1 Arsitektur backpropagation pada penelitian

Page 6: Cluster Jst

Dari gambar jaringan diatas terdiri dari beberapa lapisan. Jaringan saraf tiruan diatas terdiri dari 1(satu) lapisan untuk input, 3(tiga) lapisan pelatihan atau hidden layer serta 1(satu) lapisan output. Variable X1 sampai X20 merupakan data input. Variable Z adalah variable untuk pelatihan atau pembelajaran bagi jaringan ini. Terakhir variable Y merupakan output yang akan dihasilkan. Output pada jaringan ini memiliki 3(tiga) buah sel. Pada Y1 output untuk membuat klasisfikasi tekstur A dengan output (1,0,0). Pada Y2 output untuk membuat klasisfikasi tekstur B dengan output (0,1,0). Sedangkan pada Y3 output untuk membuat klasisfikasi tekstur C dengan output (0,0,1). Pada backpropagation jika pelatihan yang dilakukan belum mencapai tujuan (goal) yang diinginkan maka output akan menjadi inputan kembali. Dan akan dilakukan terus-menerus sampai mencapai goal yang diinginkan. Implementasi pada MATLAB

Penelitian ini menggunakan MATLAB sebagai bahasa pemrograman. Pada MATLAB pelatihan backpropagation dilakukan dengan memanggil sintaks “newff”. Fungsi logaritma dan sigmoid pada MATLAB dijadikan 1 fungsi dengan memanggil sintaks “logsig”. Untuk penurunan gradien dengan momentum dan pelatihan yang dapat beradaptasi menggunakan “ traingdx” pada MATLAB. Fungsi untuk perubahan bobot dan bias di MATLAB menggunakan “learngdm”. Sedangkan untuk pengukuran kesalahan (error) menggunakan perintah “mse”. Lebih lengkapnya adalah statement berikut : net = newff(minmax(p), [9 5 3],{'logsig' 'logsig'

'logsig'},'traingdx','learngdm','mse');

Pada program ini juga akan dibuat simulasi dari inputan yang telah dimasukkan. Dengan simulasi ini besarnya kesalahan (error) mula-mula dapat ditentukan. Perintah untuk melakukan simulasi yaitu: [y,Pf,Af,e,perf] = sim (net,p,[],[],t)

Maksud dari sintaks diatas adalah simulasi untuk menghitung keluaran dari jaringan (yang diberi variable “y”). Selain itu besarnya error dapat ditentukan sebelumnya (variable “e”). Pada sintaks diatas juga akan dilihat performa dari jaringan yang dilatih. Setelah program melakukan simulasi lalu dimasukkan parameter-parameter pelatihan sebagai berikut: net.trainParam.show = 50;

net.trainParam.epochs = 10000;

net.trainParam.goal = 0.1;

net.trainParam.lr = 0.01;

net.trainParam.lr_inc= 1.05;

net.trainParam.lr_dec = 0.7;

net.trainParam.mc = 0.9;

net.trainParam.min_grad = 1e-10;

Page 7: Cluster Jst

net = train (net,p,t)

Paramater yang ada pada program yaitu: show epoch, goal, learning rate, momentum serta minimum gradient. Epoch adalah banyaknya iterasi atau perulangan yang dilakukan. Epoch yang dimasukkan sebanyak 10000 epoch. Epoch ini akan diperiksa setiap 50 epoch oleh program apakah epoch tersebut telah mencapai goal yang diinginkan. Goal adalah error yang ingin dicapai, pada penelitian ini dipilih nilai goal = 0,1. Learning rate untuk menentukan laju pemahaman pada simulasi, dalam penelitian ini dipilih laju pemahaman 0,01. Goal dan Learning Rate ini juga dapat diubah sesuai dengan keinginan user. Minimum gradient untuk menentukan besarnya nilai gradient terkecil, dalam penelitian ini dipilih minimum gradient sampai 10-10. Jika perintah net = train (net,p,t) dijalankan, maka bobot akan ditraining (disimulasi). Perintah ini juga menyebabkan bobot akan dijalankan secara acak. Hasil Program

Output diatas merupakan bobot awal dan bias dari pelatihan backpropagation sebelum dilatih. Bobot awal dan bias ini ditentukan secara acak oleh program. Jadi, setiap program dijalankan bobot awal dan bias akan berbeda. Bobot awal ini nantinya akan dilatih dengan parameter-

Page 8: Cluster Jst

parameter training yang ada diatas. Pelatihan bobot awal ini akan dilatih bedasarkan epoch yang ditentukan.

Sebelum dilakukan training, terlebih dahulu dilakukan simulasi. Output diatas merupakan hasil keluaran dari simulasi program yang telah dijalankan. Hasil y pada output diatas adalah target yang ingin dicapai dari data masukan. Selain itu output diatas juga menunjukkan kesalahan (error) yang dilakukan oleh program serta menampilkan performa dari simulasi yang telah dijalankan. Setelah melakukan simulasi program akan melakukan training dengan parameter-parameter yang ditentukan sebelumnya. Output ini bisa berubahsesuai dengan penempatan perintah yang dilakukan. TRAINGDX, Epoch 9950/10000, MSE 0.200855/0.1, Gradient 9.54739e-005/1e-010 TRAINGDX, Epoch 10000/10000, MSE 0.200855/0.1, Gradient 4.98762e-006/1e-010 TRAINGDX, Maximum epoch reached, performance goal was not met. Potongan output diatas menunjukkan perulangan dari epoch. Pada output diatas dapat dilihat bahwa setiap 50 epoch program akan mencetak dan memberitahu tingkat kesalahan apakah tingkat kesalahan tersebut sudah memenuhi apa yang diinginkan. Dari output diatas dapat dilihat bahwa epoch maksimal sudah terlampaui namun, tujuan (goal) belum terpenuhi. Ini berarti jaringan tidak mengenali pola pelatihan. Selain itu grafik perubahan error juga ditampilkan pada gambar 1.1.

Page 9: Cluster Jst

Sedangkan untuk hasil output diatas adalah bobot akhir dan bias pada setelah simulasi

dilaksanakan. Hasil ini tidak sesuai disebabkan karena data masukkan yang ada terlalu sedikit.

Page 10: Cluster Jst

Gambar 1.2 Grafik perubahan Error

Gambar 1.2 adalah simulasi pelatihan dari input yang telah dimasukkan. Output akan tetap berada pada error 0,2 jauh dari error yang diinginkan. Pada penelitian ini juga dilakukan beberapa percobaan antara lain dengan menambah data masukan dengan cara menyalin data yang sudah ada namun, output yang dihasilkan tetap tidak sesuai dengan yang diharapkan. Selain itu juga dilakukan percobaan dengan memasukkan bobot awal tetap, dengan cara ini goal yang dihasilkan sempat mencapai 0,1 namun hasilnya tetap tidak konvergen. Learning rate dan goal pun sempat dirubah menjadi lebih besar namun, hasil yang dicapai juga tidak konvergen PENUTUP Kesimpulan Berdasarkan hasil analisa dan pembahasan yang telah diuraikan pada bab sebelumnya, maka dapat diambil beberapa kesimpulan sebagai berikut. Penelitian ini tidak menghasilkan output yang diharapkan. Output ini tidak sesuai yang diharapkan karena kemungkinan data input yang terlalu sedikit. Data yang terlalu sedikit ini selain mengakibatkan output yang tidak sesuai dengan harapan dan juga menghasilkan output yang tidak konvergen karena jaringan ini tidak mengenali pola yang telah dimasukkan. Saran Jaringan tidak mengenali pola dan output yang dihasilkan tidak konvergen. Diharapkan agar pelatihan ini berhasil (jaringan mengenali pola) dan output yang dihasilkan sesuai dibutuhkan data-data yang banyak, atau pengenalan berdasarkan hasil analisa tekstur menggunakan metode GDLM.

Page 11: Cluster Jst

Klasifikasi parket kayu jati pada penelitian ini dilakukan berdasarkan analisa tekstur. Pada citra untuk kelas A terdapat 3(tiga) buah pola untuk klasifikasi, untuk citra kelas B terdapat 5(lima) buah pola untuk klasifikasi C terdapat 5(lima) buah pola untuk klasifikasi. Klasifikasi dilakukan menggunakan metode backpropagation dengan 1 (satu) lapisan input, 3(tiga) buah lapisan tersembunyi dan 1 (satu) lapisan output. Pelatihan ini menggunakan fungsi aktivasi Logsig, laju pembelajaran, momentum serta mempunyai kuadrat rata-rata galat. Hasil yang didapatkan dari penelitian ini tidak sesuai dengan yang diharapkan, dapat dilihat dari output yang dihasilkan dimana kesalahan (error) yang dihasilkan masih tinggi yaitu 0,2. DAFTAR PUSTAKA

[1]. Hermawan, Arief., Jaringan Saraf Tiruan Teori dan Aplikasi. Yogyakarta: Penerbit

Andi, 2006. [2]. Kusumadewi, Sri, Sri Hartati., NEURO-FUZZY Integrasi Sistem Fuzzy dan Jaringan

Saraf. Yogyakarta: Graha Ilmu, 2006. [3] Mutiara, Ahmad Benny., Catatan Kuliah Jaringan Saraf Tiruan. Universitas

Gunadarma, 2009. [4]. Nafisah, Sari., Pengklasifikasian Jenis Tanah Menggunakan Jaringan Syaraf Tiruan

Backpropagation. Universitas Gunadarma, 2008. [5]. Septiana, Diah Ayu., Analisis Tekstur Kayu Parket Dengan Menggunakan Metode

Statistikal Grey Level Run Length Matrix. Universitas Gunadarma, 2009. [6]. Siang, Jong Jek., Jaringan Saraf Tiruan & Pemrogramannya Menggunakan Matlab.

Yogyakarta: Penerbit Andi, 2004. [7] Topi Mäenpää, Jaakko Viertola, and Matti Pietikäinen., Optimizing color and texture

features for real-time visual inspection. Machine Vision Group Department of Electrical and Information Engineering University of Oulu, Finland. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.97.5610&rep=rep1&type=pdf, diunduh tanggal 11 Januari 2010

[6]. Zahab, Nicky Muhammad., Analisis Tekstur Parket Kayu Jati Dengan Menggunakan Metode Statistikal Gray Level Difference Method. Universitas Gunadarma, 2009.