Temporal Sequence Processing Pada Data Nilai Tukar Great Britain Poundsterling (GBP) Terhadap United State Dollar (USD) Menggunakan Recurrent Self Organizing Map (RSOM).

(1)

ABSTRAK

Metoda analisa data secara statistik dapat diaplikasikan untuk mendapatkan pengertian terhadap proses-proses yang berubah waktu yang sangat kompleks untuk dimodelkan secara analitik. Data pertama-tama dikumpulkan dengan mengukur variabel-variabel. Observasi ini kemudian dianalisa dengan menerapkan metoda-metoda statistik untuk mengetahui karakter dari proses yang diobservasi.

Tujuan utama dari penelitian ini adalah untuk menerapkan metoda neural

network pada analisa data. Neural network mampu membuat model statistik, yang

dapat diterapkan pada berbagai aplikasi, dari exploratory data analysis and

visualizations hingga masalah regresi. Dalam pemodelan menggunakan neural network, tujuannya adalah untuk membangun sebuah model berdasarkan data

observasi yang memiliki pengaruh paling signifikan pada proses yang diteliti. Dalam penelitian ini, neural network akan digunakan untuk melakukan

Temporal Sequence Processing (TSP), khususnya dalam time series prediction.

Proses yang dianalisa dalam penelitian ini adalah fluktuasi nilai tukar GBP (Great

Britain Poundsterling) terhadap USD (United State Dollar). Motivasi utama

dalam penelitian kasus time series adalah untuk memprediksi masa depan dan untuk mengetahui faktor-faktor apa yang paling berpengaruh. Tujuan Tugas Akhir ini adalah untuk membangun suatu model yang dapat menangkap karakter-karakter esensial dari proses dengan menggunakan data-data historical, kemudian menggunakan model tersebut untuk memprediksi masa depan, dalam hal ini adalah fluktuasi nilai tukar GBP terhadap USD.

Dari hasil penelitian RSOM mampu mengenali pola temporal dalam fluktuasi nilai tukar GBP/USD dengan persentase kebenaran 71%. Semakin banyak pola input yang digunakan untuk melatih RSOM, maka kemampuan RSOM dalam mengenali pola akan semakin baik, tetapi jumlah epoch yang diperlukan untuk men-training RSOM akan semakin banyak.

U nive rsit a s K rist e n M a ra na t ha


(2)

ABSTRACT

Statistical data analysis methods can be applied to gain understanding to a process under interest, which is too complex to be modeled analytically. Data from the process is first collected by measuring selected variables. These observations are then analyzed by applying statistical methods to infer knowledge from the process.

The main theme of this work is to consider neural network methods in data analysis. Neural networks constitute a class of statistical models, which can be applied in a broad range of applications, from exploratory data analysis and visualizations to classification and regression problems. In neural network modeling, the goal is to build a model based on the observed data, which can represent the essential properties of the process under interest.

In this research, neural network used to do Temporal Sequence Processing (TSP), especially in time series prediction. The analyzed process is exchange rate of GBP (Great Britain Pound sterling) toward USD (United State Dollar). The main motivation of time series cases is to predict the future and to know the most influence factors. Goal of this research is to build a model that can catch the essential characters of process using historical data, then using the model to predict the future, in this case is the fluctuation of exchange rate of GBP/USD.

Research result shows that RSOM can acknowledge the temporal pattern of the fluctuation of exchange rate of GBP/USD with 71% right. The more the input pattern using to train RSOM, the RSOM ability to acknowledge the pattern increase, but number of epoch needed to train RSOM increasing too.

U nive rsit a s K rist e n M a ra na t ha


(3)

DAFTAR ISI

Halaman

ABSTRAK ... i

ABSTRACT... ii

KATA PENGANTAR ... iii

DAFTAR ISI... vi

DAFTAR GAMBAR ... viii

DAFTAR TABEL...x

BAB I PENDAHULUAN ...1

1.1 Latar Belakang ...1

1.2 Identifikasi Masalah ...2

1.3 Tujuan ...2

1.4 Batasan Masalah...2

1.5 Sistematika Penulisan...2

BAB II LANDASAN TEORI ...4

2.1 Fundamental Forex...4

2.2 Komponen Jaringan Syaraf Tiruan ...5

2.3 Arsitektur Jaringan Syaraf Tiruan ...7

2.4 Fungsi Aktivasi ...10

2.5 Proses Pembelajaran...15

2.6 Jaringan Syaraf Tiruan dengan Metode Back-Propagation Network ...17

2.7 Jaringan Syaraf Tiruan dengan Metode Self Organizing Map...18

2.8 Jaringan Syaraf Tiruan dengan Metode Recurrent Self Organizing Maps ...19

U nive rsit a s K rist e n M a ra na t ha


(4)

BAB III PERANCANGAN ...21

3.1 Pemodelan Data Input ...21

3.2 Pemodelan Data Target ...22

3.3 Arsitektur JST ...23

3.4 Diagram Alir Proses Training, Validasi, dan Simulasi...24

BAB IV ANALISA...28

4.1 Hasil Training ...28

4.2 Hasil Validasi ...34

4.3 Hasil Simulasi ...35

4.4 Analisa...36

BAB V KESIMPULAN DAN SARAN ...37

5.1 Kesimpulan ...37

5.2 Saran...37

DAFTAR PUSTAKA ...38

LAMPIRAN - LISTING PROGRAM

U nive rsit a s K rist e n M a ra na t ha


(5)

DAFTAR TABEL

Halaman Tabel 4.1 Tabel hasil validasi ...34 Tabel 4.2 Tabel hasil simulasi ...35

U nive rsit a s K rist e n M a ra na t ha


(6)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Struktur neuron jaringan syaraf tiruan ...6

Gambar 2.2 Jaringan syaraf tiruan dengan 3 lapisan ...7

Gambar 2.3 Jaringan syaraf tiruan dengan lapisan tunggal ...8

Gambar 2.4 Jaringan syaraf tiruan dengan banyak lapisan...9

Gambar 2.5 Jaringan syaraf dengan lapisan kompetitif ...10

Gambar 2.6 Fungsi aktivasi: Undak Biner (hard limit) ...10

Gambar 2.7 Fungsi aktivasi: Undak Biner (threshold) ...11

Gambar 2.8 Fungsi aktivasi: Bipolar (symetric hard limit) ...11

Gambar 2.9 Fungsi aktivasi: Bipolar (threshold) ...12

Gambar 2.10 Fungsi aktivasi: Linear (identitas) ...12

Gambar 2.11 Fungsi aktivasi: Saturating linear...13

Gambar 2.12 Fungsi aktivasi: Symetric Saturating Linear...13

Gambar 2.13 Fungsi aktifasi: Sigmoid Biner ...14

Gambar 2.14 Fungsi aktivasi: Sigmoid bipolar ...15

Gambar 2.15 Arsitektur backpropagation-network ...17

Gambar 2.16 Arsitektur Self Organizing Maps ...19

Gambar 2.17 Skema sebuah unit RSOM yang bertindak sebagai sebuah recurrent filter ...20

Gambar 3.1 Flowchart pemodelan data input...21

Gambar 3.2 Flowchart pemodelan data target...23

Gambar 3.3 Arsitektur JST (RSOM) ...24

Gambar 3.4 Diagram alir proses training ...25

Gambar 3.5 Diagram alir proses validasi...26

Gambar 3.6 Diagram alir proses simulasi ...27

Gambar 4.1 Grafik pola no.1 ...28

Gambar 4.2 Grafik pola no.2 ...29

Gambar 4.3 Grafik pola no.3 ...29

Gambar 4.4 Grafik pola no.4 ...30

U nive rsit a s K rist e n M a ra na t ha


(7)

Gambar 4.5 Grafik pola no.5 ...30

Gambar 4.6 Grafik pola no.6 ...31

Gambar 4.7 Grafik pola no.7 ...31

Gambar 4.8 Grafik pola no.8 ...32

Gambar 4.9 Grafik pola no.9 ...32

Gambar 4.10 Grafik pola no.10 ...33

Gambar 4.11 Grafik pola no.11 ...33

Gambar 4.12 Grafik pola no.12 ...34

U nive rsit a s K rist e n M a ra na t ha


(8)

Lampiran - Listing Program

% Array of Training Pattern plot(cp_mar);

pmar01=cp_mar(24:41); pmar02=cp_mar(47:97); pmar03=cp_mar(126:196); pmar04=cp_mar(196:255); pmar05=cp_mar(231:254); pmar06=cp_mar(255:303); pmar07=cp_mar(374:415); pmar08=cp_mar(429:452); pmar09=cp_mar(452:470); pmar10=cp_mar(454:511); pmar11=cp_mar(511:523); pmar12=cp_mar(530:570);

imar01 = interp(pmar01,quant(1000/length(pmar01),1)); imar02 = interp(pmar02,quant(1000/length(pmar02),1)); imar03 = interp(pmar03,quant(1000/length(pmar03),1)); imar04 = interp(pmar04,quant(1000/length(pmar04),1)); imar05 = interp(pmar05,quant(1000/length(pmar05),1)); imar06 = interp(pmar06,quant(1000/length(pmar06),1)); imar07 = interp(pmar07,quant(1000/length(pmar07),1)); imar08 = interp(pmar08,quant(1000/length(pmar08),1)); imar09 = interp(pmar09,quant(1000/length(pmar09),1)); imar10 = interp(pmar10,quant(1000/length(pmar10),1)); imar11 = interp(pmar11,quant(1000/length(pmar11),1)); imar12 = interp(pmar12,quant(1000/length(pmar12),1)); l01 = quant(((length(imar01) / 50) - 0.5),1);

for i=1:50

smar(i,1) = imar01(1+(i-1)*l01);

end

l02 = quant(((length(imar02) / 50) - 0.5),1);

for i=1:50

smar(i,2) = imar02(1+(i-1)*l02);

end

l03 = quant(((length(imar03) / 50) - 0.5),1);

for i=1:50

smar(i,3) = imar03(1+(i-1)*l03);

end

l04 = quant(((length(imar04) / 50) - 0.5),1);

for i=1:50

smar(i,4) = imar04(1+(i-1)*l04);

end

l05 = quant(((length(imar05) / 50) - 0.5),1);

for i=1:50

smar(i,5) = imar05(1+(i-1)*l05);

end

l06 = quant(length(imar06)/50,1);


(9)

Lampiran - Listing Program

smar(i,6) = imar06(1+(i-1)*l06);

end

l07 = quant(length(imar07)/50,1);

for i=1:50

smar(i,7) = imar07(1+(i-1)*l07);

end

l08 = quant(length(imar08)/50,1);

for i=1:50

smar(i,8) = imar08(1+(i-1)*l08);

end

l09 = quant(((length(imar09) / 50) - 0.5),1);

for i=1:50

smar(i,9) = imar09(1+(i-1)*l09);

end

l10 = quant(((length(imar10) / 50) - 0.5),1);

for i=1:50

smar(i,10) = imar10(1+(i-1)*l10);

end

l11 = quant(length(imar11)/50,1);

for i=1:50

smar(i,11) = imar11(1+(i-1)*l11);

end

l12 = quant(length(imar12)/50,1);

for i=1:50

smar(i,12) = imar12(1+(i-1)*l12);

end

% Array of Validation Pattern

plot(cp_apr); papr01=cp_apr(4:21); papr02=cp_apr(13:29); papr03=cp_apr(29:46); papr04=cp_apr(46:64); papr05=cp_apr(70:94); papr06=cp_apr(80:98); papr07=cp_apr(100:124); papr08=cp_apr(124:153); papr09=cp_apr(153:175); papr10=cp_apr(153:200); papr11=cp_apr(175:200); papr12=cp_apr(200:220); papr13=cp_apr(220:255); papr14=cp_apr(262:279); papr15=cp_apr(278:304); papr16=cp_apr(302:314); papr17=cp_apr(310:324); papr18=cp_apr(322:335); papr19=cp_apr(335:354);


(10)

Lampiran - Listing Program papr20=cp_apr(354:388); papr21=cp_apr(388:407); papr22=cp_apr(407:429); papr23=cp_apr(429:447); papr24=cp_apr(447:460); papr25=cp_apr(478:495); papr26=cp_apr(490:512);

iapr01 = interp(papr01,quant(1000/length(papr01),1)); iapr02 = interp(papr02,quant(1000/length(papr02),1)); iapr03 = interp(papr03,quant(1000/length(papr03),1)); iapr04 = interp(papr04,quant(1000/length(papr04),1)); iapr05 = interp(papr05,quant(1000/length(papr05),1)); iapr06 = interp(papr06,quant(1000/length(papr06),1)); iapr07 = interp(papr07,quant(1000/length(papr07),1)); iapr08 = interp(papr08,quant(1000/length(papr08),1)); iapr09 = interp(papr09,quant(1000/length(papr09),1)); iapr10 = interp(papr10,quant(1000/length(papr10),1)); iapr11 = interp(papr11,quant(1000/length(papr11),1)); iapr12 = interp(papr12,quant(1000/length(papr12),1)); iapr13 = interp(papr13,quant(1000/length(papr13),1)); iapr14 = interp(papr14,quant(1000/length(papr14),1)); iapr15 = interp(papr15,quant(1000/length(papr15),1)); iapr16 = interp(papr16,quant(1000/length(papr16),1)); iapr17 = interp(papr17,quant(1000/length(papr17),1)); iapr18 = interp(papr18,quant(1000/length(papr18),1)); iapr19 = interp(papr19,quant(1000/length(papr19),1)); iapr20 = interp(papr20,quant(1000/length(papr20),1)); iapr21 = interp(papr21,quant(1000/length(papr21),1)); iapr22 = interp(papr22,quant(1000/length(papr22),1)); iapr23 = interp(papr23,quant(1000/length(papr23),1)); iapr24 = interp(papr24,quant(1000/length(papr24),1)); iapr25 = interp(papr25,quant(1000/length(papr25),1)); iapr26 = interp(papr26,quant(1000/length(papr26),1)); l01 = quant(((length(iapr01) / 50) - 0.5),1);

for i=1:50

sapr(i,1) = iapr01(1+(i-1)*l01);

end

l02 = quant(((length(iapr02) / 50) - 0.5),1);

for i=1:50

sapr(i,2) = iapr02(1+(i-1)*l02);

end

l03 = quant(((length(iapr03) / 50) - 0.5),1);

for i=1:50

sapr(i,3) = iapr03(1+(i-1)*l03);

end

l04 = quant(((length(iapr04) / 50) - 0.5),1);

for i=1:50

sapr(i,4) = iapr04(1+(i-1)*l04);

end


(11)

Lampiran - Listing Program

for i=1:50

sapr(i,5) = iapr05(1+(i-1)*l05);

end

l06 = quant(length(iapr06)/50,1);

for i=1:50

sapr(i,6) = iapr06(1+(i-1)*l06);

end

l07 = quant(length(iapr07)/50,1);

for i=1:50

sapr(i,7) = iapr07(1+(i-1)*l07);

end

l08 = quant(length(iapr08)/50,1);

for i=1:50

sapr(i,8) = iapr08(1+(i-1)*l08);

end

l09 = quant(((length(iapr09) / 50) - 0.5),1);

for i=1:50

sapr(i,9) = iapr09(1+(i-1)*l09);

end

l10 = quant(((length(iapr10) / 50) - 0.5),1);

for i=1:50

sapr(i,10) = iapr10(1+(i-1)*l10);

end

l11 = quant(length(iapr11)/50,1);

for i=1:50

sapr(i,11) = iapr11(1+(i-1)*l11);

end

l12 = quant(length(iapr12)/50,1);

for i=1:50

sapr(i,12) = iapr12(1+(i-1)*l12);

end

l13 = quant(((length(iapr13) / 50) - 0.5),1);

for i=1:50

sapr(i,13) = iapr13(1+(i-1)*l13);

end

l14 = quant(((length(iapr14) / 50) - 0.5),1);

for i=1:50

sapr(i,14) = iapr14(1+(i-1)*l14);

end

l15 = quant(((length(iapr15) / 50) - 0.5),1);

for i=1:50

sapr(i,15) = iapr15(1+(i-1)*l15);

end


(12)

Lampiran - Listing Program

for i=1:50

sapr(i,16) = iapr16(1+(i-1)*l16);

end

l17 = quant(length(iapr17)/50,1);

for i=1:50

sapr(i,17) = iapr17(1+(i-1)*l17);

end

l18 = quant(length(iapr18)/50,1);

for i=1:50

sapr(i,18) = iapr18(1+(i-1)*l18);

end

l19 = quant(((length(iapr19) / 50) - 0.5),1);

for i=1:50

sapr(i,19) = iapr19(1+(i-1)*l19);

end

l20 = quant(((length(iapr20) / 50) - 0.5),1);

for i=1:50

sapr(i,20) = iapr20(1+(i-1)*l20);

end

l21 = quant(((length(iapr21) / 50) - 0.5),1);

for i=1:50

sapr(i,21) = iapr21(1+(i-1)*l21);

end

l22 = quant(((length(iapr22) / 50) - 0.5),1);

for i=1:50

sapr(i,22) = iapr22(1+(i-1)*l22);

end

l23 = quant(((length(iapr23) / 50) - 0.5),1);

for i=1:50

sapr(i,23) = iapr23(1+(i-1)*l23);

end

l24 = quant(((length(iapr24) / 50) - 0.5),1);

for i=1:50

sapr(i,24) = iapr24(1+(i-1)*l24);

end

l25 = quant(((length(iapr25) / 50) - 0.5),1);

for i=1:50

sapr(i,25) = iapr25(1+(i-1)*l25);

end

l26 = quant(length(iapr26) / 50,1);

for i=1:50

sapr(i,26) = iapr26(1+(i-1)*l26);

end


(13)

Lampiran - Listing Program

plot(cp_may);

pmay01=cp_may(2:20); pmay02=cp_may(20:38); pmay03=cp_may(38:54); pmay04=cp_may(54:85); pmay05=cp_may(85:97); pmay06=cp_may(97:112); pmay07=cp_may(112:128); pmay08=cp_may(112:145); pmay09=cp_may(142:164); pmay10=cp_may(164:189); pmay11=cp_may(189:213); pmay12=cp_may(200:213); pmay13=cp_may(213:230); pmay14=cp_may(228:243); pmay15=cp_may(243:265); pmay16=cp_may(265:282); pmay17=cp_may(282:320); pmay18=cp_may(320:335); pmay19=cp_may(329:357); pmay20=cp_may(359:371); pmay21=cp_may(371:390); pmay22=cp_may(390:412); pmay23=cp_may(400:445); pmay24=cp_may(445:462);

imay01 = interp(pmay01,quant(1000/length(pmay01),1)); imay02 = interp(pmay02,quant(1000/length(pmay02),1)); imay03 = interp(pmay03,quant(1000/length(pmay03),1)); imay04 = interp(pmay04,quant(1000/length(pmay04),1)); imay05 = interp(pmay05,quant(1000/length(pmay05),1)); imay06 = interp(pmay06,quant(1000/length(pmay06),1)); imay07 = interp(pmay07,quant(1000/length(pmay07),1)); imay08 = interp(pmay08,quant(1000/length(pmay08),1)); imay09 = interp(pmay09,quant(1000/length(pmay09),1)); imay10 = interp(pmay10,quant(1000/length(pmay10),1)); imay11 = interp(pmay11,quant(1000/length(pmay11),1)); imay12 = interp(pmay12,quant(1000/length(pmay12),1)); imay13 = interp(pmay13,quant(1000/length(pmay13),1)); imay14 = interp(pmay14,quant(1000/length(pmay14),1)); imay15 = interp(pmay15,quant(1000/length(pmay15),1)); imay16 = interp(pmay16,quant(1000/length(pmay16),1)); imay17 = interp(pmay17,quant(1000/length(pmay17),1)); imay18 = interp(pmay18,quant(1000/length(pmay18),1)); imay19 = interp(pmay19,quant(1000/length(pmay19),1)); imay20 = interp(pmay20,quant(1000/length(pmay20),1)); imay21 = interp(pmay21,quant(1000/length(pmay21),1)); imay22 = interp(pmay22,quant(1000/length(pmay22),1)); imay23 = interp(pmay23,quant(1000/length(pmay23),1)); imay24 = interp(pmay24,quant(1000/length(pmay24),1)); l01 = quant(((length(imay01) / 50) - 0.5),1);

for i=1:50

smay(i,1) = imay01(1+(i-1)*l01);


(14)

Lampiran - Listing Program

l02 = quant(((length(imay02) / 50) - 0.5),1);

for i=1:50

smay(i,2) = imay02(1+(i-1)*l02);

end

l03 = quant(((length(imay03) / 50) - 0.5),1);

for i=1:50

smay(i,3) = imay03(1+(i-1)*l03);

end

l04 = quant(((length(imay04) / 50) - 0.5),1);

for i=1:50

smay(i,4) = imay04(1+(i-1)*l04);

end

l05 = quant(((length(imay05) / 50) - 0.5),1);

for i=1:50

smay(i,5) = imay05(1+(i-1)*l05);

end

l06 = quant(length(imay06)/50,1);

for i=1:50

smay(i,6) = imay06(1+(i-1)*l06);

end

l07 = quant(length(imay07)/50,1);

for i=1:50

smay(i,7) = imay07(1+(i-1)*l07);

end

l08 = quant(length(imay08)/50,1);

for i=1:50

smay(i,8) = imay08(1+(i-1)*l08);

end

l09 = quant(((length(imay09) / 50) - 0.5),1);

for i=1:50

smay(i,9) = imay09(1+(i-1)*l09);

end

l10 = quant(((length(imay10) / 50) - 0.5),1);

for i=1:50

smay(i,10) = imay10(1+(i-1)*l10);

end

l11 = quant(length(imay11)/50,1);

for i=1:50

smay(i,11) = imay11(1+(i-1)*l11);

end

l12 = quant(length(imay12)/50,1);

for i=1:50

smay(i,12) = imay12(1+(i-1)*l12);


(15)

Lampiran - Listing Program

l13 = quant(((length(imay13) / 50) - 0.5),1);

for i=1:50

smay(i,13) = imay13(1+(i-1)*l13);

end

l14 = quant(((length(imay14) / 50) - 0.5),1);

for i=1:50

smay(i,14) = imay14(1+(i-1)*l14);

end

l15 = quant(((length(imay15) / 50) - 0.5),1);

for i=1:50

smay(i,15) = imay15(1+(i-1)*l15);

end

l16 = quant(length(imay16)/50,1);

for i=1:50

smay(i,16) = imay16(1+(i-1)*l16);

end

l17 = quant(length(imay17)/50,1);

for i=1:50

smay(i,17) = imay17(1+(i-1)*l17);

end

l18 = quant(length(imay18)/50,1);

for i=1:50

smay(i,18) = imay18(1+(i-1)*l18);

end

l19 = quant(((length(imay19) / 50) - 0.5),1);

for i=1:50

smay(i,19) = imay19(1+(i-1)*l19);

end

l20 = quant(((length(imay20) / 50) - 0.5),1);

for i=1:50

smay(i,20) = imay20(1+(i-1)*l20);

end

l21 = quant(((length(imay21) / 50) - 0.5),1);

for i=1:50

smay(i,21) = imay21(1+(i-1)*l21);

end

l22 = quant(((length(imay22) / 50) - 0.5),1);

for i=1:50

smay(i,22) = imay22(1+(i-1)*l22);

end

l23 = quant(((length(imay23) / 50) - 0.5),1);

for i=1:50

smay(i,23) = imay23(1+(i-1)*l23);


(16)

Lampiran - Listing Program

l24 = quant(((length(imay24) / 50) - 0.5),1);

for i=1:50

smay(i,24) = imay24(1+(i-1)*l24);

end

% RSOM

rsom = network; rsom.numInputs = 1; rsom.numLayers = 1; rsom.inputConnect = 1; rsom.layerConnect = 1; rsom.outputConnect = 1; rsom.layers{1}.size = 12;

rsom.layers{1}.transferFcn = 'compet'; rsom.layers{1}.initFcn = 'initnw'; rsom.layers{1}.topologyFcn = 'randtop'; rsom.layers{1}.leakcoef = 0.4;

rsom.inputWeights{1,1}.delays = 1;

rsom.inputWeight{1,1}.weightFcn = 'dist'; rsom.inputs{1}.range = minmax(smar); rsom.initFcn = 'initlay';

rsom.trainFcn = 'trainr';

rsom.trainParam.epochs = 10000; rsom.trainParam.show = 100; rsom = init(rsom);

rsom = train(rsom,smar); % Check 1 pattern = 1 neuron

out_RSOM_vec = sim(rsom,smar); out_RSOM = vec2ind(out_RSOM_vec); % Validation target

valtgt(1,1)=3; valtgt(2,1)=11; valtgt(3,1)=8; valtgt(4,1)=12; valtgt(5,1)=11; valtgt(6,1)=9; valtgt(7,1)=2; valtgt(8,1)=1; valtgt(9,1)=1; valtgt(10,1)=4; valtgt(11,1)=11; valtgt(12,1)=12; valtgt(13,1)=6; valtgt(14,1)=4; valtgt(15,1)=9; valtgt(16,1)=7; valtgt(17,1)=10; valtgt(18,1)=3; valtgt(19,1)=5;


(17)

Lampiran - Listing Program

valtgt(20,1)=5; valtgt(21,1)=7; valtgt(22,1)=10; valtgt(23,1)=1; valtgt(24,1)=12; valtgt(25,1)=12; valtgt(26,1)=11; % Validation

out_RSOM_vec = 0; out_RSOM = 0;

out_RSOM_vec = sim(rsom,sapr); out_RSOM = vec2ind(out_RSOM_vec); val_R = sum(out_RSOM==valtgt); persen_val_R = val_R*100/26; % Simulation

simtgt(1,1)=11; simtgt(2,1)=12; simtgt(3,1)=3; simtgt(4,1)=4; simtgt(5,1)=9; simtgt(6,1)=3; simtgt(7,1)=7; simtgt(8,1)=2; simtgt(9,1)=1; simtgt(10,1)=10; simtgt(11,1)=4; simtgt(12,1)=6; simtgt(13,1)=5; simtgt(14,1)=8; simtgt(15,1)=10; simtgt(16,1)=9; simtgt(17,1)=4; simtgt(18,1)=8; simtgt(19,1)=10; simtgt(20,1)=2; simtgt(21,1)=11; simtgt(22,1)=7; simtgt(23,1)=1; simtgt(24,1)=12; out_RSOM_vec = 0; out_RSOM = 0;

out_RSOM_vec = sim(rsom,smay); out_RSOM = vec2ind(out_RSOM_vec); sim_R = sum(out_RSOM==simtgt); persen_sim_R = sim_R*100/24;


(18)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Metoda analisa data secara statistik dapat diaplikasikan untuk mendapatkan pengertian terhadap proses-proses yang berubah dalam perjalanan waktu yang sangat kompleks untuk dimodelkan secara analitik. Data pertama-tama dikumpulkan dengan mengukur variabel-variabel. Observasi ini kemudian dianalisa dengan menerapkan metoda-metoda statistik untuk mengetahui karakter dari proses yang diobservasi.

Hasil analisa bergantung pada karakter utama dari proses dan metoda analisa yang digunakan. Pada dasarnya, semua metoda analisa dimulai dari pengumpulan data dan berakhir pada proses analisa hasil yang didapat dari model statistik.

Tujuan utama dari penelitian ini adalah untuk menerapkan metoda neural

network pada analisa data. Neural network mampu membuat model statistik yang

dapat diterapkan pada berbagai aplikasi, seperti exploratory data analysis and

visualizations hingga masalah regresi. Dalam pemodelan menggunakan neural network, tujuannya adalah untuk membangun sebuah model berdasarkan data

observasi yang memiliki pengaruh paling signifikan pada proses yang diteliti. Dalam penelitian ini, neural network akan digunakan untuk melakukan

Temporal Sequence Processing (TSP), khususnya dalam time series prediction.

Proses yang dianalisa dalam penelitian ini adalah fluktuasi nilai tukar GBP (Great

Britain Poundsterling) terhadap USD (United State Dollar). Motivasi utama

dalam penelitian kasus time series adalah untuk memprediksi masa depan dan untuk mengetahui faktor-faktor apa yang paling berpengaruh. Tujuan Tugas Akhir ini adalah untuk membangun suatu model yang dapat menangkap karakter-karakter esensial dari proses dengan menggunakan data-data historical, kemudian menggunakan model tersebut untuk memprediksi masa depan. Dalam hal ini adalah fluktuasi nilai tukar GBP terhadap USD.


(19)

2

1.2 Identifikasi Masalah

Berdasarkan latar belakang, identifikasi masalah dalam penelitian ini adalah sebagai berikut:

1. Bagaimana cara membangun suatu model input dari data-data nilai tukar GBP/USD?

2. Bagaimana membuat JST (Jaringan Syaraf Tiruan) agar dapat mengenali setiap pola temporal yang terdapat dalam fluktuasi nilai tukar GBP/USD dan memprediksi fluktuasi nilai tukar GBP/USD?

1.3 Tujuan

Berdasarkan latar belakang di atas, tujuan dari penelitian ini adalah sebagai berikut:

1. Membangun suatu model input dari data-data nilai tukar GBP/USD, kemudian menggunakan JST (RSOM) untuk mengenali setiap pola

temporal yang terdapat dalam fluktuasi nilai tukar tersebut.

2. Menggunakan JST (yang sudah di-training untuk mengenali pola-pola

temporal) untuk memprediksi fluktuasi nilai tukar GBP/USD.

1.4 Batasan Masalah

Agar penelitian ini lebih terfokus, maka digunakan batasan-batasan masalah sebagai berikut, yaitu:

1. Arsitektur JST yang digunakan adalah Recurrent Self Organizing Map. 2. Interval data nilai tukar GBP terhadap USD adalah interval data hourly. 3. Program simulasi dibuat menggunakan Matlab versi 7.

1.5 Sistematika Penulisan

Penulisan Tugas Akhir ini terdiri dari lima bab dengan susunan sebagai berikut:


(20)

3

Bab I Pendahuluan

Pada bab ini disajikan hal-hal yang melatar-belakangi dilakukannya penelitian ini, identifikasi masalah, tujuan, dan batasan masalah serta sistematika penulisan Tugas Akhir ini.

Bab II Landasan Teori

Berisi pengetahuan dasar mengenai foreign exchange dan materi-materi sebagai referensi dalam perancangan jaringan syaraf tiruan dari komponen jaringan syaraf tiruan, arsitektur jaringan syaraf tiruan, fungsi aktivasi hingga proses pembelajaran Recurrent Self Organizing Map (RSOM).

Bab III Perancangan

Menjelaskan proses pemodelan data input dan target, perancangan network arsitektur, dan proses training, validasi, serta simulasi.

Bab IV Analisa

Berisi hasil training, validasi dan simulasi, kemudian analisa hasil

training, validasi dan simulasi.

Bab V Kesimpulan dan Saran

Bab ini memuat kesimpulan yang dapat diambil setelah melakukan penelitian Tugas Akhir ini, disertai dengan saran-saran untuk pengembangan lebih lanjut.


(21)

37

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Kesimpulan yang didapat dari penyusunan Tugas Akhir ini adalah sebagai berikut:

1. RSOM dapat mengenali pola-pola temporal yang terdapat dalam data tranning (data fluktuasi bulan Maret) dengan nilai generalisasi 73% untuk data validasi (data fluktuasi bulan April).

2. RSOM mampu mengenali pola temporal dalam fluktuasi nilai tukar GBP/USD dengan persentase kebenaran 71%.

5.2 Saran

1. Karena banyaknya motode analisa forex (misalnya metoda 123 Step, Gelombang Fibonacci, dll) dengan pola temporal masing-masing, maka sebaiknya pola-pola temporal yang digunakan untuk men-training JST sudah mencakup pola-pola tersebut.

2. Untuk memberikan validitas dan meningkatkan keakuratan pengenalan pola-pola temporal ini sebaiknya dalam algoritma ini digabungkan dengan RSI dan Moving Average.


(22)

38

DAFTAR PUSTAKA

[1] C.M. Bishop, “Neural Networks for Pattern Recognition”, Oxford University Press, NY, 1995.

[2] Kohonen, T., “Self Organization and Associative Memory, 2nd Editon”,

Springer-Verlag, Berlin, 1987.

[3] Koskela, Timo, “Neural Network Methods in Analyzing and Modeling

Time Varying Processes”, Helsinki University of Technology, Finland,

2003.

[4] Kusumadewi, Sri., “Artificial Intelegence (Teknik dan Aplikasinya)”, Graha Ilmu, 2003.

[5] M.T. Hagan, H.B. Demuth and M.H. Beale, “Neural Network Design”, PWS Publishing, Boston, MA, 1996.

[6] T. Hill, M. O’Connor and W. Remus, “Neural network models for time

series forecasts,” Management Science, vol. 42, pp 1082-1092, 1996.

[7] Zadeh L., “Applied Soft Computing – Foreword/Applied Soft Computing”, Vol. 1, 2000.


(1)

valtgt(20,1)=5; valtgt(21,1)=7; valtgt(22,1)=10; valtgt(23,1)=1; valtgt(24,1)=12; valtgt(25,1)=12; valtgt(26,1)=11; % Validation

out_RSOM_vec = 0; out_RSOM = 0;

out_RSOM_vec = sim(rsom,sapr); out_RSOM = vec2ind(out_RSOM_vec); val_R = sum(out_RSOM==valtgt); persen_val_R = val_R*100/26; % Simulation simtgt(1,1)=11; simtgt(2,1)=12; simtgt(3,1)=3; simtgt(4,1)=4; simtgt(5,1)=9; simtgt(6,1)=3; simtgt(7,1)=7; simtgt(8,1)=2; simtgt(9,1)=1; simtgt(10,1)=10; simtgt(11,1)=4; simtgt(12,1)=6; simtgt(13,1)=5; simtgt(14,1)=8; simtgt(15,1)=10; simtgt(16,1)=9; simtgt(17,1)=4; simtgt(18,1)=8; simtgt(19,1)=10; simtgt(20,1)=2; simtgt(21,1)=11; simtgt(22,1)=7; simtgt(23,1)=1; simtgt(24,1)=12;

out_RSOM_vec = 0; out_RSOM = 0;

out_RSOM_vec = sim(rsom,smay); out_RSOM = vec2ind(out_RSOM_vec); sim_R = sum(out_RSOM==simtgt); persen_sim_R = sim_R*100/24;


(2)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Metoda analisa data secara statistik dapat diaplikasikan untuk mendapatkan pengertian terhadap proses-proses yang berubah dalam perjalanan waktu yang sangat kompleks untuk dimodelkan secara analitik. Data pertama-tama dikumpulkan dengan mengukur variabel-variabel. Observasi ini kemudian dianalisa dengan menerapkan metoda-metoda statistik untuk mengetahui karakter dari proses yang diobservasi.

Hasil analisa bergantung pada karakter utama dari proses dan metoda analisa yang digunakan. Pada dasarnya, semua metoda analisa dimulai dari pengumpulan data dan berakhir pada proses analisa hasil yang didapat dari model statistik.

Tujuan utama dari penelitian ini adalah untuk menerapkan metoda neural

network pada analisa data. Neural network mampu membuat model statistik yang

dapat diterapkan pada berbagai aplikasi, seperti exploratory data analysis and

visualizations hingga masalah regresi. Dalam pemodelan menggunakan neural network, tujuannya adalah untuk membangun sebuah model berdasarkan data

observasi yang memiliki pengaruh paling signifikan pada proses yang diteliti. Dalam penelitian ini, neural network akan digunakan untuk melakukan

Temporal Sequence Processing (TSP), khususnya dalam time series prediction.

Proses yang dianalisa dalam penelitian ini adalah fluktuasi nilai tukar GBP (Great

Britain Poundsterling) terhadap USD (United State Dollar). Motivasi utama

dalam penelitian kasus time series adalah untuk memprediksi masa depan dan untuk mengetahui faktor-faktor apa yang paling berpengaruh. Tujuan Tugas Akhir ini adalah untuk membangun suatu model yang dapat menangkap karakter-karakter esensial dari proses dengan menggunakan data-data historical, kemudian menggunakan model tersebut untuk memprediksi masa depan. Dalam hal ini adalah fluktuasi nilai tukar GBP terhadap USD.


(3)

1.2 Identifikasi Masalah

Berdasarkan latar belakang, identifikasi masalah dalam penelitian ini adalah sebagai berikut:

1. Bagaimana cara membangun suatu model input dari data-data nilai tukar GBP/USD?

2. Bagaimana membuat JST (Jaringan Syaraf Tiruan) agar dapat mengenali setiap pola temporal yang terdapat dalam fluktuasi nilai tukar GBP/USD dan memprediksi fluktuasi nilai tukar GBP/USD?

1.3 Tujuan

Berdasarkan latar belakang di atas, tujuan dari penelitian ini adalah sebagai berikut:

1. Membangun suatu model input dari data-data nilai tukar GBP/USD, kemudian menggunakan JST (RSOM) untuk mengenali setiap pola

temporal yang terdapat dalam fluktuasi nilai tukar tersebut.

2. Menggunakan JST (yang sudah di-training untuk mengenali pola-pola

temporal) untuk memprediksi fluktuasi nilai tukar GBP/USD.

1.4 Batasan Masalah

Agar penelitian ini lebih terfokus, maka digunakan batasan-batasan masalah sebagai berikut, yaitu:

1. Arsitektur JST yang digunakan adalah Recurrent Self Organizing Map. 2. Interval data nilai tukar GBP terhadap USD adalah interval data hourly. 3. Program simulasi dibuat menggunakan Matlab versi 7.

1.5 Sistematika Penulisan

Penulisan Tugas Akhir ini terdiri dari lima bab dengan susunan sebagai berikut:


(4)

Bab I Pendahuluan

Pada bab ini disajikan hal-hal yang melatar-belakangi dilakukannya penelitian ini, identifikasi masalah, tujuan, dan batasan masalah serta sistematika penulisan Tugas Akhir ini.

Bab II Landasan Teori

Berisi pengetahuan dasar mengenai foreign exchange dan materi-materi sebagai referensi dalam perancangan jaringan syaraf tiruan dari komponen jaringan syaraf tiruan, arsitektur jaringan syaraf tiruan, fungsi aktivasi hingga proses pembelajaran Recurrent Self Organizing Map (RSOM).

Bab III Perancangan

Menjelaskan proses pemodelan data input dan target, perancangan network arsitektur, dan proses training, validasi, serta simulasi.

Bab IV Analisa

Berisi hasil training, validasi dan simulasi, kemudian analisa hasil

training, validasi dan simulasi.

Bab V Kesimpulan dan Saran

Bab ini memuat kesimpulan yang dapat diambil setelah melakukan penelitian Tugas Akhir ini, disertai dengan saran-saran untuk pengembangan lebih lanjut.


(5)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Kesimpulan yang didapat dari penyusunan Tugas Akhir ini adalah sebagai berikut:

1. RSOM dapat mengenali pola-pola temporal yang terdapat dalam data tranning (data fluktuasi bulan Maret) dengan nilai generalisasi 73% untuk data validasi (data fluktuasi bulan April).

2. RSOM mampu mengenali pola temporal dalam fluktuasi nilai tukar GBP/USD dengan persentase kebenaran 71%.

5.2 Saran

1. Karena banyaknya motode analisa forex (misalnya metoda 123 Step, Gelombang Fibonacci, dll) dengan pola temporal masing-masing, maka sebaiknya pola-pola temporal yang digunakan untuk men-training JST sudah mencakup pola-pola tersebut.

2. Untuk memberikan validitas dan meningkatkan keakuratan pengenalan pola-pola temporal ini sebaiknya dalam algoritma ini digabungkan dengan RSI dan Moving Average.


(6)

DAFTAR PUSTAKA

[1] C.M. Bishop, “Neural Networks for Pattern Recognition”, Oxford University Press, NY, 1995.

[2] Kohonen, T., “Self Organization and Associative Memory, 2nd Editon”,

Springer-Verlag, Berlin, 1987.

[3] Koskela, Timo, “Neural Network Methods in Analyzing and Modeling

Time Varying Processes”, Helsinki University of Technology, Finland,

2003.

[4] Kusumadewi, Sri., “Artificial Intelegence (Teknik dan Aplikasinya)”, Graha Ilmu, 2003.

[5] M.T. Hagan, H.B. Demuth and M.H. Beale, “Neural Network Design”, PWS Publishing, Boston, MA, 1996.

[6] T. Hill, M. O’Connor and W. Remus, “Neural network models for time

series forecasts,” Management Science, vol. 42, pp 1082-1092, 1996.

[7] Zadeh L., “Applied Soft Computing – Foreword/Applied Soft Computing”, Vol. 1, 2000.