Implementasi Algoritma Backpropagation Jaringan Syaraf Tiruan untuk Mendeteksi Penyakit Tanaman Karet (Hevea brasiliensis)
IMPLEMENTASI ALGORITMA BACKPROPAGATION
JARINGAN SYARAFTIRUANUNTUK
MENDETEKSIPENYAKITTANAMAN KARET
(Hevea brasiliensis)
SKRIPSI
GINA AGNESIA
081401042
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2012
(2)
IMPLEMENTASI ALGORITMA BACKPROPAGATION
JARINGAN SYARAFTIRUANUNTUKMENDETEKSI PENYAKIT TANAMAN KARET
(Hevea brasiliensis)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer
GINA AGNESIA 081401042
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2012
(3)
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA BACKPROPAGATION
JARINGAN SYARAFTIRUANUNTUK MENDETEKSIPENYAKITTANAMAN KARET (Hevea brasiliensis)
Kategori : SKRIPSI
Nama : GINA AGNESIA
Nomor Induk Mahasiswa : 081401042
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM
(FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di
Medan, 15Mei 2012 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Amer Sharif, S.Si, M.Kom Dr. Poltak Sihombing, M.Kom
NIP. - NIP. 196203171991031001
Diketahui/Disetujui oleh Departemen Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001
(4)
PERNYATAAN
IMPLEMENTASI ALGORITMA BACKPROPAGATION
JARINGAN SYARAFTIRUANUNTUK MENDETEKSI PENYAKITTANAMAN KARET
(Hevea brasiliensis)
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 15 Mei 2012
GINA AGNESIA 081401042
(5)
PENGHARGAAN
Puji dan syukur kepada Tuhan Yesus Kristus atas penyertaan dan kasih setiaNya penulis dapat menyelesaikan skripsi yang berjudul Implementasi Algoritma
Backpropagation Jaringan SyarafTiruanUntukMendeteksiPenyakitTanaman Karet
(Hevea brasiliensis) dalam waktu yang telah ditetapkan.
Dalam pelaksanaan skripsi ini penulis mendapat banyak bantuan baik berupa dukungan material dan spiritual dari berbagai pihak. Maka dalam kesempatan ini penulis mengucapkan terima kasih kepada:
1. Bapak Dr. Poltak Sihombing, M.Kom selaku pembimbing I sekaligus Ketua Program Studi S1 Ilmu Komputer yang telah memberikan banyak bantuan, arahan, dan kesabaran dalam membimbing penulis hingga dapat menyelesaikan skripsi ini.
2. Bapak Amer Sharif, S.Si, M.Kom selaku pembimbing II yang telah memberikan banyak bantuan, arahan, dan kesabaran dalam membimbing penulis hingga dapat menyelesaikan skripsi ini.
3. Ibu Dian Rachmawati, S.Si, M.Kom selaku pembanding I yang telah memberikan kritik dan saran yang sangat bermanfaat bagi penulis dalam penyempurnaan skripsi ini.
4. Bapak Syahriol Sitorus, S.Si, MIT selaku pembanding II yang telah memberikan kritik dan saran yang sangat bermanfaat bagi penulis dalam penyempurnaan skripsi ini.
5. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer sekaligus pembimbing akademik yang telah memberikan banyak bimbingan, arahan dan bantuan selama penulis kuliah di S1 Ilmu Komputer FMIPA USU.
6. Dekan FMIPA Bapak Dr. Sutarman, M.Sc dan Pembantu Dekan FMIPA, Bapak/Ibu Dosen Pengajar beserta seluruh pegawai dan staf Program Studi S1 Ilmu Komputer FMIPA USU.
7. Seluruh praktisi perkebunan karet yang telah membantu penulis selama wawancara.
8. Ayahanda dan Ibunda tercinta, ketiga adik saya tersayang, dan seluruh keluarga besar saya yang begitu mendukung saya baik melalui doa, semangat, dan material hingga selesainya skripsi ini.
(6)
9. Teman-teman mahasiswa S1 Ilmu Komputer stambuk 2008 khususnya Yeni Susanti br. Tarigan dan Yustina yang telah memberikan semangat dan bantuan selama penulis kuliah di S1 Ilmu Komputer FMIPA USU. 10. Teman-teman serta pihak-pihak lain yang tidak dapat saya sebutkan satu
per satu atas segala dukungan dan bantuannya.
Akhir kata penulis berharap semoga skripsi ini menjadi sesuatu yang berguna bagi pembaca terutama teman-teman mahasiswa. Penulis juga meminta maaf atas segala kekurangan yang terdapat di dalam skripsi ini.
Medan, 15 Mei 2012
(7)
ABSTRAK
Pada skripsi ini, masalah yang diangkat adalah pendeteksian penyakit pada tanaman karet. Saat ini, hampir semua pekerjaan dapat dilakukan dengan menggunakan komputer, salah satunya adalah pendeteksian penyakit pada tanaman karet. Pendeteksian penyakit tanaman karet dapat dilakukan dengan menerapkan jaringan syaraf tiruan menggunakan algoritma backpropagation. Algoritma backpropagation
merupakan salah satu metode pembelajaran jaringan syaraf tiruan yang membandingkan output yang diperoleh jaringan dengan target yang telah ditetapkan untuk menghitung error jaringan kemudian merambatkan error tersebut kelapisan sebelumnya untuk mendapatkan koreksi bobot yang akan menghasilkan output yang diharapkan. Penelitian ini menerapkan algoritma backpropagation dalam mengembangkan suatu jaringan syaraf tiruan untuk mendeteksi penyakit pada tanaman karet (Hevea brasiliensis). Gejala-gejala penyakit yang tampak pada tanaman karet digunakan sebagai input yang terdiri dari 7 variabel untuk tiap-tiap bagian tanaman yaitu akar, batang, bidang sadap, dan daun. Terdapat 3 target output yaitu: bagian tanaman terserang penyakit Akar putih atau terserang penyakit Jamur upas atau terserang penyakit Mouldy rot atau terserang penyakit Embun tepung; bagian tanaman sehat; dan bagian tanaman sakit. Pelatihan dalam penelitian ini menghasilkan bobot ideal dengan menggunakan 1 lapisan input, 2 lapisan tersembunyi, dan 1 lapisan output dengan 104 neuron pada lapisan tersembunyi pertama, 5 neuron pada lapisan tersembunyi kedua, fungsi aktivasi lapisan tersembunyi pertama dan kedua adalah sigmoid bipolar, fungsi aktivasi lapisan output adalah linear, dan learning rate 0,01, pada 148.013 iterasi dengan error 1x10-5.
Kata Kunci: Backpropagation, Jaringan Syaraf Tiruan, Kecerdasan Buatan, Pendeteksian, Penyakit, Tanaman Karet.
(8)
IMPLEMENTATION OF ARTIFICIAL NEURAL NETWORK USING BACKPROPAGATION ALGORITHM TO DETECT
THE DISEASES OF RUBBER TREE (Hevea brasiliensis)
ABSTRACT
In this paper, the problem that is raised is detection of diseases in rubber tree. Nowadays, almost every task can be done by computer, one of them is detection of diseases in rubber tree. Rubber tree diseases detection can be done by applying artificial neural network using backpropagation algorithm. Backpropagation algorithmis an artificial neural networklearning methodthat compares theoutputobtained from the networkwiththe targetwhich had been setfor calculating thenetworkerrorandpropagates theerrorto previous layertoobtain theweights correctionthat will generatethe expectedoutput. This researchapplied the backpropagationalgorithmto developan artificial neural network fordetecting thediseasesof rubber tree(Hevea brasiliensis).Visible disease symptoms in the rubber tree used as input consisted of 7variablesfor each part ofthe plantsuch as root, stem, tapping panel, and leaf. There were 3 outputs target such as: part of plant infected withWhite root disease orinfected withPinkdisease or infected withMouldy rot disease orinfected with Powdery mildew disease; healthypart of plant; and diseased part of plant. Trainingin this researchgeneratedideal weightsby usingone inputlayer, twohiddenlayers, andanoutputlayerwith 104neuronsinthe firsthidden layer, 5neuronsinthe second hiddenlayer, the activation function of the first and second hidden layer are sigmoid bipolar, the activation function of the output layer is linear, and0.01 oflearningrate, with148,013 ofiterations, and error rate of 1x10-5.
Keyword: Backpropagation, Artificial Neural Network, Artificial Intelligence, Detection, Disease, Rubber Tree.
(9)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xiii
Bab 1 Pendahuluan 1
1.1Latar Belakang 1
1.2Perumusan Masalah 3
1.3Batasan Masalah 3
1.4Tujuan Penelitian 5
1.5Manfaat Penelitian 5
1.6Metode Penelitian 5
1.7Sistematika Penulisan 6
Bab 2 Landasan Teori 8
2.1 Jaringan Syaraf Tiruan 8
2.1.1 Pengertian Jaringan Syaraf Tiruan 9
2.1.2 Komponen Jaringan Syaraf Tiruan 9
2.1.3 Manfaat dan Aplikasi Jaringan Syaraf Tiruan 13
2.1.4 Arsitektur Jaringan Syaraf Tiruan 14
2.1.5 Fungsi Aktivasi Jaringan Syaraf Tiruan 17
2.1.6 Bias dan Threshold 23
2.1.7 Pelatihan Jaringan Syaraf Tiruan 23 2.18 Aturan Pembelajaran Jaringan Syaraf Tiruan 24
2.2 Multilayer Perceptron 25
2.3 Backpropagation 28
2.3.1 Arsitektur Jaringan Backpropagation 29
2.3.2 Fungsi Aktivasi 30
2.3.3 Algoritma Backpropagation 31
2.3.4 Pemilihan Bobot dan Bias Awal 35
(10)
Bab 3 Analisis dan Perancangan 37
3.1 Analisis Sistem 37
3.1.1 Analisis Permasalahan 37
3.1.2 Analisis Input dan Output 38
3.1.3 Analisis Jaringan Backpropagation 42
3.1.3.1 Gambaran Proses pada Jaringan Backpropagation
Secara Umum 42
3.1.3.2 Arsitektur Jaringan 45
3.2 Perancangan Sistem 46
3.2.1 Perancangan Flowchart 46
3.2.2 Ilustrasi Proses Perhitungan pada Jaringan Backpropagation 51
3.2.3 Data Flow Diagram (DFD) 55
3.2.4 Membentuk Jaringan Bakpropagation dengan Matlab R2007b 61
3.2.5 Perancangan Struktur Sistem 61
3.2.6 Perancangan Antarmuka 65
Bab 4 Implementasi dan Pengujian Sistem 68
4.1 Implementasi Sistem 68
4.1.1 Pembelajaran Jaringan 68
4.1.2 Hasil Pelatihan Jaringan 69
4.2 Pengujian Sistem 85
4.3 Tampilan Antarmuka Sistem 87
4.3.1 Tampilan Form Utama 87
4.3.2 Tampilan Form Akar 88
4.3.3 Tampilan Form Batang 89
4.3.4 Tampilan Form BidSadap 90
4.3.5 Tampilan Form Daun 91
4.3.6 Tampilan Form DaftarPenyakit 92
4.3.7 Tampilan Form Keluar 92
4.3.8 Tampilan Form Hasil Pendeteksian Sistem 93
Bab 5 Kesimpulan dan Saran 95
5.1 Kesimpulan 95
5.2 Saran 96
(11)
DAFTAR TABEL
No. Tabel
Nama Tabel Halaman
3.1 3.2 3.3 3.4 3.5 3.6 3.7 4.1 4.2 4.3 4.4 4.5 4.6 4.7
Output dan Input untuk Bagian Akar Output dan Input untuk Bagian Batang Output dan Input untuk Bagian Bidang Sadap Output dan Input untuk Bagian Daun
Keterangan Diagram Konteks Keterangan DFD Pelatihan Level 1 Keterangan DFD Pengujian Level 1
Jumlah Epoch Hasil Pelatihan Dengan 1 Lapisan Tersembunyi
Jumlah Epoch Hasil Pelatihan Dengan 2 Lapisan Tersembunyi
Hasil Pelatihan untuk Bagian Akar Hasil Pelatihan untuk Bagian Batang Hasil Pelatihan untuk Bagian Bidang Sadap Hasil Pelatihan untuk Bagian Daun
Hasil Pengujian Sistem
40 40 41 41 56 58 60 70 70 72 76 79 82 85
(12)
DAFTAR GAMBAR
No. Gambar
Nama Gambar Halaman
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 4.1 4.2 4.3 4.4
Neuron buatan sederhana
Struktur neuron jaringan syaraf tiruan
Arsitektur jaringan syaraf tiruan dengan lapisan tunggal Arsitektur jaringan syaraf tiruan dengan banyak lapisan Arsitektur jaringan syaraf tiruan dengan lapisan
kompetitif
Fungsi aktivasi: Undak Biner (hard limit) Fungsi aktivasi: Undak Biner (threshold) Fungsi aktivasi: Bipolar (symetrichard limit) Fungsi aktivasi: Bipolar (threshold)
Fungsi aktivasi: Linear (identitas) Fungsi aktivasi: Saturating Linear
Fungsi aktivasi: Symetric Saturating Linear
Fungsi aktivasi: Sigmoid Biner
Fungsi aktivasi: Sigmoid Bipolar
Arsitektur jaringan perceptron
Arsitektur jaringan lapis banyak (multilayer)
Arsitektur jaringan backpropagation dengan satu lapisan tersembunyi
Fungsi aktivasi sigmoid bipolar
Gambaran proses pembelajaran jaringan backpropagation
Gambaran proses pengujian jaringan backpropagation
Arsitektur jaringan backpropagation dengan dua lapisan tersembunyi
Flowchart pelatihan jaringan
Flowchart pengujian jaringan
Ilustrasi tahap feedforward pada jaringan Ilustrasi tahap backpropagation pada jaringan Diagram konteks
DFD pelatihan level 1 DFD pengujian level 1 Struktur sistem
Rancangan form Utama
Rancangan form Akar, Batang, BidSadap, dan Daun Rancangan form DaftarPenyakit
Rancangan form Keluar
Grafik penurunan error pelatihan jaringan Tampilan form Utama
Tampilan form Akar Tampilan form Batang
10 11 15 16 17 18 18 19 19 20 20 21 22 22 26 27 29 31 43 44 45 48 49 51 53 56 57 60 64 65 66 67 67 72 87 88 89
(13)
4.5 4.6 4.7 4.8 4.9 4.10 4.11
Tampilan form BidSadap Tampilan form Daun
Tampilan form DaftarPenyakit Tampilan form Keluar
Tampilan hasil pendeteksian sistem jika akar terserang penyakit Akar putih
Tampilan hasil pendeteksian sistem jika akar sakit Tampilan hasil pendeteksian sistem jika akar sehat
90 91 92 92 93 94 94
(14)
DAFTAR LAMPIRAN
No. Lampiran
Nama Lampiran Halaman
A B C D
Listing Program
Penyakit Tanaman Karet (Hevea brasiliensis) dan Pengendaliannya
Kuisioner Surat Izin Riset
A-1 B-1 C-1 D-1
(15)
ABSTRAK
Pada skripsi ini, masalah yang diangkat adalah pendeteksian penyakit pada tanaman karet. Saat ini, hampir semua pekerjaan dapat dilakukan dengan menggunakan komputer, salah satunya adalah pendeteksian penyakit pada tanaman karet. Pendeteksian penyakit tanaman karet dapat dilakukan dengan menerapkan jaringan syaraf tiruan menggunakan algoritma backpropagation. Algoritma backpropagation
merupakan salah satu metode pembelajaran jaringan syaraf tiruan yang membandingkan output yang diperoleh jaringan dengan target yang telah ditetapkan untuk menghitung error jaringan kemudian merambatkan error tersebut kelapisan sebelumnya untuk mendapatkan koreksi bobot yang akan menghasilkan output yang diharapkan. Penelitian ini menerapkan algoritma backpropagation dalam mengembangkan suatu jaringan syaraf tiruan untuk mendeteksi penyakit pada tanaman karet (Hevea brasiliensis). Gejala-gejala penyakit yang tampak pada tanaman karet digunakan sebagai input yang terdiri dari 7 variabel untuk tiap-tiap bagian tanaman yaitu akar, batang, bidang sadap, dan daun. Terdapat 3 target output yaitu: bagian tanaman terserang penyakit Akar putih atau terserang penyakit Jamur upas atau terserang penyakit Mouldy rot atau terserang penyakit Embun tepung; bagian tanaman sehat; dan bagian tanaman sakit. Pelatihan dalam penelitian ini menghasilkan bobot ideal dengan menggunakan 1 lapisan input, 2 lapisan tersembunyi, dan 1 lapisan output dengan 104 neuron pada lapisan tersembunyi pertama, 5 neuron pada lapisan tersembunyi kedua, fungsi aktivasi lapisan tersembunyi pertama dan kedua adalah sigmoid bipolar, fungsi aktivasi lapisan output adalah linear, dan learning rate 0,01, pada 148.013 iterasi dengan error 1x10-5.
Kata Kunci: Backpropagation, Jaringan Syaraf Tiruan, Kecerdasan Buatan, Pendeteksian, Penyakit, Tanaman Karet.
(16)
IMPLEMENTATION OF ARTIFICIAL NEURAL NETWORK USING BACKPROPAGATION ALGORITHM TO DETECT
THE DISEASES OF RUBBER TREE (Hevea brasiliensis)
ABSTRACT
In this paper, the problem that is raised is detection of diseases in rubber tree. Nowadays, almost every task can be done by computer, one of them is detection of diseases in rubber tree. Rubber tree diseases detection can be done by applying artificial neural network using backpropagation algorithm. Backpropagation algorithmis an artificial neural networklearning methodthat compares theoutputobtained from the networkwiththe targetwhich had been setfor calculating thenetworkerrorandpropagates theerrorto previous layertoobtain theweights correctionthat will generatethe expectedoutput. This researchapplied the backpropagationalgorithmto developan artificial neural network fordetecting thediseasesof rubber tree(Hevea brasiliensis).Visible disease symptoms in the rubber tree used as input consisted of 7variablesfor each part ofthe plantsuch as root, stem, tapping panel, and leaf. There were 3 outputs target such as: part of plant infected withWhite root disease orinfected withPinkdisease or infected withMouldy rot disease orinfected with Powdery mildew disease; healthypart of plant; and diseased part of plant. Trainingin this researchgeneratedideal weightsby usingone inputlayer, twohiddenlayers, andanoutputlayerwith 104neuronsinthe firsthidden layer, 5neuronsinthe second hiddenlayer, the activation function of the first and second hidden layer are sigmoid bipolar, the activation function of the output layer is linear, and0.01 oflearningrate, with148,013 ofiterations, and error rate of 1x10-5.
Keyword: Backpropagation, Artificial Neural Network, Artificial Intelligence, Detection, Disease, Rubber Tree.
(17)
BAB 1
PENDAHULUAN
1.1Latar Belakang
Otak manusia merupakan pusat kecerdasan dan pengendali aktivitas manusia yang memiliki kemampuan luar biasa. Otak mempunyai struktur yang menakjubkan karena kemampuannya membentuk sendiri aturan-aturan atau pola berdasarkan pengalaman yang diterima [14].
Jaringan saraf tiruan merupakan salah satu sistem pemrosesan informasi yang didesain dengan menirukan cara kerja otak manusia dalam menyelesaikan suatu masalah dengan melakukan proses belajar melalui perubahan bobot sinapsisnya. Jaringan saraf mampu mengenali kegiatan dengan berbasis pada data masa lalu. Data masa lalu akan dipelajari oleh jaringan saraf tiruan sehingga mempunyai kemampuan untuk memberi keputusan terhadap data yang belum pernah dipelajari [15].
Jaringan saraf tiruan juga dikenal sebagai kotak hitam (black box technology) atau tidak transparan (opaque) karena tidak dapat menerangkan bagaimana suatu hasil didapatkan. Hal inilah yang membuat jaringan saraf tiruan mampu digunakan untuk menyelesaikan persoalan yang tidak terstruktur dan sulit didefinisikan. Kenyataan inilah yang menyebabkan jaringan saraf tiruan telah meluas dipakai sebagai alat bantu memecahkan masalah pada berbagai bidang dan disiplin ilmu [3].
Backpropagation merupakan salah satu metode pembelajaran jaringan syaraf
(18)
ditetapkan untuk menghitung error jaringan kemudian merambatkan error tersebut kelapisan sebelumnya untuk mendapatkan koreksi bobot yang akan menghasilkan output yang diharapkan.
Tanaman karet (Hevea brasiliensis) merupakan tanaman yang berasal dari Brazil. Tanaman ini merupakan sumber utama bahan karet alam dunia. Karet alam merupakan salah satu komoditas pertanian yang penting untuk Indonesia dan lingkup internasional. Di Indonesia, karet merupakan salah satu hasil pertanian yang banyak menunjang perekonomian negara. Karet dapat diolah menjadi aneka jenis barang yang sangat luas [11] seperti ban, sepatu karet, sabuk pengangkut, kabel, pembungkus logam, dan benang karet. Hasil devisa yang diperoleh dari karet cukup besar.
Dalam susunan taksonomi tanaman karet (Hevea brasiliensis) berasal dari genus Hevea dan spesies Hevea brasiliensis. Produktivitas tanaman karet dipengaruhi oleh faktor kondisi lingkungan yang disebut faktor-faktor produksi alami seperti letak daerah terhadap lintang, besarnya curah hujan, suhu harian rata-rata, ketinggian tempat dari permukaan laut, intensitas sinar matahari, derajat keasaman tanah, topografi tanah, dan kemiringan atau turun naiknya lahan [10]. Sedangkan faktor-faktor yang dapat mengganggu tumbuh kembangnya tanaman karet adalah hama, penyakit, dan gulma.
Penyakit yang menyerang tanaman karet sangat merugikan petani karet karena mengganggu tumbuh kembangnya tanaman karet sehingga dapat mengakibatkan penurunan jumlah produksi lateks bahkan dalam beberapa kasus dapat mengakibatkan tanaman karet mati. Oleh karena itu, petani karet harus selalu melakukan pemeriksaan tanaman untuk mendeteksi ada tidaknya penyakit pada tanaman karet. Hal ini bertujuan agar petani dapat melakukan tindakan pencegahan dan pengendalian untuk menghindari kerugian dan penyebaran penyakit pada tanaman karet yang lain.
(19)
Dengan kemampuan jaringan syaraf tiruan yang menirukan kemampuan otak manusia dalam mengolah pola-pola inputan yang diberikan untuk menghasilkan keluaran atau kesimpulan yang ditarik berdasarkan pengalamannya selama proses pembelajaran, jaringan syaraf tiruan dapat digunakan sebagai alat bantu untuk mendeteksi penyakit tanaman karet.
Mencermati hal-hal di atas, penulis terdorong untuk mengangkat judul Implementasi Algoritma Backpropagation Jaringan Syaraf Tiruan Untuk Mendeteksi Penyakit Tanaman Karet (Hevea brasiliensis), yang diharapkan dapat membantu petani karet untuk mendeteksi penyakit tanaman karet (Hevea brasiliensis).
1.2Perumusan Masalah
Permasalahan yang akan dibahas dalam penelitian ini adalah bagaimana membantu petani karet mendeteksi penyakit pada tanaman karet (Hevea brasiliensis) dengan merancang aplikasi komputer yang menerapkan algoritma backpropagation jaringan syaraf tiruan sebagai alat bantu untuk mendeteksi penyakit tanaman karet (Hevea brasiliensis).
1.3Batasan Masalah
Batasan masalah yang menjadi acuan dalam pengerjaan skripsi ini adalah:
1. Perancangan aplikasi untuk mendeteksi penyakit tanaman karet (Hevea
brasiliensis) pada 4 bagian tanaman yang berbeda yaitu akar, batang, bidang sadap,
(20)
2. Input dari aplikasi merupakan gejala dari masing-masing penyakit. Input dan output dari tiap bagian tanaman yang dideteksi:
a. Akar
Input, terdiri dari 7 variabel yaitu ada tidaknya miselium (benang-benang jamur) berwarna putih pada akar, daun berwarna hijau pucat/kuning pucat, daun berguguran, akar tanaman busuk, bunga/buah/daun muda muncul lebih awal dari waktunya, tepi/ujung daun terlipat/menggulung, dan ujung ranting mati/kering.Output: Akar sehat, Akar sakit, atau Akar terserang penyakit Akar putih.
b. Batang
Input terdiri dari 7 variabel yaitu ada tidaknya miselium (benang-benang jamur) putih/kerak berwarna merah jambu pada batang/pangkal/bagian atas percabangan, kulit mengeluarkan lateks berwarna cokelat/cokelat kehitaman, kulit membusuk, bagian kayu di bawah kulit menghitam/rusak, terdapat garis-garis hitam pada kulit, kulit kering dan pecah-pecah, dan kulit berwarna hitam. Output: Batang sehat, Batang sakit, atau Batang terserang penyakit Jamur upas. c. Bidang Sadap
Input terdiri dari 7 variabel yaitu ada tidaknya selaput tipis (lapisan jamur) berwarna putih/kelabu dekat alur sadap, kulit pulihan di atas bidang sadap bebercak hitam/putih, terdapat luka-luka/pecah-pecah pada kulit, kulit dekat bidang sadap berwarna hitam kecokelatan, kulit membusuk, terdapat cekungan hitam sejajar alur sadap, dan terdapat garis berwarna hitam pada kulit.
Output: Bidang sadap sehat, Bidang sadap sakit, atau Bidang sadap terserang penyakit Mouldy rot.
d. Daun
Input terdiri dari 7 variabel yaitu ada tidaknya bercak-bercak putih/kuning seperti tepung halus di bawah permukaan daun, daun bebercak cokelat/hitam, tunas mengeriput agak berlendir, daun muda berguguran, bunga berguguran, daun muda lemas/keriput, dan daun muda berwarna hitam.
Ouput: Daun Sehat, Daun Sakit, atau Daun terserang penyakit Embun tepung (Oidium heveae).
3. Gejala penyakit yang digunakan dalam perancangan aplikasi hanya yang tampak secara fisik di perkebunan tempat penelitian.
(21)
4. Pembuatan aplikasi menggunakan 1 lapisan input, 2 lapisan tersembunyi, dan 1 lapisan output.
5. Fungsi aktivasi yang digunakan pada lapisan tersembunyi ke-1 dan lapisan tersembunyi ke-2adalah sigmoid bipolar dan pada lapisan output digunakan fungsi aktivasi linear.
6. Maximum epoch yang digunakan dalam pelatihan jaringan adalah 500.000 epoch. 7. Pembuatanaplikasi pada penelitian ini menggunakan Matlab R2007b.
1.4Tujuan Penelitian
Tujuan penelitian ini adalah membuat suatu aplikasi yang dapat dipergunakan sebagai alat bantu untuk mendeteksi penyakit tanaman karet (Hevea brasiliensis) yang terjadi di lapangan.
1.5Manfaat Penelitian
Manfaat dari penelitian ini adalah:
1. Membantu pengelola perkebunan dan petani karetmendeteksi penyakit tanaman karet (Hevea brasiliensis) yang terjadi di lapangan dengan melihat gejala-gejalanya.
2. Membantu peneliti dan mahasiswa untuk mengerti dan memahami algoritma
(22)
1.6 Metode Penelitian
Tahap-tahap yang dilakukan dalam penelitian ini adalah: 1. Studi Literatur
Pada tahap ini dilakukan studi pustaka dengan membaca buku-buku, hasil-hasil penelitian ilmiah, jurnal-jurnal ilmiah, maupun artikel-artikel yang relevan dengan penelitian.
2. Observasi dan Pengumpulan Data
Tahap observasi dan pengumpulan data dilakukan bersamaan yaitu melakukan pengamatan pada objek penelitian bersamaan dengan pengumpulan data dengan wawancara pada pakar di lapangan untuk mengetahui bagaimana mendeteksi gejala awal penyakit tanaman karet.
3. Analisis data
Pada tahap ini dilakukan dengan melakukan analisis terhadap kriteria-kriteria tiap variabel sebagai indikator penentu penyakit tanaman karet.
4. Perancangan Aplikasi
Pada tahap ini dilakukan perancangan aplikasi dengan membuat flowchart
program,Data Flow Diagram (DFD), struktur sistem, dan antarmuka aplikasi. 5. Implementasi Aplikasi
Pada tahap ini dilakukan penerapan rancangan aplikasi yang ada dalam suatuprogram.
6. Pengujian Aplikasi
Pada tahap ini dilakukan pengujian aplikasi yang telah dibuat untuk mengetahui ada atau tidaknya kesalahan dan memperbaiki kesalahan yang ada.
7. Penyusunan Laporan
Pada tahap ini dilakukan penyusunan laporan skripsi sebagai dokumentasi penelitian.
(23)
1.7Sistematika Penulisan
Sistematika penulisan skripsi ini terdiri dari lima bab, yaitu sebagai berikut:
BAB 1 : PENDAHULUAN
Bab ini berisi penjelasan mengenai latar belakang pemilihan judul, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penelitian.
BAB 2 : LANDASAN TEORI
Bab ini berisi teori-teori mengenai jaringan syaraf tiruan dan algoritma
backpropagation yang berkaitan dengan implementasi algoritma backpropagation
jaringan syaraf tiruanuntuk mendeteksi penyakit tanaman karet (Hevea brasiliensis).
BAB 3 : ANALISIS DAN PERANCANGAN
Bab ini berisi analisis dan perancangan sistem untuk mendeteksi penyakit tanaman karet (Hevea brasiliensis). Pada bagian analisis sistem berisi uraian mengenai analisis input dan output dan analisis jaringan backpropagation. Pada bagian perancangan sistem berisi tentang perancanganflowchart, Data Flow Diagram (DFD), struktur sistem, dan antarmuka sistem.
BAB 4 : IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini membahas bagaimana mengimplementasikan sistem yang telah dirancang ke dalam bahasa pemrograman Matlab R2007b kemudian dilanjutkan dengan pengujian sistem yang telah dibangun.
BAB 5 : KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan yang diperoleh dari uraian bab-bab sebelumnya dan saran-saran yang diharapkan berguna dalam pengembangan sistem selanjutnya.
(24)
BAB 2
LANDASAN TEORI
2.1 Jaringan Syaraf Tiruan
Jaringan saraf tiruan bisa dibayangkan seperti otak buatan di dalam cerita-cerita fiksi ilmiah. Otak buatan ini dapat berpikir seperti manusia, dan juga sepandai manusia dalam menyimpulkan sesuatu dari potongan-potongan informasi yang diterima. Khayalan manusia tersebut mendorong para peneliti untuk mewujudkannya. Komputer diusahakan agar bisa berpikir sama seperti cara berpikir manusia. Caranya adalah dengan melakukan aktivitas-aktivitas yang terjadi di dalam sebuah jaringan saraf biologis [13].
Jaringan saraf biologis merupakan kumpulan sel-sel saraf (neuron). Neuron mempunyai tugas mengolah informasi yang bekerja berdasarkan impuls/sinyal yang diberikan pada neuron. Komponen-komponen utama neuron dikelompokkan menjadi tiga yaitu dendrit bertugas menerima informasi, badan sel (soma) berfungsi sebagai tempat pengolahan informasi, dan akson (neurit) berfungsi mengirimkan impuls-impluls ke sel saraf lainnya. Impuls dikirimkan melalui sinapsis-sinapsis. Sinapsis merupakan koneksi antara neuron yang satu dengan neuron lainnya.
Pengembangan jaringansaraf tiruanpada awalnyatermotivasi olehpenelitiansistem sarafbiologisyangterdiri darijaringanneuron-neuron yang saling terhubung.
(25)
2.1.1 Pengertian Jaringan Syaraf Tiruan
Jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi [15]. Menurut Kusumadewi [7],jaringan saraf tiruanadalah salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut.
JST merupakan suatu model kecerdasan yang diilhami dari struktur otak manusia dan kemudian diimplementasikan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran berlangsung [2].
Jaringan syaraf tiruan akan mentransformasikan informasi dalam bentuk bobot dari satu neuron ke neuron yang lainnya, informasi tersebut akan diproses oleh suatu fungsi perambatan dan semua bobot input/masukan yang datang dijumlahkan kemudian dibandingkan dengan suatu nilai ambang tertentu melalui fungsi aktivasi setiap neuron. Bila nilai melampaui nilai ambang maka neuron akan diaktifkan dan informasi keluaran diteruskan ke neuron yang tersambung dengannya [8].
2.1.2 Komponen Jaringan Syaraf Tiruan
Dalam meniru sistem jaringan biologis maka sistem jaringan saraf tiruan memiliki 3 karakteristik utama, yaitu:
1. Arsitektur jaringan: merupakan pola keterhubungan antara neuron. Keterhubungan neuron-neuron inilah yang membentuk suatu jaringan.
2. Algoritma jaringan: merupakan metode untuk menentukan bobot hubungan. 3. Fungsi aktivasi: merupakan fungsi untuk menentukan nilai keluaran
(26)
Seperti halnya otak manusia, jaringan syaraf tiruan juga terdiri dari beberapa neuron [7]. Neuron adalah unit pemrosesan informasi yang menjadi dasar dalam pengoperasian jaringan syaraf tiruan [15]. Neuron terdiri dari tiga elemen pembentuk:
1. Himpunan unit-unit yang dihubungkan dengan jalur koneksi. Jalur-jalur tersebut memiliki bobot/kekuatan yang berbeda-beda. Bobot yang bernilai positif akan memperkuat sinyal dan yang bernilai negatif akan memperlemah sinyal yang dibawanya.
2. Suatu unit penjumlahan yang akan menjumlahkan input-input sinyal yang sudah dikalikan dengan bobotnya.
3. Fungsi aktivasi yang akan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain atau tidak.
Neuron buatan (artificial neuron) dirancang untuk menirukan karakteristik neuron biologis [2].
Gambar 2.1 Neuron buatan sederhana Keterangan:
x1, x2, ..., xn = input berupa sinyal yang masuk kedalam sinapsis neuron
wk1, wk2, ... , wkn = bobot penghubung sinapsis yang menyimpan pola pembelajaran
�
Bobot sinapsis
Fungsi Penjumlahan
uk
Input
. . .
xn
x1
x2
. . .
wk1
wk2
(27)
∑ = blok penjumlahan
uk = output
Dari gambar 2.1 terlihat serangkaian input yang dilakukan pada suatu neuron buatan. Setiap sinyal dikalikan dengan bobot (weight), sebelum masuk ke blok penjumlahan yang kurang lebih bersesuaian dengan badan sel syaraf biologis, fungsi ini menjumlahkan semua input terboboti (perkalian semua input dengan bobotnya) secara aljabar dan menghasilkan sebuah output (keluaran). Dalam unit keluaran, variabel x dimasukkan ke dalam suatu fungsi f tertentu untuk menghasilkan keluaran akhir.
Gambar 2.2 Struktur neuron jaringan syaraf tiruan
Keterangan:
∑ = fungsi penjumlahan
Jaringan syaraf tiruan terdiri dari neuron-neuron, dan ada hubungan antara neuron-neuron tersebut. Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluar menuju neuron-neuron yang lain. Pada jaringan syaraf, hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut. Informasi (disebut dengan input) akan dikirimkan ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang
bobot Output ke neuro-neuron
yang lain bobot
Input dari neuro-neuron
yang lain
�
Fungsi aktivasi
(28)
datang. Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan, tapi kalau tidak, maka neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya. Demikian seterusnya.
Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan-lapisan
(layer) yang disebut dengan lapisan neuron (neuron layers). Biasanya neuron-neuron
pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya (kecuali lapisan input dan lapisan output). Informasi yang diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai dari lapisan input sampai ke lapisan output melalui lapisan yang lainnya, yang sering dikenal dengan nama lapisan tersembunyi (hidden layer). Tergantung pada algoritma pembelajarannya [6].
Jaringan saraf tiruan bekerja berdasarkan asumsi awal yang diberikan sebagai titik tolak pembanding pada proses selanjutnya. Proses belajar pada jaringan saraf tiruan ditunjukkan dengan perubahan bobot penghubung antar-sel jaringan saraf [4].
Ciri utama yang dimiliki oleh jaringan saraf tiruan adalah kemampuannya untuk belajar. Belajar (learning) pada JST dapat diartikan sebagai proses penyesuaian parameter pembobot karena keluaran yang diinginkan tergantung pada harga pembobot interkoneksi yang dimiliki oleh sel. Proses belajar akan dihentikan jika nilai kesalahan atau error sudah dianggap cukup kecil untuk semua pasangan data latihan. Jaringan yang sedang melakukan proses belajar disebut berada dalam tahap latihan (training) [17].
Kemampuan JST untuk belajar dan memperbaiki dirinya telah menghasilkan banyak algoritma atau aturan belajar alternatif yang dapat digunakan, dari sekian banyak aturan yang ada, yang paling sering digunakan adalah aturan belajar
backpropagation yang termasuk kategori supervised learning yang dapat digunakan
(29)
2.1.3 Manfaat dan Aplikasi Jaringan Syaraf Tiruan
Dengan tingkat kemampuan yang sangat baik, beberapa aplikasi jaringan saraf tiruan sangat cocok untuk diterapkan pada:
1. Klasifikasi, memilih suatu input data ke dalam satu kategori tertentu yang ditetapkan
2. Asosiasi, menggambarkan suatu objek secara keseluruhan hanya dengan sebuah bagian dari objek lain
3. Self organizing, kemampuan untuk mengolah data-data input tanpa harus
memiliki data sebagai target
4. Optimasi, menemukan suatu jawaban atau solusi yang paling baik sehingga seringkali dengan meminimalisasikan suatu fungsi biaya (optimizer)
Berikut ini beberapa aplikasi jaringan syaraf tiruan [14]: 1. Detektor virus komputer
Jaringan saraf tiruan digunakan untuk mendeteksi dan mengoreksi virus komputer. Contohnya, program anti virus IBM yang selain mendeteksi juga mengeradikasi virus-virus baru secara otomatis. Virus baru yang ditemukan kemudian digunakan sebagai set pelatihan untuk versi antivirus berikutnya yang jauh lebih cerdas. Jaringan saraf yang digunakan adalah propagasi balik.
2. Pendeteksian kanker kulit
Jaringan saraf tiruan digunakan untuk mendiagnosis malignant melanoma. 3. Pengidentifikasian pola-pola data pasar saham
Jaringan saraf digunakan untuk memproses informasi dari basis data yang besar untuk mencari pola dan kecenderungan. Hasil pengolahan ini digunakan dalam keputusan investasi.
4. Pendeteksi bom
Jaringan saraf tiruan dilatih untuk mengenali bentuk-bentuk bom dalam tampilan sinyal-sinyal spektrograf yang mengindikasikan muatan nitrogen tinggi pada barang-barang.
(30)
5. Pengontrol gerakan dan penglihatan robot
Jaringan saraf tiruan digunakan untuk koordinasi mata-tangan robot memegang objek melalui pelatihan robot.
6. Pendukung pengolahan bahasa alami
Pada pengenalan suara, jaringan saraf tiruan melalui pelatihan menyimpan informasi-informasi bagian-bagian pembicaraan untuk nantinya dicocokkan secara cepat dengan pola-pola input.
7. Pendukung Decision Support System (DSS)
Optimasi: jaringan saraf tiruan dapat digunakan untuk menentukan solusi optimal dari masalah-masalah yang melibatkan banyak parameter, misalnya masalah TSP (Traveling Salesperson Problem). Alokasi sumber daya: alokasi ditentukan berdasarkan data historis. Sistem hibrid: sistem yang melakukan analisis statistikal standar pada kumpulan data yang telah diseleksi oleh jaringan saraf tiruan. Basis data cerdas (intelligent databases): tujuan dari basis data cerdas adalah untuk menangani informasi dan pembuatan keputusan dengan cara yang lebih mirip manusia. Jaringan saraf berperan penting dalam penemuan pola-pola data, menemukan pendekatan yang cocok, dan perkiraan terbaik.
2.1.4 Arsitektur Jaringan Syaraf Tiruan
Penyusunan neuron pada lapisan-lapisan dan pola koneksinya dalam dan antarlapisan disebut arsitektur jaringan [9]. Dalam menentukan jumlah dari lapisan, unit input tidak terhitung sebagai lapisan karena unit tersebut tidak melakukan proses komputasi. Atau bisa dikatakan bahwa jumlah lapisan pada jaringan ditentukan berdasarkan lapisan yang berisikan bobot antar koneksi dari kumpulan neuron-neuron.
Beberapa arsitektur jaringan syaraf tiruan, yaitu: 1. Jaringan dengan lapisan tunggal (single layer network)
Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot-bobot terhubung. Jaringan ini hanya menerima input kemudian secara langsung
(31)
akan mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi. Pada Gambar 2.3, neuron-neuron pada lapisan input terhubung langsung dengan neuron-neuron pada lapisan output.
Gambar 2.3 Arsitektur jaringan syaraf tiruan dengan lapisan tunggal
Keterangan:
X1, Xi,..., Xn = neuron-neuron pada lapisan input Y1, Yj,..., Ym = neuron-neuron pada lapisan output w11,..., wnm = bobot dari lapisan input ke lapisan output
2. Jaringan dengan banyak lapisan (multilayer network)
Jaringan dengan banyak lapisan memiliki satu atau lebih lapisan yang terletak di antara lapisan input dan lapisan output. Lapisan tersebut disebut lapisan tersembunyi (hidden layer). Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada lapisan dengan lapisan
W1m W11
Wi1
Wn1
W1j
Wij
Wnj
Wim
Wnm
X1
Xi
Xn
Y1
Yj
(32)
tunggal, tentu saja dengan pembelajaran yang lebih rumit. Namun demikian, pada banyak kasus, pembelajaran pada jaringan dengan banyak lapisan ini lebih sukses dalam menyelesaikan masalah.
Gambar 2.4 Arsitektur jaringan syaraf tiruan dengan banyak lapisan
Keterangan:
X1, Xi,..., Xn = neuron-neuron pada lapisan input
Z1, Zj,..., Zp = neuron-neuron pada lapisan tersembunyi Y1, Yk,..., Ym = neuron-neuron pada lapisan output
v11,..., vnp = bobot dari lapisan input ke lapisan tersembunyi
w11,..., wpm = bobot dari lapisan tersembunyi ke lapisan output
3. Jaringan dengan lapisan kompetitif (competitive layer network)
Hubungan antarneuron pada lapisan kompetitif ini tidak diperlihatkan pada diagram arsitektur seperti jaringan yang lain. Pada jaringan kompetitif neuron
Vnj
W11
Wp1 Wj1
W1k
Wjk
Wpk
Wjm Wpm
W1m Vij
V1j Vn1 Vi1
V11
V1p
Vnp
Vip Zp
Zj Z1
Xi X1
Xn Ym
Yk Y1
(33)
saling berkompetisi sehingga hanya satu diantaranya yang aktif, prinsip ini disebut winner-takes-all atau yang menanglah yang mengambil bagiannya.
Gambar 2.5 Arsitektur jaringan syaraf tiruan dengan lapisan kompetitif Keterangan:
A1, Ai,Aj, Am = neuron-neuron
-� = bobot antara neuron yang satu dengan neuron yang lainnya 1 = bobot pada neuron ke neuron itu sendiri
2.1.5 Fungsi Aktivasi Jaringan Syaraf Tiruan
Dalam jaringan syaraf tiruan, fungsi aktivasi dipakai untuk menentukan keluaran suatu neuron. Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan, antara lain:
1. Fungsi Undak Biner (Hard Limit)
Jaringan dengan lapisan tunggal sering menggunakan fungsi undak (step
function) untuk mengkonversikan input dari suatu variabel yang bernilai kontinu
ke suatu output biner (0 atau 1). A 1
1
A m
1
A j A i
- ɛ - ɛ
- ɛ
- ɛ
1 1
- ɛ
(34)
Fungsi undak biner (hard limit) dirumuskan sebagai:
Gambar 2.6 Fungsi aktivasi: Undak Biner (hard limit)
2. Fungsi Undak Biner (Threshold)
Fungsi undak biner dengan menggunakan nilai ambang sering juga disebut dengan nama fungsi nilai ambang (threshold) atau fungsi Heaviside.
Fungsi undak biner (dengan nilai ambang �) dirumuskan sebagai:
Gambar 2.7 Fungsi aktivasi: Undak Biner (threshold)
3. Fungsi Bipolar (Symetric Hard Limit)
Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya saja output yang dihasilkan berupa 1, 0, atau –1.
0 1 y
x
θ
y = 0, jika x<� 1, jika x≥ � y =
0, jika x≤ 0 1, jika x>0
0 1 y
(35)
Fungsi Symetric Hard Limit dirumuskan sebagai:
Gambar 2.8 Fungsi aktivasi: Bipolar (symetric hard limit)
4. Fungsi Bipolar (dengan threshold)
Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner dengan
threshold, hanya saja output yang dihasilkan berupa 1, 0 atau –1.
Fungsi bipolar (dengan nilai ambang�) dirumuskan sebagai:
Gambar 2.9 Fungsi aktivasi: Bipolar (threshold)
5. Fungsi Linear (identitas)
Fungsi linear memiliki nilai output yang sama dengan nilai inputnya. 0
1 y
x
- 1
0 1 y
x
- 1
θ
y = 0, jika x= 0 1, jika x>0
-1, jika x< 0
y = 1, jika x≥ � -1, jika x< �
(36)
Fungsi linear dirumuskan sebagai: y = x
Gambar 2.10 Fungsi aktivasi: Linear (identitas)
6. FungsiSaturating Linear
Fungsi ini akan bernilai 0 jika inputnya kurang dari –½, dan akan bernilai 1 jika inputnya lebih dari ½. Sedangkan jika nilai input terletak antara –½ dan ½, maka outpunya akan bernilai sama dengan nilai input ditambah ½.
Fungsi saturating linear dirumuskan sebagai:
Gambar 2.11 Fungsi aktivasi: Saturating Linear
0 1 y
x
- 0,5 0,5
y = x+0,5; jika −0,5≤x≤0,5 1; jika x≥ 0,5
0; jika x≤ −0,5 0 1 y
x
- 1
(37)
7. Fungsi Symetric Saturating Linear
Fungsi ini akan bernilai -1 jika inputnya kurang dari –1, dan akan bernilai 1 jika inputnya lebih dari 1. Sedangkan jika nilai input terletak antara –1 dan 1, maka outpunya akan bernilai sama dengan nilai inputnya.
Fungsi symetric saturating linear dirumuskan sebagai:
Gambar 2.12 Fungsi aktivasi: Symetric Saturating Linear
8. Fungsi Sigmoid Biner
Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan menggunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai pada range 0 sampai 1. Oleh karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Namun, fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1.
Fungsi sigmoid biner dirumuskan sebagai: y = �(�)= 1
1+ �−�
dengan �′(�) = �(�)[1− �(�)]
y = x; jika −1≤x≤1 1; jika x≥1
-1; jika x≤ −1
1
0 1 x
y
- 1
(38)
Gambar 2.13 Fungsi aktivasi: Sigmoid Biner
9. Fungsi Sigmoid Bipolar
Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output dari fungsi ini memiliki range antara 1 sampai –1.
Fungsi sigmoid bipolar dirumuskan sebagai: y = �(�)= 2
1 + �−� − 1
dengan �′(�) =[1+�(�)][1−�(�)]
2
Gambar 2.14 Fungsi aktivasi: Sigmoid Bipolar 10.Fungsi Hyperbolic Tangent
Memiliki range antara –1 sampai 1. Untuk fungsi hyperbolic tangent, dirumuskan sebagai:
y = �(�)= �
� −�−�
�� + �−�atauy = �(�)=
1 −�−� 1 + �−�
(39)
2.1.6 Bias dan Threshold
Kadang-kadang dalam jaringan ditambahkan sebuah unit masukan yang nilainya selalu sama dengan 1. Unit yang sedemikian disebut bias. Bias dapat dipandang sebagai input yang nilainya sama dengan 1. Bias berfungsi mengubah nilai
thresholdmenjadi sama dengan 0 [15].
2.1.7 Pelatihan Jaringan Syaraf Tiruan
Sebelum digunakan, JST dilatih untuk mengenal fungsi pemetaan. Pelatihan merupakan proses belajar JST yang dilakukan dengan menyesuaikan bobot interkoneksi jaringan [10]. Proses belajar JST diklasifikasikan menjadi dua:
1. Belajar dengan pengawasan (supervised learning)
Jaringan memberikan tanggapan dengan mendapatkan target tertentu. Sebelum jaringan mengubah sendiri bobotnya untuk mencapai target, bobot interkoneksi diinisialisasi. Proses belajar JST dengan pengawasan adalah proses belajar dengan memberikan latihan untuk mencapai suatu target keluaran yang ditentukan. JST mendapatkan latihan untuk mengenal pola-pola tertentu. Dengan memberikan target keluaran, perubahan masukan akan diadaptasi oleh keluaran dengan mengubah bobot interkoneksinya mengikuti algoritma belajar yang ditentukan. Set pelatihan dipilih dari fungsi keluaran maksimum setiap keadaan parameter yang diubah. Dengan menginisialisasi bobot tiap sel, JST akan mencari errorterkecil, sehingga bentuk fungsi keluaran mendekati target yang diinginkan. Berdasarkan proses belajar yang dilakukan, kita perlu memperhatikan beberapa hal dalam menyusun set pelatihan, yaitu:
1) Pemberian urutan pola yang akan diajarkan 2) Kriteria perhitungan error
(40)
4) Jumlah iterasi yang harus dilalui 5) Inisialisasi bobot dan parameter awal
Pelatihan dilakukan dengan memberikan pasangan pola-pola masukan dan keluaran. Salah satu contoh JST yang menggunakan pembelajaran dengan pengawasan adalah jaringan bakpropagation.
2. Belajar tanpa pengawasan (unsupervised learning)
Pada belajar tanpa pengawasan jaringan tidak mendapatkan target, sehingga JST mengatur bobot interkoneksi sendiri. JST akan mengklasifikasikan contoh pola-pola masukan yang tersedia ke dalam kelompok yang berbeda-beda. Menurut [6], selama proses pembelajaran, nilai bobot disusun dalam suatu range tertentu tergantung pada nilai input yang diberikan. Tujuan pembelajaran ini adalah mengelompokkan unit-unit yang hampir sama dalam suatu area tertentu.
Hal yang ingin dicapai dengan melatih/mengajari jaringan saraf tiruan adalah untuk mencapai keseimbangan antara kemampuan memorisasi dan generalisasi. Yang dimaksud kemampuan memorisasi adalah kemampuan untuk memanggil kembali secara sempurna sebuah pola yang telah dipelajari. Kemampuan generalisasi adalah kemampuan jaringan saraf tiruan untuk menghasilkan respon yang bisa diterima terhadap pola-pola input yang serupa (namun tidak identik) dengan pola-pola yang sebelumnya telah dipelajari. Hal ini sangat bermanfaat bila pada suatu saat ke dalam jaringan saraf tiruan itu diinputkan informasi baru yang belum pernah dipelajari, maka jaringan saraf tiruan itu masih tetap dapat memberikan tanggapan yang baik, memberikan keluaran yang paling mendekati [14].
2.1.8 Aturan Pembelajaran Jaringan Syaraf Tiruan
Aturan pembelajaran adalah aturan kerja secara umum dari teknik/algoritma jaringan saraf tiruan [14]. Ada empat tipe dasar aturan pembelajaran, yaitu:
(41)
1. Aturan Pengkoreksian Error
Prinsip dasar dari aturan pembelajaran pengkoreksian erroradalah memodifikasi bobot-bobot koneksi dengan menggunakan sinyal kesalahan (output target-output aktual) untuk mengurangi kesalahan secara bertahap.
2. Aturan Pembelajaran Boltzmann
Aturan pembelajaran boltzmann juga dapat dikatakan sebagai kasus lain dari pembelajaran pengkoreksian error. Bedanya, kesalahan (error) diukur bukan sebagai perbedaan langsung antara output aktual dengan output yang diinginkan, melainkan perbedaan antara korelasi output-output dari 2 buah neuron dalam kondisi operasi clamped dan free-running. Pada clamped, neuron-neuron visibel ditahan pada keadaan-keadaan tertentu. Pada free-running, baik neuron visibel maupun hiddendapat beroperasi dengan bebas.
3. Aturan Hebbian
Kekuatan koneksi antara 2 buah neuron akan meningkat jika kedua neuron memiliki tingkah laku yang sama (keduanya memiliki aktivasi positif atau keduanya memiliki aktivasi negatif).
4. Aturan Pembelajaran Kompetitif
Unit-unit output pada aturan pembelajaran kompetitif ini harus saling bersaing untuk beraktivasi. Jadi hanya satu unit ouput yang aktif pada satu waktu
(winner-take-all). Bobot-bobotnya diatur setelah satu node pemenang terpilih.
2.2Multilayer Perceptron
Perceptron merupakan algoritma pembelajaran yang menjadi dasar algoritma
backpropagation. Arsitektur perceptron belajar mengenali pola dengan metode
pembelajaran terbimbing [4]. Perceptron memiliki jaringan lapis tunggal [2]. Jaringan terdiri dari beberapa unit masukan (ditambah sebuah bias), dan memiliki sebuah unit keluaran. Fungsi aktivasi bukan merupakan fungsi biner (atau bipolar), tetapi memiliki kemungkinan -1, 0, atau 1 [15].
(42)
Gambar 2.15 Arsitektur jaringan perceptron
Keterangan:
x1, x2,..., xn = sinyal-sinyal input
w1, w2,..., wn = bobot-bobot sinapsis ∑ xw + b = fungsi penjumlahan F(y_in) = fungsi aktivasi
y = sinyal output
Arsitektur jaringan dengan banyak lapisan (multilayer) merupakan perluasan dari arsitektur lapisan tunggal (single layer). Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak diantara lapisan input dan lapisan output (memiliki 1 atau lebih lapisan tersembunyi) [6]. Jumlah lapisan menentukan jumlah matriks bobot [9].
Fungsi Penjumlahan .
. .
Bobot sinapsis
w1
w 2
w n
y y_in
F(y_in) .
. x1
x2
xn
Input
(43)
Gambar 2.16 Arsitektur jaringan lapis banyak (multilayer)
Keterangan:
X1, Xi,..., Xn = neuron-neuron pada lapisan input
Z1, Zj,..., Zp = neuron-neuron pada lapisan tersembunyi
Y1, Yk,..., Ym = neuron-neuron pada lapisan output
v11,..., vnp = bobot dari lapisan input ke lapisan tersembunyi
w11,..., wpm = bobot dari lapisan tersembunyi ke lapisan output
Perceptron multilapis adalah jaringan saraf tiruan umpan maju (feedforward
neural network) dan merupakan jaringan yang pembelajarannya terawasi sehingga ke
dalam jaringan perlu dimasukkan contoh-contoh respon untuk dikenali. Seperti halnya teknik jaringan saraf lainnya yang memiliki jenis pembelajaran terawasi, perceptron multilapis belajar mentransformasikan data input sedemikian rupa sehingga menghasilkan keluaran/ respon seperti yang diingini [13].
Jaringan dengan perceptron lapis banyak dengan metode back-propogation
(Backpropogation Multi Layer Perceptron) merupakan satu jenis JST yang sering
digunakan dalam berbagai aplikasi [16].
Lapisan Input
Lapisan Tersembunyi
Lapisan Output
Wpk Wp1
Wpm W11 W1k W1m
Wj1 Wjk
Wjm Vip
Vn1 Vnj
Vnp V11
V1j V1p
Vi1 Vij
Ym
Y1
Yk
Zp
Z1
Zj X1
Xi
(44)
2.3 Backpropagation
Metode backpropagation (propagasi balik) merupakan metode pembelajaran lanjut yang dikembangkan dari aturan perceptron. Hal yang ditiru dari perceptron adalah tahapan dalam algoritma jaringan. Metode ini terdiri dari dua tahap, yaitu tahap
feedforward yang diambil dari perceptron dan tahap backpropagationerror [13].
Arsitektur jaringan backpropagation merupakan jaringan lapis banyak (multilayer).
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 [6]. Menurut Haykin [3], backpropagation adalah sebuah teknik spesifik untuk implementasi penurunan gradien bobot pada multilayer perceptron.
Training sebuah jaringan dengan backpropagation meliputi tahap berikut:
feedforward untuk training pola input, backpropagation untuk asosiasi error, dan
(45)
2.3.1 Arsitektur Jaringan Backpropagation
Gambar 2.17 Arsitektur Jaringan Backpropagation dengan Satu Lapisan Tersembunyi
Keterangan:
X1, Xi..., Xn = unit input
Z1, Zj...,Zp = unit lapisan tersembunyi (hidden layer)
Y1, Yk...,Ym = unit output
v11,...,vnp = bobot dari lapisan input ke lapisan tersembunyi
W11,...,wpm = bobot dari lapisan tersembunyi ke lapisan output
1 = bias
v01,v0j,...,v0p = bias dari lapisan input ke lapisan tersembunyi
w01, w0k,...,w0m = bias dari lapisan tersembunyi ke lapisan output
Selama feedforward setiap unit input menerima sinyal input dan mengirimkan sinyal tersebut ke tiap unit tersembunyi. Tiap unit tersembunyi kemudian menghitung aktivasinya dan mengirim sinyal tersebut (zj) ke tiap unit output. Tiap unit output (Yk)
menghitung aktivasinya (yk) untuk membentuk respon dari net untuk pola input yang
diberikan.
Selama training, tiap unit output membandingkan aktivasi yang telah dihitung yk dengan nilai target tkuntuk medeterminasi asosiasi eror untuk pola dan unit tersebut.
. . .
. . .
. . .
. . .
. . .
. . .
w0k w01 w0m w11 w1kw1m wj1
wjk wjm
wp1
wpk w
pm
Yk Ym
Y1 1 v0j v01 v0p v11 v1j
v1p vi1
vij vip
vn1
vnj v
np
Zj Zp
Z1
X1 Xi
(46)
Berdasarkan eror ini, faktor δk(k = 1,...,m) dihitung. δkdigunakan untuk distribusi
erortersebut pada unit output Ykkembali ke semua unit pada lapisan sebelumnya
(unit-unit tersembunyi yang terhubung ke Yk). Ini juga digunakan (nantinya) untuk
meng-updatebobot-bobot diantara lapisan output dan lapisan tersembunyi. Dengan cara yang
sama, faktor δj (j = 1,...,p) dihitung untuk tiap unit tersembunyi Zj. Tidak perlu
merambatkan eror kembali ke lapisan input, tetapi δj digunakan untuk meng-update -bobot-bobot diantara lapisan tersembunyi dan lapisan input.
Setelah semua faktor δ dideterminasi, bobot-bobot untuk semua lapisan disesuaikan secara simultan. Penyesuaian ke bobot wjk (dari unit tersembunyi Zjke
unit ouput Yk) didasarkan pada faktor δk dan aktivasi zj dari unit tersembunyi.
Penyesuaian bobot ke vij(dari unit input Xi ke unit tersembunyi Zj) didasarkan pada
faktor δj dan aktivasi xidari unit input.
2.3.2 Fungsi Aktivasi
Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi syarat yaitu: kontinu, terdiferensial dengan mudah, dan merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi syarat tersebut sehingga sering dipakai adalah fungsi sigmoid bipolar yang memiliki range (-1,1).
y = �(�)= 2
1 + �−� − 1
dengan �′(�) =[1+�(�)][1−�(�)]
2
Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang targetnya lebih besar dari 1, pola masukan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada layar yang bukan layar keluaran. Pada layar keluaran fungsi aktivasi yang dipakai adalah fungsi identitas:
(47)
Gambar 2.18 Fungsi aktivasi sigmoid bipolar
2.3.3 Algoritma Backpropagation
Algoritma pelatihan jaringan backpropagation:
1. Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil
2. Langkah 1 :Selama kondisi berhenti tidak terpenuhi (bernilai salah), kerjakan langkah-langkah berikut:
a. Untuk tiap-tiap pasangan pelatihan, lakukan:
Feedforward:
1) Tiap-tiap unit input (Xi, i = 1,2,3,…,n) menerima sinyal xi dan
meneruskan sinyal tersebut ke semua unit pada lapisan yang ada diatasnya (lapisan tersembunyi).
2) Tiap-tiap unit tersembunyi (Zj, j = 1,2,3,..,p) menjumlahkan
sinyal-sinyal input berbobot:
�_���= �0�+ ∑��=1����� ...(2.1) dimana v0 =bias dan v = bobot.
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya: zj = �(�_���) ...(2.2)
dan kirimkan sinyal tersebut ke semua unit lapisan atasnya (unit-unit output).
3) Tiap-tiap unit output (Yk, k=1,2,3,…,m) menjumlahkan
(48)
�_��� = �0�+ ∑��=1����� (2.3)
dimana w0 = bias dan v = bobot.
Gunakan fungsi aktivasi untuk menghitung sinyal outputnya: yk = �(�_���) (2.4)
Dan kirimkan sinyal tersebut ke semua unit di lapisan sisanya (unit-unit output).
b. Untuk tiap-tiap pasangan pelatihan, lakukan:
Backpropagation:
1. Tiap-tiap unit output (Yk,k = 1,2,3,…,m) menerima target pola
yang berhubungan dengan pola input pembelajaran, hitung informasi erornya
δk = (tk – Yk) �’ (�_���) ...(2.5)
dimana t = target output.
Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperoleh nilai wjk):
Δwjk = αδkzj ...(2.6)
dimana α = learning rate
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai w0k):
Δw0k = αδk...(2.7)
Kirimkanδkini ke unit-unit yang ada di lapisan bawahnya.
2. Tiap-tiap unit tersembunyi (Zj, j=1,2,3,…,p) menjumlahkandelta
inputnya (dari unit-unit yang berada pada lapisan diatasnya): �_���= ∑��=1����� ...(2.8)
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi eror:
(49)
Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij):
Δvij = αδjxi ...(2.10)
Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai vij)
Δv0j = αδj ...(2.11)
c. Perbaharui bobot dan biasnya:
1. Tiap-tiap unit output (Yk, k=1,2,3,…m) memperbaiki bias dan
bobotnya (j = 0,1,2,…,p):
wjk(baru) = wjk(lama) + Δwjk (bobot) ... (2.12)
w0k(baru) = w0k(lama) + Δw0k(bias)... (2.13)
2. Tiap-tiap unit tersembunyi (Zj, j=1,2,3,…p) memperbaiki bias dan
bobotnya (i = 0,1,2,…,n):
vij(baru) = vij(lama) + Δvij (bobot) ...(2.14)
v0j(baru) = v0j(lama) + Δv0j(bias) ...(2.15)
d. Tes kondisi berhenti.
Setelah algoritma pelatihan jaringan backpropagationdilakukan dan diperoleh output yang paling mendekati target maka bobot dan bias akhir dari hasil pelatihan disimpan kemudian dilakukan proses pengujian dengan algoritma pengujian. Pada algoritma pengujian yang digunakan hanyalah tahap umpan maju (feedforward) saja.
Algoritma pengujian jaringan backpropagation:
0. Langkah 0: Inisialisasi bobot. Bobot ini diambil dari bobot-bobot terakhir yang diperoleh dari algoritma pelatihan.
1. Langkah 1: untuk setiap vektor input, lakukan langkah ke-2 sampai ke-4.
2. Langkah 2: setiap unit input xi(dari unit ke-1 sampai unit ke-n pada lapisan
input; i=1,...,n) menerima sinyal input pengujian xike semua unit pada lapisan di
(50)
3. Langkah 3: Setiap unit di lapisan tersembunyi zj(dari unit ke-1 sampai unit ke-p;
i=1,...,p) menghitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input xi. Sinyal output dari lapisan
tersembunyi kemudian dikirim ke semua unit pada lapisan di atasnya. �_���= �0�+ ∑��=1�����
Zj = �(�_���)
4. Langkah 4: Setiap unit output yk(dari unit ke-1 sampai unit ke-m; j=1,...,p;
k=1,...,m) menghitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input bagi lapisan ini, yaitu sinyal-sinyal input zjdari lapisan tersembunyi.
�_��� = �0�+ ∑��=1�����
Yk = �(�_���)
5. Langkah 5:Menentukan nilai keluaran berdasarkan threshold(nilai ambang) yang telah ditetapkan (merupakan langkah tambahan). Dalam penelitian ini digunakan thresholddan output:
if Yk< -0,5 then Yk= -1,
elseif-0,5≤Yk≤ 0,5 then Yk= 0,
else Yk= 1
Siklus dari satu kali pola pelatihan disebut epoch. Dalam penelitian bayaknya
epochmaksimal pada jaringan bisa diatur sebagai batasan pelatihan dimana pelatihan
jaringan boleh dihentikan.
Keterangan:
1. Xi (i = 1,2,...,n) : unit input
2. xi : sinyal input
3. Zj (j = 1,2,...,p) : unit tersembunyi
4. zj : sinyal dari lapisan tersembunyi ke lapisan output
5. Yk (k=1,2,...,m) : unit output
(51)
7. voj : bias dari lapisan input ke lapisan tersembunyi
8. w0k : bias dari lapisan tersembunyi ke lapisan output
9. tk :target output
10.δk : informasi error yang diperoleh pada lapisan output
yang akan dirambatkan ke lapisan tersembunyi 11.δj : informasi error yang diperoleh pada lapisan
tersembunyi
12.α : laju pemahaman(learning rate)
2.3.4 Pemilihan Bobot dan Bias Awal
Bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum lokal atau global, dan seberapa cepat konvergensinya. Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobot menjadi sangat kecil. Demikian pula bobot awal tidak boleh terlalu besar karena nilai turunan aktivasinya menjadi sangat kecil juga. Oleh karena itu dalam standar
backpropagation, bobot dan bias diisi dengan bilangan acak kecil [15].
Nguyen dan Windrow mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi lebih cepat.
Dimana: n = jumlah unit masukan p = jumlah unit tersembunyi � = faktor skala = 0.7 ���
Algoritma Nguyen Windrow untuk setiap unit tersembunyi (j = 1,...,p) adalah sebagai berikut:
1. Inisialisasi semua bobot dengan (vji(lama)) dengan bilangan acak dalam
interval [-0.5, 0.5]
2. Hitung || vj|| = ���21+ ��22+ … + ���2
3. Bobot yang dipakai sebagai inisialisasi = vji =
���� (����) || �� ||
(52)
4. Bias yang dipakai sebagai inisialisasi = vj0= bilangan acak antara −� dan �
2.3.5 Lapisan Tersembunyi
Hasil teoritis yang didapat menunjukkan bahwa jaringan dengan sebuah layar tersembunyi sudah cukup bagi backpropagation untuk mengenali sembarangan perkawanan antara masukan dan target dengan tingkat ketelitian yang ditentukan. Akan tetapi penambahan jumlah layar tersembunyi kadangkala membuat pelatihan lebih mudah [15].
Menurut Diyah [14], tidak ada aturan yang pasti untuk mengetahui seberapa banyak lapisan tersembunyi yang sebenarnya diperlukan. Ada 2 ide yang bisa dipakai. Pertama adalah dengan menerapkan jaringan yang besar kemudian memangkas yang tidak perlu, atau sebaliknya, bergerak dari jaringan yang kecil kemudian bergerak melakukan penambahan yang dipandang perlu.
1. Dari jaringan besar ke kecil
Arsitektur jaringan dibangun berdasarkan data, membentuk jaringan yang besar dan kemudian memangkas node-node dan koneksi-koneksi sampai menjadi jaringan terkecil yang bisa melakukan aplikasi.
2. Dari jaringan kecil ke besar
Dimulai dari pembangunan sebuah jaringan kecil kemudian secara bertahap dilakukan penambahan node-node tersembunyi.
(53)
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Pada tahap ini dilakukan analisis terhadap input, output, dan jaringan yang akan dibangun menjadi sebuah sistem yang berguna untuk mendeteksi penyakit tanaman karet (Hevea brasiliensis).
3.1.1 Analisis Permasalahan
Pendeteksian penyakit merupakan salah satu permasalahan yang menerapkan metode klasifikasi pola input ke dalam satu kategori output dari beberapa kategori output yang telah ditetapkan sebelumnya.
Dalam permasalahan pendeteksian penyakit, input adalah berupa gejala dari suatu penyakit dan output berupa pernyataan keadaan apakah objek yang dideteksi menderita suatu penyakit atau tidak. Pendeteksian penyakit ini bertujuan untuk menentukan apakah objek yang dideteksi menderita suatu penyakit atau tidak berdasarkan gejala-gejala yang ada.
(54)
3.1.2 Analisis Input dan Output
Input yang digunakan dalam sistem merupakan gejala-gejala yang tampak pada tanaman yang akan di deteksi. Gejala-gejala tersebut akan di masukkan ke dalam sistem berupa angka 0 dan 1. Di dalam sistem akan tersedia form yang harus diisi user
yang terdiri dari pernyataan kondisi yang terlihat pada tanaman, jika pernyataan yang tersedia benar maka user harus mengisi kotak kosong yang tersedia dengan angka 1 dan jika pernyataan yang tersedia tidak benar maka userharus mengisi kotak kosong dengan angka 0. Dengan demikian variabel input berupa angka 0 dan 1 merupakan representasi dari ada tidaknya gejala-gejala penyakit yang tampak pada tanaman.
Menurut PS [12],berikut ini adalah gejala-gejala pada tanaman karet yang terserang penyakit:
a. Akar putih:
1) pada akar tanaman tampak benang-benang jamur putih dan agak tebal 2) daun-daun tanaman menjadi pucat kuning
3) tepi ujung daun terlipat ke dalam 4) daun-daun gugur
5) ujung rantingnya mati
6) adakalanya tanaman yang sakit membentuk daun-daun muda atau bunga dan buah pada waktu yang lebih awal
7) akar tanaman yang sakit membusuk b. Jamur upas:
1) pada pangkal atau bagian atas percabangan tampak benang-benang putih seperti sutera atau lapisan kerak berwarna merah/merah tua
2) bagian tanaman yang terserang akan mengeluarkan lateks berwarna cokelat kehitaman yang meleleh di permukaan batang tanaman
3) kulit tanaman yang terserang akan membusuk
4) bagian kayu di bawah kulit menjadi menghitam dan rusak 5) kulit berwarna hitam
(55)
6) kulit kering dan terkelupas 7) kulit menghitam
c. Mouldy rot:
1) tampak selaput tipis berwarna putih (kelabu) pada bidang sadap di dekat alur sadap
2) bila lapisan kelabu dikerok akan tampak bintik-bintik berwarna cokelat atau hitam
3) kulit rusak
4) bagian yang sakit tampak berwarna hitam kecokelatan 5) kulit membusuk
6) terdapat cekungan berwarna hitam 7) kulit menghitam
d.Embun tepung (Oidium heveae):
1) dibawah permukaan daun terdapat bercak-bercak bundar berwarna putih seperti tepung halus yang terdiri dari benang-benang hifa dan spora jamur 2) daun berbercak
3) daun keriput seperti berlendir 4) daun dan tangkainya gugur 5) bunga berguguran
6) daun muda lemas dan keriput 7) daun muda berwarna hitam
Gejala-gejala penyakit yang tampak pada tanaman digunakan sebagai variabel input pada sistem. Terdapat masing-masing 7 variabel input untuk keempat bagian tanaman yaitu akar, batang, bidang sadap dan daun. Dengan tiga target output yaitu -1 (sakit), 0 (sehat), dan 1 (terserang penyakit Akar putih atau Jamur Upas atau Mouldy rot atau Embun Tepung).
(56)
Berikut ini merupakan tabel penjelasan outputyang akan dihasilkan sistem berdasarkan input yang diberikan user:
Tabel 3.1Output dan Input untuk Bagian Akar
Output Input
1) Akar sehat a) user memberikan input 0 pada ketujuh variabel input
b) user memberikan input 1, maximal pada 2 variabel input dengan catatan variabel input ke-1 bernilai 0
2) Akar sakit user memberikan input 1, maximal pada 3 variabel input dengan catatan variabel input ke-1 bernilai 0
3) Akar terserang penyakit Akar putih
a) user memberikan input 1 pada ketujuh variabel input
b) user memberikan input 1 pada variabel input ke-1
Tabel 3.2Output dan Input untuk Bagian Batang
Output Input
1) Batang sehat a) usermemberikan input 0 pada ketujuh variabel input
b) user memberikan input 1, maximal pada 2 variabel input dengan catatan variabel input ke-1 bernilai 0
2) Batang sakit user memberikan input 1, maximal pada 3 variabel input dengan catatan variabel input ke-1 bernilai 0
3) Batang terserang penyakit Jamur upas
a) user memberikan input 1 pada ketujuh variabel input
b) user memberikan input 1 pada variabel input ke-1
(57)
Tabel 3.3Output dan Input untuk Bagian Bidang Sadap
Output Input
1) Bidang sadap sehat a) user memberikan input 0 pada ketujuh variabel input
b) user memberikan input 1, maximal pada 2 variabel input dengan catatan variabel input ke-1 bernilai 0
2) Bidang sadap sakit user memberikan input 1, maximal pada 3 variabel input dengan catatan variabel input ke-1 bernilai 0
3) Bidang sadap terserang penyakit Mouldy rot
a) user memberikan input 1 pada ketujuh variabel input
b) user memberikan input 1 pada variabel input ke-1
Tabel 3.4Output dan Input untuk Bagian Daun
Output Input
1) Daun sehat a) user memberikan input 0 pada ketujuh variabel input
b) user memberikan input 1, maximal pada 2 variabel input dengan catatan variabel input ke-1 bernilai 0
2) Daun sakit user memberikan input 1, maximal pada 3 variabel input dengan catatan variabel input ke-1 bernilai 0
3) Daun terserang penyakit Embun tepung
a) user memberikan input 1 pada ketujuh variabel input
b) user memberikan input 1 pada variabel input ke-1
Pada jaringan syaraf tiruan ketujuh variabel input yang disediakan akan digunakan sebagai neuron-neuron pada lapisan input yang akan diberi bobot. Bobot yang akan diberikan merupakan bobot ideal yang diperoleh dari pelatihan jaringan dengan menggunakan algoritma backpropagationsehingga jaringan dapat menghasilkan output yang paling mendekati target (output yang diharapkan).
(58)
3.1.3 Analisis Jaringan Backpropagation
Jaringan backpropagationmerupakan jaringan yang menerapkan metode pelatihan terawasi (supervised) yaitu jaringan menggunakan sejumlah pasangan data berupa input dan target output yang dipakai untuk melatih jaringan hingga diperoleh bobot terbaik yang akan digunakan untuk memperoleh output yang paling mendekati target output (output yang diharapkan). Selisih antara target output dengan output merupakan nilai kesalahan (error) yang terjadi, nilai error ini akan dipropagasikan mundur didalam jaringan ke lapisan sebelum lapisan output untuk memodifikasi bobot sesuai nilai errorsehingga meningkatkan performa jaringan dalam menghasilkan output yang paling mendekati target output.
Jaringan backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan [14]. Kemampuan ini disebut kemampuan memorisasi dan generalisasi oleh jaringan, dengan demikian jaringan dapat mengenali pola masukan yang baru yang belum pernah dipelajari sebelumnya sehingga pelatihan tidak perlu dilakukan pada semua pola masukan.
3.1.3.1Gambaran Proses pada Jaringan Backpropagation Secara Umum
Arsitektur jaringan yang digunakan pada penelitian ini adalah jaringan lapis banyak
(multilayer) yang berarti terdapat lebih dari satu lapisan pada jaringan atau dengan
kata lain terdapat lapisan tersembunyi yang menghubungkan lapisan input dan lapisan output. Selama pelatihan, jaringan meniru perhitungan umpan maju
(feedforward)perceptron yang digunakan pada tahap feedforwardselain ituperhitungan
ini juga dipergunakan saat pengujian jaringan. Backpropagation merupakan algoritma pembelajaran jaringan yang digunakan untuk mempropagasikan kembali error yang diperoleh selama pelatihan ke lapisan sebelumnya hingga diperoleh output yang
(1)
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
function DaftarPenyakit_OpeningFcn(hObject, eventdata, handles, varargin)
% Default command line output untuk DaftarPenyakit handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% --- Outputs from this function are returned to the command line. function varargout = DaftarPenyakit_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function tutupbutton_Callback(hObject, eventdata, handles) close
6. Source Code untuk Form Keluar
function varargout = Keluar(varargin) % Inisialisasi GUI
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Keluar_OpeningFcn, ...
'gui_OutputFcn', @Keluar_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
function Keluar_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for Keluar
(2)
% Update handles structure guidata(hObject, handles); if(nargin > 3)
for index = 1:2:(nargin-3), if nargin-3==index, break, end switch lower(varargin{index}) case'title'
set(hObject, 'Name', varargin{index+1}); case'string'
set(handles.text1, 'String', varargin{index+1}); end
end end
FigPos=get(0,'DefaultFigurePosition'); OldUnits = get(hObject, 'Units'); set(hObject, 'Units', 'pixels'); OldPos = get(hObject,'Position'); FigWidth = OldPos(3);
FigHeight = OldPos(4); if isempty(gcbf)
ScreenUnits=get(0,'Units'); set(0,'Units','pixels');
ScreenSize=get(0,'ScreenSize'); set(0,'Units',ScreenUnits);
FigPos(1)=1/2*(ScreenSize(3)-FigWidth); FigPos(2)=2/3*(ScreenSize(4)-FigHeight); else
GCBFOldUnits = get(gcbf,'Units'); set(gcbf,'Units','pixels');
GCBFPos = get(gcbf,'Position'); set(gcbf,'Units',GCBFOldUnits);
FigPos(1:2) = [(GCBFPos(1) + GCBFPos(3) / 2) - FigWidth / 2, ... (GCBFPos(2) + GCBFPos(4) / 2) - FigHeight / 2]; end
FigPos(3:4)=[FigWidth FigHeight]; set(hObject, 'Position', FigPos); set(hObject, 'Units', OldUnits); % Menampilkan icon dialog
load dialogicons.mat
IconData=questIconData;
questIconMap(256,:) = get(handles.figure1, 'Color'); IconCMap=questIconMap;
Img=image(IconData, 'Parent', handles.axes1); set(handles.figure1, 'Colormap', IconCMap); set(handles.axes1, ...
'Visible', 'off', ...
'YDir' , 'reverse' , ...
'XLim' , get(Img,'XData'), ...
'YLim' , get(Img,'YData') ... );
(3)
set(handles.figure1,'WindowStyle','modal') uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = Keluar_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure
varargout{1} = handles.output; delete(handles.figure1);
function yabutton_Callback(hObject, eventdata, handles) handles.output = get(hObject,'String');
guidata(hObject, handles); uiresume(handles.figure1);
function figure1_CloseRequestFcn(hObject, eventdata, handles) if isequal(get(handles.figure1, 'waitstatus'), 'waiting') uiresume(handles.figure1);
else
delete(handles.figure1); end
function figure1_KeyPressFcn(hObject, eventdata, handles) % Mengecek penekanan "enter" atau "escape" oleh user if isequal(get(hObject,'CurrentKey'),'escape')
% User pilih tidak dengan menekan escape handles.output = 'No';
guidata(hObject, handles); uiresume(handles.figure1); end
if isequal(get(hObject,'CurrentKey'),'return') uiresume(handles.figure1);
end
function tdkbutton_Callback(hObject, eventdata, handles) close
(4)
LAMPIRAN B
PENYAKIT TANAMAN KARET (Hevea brasiliensis) DAN PENGENDALIANNYA
1. Penyakit Akar Putih (White root disease)
a. Bagian yang diserang: Akar
b. Penyebab: Jamur Rigidoporus lignosus
c. Gejala penyakit:
Pada akar tanaman tampak benang-benang jamur putih dan agak tebal, daun-daun tanaman menjadi pucat kuning dengan tepi ujungnya terlipat ke dalam, daun-daun kemudian gugur dan ujung rantingnya mati, adakalanya tanaman yang sakit membentuk daun-daun muda atau bunga dan buah pada waktu yang lebih awal, akar tanaman yang sakit akhirnya membusuk.
d. Pengendalian:
Tanah pada leher akar tanaman harus dibuka dengan membuat lubang berjarak 30 cm di sekeliling akar. Kedalaman lubang tergantung pada batas serangan jamur. Kemudian benang-benang jamur yang menempel pada akar dikerok. Akar yang sudah rusak berat atau busuk dipotong dan dimusnahkan. Bagian luka akibat kerokan atau potongan ditutup dengan ter. Selanjutnya keseluruhan akar yang terluka diolesi Izal 5%. Setelah itu, diolesi pelumas obat pelindung akar. Setelah luka mengering, akar ditutup kembali dengan tanah.
e. Keterangan:
Penyakit Akar putih merupakan jenis penyakit yang berbahaya bagi perkebunan karet. Penyakit ini dapat mengakibatkan kematian pada tanaman dengan intensitas kematian yang sangat tinggi. Serangannya sering dijumpai pada tanaman karet yang berumur 2-4 tahun.
f. Penularan:
Penularan penyakit Akar putih terjadi melalui persinggungan antara akar karet dengan sisa-sisa akar tanaman lama, tunggul-tunggul, atau pohon yang sakit. Selain persinggungan, penyebarannya bisa terjadi karena hembusan angin yang membawa spora penyakit ini.
2. Penyakit Jamur Upas (Pink disease)
a. Bagian yang diserang: Batang
b. Penyebab: Jamur Corticium salmonicolor
c. Gejala penyakit:
Pada pangkal atau bagian atas percabangan tampak benang-benang putih seperti sutera, sekumpulan benang ini akan membentuk lapisan kerak berwarna merah yang akhirnya berubah menjadi merah tua, bagian tanaman yang terserang akan mengeluarkan lateks berwarna cokelat kehitaman yang meleleh di permukaan batang tanaman, lambat laun kulit tanaman yang terserang akan membusuk dan
(5)
berubah menjadi hitam mengering dan terkelupas, bagian kayu di bawah kulit menjadi rusak dan menghitam.
d. Pengendalian:
Pengobatan untuk tanaman sakit dilakukan dengan melumaskan fungisida Fylomac 90 0,5%, Calixin MR, Dowcow 262, atau bubur bordo pada bagian yang terkena serangan hingga 30 cm ke atas dan ke bawahnya. Pelumasan Fylomac 90 0,5/f atau bubur bordo dapat diulangi beberapa kali dengan selang 2 minggu sekali. Sedangkan pelumasan Calixin MR atau Dowcow 262 dilakukan 3 bulan sekali. Namun, pelumasan ini juga tergantung pada berat ringannya serangan. Bubur bordo tidak dibenarkan diberikan pada tanaman yang sudah disadap karena bisa merusak mutu lateks.
e. Keterangan:
Penyakit Jamur upas menyerang percabangan atau batang tanaman yang mengakibatkan cabang atau tajuk mudah patah atau mati. Serangannya sering dijumpai pada tanaman muda antara umur 3-7 tahun.
f. Penularan:
Penularannya berlangsung melalui penyebaran spora oleh angin.
3. Penyakit Mouldy Rot (Mouldy rot disease)
a. Bagian yang diserang: Bidang sadap b. Penyebab: Jamur Ceratocystis fimbriata
c. Gejala penyakit:
Tampak selaput tipis berwarna putih pada bidang sadap di dekat alur sadap, selaput ini kemudian berkembang membentuk lapisan seperti beledu berwarna kelabu sejajar dengan alur sadap, bila lapisan kelabu dikerok akan tampak bintik-bintik berwarna cokelat atau hitam, bagian yang sakit tampak membusuk dan berwarna hitam kecokelatan, bekas serangan akan membentuk cekungan berwarna hitam.
d. Pengendalian:
Tanaman yang sakit dilumasi fungisida Difolatan 4 F 2%, Difolatan 80 WP 2%, Topsin M 75 WP 0,5%, Derosal 60 WP 0,1%, Actidione 0,5%, atau Benlate 50 WP 0,1%. Caranya fungsida tersebut dilumaskan 5 cm di atas irisan sadap 1 hari setelah penyadapan dan getah belum dilepaskan. Bila terjadi serangan berat, pengobatan dilakukan 1 minggu sekali. Bila serangan ringan, pengobatan dilakukan 2 minggu sekali. Perlu diperhatikan, penggunaan fungisida Derosal 60 WP 0,1%, Topsin M 75 2%, atau Benlate 50 WP 0,1% harus digilir dengan Difolatan 4 F 2% atau Difolatan 80 WP 2% untuk mencegah kekebalan jamur terhadap fungisida.
e. Keterangan:
Penyakit Mouldy rot mengakibatkan luka-luka pada bidang sadap sehingga pemulihan kulit terganggu. Adakalanya, bekas bidang sadap menjadi bergelombang sehingga menyulitkan penyadapan berikutnya. Adakalanya bidang sadap akan rusak sama sekali sehingga tidak mungkin lagi disadap.
f. Penularan:
Penularan penyakit ini melalui spora yang diterbangkan oleh angin, dapat mencapai jarak yang jauh. Selain itu, penularannya bisa terjadi melalui pisau sadap yang dipakai menyadap pohon yang sakit.
(6)
4. Penyakit Embun Tepung (Powdery mildew disease)
a. Bagian yang diserang: Daun b. Penyebab: Jamur Oidium heveae
c. Gejala penyakit:
Dibawah permukaan daun terdapat bercak-bercak bundar berwarna putih seperti tepung halus yang terdiri dari benang-benang hifa dan spora jamur, daun muda berwarna hitam, lemas, keriput, seperti berlendir, pada serangan lanjut daun dan tangkainya akan gugur, serangan pada bunga menyebabkan bunga berguguran. d. Pengendalian:
(1) Tanaman yang terserang sebaiknya diberi pupuk nitrogen dengan dosis tinggi (dua kali dosis anjuran) pada saat daun-daun baru mulai terbentuk. Karena pemberian pupuk biasanya pada awal musim hujan, maka sebaiknya pupuk dibenamkan ke dalam tanah agar mudah diambil oleh akar. (2) Perlindungan atas serangan embun tepung dilakukan dengan cara
penghembusan serbuk belerang 1 minggu sekali selama 5 minggu. Penghembusan dimulai pada saat 10% pohon di kebun membentuk daun baru atau sudah terlihat gejala serangan embun putih.
e. Keterangan:
Penyakit Embun tepung sangat merugikan perkebunan karet karena mengakibatkan daun-daun muda berguguran. Akibatnya pertumbuhan tanaman akan terhambat, produksi lateks menurun, dan produksi biji merosot.
f. Penularan:
Penularan penyakit ini melalui spora yang diterbangkan oleh angin atau embun, dapat mencapai jarak yang jauh.
Sumber:
PS, Tim Penulis. 2004. Karet, Budi Daya dan Pengolahan, Strategi Pemasaran. Jakarta: Penebar Swadaya.