Kecerdasan Buatan Jaringan Syaraf Tiruan pada Matlab Prediksi Curah Hujan Menggunakan Algoritma Backpropagation Disusun oleh : Ahmad Faidul Basyar (2014-53-018) Nailul Lutfah (2014-53-057) Lia Chamidah (2014-53-063) Eny Kusrini (2016-53-122) Kelas : B Progam Studi : Sistem Informasi FAKULTAS TEKNIK UNIVERSITAS MURIA KUDUS 2014 BAB I PENDAJULUAN (Heading 1) Paragraf pada bab (P H1) Latar Belakang (Heading 2) Paragraf latar belakang (P H2) Gambar 1.1 : percobaan. (Gambar) Coba (Heading 3) Paragraf coba (P H3) NB : Kalimat XXXX (Style) BAB II LANDASAB TEORI Pengertian Pengertian Dst 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: X^'=(0,8 (X-b))/((a-b))+0,1 di mana: X^'= data hasil normalisasi X = data asli/data awal a = nilai maksimum data asli b = nilai minimum data asli Data curah hujan asli dan setelah dinormalisasi tampak pada gambar di bawah ini: Gambar 3.1 : SS Data curah hujan. BAB IV IMPLEMENTASI Implementasi dilakukan dengan menggunakan software Matlab 7.10.0 (R2010a). Gambar 4.1 : Matlab R2010a. Langkah – langkah Implementasi : 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') 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') 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. Berikut Screenshot Hasil Pengujian. Gambar 4.8 : Regression hasil pengujian. Gambar 4.9 : Keluaran JST vs Target hasil pengujian. BAB V PENUTUP Kesimpulan Saran DAFTAR PUSTAKA https://pemrogramanmatlab.wordpress.com/2016/07/08/jaringan-syaraf-tiruan-untuk-prediksi-menggunakan-matlab/#more-2773
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)
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:
4. BAB IV IMPLEMENTASI
Implementasi dilakukan dengan menggunakan
software Matlab 7.10.0 (R2010a).
Langkah – langkah Implementasi :
1.
Buka Matlab. Pilih “File” à “New” à “Function”, tuliskan kode dibawah ini
lalu simpan dengan nama “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”.
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.
4.
Berikut Screenshot 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
By :
Faid
at
Rabu, November 30, 2016
Tags :
Kecerdasan Buatan
Mungkin Kamu Suka
8/grid/Kecerdasan Buatan/1-1/640
Tidak ada komentar:
Posting Komentar