Professional Documents
Culture Documents
NASKAH PUBLIKASI
diajukan oleh
Inggit Prahesti
09.11.2879
kepada
JURUSAN TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFROMATIKA DAN KOMPUTER
AMIKOM YOGYAKARTA
YOGYAKARTA
2013
ABSTRACT
Neural network is one of the artificial representation of the human brain is always
trying to simulate the learning process in the human brain. The term is used here
because the artificial neural network was implemented using a computer program that is
able to solve a number of the calculation during the learning process.
The rapid growth in technology and science has created the conditions for datarich but minimal information. Neural network is mining or the discovery of new information
by adopting the workings of biological neurons that focus on the workings of the brain
nerves. By searching a particular pattern or rules of a number of large amounts of data,
Backpropagation algorithm is expected to overcome the difficulties in predicting
precipitation, especially in the area of Yogyakarta.
There are many methods have been developed to achieve optimal results from a
prediction / forecasting. Which will be reviewed in this paper is the use of artificial neural
network Backpropagation algorithm to obtain the prediction results are expected to
provide a level of accuracy that comes closest to error.
Keywords: Neural Networks, rainfall, backpropagation
1. Pendahuluan
Di Indonesia meteorologi diasuh dalam Badan Meteorologi Klimatologi dan
Geofisika atau yang biasa disebut BMKG. Direktorat BMKG tersebut bertugas
mengadakan penelitian dan pelayanan meteorologi klimatologi dan geofisika yang salah
satu bidangnya adalah iklim. Iklim merupakan kebiasaan alam yang digerakkan oleh
gabungan beberapa unsur yaitu radiasi matahari, temperatur, kelembaban, curah hujan,
suhu udara, tekanan udara dan angin. Unsur-unsur itu berbeda pada tempat yang satu
dengan tempat yang lainnya. Perbedaan itu disebabkan karena ketinggian tempat, garis
lintang, daerah tekanan, arus laut, dan permukaan tanah.
Perbedaan tersebut berpengaruh dengan hubungan timbal balik, dan pengaruh
timbal balik faktor tersebut akan menentukan pola yang diperlihatkan oleh unsur. Tetapi
sebaliknya, unsur-unsur tersebut pada suatu batas tertentu akan mempengaruhi faktor
juga, sehingga keadaan cenderung untuk melanjutkan proses timbal balik tadi. Batas
pola yang ditentukan itu umumnya stabil. Namun terjadinya penyimpangan tidak dapat
dihindari
pada
proses
tersebut.
Penyimpangan
yang
dimaksud
sesungguhnya
merupakan pengecualian yang harus diperhatikan. Sebagai contoh curah hujan yang
terus menerus selama beberapa hari serta demikian lebat.
Penyimpangan tersebut dapat menimbulkan bencana, baik bagi manusia, ternak,
tumbuh-tumbuhan, seperti halnya banjir, badai atau angin topan, kekeringan, dan lain
sebagainya. Iklim beserta unsurnya penting untuk diperhatikan dan dipelajari dengan
sebaik-baiknya, karena pengaruhnya sering menimbulkan masalah bagi manusia serta
makhluk hidup lainnya. Masalah tersebut merupakan tantangan bagi manusia karena
harus berusaha untuk mengatasinya dengan menghindari atau memperkecil pengaruh
yang tidak menguntungkan kehidupan manusia.
2. Landasan Teori
2.1 Pengertian Curah Hujan
Curah hujan yang terukur didefinisikan sebagai suatu ketinggian air hujan yang
terkumpul dalam tempat yang datar, sebelum menguap, tidak meresap, dan mengalir.
Curah hujan diukur dalam satuan tinggi (mm), atau sebagai volume air hujan persatuan
luas. Dengan asumsi bahwa sebaran hujan yang terjadi merata, tinggi air hujan yang
tertampung pada luasan yang kecil (alat penakar hujan) akan sama dengan tinggi air
pada daerah yang luas (wilayah yang terwakili oleh penakar hujan). Curah hujan dapat
dihitung dari volume air yang tertampung pada penakar hujan dibagi luas mulut penakar
hujan.
2.3 Backpropagation
Penemuan Backpropagation yang terdiri dari beberapa layar membuka kembali
cakrawala. Terlebih setelah berhasil ditemukannya berbagai aplikasi yang dapat
diselesaikan dengan Backpropagation, membuat Jaringan Syaraf Tiruan semakin
diminati orang. Seperti halnya model JST lain, Backpropagation melatih jaringan untuk
mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang
digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang
benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai
selama pelatihan.
2.3.1
Pelatihan Backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pola
masukan dihitung maju mulai dari layar masukan hingga layar keluaran menggunakan
fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran
jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan
tersebut dipropagasikan mundur, dimtrlai dari garis yang berhubungan langsung dengan
unit-unit di layar keluaran. Fase ketiga adalah modifikasi bobot untuk menurunukan
kesalahan yang terjadi.
tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit
lapis tersembunyi (= zj) tersebut selanjutnya dipropagasikan maju lagi ke lapis
tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian
1
Kusumadewi, Sri. Membangun Jaringan Syaraf Tiruan Menggunakan MATLAB dan Excel Link. Yogyakarta:
(Graha Ilmu,2004),49.
2
Jong, Jek Siang. Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan MATLAB. (Yogyakarta:
dengan
yk. k
juga
dipakai
untuk
mengubah
menghubungkan langsung dengan unit keluaran. Dengan cara yang sama, dihitung j
di setiap unit di lapis tersembunyi sebagai dasar perubahan bobot semua garis yang
berasal dari unit tersembunyi di lapis di bawahnya. Demikian seterusnya hingga faktor
di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung.
Fase III : Perubahan bobot
Setelah semua faktor dihitung, bobot semua garis dimodifikasi bersamaan.
Perubahan bobot suatu garis didasarkan atas faktor neuron di lapis atasnya.
Sebagai contoh, perubahan bobot garis yang menuju ke lapis keluaran didasarkan
atas dasar k yang ada di unit keluaran. Ketiga fase tersebut diulang-ulang terus
hingga kondisi penghentian dipenuhi. Umumnya kondisi penghentian yang sering
dipakai adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah
iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan,
atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.
2.3.2
galat
pada
minimum
global
atau
lokal.
Perubahan
bobot
antara kedua
unit
tergantung pada kedua turunan fungsi aktivasi unit di atas dan unit dibawahnya.
Sangatlah penting untuk menghindari pemilihan bobot awal yang akan membuat
fungsi aktivasi atau turunannya menjadi nol. Jika bobot awal terlalu besar, masukan
awal ke tiap unit tersembunyi atau keluaran akan berada pada daerah di mana
turunan fungsi sigmoid memiliki nilai sangat kecil (disebut daerah jenuh). Sebaliknya jika
bobot terlalu kecil sinyal
mendekati
masukan
pada
unit
tersembunyi
atau
keluaran akan
umum adalah menginisialisasi bobot dengan nilai acak antara -0,5 dan 0,5 (atau -1
dan 1) atau pada rentang nilai yang lain yang sesuai. Nilai bisa positif atau negatif,
karena bobot pada akhir pelatihan juga memiliki
b.
kedua
tanda tersebut.
jaringan dapat dilatih dengan sempurna. Jumlah pola yang dibutuhkan dipengaruhi oleh
banyaknya bobot dalam jaringan serta tingkat akurasi yang diharapkan.
d.
pelatihan. Begitu pula terhadap efektivitas dan kecepatan mencapai konvergensi dari
pelatihan.
Nilai
optimum
dari learning
rate
tergantung permasalahan
yang
rate
yang
cukup
kecil
menjamin
Momentum
Disamping koefisien laju pembelajaran, ada koefisien lain yang bertujuan
penambahan
momentum,
bobot baru pada waktu ke-t+1 didasarkan atas bobot pada waktu t dan t-1.
2.4 MATLAB
Pembentukan Algorithm
Akusisi Data
MATLAB merupakan suatu sistem interaktif yang memiliki elemen data dalam
suatu array sehingga tidak lagi kita dipusingkan dengan masalah dimensi. Hal ini
memungkinkan kita untuk memecahkan banyak masalah teknis yang terkait dengan
komputasi, kususnya yang berhubungan dengan matrix dan formulasi vektor, yang mana
masalah tersebut merupakan persoalan apabila kita harus menyelesaikannya dengan
menggunakan bahasa level rendah seperti Pascall, C dan Basic.
Nama MATLAB merupakan singkatan dari matrix laboratory. MATLAB pada
awalnya ditulis untuk memudahkan akses perangkat lunak matrik yang telah dibentuk
oleh LINPACK dan EISPACK. Saat ini perangkat MATLAB telah menggabung dengan
LAPACK dan BLAS library, yang merupakan satu kesatuan dari sebuah seni tersendiri
dalam perangkat lunak untuk komputasi matrix.
Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat standar
untuk memperkenalkan dan mengembangkan penyajian materi matematika, rekayasa
dan kelimuan. Di industri, MATLAB merupakan perangkat pilihan untuk penelitian dengan
produktifitas yang tingi, pengembangan dan analisanya.
Fitur-fitur MATLAB sudah banyak dikembangkan, dan lebih kita kenal dengan
nama toolbox. Sangat penting bagi seorang pengguna Matlab, toolbox mana yang
mandukung untuk learn dan apply technologi yang sedang dipelajarinya. Toolbox toolbox
ini merupakan kumpulan dari fungsi-fungsi MATLAB (M-files) yang telah dikembangkan
ke suatu lingkungan kerja MATLAB untuk memecahkan masalah dalam kelas particular.
Area-area yang sudah bisa dipecahkan dengan toolbox saat ini meliputi pengolahan
sinyal, system kontrol, neural networks, fuzzy logic, wavelets, dan lain-lain
3. Analisis
3.1 Analisis Kebutuhan Fungsional
Kebutuhan fungsional pada aplikasi prediksi curah hujan ini adalah sebagai
berikut :
1. Pengujian Data
Fungsi ini berguna untuk mengetahui tingkat keakuratan nilai prediksi
dengan nilai aktualnya.
2. Pelatihan Data
Fungsi ini berguna untuk melatih jaringan hingga diperoleh bobot yang
sesuai.
3. Prediksi
Fungsi ini berguna jika user ingin memprediksi curah hujan satu bulan
tertentu secara khusus.
3.2 Identifikasi Masalah
Memprediksi curah hujan adalah suatu kegiatan memprakirakan curah hujan
dimasa datang dengan mengacu pada data-data curah hujan terdahulu. Dalam hal ini
perlu dilakukan analisis data yang dibutuhkan guna memprediksi curah hujan, dan
analisis sistem yang akan digunakan untuk memprediksi curah hujan dimasa datang.
Dengan jaringan syaraf tiruan yang akan buat, diharapkan dapat melakukan prediksi
curah hujan semaksimal mungkin.
3.3 Analisis Kebutuhan Data
Dalam pelatihan Jaringan Syaraf Tiruan, banyak data yang dibutuhkan supaya
jaringan dapat dilatih dengan benar. Data yang digunakan dibagi menjadi dua, yaitu data
yang akan dijadikan bahan pelatihan serta data yang akan diujikan. Semakin banyaknya
data yang digunakan dalam pelatihan, jaringan akan mudah mengenali polanya dan
diharapkan hasil prediksinya mendekati sempurna.
3.4 Perancangan Jaringan Backpropagation
Beberapa langkah untuk merancang jaringan dengan algoritma backpropagation
yaitu, pertama pengumpulan data yang akan dijadikan variabel masukan serta target
yang menjadi keluarannya. Lalu pembagian data menjadi data pelatihan dan data
pengujian. Berikutnya menentukan arsitektur jaringan sesuai dengan algoritma yang
digunakan. Selanjutnya tentukan jumlah sel (neuron) untuk lapisan tersembunyi serta
fungsi aktifasi yang digunakan setiap lapisan.
Selain itu, terdapat beberapa nilai parameter yang harus diset untuk pelatihan.
Parameter-parameter tersebut yaitu maksimum epoch , laju pembelajaran (learning rate)
serta momentum.
2009
2010
2011
Jan
263
227
396
Feb
326
174
405
Mar
130
259
234
April
229
151
274
Mei
132
208
184
Juni
49
81
5
Juli
21
100
0
Agt
1
107
0
Sept
0
396
0
Okt
100
322
26
Nov
102
342
241
Des
227
374
310
2. Data Pengujian
Sedangkan yang dimaksud dengan data pengujian adalah data yang
digunakan untuk mendapatkan keseimbangan antara pengenalan pola
pelatihan secara benar dan respon yang baik untuk pola lain yang sejenis.
Inisialisasi bobot dan bias secara acak dengan bilangan acak kecil.
momentum.
Op.Cit. hlm.124.
Ibid. hlm.112
Epoch = Epoch + 1
2)
Untuk setiap pasang data pelatihan, kerjakan Fase Feed Forward, Fase
PR
Si
BTF
BLF
PF
Sebelum pelatihan dilakukan, terlebih dahulu ditentukan nilai parameter yang diinginkan
guna memperoleh hasil yang optimal. Untuk memberikan nilai parameter dalam MATLAB
adalah sebagai berikut :
Net.trainParam.Show
Perintah yang digunakan untuk menampilkan frekuensi perubahan MSE (default
setiap 25 epochs)
Net.trainParam.epochs
Perintah yang dipakai untuk menentukan jumlah epochs maksimum pelatihan
(default 100 epochs)
Net.trainParam.goal
Perintah untuk menentukan batas MSE agar iterasi dihentikan. Iterasi akan
berhenti jika MSE < dari batas yang ditentukan atau jumlah epoch telah
mencapai
maksimum
sesuai
net.trainParam.epochs
Net.trainParam.lr
nilai
yang
diberikan
pada
perintah
Net.trainParam.time
Perintah untuk membatasi lama pelatihan (dalam detik). Pelatihan dihentikan jika
lamanya melebihi nilai yang ditentukan.
Net.trainParam.mc
Perintah ini digunakan untuk menentukan nilai momentum antara 0 1 (default
adalah 0,9).
4.2 Pelatihan Jaringan
Data disimpan dalam format .xls yang diberi nama Data_Latih.xls, kemudian data
tersebut akan disimpan dalam matriks A yang berukuran m x n. Dengan m adalah jumlah
baris data dan n adalah jumlah kolom data. Sesuai tabel data pelatihan, jumlah baris data
adalah 9 dan jumlah kolom data adalah 1, sehingga matriks input A berukuran 9 x 1.
Setelah itu matriks A dibagi menjadi input (p) dan target (t).
Parameter-parameter yang digunakan dalam pelatihan ini adalah :
-
Lalu program membaca file data yang disimpan dalam format .xls dengan
perintah :
A = xlsread(Data_Latih.xls);
[m,n] = size(A);
Setiap elemen matriks harus diubah pada range 0,1 0,9 sesuai dengan fungsi
aktifasi yang digunakan (logsig).
x1 = A(:,1);
min_x1=min(min(x1));
max_x1=max(max(x1));
Perintah diatas menunjukkan bahwa kolom input matriks A disimpan dalam
matriks x1, dan nilai minimum dan maksimum disimpan dalam variable min_x1 dan
max_x1.
Kemudian data input diubah ke dalam range 0,1 0,9 dengan perintah:
x1=(0.8*(x1-min_x1)/(max_x1-min_x1))+0.1;
Perintah untuk input data target :
y = A(:,2);
min_y=min(min(y));
max_y=max(max(y));
y=(0.8*(y-min_y)/(max_y-min_y)+0.1);
Setelah range diubah, maka jaringan Backpropagation dapat dibangun. Untuk
contoh pelatihan pertama, berikut parameter-parameter yang digunakan:
Data ini
: Data_Latih.xls
: Logsig
Jenis Pelatihan
: Traingdx
: 25
Momentum
: 0,25
Learning rate
: 0,1
: 0,0001
: 100.000
Momentum
Learning Rate
Pencapaian Epoch
Presentase
kebenaran
n=15
0.25
0.5
0.75
81,8%
0.1
103602
0.5
103777
0.9
103820
0.1
>140901
0%
0.5
77624
81,8%
0.9
93908
0.1
67211
0.5
>154301
0.9
>140601
72,7%
72,7%
27,28%
81,8%
0%
0%
Pelatihan dihentikan pada epoch-epoch tersebut diatas (yang diberi tanda >)
adalah dikarenakan performance yang dihasilkan jauh mendekati goal yang ditentukan
dan mengalami pendekatan nilai goal yang tidak stabil. Pada pelatihan yang baik adalah
performance mengalami penurunan nilai mendekati goal yang ditentukan, namun pada
pelatihan tersebut performance menunjukan penurunan dan juga kenaikan yang
menjauhi nilai goal.
5. Kesimpulan dan Saran
5.1 Kesimpulan
Berdasarkan hasil dan analisa dari bab sebelumnya maka penulis dapat
mengambil kesimpulan sebagai berikut :
1. Semakin kecil batas galat yang ditentukan, maka akan mengalami waktu
pelatihan yang semakin lama serta epoch yang dicapai semakin besar. Pada
pelatihan yang dijelaskan seperti pada bab sebelumnya, galat yang
ditentukan adalah sebesar 0.0001 dan waktu yang dibutuhkan untuk
mencapainya kurang dari 10 menit.
2. Hasil pengujian data yang telah dilatih menunjukkan performa yang cukup
baik. Selisih antara target yang sebenarnya dengan hasil output program
tidak menunjukkan perbedaan yang begitu besar.
3. Jumlah data masukan yang digunakan untuk pelatihan jaringan sangat
menentukan output dari pelatihan jaringan. Semakin banyak data yang
DAFTAR PUSTAKA
Jong, Jek Siang. 2005. Jaringan Syaraf Tiruan dan Pemrogramannya Menggunakan
MATLAB. Yogyakarta: Penerbit Andi.
Kusumadewi, Sri. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan MATLAB dan
Excel Link. Yogyakarta: Graha Ilmu