IMPLEMENTATION OF BACKPROPAGATION ARTIFICIAL NEURAL NETWORK IN PREDICTING FOREIGN CURRENCY Dini Oktaviani Maru’ao Undergraduate Program, Faculty of Industrial Technology, 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.
IMPLEMENTASI JARINGAN SARAF TIRUAN BACKPROPAGATION DALAM MEMPREDIKSI KURS VALUTA ASING Dini Oktaviani Maru’ao Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Gunadarma, Margonda Raya 100 Depok 16424 telp (021) 78881112, 7863788
Abstraksi : 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. Keywords : Foreign currency exchange rate prediction, Neural Network, Bacpropagation
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
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
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 “IMPLEMENTASI JARINGAN judul SARAF TIRUAN BACKPROPAGATION DALAM MEMPREDIKSI KURS VALUTA ASING”
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.
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 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 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)
•
Flowchart Skematik Flowchart)
Sistem
(System
(Schematic
•
Flowchart Flowchart)
Program
(Program
•
Flowchart Flowchart)
Proses
(Process
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). b. Sinyal dikirimkan diantara neuronneuron melalui penghubung penghubung. 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 mengalir searah dari layar (lapisan) masukan sampai layar (lapisan) keluaran. 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)
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.
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
Fungsi lain yang sering dipakai adalah fungsi sigmoid bipolar dengan range (-1,1) yang didefinisikan sebagai berikut.
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, fungsi aktivasi yang dipakai harus 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.
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).
Faktor δ unit tersembunyi. f. Langkah 5 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 perubahan bobot layar dibawahnya. 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).
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 sering digunakan adalah sebagai berikut: (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 matematika elemen, matrik, optimasi,
aproksimasi dll. Sehingga Matlab banyak digunakan pada :
• Pemrograman modeling, simulasi, dan pembuatan prototipe
• Matematika dan Komputansi
• Analisa Data , eksplorasi dan visualisasi
• Pengembangan dan Algoritma
• Analisis numerik dan statistik • Pengembangan aplikasi teknik
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. 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.