bersifat Adaptive seperti traingdx dan juga dengan menggunakan momentum seperti traingdm.
4.4. Algoritma dalam MATLAB
Secara garis besar MATLAB membutuhkan coding dalam menjalankan software-nya dan dalam membuat peramalan ini dibutuhkan alur perhitungan dengan algoritma.
Langkah – langkah membuat coding algoritma Resilient Backpropagation untuk peramalan di dalam software MATLAB adalah :
4.4.1. Membersihkan Jendela Command
Membersihkan jendela command ini dilakukan dengan menggunakan command “clc”, “close all” dan “clear all”. command “clc” digunakan untuk menghapus semua
command yang mungkin ada agar tidak terjadi crash pada software. Command “close all” adalah command untuk menghapus semua jendela folder yang masih terbuka dan
command “clear all” adalah command untuk menghapus jendela hasil dari proses peng-coding-an.
4.4.2. Mengambil Data yang Ada
Proses ini mengambil data dari data harga saham WIKA yang dimulai dari bulan Januari 2012 hingga bulan Desember 2012.
Universita Sumatera Utara
Data tersebut harus dikonversi dalam satu bentuk bobot angka tertentu sesuai kebutuhan dalam perhitungan dan di-coding-kan ke dalam MATLAB. Hal tersebut
dilakukan karena MATLAB hanya mampu mengolah data dengan nilai dari 1-10. Dalam kasus ini, bobot telah dibagi dengan 1000 dan dimasukkan kedalam coding
MATLAB seperti : a=[0.61,0.61,0.62,0.63,0.62,0.63,0.63,0.62,0.61,0.61,0.63,0.64,0.63,0.65,0.64,0.64,0.6
6,0.70,0.71,0.71,0.69,0.71,0.72,0.71,0.71,0.69,0.67,0.69,0.69,0.69,0.69,0.72,0.76,0.76 ,0.76,0.77,0.76,0.75,0.76,0.75,0.74,0.73,0.73,0.73,0.74,0.76,0.76,0.80,0.81,0.83,0.81,
0.81,0.80,0.79,0.85,0.83,0.81,0.80,0.83,0.83,0.83,0.87,0.86,0.91,0.91,0.91,0.91,0.88,0 .90,0.90,0.88,0.88,0.89,0.92,0.94,0.91,0.95,0.96,0.94,0.93,0.91,0.91,0.94,0.96,0.94,0.
98,0.99,1.04,1.09,1.10,1.09,1.09,1.06,1.04,1.05,1.01,1.00,1.02,1.02,1.02,1.03,1.03,1.0 1,1.02,1.00,1.00,0.99,0.95,0.92,0.92,0.87,0.93,0.95,0.96,0.96,0.98,1.00,0.98,0.92,0.93
,0.94,0.93,0.95,0.99,0.99,0.99,0.97,0.99,1.01,1.01,1.04,1.06,1.05,1.02,1.05,1.00,1.00, 1.00,1.01,1.02,1.03,1.05,1.05,1.04,1.03,1.00,1.01,1.01,1.03,1.03,1.03,1.00,1.00,1.01,1
.01,1.03,1.08,1.06,1.09,1.13,1.09,1.10,1.06,1.07,1.07,1.07,1.07,1.07,1.07,1.10,1.09,1. 07,1.06,1.04,1.05,1.08,1.10,1.09,1.11,1.15,1.16,1.15,1.14,1.13,1.14,1.13,1.12,1.14,1.1
6,1.19,1.25,1.23,1.21,1.19,1.21,1.26,1.29,1.43,1.43,1.43,1.39,1.39,1.38,1.36,1.33,1.36 ,1.35,1.35,1.39,1.38,1.40,1.39,1.37,1.37,1.37,1.35,1.38,1.37,1.36,1.35,1.31,1.33,1.37,
1.38,1.43,1.45,1.44,1.43,1.43,1.42,1.41,1.47,1.51,1.50,1.53,1.54,1.59,1.61,1.63,1.58,1 .55,1.60,1.60,1.56,1.55,1.57,1.53,1.45,1.48,1.49,1.47,1.40,1.39,1.42,1.42,1.42,1.48,1.
49,1.48,1.49]; tipe variable coding untuk input data. sizea; untuk tipe variable coding untuk peramalan.
Universita Sumatera Utara
4.4.3. Menentukan matriks Input dan Matriks Target T
Matriks input yang ditentukan adalah variable P1 dan P2 dimana P1 adalah harga saham dari hari ke-131 sampai hari ke-260 dan P2 adalah harga saham dari hari ke-1
sampai dengan 130, sehingga didapat matriks input P = [P1,P2] dan matriks target T yaitu dari hari ke-131 sd 260. pengetikan coding adalah sebagai berikut :
P1 = a:,131:260; data matriks input pertama P2 = a:,1:130;data matriks input kedua
P = [P1;P2]; matriks target
4.4.4. Membagi data menjadi data Pelatihan training
Data – data tersebut dibagi dalam ketentuan coding MATLAB. Data – data yang ada dibagi menjadi 2, yaitu data yang digunakan sebagai data untuk pelatihan. Dalam
kasus ini seperti berikut : t = a:,131:260; coding matriks target untuk prediksi yang ingin dicapai.
4.4.5. Lakukan Iterasi untuk Membandingkan Nilai MSE Terkecil dan Pengaturan
Penentuan Formula. Tahapan iterasi ini dimulai pengetesan dari unit hidden layer = 1 sampai dengan 10.
Dimana pengetesan tersebut dilakukan untuk mencari nilai MSE terkecil yang dimana hasil dari peramalan tersebut akan dipakai jika memiliki nilai MSE terkecil. Dalam
kasus ini pelatihan dimulai dari hidden layer berjumlah 1,2,3,4 dan 5.
Universita Sumatera Utara
Penentuan formula dengan mangatur fungsi antara input ke hidden layer menggunakan tansig dan dari hidden layer ke output menggunakan purelin dan
metode yang digunakan adalah traingdx. Karena metode traingdx adalah metode neural network yang dipakai untuk melakukan peramalan dan coding untuk hidden
layer dan penentuan formula, yaitu : Set RPRop dengan jumlah unit hidden 2, fungsi input-hidden = tansig, fungsi
aktivasi hidden-output = linear, metode = traingd net = newffminmaxp, [2,1], {‘tansig’,’purelin’}, ‘traingd’;
4.4.6. Menentukan Jumlah Maksimal Epoch
Jumlah pelatihan Epoch sangat berpengaruh dalam kinerja pelatihan. Pada umumnya untuk perhitungan dalam MATLAB biasanya mengatur agar maksimal epoch adalah
10.000 dan kemudian dimasukkan dalam bentuk coding MATLAB yaitu : net.trainParam.epoch=10000; maksimum epoch = 10000
4.4.7. Menggeser nilai goal MSE dan menentukan nilai pembelajaranα
Selanjutnya harus ditentukan nilai goal MSE agar MATLAB dapat membuat suatu pelatihan dimana prosesnya akan terhenti jika sudah tercapai tujuan yang diinginkan.
Dalam hal ini, nilai goal MSE yang ingin dicapai adalah 0,001 dan kemudian dimasukkan ke dalam bentuk coding MATLAB yaitu :
net.trainParam.goal = 0.001; target yang ingin dicapai MSE 0.001
Universita Sumatera Utara
4.4.8. Menentukan Nilai Pembelajaran Learning Rate dan Momentum
Pada dasarnya proses pembelajaran jaringan dengan algoritma Backpropagation standar biasanya lambat. Maka agar proses tersebut bias diatur agar menjadi lebih
cepat adalah dengan menambahkan nilai parameter nilai pembelajaran dan momentum. Parameter nilai pembelajaran memberikan acuan besarnya penyesuaian pada bobot
ketika dilakukan proses belajar. Proses belajar jaringan menjadi sangat lambat jika nilai pembelajaran yang digunakan terlalu kecil akan tetapi bila nilai pembelajaran
yang digunakan terlalu besar maka proses pembelajaran akan menyebar sehingga keluar dari batasnya. Hal tersebut dapat diminimalkan dengan memberikan nilai yang
dinamakan momentum. Dalam hal ini dengan menggunakan momentum, perubahan bobot didasarkan
gradient yang terjadi untuk pola yang dimasukkan saat itu. Momentum akan membuat jaringan menyesuaikan bobot yang lebih besar selama koreksinya memiliki arah yang
sama dengan pola yang ada. Sedangkan nilai pembelajaran yang kecil digunakan untuk mencegah respon yang besar terhadap error dari satu pola proses belajar. Maka
setelah melalui banyak penelitian, untuk perhitungan dalam penulisan ini menggunakan parameter umum untuk nilai pembelajaran dan momentumnya dimana
nilai pembelajaran sebesar 0,1 dan nilai momentum sebesar 0,75. Nilai pembelajaran kemudian dimasukkan dalam bentuk coding MATLAB yaitu seperti :
net.trainParam.1r=0.1; nilai pembelajaran alpha=0.1 net.trainParam.Show=100; tunjukkan perubahan setiap epoch 100
Sedangkan untuk nilai momentum-nya karena menggunakan metode traingd maka nilai momentumnnya sudah ditentukan didalam toolbox MATLAB.
Universita Sumatera Utara
4.4.9. Menentukan Rasio Untuk Menaikkan Nilai Pembelajaran dan untuk
Menurunkan Nilai Pembelajaran Learning Rate Metode yang digunakan dalam penelitian ini adalah metode traingd. Dengan
menggunakan metode traingd maka tidak diperlukan lagi untuk menentukan besarnya rasio. Hal ini disebabkan di dalam toolbox traingd sudah ditentukan besarnya rasio
untuk menaikkan dan menurunkan nilai pembelajaran, yaitu rasio untuk menaikkan nilai pembelajaran adalah 1,2 dan besarnya rasio untuk menurunkan nilai
pembelajaran adalah 0,6.
4.4.10. Melakukan Pelatihan Resilient Backpropagation dan Simulasikan Hasil
Pelatihan Dalam tahapan ini dilakukan proses coding untuk melakukan pelatihan Resilient
Backpropagation dan coding untuk mesimulasikan hasil pelatihan di dalam software MATLAB. Coding tersebut dapat dijelaskan sebagai berikut :
[net,tr]=trainnet,p,t; coding untuk melakukan train terhadap input, target. y=simnet,p; coding untuk mensimulasikan hasil training pelatihan.
4.4.11. Menghitung MSE antara Target dan Output
Pada tahap ini dimasukkan data Coding untuk menghitung MSE antara target dan Output. Coding tersebut dapat dijelaskan sebagai berikut :
Universita Sumatera Utara
e = y-t; error = output – target coding untuk menghitung MSE antara target dan output
v=a; penentuan nama variable yang dipakai v:,290=0.1; coding untuk memberitahukan total jumlah data yang ada dan
menggunakan nilai pembelajaran 0,1
4.4.12. Melakukan Prediksi untuk hari ke-261 sd 290
Kemudian dilakukan tahapan coding untuk membuat prediksi dari hari ke-261 sampai dengan hari ke-290 dengan coding seperti berikut :
for i = 1:30, coding di sini untuk menentukan bahwa ada 30 hari yang ingin dicari prediksinya.
K=i+259; data bulan awal yang ingin diprediksikan l=1+130; data disini digunakan mencari data hari ke
j=i+260; data disini digunakan untuk menentukan bahwa hari yang ingin dicari adalah hari ke 260 keatas.
Pv1=v:,k; coding untuk variable k Pv2=v:,l; coding peramalan untuk variabel l
Pv=[Pv1;Pv2]; coding untuk matriks input v:,j=simnet,Pv; coding untuk peramalan hari ke 261 sd 290.
end untuk mengakhiri command
Universita Sumatera Utara
4.4.13. Hitung MSE dari Hasil Testing
Pada tahap ini dimasukkan data coding untuk menghitung MSE dari hasil testing yaitu :
z = v:,261:290; coding menentukan variabel yang dijadikan perbandingan yaitu hari ke-261 sampai 290 ini adalah data hasil peramalan
yv = v:,260:270; coding menentukan variabel yang dijadikan perbandingan yaitu hari ke 260 sampai 270 dari hasil peramalan
dan coding dibawah ini untuk menampilkan nilai MSE ke window result MSE = msee;
fprintf‘MSE_train = 12.8f\n’, MSE;
4.4.14. Running Program
Dalam tahapan terakhir ini setelah dimasukkan semua coding yang ada maka proses yang selanjutnya dilakukan adalah running program dan kemudian akan muncul hasil
yang ingin dicapai pada window result.
4.5. Pengolahan Data dengan Pemrograman MATLAB