implementasi jaringan saraf tiruan backpropagation dalam

advertisement
Neural Network Implementation in Foreign Exchange Kurs Prediction
Dini Oktaviani Maru'ao
Undergraduate Program, Faculty of Industrial Engineering, 2010
Gunadarma University
http://www.gunadarma.ac.id
Keywords : Foreign currency exchange rate prediction, Neural Network, Bacpropagation
Abstract
Technology neural network system has been implemented in various applications,
especially in terms of forecasting (forecasting), including backpropagation that can be applied to
predict foreign exchange rates. There are two steps being taken in this backpropagation method
of training and testing phases. In this network backpropagation algorithm is given a pair of
pattern - a pattern that consists of the input pattern and desired pattern. When a pattern is given
to the network, weights - weights modified to minimize the differences in the pattern of output
and the desired pattern. This exercise is performed over and over - re-issued so that all the
patterns the network can meet the desired pattern. The next stage is the testing stage. This stage
begins by using the best weights obtained from the training phase to process the input data to
produce the appropriate output. It is used to test whether the ANN can work well is that it can
predict the pattern of data that has been drilled with a small error rate. From the test results using
data from the monthly period in the training process the network can recognize input patterns are
provided so entirely in accordance with the target. While testing with the use of data daily and
weekly period that does not comply with the given target, it is because the network requires more
data to identify patterns provided. As more data are trained, the better the network will recognize
the pattern - a pattern so that the results more accurate predictions, but will be impacted by
slowing the process of training.
Pendahuluan
Setiap negara mempunyai mata uang
sebagai alat tukar. Pertukaran barang dengan
uang yang terjadi di dalam negeri tidak akan
menimbulkan masalah mengingat nilai
barang sudah disesuaikan dengan nilai uang
yang berlaku. Masalah akan timbul jika
barang berasal dari negara lain. Sehubungan
dengan itu, perlu adanya mekanisme yang
menyediakan akses untuk menukarkan mata
uang asing sehingga pembayaran dari
barang tersebut dapat diterima. Dengan kata
lain dibutuhkan transaksi valuta asing untuk
menukarkan mata uang antar negara (Cross
1998).
Bursa valuta asing atau foreign
exchage market ( FX market ) adalah jenis
pasar yang memperdagangkan mata uang
suatu Negara terhadap mata uang negara
lainnya. Harga yang dibentuk dipasar ini
merupakan hasil dari permintaan ( demand )
dan penawaran ( supply ) valas.
Trader adalah salah satu elemen
pelaku
pasar
valuta
asing
yang
memanfaatkan fluktuasi nilai tukar mata
uang
tertentu
untuk
mendapatkan
keuntungan. Untuk itu seorang trader harus
menguasai metode yang akurat dalam
memprediksi fluktuasi mata uang tertentu.
Keakuratan prediksi akan menentukan
keberhasilan seorang trader. Salah satu mata
uang yang paling banyak diperdagangkan di
bursa valuta internasional adalah Dolar
Amerika Serikat. Terdapat dua pendekatan
yang dipakai untk menganalisis pergerakan
pasar yaitu analisis fundamental dan analisis
teknikal.
Peramalan merupakan suatu proses
untuk memprediksi kejadian ataupun
perubahan di masa yang akan datang. Dalam
suatu proses kegiatan, proses peramalan ini
merupakan awal dari suatu rangkaian
kegiatan, dan sebagai titik tolak kegiatan
berikutnya. Pemodelan time series seringkali
dikaitkan
dengan
proses
peramalan
(forecasting) suatu nilai karakteristik
tertentu pada periode kedepan, melakukan
pengendalian suatu proses ataupun untuk
mengenali pola perilaku sistem. Dengan
mendeteksi pola dan kecenderungan data
time series, kemudian memformulasikannya
dalam suatu model, maka dapat digunakan
untuk memprediksi data yang akan datang.
Model dengan akurasi yang tinggi akan
menyebabkan nilai prediksi cukup valid
untuk digunakan sebagai pendukung dalam
proses pengambilan keputusan.
Salah satu metode peramalan yang
berkembang saat ini adalah menggunakan
Artificial Neural Network (ANN), dimana
ANN telah menjadi objek penelitian yang
menarik dan banyak digunakan untuk
menyelesaikan masalah pada beberapa
bidang kehidupan, salah satu diantaranya
adalah untuk analisis data time series pada
masalah Forecasting (Loh, 2003). Salah satu
jaringan yang sering digunakan untuk
prediksi
data
time
series
adalah
Backpropagation neuron network. Dalam
penulisan ini akan dibahas mengenai
penggunaan
jaringan
saraf
tiruan
backpropagation untuk memprediksi kurs
valuta asing.
Berdasarkan uraian di atas, penulis
tertarik untuk melakukan penelitian dengan
judul
“IMPLEMENTASI
JARINGAN
SARAF TIRUAN BACKPROPAGATION
DALAM
MEMPREDIKSI
KURS
VALUTA
ASING”
TINJAUAN PUSTAKA
Valuta Asing
Valuta asing dapat diartikan sebagai
mata uang yang dikeluarkan dan digunakan
sebagai alat pembayaran yang sah di negara
alin. Didalam hukum ekonomi bila terdapat
suatu barang dan keduanya bertemu maka
akan terbentuk dua hal yaitu pasar dan
harga. Begitu juga halnya dengan valuta
asing, bila permintaan terhadap valuta
tertentu bertemu dengan penawaran valut
yang sama makan akan terbentuk pasar dan
harga.
Pasar valuta asing dapat diartikan
tempat
bertemunya
penawaran
dan
permintaan valuta asing. Pasar valuta asing
terdapat diseluruh dunia dan dilakukan
mulai dari perorangan sampai pemerintah.
tipe analisis yang biasa dilakukan oleh para
pelaku pasar dipasar valuta aing untuk
memprediksi pergerakan kurs valuta asing di
masa mendatang, yaitu analisis fundamental
dan analisis teknikal.
Analisis Fundamental
Analisis fundamental adalah suatu
metode untuk memprediksi arah pergerakan
kurs valuta asing yang berdasarkan pada
pengenalan dan pengukuran faktor – faktor
yang mempengaruhi pergerakan kurs valuta
asing tersebut. Analisis fundamental
berusaha mengindentifikasi faktor – faktor
apa saja yang mempengaruhi pergerakan
kurs valuta asing dan melakukan
pengukuran terhadap faktor – faktor tersebut
untuk menentukan kurs valuta asing di masa
mendatang. Adapun faktor – faktor tersebut
biasanya merupakan faktor fundamental
ekonomi, politik, keuangan, dan lain – lain.
Analisis Teknikal
Prediksi Kurs Valuta Asing
Salah satu aktivitas penting yang
dilakukan oleh para pelaku pasar dipasar
valuta asing adalah melakukan analisis
untuk memprediksi arah kurs valuta asing di
masa mendatang. Prediksi kurs valuta asing
ini sangatlah penting dilakukan mengingat
dengan melakukan prediksi ini maka para
pelaku pasar dapat menghindari kerugian
dan bahkan memperoleh keuntungan dari
pergerakan kurs valuta asing. Terdapat dua
Analisis teknikal merupakan suatu
metode peramalan pergerakan harga dengan
menggunakan informasi yang terkandung
pada pergerakan harga di masa lalu. Analisis
teknikal dapat juga diartikan sebagai suatu
metode
peramalan
harag
dengan
menggunakan grafik. Saat ini analisis
teknikal banyak digunakan oleh para pelaku
pasar valuta asing dan merupakan salah satu
alat analisis utama dipasar valuta asing.
Flowchart
Flowchart adalah penggambaran
secara grafik dari langkah-langkah dan uruturutan prosedur dari suatu program.
Flowchart menolong analis dan programmer
untuk memecahkan masalah kedalam
segmen-segmen yang lebih kecil dan
menolong dalam menganalisis alternatifalternatif lain dalam pengoperasian.
Flowchart
biasanya
mempermudah
penyelesaian suatu masalah khususnya
masalah yang perlu dipelajari dan dievaluasi
lebih lanjut
Flowchart terbagi atas lima jenis,
yaitu :

Flowchart
Flowchart)

Flowchart Paperwork / Flowchart
Dokumen (Document Flowchart)
Sistem
(System

Flowchart Skematik
Flowchart)

Flowchart
Flowchart)
Program
(Program

Flowchart
Flowchart)
Proses
(Process
(Schematic
Sejarah Jaringan Saraf Tiruan
Jaringan
syaraf
tiruan
telah
dikembangkan sejak tahun 1940. Pada tahun
1943
McCulloch
dan
W.H.Pitts
memperkenalkan pemodelan matematis
neuron. Tahun 1949, Hebb mencoba
mengkaji proses belajar yang dilakukan oleh
neuron. Teori ini dikenal sebagai Hebbian
Law.
Tahun
1958,
Rosenblatt
memperkenalkan konsep perseptron suatu
jaringan yang terdiri dari beberapa lapisan
yang saling berhubungan melalui umpan
maju
(feed
foward).
Konsep
ini
dimaksudkan untuk memberikan ilustrasi
tentang dasar-dasar intelejensia secara
umum. Hasil kerja Rosenblatt yang sangat
penting adalah perceptron convergence
theorem (tahun 1962) yang membuktikan
bahwa bila setiap perseptron dapat memilahmilah dua buah pola yang berbeda maka
siklus pelatihannya dapat dilakukan dalam
jumlah yang terbatas.
Pada tahun 1960 Widrow dan Hoff
menemukan ADALINE (Adaptive Linear
Neuruon). Alat ini dapat beradaptasi dan
beroperasi secara linier. Penemuan ini telah
memperlebar aplikasi jaringan syaraf tiruan
tidak hanya untuk pemilihan pola, tetapi
juga untuk pengiriman sinyal khususnya
dalam bidang adaptive filtering. Tahun
1969, Minsky dan Papert melontarkan suatu
kritikan tentang kelemahan perseptronnya
Rosenblatt di dalam memilah-milah pola
yang tidak linier. Sejak saat itu penelitian di
bidang jaringan syaraf tiruan telah
mengalami masa vakum untuk kurang lebih
satu dasawarsa.
Tahun
1982,
Hopfield
telah
memperluas
aplikasi
JST
untuk
memecahkan masalah-masalah optimasi.
Hopfield telah berhasil memperhitungkan
fungsi energi ke dalam jaringan syaraf yaitu
agar jaringan memiliki kemampuan untuk
mengingat atau memperhitungkan suatu
obyek dengan obyek yang pernah dikenal
atau diingat sebelumnya (associative
memory). Konfigurasi jaringan yang
demikian dikenal sebagai recurrent network.
Salah satu aplikasinya adalah Travelling
Salesman Problem (TSP).
Pada tahun 1986 Rumelhart, Hinton
dan William menciptakan suatu algoritma
belajar yang dikenal sebagai propagasi balik
(backpropagation). Bila algoritma ini
diterapkan pada perseptron yang memiliki
lapisan banyak (multi layer perceptron),
maka dapat dibuktikan bahwa pemilahan
pola-pola
yang tidak linier dapat
diselesaikan sehingga dapat mengatasi
kritikan yang dilontarkan oleh Minsky dan
Papert.
Definisi Jaringan Saraf Tiruan
Jaringan syaraf tiruan merupakan
sistem pemroses informasi yang memiliki
karakteristik mirip dengan jaringan syaraf
biologi (Siang 2005:2). Menurut Sekarwati
(2005:1), jaringan syaraf tiruan merupakan
sistem komputasi yang didasarkan atas
pemodelan sistem syaraf biologis (neurons)
melalui
pendekatan
dari
sifat-sifat
komputasi
biologis
(biological
computation). Menurut Subiyanto (2002:2),
jaringan syaraf tiruan adalah membuat
model sistem komputasi yang dapat
menirukan cara kerja jaringan syaraf biologi.
Menurut Siang (2005:2), jaringan
syaraf tiruan dibentuk sebagai generalisasi
model matematika dari jaringan syaraf
biologi dengan asumsi sebagai berikut.
a. Pemrosesan informasi terjadi pada
banyak elemen sederhana (neurons).
mengalir searah dari layar (lapisan) masukan
sampai layar (lapisan) keluaran.
b. Sinyal dikirimkan diantara neuronneuron melalui penghubung penghubung.
Setiap simpul dihubungkan dengan
simpul lainnya yang berada diatasnya dan
dibawahnya, tetapi tidak dengan simpul
yang berada pada lapisan yang sama. Model
yang masuk kategori ini antara lain :
ADALINE, Hopfield, Perceptron, LVQ, dan
lain-lain. Pada gambar 2.2 diperlihatkan
arsitektur jaringan layar tunggal dengan n
buah masukan (x1, x2,..., xn) dan m buah
keluaran (y1, y2,..., ym)
c. Penghubung antar neuron memiliki
bobot yang akan memperkuat atau
memperlemah sinyal
d. Untuk
menentukan
keluaran
(output), setiap neuron menggunakan
fungsi aktivasi yang dikenakan pada
penjumlahan masukan (input) yang
diterima. Besarnya keluaran (output)
ini selanjutnya dibandingkan dengan
suatu batas ambang.
Neuron adalah unit pemroses
informasi yang menjadi dasar dalam
pengoperasian jaringan syaraf tiruan (Siang
2005:23). Neuron terdiri dari 3 elemen
pembentuk sebagai berikut.
a. Himpunan
unit-unit
yang
dihubungkan dengan jalur koneksi.
b. Suatu unit penjumlah yang akan
menjumlahkan
masukan-masukan
sinyal yang sudah dikalikan dengan
bobotnya.
Fungsi
aktivasi
yang
akan
menentukan apakah sinyal dari input neuron
akan diteruskan ke neuron lain ataukah tidak
Arsitektur Jaringan ( Konfigurasi
Jaringan )
Berdasarkan arsitekturnya, model
jaringan syaraf tiruan digolongkan menjadi:
a. Jaringan Layar Tunggal (Single
Layer Network)
Pada jaringan ini, sekumpulan
masukan neuron dihubungkan langsung
dengan sekumpulan keluarannya. Sinyal
Gambar 2.6 Jaringan Layar Tunggal
b. Jaringan Layar Jamak (Multiple
Layer Network)
Jaringan ini merupakan perluasan
dari jaringan layar tunggal. Dalam jaringan
ini, selain unit masukan dan keluaran, ada
unit-unit lain (sering disebut layar
tersembunyi).
Dimungkinkan pula ada
beberapa layar tersembunyi. Model yang
termasuk kategori ini antara lain :
MADALINE, backpropagation.
Pada gambar 2.3 diperlihatkan
jaringan dengan n buah unit masukan (x1,
x2,..., xn), sebuah layar tersembunyi yang
terdiri dari m buah unit (z1,z2,..., zm) dan 1
buah unit keluaran.
memenuhi beberapa syarat sebagai
berikut.
1. Kontinu.
2. Terdiferensial dengan mudah.
3. Merupakan fungsi yang tidak
turun.
Salah satu fungsi yang memenuhi
ketiga syarat tersebut sehingga sering
dipakai adalah fungsi sigmoid biner yang
memiliki range (0,1). Fungsi sigmoid biner
didefinisikan sebagai berikut.
Gambar 2.7 Jaringan Layar jamak
c. Jaringan Reccurent
Model jaringan reccurent (reccurent
network) mirip dengan jaringan layar
tunggal ataupun jamak. Hanya saja, ada
simpul keluaran yanng memberikan sinyal
pada unit masukan (sering disebut feedback
loop). Dengan kata lain sinyal mengalir dua
arah, yaitu maju dan mundur. Contoh :
Hopfield network, Jordan network, Elmal
network.
Jaringan
Saraf
Backpropagation
Tiruan
Backpropagation merupakan model
jaringan syaraf tiruan dengan layar jamak.
Seperti halnya model jaringan syaraf tiruan
lainnya, 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.
a. Fungsi Aktivasi pada Backpropagation
Dalam backpropagation,
aktivasi
yang
dipakai
fungsi
harus
Fungsi lain yang sering dipakai
adalah fungsi sigmoid bipolar dengan range
(-1,1) yang didefinisikan sebagai berikut.
Fungsi sigmoid memiliki nilai
maksimum 1. Untuk pola yang targetnya
lebih dari 1, pola masukan dan keluaran
harus terlebih dahulu ditransformasi
sehingga semua polanya memiliki range
yang sama seperti fungsi sigmoid yang
dipakai.
Alternatif lain adalah menggunakan
fungsi aktivasi sigmoid hanya pada layar
yang bukan layar keluaran. Pada layar
keluaran, fungsi aktivasi yang dipakai
adalah fungsi identitas f (x) = x .
b. Pelatihan Backpropagation
Pelatihan backpropagation meliputi 3
fase. Fase pertama adalah fase maju. Pola
masukan dihitung maju mulai dari layar
masukan
hingga
layar
keluaran
menggunakan fungsi aktivitasi yang
ditentukan. Fase kedua adalah fase mundur.
Selisih antara keluaran jaringan dengan
target yang diinginkan merupakan kesalahan
yang
terjadi.
Kesalahan
tersebut
dipropagation mundur, dimulai dari garis
yang berhubungan langsung dengan unit –
unit di layar keluaran. Fase ketiga adalah
modifikasi
bobot
untuk
menurunkankeslahan yang terjadi.
Pelatihan backpropagation meliputi
3 fase sebagai berikut.
1. Fase 1, yaitu propagasi maju.
Selama propagasi maju, sinyal
masukan ( = xi ) dipropagasikan ke
layar tersembunyi menggunakan
funsi aktivitasi yang ditentukan.
Keluaran dari setiap unit layar
tersembunyi (= zj ) tersebut
selanjutnya dipropagasikan maju lagi
ke layar tersembunyi di atasnya
menggunakan fungsi aktivitas yang
ditentukan. Demikian seterusnya
hingga
menghasilkan
keluaranjaringan ( = yk ).
Berikutnya, keluaran jaringan ( = yk
) dibandingkan dengan target yang
harus dicapai ( = tk ). Selisih tk – yk
adalah kesalahan yang terjadi. Jika
kesalahan ini lebih kecil dari batas
toleransi yang ditentukan , maka
iterasi dihentikan. Akan tetapi
apabila kesalahan masih lebih besar
dari batas toleransinya, maka bobot
setiap garis dalam jaringan akan
dimodifikasi untuk mengurangi
kesalahan yang terjadi
2. Fase 2, yaitu propagasi mundur.
Berdasarkan keslahan
tk – yk,
dihitung faktor δk ( k = 1,2,...., m )
yang dipakai untuk mendistribusikan
keslahan di unit yk ke semua unit
tersembunyi
yang
terhubung
langsung dengan yk. δk juga dipakai
untuk mengubah bobot garis yang
berhubungan langsung dengan unit
keluaran.
Dengan cara yang sama, dihitung
faktor δj di setiap unit layar
tersembunyi sebagai dasar perubahan
bobot semua garis yang berasal dari
unit
tersembunyi
di
layar
dibawahnya. Demikian seterusnya
hingga semua faktor δ di unit
tersembunyi yang berhubungan
langsung dengan unit masukan
dihitung.
3. Fase 3, yaitu perubahan bobot.
Setelah semua faktor δ dihitung,
bobot semua garis dimodifikasi
bersamman. Perubahan bobot suatu
garis didasarkan atas faktor δ neuron
dilayar atasnya. Sebagai contoh,
perubahan bobot garis yang menuju
ke layar keluaran didasarkan atas δ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.
Algoritma pelatihan untuk jaringan
backpropagation dengan satu layar
tersembunyi (dengan fungsi aktivasi
sigmoid biner) adalah sebagai
berikut.
a. Langkah 0
Inisialisasi semua bobot
bilangan acak kecil.
dengan
b. Langkah 1
Jika kondisi penghentian belum
dipenuhi, lakukan langkah 2-8.
c. Langkah 2
Untuk setiap pasang data pelatihan,
lakukan langkah 3-8.
d. Langkah
3
(langkah
merupakan fase 1)
3-5
Tiap unit masukan menerima sinyal
dan
meneruskannya
ke
unit
tersembunyi diatasnya.
e. Langkah 4
Hitung semua keluaran di unit
tersembunyi zj (j = 1, 2,..., p).
f. Langkah 5
perubahan
bobot
dibawahnya.
layar
Hitung perubahan bobot wkj
dengan laju pemahaman α.
h. Langkah 7
Hitung
faktor
δ
unit
tersembunyi
berdasarkan
kesalahan di setiap unit
tersembunyi zj (j = 1, 2, ...,
p).
Faktor δ unit tersembunyi.
Hitung semua keluaran
jaringan di unit keluaran yk (k = 1,
2,...,m).
Hitung suku perubahan bobot vji.
i. Langkah 8 (fase 3)
g. Langkah 6 (langkah 6-7
merupakan fase 2)
Hitung faktor δ unit keluaran
berdasarkan kesalahan di
setiap unit keluaran yk (k = 1,
2,..., m).
Hitung semua perubahan
bobot. Perubahan bobot garis
yang
menuju
ke
unit
keluaran, yaitu:
Perubahan bobot garis yang menuju ke unit
tersembunyi, yaitu:
keluaran
δk merupakan unit kesalahan
yang akan dipakai dalam
Parameter α merupakan laju
pemahaman yang menentukan kecepatan
iterasi. Nilai α terletak antara 0 dan 1 (0 ≤ α
≤ 1). Semakin besar harga α , semakin
sedikit iterasi yang dipakai. Akan tetapi jika
harga α terlalu besar, maka akan merusak
pola yang sudah benar sehingga pemahaman
menjadi lambat. Satu siklus pelatihan yang
melibatkan semua pola disebut epoch.
Pemilihan bobot awal sangat
mempengaruhi jaringan syaraf tiruan dalam
mencapai minimum global (atau mungkin
lokal saja) terhadap nilai error (kesalahan)
dan cepat tidaknya proses pelatihan menuju
kekonvergenan.
Apabila bobot awal terlalu besar
maka input (masukan) ke setiap lapisan
tersembunyi atau lapisan output (keluaran)
akan jatuh pada daerah dimana turunan
fungsi sigmoidnya akan sangat kecil.
Apabila bobot awal terlalu kecil, maka input
(masukan) ke setiap lapisan tersembunyi
atau lapisan output (keluaran) akan sangat
kecil. Hal ini akan menyebabkan proses
pelatihan berjalan sangat lambat. Biasanya
bobot awal diinisialisasi secara random
dengan nilai antara -0.5 sampai 0.5 (atau -1
sampai 1 atau interval yang lainnya).
Setelah pelatihan selesai dilakukan,
jaringan dapat dipakai untuk pengenalan
pola. Dalam hal ini, hanya propagasi maju
(langkah 4 dan 5) saja yang dipakai untuk
menentukan keluaran jaringan.
Backpropagation dalam Peramalan
Salah
satu
bidang
dimana
backpropagation dapat diaplikasikan dengan
baik adalah bidang peramalan ( forecating ).
Peramalan yang sering kita dengar adalah
peramalan besarnya penjualan, nilai tukar
valuta asing, prediksi besarnya aliran
sungai,dll. Sebagai contoh, dalam penjualan
barang, diketahui record data penjualan
suatu produk beberapa bulan/tahun terakhir.
Masalahnya adalah memperkirakan berapa
perkiraan produk yang terjual dalam
bulan/tahun yang akan datang.
Secara umum, masalah peramalan
dapat dinyatakan sebagai berikut :
Diketahui sejumlah data runtun waktu (time
series) x1, x2,..., xn. Masalahnya adalah
memperkirakan berapa harga xn+1
berdasarkan x1, x2,..., xn.
Dengan backpropagation, record data
dipakai sebagai data pelatihan untuk
mencari bobot yang optimal. Untuk itu kita
perlu menetpakan besarnya periode dimana
data berfluktuasi. Periode ini kita tentukan
secara intuitif. Misalkan pada data besarnya
debit air sungai dengan data bulanan,
periode data dapat diambil selama satu tahun
karena pergantian musim terjadi selama satu
tahun.
Jumlah data dalam satu periode ini
dipakai sebagai jumlah masukan dalam
backpropagation. Sebagai targetnya diambil
data bulan pertama setelah periode berakhir.
Pada data bulanan dengan periode satu
tahun, maka masukan backpropagation yang
dipakai terdiri dari 12 masukan. Keluaran
adalah 1 unit.
Bagian tersulit adalah menetukan
jumlah layar ( dan unitnya ). Tidak ada teori
yang dengan pasti dapat dipakai. Tapi secara
praktis dicoba jarinagn yang kecil terlebih
dahulu ( misal terdiri dari 1 layar
tersembunyi dengan beberapa unit saja ).
Jika gagal ( kesalahan tidak tururn dalam
epoch yang besar ), maka jaringan dipebesar
dengan menambahkan unit tersembunyi atau
bahkan menambah layar tersembunyi.
Langkah-langkah
membangun
struktur jaringan untuk peramalan sebagai
berikut:
1. Pembagian Data
Langkah pertama adalah pembagian data.
Data dibagi menjadi data pelatihan dan
pengujian. Beberapa komposisi data
pelatihan dan pengujian yang
digunakan adalah sebagai berikut:
sering
(a) 80% untuk data pelatihan dan 20% untuk
data pengujian.
(b) 70% untuk data pelatihan dan 30 %
untuk data pengujian.
(c) 2 untuk data pelatihan dan 1 untuk data
3
3
pengujian.
(d) 50% untuk data pelatihan dan 50 %
untuk data pengujian.
(e) 60% untuk data pelatihan dan 40 %
untuk data pengujian.
Aspek penbagian data harus
ditekankan agar jaringan mendapat data
pelatihan yang secukupnya dan data
pengujian dapat menguji prestasi pelatihan
yang dilakukan berdasarkan nilai MSE data
pelatihan dan pengujian. Bilangan data yang
kurang untuk proses pelatihan akan
menyebabkan jaringan mungkin tidak dapat
mempelajari taburan data dengan baik.
Sebaliknya, data yang terlalu banyak untuk
proses pelatihan akan melambatkan proses
pemusatan
(konvergensi).
Masalah
overtraining
(data
pelatihan
yang
berlebihan) akan menyebabkan jaringan
cenderung untuk menghafal data yang
dimasukkan daripada menggeneralisasi.
2. Preprocessing/ Normalisasi
Sebelum digunakan untuk proses
pelatihan, perlu dilakukan penskalaan
terhadap harga-harga input dan target
sedemikian hingga data-data input dan target
tersebut masuk dalam suatu range tertentu
yang disebut preprocessing atau normalisasi
data. Runtun data
masukan dan target dinormalisasi dengan
membawa data ke bentuk normal yang
memiliki mean = 0 dan deviasi standar = 1,
berdasarkan rumus:
Nilai baru = [Nilai lama (rata-rata)]
Deviasi standar
Matlab menyediakan fungsi prestd
untuk melakukan normalisasi, dengan
syntax: [pn,meanp,stdp,tn,meant,stdt] =
prestd(p,t)
dengan p adalah matriks input pelatihan dan
t adalah matriks target, yaitu nilai penutupan
esok hari. Fungsi ini akan menghasilkan:
pn
: matriks input yang ternormalisasi
(mean= 0, deviasi standar= 1)
tn
: matriks target yang ternormalisasi
(mean= 0, deviasi standard= 1)
meanp : mean pada matriks input asli (p)
stdp : deviasi standar pada matriks input
asli (p)
meant: mean pada matriks target asli (t)
stdt : deviasi standar pada matriks target asli
(t)
3. Perancangan Struktur Jaringan Yang
Optimum
Langkah
selanjutnya
adalah
penentuan jumlah lapisan masukan (input),
lapisan tersembunyi, dan jumlah lapisan
keluaran yang akan digunakan dalam
jaringan. Penggunaan jaringan dengan dua
atau lebih lapisan tersembunyi dalam
masalah peramalan kebanyakan tidak akan
memberikan pengaruh yang sangat besar
terhadap prestasi jaringan untuk melakukan
peramalan. Selain itu akan melambatkan
proses
pelatihan
yang
disebabkan
bertambahnya unit.
4.Pemilihan
Koefisien
Pemahaman
(learning rate) dan Momentum
Pemilihan koefisien pemahaman dan
momentum mempunyai peranan yang
penting untuk struktur jaringan yang akan
dibangun dan digunakan dalam peramalan,
hasil keputusan yang kurang memuaskan
dapat diperbaiki dengan penggunaan
koefisien pemahaman dan momentum secara
trial and error untuk mendapatkan nilai
bobot yang paling optimum agar MSE
jaringan dapat diperbaiki.
5.Postprocessing/ Denormalisasi
Setelah proses pelatihan selesai,
harga-harga ternormalisasi output jaringan
harus dikembalikan (denormalisasi) ke harga
aslinya untuk mendapatkan nilai output pada
range
yang
sebenarnya.
Matlab
menyediakan
fungsi
poststd
untuk
melakukan denormalisasi, dengan syntax:
[p,t]=poststd(pn,meanp,stdp,tn,meant,std
t) dengan p dan t
adalah matriks yang telah didenormalisasi.
Apabila ada data input baru yang akan
disimulasikan yaitu pada proses pengujian,
data baru tersebut juga harus disesuaikan
dengan mean dan deviasi standar dari
jaringan. Matlab menyediakan fungsi trastd,
dengan syntax:
pnewn : trastd(pnew,minp,maxp);
anew : sim(net,pnewn);
a : poststd(anew,mint,maxt);
fungsi diatas akan menghasilkan:
pnewn : matriks input
ternormalisasi sesuai dengan
baru
yang
jaringan
a : matriks output jaringan yang telah
didenormalisasi
7. Pemilihan Jaringan Optimum dan
Penggunaannya
untuk
Peramalan
Langkah-langkah
pemilihan jaringan yang optimum sebagai
berikut:
a. Proses pelatihan dilakukan terhadap
data pelatihan dengan struktur
jaringan
yang
memiliki
unit
tersembunyi berbeda akan diproleh
nilai MSE-nya. Jaringan dengan nilai
MSE terendah dipilih sebagai
jaringan yang optimum untuk
digunakan dalam peramalan.
b. Setelah proses pelatihan dilakukan
proses pengujian terhadap data
pengujian dan data yang ikut dilatih
dengan struktur jaringan yang
memiliki jumlah unit tersembunyi
berbeda yang telah dilatih akan
diperoleh nilai keluaran jaringan.
Nilai error, SSE dan MSE masingmasing struktur jaringan dihitung.
Proses pengujian dilakukan untuk
menguji prestasi pelatihan dan
sebagai pendukung bahwa jaringan
terpilih sebagai jaringan yang tepat
untuk model peramalan.
c. Proses peramalan dilakukan dengan
menggunakan jaringan terpilih.
MATLAB
MATLAB (Matrix Laboratory)
adalah sebuah program untuk analisis dan
komputasi numerik dan merupakan suatu
bahasa pemrograman matematika lanjutan
yang dibentuk dengan dasar pemikiran
menggunkan sifat dan bentuk matriks. Pada
awalnya, program ini merupakan interface
untuk koleksi rutin-rutin numeric dari
proyek LINPACK dan EISPACK, dan
dikembangkan
menggunkan
bahasa
FORTRAN namun sekarang merupakan
produk
komersial
dari
perusahaan
Mathworks, Inc.yang dalam perkembangan
selanjutnya dikembangkan menggunakan
bahasa C++ dan assembler (utamanya untuk
fungsi-fungsi dasar MATLAB).
MATLAB
telah
berkembang
menjadi sebuah environment pemrograman
yang canggih yang berisi fungsi-fungsi
built-in untuk melakukan tugas pengolahan
sinyal, aljabar linier, dan kalkulasi
matematis lainnya. MATLAB juga berisi
toolbox yang berisi fungsi-fungsi tambahan
untuk aplikasi khusus . MATLAB bersifat
extensible, dalam arti bahwa seorang
pengguna dapat menulis fungsi baru untuk
ditambahkan pada library ketika fungsifungsi built-in yang tersedia tidak dapat
melakukan tugas tertentu. Kemampuan
pemrograman yang dibutuhkan tidak terlalu
sulit bila Anda telah memiliki pengalaman
dalam pemrograman bahasa lain seperti C,
PASCAL, atau FORTRAN.
MATLAB (MATrix LABoratory)
yang merupakan bahasa pemrograman
tingkat tinggi berbasis pada matriks sering
digunakan untuk teknik komputasi numerik,
yang digunakan untuk menyelesaikan
masalah-masalah yang melibatkan operasi
Perancangan dan Implementasi
Pada bab ini akan membahas
mengenai perancangan dan implementasi
prediksi nilai tukar USD dengan AUD
menggunakan jaringan saraf tiruan dengan
metode backpropagation. Proses peramalan
menggunakan metode backpropagation
dibagi 4 proses, yaitu preprocessing, proses
training backpropagation, proses peramalan
dan
postprocessing.
Pada
tahap
preprocessing dilakukan penentuan periode
input yang akan digunakan untuk training
nanti. Pada tahap proses backpropagation ,
data yang telah dinormalisasi akan
mengalami proses learning sehingga
didapatkan pola data. Pada tahap ketiga
adalah proses peramalan, pada tahap ini nilai
hasil training backpropagation akan
diinputkan pada data input periode akhir
untuk menghasilkan output peramalan.
Selanjutnya output yang didapat dari hasil
peramalan didenormalisasikan agar range
data sesuai dengan data asli
Diagram Alir Sistem ( Flowchart )
Diagram alir sistem digunakan untuk
menggambarkan langkah kerja sistem yang
akan dibuat dan juga akan digunakan oleh
penulis untuk menentukan langkah-langkah
berikutnya.. Data yang digunakan adalah
data sekunder dari harga kurs USD/AUD.
matematika elemen, matrik, optimasi,
aproksimasi dll. Sehingga Matlab banyak
digunakan pada :
• Matematika dan Komputansi
• Pengembangan dan Algoritma
• Pemrograman modeling, simulasi, dan
pembuatan prototipe
• Analisa Data , eksplorasi dan visualisasi
• Analisis numerik dan statistik
• Pengembangan aplikasi teknik
Input data kurs ini berdasarkan pada
variabel-variabel data harga pembukaan,
harga penutupan, harga tertinggi, harga
terendah, volume. Gambar 3.2 menunjukkan
flowchart pelatihan jaringan syaraf tiruan
untuk 1 arsitektur jaringan, untuk arsitektur
yang lain caranya juga sama. Pelatihan
dilakukan dengan data yang banyak yang
bisa mewakili keadaan kurs yang terjadi.
mulai
Load data pengujian
Normalisasi data
Ambil bobot terbaik
Pengumpulan Data
Data
yang
digunakan
dalam
penelitian ini tidak diambil secara langsung
dari lapangan tetapi diambil dari data yang
telah ada (dicatat) pada sebuah website
dukascopy.com yang menyediakan data
histories perdagangan berbagai mata uang
asing. Data yang digunakan dalam
percobaan ini adalah data kurs mata uang
Dollar Amerika (USD) dengan Dollar
Australia (AUD) dari tanggal 1 Oktober
2008 sampai 19 Oktober 2009.
Feedforward
Perancangan Arsitektur Jaringan
Denormalisasi data
Tampilkan hasil
prediksi
selesai
Gambar 3.3 Flowchart program
pengujian jaringan saraf tiruan
Arsitektur jaringan adalah jumlah
layer dan neuron pada input, hidden dan
output. Dalam permasalahan ini untuk
memprediksi harga kurs USD terhadap
AUD, diperlukan data dari pasar Foreign
exchage market ( FX market ) atau pasar
valas yang bergerak di bidang perdagangan
mata uang asing, penulis memperoleh data
dari situs dukascopy.com yang menyediakan
data histories yang diperlukan penulis.
Arsitektur jaringan terdiri dari input layer
sejumlah 5 neuron, hidden layer sejumlah n
neuron (n =10,11,12…40), output layer
terdiri dari 1 neuron yaitu harga penutupan
kurs USD esok hari. Misal input layer
sejumlah 5 neuron, hidden layer sejumlah 10
neuron dan output layer terdiri dari 1 neuron
maka arsitektur jaringan tersebut adalah 510-1. Gambar 3.4 menunjukkan arsitektur
jaringan untuk peramalan nilai tukar mata
uang asing menggunakan 1 layer input, 1
hidden layer dan 1 output layer.
Model Pelatihan
Data-data inputan akan diproses
menggunakan palatihan Artificial Neuron
Network
(ANN)
dengan
metode
backpropagation. Input dari pelatihan ini
adalah data – data histories nilai tukar
USD/AUD yang diakses melalui situs
dukascopy.com . Sehingga Jaringan akan
mempunyai 5 sel input yaitu nilai
penutupan, nilai pembukaan, nilai tertinggi,
nilai terendah, dan volume. Fungsi aktivasi
atau pelatihan pada jaringan ini mempunyai
2(dua) buah lapisan. Lapisan pertama pada
fungsi aktivasi input memiliki 8 sel sel
lapisan tersembunyi untuk data periode
harian, mingguan dan bulanan, sedangkan
lapisan terakhir yang merupakan fungsi
aktivasi untuk output mempunyai 1 sel sel
untuk semua periode data Pelatihan dengan
metode ini menggunakan beberapa fungsi.
Fungsi yang dipakai antara lain adalah
sigmoid bipolar untuk lapisan tersembunyi
dan purelin untuk lapisan output.
Jumlah Sel Tersembunyi
Hasil
teoritis
yang
didapat
menunjukkan bahwa jaringan dengan sebuah
layer tersembunyi sudah cukup bagi
backpropagation
untuk
menegnali
sembarang perkawanan antara masukkan
dan target dengan tingkat ketelitian yang
ditentukan. Akan tetapi penambahan layer
tersembunyi kadangkala membuat pelatihan
lebih mudah.
Jumlah layer tersembunyi dan
jumlah selnya harus dicoba – coba, dimulai
dari yang kecil ( misal 2 sel).
Penulis menggunakan satu layer
tersembunyi, dan jumlah sel yang digunakan
dicoba dari sel terkecil yaitu 2.
Jaringan saraf tiruan ini juga
menggunakan metode pelatihan yaitu
algoritma gradien conjugate metode Polak Ribiere yaitu traincgp .
Analisis Hasil Pelatihan
Dari hasil simulasi jaringan saraf
tiruan untuk setiap inputan data berbeda –
beda. Dapat diambil kesimpulan adanya
pengaruh learning rate, banyaknya data
inputan.
Learning rate yang digunakan untuk
data harian dan mingguan adalah 0.5, proses
epoch berhenti pada 8480 untuk data harian,
2688 untuk data mingguan dan untuk data
bulanan learning rate yang digunakan lebih
besar yaitu 0.9, hasil proses epochs yang
dihasilkan lebih kecil yaitu 67.
Dari hasil diatas dapat diambil
kesimpulan Penggunaaan learning rate
terlalu besar, semakin cepat pula proses
pelatihan, akan tetapi jika learning rate
terlalu besar, maka algoritma menjadi tidak
stabil dan mencapai titik minimum local.
Banyaknya inputan untuk lapisan
input juga berpengaruh untuk keakuratan
prediksi oleh jaringan saraf tiruan yang
ditunjukkan oleh gambar grafik 4.8 , 4.5,
dan 4.2. Hasil dari korelasi yang ditunjukkan
dari ketiga data berbeda – beda. Untuk data
periode harian korelasi yang dihasilkan lebih
kecil dari hasil data periode mingguan, dan
korelasi yang hampir mendekati angka 1
dihasilkan oleh data bulanan.
Dengan learning rate, target error
dan data pembelajaran yang sama belum
pasti mengahasilkan tingkat prediksi yang
sama, hal ini dikarenakan nilai bobot –
bobot pada tiap – tiap neuron yang
dihasilkan oleh setiap pembelajaran berbeda.
Penyebab bobot dari tiap – tiap neuron yang
dihasilkan oleh setiap pembelajaran pasti
berbeda adalah dikarenakan pemberian nilai
bobot awal dengan nilai random dimana
nilai random setiap pembelajaran berbeda.
Hasil Pengujian
Setelah melewati tahap pelatihan,
yang dilakukan selanjutnya adalah tahap
pengujian. Pengujian jaringan memprediksi
harga penutupan kurs valas periode
selanjutnya,dimana terdapat nilai error yang
merupakan selisih antara harga prediksi
jaringan saraf tiruan dengan harga
penutupan aslinya, lalu diadakan evaluasi.
Evaluasi terhadap kinerja jaringan diukur
dengan analisi regresi, dan untuk melihat
lebih jelas penyimpangan antara nilai real
dan prediksi disajikan pula dalam bentuk
grafik.
Hasil Prediksi Harian
Setelah dilakukan pelatihan untuk
pola input data harian kurs valuta
USD/AUD selama periode 1 Oktober 2008
sampai 29 Januari 2009 dilakukan pengujian
jaringan untuk memprediksi kurs valuta
asing. Dalam hal ini jaringan diuji untuk
memprediksi harga penutupan keesokan
harinya dengan menggunakan data yang
tidak ikut dilatih dari tanggal 1-20 januari
2009.
Tabel 4.4 Hasil prediksi kurs valuta asing
dengan periode harian
Hasil Prediksi Mingguan
Prediksi harga penutupan kurs valuta
asing dilakukan setelah pelatihan jaringan
untuk pola input data mingguan. Dalam hal
ini jaringan diuji untuk memprediksi harga
penutupan minggu selanjutnya untuk data
pengujian sejumlah 11 data (10 Agustus
2009 sampai 19 Oktober 2009).Dengan
mendapatkan error dari selisih harga real
dan prediksi JST, hasil prediksi terlihat dalm
tabel dibawah ini.
Tabel 4.5 Hasil prediksi kurs valuta asing
periode mingguan
Tabel 4.6 Hasil prediksi kurs valuta asing
periode bulanan
Pengamatan Hasil
Pada pelatihan jaringan untuk
periode harian, mingguan dan bulanan, error
hasil pelatihan terhadap harga penutupan
real bernilai kecil, hal ini berarti jaringan
mampu mengenali pola masukkan dan
merespon dengan benar terhadap pola
masukkan yang serupa dengan pola yang
dipakai selama pelatihan. Begitu pula
terhadap pengujian jaringan untuk periode
bulan, namun hali ini berbeda untuk prediksi
kur valuta asing periode mingguan dan
bulanan. Hal ini disebabkan oleh beberapa
kemungkinan ( tidak bisa dijelaskan pasti
karena merupakan prakiraan) sebagai
berikut :

Data histories yang digunakan untuk
variable masukkan JST kurang
bayak.

Data
yang
digunakan
untuk
memprediksi kurs valuta tidak bisa
mewakili sebagai factor utama yang
mempengaruhi nilai kurs valuta
asing.

Batas nilai kesalahan yang kurang
kecil.
Hasil Prediksi Bulanan
Hasil pengujian yang didapat oleh
jaringan backpropagation (5-8-1) untuk
memprediksi harga penutupan kurs valuta
asing (USD/AUD) pada bulan September,
November dan December setelah diadakan
pelatihan dengan pola masukkan data dari 1
Oktober 2008 sampai 1 Agustus 2009. dapat
dilihat dalam bentuk tabel 4.6
semakin banyak data yang
dilatihkan, jaringan akan semakin
baik mengenali pola – pola
tertentu
sehingga
hasil
prediksinya lebih akurat, namun
akan
berdampak
dengan
melambatnya proses pelatihan.
Penutup
Kesimpulan
Setelah melakukan pelatihan dan pengujian,
dapat ditarik kesimpulan :
1.
algoritma backpropagation dapat
melakukan proses prediksi, akan
tetapi baik atau tidaknya nilai
yang
dihasilkan
sangat
dipengaruhi oleh penentuan
parameter
seperti
besarnya
learning rate dan jumlah neuron
pada hidden layer. Untuk
menghasilkan
konfigurasi
parameter yang baik diperlukan
waktu cukup lama dalam
melakukan eksperimen mencari
parameter yang terbaik yang
nantinya parameter yang baru
tersebut dapat dipakai untuk
proses prediksi. Berdasarkan
hasil eksperiman yang dilakukan
penulis
jaringan
yang
menghasilkan
konvergensi
dengan epoch tercepat 67
memiliki
parameter
yaitu
learning rate = 0.9, jumlah
hidden layer =1, dan target error
yang digunakan adalah 0.0001.
Dari hasil pengujian dengan
menggunakan
data
periode
bulanan dalam proses training
jaringan mampu mengenali pola
masukan
yang
diberikan
sehingga
seluruhnya
sesuai
dengan
target.
Sedangkan
pengujian dengan menggunakan
data
periode
perhari
dan
mingguan yang tidak sesuai
dengan target yang diberikan, ini
disebabkan
karena
jaringan
memerlukan data yang lebih
banyak lagi untuk mengenali
pola yang diberikan. Karena
2.
Terdapat faktor – faktor yang
mempengaruhi tingkat kebenaran
prediksi pada jaringan saraf
tiruan Backpropagation yaitu
learning rate, taget error, jumlah
data pembelajaran dan nilai
bobot yang diberikan secara
random yang pada tiap - tiap
neuron
3.
Dengan learning rate, target
error dan data pembelajaran
yang
sama
belum
pasti
mengahasilkan tingkat prediksi
yang sama, hal ini dikarenakan
nilai bobot – bobot pada tiap –
tiap neuron yang dihasilkan oleh
setiap pembelajaran berbeda.
Penyebab bobot dari tiap – tiap
neuron yang dihasilkan oleh
setiap
pembelajaran
pasti
berbeda adalah dikarenakan
pemberian nilai bobot awal
dengan nilai random dimana nilai
random setiap pembelajaran
berbeda.
4.
Penurunan leraning rate akan
membuat proses pembelajaran
semakin lambat
Saran
1.
Dikembangkan penelitian lebih
mendalam dan variasi algoritma
pelatihan supaya didapatkan hasil
yang optimal dengan waktu
pelatihan yang lebih singkat.
2.
Komposisi pembagian data yang
lain
perlu
dicoba
untuk
memperoleh hasil yang lebih
optimal
3.
[7]
Muqtashidah, Ida. 2009. Jaringan
Syaraf Tiruan Backpropagation dan
Analisis Runtun Waktu sebagai
Metode
Forecast
Pada
Penghitungan Laju Inflasi. Gelar
Sarjana Sains Program Studi
Matematika Universitas Negeri
Semarang. Semarang
[8]
Yusiana, Rima Marina. Optimasi
Portofolio Menggunakan Jaringan
Saraf
Tiruan.
Universitas
Gunadarma. 2007.
[9]
Kusumadewi, Sri, Sri Hartati.,
NEURO-FUZZY Integrasi Sistem
Fuzzy
dan
Jaringan
Saraf.
Yogyakarta: Graha Ilmu, 2006.
Lapisan tersembunyi lebih dari
satu
dan parameter
yang
digunakan di set lebih tepat lagi
agar jaringan dapat mengenali
semua pola data input, dan dapat
memprediksi dengan akurat.
DAFTAR PUSTAKA
[1]
Abdia Away, Gunaidi. 2006. The
shortcut of MATLAB programming.
Bandung : Informatika.
[2]
Hermawan, Arief. 2006. Jaringan
Saraf Tiruan. Yogyakarta : ANDI.
[3]
Jong Jek Siang. 2004. Jaringan
Saraf Tiruan dan Pemrogramannya
Menggunakan MATLAB.Yogyakarta:
ANDI.
[4]
Muis,Saludin. 2006. Jaringan Saraf
Tiruan
Sebagai
Alat
Bantu
Peramalan
Harga
Saham.
Yogyakarta : Graha ilmu .
[5]
PSW, Anugrah. 2007 Perbandingan
Jaringan
Syaraf
Tiruan
Backpropagation dan Metode Deret
Berkala BOX-JENKINS (ARIMA)
sebagai Metode Peramalan Curah
Hujan. Penyelesaian Studi Strata 1.
Gelar Sarjana Sains Fakultas
Matematika
dan
Ilmu
Alam
Universitas
Negeri
Semarang.
Semarang
[6]
Rokhmawati,Kasni. 2008. Peramalan
Data Time Series Menggunakan
Metode ANFIS. Syarat dalam
Mencapai Gelar Sarjana Strata Satu
Program
Teknik
Informatika
Universitas Mercu Buana. Jakarta.
Download