• Tidak ada hasil yang ditemukan

Bab 3 Metode Penelitian

3.2.1 Analisis Data dengan Metode Backpropagation Jaringan

Perancangan model peramalan pergerakan kurs rupiah terhadap dollar Amerika Serikat dengan metode backpropagation jaringan syaraf tiruan terdiri dari langkah- langkah sebagai berikut :

49

1. Menetapkan tujuan sistem

Model jaringan yang dibangun digunakan untuk meramalkan pergerakan kurs rupiah terhadap dollar Amerika Serikat dari bulan Januari sampai Pebruari 2010 berdasarkan data bulan Januari sampai Desember 2009 dengan software Matlab 7.0.

2. Menentukan fungsi aktivasi

Fungsi tansig, sigmoid biner (log sigmoid), dan purelin masing-masing digunakan sebagai fungsi aktivasi pada lapisan tersembunyi pertama, lapisan tersembunyi pertama dan keluaran.

3. Transformasi Data

Data ditransformasi linear pada selang [0,1;0,9]. Oleh karena itu keluaran yang dihasilkan jaringan akan berada pada nilai 0 sampai 1. Untuk mendapatkan nilai sebenarnya dari keluaran perlu dilakukan proses detransformasi linear. Nilai tranformasi linear, taburan data sebelum dan setelah tranformasi linear terdapat pada lampiran 2, 3 dan 4.

4. Pembagian Data

Data pergerakan kurs rupiah terhadap dollar Amerika Serikat dari bulan Januari sampai Desember 2009 dibagi menjadi 80% data pelatihan dan 20% data pengujian. Datanya diambil berdasarkan hari kerja yakni senin sampai jum’at dalam setiap minggu. Terdapat 51 minggu di tahun 2009, terhitung dari 5 januari- 25 desember 2009. Sehingga data pelatihan 80% dari 51 minggu = 40,8 minggu, digenapkan menjadi 41 minggu (205 data) dan 20% sisanya = 10,2 minggu digenapkan menjadi 10 minggu (50 data) adalah data pengujian.

5. Perancangan arsitektur jaringan yang optimum

Peramalan pergerakan kurs rupiah terhadap dollar tersebut ditentukan oleh pergerakan 4 minggu sebelumnya setiap bulan, yakni 1 minggu, 2 minggu, 3 minggu dan 4 minggu sebelumnya. Sehingga Input sistem adalah pergerakan ke-(t-15), (t-10), (t-5) dan (t). Sedangkan target sistem adalah pergerakan ke- (t+5). Dengan demikian akan terdapat rentang data dari 16 hingga 250

(terdapat 235 data). Dari data tersebut akan digunakan sebanyak 185 data untuk dilatih (lampiran B), sedangkan sisanya sebanyak 50 data akan digunakan sebagai data (lampiran C). Arsitektur jaringan dibentuk dari 5 input, lapisan tersembunyi pertama dengan 10 neuron, lapisan tersembunyi kedua dengan 5 neuron dan 1 keluaran.

6. Penentuan koefisien laju pemahaman dan momentum

Dari percobaan trial and error koefisien laju pemahaman dan momentum masing-masing bernilai 0,5 dan 0,8 karena menghasilkan MSE terkecil.

7. Pemilihan arsitektur jaringan yang optimum sehingga siap digunakan pada peramalan.

Pengolahan data pergerakan kurs rupiah terhadap dollar Amerika Serikat dengan metode backpropagation jaringan syaraf tiruan dengan software Matlab 7.0 dapat diperlihatkan sebagai berikut :

1. Masukan data input dan target >> Data=[…]; >> P=Data(:,1:4)'; >> T=Data(:,5)'; 2. Preprocessing >> [pn,meanp,stdp,tn,meant,stdt]=prestd(P,T) 3. Membangun jaringan

Kemudian dibangun jaringan syaraf dengan metode pembelajaran gradient descent dengan momentum (traingdm) :

>> net=newff(minmax(pn),[10 5 1],{'tansig','logsig','purelin'},'traingdm');

4. Set bobot awal secara acak

Inisialisasi bobot awal dilakukan dengan bilangan acak dan dilakukan sampai menghasilkan MSE paling kecil (MSE ≥ 0). Dalam penelitian ini

51

bobot yang sudah didapatkan sehingga menghasilkan MSE terkecil mendekati 0 adalah sebagai berikut :

Bobot awal lapisan input ke lapisan tersembunyi pertama : >> net.IW{1,1}=[…];

Bobot bias awal lapisan input ke lapisan tersembunyi pertama : >> net.b{1,1}=[…];

Bobot awal lapisan tersembunyi pertama ke lapisan tersembunyi kedua : >> net.LW{2,1}=[…];

Bobot bias awal lapisan tersembunyi pertama ke lapisan tersembunyi kedua :

>> net.b{2,1}=[…];

Bobot awal tersembunyi kedua lapisan output : >> net.LW{3,2}=[…];

Bobot bias awal tersembunyi kedua ke lapisan output : >> net.b{3,1}=…;

5. Sebelum dilakukan pelatihan, ditetapkan terlebih dahulu parameter parameter yang digunakan sebagai berikut :

>> net.trainParam.epochs = 15000; >> net.trainParam.goal = 0.01; >> net.trainParam.lr =0.5; >> net.trainParam.show = 200; >> net.trainParam.mc = 0.8;

6. Kemudian dilakukan proses pelatihan : >> net=train(net,pn,tn);pause

7. Proses pelatihan : 0 2000 4000 6000 8000 10000 12000 14000 10-3 10-2 10-1 100 101 14849 Epochs T ra in in g -B lu e G o a l- B la c k Performance is 0.00999999, Goal is 0.01

Gambar 3.1 Hasil Pelatihan sampai 15000 epoh (iterasi)

Pada Gambar 3.1 terlihat bahwa performance jaringan telah goal (berhenti saat nilai MSE terkecil jaringan lebih kecil dari batas nilai goalnya) dimana 0,009 < 0,01 dan berhenti pada epoh ke-14849.

8. Untuk melihat bobot akhir :

>> BobotAkhir_Input = net.IW{1,1} >> BobotAkhir_Bias_Input=net.b{1,1} >> BobotAkhir_Lapisan1=net.LW{2,1} >> BoobotAkhir_Bias_Lapisan1=net.b{2,1} >> BobotAkhir_Lapisan2=net.LW{3,2} >> BobotAkhir_Bias_Lapisan2=net.b{3,1}

53

9. Melakukan simulasi dan pengujian dilakukan terhadap data-data yang ikut dilatih :

>> an=sim(net,pn);

>> a=poststd(an,meant,stdt); >> H = [(1:size(P,2))' T' a' (T'-a')]; >> sprintf('%2d %9.2f %7.2f %5.2f\n',H')

Hasilnya error (E) terkecil terletak pada data ke-24 yaitu sebesar 0,02, sedangkan terletak pada data ke-139 yaitu 190,69. Nilai MSE akhir pelatihan sebesar 0,009.

10. Evaluasi output jaringan (data pelatihan dengan target)

Output jaringan dan target dianalisis dengan regresi linier menggunakan postreg :

>> [m1,a1,r1]=postreg(a,T)

Menghasilkan :

Gradient garis terbaik (m1) :

m1 = 0,9897 Konstanta :

a1 = 108,0266

Persamaan garis untuk kecocokan terbaik : 0,9897T + 108,0266

Koefisien korelasi :

r1 = 0,9950

Koefisien korelasi bernilai 0,9950 (mendekati 1), menunjukkan hasil yang baik untuk kecocokan output jaringan dengan target (Gambar 3.2)

0.9 0.95 1 1.05 1.1 1.15 1.2 1.25 x 104 0.9 0.95 1 1.05 1.1 1.15 1.2 1.25x 10 4 T A

Best Linear Fit: A = (0.99) T + (108)

R = 0.995

Data Points Best Linear Fit A = T

Gambar 3.2 Hubungan antara target dengan output jaringan untuk data pelatihan

Untuk melihat perbandingan anatara target dengan output jaringan :

>> pause

>> plot([1:size(P,2)]',T,'bo',[1:size(P,2)]',a','r*');

>> title('Hasil Pengujian Dengan Data Pelatihan: Target(o), Output(*)'); >> xlabel('Data Ke-');ylabel('Target/Output');pause

Selanjutnya perbandingan anatara target dengan output jaringan pada Gambar 3.3 Pada gambar tersebut, output jaringan (o) dan target (*) sebagian besar sudah berdekatan (hampir semuanya menempati posisi yang sama). Hasil terbaik terjadi apabila posisi (o) dan target (*) betul-betul berada pada posisi yang sama.

55 0 20 40 60 80 100 120 140 160 180 200 0.9 0.95 1 1.05 1.1 1.15 1.2 1.25x 10

4 Hasil Pengujian Dengan Data Pelatihan: Target(o), Output(*)

Data Ke- T a rg e t/ O u tp u t

Gambar 3.3 Perbandingan antara target dengan output jaringan untuk data pelatihan

Selanjutnya pengujian akan dilakukan terhadap data-data yang tidak ikut dilatih (Data pengujian sebanyak 50 data pada tabel). Misalnya data cek disimpan pada matriks Q untuk input data (t-15), (t-10), (t-5) dan t, serta matriks TQ untuk target yakni data (t+5).

11. Input baru Q akan di tes, dengan target PQ

>> Cek=[…]; >> Q=Cek(:,1:4)'; >> TQ=Cek(:,5)';

12. Normalisasi input baru

Sebelumnya dilakukan normalisasi terlebih dahulu dengan trastd, hasil simulasi didenormalisasi dengan poststd.

>> Qn = trastd (Q,meanp,stdp); >> bn = sim (net,Qn);

>> b = poststd (bn,meant,stdt); >> L=[(1:size(Q,2))' TQ' b' (TQ'-b')];

>> sprintf('%2d %11.2f %9.2f % 7.2f\n',L')

Sehingga menghasilkan output ramalan selama dua bulan kedepan periode januari 2010 sampai februari (lampiran E kolom ramalan).

Dari data pengujian ini telah diperoleh peramalan (nilai output data) selama dua bulan kedepan. Untuk melihat hubungan antara target dengan output jaringan untuk data pengujian seperti terlihat pada Gambar 3.4 berikut ini :

9300 9350 9400 9450 9500 9550 9600 9650 9100 9200 9300 9400 9500 9600 9700 9800 T A

Best Linear Fit: A = (0.308) T + (6.37e+003)

R = 0.249

Data Points Best Linear Fit A = T

Gambar 3.4 Hubungan antara target dengan ouput jaringan untuk data pengujian

Pada Gambar 3.4 terlihat bahwa hasil pengujian yang dilakukan berdasarkan semua input data dan bentuk jaringan pada proses pelatihan. Untuk melihat perbandingan antara target dengan output jaringan dapat dilihat pada Gambar 3.5 berikut ini :

57 0 5 10 15 20 25 30 35 40 45 50 9100 9200 9300 9400 9500 9600 9700 9800

Hasil Pengujian Dengan Data Pelatihan: Target(o),Output(*)

Data Ke- T a rg e t/ O u tp u t

Gambar 3.5 Perbandingan antara target dengan output jaringan untuk data pengujian.

Pada Gambar 3.5 memperlihatkan bahwa output (o) dan target (*) hampir mirip dalam penyebaran datanya, namun keduanya tidak terlalu berdekatan. Hampir tidak mungkin kedua posisi antara output dan target benar-benar berada pada posisi yang sama. Sehingga output ramalan tidak terlalu mendekati target. Meskipun demikian peramalannya tetap bisa digunakan.

Dokumen terkait