BAB 3
METODOLOGI PENELITIAN
Curah hujan adalah merupakan ketinggian air hujan yang jatuh pada tempat yang datar dengan asumsi tidak menguap, tidak meresap dantidak mengalir. Curah hujan 1 (satu) mm adalah air hujan setinggi 1 (satu) mm yang jatuh (tertampung) pada tempat yang datar seluas 1m2dengan asumsi tidak ada yang menguap, mengalir dan meresap.
Curah hujan kumulatif 1 (satu) bulan adalahjumlah curah hujan yang terkumpul selama 28 atau 29 hari untuk bulan Pebruari dan 30 atau 31 hari untuk bulan-bulan lainnya. Sifat hujan merupakan perbandingan antarajumlah curah hujan kumulatif selama satu bulan di suatu tempat dengan rata-ratanya atau normalnya pada bulan dan tempat yangsama.
Sifat hujan dibagi menjadi 3 (tiga) katagori, yaitu :
a. Sifat Hujan Atas Normal (AN): jika nilai curah hujan lebih dari 115% terhadap rata-ratanya.
b. Sifat Hujan Normal (N): jika nilai curah hujan antara 85% - 115 %terhadap rata-ratanya.
c. Sifat Hujan Bawah Normal (BN): jika nilai curah hujan kurang dari 85 %terhadap rata-ratanya.
Intensitas hujan dibagi menjadi3 (tiga) katagori, yaitu:
a. Enteng (tipis) : jika nilai curah hujan kurang dari 13 mm/jam b. Sedang : jika nilai curah hujan antara 13–38 mm/jam c. Lebat : jika nilai curah hujan lebih dari 38 mm/jam
3.1Flow Chart Rancangan Penelitian
Dalam menganalisis algoritma Backpropagation dengan Learning Vector Quantization untuk memprediksi curah hujan di Kota Medan disusun langkah –
langkah yang akan dilakukan dalam penelitian ini yang dapat dilihat seperti flow chart Gambar 3.1.
Gambar 3.1 Flow Chart Rancangan Penelitian S
Data Curah Hujan Komulatif
Algoritma Back
Prediksi Curah Hujan
Training/Sim ulasi
Analisis Kinerja Algoritma
Hasil Prediksi
3.2Bahan Penelitian
Bahan penelitian yang diperoleh dari Badan Meteorologi Klimatologi dan Geofisika Medan berupa data primer curah hujan komulatif bulanan selama 30 tahun seperti pada Tabel 3.1.
Contoh pembacaan Normal curah hujan: J
an
9
5 - 129 dibawah 95 mm Bawah Normal, diatas 129 mm Atas Normal P
eb
7 2 - 98
dibawah72 mm Bawah Normal, diatas 98 mm Atas Normal
M ar
9
9 - 135 dibawah 99 mm Bawah Normal, diatas 135 mm Atas Normal
Rata-rata = jumlah dibagi 30 thn Batas bawah = 85% x rata-rata Batas atas = 115% x rata-rata
Untuk data curah hujan tahun selanjutnya dilakukan cara yang sama.
3.3Pseudocode Algoritma Backpropagation
Adapun pseudocode algoritma Backpropagation dalam melakukan training dapat dilihat seperti dibawah ini:
endfor endfor
for j ← 0 to 4 do DK_net[j] ← 0 for k ← 0 to maxK do
DK_net[j] ← DK_net[j] +(DK[k]*W[k][j]) Endfor
3.4Pseudocode Algoritma Linear Vector Quantization (LVQ)
if (H[k] < H[C]) then
3.5 Flow Chart Training Backpropagation
Adapun Flowchart dari algoritma TrainingBackpropagation dapat dilihat seperti pada Gambar 3.2.
S
Parameter Jaringan,Vektor Input
Setiap input meneruskan ke hidden layer
Jalankan fungsi aktifasi untuk menghitung
𝑧𝑛𝑒𝑡𝑗=𝑣𝑗0+� 𝑥𝑖𝑣𝑗𝑖
Hitung komponen perubahan
Hitung komponen Bias
w =αδ ∆
Setiap neuron hidden menjumlahkan input dari neuron diatasnya
∑
Hitung komponen koreksi errornya (untuk mengubah vij)
∑
Hitung komponen koreksi errornya (untuk mengubah v0j)
j j
v =αδ ∆ 0
Hitung semua perubahan bobot menuju ke unit keluaran
wjk (baru) = wjk (lama) +
Δw
P
Gambar 3.2 Flowchart Training Algoritma Backpropagation
Keterangan Flowchart : 1. Mulai
2. Masukkan bobot awal
3. Setiap masukan meneruskan ke hidden layer 4. Kerjakan fungsi aktifasi untuk menghitung output 5. Kerjakan untuk menghitung komponen error
6. Kerjakan untuk menghitung komponen perubahan bobot 7. Kerjakan untuk menghitung komponen bias
8. Kerjakan untuk setiap neuron hidden menjumlahkan input dari neuron diatasnya 9. Kerjakan untuk menghitung komponen errornya
10. Kerjakan untuk menghitung koreksi error untuk mengubah Vij 11. Kerjakan untuk menghitung koreksi error untuk mengubah Voj
12. Kerjakan untuk menghitung semua perubahan bobot menuju ke unit keluaran 13. Kerjakan untuk menghitung semua perubahan bobot menuju ke unit keluaran 14. Selesai
3.6Flow Chart Training dengan Linier Vector Quantization (LVQ)
Adapun Flow ChartTrainingdengan Linier Vector Quantization dapat dilihat seperti pada Gambar 3.3.
Sto Kondisi St ?
S
Data Pelatihan
Pendefinisi Input, Output dan
Pembentukan Jaringan LVQ NET =
Bobot,JmlNeuron,(1/JmlKlas)* MinErr (Jumkls))
Penetapan Parameter Pelatihan 1.MaksEpoch = 100
2.MinError = 0.001 3 DecError 0 1
Training Epoch=Epoc
Penetapan JmlKlas, JmlNeuron,
Penetapan Bobot Awal (Wij) i=1,2,...,K. j=1,2,...,m
Wij= 0-1
Inisialisasi Bobot Awal
Perbaikan Bobot Wj
Gambar 3.3 Flow Chart Training dengan LVQ
3.7Flowchart Algoritma Prediksi Backpropagation
Adapun proses dari algoritma Prediksi Backpropagation seperti pada Gambar 3.4.
Hasil Error <MinError atau
S
S
Vektor Input Uji (xi) Bobot Terakhir Pelatihan
Setiap Unit pada Output Layer menghitung output
∑
+ =
j jk j ok
k w z w
in y_
𝑍𝑗𝑊𝑗𝑘=𝑣𝑗0+� 𝑥𝑖𝑣𝑗𝑖 𝑛 Setiap Unit pada Hidden Layer menghitung
output
Menerapkan fungsi aktivasi untuk menghitung sinyal output
Gambar 3.4 Flow Chart Prediksi Algoritma Backpropagation
3.8 Flowchart Prediksi Algoritma Learning Vector Quantization
Adapun proses dari algoritma PrediksiLearning Vector Quantization adalah seperti pada Gambar 3.5.
Gambar 3.5 Flow Chart Prediksi Algoritma Learning Vector Quantization
3.9Rancangan Hasil Analisis
Dari perancangan dapat diperoleh hasil analisis berupa tabel Waktu Training dan Prediksi hasil seperti pada Tabel 3.2 berikut ini.
S
Vektor Input (Xi) Bobot Terakhir Pelatihan
Setiap Unit pada Hidden Layer menghitung output ||Xi-Wj||
Sto ||Xi-Wj|| Min = Kls (J)
Tabel 3.2 Waktu Training dan Prediksi
o
Algoritma Rata-rata Waktu Training (Detik)
Serta tabel akurasi prediksi dengan variasi parameter training seperti pada Tabel 3.4 berikut ini.
Paramater:
Epochs = 100
Learning Rate = 0.25
Iterasi = 100
Maks err = 0.001
Pada simulasi dalam memprediksi keakuratan predisksi diperoleh dalam tabel hasil simulasi Akurasi seperti pada Tabel 3.3.
Tabel 3.3Akurasi Prediksi
No Algoritma Akurasi
Backpropagation xxx
Linear Vector Quantization xxx
3.10 Analisis Metode Training dan Prediksi
Algoritma Trainingdan Prediksi yang dibandingkan pada sistem ini adalah Backpropagation dan Learning Vector Quantization. Tabel 3.4 merupakan
perbandingan dasar dari kedua metode tersebut.
Tabel 3.4 Perbandingan Metode Backpropagation dan LVQ
No Parameter Backpropagation LVQ
Alur Training Menggunakan 2 alur, yaitu alur maju (forward propagation) dan alur mundur (backpropagation)
Menggunakan1Aluryaitu alur maju(forward propagation).
Parameter Training Parameter Training yang digunakan adalah maksimalperulangan,
Learning rate dan minimal error.
Learning rate, pengurang rasio dan minimal error. Bobot Training Memiliki 2 nilai bobot
yaitu bobot pada hidden layer (v) dan bobot pada output layer(w).
Memiliki 1 nilai bobot yaitu bobot pada output layer(w).
Nilai awal setiap bobot diambil dari nilai random yang cukup kecil.
Nilai awal bobot diambil dari salah satu data masukanuntuk
setiapkelas. Perubahan bobot dihitung
dengan alur mundur (backpropagation), yaitu dengan mengubah nilai bobot pada layer output (w), kemudian mengubah nilai bobot pada hidden layer (v).
Perubahan bobotdihitung berdasarkan nilai kelas hasil perhitungan. Jika kelas hasil perhitungan sama dengan kelas targetmaka menggunakan
rumus tambah, dan sebaliknya menggunakan rumus kurang.
Perulangan Training
Perulangan dilakukan selama perulangan belum mencapai maksimal perulangan dan nilai Mean Square Error (MSE) masihlebih kecil dari minimal eror.
Perulangan dilakukan selama perulangan belum mencapai maksimal perulangan atau nilai perubahan rasio pembelajaran masih lebih kecil dari minimal eror.
Kompleksitas Algoritma
Perhitungan lebih rumit karena menggunakan 11 rumus dalam perhitungan pembelajaran, dan 4 rumus dalam perhitungan pengenalan.
Perhitungan sederhana
karena hanya menggunakan 3 rumus
dalam perhitungan
pembelajaran dan 1 rumusdalam perhitungan pengenalan.
Hasil Training Berupa nilai bobot pada hidden layer (v) dan bobot pada output layer (w).
Berupa nilai bobot (w).
Hasil Simulasi Berupa angka biner dari nilai kelas yang dikenali.
3.11 Proses Training
Proses Trainingmerupakan proses dimana komputer belajar dari sejumlah data yang ada dan menghasilkan nilai bobot. Bobot merupakan nilai yang menunjukkan seberapa besar koneksi antara neuron. Nilai bobot akan bertambah, jika informasi yang diberikan oleh neuron yang bersangkutan tersampaikan, sebaliknya jika informasi tidakdisampaikan oleh suatu neuron ke neuron yang lain, maka nilai bobot yangmenghubungkan keduanya akan dikurangi.
Pada saat pelatihan dilakukan pada input yangberbeda, maka nilai bobot akan diubah secara dinamis hingga mencapai suatu nilai yangcukup seimbang. Apabila nilai ini telah tercapai mengindikasikan bahwa tiap-tiap input telah berhubungan dengan output yang diharapkan.Selama proses pelatihan, masing-masing bobot koneksi dipropagasikan ke seluruh unitatau node dengan metode pelatihan perambatan balik (Backpropagation). Bobot-bobot diatur secara iteratif untuk meminimumkan fungsi kinerja jaringan. Fungsikinerja yang sering digunakan adalah Means Squared Error (MSE), dimana fungsi ini akan mengambil kuadraterror yang terjadi antara
output dan target.Proses Trainingpada sistem ini dilakukan dengan menggunakan 2 buah metode, yaitu Backpropagation dan Learning Vector Quantization.
Data yang digunakan sebagai contoh pada proses trainingadalah data curah hujan selama 20 tahun dan data pengujian yang digunakan adalah data curah hujan selama 10 tahun seperti yang telah disajikan pada Tabel 3.5.
Tabel 3.5 Data Curah Hujan Tahun 1980 Tahun Bulan Curah Hujan Kondisi Kode
1980 01 61 BN 3
1980 02 106 BN 3
1980 03 115 BN 3
1980 04 88 BN 3
1980 05 235 AN 1
1980 06 163 BN 3
1980 07 111 BN 3
1980 08 452 AN 2
1980 10 223 N 1 Kode = 2 adalah curah hujan atas normal (AN) Kode = 3 adalah curah hujan bawah normal (BN)
2007 170 2 2
Target = digunakan untuk algoritma Backpropagation Kelas = digunakan untuk algoritma LVQ
3.12 Perhitungan Backpropagation
Data Curah Hujan yang dilatih sebanyak 30 tahun, dimana 10 tahun pertama digunakan sebagai inisialisasi bobot seperti pada Tabel 3.7.
Tabel 3.7 Data Inisialisasi Bobot bulan Januari Vektor (x) Kelas
Sedangkan 20 data berikutnya digunakan sebagai data yang akan dilatih seperti pada Tabel 3.8.
1996 97 1
1997 75 3
1998 163 2 1999 315 2
2000 59 3
2001 217 2
2002 91 3
2003 169 2 2004 139 2 2005 189 2 2006 104 1 2007 170 2 2008 127 1
2009 72 3
Arsitektur jaringan syaraf dengan 3 input(xi) berupa tahun, bulan dan curah hujan yang dapat dilihat seperti pada Gambar 3.6.
Gambar 3.6 Arsitektur JaringanBackpropagation
Dari data pada Tabel 3.9 nilai data terkecil (a) adalah 0 dan data terbesar adalah 315 ditransformasikan dalam interval 0.1 - 0.9 dengan fungsi transformasi:
X1’ = 0.8 (𝑏−𝑎𝑥𝑖−1) + 0.1
X’1 =0.8 (61−1)
315−0 + 0.1
X’1 = 0.25
X’2 =0.8 (117−1)
315−0 + 0.1
X’3 = 0.39
X’3 =0.8 (44−1)
X’4 =0.8315−0 (161−1) + 0.1
X’4 = 0.41
X’5 =0.315−08 (0−1) + 0.1
X’5 = 0.09
X’6 =0.8315−0 (66−1) + 0.1
X’6 = 0.26
X’7 =0.8315−0 (97−1) + 0.1
X’7 = 0.34
X’8 =0.8315−0 (75−1) + 0.1
X’8 = 0.28
X’9 =0.8315−0 (163−1) + 0.1
X’9 = 0.51
X’10 =0.8315−0 (315−1) + 0.1
X’10 = 0.89
X’11 =0.8315−0 (59−1) + 0.1
X’11 = 0.24
X’12 =0.8315−0 (217−1) + 0.1
X’12 = 0.64
X’13 =0.8315−0 (91−1) + 0.1
X’13 = 0.32
X’14 =0.8315−0 (169−1) + 0.1
X’14 = 0.52
X’15 =0.8 (139−1)
315−0 + 0.1
X’15 = 0.45
X’16 =0.8 (189−1)
315−0 + 0.1
X’16 = 0.57
X’17 =0.8 (104−1)
X’17 = 0.36
X’18 =0.8315−0 (170−1) + 0.1
X’18 = 0.52
X’19 =0.8315−0 (127−1) + 0.1
X’19 = 0.42
X’20 =0.8315−0 (72−1) + 0.1
X’20 = 0.28
Dari hasil transformasi data di atas diperoleh tabel 3.9.
Tabel 3.9 Data Transformasi Pelatihan Vektor (x1 dan x2) Target (2000-2009)
0.01 0.25 0.24
0.02 0.39 0.64
0.03 0.20 0.32
0.04 0.41 0.52
0.05 0.09 0.45
0.06 0.26 0.57
0.07 0.34 0.36
0.08 0.28 0.52
0.09 0.51 0.42
0.10 0.89 0.28
Untuk algoritma Backpropagation,inisialisasi semua bobot dengan bilangan acak kecil seperti padaTabel 3.10.
Tabel 3.10 Bobot dari input layer (Vi) ke layer tersembunyi (Zi)
Z1 Z2 Z3
V1 0.2 0.3 -0.1 V2 0.3 0.1 -0.1 V3 -0.3 0.3 0.3
Tabel 3.11 Bobot-bobot dari hidden layer ke output layer Output Hidden layer (Zj),j = 1,2,3
𝑧𝑛𝑒𝑡3 = 0,3−0.003−0.025
Hitung semua jaringan di unit keluaran (yk)
𝑦_𝑛𝑒𝑡𝑘 = 𝑤𝑘0+� 𝑧𝑗𝑤𝑘𝑗
Fase II : Propagasi Maju
Langkah 6
δk=(tk-yk) f’(y_netk)= (tk-yk) yk (1-yk)
δ1=(t1-y1) f’(y_net1)= (t1-y1) y1 (1-y1)=(0-0,44)*0,44*(1-0,44) = -0,11
Hitung factor δ unit tersembunyi berdasarkan kesalahan di setiap unit
tersembunyi zj (j=1,2,3,…,p)
δ_𝑛𝑒𝑡𝑗 = �δ𝑘𝑤𝑘𝑗
𝑚
𝑘=1
δ_𝑛𝑒𝑡1= δ1.𝑤11= (−0,11). 0,5 = −0,055
δ_𝑛𝑒𝑡2 =δ1.𝑤12 = (−0,11). (−0,3) = 0,033
δ_𝑛𝑒𝑡3 =δ1.𝑤13 = (−0,11). (−0,4) = 0,044
Faktor kesalahan δ unit tersembunyi δj = δ_netj f’(z_netj) = δ_net zj (1-zj)
δ1 = δ_net1 z1 (1-z1) = (-0.055).0,55.(1-(0,55)) = -0,01 δ2 = δ_net2 z2 (1-z2) = (0.033).0,67.(1-(0,67)) = 0,01 δ3 = δ_net3 z3 (1-z3) = (0.044).0,52.(1-(0,52)) = 0,01
Δvji = α δjxi
Δv10 = α δ1 = 0,2*(-0,01)*1 = -0,002
Δv20 = α δ2 = 0,2*(0,01)*1 = 0,002
Δv30 = α δ3 = 0,2*(0,01)*1 = 0,002
Δv11 = α δ1x1 = 0,2*(-0,01)*1 = -0,002
Δv21 = α δ2x1 = 0,2*(0,01)*1 = 0,002
Δv31 = α δ3x1 = 0,2*(0,01)*1 = 0,002
Δv12 = α δ1x2 = 0,2*(-0,01)*1 = -0,002
Δv22 = α δ2x2 = 0,2*(0,01)*1 = 0,002
Δv32 = α δ3x2 = 0,2*(0,01)*1 = 0,002
Fase III : Perubahan Bobot
Langkah 8
Perubahan bobot garis yang menuju unit keluaran wkj (baru) = wkj (lama) + Δwkj
Vji (baru) = vji (lama) + Δvji
Untuk pola yang kedua, X1=1, X2=0 dan t=1 Fase I: Propagasi Maju
Langkah 3
Tiap unit masukkan menerima sinyal dan meneruskan ke unit tersembunyi
Langkah 4
Hitung semua keluaran di unit tersembunyi (Zj):
𝑧3 =𝑓�𝑧𝑛𝑒𝑡3�=1 +𝑒1−𝑧_𝑛𝑒𝑡3 =
1
1 +𝑒−𝟎,𝟐= 0,52
Langkah 5
Hitung semua jaringan di unit keluaran (yk)
𝑦_𝑛𝑒𝑡𝑘 =𝑤𝑘0+� 𝑧𝑗𝑤𝑘𝑗
𝑝
𝑗=1
𝑦𝑛𝑒𝑡1 =𝑤10+� 𝑧𝑗𝑤𝑘𝑗
𝑝
𝑗=1
=𝑤10+𝑧1𝑤11+𝑧2𝑤12+𝑧3𝑤13
=−0,1 + 0,55∗0,5 + 0,67∗(−0,3) + 0,52∗(−0,4) = 0,24
𝑦𝑘 =𝑓(𝑦_𝑛𝑒𝑡𝑘) =
1
1 +𝑒−𝑦_𝑛𝑒𝑡𝑘 =
1
1 +𝑒−𝟎,𝟐𝟒 = 0,44
Fase II : Propagasi Maju
Langkah 6
δk=(tk-yk) f’(y_netk)= (tk-yk) yk (1-yk)
δ1=(t1-y1) f’(y_net1)= (t1-y1) y1 (1-y1)=(0-0,44) * 0,44 * (1-0,44) = -0,11
Δwkj = α δk zj
Δw10 = α δ1 (1) = 0,2 * (-0,11) * (1) = -0,022
Δw11 = α δ1 (z1) = 0,2 * (-0,11) * (0,55) = -0,01
Δw12 = α δ1 (z2) = 0,2 * (-0,11) * (0,67) = -0,01
Langkah 7
Hitung factor δ unit tersembunyi berdasarkan error di setiap unit tersembunyi
zj (j=1,2,3,…,p)
δ_𝑛𝑒𝑡𝑗 = �δ𝑘𝑤𝑘𝑗
𝑚
𝑘=1
δ_𝑛𝑒𝑡1 = δ1∗ 𝑤11 = (−0,11)∗0,5 =−0,055
δ_𝑛𝑒𝑡2 = δ1∗ 𝑤12= (−0,11)∗(−0,3) = 0,033
δ_𝑛𝑒𝑡3 = δ1∗ 𝑤13= (−0,11)∗(−0,4) = 0,044
Faktor errorδ unit tersembunyi δj = δ_netj f’(z_netj) = δ_net zj (1-zj)
δ1 = δ_net z1 (1-z1) = (-0.055) * 0,55 * (1-(0,55)) = -0,01 δ2 = δ_net z2 (1-z2) = (0.033) * 0,67 * (1-(0,67)) = 0,01 δ3 = δ_net z3 (1-z3) = (0.044) * 0,52 * (1-(0,52)) = 0,01
Δvji = α δjxi
Δv10 = α δ1 = 0,2 * (-0,01)*1 = -0,002
Δv20 = α δ2 = 0,2 * (0,01)*1 = 0,002
Δv30 = α δ3 = 0,2 * (0,01)*1 = 0,002
Δv11 = α δ1x1 = 0,2 * (-0,01)*1 = -0,002
Δv21 = α δ2x1 = 0,2 * (0,01)*1 = 0,002
Δv31 = α δ3x1 = 0,2 * (0,01)*1 = 0,002
Δv12 = α δ1x2 = 0,2 * (-0,01)*1 = -0,002
Δv22 = α δ2x2 = 0,2 * (0,01)*1 = 0,002
Δv32 = α δ3x2 = 0,2 * (0,01)*1 = 0,002
Fase III : Perubahan Bobot
Langkah 8
Perubahan bobot garis yang menuju unit keluaran wkj (baru) = wkj (lama) + Δwkj
w12 (baru) = w12 (lama) + Δw12= -0,3-0,01 = 0,31 Lanjutkan dengan pola yang lainnya:
Pola ke 2 X1=1, X2=0, t=1 Pola ke 3 X1=0, X2=1, t=1 Pola ke 4 X1=0, X2=0, t=0
3.13 Perhitungan Dengan LVQ
Data yang diproses adalah data 10 tahun dengan vektor x1 adalah tahun dan x2 adalah curah hujan (mm) serta target yang diambil 10 berikutnya. Misalkan diketahui 10 input vektor dalam 3 kelas dapat dilihat seperti pada Tabel 3.12.
2001 217 2
Dua inputan yang pertama akan diinisialisasi sebagai bobot yang dapat dilihat seperti pada Tabel 3.13.
Tabel 3.13 Data Bobot No Matriks Bobot Target
1991 117 1
1993 161 2
1990 61 3
Sedangkan 8 inputan sisanya akan digunakan sebagai data yang akan dilatih yang dapat dilihat seperti pada Tabel 3.14.
Tabel 3.14 Data Latih No Matriks Latih Target
Gambar 3.7Arsitektur Jaringan LVQ Keterangan:
X1 = Input 1 (Tahun) X2 = Input 2 (Bulan)
X2 = Input 3 (Curah Hujan (mm)
W1 = Vektor bobot yang menghubungkan setiap neuron pada lapisan input
ke neuron pertama pada lapisan output.
W2 = Vektor bobot yang menghubungkan setiap neuron pada lapisan input
ke neuron kedua pada lapisan output.
F1 = Fungsi aktifasi yang memetakan y_in1 ke y1=1 bila ||X-W1|| <||X-W2||
dan y1=0 jika sebaliknya.
F2 = Fungsi aktifasi yang memetakan y_in2 ke y2=1 bila ||X-W2|| <||X-W1||
dan y2=0 jika sebaliknya.
Sebagai Nilai awal dipilih Learning Rate (α ) = 0.05, dengan pengurangan sebesar 0.1* α, dan maksimum epoch (MaxEpoch) = 100.
Epoch ke-1 :
Data Ke-1 : (0, 0, 1, 0, 0, 1) Jarak pada bobot ke – 1 =
�(0 − 1)2 + (0 – 0)2 + (1 – 0)2 + (0 – 0)2 + (0 – 1)2 + (1 – 0)2
= 2
Y_ |
|X-W1||
| |X-W2||
Jarak Pada bobot ke – 2
�(0 − 0 )2 + (0 – 1 )2 + (1 – 1 )2 + (0 – 1 )2 + (0 – 1 )2 + (1 – 0 )2
= 2
Jarak terkecil adalah pada w ke-1 Target data ke-1 adalah 1
Karena target data ke-1 = w ke-1, maka w ke-1 baru adalah: Wj(baru) = Wj(lama) + α ( Xi - Wj(lama) )
Jarak terkecil adalah pada w ke-1 Target data ke-2 adalah 1
Karena target data ke-2 = w ke-1, maka w ke-1 baru adalah :
W1(baru) = (0.9025, 0, 0.0975, 0, 0.9525, 0.0475)
Data Ke-3 : (0, 1, 0, 0, 0, 1) Jarak pada bobot ke – 1
Jarak Pada bobot ke – 2 =
�( 0 − 0 )2 + ( 1 – 1 ) 2 + ( 0 – 1 ) 2 + ( 0 – 1 ) 2 + ( 0 – 1 ) 2 + ( 1 – 0 ) 2
= 2
Jarak terkecil adalah pada w ke-1 Target data ke-3 adalah 1
Karena target data ke-3 = w ke-1, maka w ke-1 baru adalah :
W1(baru) = (0.8574, 0.0500, 0.0926, 0.0000, 0.9049, 0.0951)
Data Ke-4 : (1, 0, 1, 0, 1, 1)
Jarak terkecil adalah pada w ke-1 Target data ke-4 adalah 1
Karena target data ke-4 = w ke-1, maka w ke-1 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama) )
= 0.8574+ 0.05*(0-0.8574) = 0.8645 = 0.0500+ 0.05*(0-0.0500) = 0.0475 = 0.0926 + 0.05*(1-0.0975) = 0.1380 = 0.0000+ 0.05*(0-0.0000) = 0.0000 = 0.9049 + 0.05*(1-0.9049) = 0.9096 = 0.0951 + 0.05*(0-0.0951) = 0.1404
W1(baru) = (0.8645, 0.0475, 0.1380, 0.0000, 0.9096, 0.1404)
Jarak pada bobot ke – 1
Jarak terkecil adalah pada w ke-2 Target data ke-5 adalah 2
Karena target data ke-5 = w ke-2, maka w ke-2 baru adalah :
W2(baru) = (0.0000, 0.9500, 1.0000, 1.0000, 0.9500, 0.0000)
Data Ke-6 : (0, 1, 0, 1, 0, 0)
Jarak Terkecil adalah pada w ke-2 Target data ke-6 adalah 2
Karena target data ke-6 = w ke-2, maka w ke-2 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama))
= 0.9500 + 0.05*(0-0.9500) = 0.9025 = 0.0000 + 0.05*(0-0.0000) = 0.0000
W2(baru) = (0.0000, 0.9525, 0.9500, 1.0000, 0.9025, 0.0000)
Data Ke-7 : (1, 0, 0, 1, 0, 1) Jarak pada bobot ke – 1
=√(1–0.8645)2 +(0–0.0475)2 +(1–0.1380)2 +(0–0.0000)2 +(1–0.9096)2+(1– 0.1404)2
= 1.614
Jarak Pada bobot ke – 2
= √ (1 - 0)2 + (0 – 0.9525)2 + (0 – 0.95)2 + (1 – 1)2 + (0 – 0.9025)2 + (0– 1)2 = 2.150
Jarak Terkecil adalah pada w ke-2 Target data ke-7 adalah 2
Karena target data ke-7 ≠ w ke-1, maka w ke-1 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama))
= 0.8645+ 0.05*(0-0.8645) = 0.8577 = 0.0475 + 0.05*(1-0.0475) = 0.0499 = 0.1380 + 0.05*(0-0.1380) = 0.1449 = 0.0000 + 0.05*(1-0.0000) = -0.050 = 0.9096 + 0.05*(0-0.9096) = 0.9551 = 0.1404 + 0.05*(0-0.1404) = 0.0974
W1(baru) = (0.8577, 0.0499, 0.1449, -0.050, 0.9551, 0.0974)
Data Ke-8 : (0, 1, 1, 1, 1, 1) Jarak pada bobot ke – 1
=√(1–0.8577)2 +(0–0.0499)2 +(1–0.1449)2 +(0+0.050)2 +(1–0.9551)2+(1– 0.0974)2= 2.071
Jarak Pada bobot ke – 2
= √ (0 - 0)2 + (1 – 0.9525)2 + (1 – 0.95)2 + (1 – 1)2 + (1 – 0.9025)2 + (1– 0)2= 1.002
Karena target data ke-8 ≠ w ke-2, maka w ke-2 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama))
= 0.0000 + 0.05*(0-0.0000) = 0.0000 = 0.9525 + 0.05*(1-0.9525) = 0.9549 = 0.9500 + 0.05*(0-0.9500) = 0.9525 = 1.0000 + 0.05*(1-1.0000) = 1.0000 = 0.9025 + 0.05*(0-0.9025) = 0.9074 = 0.0000 + 0.05*(0-0.0000) = 0.0500
W2(baru) = (0.0000, 0.9549, 0.9525, 1.0000, 0.9074, 0.0500)
α = α – 0.1 * α = 0.05 – 0.1 * 0.05 = 0.045
Proses ini diteruskan untuk epoch ke-2 sampai dengan epoch ke 100. Setelah mencapai epoch yang ke-100 diperoleh bobot akhir:
W1 = (0.3727 0.2161 0.6347 0.2164 0.7901 0.4254) W1 = (0.0000 0.7969 0.7900 1.0000 0.5869 0.2171)
Maka jika kita mau menstimulasikan inpit (1, 0, 0, 0, 0, 1) maka kita cari terlebih dahulu jarak input tersebut terhadap kedua bobot. Nomor dari bobot dengan jarak terpendek akan menjadi kelasnya.
Jarak pada bobot ke – 1
= √(1–0.3727)2 +(0–0.2161)2 +(1–0.6347)2 +(0-0.2164)2 +(0–0.7901)2+(1– 0.4254)2=1.3581
Jarak Pada bobot ke – 2
= √(1- 0.0000)2 +(0 – 0.7969)2 +(1 – 0.7900)2+(0 – 1.0000)2 +(0 – 0.5869)2+(1 –
0.2171)2 = 2.0534
BAB 4
HASIL DAN PEMBAHASAN
Pengujian yang dilakukan penulis dalam melakukan training dan prediksi adalah data curah hujan komulatif kota Medan selama kurun waktu 30 tahun. Proses training jaringan menggunakan algoritma Backpropagation dan Learning Vector Quantization (LVQ). Data curah hujan tersebut akan di-training menggunakan
aplikasi yang penulis bangun dengan software MS Visual Basic 6.0. Untuk mengukur kinerja jaringan syaraf yang telah dikembangkan tersebut digunakan variable epoch atau iterasi dan fungsi timer pada aplikasi yang dibangun.
Berdasarkan hasil training dan simulasi tersebut nantinya dapat diperoleh perbandingan kecepatan dan akurasi antara algoritma Backpropagation dan Learning Vector Quantization (LVQ). Pada Gambar 4.1 akan terlihat tampilan menu utama
program yang penulis bangun tersebut.
Proses awal untuk pengoperasian aplikasi yang dibangun adalah melakukan input data training berupa data curah hujan. Proses input data pelatihan dilakukan dengan menyiapkan data curah hujan selama 30 tahun yang akan dilatih. Selanjutnya pilih algoritma yang digunakan untuk melakukan training (pembelajaran) dan prediksi curah hujan yang telah dipilih.
4.1Hasil
Sebelum melakukan prediksi curah hujan, pada jaringan syaraf tiruan dilakukan training dalam pengenalan data curah hujan dengan data sebanyak 30 tahun menggunakan kedua algoritma diatas.
4.1.1 Input Parameter Jaringan
Sebelum melakukan training dan memprediksi curah hujan, maka dilakukan pemasukan data parameter jaringan. Input data parameter dapat dilihat seperti pada Gambar 4.2.
Gambar 4.2. Tampilan Input Data Parameter
Pada Gambar 4.2 di atas terdapat data-data antara lain:
Of Layer = jumlah layer
Neuron of the input Layer = jumlah neuron pada input layer Neuron of the hidden Layer = jumlah neuron pada hiden layer
Neuron of the output Layer = jumlah neuron pada output layer
Learning rate = rasio training Momentum factor = nilai momentum
Bias = nilai bias
4.1.2 Training Algoritma Backpropagation
Training dengan algoritma Backpropagation yaitu proses melatih jaringan dengan data curah hujan sebanyak 30 tahun. Training dengan algoritma Backpropagation dapat dilihat seperti pada Gambar 4.3.
Gambar 4.3 Tampilan Training Algoritma Backpropagation
Pada Gambar 4.3 di atas terlihat hasil training data curah hujan dengan waktu 21 detik dan error terbaik pada epoch 2982.
4.1.3 Prediksi Curah Hujan Dengan Algoritma Backpropagation
Gambar 4.4. Tampilan Prediksi Curah Hujan Algoritma Backpropagation
Pada Gambar 4.4 di atas terlihat hasil prediksi curah hujan untuk tahun 2010 dengan bulan April diperoleh hasil 146 mm dengan sifat normal dengan akurasi sebesar 70 %. Hasil prediksi dengan data bulan April dengan 30 tahun dihasilkan sifat curah hujan dengan batas normal= 116.82 sampai 167.93.
4.1.4 Training dengan Algoritma Learning Vector Quantization (LVQ)
Gambar 4.5 Tampilan Training Algoritma Learning Vector Quantization (LVQ)
Pada Gambar 4.5 di atas terlihat hasil training data curah hujan dengan waktu 17 detik dan error terbaik pada epoch 3321.
4.1.5 Prediksi Curah Hujan Dengan Algoritma Learning Vector Quantization
Gambar 4.6 Tampilan Prediksi Curah Hujan Algoritma Learning Vector Quantization
4.2Pembahasan
Pemilihan tahun percobaan diambil berdasarkan fenomena cuaca dan iklim sepanjang 30 tahun, yaitu El-Nino tahun 1997, La-Nina 1999 dan kondisi Normal 2010. Dengan Harapan dapat memperlihatkan ada atau tidaknya pengaruh fenomena tersebut terhadap curah hujan di Kota Medan.
4.2.1 Data Curah Hujan Tahun 1997(Fenomena El-Nino)
Percobaan Data Curah Hujan Tahun 1997 training dan prediksi curah hujan tahun 1999 dengan epoch 40, 400, 4000, 100, 1000 serta 10.000 dan nilai error 0.1, 0.01 dan 0.001 dengan menggunakan dua algoritma Backpropagation dan Learning Vector Quantization (LVQ).
1. Epoch: 40 Error: 0.1
MSE Terbaik BP: 0.1000482, Epoch Ke 40 MSE Terbaik LVQ: 0.1002246, Epoch Ke 40
Tabel 4.1 Hasil Persentase Prediksi Epoch: 40 Error: 0.1
ulan 0 1 2
P 8.7 8.7 8.7 8.7 7.27 2.72 3.86 7.38 9.26 9.66 3.33 0.81
VQ 6.01 3.34 0.9 6.01 2.34 6.23 6.58 2.26 5.01 6.48 1.34 9.2
Gambar 4.7 Grafik Persentase Hasil Prediksi Curah Hujan Tahun 1997 0
20 40 60 80 100 120
1 2 3 4 5 6 7 8 9 10 11 12
Grafik Persentase Hasil Prediksi Curah Hujan
Backpropagation
Epoch 40 Err 0.1
Tabel 4.2 Curah Hujan Epoch: 40 Error: 0.1
P 4.02 76.67 5.73 50.69 5.71 05.06 93.72 6.36 01.33 98.38 39.81 4.17
VQ 7.01 49.19 8.47 93.07 4 4.12 53.81 9.26 65.13 65.53 00.6 8.74
bs 5 79 7 54 7 27 31 7 54 49 27 33
Gambar 4.8 Grafik Perbandingan Curah Hujan Prediksi dengan Observasi Tahun 1997 Epoch 40 Err 0.1
2. Epoch: 40 Error: 0.01
MSE Terbaik BP: 0.00100164, Epoch Ke 40 MSE Terbaik LVQ: 0.0010000784, Epoch Ke 40
Tabel 4.3 Hasil Persentase Prediksi Epoch: 40 Error: 0.01
ulan 0 1 2
P 8.79 8.79 8.79 8.79 0.13 6.77 7.82 1.86 3.59 3.97 8.15 5.83
VQ 9.71 6.44 4.2 9.71 6.34 0.73 1.05 7.09 9.61 0.96 6.24 4.28 0
50 100 150 200 250 300 350
1 2 3 4 5 6 7 8 9 10 11 12 13
Grafik Perbandingan Curah Hujan
BP
LVQ
Gambar 4.9 Grafik Persentase Hasil Prediksi Curah Hujan Tahun 1997 Epoch 40 Err 0.01
Tabel 4.4 Curah Hujan Epoch: 40 Error: 0.01
ulan 0 1 2
P 4.09 76.83 5.82 50.92 2.36 7.5 79.96 3.77 86.94 84.19 22.87 7.56
VQ 2.28 36.84 1.97 77.07 1.18 7.13 41.04 6.83 51.42 51.79 83.93 2.19
bs 5 79 7 54 7 27 31 7 54 49 27 33
Gambar 4.10 Grafik Perbandingan Curah Hujan Prediksi dengan Observasi Tahun 1997 Epoch 40 Err 0.01
Grafik Persentase Hasil Prediksi Curah Hujan
Backpropagation
Grafik Perbandingan Curah Hujan
BP
LVQ
3. Epoch: 40 Error: 0.001
MSE Terbaik BP : 0.0001001778, Epoch Ke 40 MSE Terbaik LVQ : 0.00009988, Epoch Ke 40
Tabel 4.5 Hasil Persentase Prediksi Epoch: 40 Error: 0.001
ulan 0 1 2
P 7.79 8.79 8.79 9.26 9.41 6.18 7.21 1.31 3.03 3.4 7.63 5.33
VQ 9.08 5.75 3.53 9.08 5.74 0.18 0.5 6.57 9.07 0.4 5.73 3.79
Gambar 4.11 Grafik Persentase Hasil Prediksi Curah Hujan Tahun 1997 Epoch 40 Err 0.001
Tabel 4.6 Prediksi Curah Hujan Epoch: 40 Error: 0.001
ulan 0 1 2
P 79.85 5.83 52.18 2.02 6.75 78.36 3.51 85.5 85.5 82.77 21.18 6.9
VQ 1.81 35.6 1.32 75.47 0.9 6.43 39.76 6.58 50.05 50.42 82.26 1.54
eal 5 79 7 54 7 27 31 7 54 49 27 33
0 20 40 60 80 100 120
1 2 3 4 5 6 7 8 9 10 11 12
Grafik Persentase Hasil Prediksi Curah Hujan
Backpropagation
Gambar 4.12 Grafik Perbandingan Curah Hujan Prediksi dengan Observasi Tahun 1997 Epoch 40 Err 0.001
Untuk Percobaan selanjutnya dapat dilihat pada lampiran B.
4.2.2 Data Curah Hujan Tahun 1999 (Fenomena La-Nina)
Percobaan Data Curah Hujan Tahun 1999 training dan prediksi curah hujan tahun 1999 dengan epoch 40, 400, 4000, 100, 1000 serta 10.000 dan nilai error 0.1, 0.01 dan 0.001 dengan menggunakan dua algoritma Backpropagation dan Learning Vector Quantization (LVQ). Tabel pada Lampiran B.
4.2.3 Data Curah Hujan Tahun 2010 (Normal)
Percobaan Data Curah Hujan Tahun 2010 training dan prediksi curah hujan tahun 1999 dengan epoch 40, 400, 4000, 100, 1000 serta 10.000 dan nilai error 0.1, 0.01 dan 0.001 dengan menggunakan dua algoritma Backpropagation dan Learning Vector Quantization (LVQ). Tabel dan Grafik pada Lampiran B.
Dari hasil percobaan diperoleh bahwa algoritma Backpropagation memiliki tingkat akurasi lebih baik dari pada LVQ. Hal ini dapat dilihat dari grafik percobaan di semua tahun percobaan. Tahun 1997, Algoritma Bacpropagation memiliki tingkat keakuratan terbaik di epoch 1000, 4000 dan 10.000 pada error 0.001 di bulan April dengan presentase 99.26 %. Sedangkan algoritma LVQ memiliki tingkat keakuratan di semua epoch percobaan pada error 0.1 di bulan Maret dengan persentase 80.9 %.
0
Grafik Persentase Hasil Prediksi Curah Hujan Tahun
1997
ERR 0.001BP
LVQ
Tahun 1999, Algoritma Bacpropagation memiliki tingkat keakuratan terbaik di semua epoch pada error 0.001 di bulan April dengan presentase 99.25 %. Sedangkan algoritma LVQ memiliki tingkat keakuratan di semua epoch percobaan pada error 0.1 di bulan Maret dengan persentase 80.89 %.Secara keseluruhan, algoritma Backpropagation memiliki tingkat keakuratan lebih tinggi dibanding LVQ.
Tahun 2010, Algoritma Bacpropagation memiliki tingkat keakuratan terbaik di epoch 40, MSE 0.01001645 pada error 0.01 di bulan Pebruari dengan presentase 99.9 %. Sedangkan algoritma LVQ memiliki tingkat keakuratan di epoch 40, MSE 0.1002246 pada error 0.1 di bulan Pebruari dengan persentase 83.28 %. Secara keseluruhan, algoritma Backpropagation memiliki tingkat keakuratan lebih tinggi dibanding LVQ.
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil percobaan jaringan dengan 3 layer untuk algoritma Back Propagation dan 2 layer untuk LVQ dilakukan input neuron input berupa bulan dan
volume curah hujan, maka dapat dibuat kesimpulan adalah sebagai berikut:
1. Algoritma Back Propagation lebih dekat dalam melakukan prediksi data curah hujan 30 tahun terakhir dibandingkan dengan LVQ.
2. Algoritma backpropagation dan LVQ memiliki tingkat akurasi lebih baik pada musim kemarau, dengan tingkat akurasi untuk algoritma Backpropagation antara 75 – 99 % dan algoritma LVQ sebesar 60 – 82 %.
3. Untuk kedua algoritma diatas, pengaruh fenomena El-Nino dan La-Nina tidak begitu signifikan.
5.2. Saran
Adapun saran-saran untuk penelitian ini adalah:
1. Perlu dilakukan pengujian lebih lanjut dengan menggunakan beberapa parameter cuaca seperti angin, temperature, indeks SOI dan lain lain