Jaringan Syaraf Tiruan Prediksi Trend Foreign Exchange Euro Terhadap Dollar Amerika Menggunakan Jaringan Syaraf Tiruan Backpropagation

2.2 Jaringan Syaraf Tiruan

Jaringan syaraf tiruan atau disebut juga dengan neural network NN adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan jaringan saraf manusia. Siang 2005 menjelaskan bahwa sejarah jaringan syaraf tiruan pertama kali diperkenalkan oleh McCulloch dan Pitts pada tahun 1943. McCulloch dan Pitts menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi sebuah system neural akan meningkatkan kemampuan komputasinya. Bobot jaringan yang diusulkan oleh McCulloch dan Pitts diatur untuk melakukan fungsi logika sederhana. Fungsi aktivasi yang dipakai adalah fungsi threshold. Selanjutnya pada tahun 1958, Rosenbalt memperkenalkan dan mulai mengembangkan model jaringan baru yang terdiri dari beberapa lapisan yang disebut dengan perceptron. Metode pelatihan diperkenalkan untuk mangoptimalkan hasil iterasinya. Kemudian Widrow dan Hoff 1960 mengembangkan perceptron dengan memperkenalkan aturan pelatihan jaringan, yang dikenal sebagai aturan delta atau sering disebut kuadrat rata-rata terkecil aturan ini mengubah bobot perceptron apabila keluaran yang dihasilkan tidak sesuai dengan target yang diinginkan. Apa yang dilakukan peneliti terdahulu hanya menggunakan jaringan dengan layer tunggal single layer. Rumelhart 1986 mengembangkan perceptron menjadi backpropagation , yang memungkinkan jaringan diproses melalului beberapa layer. Selain itu, beberapa model jaringan syaraf tiruan lain juga dikembangkan oleh Kohonen 1972, Hopfield 1982 dan lain-lain. Menurut Siang 2005 jaringan syaraf tiruan adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi. Jaringan syaraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa : a. Pemrosesan informasi terjadi pada banyak elemen sederhana neuron. b. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung. c. Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal. Universitas Sumatera Utara d. Untuk menentukan output setiap neuron menggunakan fungsi aktivasi biasanya bukan fungsi linier yang dikenakan pada jumlah input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang. 2.2.1 Arsitektur Jaringan Syaraf Tiruan Di dalam jaringan syaraf tiruan, neuron-neuron dikelompokkan dalam lapisan-lapisan. Umumnya neuron-neuron yang terletak pada lapisan yang sama akan memiliki keadaan yang sama. Faktor terpenting dalam menentukan kelakuan suatu neuron adalah fungsi aktivasi dan pola bobotnya. Pada setiap lapisan yang sama, neuron- neuron akan memiliki fungsi aktivasi yang sama. Menurut Kusumadewi 2010 pada dasarnya terdapat tiga macam arsitektur dalam jaringan syaraf antara lain : 1. Jaringan dengan lapisan tunggal single layer Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot-bobot terhubung. Jaringan ini hanya menerima input kemudian secara langsung akan mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi. Ciri-ciri arsitektur ini hanya terdiri atas satu lapisan masukkan dan satu lapisan keluaran tanpa adanya lapisan tersembunyi, seperti gambar 2.3 Gambar 2.3 Jaringan Layar Tunggal Kusumadewi, 2010 Pada gambar 2.3 diperlihatkan bahwa arsitektur jaringan layar tunggal dengan n buah masukan , ,….., yang masing-masing memiliki bobot , , …, dengan rumus : Universitas Sumatera Utara _ 2.1 Kemudian fungsi aktivasi F akan mengaktivasi y_in menjadi keluaran jaringan y. Untuk jaringan syaraf dengan jumlah neuron pada lapisan keluaran sebanyak m buah maka proses pengolahan data pada neuron adalah : _ ∑ ; j=1,…,m 2.2 Dengan adalah bobot yang menghubungkan masukkan ke-i menuju neuron ke-j. Namun terkadang jaringan syaraf tiruan tidak mampu mengakomodasi informasi yang ada melalui data-data masukan maupun bobot-bobotnya. Untuk itu biasanya ditambahkan bias yang senantiasa bernilai 1. Pengaruh bias terhadap neuron ditunjukkan dengan bobot bias b. Apabila jaringan syaraf dilengkapi dengan bias, maka proses komputasi pada neuron menjadi : ∑ + b 2.3 Jaringan syaraf dengan jumlah neuron pada lapisan keluaran sebanyak m buah maka proses pengolahan data pada neuron ke-j adalah : _ ∑ + ; j=1,…,m 2.4 adalah bobot yang menghubungkan masukkan ke-i menuju ke neuron ke-j dan adalah bobot bias yang menuju ke neuron ke-j. 2. Jaringan dengan banyak lapisan multi layer Arsitektur tipe ini memiliki satu atau lebih lapisan yang terletak di antara lapisan masukkan dan lapisan keluaran, juga memiliki satu atau lebih lapisan tersembunyi. Umumnya ada lapisan bobot-bobot yang terletak antara dua lapisan yang bersebelahan. Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada lapisan dengan lapisan tunggal dan tentu Universitas Sumatera Utara saja dengan pembelajaran yang lebih rumit juga. Gambar 2.4 merupakan salah satu contoh model neuron dengan banyak lapisan dan hanya memiliki satu lapisan tersembunyi. adalah bobot-bobot yang menghubungkan antara neuron-neuron pada lapisan tersembunyi dengan lapisan keluaran. z_ adalah hasil pengolahan data pada lapisan tersembunyi dengan fungsi aktivasi F1 untuk menghasilkan j=1,…,k; _ 2.5 = 1 2.6 Sedangkan y_ adalah hasil pengolahan data pada lapisan keluaran dengan fungsi aktivasi F2 untuk menghasilkan keluaran jaringan. ; = 1, … , 2.7 = 2.8 = 2 _ 2.9 Gambar 2.4 Model Neuron dengan Banyak Lapisan Kusumadewi, 2010 Universitas Sumatera Utara 3. Jaringan Syaraf dengan Lapisan Kompetitif Arsitektur tipe ini tampak pada gambar 2.5 dimana memiliki pengaturan bobot yang telah ditetapkan dan tidak memiliki proses pelatihan. Digunakan untuk mengetahui neuron pemenang dari sejumlah neuron yang ada. Nilai bobot untuk diri sendiri dari setiap neuron adalah 1, dan neuron lain adalah bobot acak negative dengan bobot –ƞ. Gambar 2.5 Model Neuron dengan Lapisan Kompetitif Kusumadewi, 2010 Dalam penelitian ini arsitektur jaringan yang digunakan terdiri dari lapisan input sejumlah 5 neuron, lapisan tersembunyi sejumlah n neuron, n = 10,11,12,…,20, lapisan output terdiri dari 1 neuron yaitu harga penutupan close forex euro esok hari. Misalkan lapisan input sejumlah 5 neuron, lapisan tersembunyi sejumlah 10 neuron dan lapisan output terdiri dari 1 neuron maka arsitektur jaringan tersebut adalah 5-10-1. Gambar 2.6 menunjukkan arsitektur jaringan untuk peramalan forex euro terhadap dollar Amerika menggunakan 1 lapisan input, 1 lapisan tersembunyi dan 1 lapisan output. 2.2.2 Proses Pembelajaran Tujuan utama dari proses pembelajaran adalah melakukan pengaturan terhadap bobot- bobot yang ada pada jaringan syaraf, sehingga diperoleh bobot akhir yang tepat sesuai dengan pola yang dilatih. Selama proses pembelajaran akan terjadi perbaikan bobot- bobot berdasarkan agoritma tertentu. Nilai bobot akan bertambah jika informasi yang diberikan oleh neuron bersangkutan tersampaikan, sebaliknya jika informasi tidak tersampaikan maka bobot akan dikurangi. Pada dasarnya ada dua metode proses pembelajaran, yaitu pembelajaran terawasi dan pembelajaran tidak terawasi. Universitas Sumatera Utara 1. Pembelajaran Terawasi Metode pembelajaran terawasi bila keluaran yang diharapkan telah diketahui sebelumnya. Misalkan dimiliki jaringan syaraf untuk mengenali pasangan pola dengan operasi AND, pada proses pembelajaran satu pola masukkan akan diberikan ke satu neuron pada lapisan masukkan. Pola dirambatkan disepanjang jaringan syaraf sampai dengan neuron pada lapisan keluaran. Lapisan keluaran ini akan membangkitkan pola keluaran yang nantinya akan dicocokkan dengan pola keluaran targetnya. Apabila terjadi perbedaan antara pola keluaran hasil pembelajaran dengan pola target maka terjadi error, apabila nilai error masih cukup besar mengindikasikan masih perlu dilakukan pembelajaran lagi. 2. Pembelajaran Tidak Terawasi Metode ini tidak memerlukan target keluaran karena tidak dapat ditentukan hasil seperti apakah yang diharapkan selama proses pembelajaran. Saat proses pembelajaran, nilai bobot disusun dalam suatu range tertentu tergantung pada nilai keluaran yang diberikan, apabila nilai error masih cukup besar mengindikasikan masih diperlukan proses pembelajaran. 2.2.3 Fungsi Aktivasi Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan antara lain : 1. Fungsi Sigmoid Biner Fungsi ini digunakan untuk jaringan syaraf yang dilatih menggunakan metode backpropagation . Fungsi sigmoid biner memiliki nilai antara 0 sampai 1. Karena itu fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai keluaran yang terletak pada interval 0 sampa 1. Fungsi sigmoid biner dirumuskan sebagai berikut : = = 1 1 + 2.10 ′ = [1 − ] 2.11 Universitas Sumatera Utara Gambar 2.6 Fungsi Aktivasi Sigmoid Biner Kusumadewi, 2010 2. Fungsi Sigmoid Bipolar Fungsi ini hampir sama dengan fungsi sigmoid biner, hanya saja keluaran dari fungsi ini antara 1 sampai -1. Fungsi sigmoid bipolar dirumuskan seperti berikut ini : = = 1 − 1 + 2.12 ′ = 2 [1 + ][1 − ] 2.13 Gambar 2.7 Fungsi Aktivasi Sigmoid Bipolar Kusumadewi, 2010 3. Fungsi Linear Identitas Fungsi linear ini memiliki keluaran yang sama dengan nilai masukannya, fungsi linear dirumuskan sebagai berikut : Universitas Sumatera Utara = 2.14 Gambar 2.8 Fungsi Aktivasi Linear Kusumadewi, 2010 2.2.4 Backpropagation Algoritma backpropagation merupakan bagian dari algoritma pembelajaran terawasi yang biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyi. Algoritma ini menggunakan error keluaran untuk mengubah nilai bobot- bobotnya dalam arah mundur backward. Untuk mendapatkan error ini tahap perambatan maju forward propagation harus dikerjakan terlebih dahulu. Saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid biner . 2.2.5 Normalisasi Data Normalisasi data berfungsi untuk membuat data yang akan diproses berada pada range tertentu sehingga dalam pemrosesan nantinya angka yang diolah tidak terlalu besar agar mempercepat proses perhitungan. Pada penelitian ini data pelatihan akan di normalisasi dalam range 0,1 sampai 0,9. Adapun rumus untuk melakukan normalisasi data pada range 0,1 sampai 0,9 menurut Siang 2005 adalah sebagai berikut : = 0,8 − - − - + 0,1 2.15 dimana : y = nilai normalisasi x = nilai data forex a = nilai minimum data forex b = nilai maksimum data forex Universitas Sumatera Utara Setelah data masukan yang telah dinormalisasi diproses dan didapatkan hasil prediksi maka hasil prediksi akan didernomalisasi kembali dengan menggunakan persamaan berikut : = − 0,1 − - + 0,8- 0,8 2.16 dimana : y = nilai hasil prediksi x = nilai hasil denormalisasi a = nilai minimum data forex b = nilai maximum data forex 2.2.6 Parameter Neural Network Backpropagation Backpropagation neural network memiliki beberapa parameter didalam metodenya. Parameter-parameter tersebut digunakan sebagai batas kesalahan dalam melakukan pembelajaran, batas minimum dari sebuah fungsi aktivasi dan kontrol ukuran pada sebuah bobot. Parameter yang digunakan pada backpropagation neural network adalah sebagai berikut : 1. Maximum epoch Epoch merupakan perulangan atau iterasi dari proses yang dilakukan untuk mencapai target yang telah ditentukan. Maksimum epoch adalah jumlah epoch maksimum yang boleh dilakukan selama proses pelatihan. Iterasi akan dihentikan apabila nilai melebihi maksimum epoch. 2. Learning rate Learning rate merupakan laju pembelajaran yang berupa perkalian negative dari gradient untuk menentukan perubahan pada nilai bobot dan bias. Semakin besar nilai learning rate akan berimplikasi pada semakin besarnya langkah pembelajaran. Jika learning rate di set terlalu besar maka algoritma akan menjadi tidak stabil. Sebaliknya jika di set terlalu kecil maka algoritma akan mencapai target dalam jangka waktu yang lama. Universitas Sumatera Utara 3. Momentum Pada standart backpropagation perubahan bobot didasarkan atas gradient yang terjadi untuk pola yang dimasukkan pada saat itu. Penambahan momentum dimaksudkan untuk menghindari perubahan bobot yang mencolok yang diakibatkan oleh adanya data yang sangat berbeda dengan yang lain. Variabel momentum dapat meningkatkan waktu pelatihan dan stabilitas dari proses pelatihan. Berikut merupakan rumus momentum : ∆ = 0 ∗ 2 ∗ 0 2.17 dimana : 0 = learning rate yang bernilai 0.25 atau 0.5 0 = nilai dari neuron ke i Perubahan bobot dilakukan dengan cara menambahkan bobot yang lama dengan ∆. Akan tetapi bobot pada iterasi sebelumnya memberikan pengaruh besar terhadap performa jaringan syaraf. Oleh karena itu perlu ditambahkan dengan bobot yang lama dikalikan momentum, menjadi : ∆ = 0 ∗ 2 ∗ 0 + 3 ∗ ∆′ 2.18 dimana : 3 = momentum faktor yang bernilai 0 dan 1 ∆′ = bobot pada iterasi sebelumnya Teknik momentum tidak menutup kemungkinan dari konvergensi pada lokal minimum, akan tetapi penggunaan teknik ini dapat membantu untuk keluar dari lokal minima. 4. Perhitungan error Perhitungan error bertujuan untuk mengukur keakurasian jaringan dalam mengenali pola yang diberikan. Ada tiga macam perhitungan error yang digunakan, yaitu : Universitas Sumatera Utara a. Mean Square Error MSE MSE merupakan error rata-rata kuadrat dari selisih antara output jaringan dengan output target. Tujuannya adalah memperoleh nilai error sekecil-kecilnya secara iterative dengan mengganti nilai bobot yang terhubung pada semua neuron dalam jaringan. Untuk mengetahui seberapa banyak bobot yang diganti, setiap iterasi memerlukan perhitungan error yang berasosiasi dengan setiap neuron pada output dan hidden layer. Rumus perhitungan MSE adalah sebagai berikut : 567 = 1 8 9 − : 2.19 dimana : 9 = nilai output target = nilai output jaringan N = jumlah output dari neuron b. Mean Absolute Error MAE MAE merupakan perhitungan error hasil absolute dari selisih antara nilai hasil sistem dengan nilai aktual. Rumus perhitungan MAE adalah sebagai berikut : 5;7 = 1 8 |9 − | : 2.20 c. Mean Absolute Percentage Error MAPE MAPE hampir sama dengan MAE hanya saja hasilnya dinyatakan dalam persentase. Rumus perhitungan MAPE adalah sebagai berikut : 5;=7 = 1 8 |9 − | : ∗ 100 2.21 Universitas Sumatera Utara

2.3 Foreign Exchange Forex