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