BAB II LANDASAN TEORI BAB 2 LANDASAN TEORI
2.1 Kesesuaian Lahan Pemanfaatan sumber daya lahan secara efisien memerlukan kesesuaian lahan. Kesesuaian lahan merupakan tingkat kecocokan lahan untuk penggunaan tertentu. FAO menyatakan bahwa sangat disarankan adanya kesesuaian lahan untuk negara-negara berkembang. Kesesuaian lahan aktual adalah kesesuaian lahan berdasarkan data tanah atau sumber daya lahan sebelum lahan tersebut digunakan. Data lahan tersebut berupa karakteristik tanah dan iklim yang berhubungan dengan persyaratan tumbuh suatu tanaman. FAO juga menyatakan bahwa evaluasi lahan diperlukan untuk mencocokkan / matching antara kualitas suatu lahan dengan syarat yang diperlukan untuk suatu penggunaan tertentu (FAO, 1976). Evaluasi lahan yang bersifat kuantitatif berkaitan dengan tingkap produksi yang dicapai untuk suatu penggunaan lahan tertentu. Hal tersebut sangat diperlukan dalam perencanaan penggunaan lahan (land use planning) untuk mengurangi resiko kegagalan, meningkatkan produktivitas, serta memperoleh nilai ekonomi penggunaan lahan yang terbaik (Hermantoro, Rudiyanto, & Suprayogi, 2008). Salah satu cara untuk mengevaluasi dan menentukan kesesuaian lahan untuk tanaman pangan adalah dengan menganalisis kesesuaian lahan yang didasarkan atas data lahan dan mendapatkan prediksi hasil produksi untuk setiap daerah.
9
10
Prediksi hasil produksi tersebut pada akhirnya dapat menjadi penentu dimanakah lahan yang sesuai untuk digunakan (Vargahan, Shahbazi, & Hajrasouli, 2011).
2.2 Padi Sawah Pangan dapat diartikan sebagai segala sesuatu yang bersumber dari sumber hayati dan air, baik yang telah diolah maupun yang tidak diolah. Pangan diperuntukan untuk konsumsi manusia sebagai makanan atau minuman. Tanaman pangan merupakan kelompok tanaman yang merupakan sumber karbohidrat dan protein. Padi adalah salah satu contoh tanaman pangan yang berupa rumput berumputan. Tanaman pangan ini berasal dari dua benua yakni benua Asia dan benua Afrika barat tropis dan subtropis. Penanaman padi sudah dilakukan pada tahun 3000 tahun SM di Zhejiang, China (Purnomo & Purnamawati, 2007). Padi dapat beradaptasi pada lingkungan tergenang karena pada akarnya terdapat saluran seperti pipa memanjang hingga ujung daun yang disebut aerenchyma. Walaupun padi dapat beradaptasi pada lingkungan tergenang, padi juga dapat dibudidayakan pada lahan yang kering atau lading (lahan tidak tergenang) yang kondisinya aerob(Purnomo & Purnamawati, 2007). Di Indonesia, sistem pembudidayaan tanaman padi secara garis besar dikelompokan menjadi 2 yaitu padi sawah dan padi gogo. Pada sistem sawah, padi sepanjang hidupnya selalu dalam keadaan tergenang oleh air. Sebaliknya, pada sistem gogo, padi tumbuh pada kondisi tidak tergenang air. Hasil kombinasi antara kedua sistem tersebut disebut juga dengan gogo rancah. Pada sistem gogo rancah, padi ditanam pada saat awal musim hujan pada petakan sawah yang
11
kemudian akan tergenangi oleh air hujan seiring dengan bertambahnya curah hujan ditempat tersebut(Purnomo & Purnamawati, 2007).
Gambar 2.1 Tanaman Padi (Purnomo & Purnamawati, 2007) Terdapat beberapa varietas unggul untuk tanaman padi. Beberapa diantaranya ialah IR 48, IR 64, IR 65, IR 74, Fatmawati, Sintanur, Batang Kampar (KL 76), Hibrindo R-2, Batang Samo (KL 77), Yuwono, Rojolele, Tukad Balian, Citarum, Cisadane, Cisantana, dan Winongo(Purnomo & Purnamawati, 2007).
2.3 Artificial Neural Network Artificial Neural Network merupakan sebuah sistem pemrosesan informasi yang meniru cara kerja dari neuron otak manusia. Neuron-neuron tersebut terhubung satu sama lain dengan connection link. Pemodelan dengan Artificial
12
Neural Network terdiri dari dua tugas utama yaitu design dan training network. Fase
atau
training
yang
biasa
disebut
phasemelibatkanpenyesuaianbobot/weightsertabias
dengan
learning
valuedari
satu
setcontohtraining(Mitra & Samanta, 2013). Artificial Neural Network atau yang sering hanyadisebut sebagaiNeural Network merupakan sebuah modelmatematik yangterinspirasi olehjaringan sarafbiologisyang saling terhubung olehneuronbuatandanmemproses informasi dengan
menggunakan
Dalamkebanyakan
kasus,
mengubahstrukturselama
pendekatankoneksionisuntukperhitungan. neural
networkadalah
fasepembelajaran/learning
sistemadaptifyang phase.
Neural
networkdigunakan untuk modelhubungan yang kompleks antarainput dan outputatauuntuk menemukanpola dalamdata(Dutta, Roy, & Choudhury, 2013).
2.3.1 Arsitektur Neural Network Secara umum berdasarkan arsitektur jaringannya, terdapat beberapa jenis neural network yang sering digunakan. Beberapa jenis arsitektur yang sering digunakan adalah single-layer neural network dan multiple-layer neural network(Engelbrecht, 2007). 1. Single-Layer Neural Network Neural Network jenis ini, memiliki koneksi input yang berhubungan langsung dengan output. Neural Network jenis ini hanya dapat menyelesaikan permasalahan sederhana seperti AND/OR problem.
13
Gambar 2.2AND & OR Perceptron (Engelbrecht, 2007) 2. Multiple-Layer Neural Network Neural Network jenis ini memiliki layer tambahan yang disebut dengan hidden layer. Arsitektur ini dapat menyelesaikan permasalahan yang lebih kompleks dibandingkan dengan Single-Layer Neural Network.
Gambar 2.3Multiple Layer Neural Network(Engelbrecht, 2007) Berikut merupakan beberapa aturan yang biasa digunakan untuk menentukan jumlah neuron dalam hidden layer(Karsoliya, 2012): a. Jumlah hidden neuron dalam suatu hidden layer adalah 2/3 (atau 70% sampai 90%) dari jumlah input layer. Namun dapat disesuaikan dikemudian hari. b. Jumlah hidden neurondalam suatu hidden layerbiasanya kurang dari dua kali jumlah input layer.
14
c. Jumlah hidden neurondalam suatu hidden layerberada diantara jumlah input layer dan jumlah output layer. Metode trial and error terstruktur biasanya digunakan oleh beberapa pengembang untuk menciptakan jaringan saraf yang paling mendekati.
2.3.2 Learning pada Neural Network Berdasarkan tipe learning/training, Neural Network dibedakan menjadi: 1. SupervisedLearning SupervisedLearning membutuhkan data set yang terdiri dari vektor input dan target/output yang berkaitan dengan setiap input vektor. Data set ini disebut dengan trainingset. Tujuan dari training ini adalah untuk menyesuaikan weight sehingga kesalahan (error) mendekati nol. Salah satu Neural Network yang termasuk dalam Supervised Learning adalah Feed ForwardNeural Network(Engelbrecht, 2007). Feed Forward Neural Network (FFNN) dapat memiliki koneksi langsung antara input layer dan output layer. Namun, FFNN standar terdiri dari tiga layer yaitu input layer, hidden layer, dan output layer. Pengembangan
Feed
Forward
Neural
Network
adalah
menggunakan Backpropagation. Backpropagation diperkenalkan oleh G.E. Hinton, E. Rumelhart dan R.J. Williams pada tahun 1986. Backpropagation dapat menyelesaikan masalah-masalah yang sulit yang tidak
dapat
diselesaikan
oleh
Perceptron.
Perbedaan
antara
Backpropagation dengan Perceptron adalah Backpropagation memiliki
15
layer tambahan atau yang biasa disebut dengan hidden layer. Backpropagation
merupakan
suatu
Perceptron
yang
output-nya
dijadikan input value dari perceptron lainnya(Dutta, Roy, & Choudhury, 2013). Backpropagation melakukan optimasi Gradient Decent untuk mengurangi kesalahan/error. Gradient Decentmelakukan pembaharuan pola untuk menyesuaikan parameter Neural Network (bobot/weight) untuk meminimalkan kesalahan(Sehgal, Gupta, & Kumar, 2012). Backpropagation yang diperkenalkan oleh Werbos ini terdiri dari dua tahap(Engelbrecht, 2007): a. Feed Forward Pass Tahap ini adalah tahapan dimana Neural Network menghitung nilai output untuk setiap pola pelatihan. b. Backward Propagation Tahap ini adalah tahapan dimana Neural Netwok memberikan sinyal kesalahan dari output layer ke input layer. Bobot/weight akan disesuaikan pada tahap ini. Secara
umum,
berikut
merupakan
langkah-langkah
algoritmaBackpropagation (Kusumadewi & Hartati, 2010): Step1
: Memberikan initial weight secara random untuk setiap weight.
Step2
: Menentukan parameter seperti maksimum epoch, target error, learning ratedan momentum.
Step3
: Selama kondisi berhenti belum dipenuhi, maka akan
16
melakukan perulangan. Kondisi berhenti dapat meliputi mencapai jumlah epoch atau sudah mencapai Mean Squared Error (MSE) yang diinginkan. Feed Forward: Step4
: Setiap input unit ( dimana =1,…,) akan menerima sinyal
kemudian menyebarkan sinyal tersebut ke
hidden unit. Step5
: Untuk setiap hidden unit, (
dimana j = 1,…, ),
jumlahkan sinyal input yang sudah berbobot (termasuk bias) dengan rumus sebagai berikut: _
=
+∑
Dimana: = bias pada hidden unit ke j = nilai input ke i = weight dari input unit i ke hidden unit j Kemudian hitung sinyal ouput dari hidden unit sesuai dengan fungsi aktivasi yang telah ditentukan: = ( _
)
Kemudian sinyal tersebut akan dikirimkan ke semua unit di layer selanjutnya yaitu output unit. Step6
: Untuk setiap output unit, ( melakukan perhitungan: _
=
+∑
dimana k=1,…,m) akan
17
Dimana: = nilai biasoutput unit ke k = nilai input ke i(hasil perhitungan step 5) = weight dari hidden unit j ke output unit k Kemudian hitung sinyal ouput dari hidden unit sesuai dengan fungsi aktivasi yang telah ditentukan: = ( _
)
Sinyal output ini selanjutnya dikirim ke seluruh unit pada output. Backpropagation of Error: Step7
: Untuk setiap output unit, (
dimana k=1,…,m) akan
dihitung kesalahan diantara nilai output yang dihasilkan oleh jaringan dengan target dengan rumus sebagai berikut: =(
−
) ′( _
)
Kemudian hitung koreksi error (∆
jk)
yang nantinya
akan dipakai untuk memperbaiki
jk
dengan rumus
sebagai berikut: ∆
jk
=
k j
Kemudian akan dihitung koreksi bias(∆ nantinya
akan
dipakai
untuk
0k
memperbaiki
yang 0k
menggunakan rumus sebagai berikut: ∆
0k
=
Faktor
k kkemudian
dikirimkan ke lapisan yang berada
18
pada tahap selanjutnya. Step8
: Setiap unit tersembunyi ( , = 1, … ,
) menerima
inputdelta. Hitung _inj menggunakan rumus: _inj= ∑ Hasil
δ _injdikalikan
aktivasiyang
dengan
digunakan
turunan untuk
dari
fungsi
mendapatkan
kesalahanerror j, dimana: = _
′( _
)
Setelah itu akan dihitung koreksi bobot (untuk memperbaiki vij) ∆
=
Selanjutnya akan dihitung juga koreksi bias (digunakan untuk memperbaiki v0j) ∆
0
=
j
Adjustment : Step9
: Setiap output unit( dimana
1,…, ) memperbaiki
bobot dan biasdari setiap hidden unit dimana
0,…,
Δ Demikian juga untuk setiap hidden unit(
dimana
1,…, ) akan memperbaharui bobot dan bias dari setiap input unit (
0,…, ) Δ
Step10
: Jika
kondisi
berhenti
telah
terpenuhi(seperti
19
maximumepoch atau target error), maka neural network training dapat dihentikan. Pengujian dapat dilakukan melalui Feed Forward dengan langkahlangkah sebagai berikut: Step1
: Memberikan initial weight berdasarkan hasil pelatihan.
Step2
: Untuk setiap vektor input, kerjakan step 3,4,5 dibawah ini.
Step3
: Untuk i=1,…,n: set aktivasi unit yang dipilih untuk input xi
Step4
: Untuk j=1,…,p: _
=
+∑
Dimana: = bias pada hidden unit ke j = nilai input ke i = weight dari input unit i ke hidden unit j Kemudian hitung: = ( _ Step5
)
: Untuk k=1,…,m: Untuk setiap output unit,
(
dimana k=1,…,m) akan
melakukan perhitungan: _
=
+∑
Dimana: = nilai biasoutput unit ke k
20
= nilai input ke i (hasil perhitungan tahap 4) = weight dari hidden unit j ke output unit k Kemudian hitung output: = ( _
)
2. UnsupervisedLearning Dalam Unsupervised Learning, pattern/pola ditemukan melalui data input tanpa bantuan dari sumber external. Unsupervised Learning biasanya
melakukan
pengelompokan
pola.
Contohnya
adalah
menggunakan algoritma Learning Vector Quantizer untuk melakukan clustering(Engelbrecht, 2007). 3. ReinforcementLearning Reinforcement Learning terinspirasi dari cara pembelajaran hewan. Ide dasar dari Reinforcement Learning adalah memberikan award kepada agent yang benar, dan menghukum yang salah. Reinforcement Learning adalah proses trial and error dan dikombinasikan dengan pembelajaran (Engelbrecht, 2007).
2.3.3 Fungsi Aktivasi pada Neural Network Salah satu hal yang penting dalam struktur jaringan syaraf (neural network) adalah penggunaan activation function atau threshold function atau transferfunction. Fungsi aktivasi
digunakan untuk
mengubah
atau
21
mentrasformasikan suatu inputan/aktivasi unit menjadi suatu output tertentu (Karlik & Vehbi, 2010). Walaupun pemilihan fungsi aktivasi merupakan hal yang penting dalam neural network, ada faktor lain yang juga penting dalam neural networksepertialgoritma training dan arsitekurnetwork(Sibi, Jones, & Siddarth, 2013). Terdapat beberapa fungsi aktivasi yang dapat digunakan. Berikut merupakan beberapa fungsi aktivasi pada neuralnetwork yang sering digunakan(Engelbrecht, 2007): Dimana: ∞
0
∞
atau
1
dan ∞
1
1. Linear Function θ
λ net
θ
dimana θ = 0 dan λ adalah kemiringan fungsi. Fungsi linear menghasilkan output linear termodulasi, di mana λ adalah konstanta. Fungsi aktivasi linear hanya akan menghasilkan angka positif atas seluruh rentang bilangan real.
22
Gambar 2.4Linear Function 2. StepFunction
Dimana θ > 0. Step function menghasilkan salah satu dari dua nilai outputskalar. Biasanya untuk binaryoutput akan menghasilkan = 0. Bipolaroutput juga biasanya digunakan, dimana
Gambar 2.5Step Function
3. Ramp Function
= 1 dan
= 1 dan = -1.
23
θ
Dimana θ > 0. Ramp function merupakan kombinasi dari Linear Function dan StepFunction.
Gambar 2.6Ramp Function 4. SigmoidFunction SigmoidFunctionmerupakan salah satu fungsi yang paling sering digunakan. Fungsi ini akan menghasilkan angka positif antara 0 sampai 1. SigmoidFunctionakan berguna untuk data training antara 0 dan 1 (Sibi, Jones, & Siddarth, 2013). 1 1 Dimana θ = 0 dan λ adalah kemiringan fungsi, biasanya λ = 1. SigmoidFunctionadalah versi kontinu dari Step Function.
24
Gambar 2.7Sigmoid Function 5. HyperbolicTangentFunction
atau 2 1
1
Dimana θ = 0. Keluaran dari Hyperbolic Tangent Functionadalah didalam range (−1, 1).
Gambar 2.8Hyperbolic Function
25
6. Gaussian Function /
Dimana θ = 0, − θ adalah rata-rata dan σ adalah standar deviasi dari distribusi Gaussian.
Gambar 2.9Gaussian Function
2.3.4 Performance Factor pada Neural Network Terdapat beberapa faktor yang mempengaruhi performa dari Supervised Neural Network. Faktor tersebut meliputi data preparation, weight initialization, learning rate, momentum, metode optimasi, pemilihan arsitektur, adaptive activation function, dan active learning(Engelbrecht, 2007). Performa dari Artificial Neural Networks bergantung kepada beberapa faktor seperti arsitektur Neural Network, jumlah neuron pada hidden layer, neuronactivation function, dan pemilihan initial network parameters (connection weights). Biasanya trial & error dilakukan untuk menentukan network parameter dan initial connection weight. Particle
26
Swarm Optimation dapat digunakan pada tahap pre-training, network training, validation, dan testing performance untuk peningkatan secara signifikan (Nikelshpur & Tappert, 2013). Learning rate merupakan faktor yang mengontrol langkah untuk menuju fungsi tujuan. Jika learning rate terlalu kecil, maka penyesuaian bobot/weight akan kecil. Jika learning rate besar, maka perubahan weight juga besar sehingga akan cepat konvergen dan terisolasi tanpa mencapai nilai minimumnya (Engelbrecht, 2007). Istilah untuk momentum adalah rata-rata perubahan bobot/weight. Dengan momentum, perubahan bobot/weight sebelumnya mempengaruhi perubahan bobot. Jika momentum yang digunakan adalah nila 0, maka perubahan bobot/weight tidak dipengaruhi oleh perubahan bobot/weight di masa lalu (Engelbrecht, 2007).
2.4 Swarm Intelligence Swarm intelligence/ Swarm Optimization Algorithmadalah metode optimasi berdasarkan agen terdistribusi yang memiliki kemampuan untuk bersama sama menyelesaikan permasalahan yang rumit. Swarm Intelligence mempelajari perilaku kawanan organisme sosial(Purnomo, 2014).
Berikut merupakan
beberapa algoritma optimasi yang termasuk ke dalam keluarga Swarm Intelligence:
2.4.1 Particle Swarm Optimization (PSO) Particle Swarm Optimization(PSO) adalah metodeoptimasiyang termasuk dalam keluargaSwarmIntelligence.Particle Swarm Optimization
27
(PSO) adalah suatu teknik optimasi yang terinspirasi oleh perilaku sosial berkelompok burung dan ikan yang mencari makanan. Teknik ini awalnya dirancang dan dikembangkan oleh Eberhart dan Kennedy(Kennedy & Eberhart, 1995). Particle Swarm Optimization merupakanmodel sederhanadari teori evolusi yang didasarkan padaprinsip-prinsip yangkawanan burung, ikan, atausegerombolanlebahyang mencari sumbermakanan di manapada awalnya lokasi sumbertidak diketahui. Namun, merekaakhirnyaakan mencapailokasi terbaikdarisumber makanandengan caraberkomunikasi satu sama lain (Dutta, Roy, & Choudhury, 2013). Algoritma Particle Swarm Optimization merupakan algoritma optimasi yang berdasarkan konsep interaksi sosial dari sekumpulan burung yang akan mensimulasikan pergerakan sekumpulan burung yang tidak terprediksi. Simulasi algoritma ini bertujuan untuk mengetahui pola/pattern dari pergerakan burung yang dapat berubah secara tiba–tiba kemudian membuat formasi yang optimal (Engelbrecht, 2007). Particleakandigunakanuntukmenyelesaikan
problem
ditentukan.
Setiap particle memilikiposisi, velocity dan solusi terbaik. Kemudian prosesdaripengubahanvelocity, perhitung pergerakan particle, jika solusi yang
didapatkanlebihbaikdarimaka
digantidengansolusitersebut.
solusi
terbaik
Jikatidaklebihbaik,makatidakadaperubahan
untuksolusiglobal best.Ulangilangkahsampaikondisiberhentiterpenuhi (Chu & Chen, 2006).
28
Dalam
Particle
Swarm
Optimization,
terdapat
tiga
bagian
tahapan/langkah utama yakni: 1. Mengevaluasi nilai fitness dari setiap particle 2. Mengupdate nilai fitness dan posisi individu terbaik/yang biasa disebut global best. 3. Mengupadate kecepatan dan posisi dari setiap particle(Purnomo, 2014). Berikut merupakan langkah-langkah original dari Particle Swarm Optimization(Chu & Chen, 2006): Step1
: Tentukan banyaknyaparticle yang akan digunakan untuk menyelesaikan problem. Setiap particle mempunyai posisi, velocity dan solusi terbaik
Step2
: Proses dari pengubahan velocity dapat dilihat berdasarkan perhitungan: .
Step3
.
.
: Pergerakan particle dapat dilihat berdasarkan perhitungan: ,
0,1, … ,
1,
Dimana: M adalah particle size (Vmax adalah maximum velocity) r1 dan r2 adalah random variable contohnya 0 Step4
,
1
: Jika solusi yang didapatkan lebih baik dari Gi, maka Gi akan diganti dengan solusi tersebut. Jika tidak lebih baik, maka tidak ada perubahan untuk solusi global best.
29
Step 5
: Ulangi step 1 sampai 4, sampai kondisi berhenti terpenuhi. Ada
beberapakondisiterminasiyangdapatdipakaidalamParticleSwarm Optimizationyaitu (Engelbrecht, 2007): 1. Berhenti ketika
jumlah
iterasi
telah
mencapai jumlah iterasi
maksimum yang diperbolehkan. 2. Berhenti ketika solusi yang dapat diterima telah ditemukan. 3. Berhenti ketika tidak ada perkembangan setelah beberapa iterasi. Selanjutnya, konsep Inersia Weight dikembangkan oleh Shi dan Eberhart pada tahun 1998 untuk eksplorasi dan eksploitasi kontrol yang lebih
baik
C .r P
dengan X
menggunakan
C . r . G
persamaan
V
w
V
X (Shi & Eberhart, A Modified
Particle Swarm Optimizer, 1998). Terdapat beberapa rule yang digunakan untuk menentukan nilai dan untuk
. Kennedy & Eberhart menyarankan penggunaan nilai fix 2.0 dan
(Kennedy & Eberhart, 1995). Namun pada tahun 2000,
Eberhart and Shi menyarankan penggunaan nilai 1.49618 untuk
dan
(Eberhart & Shi, 2000). Dikatakan bahwa swarm size tidak mempengaruhi kinerja dari Particle Swarm Optimization(Shi & Eberhart, A Modified Particle Swarm Optimizer, 1998). Kemudian, dikatakan juga bahwa dengan menggunakan jumlah particle yang lebih sedikit kecil, akan mengurangi evaluasi fitness functionsehingga berpengaruh pada waktu/biaya komputasi (Escalante, Montes, & Sucar, 2009).
(Shi & Eberhart, Parameter selection in particle swarm optimizatio n. In Evolutionary Programming VII, 1998)
30
2.4.2 Cat Swarm Optimization (CSO) Cat Swarm Optimization (CSO) merupakan algoritma baru dalam teknik optimasi yang meniru perilaku kucing (cat) yang diusulkan oleh Chu & Tsai. Cat Swarm Optimization memiliki kelebihan dalam penyelesaikan masalah optimasi jika dibandingan dengan algoritma sebelumnya yaitu Particle Swarm Optimization.Cat Swarm Optimization dapat memberikan performance yang lebih baik jika dibandingkan dengan Particle Swarm Optimization (Chu & Tsai, 2007). Berdasarkan hasil pengamatan perilaku kucing, terdapat dua perilaku besar yang dapat dimodelkan yaitu seeking mode dan tracking mode. Penggabungan antara dua mode tersebut dapat memberikan performa yang lebih baik(Chu & Chen, 2006). Berikut merupakan pembahasan dari algoritma optimasi Cat Swarm Optimization: a. The Presentation of Solution Set Pada algoritma optimasi, solution set (hasil) ditampilkan dengan cara
tertentu
misalnya
chromosome
yang
digunakan
untuk
merepresentasikan solution set dari Genetic Algorithm. Contoh lainnya adalah
dalam
Ant
Colony
Optimization
(ACO),
semut
(ant)
disimulasikan sebagai Agent dan jalur yang dibentuk oleh semut merepresentasikan solution set. Cat Swarm Optimization akan menggunakan kucing (cat) dan pemodelan dari perilaku kucing (model of cat behavior) untuk menyelesaikan masalah optimasi.
31
Pada Cat Swarm Optimization, pertama-tama akan ditentukan berapa banyak cat yang akan digunakan dalam iterasi, kemudian cat akan diterapkan pada Cat Swarm Optimization untuk menyelesaikan masalah. Setiap cat akan memiliki posisinya sendiri yang tersusun dari dimensi M, kecepatan (velocities) untuk masing-masing dimensi, nilai kecocokan (fitness value) serta flag yang menandakan apakah cat sedang berada pada seeking mode atau tracking mode. Solusi akhirnya adalah posisi yang terbaik dari salah satu cat. Cat Swarm Optimization akan menyimpan solusi terbaik sampai iterasi berakhir. b. Rest and Alert - Seeking Mode Tahap ini memodelkan situasi cat ketika berada dalam keadaan istirahat, melihat sekeliling, dan mencari posisi selanjutnya untuk bergerak. Pada tahap ini, terdapat empat variable/faktor penting yang didefinisikan yakni: 1. SMP : seeking memory pool SMP adalah variabel yang digunakan untuk mendefinisikan ukuran memori pencarian untuk masing-masing Cat yang mengindikasikan titik-titik yang telah dilalui oleh Cat. Cat kemudian akan memilih titik dari kelompok memori berdasarkan aturan tertentu. 2. SRD : seekingrange of the selected dimension SRD merupakan variable yang menyatakan perpindahan dalam dimensi yang terpilih. Dalam seeking mode, jika dimensi diputuskan untuk berpindah, selisih antara nilai baru dengan yang lama tidak melebihi rentang yang didefinisikan oleh SRD.
32
3. CDC : counts of dimension to change CDC adalah variabel yang memperlihatkan berapa besar dimensi yang akan berubah. 4. SPC : self-position considering SPC merupakan variabel Boolean (true/false), untuk menandakan apakah suatu titik yang pernah menjadi posisi Cat akan menjadi kandidat posisi untuk bergerak. Berikut
merupakan
tahapan
-
tahapan
dalam
Seeking
Mode(Yusiong, 2013): Step 1 : Buatlah salinan posisi cat sebanyak j, dimana j=SMP. Jika SPC bernilai true, maka j=(SMP − 1), kemudian, pertahankan posisi saat ini menjadi salah satu kandidat. Step2
: Untuk setiap salinan posisi cat, tambahkan atau kurangkan SRD persen dari nilai saat ini secara acak dan ubah nilainya. Perubahan ini berdasarkan dengan CDC.
Step3
: Hitung fitness value (FS) untuk semua kandidat.
Step4
: Jika semua fitness valuetidak sama, maka dilakukan perhitungan probabilitas terpilih untuk masing-masingtitik kandidat dengan menggunakan persamaan |
|
,
0
Namun sebaliknya, jika sama maka atur probabilitas terpilih untuk semua titik menjadi 1. Step5
: Pilih secara acak titik untuk bergerak dari para kandidat
33
dan pindahkanposisi |
|
,
0
Jika tujuan dari fungsi kecocokan adalah untuk menemukan solusi minimal maka:
=
.
Namun sebaliknya jika tujuan fungsi adalah menemukan solusi maksimum maka:
=
.
c. Tracking Mode Tracing modemerupakankondisi yang menggambarkan keadaan ketika cat sedangmengikuti jejak targetnya. Ketika cat berada pada tracking mode,maka cat tersebut akanbergerak sesuai dengan velocities untuk tiap- tiap dimensi.Berikut merupakan tahapan pada tracking mode: Step 1 : Perbaharuivelocities untuk setiap dimensi (vk,d) berdasarkan persamaan berikut ini: ,
.
,
.
,
,
dimana d = 1,2,…,M Step 2 : Periksa apakah velocities berada dalam range maksimum Jika
velocities.
velocities
baru
tersebut
melebihi
rentang,maka tetapkan nilainya menjadi nilaibatas/limit. Step 3 : Perbaharui posisi ,
,
sesuai dengan persamaan berikut ini: ,
d. Core description of cat swarm optimization Cat Swarm Optimization merupakan algoritma yang didasarkan pada perilaku kucing. Jika mengamati perilaku kucing, dapat diketahui
34
bahwa kucing menghabiskan sebagian besar waktunya untuk beristirahat dan mengubah posisinya secara perlahan dan berhati-hati dan kadang tepat di tempatnya. Perilaku kucing yang satu ini disebut dengan seeking mode, sedangkan perilaku kucing untuk mengejar target disebut dengan tracking mode. Pengkombinasian kedua mode tersebut di dalam satu algoritma memerlukan pendefinisian mixture ratio (MR).MR harus bernilai kecil untuk memastikan Cat menghabiskan sebagian besar waktunya didalam seeking mode.Proses umum dalam Cat Swarm Optimization dijabarkan daam 6 langkah berikut: Step 1 : Bangkitkan Cat sebanyak N Step 2 : Sebarkan Cat secara acak didalam ruang yang berdimensi D kemudian pilih nilai kecepatan secara acak yang berada didalam rentang untuk dijadikan kecepatan Cat. Pilih Cat secara acak, dan masukan Cat ke dalam tracking mode sesuai MR. Sedangkan sisanya, dimasukan kedalam seeking mode. Step 3 : Hitung fitness value untuk masing-masing Cat dengan memasukkan nilai posisi Cat ke dalam fungsi kecocokan kemudian simpan Cat terbaik dalam memori. Step 4 : Perlakukan
sesuai dengan flag. Jika
berada pada
seeking mode, maka jalankan proses seeking mode. Namun jika
berada pada tracking mode, maka jalankan proses
tracking mode.
35
Step 5 : Pilih kembali sejumlah Cat sejumlah MR untuk dimasukan kedalam tracking mode. Sedangkan sisanya, dimasukan kedalam seeking mode. Step 6 : Perhatikan kondisi berhenti. Jika kondisi berhenti telah tercapai, maka program selesai. Namun jika kondisi berhenti belum terpenuhi, maka ulangi langkah 3 hingga langkah 5. Berikut merupakan tahapan Cat Swarm Optimization dalam bentuk diagram proses :
36
Gambar 2.10 Diagram Proses Cat Swarm Optimization
37
2.5 Tinjauan Literatur Tinjauan literatur meliputi tinjauan literatur kesesesuaian lahan dan tinjauan literatur NeuralNetwork&SwarmIntelligence.
2.5.1 Tinjauan Literatur Kesesuaian Lahan Penelitian-penelitian sebelumnya mengenai penentuan kesesuaian lahan pernah dilakukan dengan menggunakan Fuzzy Logic untuk menentukan kesesuaian lahan berdasarkan faktor penghambat terbesar untuk tanaman pangan pada provinsi Jawa Timur. Pada penelitian ini, metode yang digunakan adalah Fuzzy Inference Systems (FIS). Beberapa contoh parameter yang digunakan dalam penelitian ini adalah data fuzzy seperti suhu, tekstur, drainase, dan lereng serta data non-fuzzy seperti curah hujan dan tinggi air tanah (Sevani, Marimin, & Sukoco, 2009). Selain itu, teori himpunan fuzzy juga pernah digunakan untuk evaluasi kesesuaian lahan untuk tanaman gandum di wilayah Ziaran di provinsi Qazvin, Iran. Beberapa contoh parameter tanah yang diukur dalam penelitian ini adalah tekstur, Organic Carbon (OC), Bulkdensity (Bd), moisturecontents, watersaturationpercentage (SP), dan pH (Keshavarzi, Sarmadian, Heidari, & Omid, 2010). Penelitian lainnya pernah dilakukan oleh Susanti & Winiarti yang membuat sistem pakar kesesuaian lahan pertanian untuk budidaya buahbuahan dengan menggunakan metode penelusuran fakta ForwardChaining yang merupakan sebuah metode yang akan mencari kesimpulan berdasarkan fakta-fakta yang ada dan kemudian akan diuji kebenaranya dalam bentuk hipotesis. Data masukan yang digunakan dalam penelitian ini adalah data
38
tanaman buah, fakta lahan, penyakit, serta cara penanaman (Susanti & Winiarti, 2013). Selanjutnya pada tahun 2009, Neural Network juga pernah dipakai untuk memprediksi produksi kelapa sawit berdasarkan parameter lahan untuk menentukan kesesuaian lahan kelapa sawit. Dalam penelitian ini, digunakan Backpropagation untuk memprediksi jumlah produksi kelapa sawit dengan menggunakan input data yang berupa parameter lahan seperti curah hujan, lereng, dan keasaman tanah. Dari penelitian ini, dikatakan bahwa NeuralNetwork mempermudah dan memperinci penyajian hasil prediksi produksi kelapa sawit dan memberikan proses yang akurat, cepat dan meminimalkan kesalahan(Hermantoro & Purnawan, 2009). Pada tahun 2010, penelitian lainnya mengenai kesesuaian lahan pernah dilakukan dengan menggunakan Back PropagationNeural Network untuk mengevaluasi kesesuaian penggunaan lahan konstruksi. Input layer yang digunakan adalah input yang berhubungan dengan opography, engineering geology, hydro-geology, dan geo-hazard yang akan ditentukan berdasarkan analisis kondisi penggunaan lahan di Hangzhou. Dalam penelitian tersebut dikatakan bahwa model Back PropagationNeural Network cocok dandapat memberikan solusi untuk masalah kesesuaian lahan di Hangzhou (Zhang, et al., 2010). Kemudian, pada tahun 2013, dua jenis Neural Network yaitu RBF (Radial Basis Function) dan MLP (Multi-Layer Perceptron Networks), digunakan untuk forcasting kesesuaian lahan di dataran Eghlid, Iran. Dari hasil penelitian tersebut, didapat bahwa RBF dan MLP mampu memprediksi
39
kelas kesesuaian lahan dengan perkiraan yang baik, namun akurasi Neural Network menggunakan MLP lebih besar daripada Neural Network yang menggunakan RBF(Vali, Ramesht, & Mokarram, 2013)
2.5.2 Tinjauan
Literatur
Neural
Network&
Swarm
Intelligence Pada tahun 2008, Neural Network pernah dibandingkan dengan metode konvensional lainnya seperti LinearReggression, dan didapat bahwa model Neural Network menghasilkan kebenaran yang lebih baik (Abdou, Pointon, & El-Masry, 2008). Beberapa penelitian terkait
Particle Swarm Algorithm
telah
diimplementasikan untuk menyelesaikan beberapa permasalahan dengan hasil yang lebih baik jika dibandingkan dengan algoritma optimasi lainnya. Contohnya ialah penelitian yang dilakukan untuk forecasting dalam indeks saham (Singh & Borah, 2013). Pada
tahun
2007,
pernah
dibandingkan
antara
algoritma
Backpropagation (BP), algoritma Particle Swarm Optimization (PSO) dan pengabungan keduanya (BP-PSO) untuk data Iris. Dari hasil penelitian tersebut, didapatkan bahwa algoritma PSO dan BP-PSO mendapatkan hasil yang lebih baik daripada algoritma BP. Namun jika PSO dan BP-PSO dibandingkan, BP-PSO menghasilkan hasil yang lebih baik daripada PSO (Zhang, Zhang, Lok, & Lyu, 2007). Selain itu, pada tahun 2011, penelitian Neural Network dan Particle Swarm Optimizationdilakukan untuk dataCardiotocography. Penelitian
40
tersebutmembandingkan antara metode Neural Network Back Propagation (NNBP) dengan Neural Network Particle Swarm Optimization (NNPSO) (Khalid, Rintyarna, & Arifin, 2011). Pada tahun 2013, Particle Swarm Optimization diusulkan untuk digunakan untuk meningkatkan kinerja dari Neural Network. Pada penelitian tersebut digunakan data Iris. Disebutkan bahwa algoritma Particle Swarm Optimization memiliki kemampuan yang kuat untuk menemukan global optimum. Sebaliknya, algoritma Backpropagation memiliki kemampuan yang kuat untuk menemukan hasil local optimum namun lemah untuk menentukan global optimum. Dari situ, PSO diusulkan untuk digunakan untuk meningkatkan kinerja Neural Network(Dutta, Roy, & Choudhury, 2013). Di tahun yang sama, Particle Swarm Optimization pernah diterapkan untuk memilih bobot awal pada BackpropagationNeural Network pada kasus pattern recognition untuk mendapatkan performa yang lebih baik jika dibandingkan dengan Backpropagation tanpa optimasi (Nikelshpur & Tappert, 2013). Kemudian pada tahun 2014, penelitian serupa juga dilakukan untuk memprediksi laju inflasi dengan menggunakan Particle Swarm
Optimization
untuk
memilih
bobot
awal
BackpropagationNeuralNetwork. (Nugraha & SN, 2014) Selain itu, disebutkan bahwa Neural Network dapat dioptimasi dengan algoritma optimasi seperti Cat Optimization Algorithm. Neural Network menggunakan algoritma Cat swarm Optimization (CSO) pernah dilakukan menggunakan Optimal Brain Damage (OBD) pruning methods
41
yang dilakukan untuk mendapatkan algoritma traning yang efektif untuk artificial neural network(Yusiong, 2013). Berikut merupakan algoritma Cat swarm Optimization (CSO) yang diterapkan pada Neural Network oleh Yusiong: 1. Buatlah sebuah hidden layer feed forward neural network yang sepenuhnya terkoneksi 2. Training NN menggunakan CSO untuk mengevaluasi NN (cat) dengan menggunakan MSE sampai mendapatkan kriteria stop yang diinginkan 3. Mengaplikasikan OBD pada cat yang terbaik 4. Melakukan re-train pada pruned NN 5. Jika kriteria stop yang diinginkan belum didapatkan, kembali ke langkah 3. Sebaliknya, jika sudah didapatkan, maka jalankan langkah ke 6. 6. Output dari pruned NN yang terbaik. Berikut merupakan detail pseudocode yang menunjukan bagaimana menggunakan CSONN-OBD: Read dataset Determine the Number of Hidden Neurons and Maximum Cycles Determine the Dimension of the Cat Initialize the Cats (ANNs) While Maximum Cycle is not reached Train ANNs Evaluate each ANN using MSE
42
Output the Best Cat While the termination condition is not satisfied Prune the Best Cat using OBD Retrain the Best Cat and prune using OBD Output the Pruned ANN
Gambar 2.11Neural NetworksTraining Menggunakan CSONN-OBD (Yusiong, 2013) Berikut merupakan rangkuman dari tinjauan literatur dalam bentuk tabel: Tabel 2.1 TinjauanLiteratur Publication
Problem
Method
Kesesuaian Lahan Menentukan kesesuaian lahan untuk (Sevani, Marimin, & tanaman pangan pada provinsi Jawa Fuzzy Logic Sukoco, 2009) Timur (Keshavarzi,
Evaluasi
kesesuaian
lahan
untuk Fuzzy Logic
Sarmadian, Heidari, & tanaman gandum di wilayah Ziaran di
43
Publication
Problem
Omid, 2010)
Method
provinsi Qazvin, Iran
(Susanti & Winiarti, Sistem
pakar
kesesuaian
lahan Forward Chaining
2013)
pertanian untuk budidaya buah-buahan
(Hermantoro
& Menentukan kesesuaian lahan kelapa Neural Network
Purnawan, 2009)
sawit Mengevaluasi kesesuaian penggunaan
(Zhang, et al., 2010)
Neural Network lahan konstruksi
(Vali,
Ramesht,
& Forcasting
kesesuaian
lahan
di Neural Network
Mokarram, 2013)
dataran Eghlid, Iran
Neural Network & Swarm Optimization Neural Membandingkan
Neural
Network
Network
(Abdou, Pointon, &
Versus dengan teknik konvensional seperti
El-Masry, 2008)
Conventional Linear Reggression Techniques
(Singh & Borah, 2013) Forecasting dalam indeks saham
PSO
Perbandingan Backpropagation (BP) (Zhang, Zhang, Lok,
Neural Network dan Particle Swarm Optimization
& Lyu, 2007)
PSO (PSO) serta BP-PSO Perbandingan Neural Network Back (NNBP)
Propagation
dengan
(Khalid, Rintyarna, &
Neural NeuralNetwork
Particle
Swarm
Arifin, 2011)
PSO (NNPSO)pada
Optimization
Cardiotocography
data
Network
44
Publication
Problem Training
(Dutta,
Roy,
Neural
Network
Method dengan
&
Neural Particle Swarm Optimization
Network
pada
Choudhury, 2013)
PSO data Iris Perbandingan Backpropagation (BP)
(Nikelshpur
& dan Backpropagation-Particle Swarm Neural
Tappert, 2013)
Network
Optimization (BP-PSO) untuk pattern PSO recognition Training
Neural
Network
dengan Neural
(Nugraha & SN, 2014)
Particle Swarm Optimization
Network
untuk PSO
memprediksi laju inflasi Neural Network&Cat Optimization Neural
Network
(Yusiong, 2013) Algorithm pada masalah klasifikasi
CSO
Kesesuaian Lahan Menggunakan Neural Network&Swarm Optimization Optimalisasi Penentuan Kesesuaian Neural Lahan untuk Tanaman Pangan dengan (Layona, 2015)
PSO Menggunakan Neural Network dan CSO Swarm Optimization Algorithm
Network