Kecerdasan
Buatan
Jaringan Syaraf Tiruan
pada Matlab
Prediksi Curah Hujan
Menggunakan Algoritma Backpropagation
Disusun
oleh
:
1.
Ahmad
Faidul Basyar (2014-53-018)
2.
Nailul
Lutfah (2014-53-057)
3.
Lia Chamidah (2014-53-063)
4.
Eny Kusrini (2016-53-122)
Kelas :
B
Progam
Studi : Sistem Informasi
FAKULTAS TEKNIK
UNIVERSITAS MURIA KUDUS
2014
1. BAB I PENDAJULUAN (Heading 1)
Paragraf pada bab (P H1)
1.1.
Latar Belakang (Heading 2)
Paragraf latar belakang (P H2)
Gambar 1.1 : percobaan. (Gambar)
1.1.1.
Coba (Heading 3)
Paragraf coba (P H3)
NB : Kalimat
XXXX (Style)
2. BAB II LANDASAB TEORI
2.1.
Pengertian
2.2.
Pengertian
2.3.
Dst
3. BAB III ANALISA ALGORITMA
Pada contoh ini digunakan data rata-rata curah hujan
tiap bulan di kota Semarang pada tahun 2005 s.d 2007. Pada algoritma jaringan
syaraf tiruan propagasi balik ini digunakan fungsi aktivasi sigmoid biner di
mana fungsi ini bernilai antara 0 s.d 1. Namun fungsi sigmoid biner tersebut
sejatinya tidak pernah mencapai angka 0 maupun 1. Oleh sebab itu, data curah
hujan perlu dinormalisasi terlebih dahulu salah satu contohnya ke dalam range
0,1 s.d 0,9 menggunakan persamaan berikut ini:
di mana:
= data hasil
normalisasi
= data asli/data awal
= nilai maksimum data asli
= nilai minimum data asli
Data curah hujan asli dan setelah dinormalisasi
tampak pada gambar di bawah ini:
Gambar 3.1 : SS Data curah hujan.
4. BAB IV IMPLEMENTASI
Implementasi dilakukan dengan menggunakan
software Matlab 7.10.0 (R2010a).
Gambar 4.1 : Matlab R2010a.
Langkah – langkah Implementasi :
1.
Buka Matlab. Pilih “File” à “New” à “Function”, tuliskan kode dibawah ini
lalu simpan dengan nama “pelatihan”.
Gambar 4.2 : SS Source Code pelatihan.
clc;clear;close
all;warning off;
%
Proses membaca data latih dari excel
filename
= 'Book1.xlsx';
sheet =
2;
xlRange =
'D6:P17';
Data =
xlsread(filename, sheet, xlRange);
data_latih
= Data(:,1:12)';
target_latih
= Data(:,13)';
[m,n] =
size(data_latih);
%
Pembuatan JST
net =
newff(minmax(data_latih),[10 1],{'logsig','purelin'},'traingdx');
%
Memberikan nilai untuk mempengaruhi proses pelatihan
net.performFcn
= 'mse';
net.trainParam.goal
= 0.001;
net.trainParam.show
= 20;
net.trainParam.epochs
= 1000;
net.trainParam.mc
= 0.95;
net.trainParam.lr
= 0.1;
%
Proses training
[net_keluaran,tr,Y,E]
= train(net,data_latih,target_latih);
%
Hasil setelah pelatihan
bobot_hidden
= net_keluaran.IW{1,1};
bobot_keluaran
= net_keluaran.LW{2,1};
bias_hidden
= net_keluaran.b{1,1};
bias_keluaran
= net_keluaran.b{2,1};
jumlah_iterasi
= tr.num_epochs;
nilai_keluaran
= Y;
nilai_error
= E;
error_MSE
= (1/n)*sum(nilai_error.^2);
save net.mat net_keluaran
%
Hasil prediksi
hasil_latih
= sim(net_keluaran,data_latih);
max_data
= 2590;
min_data
= 0;
hasil_latih
= ((hasil_latih-0.1)*(max_data-min_data)/0.8)+min_data;
%
Performansi hasil prediksi
filename
= 'Book1.xlsx';
sheet =
1;
xlRange =
'E7:P7';
target_latih_asli
= xlsread(filename, sheet, xlRange);
figure,
plotregression(target_latih_asli,hasil_latih,'Regression')
figure,
plotperform(tr)
figure,
plot(hasil_latih,'bo-')
hold on
plot(target_latih_asli,'ro-')
hold off
grid on
title(strcat(['Grafik Keluaran JST vs Target dengan nilai MSE = ',...
num2str(error_MSE)]))
xlabel('Pola ke-')
ylabel('Curah Hujan')
legend('Keluaran JST','Target','Location','Best')
2.
Pilih “File” à “New” à “Function”, tuliskan kode dibawah ini
lalu simpan dengan nama “pengujian”.
Gambar 4.3 : SS Source Code pengujian.
clc;clear;close
all;
%
load jaringan yang sudah dibuat pada proses pelatihan
load net.mat
%
Proses membaca data uji dari excel
filename
= 'Book1.xlsx';
sheet =
2;
xlRange =
'D24:P35';
Data =
xlsread(filename, sheet, xlRange);
data_uji
= Data(:,1:12)';
target_uji
= Data(:,13)';
[m,n] =
size(data_uji);
%
Hasil prediksi
hasil_uji
= sim(net_keluaran,data_uji);
nilai_error
= hasil_uji-target_uji;
max_data
= 2590;
min_data
= 0;
hasil_uji
= ((hasil_uji-0.1)*(max_data-min_data)/0.8)+min_data;
%
Performansi hasil prediksi
error_MSE
= (1/n)*sum(nilai_error.^2);
filename
= 'Book1.xlsx';
sheet =
1;
xlRange =
'E8:P8';
target_uji_asli
= xlsread(filename, sheet, xlRange);
figure,
plotregression(target_uji_asli,hasil_uji,'Regression')
figure,
plot(hasil_uji,'bo-')
hold on
plot(target_uji_asli,'ro-')
hold off
grid on
title(strcat(['Grafik Keluaran JST vs Target dengan nilai MSE = ',...
num2str(error_MSE)]))
xlabel('Pola ke-')
ylabel('Curah Hujan')
legend('Keluaran JST','Target','Location','Best')
3.
Berikut Screenshot Hasil
Pelatihan.
Gambar 4.4 : Proses Training.
Gambar 4.5 : Regression hasil pelatihan.
Gambar 4.6 : Performance hasil pelatihan.
Gambar 4.7 : Keluaran JST vs Target hasil
pelatihan.
4.
Berikut Screenshot Hasil
Pengujian.
Gambar 4.8 : Regression hasil pengujian.
Gambar 4.9 : Keluaran JST vs Target hasil
pengujian.
5. BAB V PENUTUP
5.1.
Kesimpulan
5.2.
Saran
6. DAFTAR PUSTAKA
https://pemrogramanmatlab.wordpress.com/2016/07/08/jaringan-syaraf-tiruan-untuk-prediksi-menggunakan-matlab/#more-2773
Tidak ada komentar:
Posting Komentar