Algoritma dalam MATLAB KESIMPULAN DAN SARAN 53

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