Top Banner
TESIS RANCANG BANGUN SISTEM PREDIKSI NILAI TUKAR VALUTA ASING MENGGUNAKAN JARINGAN SYARAF TIRUAN DESIGN AND DEVELOPMENT OF FOREIGN EXCHANGE RATE PREDICTION SYSTEM USING ARTIFICIAL NEURAL NETWORK Diajukan untuk memenuhi salah satu syarat memperoleh derajat Master of Computer Science Ilmu Komputer HASAN MUROD 09/291952/PPA/02996 PROGRAM STUDI S2 ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA 2015
128
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • TESIS

    RANCANG BANGUN SISTEM PREDIKSI NILAI TUKAR VALUTA ASING MENGGUNAKAN JARINGAN SYARAF TIRUAN

    DESIGN AND DEVELOPMENT OF FOREIGN EXCHANGE RATE PREDICTION SYSTEM USING ARTIFICIAL NEURAL NETWORK

    Diajukan untuk memenuhi salah satu syarat memperoleh derajat Master of Computer Science Ilmu Komputer

    HASAN MUROD

    09/291952/PPA/02996

    PROGRAM STUDI S2 ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH

    MADA YOGYAKARTA2015

  • PRAKATA

    Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa, yang telah

    melimpahkan rahmat dan karunia-Nya kepada kita semua, yang telah

    mengajarkan kepada Adam nama-nama, yang telah memerintahkan kepada

    Muhammad (shalawat dan salam padanya) untuk membaca, dan yang telah

    menganugerahkan alam semesta sebagai ayat-ayat yang harus dibaca.

    Terima kasih penulis ucapkan untuk Prof. Drs. Subanar, Ph.D., yang telah

    membuat penelitian tugas akhir ini menjadi mudah dengan segala bentuk

    dukungan dan bimbingannya. Untuk para penguji tesis dan pra-tesis, Prof. Dra.

    Sri Hartati, M.Sc, Ph.D, Dr.-Ing. MHD. Reza M.I. Pulungan, S.Si., M.Sc., Drs.

    Agus Harjoko, M.Sc, Ph.D, dan Drs. Retantyo Wardoyo, M.Sc, Ph.D, yang telah

    memberikan kritik dan juga saran yang membangun, seluruh pengurus dan

    pengelola program studi yang telah membantu kelancaran semua urusan, hanya

    ucapan terima kasih yang bisa penulis sampaikan, semoga segala kebaikan

    mendapat balasan dari Tuhan melalui segenap alam. Tidak lupa untuk istriku

    tercinta, Upik Rasi Siti Rahayu, S.TP, yang selalu mendukung dan memberi

    semangat demi selesainya penelitian ini, juga kepada semua teman-teman yang

    telah berbagi ide dan motivasi, penulis menyampaikan terimakasih yang setulus-

    tulusnya, karena tanpa dukungan itu tentulah perjuangan akan terasa berat.

    Akhir kata, tiada gading yang tak retak, meski tidak terbebas dari segala

    bentuk kekurangan, penulis berharap semoga penelitian ini bermanfaat untuk

    kebaikan umat manusia, dan menjadi pendorong bagi penulis dan para pembaca

    untuk terus berkarya mengembangkan penelitian-penelitian kelanjutannya.

    Yogyakarta, 9 April 2015

    Penulis

  • DAFTAR ISI

    PRAKATA ivDAFTAR ISI vDAFTAR GAMBAR ixDAFTAR TABEL xiINTISARI xiiABSTRACT xiii

    BAB I. PENDAHULUAN 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Batasan Masalah 4 1.4 Tujuan Penelitian 5 1.5 Manfaat Penelitian 5 1.6 Keaslian Penelitian 5 1.7 Metodologi Penelitian 6 1.8 Sistematika Penulisan 9

    BAB II. TINJAUAN PUSTAKA 11

    BAB III. LANDASAN TEORI 19 3.1 Perdagangan Valuta Asing 19 3.1.1 Nilai tukar valas dan faktor fundamental yang

    mempengaruhinya19

    3.1.2 Analisa fundamental dalam prediksi nilai tukar valas 20 3.1.3 Analisa teknikal dalam prediksi nilai tukar valas 20 3.1.4 Perdagangan valuta asing dan pengukuran unjuk kerjanya 22 3.2 Jaringan Syaraf Tiruan 24 3.2.1 Neuron tunggal dan fungsi aktifasi 25 3.2.2 Multi-layer feed forward neural network 26 3.2.3 Konsep pembelajaran/pelatihan pada jaringan syaraf tiruan 28 3.2.4 Algoritma pelatihan rambat balik 29

    Laju pembelajaran dan momentum 32 3.2.5 Metode pelatihan resilient back-propagation 33 3.2.4 Minimum lokal 35 3.2.5 Overfitting 36 3.2.6 Pengukuran unjuk kerja jaringan syaraf tiruan 38

    Mean square error (MSE) 38Normalized mean square error (NMSE) 38Correct sign statistics (CS) 40Correct directional change statistics (CD) 40

  • 3.3 Algoritma Genetik 41 3.3.1 Algoritma genetik kontinyu 43 3.3.2 Pengkodean kromosom kontinyu 43 3.3.3 Pindah-silang (crossover) 44 3.3.4 Mutasi 46 3.3.5 Seleksi 47 3.3.6 Prosedur evolusi 47

    BAB IV. ANALISA DAN PERANCANGAN SISTEM 49 4.1 Sistem dan Komponen-Komponen Penyusunya 49 4.2 Data, Pemroses Awal, Pemroses Akhir, dan Pembangkit Sinyal Dagang

    50

    4.2.1 Pengumpulan data 50Pembagian (partisi) data 51

    4.2.2 Pemrosesan awal, pemrosesan akhir, dan pembangkitan sinyal dagang

    52

    Pemrosesan awal masukan dan target keluaran jaringan syaraf tiruan

    52

    Pemrosesan akhir 53Pembangkitan sinyal dagang 54

    4.3 Jaringan Syaraf Tiruan, Pelatihan Rambat Balik Standard, dan Pelatihan Resilient

    54

    4.3.1 Jaringan syaraf tiruan 54Jumlah neuron tiap lapisan 55Fungsi aktivasi 56Simpul bias 57

    4.3.2 Pelatihan rambat balik standard 57 4.3.3 Pelatihan resilient back-propagation dengan implementasi finite difference

    61

    4.4 Pelatihan Hibrida Gradient-Descent Algoritma Genetik 63 4.4.1 Prosedur pelatihan hibrida 63 4.4.2 Analisa perubahan galat pada pelatihan hibrida 64 4.4.3 Pemotongan iterasi pelatihan gradient-descent, tingkat

    hibrida, moda pelatihan gradient-descent murni, dan moda pelatihan algortma genetik murni

    66

    Tingkat hibrida 66Moda pelatihan gradient-descent murni dan moda pelatihan algoritma genetik murni

    66

    Fungsi fitness 66 4.5 Simulator Perdagangan 67 4.5.1 Penggunaan modal sebagai jaminan 67 4.5.2 Jenis-jenis transaksi dan mekanismenya 68

    Transaksi membuka posisi beli 68Transaksi membuka posisi jual 68

  • Transaksi menutup posisi 69Manajemen modal 69

    4.5.3 Penggunaan sinyal dagang 70 4.6 Rancangan Pengujian 70 4.6.1 Pemilihan laju pembelajaran dan momentum 70 4.6.2 Pengujian unjuk kerja pelatihan rambat balik 70 4.6.3 Pengujian unjuk kerja pelatihan resilient 70 4.6.4 Pengujian unjuk kerja pelatihan algoritma genetik 71 4.6.5 Pengujian unjuk kerja pelatihan hibrida rambat balik dan

    algoritma genetik71

    4.6.6 Pengujian unjuk kerja pelatihan hibrida resilient dan algoritma genetik

    71

    4.6.7 Pengujian unjuk kerja simulasi perdagangan jangka panjangdengan pelatihan ulang

    72

    BAB V. IMPLEMENTASI 73 5.1 Perangkat Pengembangan dan Kode Program 73 5.2 Data Cache, Pemrosesan Awal, Pemrosesan Akhir, dan Pembangkitan Sinyal Dagang

    74

    5.2.1 Data ache 76 5.2.2 Pemrosesan awal 78 5.2.3 Pemrosesan akhir dan pembangkitan sinyal perdagangan 78 5.3 Jaringan Syaraf Tiruan dan Pelatihan Gradient-Descent 81 5.3.1 Bobot-bobot dan simpul-simpul 82 5.3.2 Fungsi prediksi 82 5.3.3 Implementasi pelatihan rambat balik standard dan resilient 84 5.3.4 Proses pelatihan dan pengukuran unjuk kerja pelatihan 89

    Iterasi pelatihan 90Pengukuran mean square error (MSE) 91Pengukuran correct sign statistics (CS) dan skor Sortino (SS)

    91

    5.3.6 Fungsi fitness 93 5.4 Algoritma Genetik 93 5.4.1 Pembentukan populasi baru 93 5.4.2 Seleksi 94 5.4.3 Proses reproduksi 96 5.4.4 Proses regenerasi 98 5.4.4 Proses evolusi 99 5.5 Simulasi Perdagangan 102 5.6 Pengukuran Unjuk Kerja Return dan Risk-Adjusted Return Rasio Sortino

    104

    BAB VI. HASIL PENELITIAN DAN PEMBAHASAN 106 6.1 Laju Pembelajaran dan Momentum 106

  • 6.2 Unjuk Kerja Pelatihan Rambat Balik 106 6.3 Unjuk Kerja Pelatihan Resilient 107 6.4 Unjuk Kerja Pelatihan Algoritma Genetik 108 6.5 Unjuk Kerja Pelatihan Hibrida Rambat Balik-Algoritma Genetik 108 6.6 Unjuk Kerja Pelatihan Hibrida Resilient-Algoritma Genetik 108 6.7 Perbandingan Unjuk Rerata Pelatihan Algoritma Genetik, Rambat Balik, Resilient, Hibrida Rambat Balik-Algoritma Genetik, dan Hibrida Resilient-Algoritma Genetik

    109

    6.8 Simulasi Perdagangan Jangka Panjang 110 6.9 Perbandingan dengan Penelitian Lain 112

    BAB VII. KESIMPULAN DAN SARAN 113 7.1 Kesimpulan 113 7.2 Saran Penelitian 113

    DAFTAR PUSTAKA 114

  • DAFTAR GAMBAR

    Gambar 3.1 Drawdown dan recovery time 23Gambar 3.2 Perkembangan ekuitas dengan berbagai nilai Sortino ratio 23Gambar 3.3 Perbandingan sel syaraf tunggal dengan unit tunggal jaringan syaraf buatan

    24

    Gamabr 3.4 Model sel syaraf tunggal (neuron) sebagai elemen dasar komputasi jaringan syaraf tiruan

    25

    Gambar 3.5 Multi-layer feed-forward neural network dengan satu layer tersembunyi

    27

    Gambar 3.6 Multi-layer feed-forward neural network dengan dua layer tersembunyi (simpul-simpul bias tidak ditunjukkan)

    27

    Gambar 3.7 Sebuah neuron lapisan tersembunyi A dan hubungannya dengan neuron-neuron lapisan keluaran B dan C

    30

    Gambar 3.8 Galat sebagai fungsi dari bobot 35Gambar 3.9 Penghentian dini (early-stopping) pada jaringan syaraf tiruan 37Gambar 3.10 Struktur DNA, gen, dan kromosom di dalam sel 41Gambar 3.11 Contoh model kromosom yang memuat 2 variabel dengan

    pengkodean biner42

    Gambar 3.12 Representasi visual kromosom di dalam komputer per bit (A) dan per variabel (B)

    44

    Gambar 4.1 Diagram blok sistem dengan komponen-komponen sub- sistem penyusunnya

    49

    Gambar 4.2 Arsitektur jaringan syaraf tiruan 55Gambar 4.3 Struktur jaringan syaraf tiruan dengan bobot-bobot yang telah diinisialisasi serta diberi masukan dan target keluaran

    58

    Gambar 4.4 Perubaha bobot pelatihan hibrida gradient-descent algoritma genetik

    65

    Gambar 5.1 Deklarasi kelas FXPrep (berkas mat/mat.h, baris 56-83) 74Gambar 5.2 Deklarasi struktur TFDATA dan PREPDATA (mfann/mfann.h, baris 127-144)

    75

    Gambar 5.3 Deklarasi struktur dan fungsi-fungsi pemrosesan dalam dynamic link library (berkas fprep_multidiffma4.h)

    77

    Gambar 5.4 Implementasi fungsi-fungsi dynamic link library(fprep_multidiffma4.cpp, baris 37-73)

    79

    Gambar 5.5 Deklarasi kelas TForexANN seksi public (berkas mfann/mfann.h, baris 146-199)

    80

    Gambar 5.6 Deklarasi kelas TForexANN seksi private (berkas mfann/mfann.h, baris 201-247)

    81

    Gambar 5.7 Fungsi predict() dalam berkas mfann/main.cpp baris 819-865 83Gambar 5.8 Definisi fungsi BackPropagate bagian ke-1, berkas

    mfann/main.cpp, baris 868-89684

  • Gambar 5.9 Definisi fungsi BackPropagate bagian ke-2, berkas mfann/main.cpp, baris 897-948

    86

    Gambar 5.10 Definisi fungsi BackPropagate bagian ke-3, berkas mfann/main.cpp, baris 950-993

    87

    Gambar 5.11 Definisi fungsi BackPropagate bagian ke-4, berkas mfann/main.cpp, baris 995-1019

    88

    Gambar 5.12 Implementasi penghitungan turunan parsial dengan finite difference dalam berkas mfann/main.cpp baris 1050-1070

    89

    Gambar 5.13 Iterasi pelatihan 90Gambar 5.14 Pengukuran mean square error (MSE), correct sign statistic

    (CS), dan skor Sortino (SS) di dalam fungsi RunTrainThread dalam berkas mfann/main.cpp

    92

    Gambar 5.15 Implementasi fungsi fitness (mfann/main.cpp, baris 497-503) 93Gambar 5.16 Deklarasi kelas TPopulation (mfann/mfann.h, baris 249-287) 94Gambar 5.17 Definisi fungsi Create, mfann/main.cpp (baris 3-38) 95Gambar 5.18 Implementasi metode seleksi (mfann/main.cpp, baris

    279-297)96

    Gambar 5.19 Definisi fungsi Reproduce (mfann/main.cpp, baris 304-372) 97Gambar 5.20 Definisi fungsi ProduceNewGeneration, berkas mfann/main.cpp baris 194-215

    98

    Gambar 5.21 Implementasi fungsi evolutionloop bagian-1 (berkas mat/main.cpp, baris 2719-2785)

    100

    Gambar 5.22 Implementasi fungsi evolutionloop bagian-2 (berkas mat/main.cpp, baris 2768-2812)

    101

    Gambar 5.23 Implementasi state trading_run (berkas mat/main.cpp, baris 2580-2656)

    103

    Gambar 5.24 Implementasi fungsi GetSortino, berkas mat/main.cpp, baris 2209-2261

    105

    Gambar 6.1 Perkembangan ekuitas simulasi perdagangan dengan pelatihan ulang mode retstart pada model 5-6-1/RGA

    101

    Gambar 6.2 Hasil simulasi perdagangan EUR/USD dalam penelitian Hedman (2012)

    102

  • DAFTAR TABEL

    Tabel 2.1 Perbandingan beberapa penelitian sejenis 17Tabel 6.1 Tabel 6.1 Nilai MSE untuk berbagai variasi laju pembelajaran

    (LR) dan momentum106

    Tabel 6.2 Unjuk kerja pelatihan rambatbalik 107Tabel 6.3 Unjuk kerja pelatihan resilient 107Tabel 6.4 Unjuk kerja pelatihan algoritma genetik 108Tabel 6.5 Unjuk kerja pelatihan hibrida rambatbalik-algoritma genetik 109Tabel 6.6 Unjuk kerja pelatihan hibrida resilient-algoritma genetik 109Tabel 6.7 Perbandingan rerata MSE (AMSE), rerata CS (ACS), dan rerata

    return (AR) untuk periode data latih dan 6 bulan setelahnya110

    Tabel 6.8 Perbandingan rerata MSE (AMSE), rerata CS (ACS), dan rerata return (AR) untuk periode 1 dan 2 tahun

    110

    Tabel 6.9 Hasil simulasi perdagangan jangka panjang dengan pelatihan ulang

    111

  • INTISARI

    RANCANG BANGUN SISTEM PREDIKSI NILAI TUKAR VALUTA

    ASING MENGGUNAKAN JARINGAN SYARAF TIRUAN

    oleh

    HASAN MUROD

    09/291952/PPA/02996

    Potensi keuntungan dari volume perdagangan yang besar pada pasar valuta asing mendorong pengembangan sistem prediksi untuk memprediksi pergerakan nilai tukar berbagai mata uang yang diperdagangkan. Jaringan syaraf tiruan merupakan salah satu model yang banyak diteliti dalam bidang ini karena kemampuannya dalam mempelajari pola data time-series dengan menggunakan sampel data historis tanpa perlu mengetahui faktor-faktor yang menyebabkan pergerakannya.

    Masalah utama pada sistem seperti ini adalah sulitnya memperoleh unjuk kerja yang konsisten dalam menghasilkan keuntungan untuk jangka panjang. Untuk mengatasi hal ini, sistem prediksi berbasis jaringan syaraf tiruan dengan pelatihan hibrida gradient descent dan algoritma genetik telah dibangun. Metode hibrida memungkinkan digunakannya skor Sortino dalam fungsi fitness sebagai usaha untuk meningkatkan unjuk kerja jangka panjangnya.

    Dengan pelatihan hibrida gradient descent-algoritma genetik, hasil eksperimen menunjukkan bahwa sistem yang dibangun berhasil menampilkan unjuk kerja yang baik pada simulasi perdagangan Euro-U.S. Dollar jangka panjang (sekitar 5 tahun). Dengan pengukuran unjuk kerja risk-adjusted-return untuk periode yang cukup panjang, investor atau manajer investasi akan mendapatkan keyakinan yang lebih tinggi dalam mempertimbangkan suatu sistem sebagai pilihan investasi.

  • ABSTRACT

    DESIGN AND DEVELOPMENT OF FOREIGN EXCHANGE RATE

    PREDICTION SYSTEM USING ARTIFICIAL NEURAL NETWORK

    by

    HASAN MUROD

    09/291952/PPA/02996

    Potential profit coming from high trading volume in foreign-exchange market motivates the development of prediction system to predict the movement of the traded currencies's rate. Artificial neural network is one of the model which is largely researched in this field because its ability to predict time-series pattern by learning only from the historical sample data without prior knowledge about the cause or the rule of the moves.

    The main problem of such system is the difficulty of obtaining consistent performance in making profit for the long term. To overcome this isue, a prediction system based on artificial neural network with hybrid training of gradient descent-genetic algorithm was built. The method of hybrid training enable the use of Sortino score in the fitness function as an effort to enhance the long term performance.

    With hybrid training of gradient descent-genetic algorithm, experiment result shows that the developed system performs well in a long term Euro-U.S. Dolar trading simulation (about 5-year period). With long term risk-adjusted-return performance measurement, an investor or investment manager would have a higher confidence in considering the system as an investment choice.

  • 1BAB I PENDAHULUAN

    1.1 Latar BelakangPotensi keuntungan dari volume perdagangan yang besar pada pasar valuta

    asing merupakan faktor yang mendorong berkembangnya usaha untuk

    memprediksi pergerakan nilai tukar berbagai mata uang yang diperdagangkan.

    Sebagai ilustrasi, volume perdagangan U.S. Dollar pada April 2013 mencapai 5,3

    trilyun Dollar per hari (Rime dan Schrimpf, 2013). Salah satu model yang banyak

    diteliti sebagai basis dari sistem prediksi perubahan nilai tukar valuta asing adalah

    jaringan syaraf tiruan (JST). Model ini banyak digunakan karena kemampuannya

    dalam mempelajari pola data time-series dengan hanya berdasarkan pada

    informasi dari sampel data historis tanpa perlu mengetahui faktor-faktor

    fundamental yang menyebabkan pergerakannya.

    Metode penelitian pada perancangan sistem prediksi berbasis jaringan

    syaraf tiruan biasanya menggunakan sejumlah sampel data historis terbaru yang

    dibagi menjadi tiga bagian, yaitu himpunan data pelatihan, validasi, dan pengujian

    (Kaastra dan Boyd, 1996). Metode seperti ini banyak digunakan oleh banyak

    peneliti seperti misalnya Ouyang dan Yin (2014), Evans dkk. (2013), Fathian dan

    Kia (2012), Lahmiri (2011), Philip dkk. (2011), Yu dkk. (2005), serta

    Kamruzzaman dan Sarker (2004). Pembagian data menjadi himpunan data

    pelatihan, validasi, dan pengujian dilakukan dengan membagi data historis dengan

    proporsi sekitar 70%, 20%, dan 10% (Yao dan Tan, 2001). Dengan metode ini,

    percobaan dilakukan pada sistem dengan beberapa variasi konfigurasi parameter,

    kemudian unjuk kerjanya dibandingkan untuk memilih konfigurasi yang

    menghasilkan unjuk kerja terbaik pada himpunan data uji (out-of training

    sample). Sebagai contoh, jika sampel data historis tersedia dari tahun 2001-2010

    (periode 10 tahun), maka himpunan data uji diambil dari 10% segmen terakhir,

    yaitu sampel dari tahun 2010. Dengan partisi data seperti itu, sebuah sistem

  • 2kemudian diujicoba dengan beberapa konfigurasi, misal konfigurasi A, B, dan C.

    Sistem tersebut kemudian dilatih dengan data dari tahun 2001-2007, divalidasi

    dengan data tahun 2008-2009, dan diuji unjuk kerjanya dengan data 2010. Jika

    kemudian terpilih konfigurasi B sebagai konfigurasi terbaiknya, maka kemudian

    disimpulkan bahwa sistem yang diteliti berhasil memberikan unjuk kerja sesuai

    dengan unjuk kerja sistem dengan konfigurasi terbaiknya (konfigurasi B).

    Metode seperti mempunyai masalah, misalnya ketika sistem akan digunakan

    secara nyata (real-time) pada tahun 2011, maka konfigurasi terbaiknya (apakah itu

    A, B, atau C) tidak diketahui karena pengujian dengan data periode tahun 2011

    untuk memperbandingkannya tidak dapat dilakukan karena datanya tidak tersedia

    (karena belum terjadi). Jika untuk penggunaannya secara nyata (real-time) pada

    tahun 2011 digunakan konfigurasi B yang ditentukan dengan pengujian

    menggunakan data historis tahun 2010, maka metode tersebut mengasumsikan

    bahwa unjuk kerja selama satu tahun tertentu (2010) memiliki kemiripan dengan

    tahun berikutnya (2011), yang pada kenyataanya tidak selalu demikian.

    Dari sudut pandang manajemen investasi, memproyeksikan unjuk kerja 1

    tahun ke depan berdasarkan unjuk kerja 1 tahun sebelumnya boleh saja dilakukan,

    tetapi sebagai dasar pengambilan keputusan apakah suatu investasi akan dipilih

    sebagai opsi untuk diversifikasi atau tidak akan lebih meyakinkan jika proyeksi

    tersebut dilakukan berdasarkan tren perkembangan ekuitas dalam jangka waktu

    yang lebih panjang (lebih dari 3 tahun). Kaastra dan Boyd (1996) menyarankan

    agar simulasi perdagangan dilakukan untuk mengukur parameter risk-adjusted

    return sebagai dasar untuk memilih jaringan terbaik, bukan berdasarkan galat

    terkecil dari pelatihan jaringan syaraf tiruan.

    Karena jaringan tidak dipilih secara langsung berdasarkan galat terkecil

    pada pelatihan, maka ada satu pertanyaan yang muncul, yaitu adakah suatu

    metode pelatihan yang secara khusus dirancang untuk meningkatkan unjuk kerja

    risk-adjusted-return? Untuk menjawab pertanyaan ini penulis mencoba

    membangun sebuah metode pelatihan yang menggabungkan metode pelatihan

  • 3gradient-descent dan algoritma genetik (hibrida gradient-descent algoritma

    genetik). Pelatihan gradient-descent dilakukan pada sejumlah jaringan syaraf

    tiruan. Sejumlah jaringan tersebut kemudian dilihat dari sudut pandang algoritma

    genetik sebagai sebuah populasi, sehingga kemudian pelatihannya dilanjutkan

    dengan regenerasi melalui seleksi, pindah-silang, dan mutasi. Generasi baru yang

    dihasilkan kemudian dilatih kembali dengan metode gradient-descent, dan

    dihitung nilai fitness-nya. Proses regenerasi yang diikuti dengan pelatihan

    gradient-descent ini dilakukan secara berulang-ulang dari satu generasi ke

    generasi selanjutnya hingga nilai fitness antar generasinya tidak lagi menunjukkan

    peningkatan yang signifikan. Sebagai upaya untuk meningkatkan unjuk kerja risk-

    adjusted return, maka nilai fitness yang digunakan pada proses seleksi

    dirumuskan menggunakan skor Sortino sebagai salah satu unsurnya. Skor Sortino

    diperkenalkan dalam penelitian ini sebagai modifikasi dari rasio Sortino, yaitu

    parameter risk-adjusted return yang hanya menggunakan deviasi negatif

    (penurunan ekuitas) sebagai pengukur resiko. Dengan metode pelatihan hibrida

    pada sistem prediksi ini, keuntungan (return) dari perdagangan yang dilakukan

    berdasarkan hasil prediksinya diharapkan akan meningkat tidak hanya pada

    sampel data latih tetapi juga pada penggunaanya secara real-time atau

    simulasinya menggunakan sampel data uji di luar sampel data latih.

    1.2 Rumusan MasalahSesuai dengan latar belakang permasalahan yang telah dipaparkan,

    masalah dalam penelitian ini dapat dirumuskan sebagai pertanyaan-pertanyaan

    berikut:

    Bagimana metode pelatihan hibrida gradient-descent algoritma genetik

    dirancang dan diimplementasikan pada jaringan syaraf tiruan untuk

    aplikasi prediksi nilai tukar valuta asing?

    Apakah metode pelatihan hibrida tersebut dapat menaikkan tingkat

    keberhasilan prediksi perubahan nilai tukar valuta asing, jika dibandingkan

  • 4dengan metode pelatihan gradient-descent murni atau algoritma genetik

    murni?

    Apakah metode pelatihan hibrida tersebut dapat meningkatkan keuntungan

    (return) pada simulasi perdagangan valuta asing, jika dibandingkan dengan

    metode pelatihan gradient-descent murni atau algoritma genetik murni?

    1.3 Batasan MasalahDengan judul Rancang Bangun Sistem Prediksi Nilai Tukar Valuta Asing

    menggunakan Jaringan Syaraf Tiruan, batasan masalah yang diteliti adalah:

    1. Variabel yang diprediksi dibatasi pada perubahan nilai tukar satu hari ke

    depan pada mata uang Euro-U.S. Dollar.

    2. Topologi jaringan syaraf tiruan syaraf tiruan dibatasi pada multi-layer

    perceptron dengan 3 lapisan, yaitu 1 lapisan masukan, 1 lapisan

    tersembunyi, dan 1 lapisan keluaran.

    3. Algoritma pelatihan jaringan syaraf tiruan dibatasi pada metode yang

    diteliti secara khusus dalam penelitian ini, yaitu gabungan atau hibrida

    antara gradient-descent dan algoritma genetik.

    4. Algoritma gradient-descent yang diujicoba sebaga sebagai elemen hibrida

    dibatasi pada algoritma standard back-propagation dan resilient.

    5. Pengukuran tingkat keberhasilan prediksi dibatasi pada pengukuran

    parameter correct sign statistic, yaitu prosentase hasil prediksi yang arah

    perubahannya benar, tanpa memperhatikan besarnya kenaikan atau

    penurunannya.

    6. Untuk uji coba sistem sebagai pengambil keputusan dalam perdagangan,

    simulasi perdagangan harian dilakukan untuk periode yang dibatasi pada 6

    bulan, 1 tahun, dan 2 tahun untuk sistem tanpa pelatihan ulang, dan 4,8

    tahun untuk sistem dengan pelatihan ulang setiap 16 minggu sekali.

  • 51.4 Tujuan PenelitianPenelitian dengan judul Rancang Bangun Sistem Prediksi Nilai Tukar

    Valuta Asing Menggunakan Jaringan Syaraf Tiruan ini bertujuan untuk:

    1. Merancang dan membangun sistem prediksi nilai tukar valuta asing

    menggunakan jaringan syaraf tiruan yang dilatih dengan metode pelatihan

    hibrida gradient-descent algoritma genetik

    2. Membandingkan parameter-parameter unjuk kerja mean square error,

    correct sign statistic, dan return (keuntungan pada simulasi perdagangan)

    antara metode pelatihan hibrida gradient-descent algoritma genetik,

    gradient-descent murni, dan algoritma genetik murni.

    3. Mengujicoba sistem dengan melakukan simulasi perdagangan harian

    dengan pelatihan ulang secara periodik untuk mendapatkan gambaran

    potensi keuntungan dan resikonya dalam penggunaan jangka panjang.

    1.5 Manfaat PenelitianPenelitian ini bermanfaat baik dilihat dari segi pengembangan sistem

    maupun dari segi penerapannya, yaitu:

    1. Dari segi pengembangan sistem, penelitian ini memberikan alternatif

    metode pelatihan jaringan syaraf tiruan yang mungkin bisa diterapkan

    pada kasus lain (selain aplikasi sistem prediksi nilai tukar valuta asing).

    2. Dari segi aplikasi, penelitian ini menghasilkan suatu sistem yang unjuk

    kerjanya lebih meyakinkan (dari sudut pandang manajemen investasi)

    karena diukur dengan ukuran risk-adjusted-return dalam simulasi

    perdagangan harian dalam periode yang cukup panjang.

    1.6 Keaslian PenelitianSejauh yang diketahui penulis dari studi pustaka yang telah dilakukan,

    algoritma pelatihan yang menggabungkan algoritma pelatihan gradient-descent

    dan algoritma genetik dalam langkah-langkah bergantian yang terintegrasi di

  • 6dalam proses evolusi belum pernah diteliti dalam penelitian-penelitian yang telah

    dipublikasi. Istilah hibrida gradient-descent algoritma genetik telah

    diperkenalkan oleh Castro dkk. (1998), tetapi dalam penelitian tersebut kedua

    metode (gradient-descent dan algoritma genetik) dilakukan secara terpisah, yaitu

    dilakukan pelatihan dengan algoritma genetik terlebih dahulu hingga konvergen

    kemudian dilanjutkan dengan gradient-descent hingga konvergen, tidak dilakukan

    secara terintegrasi seperti dalam penelitian ini. Penelitian ini menjadi lebih unik

    lagi karena unsur algoritma genetik dalam hibridanya menggunakan fungsi fitness

    yang mengandung elemen skor Sortino, yang secara khusus diperkenalkan di

    dalam penelitian ini sebagai parameter pengukur risk-adjusted-return yang

    dirumuskan dengan memodifikasi rasio Sortino.

    1.7 Metodologi PenelitianUntuk mencapai tujuan penelitian seperti yang telah diuraikaan, penulis

    menggunakan metode studi pustaka, merancang sistem, mengimplementasikan

    rancanga sistem, dan melakukan pengujian untuk mengetahui unjuk kerjanya.

    Berikut uraian langkah-langkahnya:

    1. Studi pustaka digunakan untuk mengkaji teori-teori yang berkaitan dengan

    jaringan syaraf tiruan dan algoritma genetik sebagai dasar untuk

    melakukan perancangan dan mengimplementasikan sistemnya, kemudian

    mengkaji penelitian-penelitian sejenis untuk mendapatkan ide yang dapat

    dikembangkan dalam penelitian ini, sekaligus untuk memastikan bahwa

    solusi yang diteliti merupakan hal baru yang belum pernah diteliti

    sebelumnya.

    2. Perancangan sistem prediksi dilakukan dengan menentukan variabel

    masukan dan keluaran, pemrosesan awal, pembagian (partisi) data,

    arsitekstur jaringan syaraf tiruan, dan metode pelatihan, yang diuraikan

    sebagai berikut:

    a) Nilai tukar harian pada harga penutupan pasar hari ini, 1 hari

  • 7sebelumnya, 2 hari sebelumnya, 3 hari sebelumnya, dan seterusnya

    sampai 32 hari sebelumnya digunakan sebagai variabel masukan,

    kemudian perubahan nilai tukar pada penutupan 1 hari ke depan

    digunakan sebagai variabel yang akan diprediksi.

    b) Pemrosesan awal dilakukan dengan menghitung terlebih dahulu

    perubahan nilai tukar tiap hari. Rerata perubahan 2 hari terakhir (p1),

    rerata perubahan 4 hari terakhir (p2), rerata perubahan 8 hari terakhir

    (p3), rerata perubahan 16 hari terakhir (p4), dan rerata perubahan 32

    hari terakhir (p5) kemudian dihitung untuk mendapatkan indikator atau

    fitur yang akan digunakan sebagai masukan jaringan syaraf tiruan

    bersama-sama dengan perubahan nilai tukar hari terakhir (p0).

    c) Partisi data dilakukan dengan membagi data historis menjadi

    himpunan data latih dan data uji. Himpunan data latih diambil dari data

    nilai tukar penutupan harian periode 1 Januari 2008 sampai dengan 31

    Desember 2009 (2 tahun), dan himpunan data uji dari periode 1 Januari

    2010 sampai dengan 31 Oktober 2014 (4,8 tahun).

    d) Arsitektur jaringan syaraf tiruan dirancang sesuai batasan yang

    ditetapkan yaitu dengan topologi multi-layer perceptron dengan 3

    lapisan (1 lapisan masukan, 1 lapisan tersembunyi, dan 1 lapisan

    keluaran). Fungsi sigmoid digunakan sebagai fungsi aktivasi pada

    semua neuron lapisan tersembunyi dan fungsi linear digunakan sebagai

    fungsi aktivasi pada lapisan keluaran. Jumlah neuron pada lapisan

    keluaran adalah 1 buah sesuai dengan rancangan jumlah variabel

    keluaran sistem prediksi. Jumlah neuron pada lapisan tersembunyi

    divariasikan dari 3-6 neuron, sementara jumlah neuron masukan

    divariasikan dari 4-6 untuk mengujicoba manakah jaringan yang lebih

    efektif, apakah yang menggunakan 6, 5, atau 4 variabel masukan saja.

    Untuk 6 masukan digunakan variabel-variabel mulai dari perubahan

    nilai tukar hari ini (p0) hingga rerata perubahan 32 hari terakhir (p5),

  • 8sementara untuk 5 dan 4 masukan masing-masing hanya sampai pada

    variabel rerata perubahan 16 dan 8 hari terakhir (p4 dan p3).

    e) Pelatihan jaringan syaraf tiruan dirancang menggunakan metode yang

    secara khusus diperkenalkan dalam penelitian ini, yaitu metode hibrida

    gradient-descent algoritma genetik. Metode pelatihan gradient-

    descent murni (rambat balik standard dan resilient) dan algoritma

    genetik murni juga digunakan sebagai pembanding terhadap metode

    hibrida yang dirancang berdasarkan gabungan keduanya.

    3. Rancangan sistem diimplementasikan dengan menulis kode-kode program

    menggunakan bahasa C++ dengan pengembang perangkat lunak

    Ultimate++, yang menyediakan perancangan antarmuka pengguna secara

    visual dan menyediakan pustaka kode untuk bermacam-macam fungsi.

    4. Pengujian sistem dilakukan dengan mengujicoba proses pelatihan,

    kemudian menjalankan simulasi perdagangan harian, baik tanpa pelatihan

    ulang maupun dengan pelatihan ulang.

    a) Metode pelatihan gradient-descent, algoritma genetik, dan hibrida

    gradient-descent algoritma genetik diujicobakan pada semua variasi

    struktur jaringan syaraf tiruan yang telah ditentukan. Data pelatihan

    yang digunakan diambil dari data historis periode 1 Januari 2008 31

    Desember 2009.

    b) Setelah jaringan syaraf tiruan dilatih, sistem diujicoba dengan simulasi

    perdagangan harian tanpa pelatihan ulang selama 2 tahun (1 Januari

    2010 31 Desember 2011). Simulasi perdagangan dilakukan dengan

    melihat apakah hasil prediksi jaringan syaraf tiruan untuk satu hari

    kedepan bernilai positif atau negatif. Jika nilainya positif maka aksi

    beli akan dilakukan, sedangkan jika nilainya negatif maka aksi jual

    yang akan dilakukan. Keuntungan perdagangannya akan diukur untuk

    periode 6 bulan pertama, 1 tahun pertama, dan 2 tahun seluruhnya.

  • 9c) Beberapa struktur jaringan syaraf tiruan dengan keuntungan

    perdagangan terbesar pada simulasi tanpa pelatihan ulang dalam

    periode 2 tahun akan dipilih untuk diujicoba dengan simulasi

    perdagangan harian untuk masa yang lebih panjang (1 Januari 2010

    30 Oktober 2014) dengan pelatihan ulang setiap 16 minggu sekali.

    1.8 Sistematika PenulisanLaporan penelitian ini disusun dalam 7 bab, yaitu pendahuluan, tinjauan

    pustaka, landasan teori, analisa dan perancangan sistem, implementasi, hasil dan

    pembahasan, serta kesimpulan dan saran, dengan sistematika sebagai berikut:

    BAB I PENDAHULUAN

    Berisi latar belakang, rumusan masalah, batasan masalah, tujuan

    penelitian, manfaat penelitian, keaslian penelitian, metodologi

    penelitian, dan sistematika penulisan.

    BAB II TINJAUAN PUSTAKA

    Berisi rangkuman studi pustaka yang dilakukan dalam menelaah

    penelitian-penelitian tentang perancangan sistem prediksi nilai tukar

    valuta asing menggunakan jaringan syaraf tiruan yang telah dilakukan

    oleh orang lain, yang menjadi ide dari permasalahan dan solusi yang

    akan diujicoba dalam penelitian ini.

    BAB III LANDASAN TEORI

    Berisi uraian teori-teori dasar yang bersifat pokok tentang perdagangan

    dan prediksi nilai tukar valuta asing, jaringan syaraf tiruan, dan

    algoritma genetik, yang menjadi landasan utama dalam menguraikan

    permasalahan dan mencari solusinya.

    BAB IV ANALISA DAN PERANCANGAN SISTEM

    Berisi rincian analisa bagian-bagian sistem yang perlu dirancang untuk

    membangun sistem prediksi menggunakan jaringan syaraf tiruan dan

    mengujicoba unjuk kerjanya.

  • 10

    BAB V IMPLEMENTASI

    Berisi uraian kode-kode program yang digunakan untuk

    mengimplementasikan sistem sesuai dengan rancangannya.

    BAB VI HASIL DAN PEMBAHASAN

    Berisi pembahasan hasil pengujian sistem dan analisanya, berdasarkan

    uji coba menggunakan data nilai tukar Euro U.S. Dollar.

    BAB VII KESIMPULAN DAN SARAN

    Berisi kesimpulan hasil penelitian dan saran untuk penelitian

    selanjutnya, sesuai dengan hasil pengujian dan analisanya dalam

    hubungannya dengan tujuan penelitian.

  • 11

    BAB II TINJAUAN PUSTAKA

    Metode untuk merancang sistem prediksi pada aplikasi finansial

    menggunakan jaringan syaraf tiruan telah diuraikan oleh Kaastra dan Boyd

    (1996). Dalam makalah tersebut diuraikan secara sistematis prosedur atau

    langkah-langkah yang harus dilakukan dalam perancangan sistem, yang meliputi

    penentuan variabel masukan dan keluaran, pengumpulan data, pemrosesan awal,

    pembagian atau partisi data, perancangan jaringan syaraf tiruan, dan pelatihan.

    Pembagian atau partisi data dilakukan dengan cara membagi data historis yang

    tersedia menjadi 3 bagian, yaitu himpunan data latih, himpunan data uji, dan

    himpunan data validasi. Dalam panduan peramalan finansial dengan jaringan

    syaraf tiruan yang ditulis oleh Yao dan Tan (2001), pembagian data menjadi

    himpunan data latih, validasi, dan data uji disarankan menggunakan proporsi

    70%, 20% dan 10% dari total data historis yang tersedia. Bagian data yang

    terkahir, yaitu himpunan data uji dengan proporsi 10% merupakan himpunan data

    yang sama sekali tidak digunakan dalam proses pelatihan (out of training sample),

    sehingga hasil prediksi pada himpunan data ini dapat dianggap sebagai simulasi

    penggunaannya secara nyata (real time). Metode partisi/pembagian data yang

    hanya menggunakan sebagian kecil sampel diluar data latih (10%-30% dari total

    data historis yang tersedia) untuk pengujian sistem seperti ini banyak digunakan

    dalam penelitian-penelitian prediksi finansial, seperti dalam mayoritas penelitian-

    penelitian yang disurvey oleh Yu dkk. (2007), juga dalam penelitian-penelitian

    setelahnya seperti dalam penelitian oleh Lahmiri (2011), Philip dkk. (2011),

    Fathian dan Kia (2012), Evans dkk. (2013), serta Ouyang dan Yin (2014).

    Lahmiri (2011) melakukan studi perbandingan atas beberapa algoritma

    pelatihan back-propagation dalam prediksi finansial. Data yang digunakan adalah

    nilai tukar harian indeks S&P500 dari Oktober 2003 sampai dengan Januari 2008,

    dengan 80% data digunakan untuk pelatihan dan 20% untuk pengujian. Dari

  • 12

    sepuluh macam algoritma pelatihan yang diperbandingkan, penelitian ini

    menemukan bahwa metode quasi newton (Broyden-Fletcher-Goldfarb-Shanno),

    Levenberg-Marquadt, dan standard back-propagation merupakan tiga metode

    terbaik pada pengukuran mean square error, dengan waktu pelatihan tercepat

    didapatkan pada metode Levenberg-Marquadt.

    Philip dkk. (2011) meneliti sistem prediksi nilai tukar mata uang Nigeria

    (NAIRA) terhadap beberapa mata uang asing (USD, JPY, GBP, EUR)

    menggunakan jaringan syaraf tiruan. Dalam penelitian ini digunakan multi-layer

    feed forward network, dengan pelatihan back-propagation (dengan learning rate,

    tanpa momentum). Data historis nilai tukar harian antara tahun 2003-2005

    sejumlah 800 titik dibagi menjadi data latih (500 titik), validasi (200 titik) dan

    pengujian (100 titik). Unjuk kerja sistem prediksi diukur dalam akurasi dan galat

    (mean square error) dan dibandingkan dengan HMM (hidden markov model),

    hasilnya menunjukkan bahwa model jaringan syaraf tiruan pada berbagai mata

    uang secara konsisten menunjukkan unjuk kerja yang jauh lebih baik.

    Fathian dan Kia (2012) menambahkan faktor eksternal berupa harga emas

    dalam tiap mata uang yang dipertukarkan (5 hari terakhir). Terhadap sistem yang

    hanya menggunakan nilai tukar lima hari terakhir sebagai masukan jaringan syaraf

    tiruan, penambahan faktor eksternal ini berhasil meningkatkan akurasi ketepatan

    arah (naik atau turun) sekitar 1,2% sampai 2,3% dari ketepatan sebelumnya yang

    berkisar antara 60%-62%. Dalam penelitian ini digunakan data nilai tukar GBP-

    USD, USD-JPY, dan EUR-USD, dari tahun 2001-2010 dengan pembagian 7:2:1

    untuk himpunan data latih, validasi, dan pengujian.

    Evans dkk (2013) menggunakan algoritma genetik untuk menentukan

    jumlah neuron pada dua lapisan tersembunyi, dengan neuron lapisan masukan

    sejumlah 20 titik. Data yang digunakan adalah nilai tukar GBP-USD, EUR-USD,

    dan EUR-GBP dari 1 Oktober 2010 hingga 28 Februari 2012. Tiap sampel berupa

    himpunan 20 titik data masukan dan 1 titik target keluaran. Himpunan masukan

    didapat dari 20 titik nilai tukar dari suatu hari antara jam 22:00 12:36 (interval

  • 13

    40 menit), dan satu titik target keluaran didapat dari nilai tukar 6 jam berikutnya

    (dari titik masukan terakhir) yaitu nilai pada jam 18:36. Sejumlah 300 sampel

    pertama digunakan untuk pelatihan dan pengujian dengan data latih (in-sample

    testing), kemudian 40 sampel sisanya untuk out-of-sample testing. Hasil pengujian

    menunjukkan keberhasilan sistem dalam memperoleh keuntungan tahunan 23,3%.

    Pengukuran risk-adjusted-return juga dilakukan dalam penelitian ini, yaitu

    menggunakan parameter rasio Sharpe dan berada pada kisaran 0,54-0,7.

    Sayangnya, data pengujian (out of sample) yang hanya berjumlah 40 sampel data

    harian (sekitar 2 bulan masa aktif perdagangan) menjadikan pengukurannya

    kurang meyakinkan jika dilihat dari sudut pandang manajemen investasi.

    Ouyang dan Yin (2014) meneliti model neural gas mixture autoregressive

    (NGMAR) neural network untuk prediksi nilai tukar harian GBP terhadap USD,

    EUR, dan JPY. Data yang digunakan adalah data dari tahun 2001 2012, dengan

    total 3000 titik data, 2700 titik digunakan untuk pelatihan dan 300 titik untuk

    pengujian. Sepuluh titik data digunakan sebagai masukan JST. Jika dibandingkan

    dengan metode self-organizing mixture auto regressive (SOMAR), multi-lyer

    perceptron (MLP), maupun recurrent neural network (RNN), metode NGMAR

    memberikan performa terbaik dengan normalized root mean square (NRMSE)

    sebesar 0,0752 dan correct-predicted percentage (CPP) 57,58% pada nilai tukar

    dengan USD, NRMSE 0,0387 CPP 54,95% pada EUR, NRMSE 0,0375 CPP

    54,55% pada JPY.

    Dari uraian penelitian-penelitian sejenis yang telah dipaparkan, pengujian

    menggunakan sampel di luar data latih banyak dilakukan pada periode yang relatif

    pendek, yang berkisar antara 10-30% dari total periode historis yang tersedia.

    Pengujian dengan sejumlah kecil data (periode kurang dari 3 tahun) di luar sampel

    pelatihan tanpa melalui simulasi penggunaannya dalam jangka panjang seperti ini

    cukup bermanfaat untuk membandingkan dan mengembangkan metode pelatihan

    jaringan syaraf tiruan, tetapi belum cukup untuk digunakan sebagai dasar

    pertimbangan bagi investor dalam mengambil keputusan apakah sistem yang

  • 14

    dibangun bisa menjadi satu pilihan diversifikasi investasi atau tidak. Meskipun

    sedikit, beberapa peneliti lain seperti Yao dan Tan (2000), dan juga Hedman

    (2012) melakukan pengujian sistem simulasi perdagangan harian dalam jangka

    panjang untuk memberikan hasil pengukuran unjuk kerja yang lebih meyakinkan

    atas potensi kegunaannya dalam perdagangan nyata.

    Yao dan Tan (2000) menerapkan metode partisi data dalam simulasi

    jendela waktu berjalan, dengan membagi data historis dari Januari 1984 sampai

    dengan November 1995 menjadi 12 segmen yang tumpang tindih. Segmen

    pertama diambil dari periode 6,5 tahun pertama (338 titik nilai tukar mingguan).

    Dari segmen tersebut, data dari periode 6 tahun pertama (312 titik) digunakan

    sebagai himpunan data pelatihan (260 titik) dan validasi (52 titik), kemudian data

    setengah tahun terakhir (26 titik) digunakan sebagai himpunan data pengujian.

    Segmen kedua merupakan periode 6,5 tahun yang didapat dari jendela waktu

    segmen pertama yang digeser sejauh 0,5 tahun; sehingga himpunan data latih dan

    validasi segmen kedua akan tumpang tindih dengan segmen pertama, tetapi

    himpunan data ujinya (setengah tahun terakhirnya) tidak. Segmen ke-3 dan

    seterusnya hingga segmen ke-12 masing-masing didapat dengan penggeseran

    jendela waktu sejauh 0.5 tahun dari segmen sebelumnya. Hasil simulasi dalam

    penelitian ini menunjukkan perolehan tahunan rata-rata sebesar 28,62%.

    Meskipun menunjukkan rerata nilai perolehan tahunan yang cukup baik, namun

    sayangnya nilai ini diperoleh dengan memilih unjuk kerja terbaik dari beberapa

    konfigurasi yang diujicobakan pada masing-masing segmen periode simulasi.

    Sistem yang dicoba menggunakan 6 neuron pada lapisan masukan, 2-4 neuron

    pada lapisan tersembunyi, dan 1 neuron pada lapisan keluaran. Dari 12 segmen

    periode yang diujicoba, 7 segmen menunjukkan hasil terbaiknya pada sistem

    dengan 2 neuron pada lapisan tersembunyi, 4 segmen menunjukkan hasil

    terbaiknya pada sistem dengan 3 neuron pada lapisan tersembunyi, dan 2 segmen

    menunjukkan hasil terbaiknya pada sistem dengan 4 neuron pada lapisan

    tersembunyi. Pemilihan hasil terbaik pada percobaan dengan data historis seperti

  • 15

    ini memang dapat dilakukan untuk menghasilkan unjuk kerja yang sangat baik

    pada keseluruhan periode waktu, akan tetapi metode seperti ini tidak dapat

    diterapkan pada keadaan sesungguhnya dalam perdagangan secara real-time. Hal

    ini dikarenakan keputusan untuk memilih konfigurasi mana yang akan digunakan

    dalam perdagangan pada setengah tahun ke depan harus dilakukan saat itu juga

    (secara real time), tidak dapat diputuskan berdasarkan hasil terbaik dengan

    menjalankan semua sistem dengan semua variasi konfigurasi untuk menjalankan

    perdagangan saat itu.

    Hedman (2012) melakukan simulasi perdagangan dan pengukuran risk-

    adjusted-return untuk mengevaluasi unjuk kerja sistem prediksi menggunakan

    jaringan syaraf tiruan dalam simulasi perdagangan valuta asing. Dalam penelitian

    tersebut, sistem dengan arsitektur feed-forwad neural network (FFNN) dan

    probabilistic neural network (PNN) dibangun, diujicoba, dan dibandingkan

    hasilnya. Pengujian dilakukan baik menggunakan sampel data harian untuk

    prediksi satu hari ke depan maupun menggunakan sampel data mingguan untuk

    prediksi satu minggu ke depan. Masukan jaringan menggunakan 5 titik log-return

    dari nilai tukar mata uang yang diperdagangkan, 5 titik selisih log-return dari

    indeks saham gabungan negara atau wilayah yang mempengaruhinya, 5 titik

    selisih perubahan tingkat suku bunga, dan 5 titik log-return dari harga minyak.

    Untuk perdagangan harian, jumlah sampel nilai tukar harian yang digunakan

    sebagai himpunan data latih (dengan porsi 70%) dan validasi (dengan porsi 30%)

    adalah 200 titik untuk PNN dan 250 titik untuk FFNN. Simulasi pada sistem

    FFNN dilakukan dengan melakukan pelatihan dan validasi dengan 250 titik data

    (x1..x250), kemudian digunakan untuk melakukan prediksi titik data berikutnya

    (x251). Hasil prediksi kemudian digunakan untuk mengambil keputusan transaksi

    dagang. Selanjutnya jaringan dilatih ulang dengan data x2...x251, kemudian

    digunakan untuk melakukan prediksi titik ke-252 (x252) dan hasilnya digunakan

    untuk mengambil keputusan transaksi perdagangan, begitu seterusnya hingga data

    hari terakhir simulasi digunakan. Jumlah hari perdagangan sebanyak 2897 dan

  • 16

    2947 hari masing-masing digunakan dalam simulasi perdagangan pada model

    FFNN (25 Desember 2000 1 Februari 2012) dan PNN (16 Oktober 2000 1

    Februari 2012). Untuk periode sampling 1 mingguan, data yang digunakan adalah

    nilai tukar mingguan (yang diambil nilainya pada hari Rabu) dan jumlah hari

    perdagangannya sejumlah 500 (3 Juli 2002 1 Februari 2012), dengan jendela

    waktu untuk himpunan data pelatihan dan validasi sebanyak 125 titik sampel.

    Pengukuran unjuk kerja risk-adjusted-return dilakukan dengan menghitung

    parameter information ratio, yang merupakan perbandingan antara perolehan

    (return) yang disetahunkan dengan volatilitas yang disetahunkan. Dari

    keseluruhan pasangan mata uang yang dicoba, yaitu 45 pasang mata uang negara-

    negara G10, secara rata-rata menunjukkan keuntungan tahunan yang sangat kecil,

    yaitu 0,68%; 0,37%; -1,01%; dan 0,2% masing-masing pada model prediksi

    harian FFNN, prediksi mingguan FFNN, prediksi harian PNN, dan prediksi

    mingguan PNN. Perdagangan pada EUR-USD mengalami kerugian pada semua

    model keculai prediksi harian FFNN, yang menghasilkan keuntungan tahunan

    0,36%, dengan information ratio sebesar 0,0339. Unjuk kerja yang cukup baik

    hanya dicapai pada perdagangan mingguan CHF-JPY, dengan keuntungan tahunan

    sebesar 10,54% dan information ratio sebesar 0,9235.

    Perbandingan beberapa penelitian sejenis ditampilkan dalam Tabel 2.1,

    menampilkan berberapa penelitian tentang sistem prediksi nilai tukar valuta asing

    menggunakan jaringan syaraf tiruan. Terlihat dalam tabel, hanya 2 dari 7

    penelitian yang menggunakan parameter risk-adjusted return dalam mengukur

    unjuk kerjanya. Meski kurang mendapat perhatian dalam penelitian-penelitian

    sejenis yang telah dipaparkan, Kaastra dan Boyd (1996) telah menyampaikan

    pentingnya pengukuran unjuk kerja sistem menggunakan parameter risk-adjusted-

    return melalui simulasi perdagangan sebagai dasar bagi pemilihan konfigurasi

    sistem yang paling optimal, bukan berdasarkan galat terkecil pada proses

    pelatihan. Ide untuk menggunakan pengukuran risk-adjusted-return menimbulkan

  • 17

    Tabel 2.1 Perbandingan beberapa penelitian sejenis

    Peneliti Metode Pengukuran Risk-adjusted-return

    Periode pengujian di luar sampel

    Ouyang dan Yin (2014)

    Membangun dan mengujicoba metode neural gas mixture of autoregressive (NGMAR) untuk prediksi nilai tukar GBP dengan beberapa mata uang lain

    Tidak 1,15 tahun

    Evans dkk. (2013)

    Menggunakan algoritma genetik untuk menentukan jumlah neuron 2 lapisan tersembunyi dalam jaringan multi-layer perceptron.

    Ya 0,15 tahun

    Fathian dan Kia (2012)

    Menambahkan harga emas 5 hari terakhir dalam kedua nilai mata uang yang dipertukarkan sebagai masukan jaringan multi-layer perceptron bersama-sama dengan nilai tukarnya dalam 5 hari terakhir.

    Tidak 1 tahun

    Hedman (2012)

    Membandingkan unjuk kerja feed-forwad neural network dan probabilistic neural network

    Ya 11 tahun

    Philip dkk. (2011)

    Membandingkan model jaringan syaraf tiruan dengan pelatihan back-propagation tanpa momentum dan model hidden markov untuk memprediksi nilai tukar mata uang Nigeria (NAIRA) dengan beberapa mata uang lain.

    Tidak 0,4 tahun

    Lahmiri (2011)

    Membandingkan bermacam-macam algoritma pelatihan back-propagation untuk memprediksi pergerakan harian index S&P500

    Tidak 1 tahun

    Yao dan Tan (2000)

    Mengujicoba jaringan syaraf tiruan dengan indikator moving average beberapa periode untuk prediksi nilai tukar mata uang satu minggu ke depan

    Tidak 6 tahun

    suatu pertanyaan menarik, yaitu jika pengukuran unjuk kerja risk-adjusted-return

    pada penggunaan sistem dalam simulasi perdagangan di luar sampel data latih

    digunakan sebagai dasar pemilihan model atau konfigurasi yang paling optimal,

    maka apakah kemudian unjuk kerja tersebut bisa ditingkatkan dengan melakukan

    optimasi parameter risk-adjusted-return di dalam proses pelatihannya? Untuk

    menjawab pertanyaan inilah, penulis mencoba membuat sebuah sistem prediksi

  • 18

    menggunakan jaringan syaraf tiruan yang dilatih dengan metode hibrida, yaitu

    pelatihan yang menggabungkan metode gradient-descent dan algoritma genetik

    secara terintegrasi, yang memungkinkan optimasi parameter risk-adjusted-return

    dilakukan dalam proses pembelajarannya. Dengan metode ini, unjuk kerja sistem

    yang diukur dengan menghitung keuntungan pada simulasi perdagangan

    diharapkan akan meningkat tidak hanya pada simulasi menggunakan himpunan

    sampel data latih tetapi juga pada simulasi menggunakan himpunan data di luar

    himpunan sampel data latihnya.

  • 19

    BAB III LANDASAN TEORI

    3.1 Perdagangan Valuta AsingPerdagangan valuta asing (valas) terjadi karena adanya perdagangan antar

    negara yang menggunakan mata uang yang berbeda. Karena volume perdagangan

    dunia yang begitu besar, maka dengan sendirinya transaksi perdagangan valuta

    asing juga sangat besar. Pada April 2013, perdagangan pasar valuta asing

    mencapai 5,3 trilyun dollar (United States Dollar) per hari, meningkat 35%

    dibanding volume perdagangan pada 2010 (Rime dan Schrimpf, 2013). Pasar

    valuta asing bisa dipandang sebagai pasar dua tingkat (two-tier market), yang

    mana tingkatan pertama adalah tingkatan grosir (antar bank), dan tingkatan

    lainnya adalah tingkatan pengecer. Peserta dalam pasar valuta asing bisa

    dikategorikan dalam lima kelompok: bank internasional, nasabah bank, dealer

    non-bank, broker valas, dan bank sentral (Eun dan Resnick, 2012).

    3.1.1 Nilai tukar valas dan faktor fundamental yang mempengaruhinyaSebagai sesuatu yang diperdagangkan di pasar bebas, nilai tukar valas

    tidak terlepas dari hukum penawaran-permintaan. Meskipun nilai tukar ditentukan

    oleh total dari penawaran dan permintaan, pengetahuan ini saja tidak cukup untuk

    membantu manajer finansial untuk memahami dan memprediksi perubahan nilai

    tukar. Faktor-faktor fundamental, seperti inflasi, suku bunga, keseimbangan

    ekspor-impor, dan kebijakan pemerintah merupakan faktor yang penting dalam

    menjelaskan fluktuasi nilai tukar valas baik jangka pendek maupun jangka

    panjang (Block dan Hirth, 2008). Naiknya laju inflasi, turunnya suku bunga, dan

    peningkatan impor dibanding ekspor merupakan faktor yang bisa menyebabkan

    turunnya nilai tukar mata uang. Kebijakan pemerintah juga bisa secara langsung

    maupun tidak langsung mempengaruhi nilai tukar. Kebijakan secara langsung

  • 20

    misalnya intervensi bank sentral dalam pasar valas, dan kebijakan tidak langsung

    contohnya adalah pembiayaan anggaran belanja negara yang terlalu besar

    sehingga bisa meningkatkan laju inflasi.

    3.1.2 Analisa fundamental dalam prediksi nilai tukar valasAnalisa fundamental dalam prediksi nilai tukar valas adalah metode

    prediksi menggunakan model yang disusun berdasarkan teori-teori makro

    ekonomi pembentukan harga pasar. Sebagai contoh, sebuah model dari nilai tukar

    mungkin berupa fungsi dengan parameter-parameter laju inflasi, perbandingan

    ekspor impor, pertumbuhan domestik bruto, suku bunga, dan sebagainya.

    Pendekatan fundamental dalam prediksi nilai tukar valas memiliki tiga kesulitan

    utama (Eun dan Resnick, 2012). Kesulitan yang pertama adalah bahwa parameter

    yang digunakan dalam model harus diprediksi terlebih dahulu, seperti misalnya

    untuk memprediksi nilai tukar Euro dan Dollar tiga bulan ke depan dengan model

    fundamental yang melibatkan laju inflasi maka laju inflasi untuk tiga bulan ke

    depan untuk Euro dan Dollar harus diprediksi terlebih dahulu. Kesulitan yang ke

    dua, adalah bahwa parameter-parameter model yang berupa konstanta, yang

    didapatkan dengan optimasi atau pencocokan dengan data historis bisa saja

    ternyata berubah menurut waktu karena adanya perubahan kebijakan pemerintah

    dan atau perubahan struktur ekonomi yang mendasarinya. Kesulitan yang ke tiga

    adalah bahwa model yang disusun bisa saja salah, meskipun dalam pengujian bisa

    mencocoki sebagian besar data historis.

    3.1.3 Analisa teknikal dalam prediksi nilai tukar valasAnalisa teknikal dalam prediksi nilai tukar valas adalah metode prediksi

    nilai tukar dengan hanya berdasarkan data historis nilai tukar itu sendiri. Neely

    dan Weller (2011), merangkum dan menjelaskan kembali apa yang telah

    dipaparkan oleh Murphy (1986) dan Pring (1991), bahwa ada tiga prinsip yang

    mendasari analisa teknikal yaitu bahwa aksi pasar mengalahkan segalanya, harga

    bergerak dalam tren, dan sejarah mengulang dirinya sendiri. Prinsip-prinsip

  • 21

    tersebut dapat diuraikan sebagai berikut:

    1. Aksi pasar (yang berupa berubahnya harga dan volume transaksi) adalah

    fakta yang mengalahkan segalanya. Ini berarti bahwa semua faktor

    penyebab perubahan harga sudah tercermin dalam perubahan harga itu

    sendiri. Dengan kata lain, data historis dari harga nilai tukar telah

    mengandung semua informasi, sehingga tidak perlu memprediksi atau

    meneliti fundamentalnya.

    2. Harga bergerak dalam tren. Ini merupakan prinsip dasar yang merupakan

    pengingkaran terhadap pernyataan bahwa harga bergerak secara acak.

    Dengan prinsip ini maka kita bisa mengatakan bahwa tren harga sedang

    naik atau turun, meskipun sepertinya terlihat acak. Tanpa prinsip ini maka

    tidak ada landasan logis bagi pedagang untuk mendapatkan keuntungan

    secara konsisten.

    3. Sejarah akan mengulang dirinya sendiri. Fenomena ini terjadi karena para

    pedagang atau pemain pasar mempunyai kecenderungan bereaksi dengan

    cara yang sama jika dihadapkan pada situasi yang mirip. Prinsip inilah

    yang menjelaskan mengapa pola tertentu bisa terjadi secara periodik dalam

    data historis harga-harga komoditas, nilai tukar valas, atau harga saham.

    Dengan prinsip-prinsip tersebut, para pedagang yang menggunakan analisa

    teknikal secara murni berusaha memprediksi arah tren maupun perubahannya

    untuk masa yang akan datang hanya berdasarkan data harga-harga saat ini dan

    masa lalu. Sebagai contoh, beberapa pedagang menggunakan dua rerata bergerak

    yang masing-masing menggunakan perioda yang panjangnya berbeda. Jika rerata

    bergerak 5 hari terakhir adalah MA5 dan rerata bergerak 10 hari terakhir adalah

    MA10, maka tren dikatakan sedang naik jika MA5 lebih besar dari MA10, sedang

    turun jika MA5 lebih kecil dari MA10, akan berbalik naik MA5 saat ini lebih

    besar tetapi sebelumnya lebih kecil dari MA10, dan akan berbalik turun jika saat

  • 22

    ini lebih kecil tetapi hari sebelumnya lebih besar dari MA10. Dalam contoh ini,

    parameter rerata bergerak adalah "indikator" yang digunakan dalam analisa

    teknikal dalam prediksi tren harga. Para analis teknikal menggunakan banyak

    sekali indikator-indikator teknikal, yaitu parameter-parameter tertentu yang

    digunakan untuk membantu mengidektifikasi tren dari pergerakan harga, seperti

    misalnya average direction index (ADX), average true range (ATR), deviasi

    standard, dsb.

    3.1.4 Perdagangan valuta asing dan pengukuran unjuk kerjanyaAnalisa teknikal menghasilkan prediksi pergerakan harga yang dapat

    digunakan untuk menyusun strategi pembelian atau penjualan mata uang secara

    otomatis. Unjuk kerja dari sistem perdagangan seperti ini biasanya dinilai

    sebagaimana sebuah aset atau investasi. Return adalah perolehan atau keuntungan

    dari suatu perdagangan. Dalam satu periode perdagangan, ekuitas (modal

    ditambah keuntungan atau dikurangi kerugian) dapat mengalami kenaikan atau

    penurunan, dan return dapat dihitung sebagai berikut:

    Return=E tE0

    E0100% , (3.1)

    dengan Et adalah nilai ekuitas pada akhir periode dan E0 adalah ekuitas pada awal

    periode. Bersama-sama dengan return, parameter maximum drawdown juga

    merupakan parameter yang selalu digunakan untuk mengukur unjuk kerja suatu

    perdagangan. Maximum drawdawn adalah penurunan ekuitas terbesar yang

    dialami dalam suatu periode tertentu. Dalam gambar 3.1 ditunjukkan penurunan

    ekuitas yang pertama terjadi pada drawdown DD1, yang berhasil pulih dengan

    waktu pemulihan (recovery time) t1, dan yang kedua terjadi pada DD2, yang

    berhasil pulih dengan waktu t2. Karena DD2 lebih besar dari DD1 maka maximum

    drawdown dari asset tersebut adalah DD2. Sama seperti perhitungan return,

    maximum drawdown juga dikonversi ke dalam prosentase. Drawdown dapat

    dipandang sebagai ukuran resiko atau potensi kerugian dari suatu asset,

    perdagangan, atau investasi.

  • 23

    Gambar 3.1 Drawdown dan recovery time

    Pengukuran return dan maximum drawdown secara bersama-sama memberikan

    informasi yang berimbang antara keuntungan dan resikonya.

    Gambar 3.2 Perkembangan ekuitas dengan berbagai nilai Sortino ratio

    Pengukuran risk-adjusted-return yang memberikan gambaran secara lebih merata

    dilakukan dengan menggunakan Sortino ratio, yang dirumuskan sebagai

    SR= Rtn

    , (3.2)

    dengan R adalah keuntungan rata-rata yang didapat, t adalah target keuntungan

    rata-rata minimal yang seharusnya bisa diterima tanpa resiko (seperti tingkat suku

  • 24

    bunga deposito atau acuan lainnya), dan n adalah deviasi negatif dari return

    ekuitas bulanan. Gambar 3.2 menunjukkan beberapa contoh perkembangan

    ekuitas dan nilai Sortino ratio-nya.

    3.2 Jaringan Syaraf TiruanJaringan syaraf tiruan adalah sebuah model komputasi yang fungsi,

    struktur, dan cara kerjanya dibangun dengan menirukan model jaringan sel-sel

    syaraf otak makhluk hidup. Wallace (2008) menggambarkan perbandingan antara

    sel syaraf tunggal biologis dengan unit tunggal syaraf tiruan untuk menonjolkan

    kemiripannya seperti dalam Gambar 3.3 Cell body digambarkan sebagai inti dari

    pemroses yang berfungsi menghasilkan sinyal keluaran ketika jumlahan dari

    sinyal masukan mencapai taraf tertentu, yaitu ketika sel syaraf dikatakan dalam

    keadaan teraktivasi. Sinyal listrik keluaran dari sel syaraf ini disalurkan melalui

    axon. Dendrite berfungsi sebagai peraba listrik (electrical probe) dan bertindak

    sebagai gerbang masukan yang menerima rangsangan listrik dari sel syaraf yang

    lain. Jaringan syaraf biologis terdiri dari banyak sel yang saling terhubung.

    Keluaran dari satu sel syaraf (axon) terhubung ke sel syaraf yang lain melalui

    antarmuka yang disebut synapse yang menempel pada dendrite sel syaraf yang

    lain. Synapse mempunyai karakteristik berupa pengaturan kuat lemahnya sinyal

    yang diteruskan dari sumber masukan ke dalam sel syaraf yang menjalankan

    fungsi keputusan apakah akan dihasilkan sinyal keluaran atau tidak.

    Gambar 3.3 Perbandingan sel syaraf tunggal dengan unit tunggal jaringan syaraf buatan (Wallace, 2008)

  • 25

    Dalam jaringan syaraf tiruan, synapse dimodelkan sebagai elemen pengali

    dengan bobot tertentu. Bobot atau faktor pengali ini yang nantinya akan diatur

    nilainya melalui proses pelatihan sehingga jaringan syaraf tiruan bisa

    menghasilkan fungsi seperti yang diinginkan. Bagaimana unit-unit tunggal syaraf

    tiruan saling terhubung untuk menghasilkan sistem jaringan dengan konfigurasi

    tertentu telah dieksplorasi oleh banyak peneliti dan menghasilkan bermacam-

    macam struktur jaringan syaraf tiruan, seperti misalnya multi-layer feed forwad

    neural network dan recurrent neural network.

    3.2.1 Neuron tunggal dan fungsi aktivasiModel sel syaraf (neuron) tunggal sebagai elemen penyusun jaringan

    syaraf tiruan ditampilkan dalam bentuk diagram blok dalam Gambar 3.4, yang

    menggambarkan unit neuron tunggal sebagai sistem pemrosesan.

    Gambar 3.4 Model sel syaraf tunggal (neuron) sebagai elemen dasar komputasi jaringan syaraf tiruan

    Dengan masukan-masukan u1..un , bias B, bobot-bobot w1..wn, dan fungsi aktivasi

    f(), maka keluaran (aktivasi) dari sel syaraf z dapat dituliskan dalam formula

    sebagai berikut:

  • 26

    z= f (i=i

    n

    w i ui+B) (3.3)

    Fungsi aktivasi f() adalah fungsi yang mengubah nilai tertentu menjadi nilai yang

    lain dengan karakteristik transfer yang dapat dipilih sesuai dengan kebutuhan.

    Beberapa fungsi aktivasi yang lazim digunakan adalah:

    Threshold f (x )= 1 x01 x

  • 27

    banyak neuron dengan struktur tertentu guna menghasilkan fungsi komputasi

    untuk aplikasi tertentu. Salah satu struktur yang populer untuk jaringan syaraf

    tiruan adalah multi-layer feed-forward neural network, yang dilukiskan dalam

    Gambar 3.5 dan Gambar 3.6.

    Gambar 3.5 Multi-layer feed-forward neural network dengan satu lapisan tersembunyi

    Gambar 3.6 Multi-layer feed-forwad neural network dengan dua lapisan tersembunyi (simpul-simpul bias tidak ditunjukkan)

  • 28

    Multi-layer feed-forward neural network merupakan jaringan dengan

    banyak lapisan, yang terdiri dari lapisan masukan, lapisan tersembunyi, dan

    lapisan keluaran. Lapisan masukan hanya mempunyai satu masukan, tidak

    memiliki bobot, dan juga tidak memiliki fungsi aktivasi selain fungsi identitas.

    Lapisan ini hanya merupakan simpul-simpul yang berfungsi menerima data dan

    meneruskannya ke neuron pada lapisan tersembunyi. Lapisan tersembunyi

    merupakan lapisan neuron yang tidak terhubung secara langsung baik ke masukan

    maupun keluaran. Lapisan tersembunyi bisa terdiri dari satu lapis (Gambar 3.5)

    atau lebih (Gambar 3.6). Terakhir, lapisan keluaran merupakan lapisan neuron

    yang keluarannya menjadi keluaran dari jaringan. Jumlah neuron tiap lapisan juga

    bisa divariasikan sesuai dengan kebutuhan komputasi. Pada Gambar 3.5, simpul

    bias digambarkan sama seperti neuron yang lain tetapi dia tidak memiliki

    masukan, dan keluarannya dibuat konstan sebesar 1. Dengan memperlakukan bias

    sama seperti neuron yang lain, maka kemudian bobotnya pun bisa ditentukan

    dengan cara yang sama seperti bobot-bobot yang lain. Meskipun tidak

    diperlihatkan dalam Gambar 3.6, simpul-simpul bias pada jaringan syaraf tiruan

    dengan jumlah lapisan yang lebih banyak juga diimplementasikan dengan cara

    yang sama.

    3.2.3 Konsep pembelajaran atau pelatihan pada jaringan syaraf tiruanKonsep belajar atau berlatih merupakan konsep yang dikenal oleh

    makhluk hidup, yaitu bagaimana makhluk hidup mencoba bereaksi terhadap

    masukan dari lingkungan dengan mengeluarkan respon tertentu, secara terus

    menerus berusaha memperbaiki responnya untuk mencaapai tujuan tertentu.

    Proses belajar seperti ini tampak seperti misalnya pada anak ayam yang baru

    menetas, bagaimana dia belajar berdiri, jatuh-bangun berkali-kali, hingga sampai

    akhirnya bisa berdiri dan bahkan berjalan.

    Jika kita analisa struktur multi-layer feed-forward neural network sebagai

    elemen-elemen tunggal yang saling berhubungan, maka formula dari hubungan

  • 29

    masukan-masukan dan keluarannya juga bisa dengan mudah kita turunkan

    formulanya. Sebagai contoh, jika kita tuliskan formula keluaran pada sistem yang

    dilukiskan pada Gambar 3.5, maka kita akan mendapati sebuah fungsi dengan 3

    parameter masukan dan mengandung 13 konstanta yang merupakan nilai-nilai

    semua bobot. Sejauh ini bisa dikatakan bahwa kita memiliki sebuah "komputer"

    atau "mesin" dengan 3 buah masukan dan 1 keluaran, dan fungsi atau mekanisme

    kerjanya bisa kita program dengan mengatur atau memprogram 13 konstanta di

    dalamnya. Jika dikehendaki agar mesin tersebut menjalankan fungsi tertentu,

    misalnya menampilkan nilai volume sebuah balok pada keluarannya jika

    masukan-masukannya diumpani nilai-nilai panjang dari ketiga sisinya, maka yang

    disebut sebagai proses belajar bagi mesin tersebut adalah proses atau prosedur

    yang harus dijalani untuk menyesuaikan nilai bobot-bobot di dalamnya

    berdasarkan contoh-contoh data yang ada sehingga mesin tersebut bisa

    menghasilkan fungsi atau tanggapan yang diharapkan. Sebagaimana makhluk

    hidup yang belajar dari pengalaman (informasi/data) masa lalu, maka

    pembelajaran atau pelatihan pada jaringan syaraf tiruan juga merupakan metode

    yang memanfaatkan data-data di dalam prosesnya hingga sistem bisa menemukan

    sendiri rumusannya (nilai-nilai yang sesuai untuk semua bobotnya). Kemampuan

    untuk menemukan sendiri model atau rumusan sebuah fungsi yang sangat

    kompleks (sesuai kompleksitas struktur jaringan dan fungsi aktivasinya) hanya

    berdasarkan data-data atau pengalaman masa lalu inilah yang membuat sistem

    jaringan syaraf tiruan menjadi menarik, terutama untuk memodelkan hubungan

    antar variabel yang model analitiknya belum diketahui secara pasti.

    3.2.4 Algoritma pelatihan rambat balikPertanyaan yang harus dijawab oleh sebuah algoritma pelatihan jaringan

    syaraf tiruan adalah, jika kita memiliki sejumlah sampel data berupa sejumlah

    vektor masukan x1,x2,...,xn dan sejumlah target keluaran t1,t2,..tn, maka

    bagaimanakah cara mengatur nilai-nilai bobot pada jaringan syaraf tiruan agar

    jaringan tersebut memberikan respon berupa keluaran t1 ketika diberi masukan

  • 30

    vektor x1, memberikan respon keluaran t2 ketika diberi masukan t2, dan

    memberikan respon keluaran tn ketika diberi masukan tn?

    Prinsip dasar dari algoritma pelatihan jaringan syaraf tiruan adalah

    mengubah nilai bobot-bobot sedikit demi sedikit untuk memperkecil galat.

    Metode yang menggunakan informasi perubahan galat relatif terhadap bobot

    untuk mengubah bobot tersebut sedikit demi sedikit disebut metode gradient-

    descent, atau disebut juga dengan steepest-descent. Pada awalnya akan terdapat

    galat keluaran yang besar ketika sampel data diaplikasikan pada masukan jaringan

    karena bobot-bobotnya diberi nilai awal secara acak, tetapi kemudian informasi

    nilai galat ini digunakan untuk sebagai dasar untuk mengubah bobot-bobotnya

    dengan rumusan tertentu untuk memperkecil galatnya. Percobaan mengubah nilai

    bobot-bobotnya ini dilakukan berulang-ulang sampai diperoleh galat yang

    minimal.

    Untuk tiap sampel data, langkah pertama adalah mengaplikasikan nilai

    masukan pada jaringan dan menghitung responnya (nilai aktivasi) pada setiap

    neuron di dalamnya. Pada lapisan keluaran, galat bisa dihitung langsung dari

    selisih antara aktivasi neuron keluarannya dengan target yang diinginkan. Untuk

    lapisan tersembunyi, galat pada tiap neuronnya dihitung dengan merambatkan

    balik galat neuron lapisan setelahnya.

    Gambar 3.7 Sebuah neuron lapisan tersembunyi A dan hubungannya dengan neuron-neuron lapisan keluaran B dan C

  • 31

    Untuk menunjukkan bagaimana algoritma pelatihan rambat balik bekerja,

    pada gambar 3.7 ditunjukkan hubungan sebuah neuron (A) yang ada pada lapisan

    tersembunyi dengan neuron-neuron (B dan C) yang berada pada lapisan keluaran.

    Neuron A terhubung dengan B melalui bobot WAB dan terhubung dengan C

    melalui bobot WAC, dan algoritma pembelajarannya akan berjalan seperti berikut:

    1. Data masukan diterapkan dan nilai aktivasi semua neuronnya dihitung, ini

    akan menghasilkan nilai keluaran yang bisa jadi sangat jauh dari target

    yang diharapkan karena pada awalnya bobot-bobot ditentukan secara acak.

    2. Galat pada neuron lapisan keluaran dihitung sebagai berikut:

    E = Target aktivasi.

    Pada contoh neuron B, maka

    EB = Target AktivasiB.

    3. Bobot pada semua hubungan yang menuju neuron lapisan keluaran diubah.

    Untuk neuron B, dengan W+AB adalah bobot yang baru dan WAB adalah

    bobot awal, maka

    W+AB=WAB + EB * AktivasiA .

    Perlu diperhatikan bahwa faktor aktivasi yang mempengaruhi perubahan

    bobot WAB adalah aktivasi dari neuron A (bukan neuron B).

    4. Galat pada semua neuron lapisan tersembunyi dihitung. Untuk lapisan

    tersembunyi, karena tidak terhubung secara langsung dengan target

    keluaran, maka galatnya dirambatkan dari galat semua neuron yang

    terhubung dengannya pada lapisan setelahnya. Untuk neuron A, galatnya

    adalah

    EA =0,5(AktivasiA+1)(1-AktivasiA)(EBWAB+ECWAC).

    Faktor 0,5(AktivasiA+1)(1-AktivasiA) adalah turunan dari fungsi transfer

    (fungsi aktivasi) sigmoid dua kutub pada titik di mana suatu neuron

  • 32

    mengeluarkan nilai aktivasinya.

    5. Setelah mendapatkan galat pada neuron lapisan tersembunyi, maka

    kemudian bobot-bobotnya bisa diperbarui dengan cara yang sama seperti

    pada langkah 3.

    Dengan mengulangi metode perambatan galat seperti pada langkah 4 maka

    proses pelatihan atau pembaruan bobot dapat dilakukan untuk jaringan dengan

    berapapun jumlah lapisan tersembunyi.

    Laju pembelajaran dan momentumDengan melihat bahwa perubahan bobot besarnya tergantung dari besarnya

    galat, maka bisa disimpulkan bahwa pergerakan nilai bobot menuju nilai akhir

    mempunyai kecepatan yang sebanding dengan galatnya. Semakin mendekati nilai

    yang dituju maka pergerakannya semakin lambat. Jika pergerakan terlalu lambat

    maka pelatihan akan membutuhkan waktu yang lama, tetapi jika pergerakan

    terlalu cepat maka ada kemungkinan titik galat minimum yang dituju justru

    terlewati sehingga arah pencarian akan berbalik. Jika berbaliknya ini tidak

    menghasilkan galat yang lebih kecil maka bisa jadi pencarian hanya akan bolak-

    balik atau berosilasi di sekitar titik optimalnya dan selalu menghasilkan galat

    tertentu yang hanya berubah menjadi positif atau negatif jika pelatihan diteruskan.

    Untuk mengoptimasi antara kecepatan dan ketepatan (galat yang kecil) dalam

    pembelajran, maka ditambahkan faktor "laju pembelajaran" yang merupakan

    faktor pengali pada perubahan bobot. Untuk neuron A dengan aktivasi OA yang

    terhubung melalui bobot WAB ke neuron B dengan galat EB, tanpa faktor "laju

    pembelajaran" pembaruan bobotnya adalah

    W = EBOA (3.7)

    W+AB = WAB + W (3.8)

    dengan W adalah perubahan bobot, W+AB adalah bobot yang baru, dan WAB

    adalah bobot sebelumnya. Jika ditambahkan faktor laju pembelajaran L maka

    pembaruan bobotnya menjadi

  • 33

    W = LEBOA (3.9)

    W+AB = WAB + W (3.10)

    Dengan mengatur laju pembelajarannya, kini antara kecepatan dan akurasi

    pembelajarannya bisa dioptimasi. Masalah yang kemudian muncul adalah ketika

    laju pembelajarannya diperkecil agar bisa dicapai galat yang lebih kecil ternyata

    perubahan bobotnya menjadi sangat lambat bahkan ketika galatnya masih besar.

    Untuk memperbaiki kecepatan pelatihan pada kondisi seperti ini kemudian

    ditambahkan lagi faktor momentum, yang akan memperbesar lebih lanjut

    perubahan suatu bobot dengan faktor yang sebanding dengan perubahan bobot

    tersebut pada pelatihan sebelumnya. Jika faktor perubahan bobot pada iterasi

    sebelumnya adalah W-, maka pembaruan bobot dengan momentum M dan laju

    pembelajaran L pada satu iterasi bisa dituliskan sebagai

    W=LEBOA +MW- (3.11)

    W+ =W+ W

    W- = W

    3.2.5 Metode pelatihan resilient back-propagationAlgoritma resilient back-propagation tidak menggunakan informasi

    besaran gradien tetapi hanya arahnya saja. Algoritma ini diperkenalkan pertama

    kali oleh Riedmiller dan Braun (1993), yang kemudian dikembangkan lagi oleh

    Igel dan Husken (2000). Pada prinsipnya, algoritma ini memperbarui bobot

    dengan menambah atau mengurangi sebesar ukuran langkah (step-size). Arah

    gradien hanya digunakan untuk menentukan apakah bobot harus ditambah atau

    dikurangi. Besarnya ukuran langkah disesuaikan secara dinamis dengan melihat

    apakah arah gradien masih sama atau telah berbalik setelah pembaruan bobot. Jika

    arahnya sama maka ukuran langkah diperbesar dengan faktor penguat yang

    nilainya lebih dari 1, jika berbeda maka ukuran langkah diperkecil dengan faktor

    pelemah yang nilainya kurang dari 1 dan bobot dikembalikan ke nilai sebelumnya

    sebelum mengalami pembalikan gradien. Proses pengembalian nilai bobot ke nilai

  • 34

    sebelumnya ini disebut weight-backtracking. Igel dan Husken (2000)

    memperbaiki proses weight-backtraking dengan melihat terlebih dahulu besarnya

    galat, sehingga pengembalian nilai bobot hanya dilakukan jika arah gradien

    berubah dan besarnya galat lebih besar dari iterasi sebelumnya.

    Jika wi,j adalah bobot dari neuron j ke neuron i, dan E adalah galat yang

    mempunyai turunan terhadap bobot, dan superscript (t) menyatakan urutan iterasi,

    maka algoritma resilient dilakukan mengikuti posedur berikut:

    Untuk setiap wi,j lakukan {

    jika ( Ew i,j

    (t1)

    Ew i,j

    (t)

    )>0 maka

    { i,j(t )=min(i,j

    (t1). + ,max)

    w i,j(t)=sign( E

    w i,j

    (t)

    )i,j(t )

    w i,j(t+1)=w i,j

    (t )+w i,j(t )

    } jika tidak maka {

    jika ( Ew i,j

    (t1)

    Ew i,j

    (t)

    )E (t1)maka w i,j

    (t+1 )=w i,j(t )(t1) (3.12)

    Ew i,j

    (t )

    =0

    }jika tidak maka{

    jika ( Ew i,j

    ( t1)

    Ew i,j

    (t)

    )=0 maka

    {

    w i,j(t)=sign( E

    w i,j

    (t)

    ) i,j(t )

    w i,j(t+1)=w i,j

    (t )+w i,j(t )

    }}

    }

  • 35

    }

    dengan min adalah ukuran langkah minimum, max adalah ukuran langkah

    maksimum, - adalah faktor pelemah langkah (nilainya kurang dari 1, dan +

    adalah faktor penguat langkah (nilainya lebih dari 1).

    3.2.6 Minimum LokalPada pelatihan jaringan syaraf tiruan dengan sejumlah sampel data latih,

    galat keluaran untuk semua sampel masing-masing dikuadratkan, dijumlahkan,

    dan kemudian diambil nilai reratanya sebagai rerata galat kuadrat (mean square

    error). Galat ini mempunyai nilai tertentu untuk kombinasi nilai-nilai bobot

    tertentu, sehingga sehingga galat ini bisa dipandang sebagai fungsi bobot E(W)

    seperti dilukiskan pada Gambar 3.8. Gambar tersebut melukiskan profil

    permukaan galat pada jaringan dengan bobot tunggal, sehingga galat untuk semua

    variasi bobotnya bisa digambarkan sebagai garis dalam koordinat W,E(W). Jika

    jaringan memiliki dua bobot W1 dan W2, maka profil permukaan galat bisa

    digambarkan sebagai bidang dalam koordinat ruang W1,W2,E(W1,W2), begitu

    juga dengan jumlah bobot berapapun, galat bisa dinyatakan sebagai "permukaan"

    dalam ruang berdimensi sesuai dengan jumlah bobot.

    Gambar 3.8 Galat sebagai fungsi dari bobot

  • 36

    Salah satu masalah pada pelatihan dengan metode gradient descent ini

    adalah bahwa solusi yang didapat belum tentu merupakan solusi terbaik. Pada

    sistem dengan profil permukaan galat yang memiliki banyak lembah, titik pada

    dasar lembah disebut minimum lokal (local minima), sementara titik terendah di

    antara semua dasar lembah disebut minimum global (global minima). Pada contoh

    Gambar 3.8, jika bobot awal diinisialisasi dengan nilai Wa, maka proses pelatihan

    akan menggeser bobot sedikit-demi sedikit menuju bobot akhir Wb (terjebak

    dalam minimum lokal), sementara jika bobot diinisialisasi dengan nilai Wc maka

    akan didapat bobot akhir Wd (mencapai minimum global). Semakin kompleks

    pola data yang harus dipelajari dan semakin kompleks jaringan syaraf tiruannya

    (semakin banyak jumlah lapisan atau neuronnya) maka jumlah lembah-lembah

    minimum lokal kemungkinan akan semakin besar. Sebagai usaha untuk mencapai

    minimum global, jaringan syaraf tiruan biasanya dilatih menggunakan beberapa

    kali percobaan dengan inisialisasi bobot yang berbeda-beda secara acak, namun

    sayangnya tidak ada jaminan bahwa minimum global akan tercapai.

    3.2.7 OverfittingOverfitting adalah fenomena gagalnya JST dalam melakukan generalisasi,

    yaitu keadaan dimana JST lebih bersifat mengingat titik-titik individual daripada

    mempelajari pola-pola umum. Fenomena overfitting teramati ketika jaringan bisa

    menunjukkan galat yang cukup kecil pada sample data yang dilatihkan, tetapi

    mempunyai galat yang jauh lebih besar jika diujicobakan pada sampel data yang

    tidak dilatihkan (out of training sample). Data yang tidak dilatihkan bisa saja

    berupa sampel yang seharusnya dapat diinterpolasi maupun diekstrapolasi oleh

    jaringan. Overfitting ini bisa terjadi karena jumlah bobot yang terlalu banyak

    (yang berhubungan eraat dengan banyaknya neuron dan lapisan tersembunyi), dan

    juga jumlah data latih yang terlalu sedikit (Kaastra dan Boyd, 1996). Semakin

    banyak jumlah bobot-bobot dalam bandingannya dengan jumlah himpunan data

    latih, maka potensi terjadinya overfitting akan semakin besar. Solusi dengan

    mengurangi kompleksitas jaringan sepertinya merupakan solusi yang mudah dan

  • 37

    sederhana, akan tetapi Yu dan Wilamowski (2011) melaporkan bahwa melatih

    struktur feed forward multilayer perceptron yang sederhana ternyata lebih sulit

    daripada struktur yang memuat lebih banyak neuron, dan algoritma pelatihan

    tertentu bahkan mengalami kegagalan ketika jumlah neuron diturunkan dari

    jumlah tertentu sementara algoritma pelatihan yang lain tidak.

    Salah satu solusi mengatasi masalah overfitting ini adalah dengan

    menghentikan training secara dini (early-stop training), pada tingkat dimana JST

    cukup baik melakukan generalisasi, tidak sampai tingkat dimana JST mengingat

    titik-titik individual. Cara ini menuntut pembagian data latih menjadi setidaknya

    dua kelompok, yaitu himpunan data latih dan himpunan data uji. Data latih berisi

    sampel-sampel yang dilatihkan dengan algoritma pelatihan, sementara himpunan

    data uji digunakan untuk hanya untuk pengujian saja. Jika jaringan syaraf tiruan

    mampu memberikan respon dengan benar pada sampel-sampel data yang tidak

    dilatihkan berarti jaringan syaraf tiruan dianggap mampu melakukan generalisasi.

    Pelatihan dilakukan dengan menggunakan himpunan data latih dan dihentikan

    sementara secara berkala tiap satu atau beberapa epoch untuk melakukan

    pengujian galat pada himpunan data uji. Proses pelatihan seperti ini diilustrasikan

    dalam Gambar 3.9

    Gambar 3.9 Penghentian dini (early-stopping) pada pelatihan jaringan syaraf tiruan

  • 38

    Dengan metode ini pelatihan akan dihentikan secara dini jika pengujian pada data

    uji menunjukan kenaikan galat, meskipun pada data latih masih menunjukkan

    penurunan. Kenaikan galat pada data uji dianggap sebagai menurunnya

    kemampuan generalisasi dari JST.

    3.2.8 Pengukuran unjuk kerja jaringan syaraf tiruanUntuk mengukur unjuk kerja suatu jaringan syaraf tiruan, beberapa

    parameter pengukuran yang sering digunakan diantaranya adalah: mean square

    error (MSE), normalized mean square error (NMSE), correct sign statistic (CS),

    dan correct directional statistic (CD).

    Mean square error (MSE) MSE (mean square error) adalah rerata dari jumlahan galat kuadrat. Untuk

    jaringan syaraf tiruan dengan satu neuron keluaran dengan himpunan sampel

    masukan x1,x2,x3,...,xn; target y1,y2,y3,...,y; dan tanggapan keluaran o1,o2,o3,...,on;

    maka mean square error yang dihasilkan adalah

    MSE=1ni=1

    n

    (oi y i)2 (3.13)

    Tidak seperti rerata galat absolut atau rerata akar jumlahan kuadrat galat

    yang secara langsung bisa menggambarkan besaran galatnya secara rata-rata,

    rerata galat kuadrat ini lebih ditujukan untuk memilih atau mengurutkan unjuk

    kerja beberapa jaringan secara lebih baik dengan memberikan pinalti yang

    semakin besar untuk galat yang makin besar karena nilainya dikuadratkan.

    Dibandingkan dengan parameter unjuk kerja yang secara langsung menunjukkan

    besaran rerata galatnya, pengukuran MSE akan menilai sistem sebagai "jauh lebih

    buruk" jika ada satu atau beberapa sampel yang menghasilkan galat yang besar

    meskipun kebanyakan sampel lainnya sangat kecil galatnya.

    Normalized mean square error (NMSE) NMSE (normalized mean square error) adalah parameter galat yang

  • 39

    dinormalkan agar nilainya menjadi menjadi relatif terhadap variansi target yang

    diprediksi atau dihitung nilainya oleh jaringan syaraf tiruan. Dengan normalisasi

    ini, maka berbagai sistem prediksi atau pengukur bisa diperbandingkan unjuk

    kerjanya, bahkan untuk sistem-sistem dengan aplikasi data yang berbeda. Untuk

    jaringan syaraf tiruan dengan satu neuron keluaran dengan himpunan target

    pelatihan y1,y2,y3,...,yn dan tanggapan keluaran o1,o2,o3,...,on; maka mean square

    error yang dihasilkan adalah

    NMSE=1ni=1

    n (o i y i)2

    ( y i y )2 (3.14)

    dengan y adalah rerata target (y1+y2+y3+...+yn)/n sehingga dapat dituliskan pula

    sebagai

    NMSE= 12

    1ni=1

    n

    (oi y i)2=MSE

    2(3.15)

    dengan 2 adalah variansi dari target. Jika kita membandingkan pengukuran unjuk

    kerja dari sistem-sistem prediksi dengan data yang sama persis maka parameter

    MSE sudah cukup untuk membedakan sistem mana yang lebih baik. Di sisi lain,

    jika diinginkan gambaran unjuk kerja secara umum dari suatu sistem, maka

    menyatakan besarnya galat secara absolut tanpa memberikan informasi deviasi

    atau variansi dari rentang tanggapan yang mungkin terjadi merupakan hal yang

    sia-sia karena parameter tersebut tidak dapat menggambarkan resolusi atau

    akurasinya. Sebagai contoh, jika suatu termometer dikatakan memiliki galat rata-

    rata sebesar 1 derajat celsius, kita belum bisa membayangkan seteliti termometer

    tersebut jika belum mengetahui rentang pengukuran yang diharapkan. Jika

    termometer tersebut digunakan untuk mengukur suhu tungku peleburan logam

    yang rentang pengukurannya 25oC sampai dengan 2000oC maka bisa dikatakan

    bahwa resolusi dan presisinya cukup baik, tetapi jika termometer tersebut

    seharusnya digunakan untuk mengukur suhu badan yang kebolehjadiannya paling

    sering berada diantara 35oC-40oC maka bisa dikatakan bahwa resolusi dan

    presisinya buruk.

  • 40

    Correct sign statistic (CS) CS (correct sign statistic) merupakan ukuran yang sering digunakan dalam

    sistem prediksi, terutama pada prediksi variabel yang nilainya dirancang untuk

    menunjukkan nilai positif atau negatif dengan titik nol sebagai batas pembeda dari

    dua kelas nilai yang perlu diklasifikasi. Sebagai contoh, pada sistem prediksi nilai

    tukar valuta asing, sistem seringkali diprioritaskan untuk dapat memprediksi arah

    perubahannya (apakah naik ataukah turun) dengan lebih tepat, tanpa

    mempermasalahkan ketepatan prediksi seberapa besar kenaikan atau

    penurunannya. Untuk menghitung CS, nilai target maupun nilai keluaran sistem

    prediksi diberi tanda. Jika nilainya sama dengan atau lebih besar dari 0 maka

    diberi tanda positif, jika tidak maka diberi tanda negatif. CS merupakan

    prosentase hasil prediksi yang menujukka