Membangun Jaringan Implementasi Jaringan Saraf Tiruan untuk Mendeteksi Penyakit Tembakau (Nicotiana tabacum L) dengan Metode Backpropagation

Gambar 3.1 Jaringan feedforward Jaringan ini dapat digunakan sebagai fungsi penduga secara umum. Jaringan ini dapat menduga fungsi lain dengan angka yang terbatas dari sebuah kondisi yang belum diketahui dan tidak kontinu dengan baik, yang diberikan oleh neuron pada lapisan tersembunyi.

3.2 Membangun Jaringan

Backpropagation Langkah pertama pada pembelajaran suatu jaringan alur maju adalah membuat obyek jaringan. Fungsi newff merupakan suatu objek jaringan alur maju. Fungsi Newff memerlukan empat input dan kembalian dari objek jaringan. Input pertama adalah R dengan 2 matriks nilai minimum dan maksimum untuk setiap elemen R dari vektor input. Input kedua adalah sebuah array yang mengandung ukuran size dari setiap lapisan. Input ketiga adalah sebuah sel array yang mengandung nama dari fungsi transfer yang digunakan pada setiap lapisan. Input terakhir adalah input yang mengandung nama dari fungsi training yang digunakan. Pada penulisan ini, fungsi transfer yang digunakan untuk lapisan tersembunyi adalah fungsi transfer tansig sedangkan untuk lapisan output menggunakan fungsi transfer purelin dengan jaringan yang terdiri dari 3 lapisan, dengan 1 lapisaan tersembunyi dengan 5 neuron yang dibuat diawal dan lapisan output dengan 1 neuron. Universitas Sumatera Utara Perintah yang dipakai untuk membentuk sebuah jaringan backpropagation adalah newff dengan format: net = newffPR[S1 S2...SN],{TF1 TF2...TFN}, BTF,BLF,PF Tabel 3.3 Penjelasan Parameter Argumen yang Diperlukan pada Newff No Fungsi Keterangan 1 PR Matriks berukuran R x 2 yang berisi nilai maksimum dan minimum, dengan R adalah jumlah variabel input. 2 Si Jumlah neuron pada lapisan ke-i dengan i = 1,2,...N1. 3 TFi Fungsi aktivasi pada lapisan ke-i dengan i = 1,2,...N1 dengan fungsi default yang dipakai adalah tansig 4 BTF Fungsi pelatihan jaringan dengan fungsi default adalah trainm 5 BLF Fungsi pelatihan untuk bobot dalam jaringan dengan fungsi default adalah learngdm 7 PF Fungsi Performance, jika tidak diisi maka default = mse. Fungsi aktivasi TF harus merupakan fungsi yang dapat dideferensialkan, seperti tansig, logsig atau purelin. Fungsi pelatihan BTP dapat digunakan fungsi- fungsi pelatihan untuk backpropagation seperti trainlm, trainbfg, trainrp atau traingd. Fungsi kinerja yang digunakan merupakan fungsi kinerja yang dapat dideferensialkan seperti mse atau msereg. Pelatihan yang digunakan pada backpropagation pada umumnya dilakukan secara berkelompok atau disebut bacth training. Semua pola dimasukkan ke dalam jaringan kemudian bobot diubah. Dalam pelatihan secara kelompok ini, semua pola Universitas Sumatera Utara dimasukkan dalam bentuk matriks.

3.2.1 Ilustrasi dari proses

backpropagation Pada penelitian ini, jaringan backpropagation yang terbentuk terdiri dari sebelas neuron masukan yaitu x1 sampai dengan x11. Setiap neuron terkoneksi dengan neuron pada lapisan di atas nya atau lapisan tersembunyi ditandai dengan adanya bobot koneksi yaitu v11 sampai dengan v111, pada gambar dibawah ditandai dengan warna kuning. Untuk menghitung sinyal output untuk node pertama z1 diadakan penghitungan maju dari lapisan masukan ke lapisan tersembunyi dan lapisan keluaran, dengan menjumlahkan bobot dengan bias dengan f merupakan fungsi aktivasi yang dipakai dengan perhitungan matematis sebagai berikut: Z_in 1 = v + X i v ij v0 = bias ; v = bobot Z j = Z_in j W12 W11 W101 W51 W52 W102 V55 V11 j V11 V15 V111 V51 V11 V1110 V510 X 1 Z 1 Y2 Z1 Z5 X 5 Y 1 X1 1 b1 b2 Universitas Sumatera Utara Gambar 3.2 Perhitungan maju node lapisan tersembunyi Demikian selanjutnya diadakan perhitungan yang sama untuk node berikutnya yaitu Z2 sampai dengan Z10 sehingga didapat sinyal output dari setiap neuron pada lapisan tersembunyi yang akan dikirim pada lapisan berikutnya atau lapisan output. Jika setiap node telah mempunyai sinyal output dengan bobot yang didapat dari perhitungan sebelumnya, pada gambar dibawah ditandai dengan warna merah, maka akan diadakan penjumlahan bobot untuk menentukan output Y1 dari jaringan dengan perhitungan: Gambar 3.3 Perhitungan maju node lapisan output Y_in k = w 0k + Z j w jk w0 = bias ; v = bobot W12 W11 W101 W51 W52 W102 V55 V11 j V11 V15 V111 V51 V11 V1110 V510 X 1 Z 1 Y2 Z1 Z5 X 5 Y 1 X1 1 b2 b1 Universitas Sumatera Utara Y k = Y_in k Dari perhitungan tersebut didapatlah Y1 yang menjadi keluaran dari jaringan. Untuk menghitung hasil output dari Y2 maka akan dikerjakan algoritma yang sama dengan penghitungan keluaran Y1. Hasil keluaran dari jaringan dibandingkan dengan target yang telah ditentukan ditandai dengan tk, untuk menghitung error yang ditandai dengan δ k dari jaringan, dilakukan perhitungan sebagai berikut: δ k = t k – Y k ’ Y_in k Jika ternyata hasil error jaringan tidak sama dengan error yang telah ditentukan, kemudian dilakukan penghitungan koreksi bobot dengan melibatkan learning rate atau konstanta pembelajaran dimana akan digunakan untuk memperoleh nilai w jk dengan perhitungan: Δw jk = αδ k Z j α = learning rate Koreksi bias juga dihitung yang nantinya akan digunakan untuk memperbaiki nilai w 0k : Δw 0k = αδ k Kemudian hasil ini dikirimkan ke unit-unit yang ada di lapisan bawahnya, disinilah terjadi propagasi balik dengan proses yang terjadi sebagai berikut: W12 W11 W101 W51 W52 W102 V55 V11 j V11 V15 V111 V51 V11 V1110 V510 X 1 Z1 Y2 Z1 Z5 X 5 Y 1 X1 1 b2 b1 Universitas Sumatera Utara Gambar 3.4 Perhitungan balik bobot lapisan tersembunyi Masing-masing unit output Y1 dan Y2 memperbaiki bias dan bobotnya dengan perhitungan matematisnya adalah: w jk baru = w jk lama + Δw jk bobot w 0k baru = w 0k lama + Δw 0k bias Kemudian hitung koreksi bobot untuk lapisan masukan yang nantinya akan digunakan untuk memperbaiki nilai v ij : Δv ij = αδ k X i Hitung koreksi bias yang akan digunakan untuk memperbaiki nilai v ij : Δv 0j = αδ j Gambar 3.5 Perhitungan balik bobot lapisan input W12 W11 W101 W51 W52 W102 V55 V11 j V11 V15 V111 V51 V11 V1110 V510 X 1 Z1 Y2 Z1 Z5 X 5 Y 1 X1 1 b2 b1 Universitas Sumatera Utara Masing-masing unit tersembunyi Z1 sampai dengan Z10 memperbaiki bias dan bobotnya dengan perhitungan: v ij baru = v ij lama + Δv ij bobot v 0j baru = v 0j lama + Δv 0j bias Dari hasil penghitungan bobot baru yang telah didapat dari propagasi balik, maka kembali diulang algoritma perhitungan maju sehingga didapat target yang diharapkan atau error yang lebih kecil dari yang telah ditentukan.

3.2.2 Struktur sistem

Sebelum diadakan pelatihan terhadap jaringan dan perancangan aplikasi dalam GUI, perlu dianalisis gambaran struktur dari sistem secara keseluruhan terlebih dahulu. Analisis ini diperlukan untuk memudahkan pengembangan proses perancangan yang mendetail dari aplikasi yang dibuat. Struktur yang dibuat menjadi acuan dalam menghubungkan setiap komponen yang ada dalam sistem yang sedang dibangun. Analisis setiap struktur menu yang akan dibangun dalam aplikasi ini adalah : 1. Halaman depan Merupakan halaman awal aplikasi yang tampil pertama kali ketika user mulai menggunakan aplikasi. 2. Mulai Aplikasi Menu yang terdapat pada halaman depan yang mengizinkan user untuk mulai menggunakan aplikasi untuk medeteksi penyakit tanaman. 3. Keluar Menu untuk keluar dari aplikasi jika tidak ingin menggunakan lebih lanjut. 4. Test Salah satu button pada aplikasi yang mengolah data yang dinputkan user Universitas Sumatera Utara sehingga menghasilkan informasi yang dibutuhkan oleh user. 5. Reset Button yang digunakan jika user ingin mendeteksi penyakit yang terjadi pada tanaman berikutnya. Aplikasi hanya dapat mendeteksi penyakit satu batang tanaman, untuk mendeteksi penyakit tanaman berikutnya perlu mereset aplikasi. 6. Selesai Button yang digunakan untuk keluar dari aplikasi jika user telah selesai menggunakan aplikasi. Gambaran struktur sistem yang dirancang, ditunjukkan pada gambar berikut ini: Software Mendeteksi Penyakit Tembakau Nicotiana tabacum L Halaman depan Mulai Aplikasi Keluar Test Reset Selesai Gambar 3.6 Struktur sistem

3.2.3 Spesifikasi Sistem

Berikut ini ditunjukkan desain dan spesifikasi sistem jaringan saraf tiruan untuk mendeteksi penyakit tembakau Nicotiana tabacum L dengan metode Universitas Sumatera Utara backpropagation, yang dibuat dalam bentuk Data Flow Diagram DFD, flowchart dan perancangan form tampilan aplikasi. 3.2.3.1 Data Flow Diagram DFD Gambar 3.7 DFD level 0 Diagram diatas merupakan gambaran seluruh proses dari sistem secara garis besar yang terdiri dari entitas, masukan, proses dan keluaran. Penjelasan dari proses yang dilakukan dalam diagram tersebut, dijelaskan menggunakan spesifikasi proses sebagai berikut: Tabel 3.4 Keterangan DFD level 0 No Nama Proses Masukan Keterangan Proses Keluaran P0 Deteksi penyakit tembakau dengan backpropagation dataInput Melatih setiap varibel inputan yang diterima oleh jaringan dengan metode backpropagation, mencari iterasi terbaik dari setiap latihan, mendapat bobot dan bias terbaik, dan menguji data baru pada jaringan. dataHasil Lebih spesifiknya lagi, proses P0 pada diagram di atas, akan diuraikan menjadi beberapa proses kecil yang ditunjukkan oleh diagram dibawah ini: dataInput Deteksi penyakit tembakau dengan backpropagation dataHasil Gejala penyakit tanaman Kondisi tanaman P0 Universitas Sumatera Utara Gambar 3.8 DFD level 1 Kondisi tanaman dataHasil Databobot Bias dataerror dataOutput Sementara dataInput Membandingkan hasil dari pelatihan dengan target yang diinginkan Menjumlahka n bobot yang diterima setiap lapisan Gejala penyakit tanaman P2.0 P1.0 Menguji data baru pada jaringan Mengulang pelatihan sampai error terkecil dan epoch terbaik dicapai P4.0 P3.0 Universitas Sumatera Utara Proses yang terjadi pada diagram aliran level 1 di atas, disajikan dalam Tabel 3.5 dengan spesifikasi proses sebagai berikut: Tabel 3.5 Keterangan DFD level 1 No Nama Proses Masukan Keterangan Proses Keluaran P1 Menjumlahkan bobot yang diterima setiap lapisan dataInput Menerima inputan berupa variabel dari setiap gejala penyakit yang tampak pada tanaman dataOutput Sementara P2 Membandingkan hasil dari pelatihan dengan target yang diinginkan dataOutput Sementara Melihat perbandingan antara target dengan hasil pelatihan Dataerror P3 Mengulang pelatihan sampai error terkecil dan epoch terbaik dicapai Dataerror Melakukan pelatihan kembali dengan mengubah learning rate dan jumlah lapisan tersembunyi Databobot bias P4 Menguji data baru pada jaringan Databobot bias Menguji data baru pada jaringan dengan bobot dan bias yang telah diperoleh dari jaringan dataHasil

3.2.3.2 Flowchart Bagan Alir

Berikut ini adalah flowchart dari metode backpropagation untuk mendeteksi penyakit tanaman tembankau Nicotiana tabacum L: Universitas Sumatera Utara Mulai Epoch maximum, target error, learning rate dan lapisan tersembunyi Inisialisasi bobot acak Epoch = 0 tidak Ya Ya tidak Epoch = epoch+1 Feedforward Hitung error Hitung perubahan bobot Perhitungan MSE MSE target error? Simpan bobot Epoch= epoch maximum? Universitas Sumatera Utara Gambar 3.9 Flowchart program

3.2.3.3 Perancangan

Form Rancangan program yang akan diimplementasikan dengan menggunakan GUI Matlab R2010a dibuat untuk mempermudah prancangan sistem yang akan dikerjakan. Gambaran form yang akan dibuat yaitu: 1. Form depan Form inilah yang tampak pada saat sistem pertama kali dipergunakan. Dengan memilih menu lanjut maka user akan membuka dialog selanjutnya dan jika memilih menu keluar maka user akan keluar dari aplikasi. lanjut keluar DETEKSI PENYAKIT TEMBAKAU Nicotiana tabacum L Deskripsi sistem Universitas Sumatera Utara Gambar 3.10 Form depan 2. Form menu utama IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK MEDETEKSI PENYAKIT TEMBAKAU Nicotiana tabacum L Pilihan kondisi tanaman dengan 11 variabel berupa radiobutton. Test Hasil pengujian Pengendalian Reset Tanaman yang sehatsakit Cara mengatasi penyakit Selesai Gambar 3.11 Form menu utama Form diatas merupakan form utama yang akan menampilkan hasil penyakit tanaman dan cara mengendalikannya. User akan menginputkan kondisi tanaman yang terlihat dan untuk mengtahui jenis penyakit, dapat menekan tombol test. Untuk Universitas Sumatera Utara memasukkan data baru user dapat menekan tombol reset dan jika hasil penyakit telah didapat dengan otomatis cara pengendaliannya akan langsung tampil. BAB 4 IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi