• Tidak ada hasil yang ditemukan

BAB V KESIMPULAN DAN SARAN

5.2 Saran

1. Penelitian ini sebaiknya dilakukan di tiap-tiap kabupaten kota untuk sebagai masukan dalam mengambil keputusan dalam mengantisipasi cuaca ekstrim.

2. Sebaiknya dilakukan validasi dan verifikasi hasil prediksi untuk mengetahui tingkat keakuratan model tersebut.

3. Menggunakan data-data yang lebih rapat agar dapat mengcakup wilayah yang lebih spesifik.

DAFTAR PUSTAKA

Arif H., 2006. Jaringan Syaraf Tiruan Teori dan Aplikasi. Penerbit Andi. Yogyakarta.

Bambang D.P., Budi, et.al., 1999. Teknik Jaringan Syaraf Tiruan Feedforward Untuk Prediksi Harga Saham pada Pasar Modal Indonesia. Jurnal

Informatika, Vol.1 No.1 Mei 1999, hal. 33-37. Program Pascasarjana

Peran Teknik Kendali, Institut Teknologi Bandung. .

Diyah P., 2006. Pengantar Jaringan Syaraf Tiruan. Penerbit Andi. Yogyakarta. Fausett, L., 1994. Fundamental of Neural Networks. Prentice Hall. New Jersey. Haykin, S. 1999. Neural Network, a Comprehensive Foundation. Prentice Hall.

New Jersey.

Marimin, 2005. Teori dan Aplikasi Sistem Pakar dalam Teknologi Manajerial. Ed.2. IPB Press. Bogor.

Mc Menamin, J.S., dan F. A. Monforte., 1998. Short Term EnergyForecasting

with Neural Network. The Energy Journal. vol 19 no.4. ABI/INFORM Research, New York.

Nur Iriawan,Ph.D, 2006. Mengolah data Statistik dengan Mudah Menggunakan Minitab 14. Penerbit ANDI, Yogyakarta.

Panjaitan, Lanny W., 2007. Dasar-dasar Komputasi Cerdas. Penerbit Andi. Yogyakarta.

Pratama, T. Iwan B.,1999. Metode Peramalan Memakai Jaringan Saraf Buatan dengan Cara Backpropagation, Jurnal Teknologi Industri, Vol. III. No.2, hal 109-116.

Resmana, Dwi Wiyanto, 1997. Prediksi Nilai Tukar Valuta Asing: Sebuah Studi

KasusPenggunaan Jaringan Syaraf Tiruan Untuk Peramalan, Edisi

Pertama. Surabaya:Lembaga Penelitian dan Pengabdian Kepada Masyarakat Universitas Kristen Petra.

Rumelhart, D.E, G.E. Hinton dan J.L. Mc Cleland. Parallel Distributed Processing. The MIT Press, 1988.

Salya, D. H., 2006. Rekayasa Model Sistem Deteksi Dini Perniagaan Minyak Goreng Kelapa Sawit. Disertasi. Sekolah Pascasarjana,IPB – Bogor.

Siang, J, J., 2005. Jaringan Syaraf Tiruan dan Pemogramannya Menggunakan Matlab. Penerbit Andi. Yogyakata.

Suyanto., 2008. Soft Computing Membangun Mesin Ber-IQ Tinggi. Penerbit Informatika. Bnadung.

Timothy, Signal and Image Processing with Neural Networks, John Wiley and Sons, Inc., New York, 1994.

Tommy W S and Siu Yeung C., 2007. Neural Network and Computing. Series In Elecrtrical and Computer Engineering Vol 7. Imperial College Press. London.

Tursilawat. L, Hermawan. E, Risdiyanto. I, Indeks Kenyamanan di Bandung dari Data Satelit Lansat dengan Tekhnik GIS dan Model Neraca Energi. Jurnal Teknik Lingkungan Edisi Khusus, Agustus 2006.

Zhang, W., Q. Cao, dan M.J. Schniederjans. 2004. Neural Network Earning Per Share Forecasting Models: A Comparative Analysis of Alternative Methods. Decision Sciences Vol 35 No. 2.ABI/INFORM Research, New York.

(…………..2010a). Angin. http://id.wikipedia.org/wiki/Angin

Diiakses tanggal 2 April 2010 Jam 1.40 PM (…………..2010b). Angin. 

http://www.e-dukasi.net/pengpop/pp_full.php?ppid=276&fname=materi2.html Diiakses tanggal 2 April 2010 Jam 10.38 AM.

(…………..2010c). Hujan. http://id.wikipedia.org/wiki/Hujan

Lampiran K

Analisis Prediksi Suhu Udara Maksimum Polonia                                

Lampiran L

Analisis Prediksi Curah Hujan Maksimum Polonia                                   

Lampiran M

Analisis Prediksi Kecepatan Angin Maksimum Polonia

                               

Lampiran O

Analisis Prediksi Suhu Udara Maksimum Belawan                                       

Lampiran P

Analisis Prediksi Curah Hujan Maksimum Belawan                                  

Lampiran Q

Analisis Prediksi Kecepatan Angin Maksimum Belawan           

Lampiran R

(a) Grafik Trend Prediksi JST untuk Suhu Udara Maksimum di Polonia Tahun 2010-2014 

 

   

(b) Grafik Trend Prediksi JST untuk Curah Hujan Maksimum di Polonia Tahun 2010-2014 

 

   

 

(c) Grafik Trend Prediksi JST untuk Kecepatan Angin Maksimum di Polonia Tahun 2010-2014           

(d) Grafik Trend Prediksi JST untuk Suhu Udara Maksimum di Belawan Tahun 2010-2014           

(e) Grafik Trend Prediksi JST untuk Curah Hujan Maksimum di Polonia Tahun 2010-2014 

 

   

(f) Grafik Trend Prediksi JST untuk Kecepatan Angin Maksimum di Polonia Tahun 2010-2014 

 

   

LAMPIRAN S

Aplikasi Jaringan Syaraf Tiruan

% backprop adalah pembelajaran per-epoch backpropagation untuk feedforward

% layar ganda neural network

% Network = bbackprop(Layers,N,M,SatisfactoryMSE,Input,Desired) % mengembalikan nilai Network, struktur yang memiliki a

structure having the fields:

% structure - vektor jumlah node pada masing-masing lapisan % weights - cell array, bernilai matriks bobot final yang dihitung

% epochs - epochs yang diperlukan untuk pembelajaran % mse - (mean squared error) pada saat program berhenti % weights (bobot) adalah cell array yang memberikan matriks bobot akhir dihiting dengan

% minimalisasi mse(mean squared error) antara output yang diinginkan dan

% actual output yang sebenarnya dari jaringan, dengan diketahui data

% sample pembelajaran : Input dan

% the SatisfactoryMSE (satisfactory mean squared error) %

% Input:

% Layers - suatu vektor dari bilangan bulat, yang bernilai jumlah node

% pd tiap2 lapisan, misalnya untuk semua i, Layers(i) = jumlah node pada

% lapisan i, sehingga harus ada paling sedikit tiga lapisan, dan lapisan

% input Layers(1) harus memiliki dimensi yang sama dg dimensi masing2

% vektor input, begitu pula Layer(end) harus sama dengan dimensi dengan

% setiap vektor output Desired.

% N - laju pembelajaran untuk jaringan pembelajaran [0.1 - 0.9]

% M - momentum untuk aturan update bobot [0.0 - 0.9]

% SatisfactoryMSE - nilai mse pada saat pembelajaran berakhir % Input - sample pembelajaran, matriks PxN, dimana tiap

% Input[p] adalah suatu vektor pembelajaran

% Desired - input yang didinginkan, matriks PxM dimana tiap Desired[p]

% adalah output yang diinginkan untuk Input[p] yang bersesuaian

%

% Algoritma ini menggunakan fungsi node hyperbolic tangent (sigmoid bipolar)

% 2/(1+e^(-net)) - 1, cocok untuk data bipolar dari -1 s/d 1 %

%

% Original Author: Dale Patterson % $Version: 3.1.2 $ $Date: 2.25.06 $ % Modifikasi : Yeni Megalina

function Network = bbackprop(L,n,m,smse,X,D)

%%%%% FASE VERIFIKASI %%%%%

% tentukan jumlah sample input , output yang diinginkan dan dimensi masing-masing

[P,N] = size(X); [Pd,M] = size(D);

%E=1;

% memastikan tiap-tiap vektor input harus memiliki output yang diinginkan

if P ~= Pd

error('backprop:invalidTrainingAndDesired', ...

'The number of input vectors and desired ouput do not

match');

end

% pastikan paling sedikit memiliki tiga lapisan dan pastikan input dan output ini

% dimensi masing-masingnya sama

if length(L) < 3

error('backprop:invalidNetworkStructure','The network must

have at least 3 layers');

else

if N ~= L(1) || M ~= L(end)

e = sprintf('Dimensions of input (%d) does not match input

layer (%d)',N,L(1));

error('backprop:invalidLayerSize', e);

elseif M ~= L(end)

e = sprintf('Dimensions of output (%d) does not match

output layer (%d)',M,L(end));

error('backprop:invalidLayerSize', e);

end

end

%%%%% FASE INITIALISASI %%%%%

nLayers = length(L); % we'll use the number of layers often

% acak matriks bobot secara seragam yang memiliki nilai antara [-1 1], ada

% satu bobot matrik antara tiap lapisan node

% tiap lapisan ini (eksklusif lapisan output) memiliki node bias yang memiliki aktivasinya selalu bernilai 1

% , itu adalah fungsi node C(net) = 1. selanjutnya , ada link dari % tiap-tiap node pada lapisan i ke node bias pada lapisan j (kolom terakhir

% pada tiap-tiap matriks) karena paling murah secara komputasi. bobot dari

% semua link ke node bias, semuanya tidak relevan dan didefinisikan sebagai

% 0.

w = cell(nLayers-1,1); % matriks bobot antara lapisan

for i=1:nLayers-2

w{i} = [1 - 2.*rand(L(i+1),L(i)+1) ; zeros(1,L(i)+1)];

end

% initialisasi untuk pemberhentian looping

mse = Inf; % assuming the intial weight matrices are bad

epochs = 0;

%%%%% FASE PREALLOCATION %%%%%

% untuk proses lebih cepat pra-alokasikan activation,net,prev_w dan sum_w

% Aktivasi: ada aktivasi matriks a{i} untuk tiap layer dalam jaringan

% sedemikian rupa sehingga a{1} = jaringan input dan a{end} = jaringan

% output. karena kita menggunakan batch mode, tiap aktivasi matriks a{1}

% adalah matriks P-by-K (P=jumlah samples,K=nodes pada lapisan i) sedemikian

% a{i}(j) melambangakan vektor aktivasi lapisan i untuk input ke j dan

% a{i}(j,k) melambangkan aktivasi output ke kt node pada lapisan i untuk input ke j

% input

a = cell(nLayers,1); % aktivasi matriks untuk tiap lapisan

a{1} = [X ones(P,1)]; % a{1} input + '1' untuk aktivasi bias node

% a{1} bernilai tetap selama komputasi

for i=2:nLayers-1

a{i} = ones(P,L(i)+1); % lapisan dalam termasuk node bias

(PxNodes+1)

end

a{end} = ones(P,L(end)); % tidak ada bias pada lapisan output

% Net: seperti aktivasi , ada matriks net net{i} untuk tiap lapisan

% eksklusif input sedemikian sehingga net{i} = sum(w(i,j) * a(j)) untu j = i-1

% dan tiap net matriks net{i} adalah matriks P x K sedemikian rupa sehinga net{i}(j) melambangkan

% vektor net pada lapisan i untuk sample ke jth dan net{i}(j,k) % melambangkan input net pada node k dari lapisan i untuk sample j

net = cell(nLayers-1,1); % net matrix untuk tiap lapisan exclusive

input

for i=1:nLayers-2;

net{i} = ones(P,L(i+1)+1); % affix bias node

end

net{end} = ones(P,L(end));

% karena kita menggunakan batch mode dan momentum, dua matriks tambahan diperlukan

% yaitu: prev_dw adalah bobot delta matriks pada waktu (t-1) dan sum_dw

% adalah jumlah bobot delta untuk tiap tampilan dari input % notasi disini sama dengan net dan aktivasi, yaitu prev_dw{i} % adalah P-by-K matrix dimana prev_dw{i} adalah delta weight matrix untuk semua sample

% pada waktu (t-1) dan sum_dw{i} adalah matriks PxK dimana sum_dw{i} adalah

% jumlah matriks bobot pada lapis i untuk semua sample

prev_dw = cell(nLayers-1,1); sum_dw = cell(nLayers-1,1);

for i=1:nLayers-1

prev_dw{i} = zeros(size(w{i})); % prev_dw mulai pada 0

sum_dw{i} = zeros(size(w{i}));

end

% iterasi akan terus berputar sampai batas akhir (epochs) terlampaui atau eror mse dicapai pada

% algoritma ini kita set nilai epoch pada 30000 epochs, nilai ini bisa

% diubah jika diperlukan

while mse > smse && epochs < 15000

% FASE FEEDFORWARD: hitung input/output tiap-tiap lapisan

untuk semua

% sample

for i=1:nLayers-1

net{i} = a{i} * w{i}'; % hitung input-input pada lapisan

terkini

% hitung aktivasi(output lapisan terkini, untuk semua

lapisan

% terkecuali output, node terakhir adalah node bisa dan

% aktivasinya selalu 1

if i < nLayers-1 % lapisan-lapisan dalam

a{i+1} = [2./(1+exp(-net{i}(:,1:end-1)))-1 ones(P,1)];

else % lapisan output

a{i+1} = 2 ./ (1 + exp(-net{i})) - 1;

end

end

% hitung error kuadrat untuk semua samples

err = (D-a{end}); % simpan nilai ini untuk digunakan

kemudian

sse = sum(sum(err.^2)); % jumlah error untuk semua samples,

dan semua nodes

% save result output

% FASE BACKPROPAGATION: hitung modifikasi error pada lapisan

output

% S'(Output) * (D-Output) dalam kasus ini S'(Output) =

(1+Output)*(1-Output)

% kemudian mulai pada lapisan output, hitung jumlah matriks

bobot untuk semua samples

% :LajuPembelajaran * ModifikasiError * Aktivasi

% kemudian laju mundurkan kesalahan/error sedemikian rupa

sehingga

% modifikasi kesalahan untuk lapisan ini adalah

% : S'(Aktivasi) * ModifikasiError * bobot matriks

delta = err .* (1 + a{end}) .* (1 - a{end});

sum_dw{i} = n * delta' * a{i};

if i > 1

delta = (1+a{i}) .* (1-a{i}) .* (delta*w{i});

end

end

% update prev_w, matriks bobot, hitungan epoch dan mse

for i=1:nLayers-1

% kita memiliki jumlah bobot delta, dibagi dengan jumlah

samples dan

% tambahkan bobot momentum * delta pada (t-1)

% terakhir, update bobot matriks

prev_dw{i} = (sum_dw{i} ./ P) + (m * prev_dw{i}); w{i} = w{i} + prev_dw{i};

end

epochs = epochs + 1;

mse = sse/(P*M); % mse = 1/P * 1/M * summed squared error

if epochs==1 E=[mse]; else E=[E mse]; end end O=a{end};

% return the trained network

Network.structure = L; Network.weights = w; Network.epochs = epochs; Network.mse = mse; Network.output = O; Network.error= E;

Lampiran T Proses Pembelajaran JST input_matriks; target; Layers=[24 14 12]; N=0.2; M=0.5; SatisfactoryMSE=0.001; Network = bbackprop(Layers,N,M,SatisfactoryMSE,Input,Desired);    

Dokumen terkait