PREDIKSI NILAI TUKAR VALUTA ASING MENGGUNAKAN METODE ALGORITMA GENETIKA-JARINGAN SARAF TIRUAN
(EURO TERHADAP US DOLLAR)
TUGAS AKHIR
Disusun dalam rangka memenuhi salah satu persyaratanUntuk menyelesaikan program Strata-1 Prodi Informatika Jurusan Elektro
Universitas HasanuddinMakassar
Disusun Oleh :
ARY SESPAJAYADI NUR INDRIANI RUSHADAH D421 08 111 D421 08 259
PROGRAM STUDI TEKNIK INFORMATIKAJURUSAN ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS HASANUDDINMAKASSAR
2012
LEMBAR BERITA ACARA UJIAN SARJANA
PANITIA UJIAN SARJANAPRODI INFORMATIKA JURUSAN ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS HASANUDDIN
Pada hari ini Kamis tanggal 06 bulan Desember tahun 2012 telah dilaksanakan Ujian Sarjana
lengkap atas nama:
ARYSESPAJAYADI
D42108111
NUR INDRIANI RUSHADAH
D42108259
Berhasil mempertahankan dan panitia ujian menerima Skripsi yang berjudul “Prediksi Nilai
Tukar Valuta Asing Menggunakan Metode Algoritma Genetika-Jaringan Saraf Tiruan (Euro
terhadap US Dollar)”
Yang diajukan dalam rangka memenuhi salah satu syarat guna memperoleh gelar Sarjana
Teknik Program Studi Teknik Informatika Jurusan Teknik Elektro pada Fakultas Teknik
Universitas Hasanuddin.
Makassar, 8 Februari 2013
Panitia Ujian Sarjana Lengkap
Nama Jabatan Tanda Tangan
1. Indrabayu, ST., MT., M.Bus, Sys. Ketua ( )
2. Elly Warni, ST., MT. Sekretaris ( )
3. Ir. H. Syafruddin Syarief, MT. Penguji ( )
4. Novy Nur Rahmilah Ayu, ST.MsTM. Penguji ( )
5. Dr-Ing. Faizal Arya Samman, ST., MT. Penguji ( )
LEMBAR PERBAIKAN SKRIPSI (TUGAS AKHIR)
Hari / Tanggal : Kamis, 06 Desember 2012
Jam : 09.00 WITA – Selesai
Tempat : Ruang Sidang Informatika
Judul Skripsi : Prediksi Nilai Tukar Valuta Asing
Menggunakan Metode
Algoritma Genetika-Jaringan
Saraf Tiruan (Euro terhadap US
Dollar).
1. Nama : Arysespajayadi
No. Stb : D42108111
2. Nama : Nur Indriani Rushadah
No. Stb : D42108259
Telah Diperbaiki Sesuai Dengan Usulan / Pembimbing KETUA : Indrabayu, ST., MT., M.Bus, Sys. ( )SEKRETARIS : Elly Warni, ST., MT. ( )PENGUJI : 1. Ir. H. Syafruddin Syarief, MT. ( )
2. Novy Nur Rahmilah Ayu, ST.MsTM ( ) 3. Dr-Ing. Faizal Arya Samman, ST., MT. ( )
PEMBIMBING: 1. Indrabayu, ST., MT., M.Bus, Sys. ( ) 2. Elly Warni, ST., MT. ( )
Makassar, 8 Februari 2013Ketua Jurusan Elektro,
Dr.Ir.H. Andani Ahmad, MTNIP: 196012111987031022
2
LEMBAR PENGESAHAN TUGAS AKHIR
PREDIKSI NILAI TUKAR VALUTA ASING MENGGUNAKAN
METODE ALGORITMA GENETIKA-JARINGAN SARAF TIRUAN
(EURO TERHADAP US DOLLAR)
Disusun Oleh:
ARY SESPAJAYADI D421 08 111
NUR INDRIANI RUSHADAH D421 08 259
Tugas Akhir ini telah diterima dan disahkan sebagai kurikulum untuk memenuhi
persyaratan guna memperoleh gelar Sarjana Teknik pada Prodi Informatika
Jurusan Elektro Fakultas Teknik Universitas Hasanuddin
Disahkan Oleh:
Pembimbing I
Indrabayu, ST, MT, M.Bus, Sys.NIP.19750716 200212 1 004
Pembimbing II
Elly Warni, ST. MTNIP.19820216 200812 2 001
Mengetahui,Ketua Jurusan Elektro
Fakultas Teknik Universitas Hasanuddin
Dr. Ir. H. Andani Achmad, MT.NIP. 19601231 198703 1 022
3
ABSTRAK
Memiliki penghasilan tinggi secara continue dan aman dalam trading Forex secara real adalah impian bagi para trader, hampir kebanyakan para trader pemula , terutama trader yang baru terjun atau baru belajar di dunia Forex berusaha semaksimal mungkin untuk menemukan sistem yang holygrail secara teknik baik secara fundamental maupun teknikal
Pada penelitian ini bertujuan untuk membuat sistem prediksi harga nilai tukar mata uang Euro terhadap US Dollar dengan metode Algoritma Genetika-Jaringan Saraf Tiruan. Metode Algoritma Genetika digunakan untuk mendapatkan nilai Feed Forward Neural Network terbaik dari output yang dihasilkan. Selanjutnya dilakukan pelatihan terhadap Feed Forward Neural Network terbaik yang didapatkan dengan metode Jaringan Saraf Tiruan untuk membentuk sebuah net yang akan digunakan untuk memprediksi.
Data pergerakan nilai tukar Euro terhadap US Dollar dapat diperoleh dari software Metatrader yang berupa data history forex timeframe jam (H1). Dimana hasil uji prediksi adalah nilai open, high, low dan close yang mengalami perubahan setiap jam. Validasi hasil uji prediksi harga EUR/USD pada nilai harga Open, High, Low dan Close dengan metode Algoritma Genetika-Jaringan Saraf Tiruan terhadap data real history time-frame H1 keempat variabel dari Metarader memiliki nilai RMSE dan tingkat akurasi sebagai berikut: Open memiliki nilai RMSE sebesar 0,0071 dengan tingkat akurasi sebesar 95,00%, High memiliki nilai RMSE sebesar 0,0261 dengan tingkat akurasi 59,17%, Low memiliki nilai RMSE sebesar 0,0328 dengan tingkat akurasi sebesar 50,00% dan Close meiliki nilai RMSE sebesar 0,0119 dengan tingkat akurasi sebesar 83,33%.
Kata Kunci: Algoritma Genetika; prediksi nilai tukar valuta asing; Jaringan Saraf Tiruan;
4
ABSTRACT
Having a high income continously and safely within forex trading is a dream comes true for all traders most traders are beginner, esspecially a young or shortly learning trader who resecently become a trade tried as hard as possible to discover a holygrail system technically and fundamentally.
This research intended to create a Euro to Us Dollar currency trading prediction system by using Genetic Algorithm-Neural Network method. Genetic Algorithm method is used to gain the best value of Feed Forward Neural Network out of the achieved output. Then we commit a training for the best Feed Forward Neural Network the achieved by using Neural Network method, to form a net which are going to be used to predict.
Euro to Us Dollar’s value changes data, can be gaived by from metatrader application in from of history forex time frame hour’s data (H1). In which the result of prediction value are Open, High, Low, and Close value which are going to fare hourly changes. The result of EUR/USD current prediction validation on Open, High, Low, and Close price’s by using Genetic Algorithm-Neural Network method toward real history time-frame H1 data, all the four variable of metatrader are RMSE and having these level of accuracy : Open with 0.0071 RMSE value with accuracy level of 95.00%, High with 0.0261 RMSE value with accuracy level of 59.17%, Low with 0.0328 RMSE value with accuracy level of 50.00%, and Close with 0.0119 RMSE value with accuracy level of 83.33%.
Key words: Genetic Algorithm; foreign trading currency value prediction; Neural Network;
5
KATA PENGANTAR
Puji syukur yang sebesar-besarnya atas kehadirat Allah SWT, karena
atas berkah ilmu pengetahuan serta rahmat-Nya lah, sehingga penulis dapat
menyelesaikan Tugas Akhir ini dengan baik.
Tugas Akhir ini dibuat sebagai salah satu syarat yang harus dipenuhi
dalam menyelesaikan studi pada Prodi Informatika Jurusan Elektro Fakultas
Teknik Universitas Hasanuddin, dengan judul “PREDIKSI NILAI TUKAR
VALUTA ASING MENGGUNAKAN METODE ALGORITMA GENETIKA-
JARINGAN SARAF TIRUAN (EURO TERHADAP US DOLLAR)”.
Pada proses penyelesaian skripsi ini, penulis telah banyak mendapat
bantuan dan dukungan baik secara material maupun spiritual dari berbagai pihak.
Sebagai salah satu bentuk penghargaan yang setinggi-tingginya, kami
mengucapakan terima kasih yang sebesar-besarnya kepada :
1. Kedua orangtua kami tercinta, H. Amir Badi – Hj. Saenab Rasak dan
Drs.Rustam Nusi – Nurhaedah atas segala doa, pengorbanan, kasih
sayang, dan didikannya serta segala jasa-jasanya.
2. Bapak Amil A Ilham, ST, M.IT, P.HD selaku Ketua Prodi Informatika
Jurusan Teknik Elektro Fakultas Teknik Universitas Hasanuddin atas
segala dukungannya.
3. Bapak Dr. Ir. H. Andani Achmad, MT dan Bapak Ir. Gassing MT,
selaku Ketua dan Sekretaris Jurusan Teknik Elektro Fakultas Teknik
Universitas Hasanuddin atas segala dukungannya.
6
4. Bapak Indrabayu, ST, MT, M.Bus, Sys. sebagai Pembimbing I dan
Bapak Elly, ST, MT sebagai Pembimbing II atas segala bimbingan,
bantuan, dan arahannya selama penulisan skripsi ini.
5. Pak Zulkifli Tahir, ST. MSc atas waktu luangnya memberikan
pengetahuan mengenai Metode Algoritma Genetika yang terkait program
Tugas akhir ini dan Segenap dosen serta staf Prodi Informatika dan
Jurusan Elektro Fakultas Teknik Universitas Hasanuddin.
6. Seluruh keluarga besar H. Amir Badi dan Drs. Rustam Nusi
7. Saudara-saudara ku Azwar, Sari Fitriani, Azhary.
8. Kanda senior Eno’ Elektro 2007 yang telah meluangkan waktunya untuk
berbagi keahliannya menggunakan MATLAB dan pengetahuannya
mengenai metode Genetic Algorithm-Neural Network serta tidak bosan-
bosannya menerima text message untuk private course.
9. Kanda Irgi dan kanda Abo’ yang telang meluangkan waktunya menemani
saat-saat asistensi ke reso dan membantu dalam berpikir mengenai
analisis dari proses pengerjaan Tugas Akhir ini.
10. Teman-teman kelas Informatika’08 selaku teman berbagi suka duka sejak
semester awal hingga semester akhir.
11. Teman-teman angkatan Spyware’08 yang selalu kompak dalam setiap
kegiatan dan menjadi tempat berbagi pengalaman selama menjadi
mahasiswa.
7
Dengan menyadari berbagai kekurangan yang terdapat dalam Tugas Akhir
ini, maka segala kritik dan saran yang sifatnya membangun dari semua pihak
sangat diharapkan.
Akhir kata, penulis berharap semoga Tugas Akhir ini bermanfaat bagi
semua pihak yang memerlukan terutama untuk mendukung kegiatan akademis.
Makassar, Desember 2012
Penulis
8
DAFTAR ISI
HALAMAN JUDUL ....................................................................................... i
LEMBAR PENGESAHAN TUGAS AKHIR............................................... ii
ABSTRAK ....................................................................................................... iii
ABSTRACT..................................................................................................... iv
KATA PENGANTAR .................................................................................... v
DAFTAR ISI ................................................................................................... viii
DAFTAR GAMBAR ...................................................................................... xi
DAFTAR TABEL ........................................................................................... xv
DAFTAR LAMPIRAN................................................................................... xvii
BAB I PENDAHULUAN
I.1 LATAR BELAKANG ............................................................ I-1
I.2 RUMUSAN MASALAH........................................................ I-3
I.3 TUJUAN PENELITIAN ........................................................ I-3
I.4 BATASAN MASALAH......................................................... I-3
I.5 METODOLOGI PENELITIAN ............................................. I-4
I.6 SISTEMATIKA PENULISAN .............................................. I-6
BAB II TINJAUAN PUSTAKA
II.1. PENGERTIAN FOREX ......................................................... II-1
II.2. VALUTA YANG DIPERDAGANGKAN............................. II-3
II.2.1. Kurs Valuta .................................................................. II-4
II.2.2. Faktor-faktor Penggerak Valuta................................... II-6
II.3. DASAR-DASAR ANALISIS TEKNIKAL ........................... II-10
II.4. TRADING SYSTEM ................................................................ II-12
II.5. ALGORITMA GENETIK (ALGORITMA GENETIKA) ........ II-13
II.6.1. Konsep Dasar Algoritma Genetik ............................... II-13
II.6.2. Komponen-Komponen Algoritma Genetik ................. II-16
II.6.3. Cara Kerja Algoritma Genetik..................................... II-22
9
II.6. JARINGAN SYARAF TIRUAN (JARINGAN SARAF
TIRUAN). ................................................................................ II-23
II.5.1. Deskripsi Awal Jaringan Saraf Tiruan........................ II-24
II.5.2. Neuron.......................................................................... II-27
II.5.3. Backpropagation .......................................................... II-28
II.5.4. Arsitektur Jaringan Syaraf ........................................... II-32
II.5.5. Fungsi Aktivitas ........................................................... II-33
II.5.6. Algoritma Belajar dan Pelatihan .................................. II-33
BAB III MEOTODOLOGI
III.1. ALUR PENELITIAN ............................................................. III-1
III.1.1. Pengambilan Data ....................................................... III-2
III.2. PEMBENTUKAN FFNN (FEED FORWARD NEURAL
NETWORK) VARIABEL INPUT DENGAN ALGORITMA
GENETIKA ............................................................................. III-2
III.2.1. Pemrosesan Data Input ............................................... III-4
III.2.2. Pembangkitan Populasi Awal ..................................... III-5
III.2.3. Evaluasi Fitness dan Elitisme ..................................... III-6
III.2.4. Seleksi dengan Roulette Whell.................................... III-7
III.2.5. Operasi Crossover....................................................... III-8
III.2.6. Operasi Mutasi ............................................................ III-8
III.2.7. Penentuan Suatu Kondisi Untuk Menghentikan
Jalannya Algoritma ..................................................... III-9
III.3. PELATIHAN PREDIKSI VALUTA ASING DENGAN
JARINGAN SARAF TIRUAN-BACKPROPAGATION ........... III-9
III.4. UJI PREDIKSI VALUTA ASING DENGAN
ALGORITMA GENETIKA-JARINGAN SARAF
TIRUAN……………................................................................. III-11
III.5. VALIDASI PREDIKSI VALUTA ASING DENGAN
ALGORITMA GENETIKA-JARINGAN SARAF
TIRUAN……………................................................................. III-12
10
BAB IV ANALISIS DAN PEMBAHASAN
IV.1. PEMBENTUKAN FEED FORWARD NEURAL
NETWORK DAN PREDIKSI METODE ALGORITMA
GENETIKA ............................................................................. IV-1
IV.2. PELATIHAN FEED FORWARD NEURAL NETWORK
DAN PREDIKSI METODE JARINGAN SARAF TIRUAN-
BACKPROPAGATION ........................................................... IV-9
IV.3. PENGUJIAN PREDIKSI NILAI TUKAR VALUTA
ASING DENGAN METODE ALGORITMA GENETIKA-
JARINGAN SARAF TIRUAN .................................................. IV-11
BAB V PENUTUP
V.1. KESIMPULAN......................................................................... V-1
V.2. SARAN..................................................................................... V-2
DAFTAR PUSTAKA
DAFTAR ISTILAH
LAMPIRAN
11
DAFTAR GAMBAR
Gambar 2.1. Prinsip Umum Investasi dan Perdagangan ............................. II-2
Gambar 2.2. Perantara antara trader dengan Bank ...................................... II-3
Gambar 2.3. Proses pergerakan grafik......................................................... II-5
Gambar 2.5. Contoh Individu dengan Representasi Gen dalam Bentuk
Real number encoding (Atas), Discrete Decimal Encoding
(Tengah), dan Binary Encoding (Bawah) ............................... II-17
Gambar 2.6. Contoh Penggunaan Metode Roulette Wheel Selection .......... II-18
Gambar 2.7. Pindah Silang dengan Satu Titik Potong di Antara Gen 2
dan Gen 3................................................................................ II-20
Gambar 2.8. Proses Mutasi pada Sistem Binary Encoding ......................... II-20
Gambar 2.4. Sebuah Sel Syaraf Tiruan ....................................................... II-28
Gambar 3.1. Alur Penelitian ........................................................................ III-1
Gambar 3.2. FLowchart Perancangan Sistem Algoritma Genetika............. III-3
Gambar 4.1. Grafik Pergerakan Nilai Fitness Close Prediksi Nilai Tukar
Valuta Asing ........................................................................... IV-3
Gambar 4.2. Grafik Pergerakan Nilai Fitness Low Prediksi Nilai Tukar
Valuta Asing ........................................................................... IV-4
Gambar 4.3. Grafik Pergerakan Nilai Fitness High Prediksi Nilai Tukar
Valuta Asing ........................................................................... IV-4
Gambar 4.4. Grafik Pergerakan Nilai Fitness Open Prediksi Nilai Tukar
Valuta Asing ........................................................................... IV-5
Gambar 4.5. Struktur FFNN Terbaik yang dihasilkan Algoritma Genetika IV-6
Gambar 4.6. Perbandingan Data Real Open dan Hasil Latih Open Nilai
Tukar Valuta Asing dengan Metode Algoritma Genetika
(input 1 minggu) ..................................................................... IV-7
Gambar 4.7. Perbandingan Data Real High dan Hasil Latih High Nilai
Tukar Valuta Asing dengan Metode Algoritma Genetika
(input 1 minggu) ..................................................................... IV-7
12
Gambar 4.8. Perbandingan Data Real Low dan Hasil Latih Low Nilai
Tukar Valuta Asing dengan Metode Algoritma Genetika
(input 1 minggu) ..................................................................... IV-8
Gambar 4.9. Perbandingan Data Real Close dan Hasil Latih Close Nilai
Tukar Valuta Asing dengan Metode Algoritma Genetika
(input 1 minggu) ..................................................................... IV-8
Gambar 4.10. Perbandingan Data Real Open dan Hasil Latih Open Nilai
Tukar Valuta Asing dengan Metode Jaringan Saraf Tiruan-
Backpropagation..................................................................... IV-9
Gambar 4.11. Perbandingan Data Real High dan Hasil Latih High Nilai
Tukar Valuta Asing dengan Metode Jaringan Saraf Tiruan-
Backpropagation..................................................................... IV-10
Gambar 4.12. Perbandingan Data Real Low dan Hasil Latih Low Nilai
Tukar Valuta Asing dengan Metode Jaringan Saraf Tiruan-
Backpropagation..................................................................... IV-10
Gambar 4.13. Perbandingan Data Real Close dan Hasil Latih Close Nilai
Tukar Valuta Asing dengan Metode Jaringan Saraf Tiruan-
Backpropagation..................................................................... IV-11
Gambar 4.14. Perbandingan Data Real Open dan Hasil Uji Prediksi Open
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 1 oktober 2012 ..... IV-14
Gambar 4.15. Perbandingan Data Real Open dan Hasil Uji Prediksi Open
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 2 oktober 2012 ..... IV-15
Gambar 4.16. Perbandingan Data Real Open dan Hasil Uji Prediksi Open
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 3 oktober 2012 ..... IV-16
Gambar 4.17. Perbandingan Data Real Open dan Hasil Uji Prediksi Open
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 4 oktober 2012 ..... IV-18
13
Gambar 4.18. Perbandingan Data Real Open dan Hasil Uji Prediksi Open
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 5 oktober 2012 ..... IV-20
Gambar 4.19. Perbandingan Data Real High dan Hasil Uji Prediksi High
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 1 Oktober 2012 .... IV-22
Gambar 4.20. Perbandingan Data Real High dan Hasil Uji Prediksi High
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 2 Oktober 2012 .... IV-24
Gambar 4.21. Perbandingan Data Real High dan Hasil Uji Prediksi High
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 3 Oktober 2012 .... IV-26
Gambar 4.22. Perbandingan Data Real High dan Hasil Uji Prediksi High
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 4 Oktober 2012 .... IV-28
Gambar 4.23. Perbandingan Data Real High dan Hasil Uji Prediksi High
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 5 Oktober 2012 .... IV-30
Gambar 4.24. Perbandingan Data Real Low dan Hasil Uji Prediksi Low
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 1 Oktober 2012 .... IV-32
Gambar 4.25. Perbandingan Data Real Low dan Hasil Uji Prediksi Low
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 2 Oktober 2012 .... IV-34
Gambar 4.26. Perbandingan Data Real Low dan Hasil Uji Prediksi Low
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 3 Oktober 2012 .... IV-36
Gambar 4.27. Perbandingan Data Real Low dan Hasil Uji Prediksi Low
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 4 Oktober 2012 .... IV-38
14
Gambar 4.28. Perbandingan Data Real Low dan Hasil Uji Prediksi Low
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 5 Oktober 2012 .... IV-40
Gambar 4.29. Perbandingan Data Real Close dan Hasil Uji Prediksi Close
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 1 Oktober 2012 .... IV-42
Gambar 4.30. Perbandingan Data Real Close dan Hasil Uji Prediksi Close
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 2 Oktober 2012 .... IV-44
Gambar 4.31. Perbandingan Data Real Close dan Hasil Uji Prediksi Close
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 3 Oktober 2012 .... IV-46
Gambar 4.32. Perbandingan Data Real Close dan Hasil Uji Prediksi Close
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 4 Oktober 2012 .... IV-48
Gambar 4.33. Perbandingan Data Real Close dan Hasil Uji Prediksi Close
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika-Jaringan Saraf Tiruan Tanggal 5 Oktober 2012 .... IV-50
15
DAFTAR TABEL
Tabel 4.10. Validasi Data Real dengan Hasil Uji Prediksi Open pada
Tanggal 1 Oktober 2012 ......................................................... IV-13
Tabel 4.11. Validasi Data Real dengan Hasil Uji Prediksi Open pada
Tanggal 2 Oktober 2012 ......................................................... IV-14
Tabel 4.12. Validasi Data Real dengan Hasil Uji Prediksi Open pada
Tanggal 3 Oktober 2012 ......................................................... IV-16
Tabel 4.13. Validasi Data Real dengan Hasil Uji Prediksi Open pada
Tanggal 4 Oktober 2012 ......................................................... IV-18
Tabel 4.14. Validasi Data Real dengan Hasil Uji Prediksi Open pada
Tanggal 5 Oktober 2012 ......................................................... IV-20
Tabel 4.15. Validasi Data Real High dengan Hasil Uji Prediksi High
pada Tanggal 1 Oktober 2012................................................. IV-22
Tabel 4.16. Validasi Data Real High dengan Hasil Uji Prediksi High
pada Tanggal 2 Oktober 2012................................................. IV-24
Tabel 4.17. Validasi Data Real High dengan Hasil Uji Prediksi High
pada Tanggal 3 Oktober 2012................................................. IV-26
Tabel 4.18. Validasi Data Real High dengan Hasil Uji Prediksi High
pada Tanggal 4 Oktober 2012................................................. IV-28
Tabel 4.19. Validasi Data Real High dengan Hasil Uji Prediksi High
pada Tanggal 5 Oktober 2012................................................. IV-30
Tabel 4.20. Validasi Data Real Low dengan Hasil Uji Prediksi Low pada
Tanggal 1 Oktober 2012 ......................................................... IV-32
Tabel 4.21. Validasi Data Real Low dengan Hasil Uji Prediksi Low pada
Tanggal 2 Oktober 2012 ......................................................... IV-34
Tabel 4.22. Validasi Data Real Low dengan Hasil Uji Prediksi Low pada
Tanggal 3 Oktober 2012 ......................................................... IV-36
Tabel 4.23. Validasi Data Real Low dengan Hasil Uji Prediksi Low pada
Tanggal 4 Oktober 2012 ......................................................... IV-38
16
Tabel 4.24. Validasi Data Real Low dengan Hasil Uji Prediksi Low pada
Tanggal 5 Oktober 2012 ......................................................... IV-40
Tabel 4.25. Validasi Data Real Close dengan Hasil Uji Prediksi Close
pada Tanggal 1 Oktober 2012................................................. IV-42
Tabel 4.26. Validasi Data Real Close dengan Hasil Uji Prediksi Close
pada Tanggal 2 Oktober 2012................................................. IV-44
Tabel 4.27. Validasi Data Real Close dengan Hasil Uji Prediksi Close
pada Tanggal 3 Oktober 2012................................................. IV-46
Tabel 4.28. Validasi Data Real Close dengan Hasil Uji Prediksi Close
pada Tanggal 4 Oktober 2012................................................. IV-48
Tabel 4.29. Validasi Data Real Close dengan Hasil Uji Prediksi Close
pada Tanggal 5 Oktober 2012................................................. IV-50
Tabel 4.30. RMSE (Root Mean Square Error) dan Persentase kebenaran
(akurasi) Variabel input Algoritma Genetika-Jaringan Saraf
Tiruan untuk uji prediksi selama 1 minggu mulai tanggal 1
Oktober sampai dengan 5 Oktober 2012 ................................ IV-53
17
DAFTAR LAMPIRAN
1. FUNGSI-FUNGSI PADA ALGORITMA GENETIKA....................... L-1
2. PEMBENTUKAN FEED FORWARD NEURAL NETWORK
NILAI TUKAR VALUTA ASING DAN PELATIHAN PREDIKSI
METODE ALGORITMA GENETIKA ................................................ L-3
3. PELATIHAN FEED FORWARD NEURAL NETWORK NILAI
TUKAR VALUTA ASING DAN PREDIKSI METODE NEURAL
NETWOR-BACKPROPAGATION...................................................... L-7
4. PENGUJIAN PREDIKSI NILAI TUKAR VALUTA ASING
MENGGUNAKAN METODE ALGORITMA GENETIKA-
JARINGAN SARAF TIRUAN.............................................................. L-8
5. PSEUDOCODE ALGORITMA GENETIKA-JARINGAN SARAF
TIRUAN ............................................................................................. L-1
6. TABEL 4.1 NILAI-NILAI VARIABEL INPUT OPEN, HIGH,
LOW DAN CLOSE TANGGAL 24 OKTOBER SAMPAI
DENGAN 28 OKTOBER 2012 ......................................................... L-18
7. TABEL 4.2 PERBANDINGAN DATA REAL OPEN DENGAN
HASIL LATIH OPEN NILAI TUKAR VALUTA ASING
DENGAN METODE ALGORITMA GENETIKA .............................. L-21
8. TABEL 4.3 PERBANDINGAN DATA REAL HIGH DENGAN
HASIL LATIH HIGH NILAI TUKAR VALUTA ASING
DENGAN METODE ALGORITMA GENETIKA .............................. L-27
9. TABEL 4.4 PERBANDINGAN DATA REAL LOW DENGAN
HASIL LATIH LOW NILAI TUKAR VALUTA ASING
DENGAN METODE ALGORITMA GENETIKA .............................. L-31
10. TABEL 4.5 PERBANDINGAN DATA REAL CLOSE DENGAN
HASIL LATIH CLOSE NILAI TUKAR VALUTA ASING
DENGAN METODE ALGORITMA GENETIKA .............................. L-36
18
11. TABEL 4.6 PERBANDINGAN DATA REAL OPEN DENGAN
HASIL LATIH OPEN NILAI TUKAR VALUTA ASING
DENGAN METODE JARINGAN SARAF TIRUAN-
BACKPROPAGATION ....................................................................... L-42
12. TABEL 4.7 PERBANDINGAN DATA REAL HIGH DENGAN
HASIL LATIH HIGH NILAI TUKAR VALUTA ASING
DENGAN METODE JARINGAN SARAF TIRUAN-
BACKPROPAGATION ....................................................................... L-47
13. TABEL 4.8 PERBANDINGAN DATA REAL LOW DENGAN
HASIL LATIH LOW NILAI TUKAR VALUTA ASING
DENGAN METODE JARINGAN SARAF TIRUAN-
BACKPROPAGATION ....................................................................... L-52
DAFTAR ISTILAH
FFNN FEED FORWARD NEURAL NETWORK
FOREX FOREIGN EXCHANGE
OPEN HARGA NILAI TUKAR PADA SAAT PASAR FOREX BUKA
HIGH HARGA TRANSAKSI TERTINGGI PADA SAAT PERTUKARAN
LOW HARGA TRANSAKSI TERRENDAH PADA SAAT PERTUKARAN
CLOSE HARGA NILAI TUKAR PADA SAAT PASAR FOREX TUTUP
VOLUME TRANSAKSI HARIAN YANG SANGAT BESAR
BID HARGA PENAWARAN
BUY HARGA BELI
ASK HARGA PERMINTAAN
SELL HARGA JUAL
HOLYGRAIL MENDAPATKAN PROFIT SEMAKSIMAL MUNGKIN SECARA KONTINYU
PIP PRICE INCREMENT POINT “PERGERAKAN HARGA MATA UANG”
MSE MEAN SQUARE ERROR
RMSE ROOT MEAN SQUARE ERROR
I-1
BAB I
PENDAHULUAN
I.1. LATAR BELAKANG
Foreign Exchange Market (disingkat Forex market) atau yang biasa
dikenal dengan Pasar Valuta Asing atau Mata Uang Asing merupakan suatu
jenis perdagangan atau transaksi yang memperdagangkan mata uang suatu
negara terhadap mata uang negara lainnya (pasangan mata uang/pair) melalui
broker atau dealer[1].
Dalam menganalisis pasar Forex, terdapat dua jenis analisis (1)
analisis fundamental dan (2) analisis teknikal. Analisis fundamental adalah
metode untuk mengamati pergerakan pasar melalui kekuatan-kekuatan berita,
baik berita sosial, berita politik maupun berita ekonomi yang mempengaruhi
permintaan dan penawaran[13]. Analisis teknikal adalah analisis tentang
pergerakan menggunakan chart dan melihat gerakan history mata uang untuk
memprediksi kemana arah pergerakan selanjutnya[13].
Memiliki penghasilan tinggi secara continue dan aman dalam trading
Forex secara real adalah impian bagi para trader, hampir kebanyakan para
trader pemula , terutama trader yang baru terjun atau baru belajar di dunia
Forex berusaha semaksimal mungkin untuk menemukan sistem yang holygrail
I-2
secara teknik baik secara fundamental maupun teknikal, bahkan tidak sedikit
yang tergiur untuk membeli auto-system, indikator signal, roboForex dan lain-
lain. yang mereka anggap dapat membantu keberhasilannya, ternyata hanya
beberapa kali saja sistemnya mendapatkan profit bahkan harus memerlukan
banyak modal tanpa memperhitungkan resiko agar sistemnya bekerja dengan
baik, dianggap jalan menuju kesuksesan, Namun dari sekian banyak teknik dan
sistem tersebut memang tidak menjamin anda sukses, tetapi jadikanlah itu
sebagai second opinion karena teknik fundamental/teknikal, System, Indicator
maupun RoboForex hanyalah sebuah analisis[14].
Salah satu metode untuk memprediksi pergerakan harga mata uang
asing dalam hal ini mata uang EUR/USD ialah dengan menggunakan teknologi
di bidang Artificial Intellegence, misalnya Jaringan Saraf Tiruan.
Berdasarkan kemampuan belajar yang dimilikinya, maka Jaringan
Saraf Tiruan dapat dilatih untuk mempelajari dan menganalisis pola data
masa lalu dan berusaha mencari suatu formula atau fungsi yang akan
menghubungkan pola data masa lalu tersebut dengan pola data keluaran yang
diinginkan pada saat ini dan pola data masa depan[4].
Dalam penelitian ini digunakan metode Algoritma Genetika yang
dipadukan dengan metode Jaringan Saraf Tiruan sehingga menjadi metode
Algoritma Genetika-Jaringan Saraf Tiruan dengan harapan dapat menghasilkan
prediksi pergerakan harga mata uang asing EUR/USD pada masa depan karena
Algoritma Genetika merupakan salah satu algoritma optimasi yang berusaha
I-3
mencari solusi yang diinginkan melalui perbaikan-perbaikan dari solusi-solusi
yang telah diperoleh sebelumnya[4].
I.2. RUMUSAN MASALAH
Rumusan masalah yang akan diuraikan dalam Tugas Akhir ini adalah
perancangan sistem prediksi nilai tukar valuta asing Euro terhadap US Dollar
menggunakan metode Algoritma Genetika- Jaringan Saraf Tiruan.
I.3. TUJUAN PENELITIAN
Tujuan dari penelitian ini adalah membuat sistem prediksi nilai tukar
valuta asing Euro terhadap US Dollar (harga/jam) dengan metode Algoritma
Genetika- Jaringan Saraf Tiruan.
I.4. BATASAN MASALAH
Beberapa batasan masalah yang terdapat pada skripsi ini adalah :
1. Sistem dibuat berdasarkan analisis teknikal yakni dengan data history H1
yakni pergerakan nilai tukar valuta asing Euro terhadap US Dollar yang
mengalami perubahan harga setiap jam.
2. Variabel yang digunakan sebagai input adalah open, high, low dan close
dengan variabel output-nya adalah open, high, low dan close.
3. Mencari fitness terbaik (Feed Forward Neural Network) dari setiap
variabel menggunakan Algoritma Genetika.
I-4
4. Melatih nilai fitness (FFNN) terbaik menggunakan Jaringan Saraf Tiruan-
Backpropagation membentuk net.
5. Memprediksi harga pada jam berikutnya untuk setiap variabel dengan
menggunakan net dari hasil gabungan metode Algoritma Genetika-
Jaringan Saraf Tiruan yang masih merupakan hasil uji prediksi.
6. Sistem simulasi dirancang dengan menggunakan software Matlab 7.7.
I.5. METODOLOGI PENELITIAN
Gambar 1.1 Metodologi Penelitian
1. Studi pustaka
Studi pustaka yaitu mempelajari teori-teori penunjang dari berbagai buku
referensi maupun dari internet yang berhubungan dengan judul ini.
2. Pengumpulan data
1. Studi Pustaka
3. Perancangan dan Pembuatan Model Simulasi
4. Analisis Hasil Penelitian
5. Penyusunan Laporan Tugas Akhir
I-5
2. Pengumpulan data
Melakukan proses download pada sebuah aplikasi Metatrader untuk
mendapatkan data history H1 pergerakan harga Euro terhadap US Dollar
pada Forex (harga/jam).
3. Perancangan dan Pembuatan Model Simulasi
Memprediksi harga setiap variabel dengan mengunakan metode
Algoritma Genetika- Jaringan Saraf Tiruan pada Software Matlab 7.7
Ya
Tidak
Gambar 1.2 Perancangan dan Pembuatan Model Simulasi
Input
GA
NN
Pembentukan FFNN Terbaik
Pelatihan dengan NN
Range 0-3MSE >=10-6
Selesai
Tidak
Range 0-6MSE >=10-6
FFNN Terbaik
Net
Ya
Mulai
I-6
4. Analisis Hasil Penelitian
Menganalisis dan menyimpulkan hasil penelitian, mengambil suatu
kesimpulan dari hasil uji coba, serta saran Tugas Akhir ini.
5. Penyusunan Laporan Tugas Akhir.
I.6. SISTEMATIKA PENULISAN
Untuk mempermudah penulisan agar pembahasan yang disajikan
lebih sistematis, maka laporan ini dibagi dalam lima bab, isi masing-masing
bab diuraikan secara singkat dibawah ini :
BAB I PENDAHULUAN
Bab ini menjelaskan tentang alasan mengambil topik ini sebagai
skripsi, perumusan masalah, tujuan penelitian, batasan masalah, metode
penelitian dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA.
Pada bab ini akan dibahas tentang penjelasan-penjelasan umum
mengenai teori-teori yang berkaitan dengan penelitian yang akan dilakukan
seperti penjelasan umum yang terkait variabel-variabel yang akan digunakan,
sistem Algoritma Genetika dan Jaringan Saraf Tiruan .
I-7
BAB III METODOLOGI
Pada bab ini dijelaskan mengenai langkah- langkah perancangan
sistem prediksi nilai tukar valuta asing EUR/USD (harga/jam) dengan metode
Algoritma Genetika Jaringan Saraf Tiruan.
BAB IV ANALISIS DAN PEMBAHASAN
Pada bab ini berisi analisis dari pengujian (validasi) dibandingkan
dengan data real dari history H1 untuk mata uang asing EUR/USD (harga/jam).
BAB V PENUTUP
Bab ini berisi tentang kesimpulan dan saran dari penelitian yang
dilakukan.
II-1
BAB II
TINJAUAN PUSTAKA
Pada bab ini akan dijelaskan tentang pengertian Forex, mata uang yang
diperdagangkan, dasar-dasar analisis teknikal, trading system, penggunaan Jaringan
Saraf Tiruan dan penggunaan Algoritma Genetika.
II.1. PENGERTIAN FOREX
Bursa valuta asing, atau yang dikenal dengan FOREX (foreign
exchange) adalah bursa keuangan yang terbesar di dunia dengan volume
transaksi harian mencapai lebih dari 2 triliun US dollar[7]
.
Total transaksi Forex mencapai lebih dari 3 kali lipat dari seluruh
transaksi perdagangan lain yang ada di muka bumi. Dengan kata lain transaksi
Forex adalah transaksi yang paling besar.
Prinsip dasarnya, sama seperti semua jenis perdagangan. Beli saat
harga rendah dan jual kembali setelah harganya naik[7]
. Ini berlaku untuk emas,
real-estate, tanah, anthurium, sampai beras.
II-2
Gambar 2.1. Prinsip Umum Investasi dan Perdagangan[7]
Untuk Forex, karena diperdagangkan dalam bentuk pasangan
(misalnya EUR/USD, GBP/USD, USD/JPY, dan sebagainya) maka transaksi
bisa dilakukan dalam dua arah: para trader membeli suatu pasang mata uang
pada saat nilainya rendah dan menjualnya kembali pada saat nilainya tinggi,
atau sebaliknya menjual suatu pasang mata uang saat bernilai tinggi dan
membelinya kembali mata uang tersebut saat nilainya turun[7]
.
Mata uang ini diperdagangkan melalui dealer / broker, yang menjadi
perantara antara trader dengan bank / market-maker.
II-3
Gambar 2.2. Prantara antara trader dengan Bank[7]
II.2 MATA UANG YANG DIPERDAGANGKAN
Pada prinsipnya semua mata uang didunia dapat diperdagangkan akan
tetapi pada prakteknya pelaku pasar hanya tertarik memperdagangkan mata
uang tertentu saja. Mata uang favorit yang paling sering diperdagangkan ada 8
(delapan) [7]
:
1. USD : US Dollar (Greenback)
2. EUR : Euro
3. GBP : Poundsterling (Sterling / Cable)
4. JPY : Yen
5. CHF : Swiss Frank (Swissy)
6. CAD : Dollar Kanada (Looney)
7. AUD : Dollar Australia (Aussie)
8. NZD : Dollar New Zealand (Kiwi)
II-4
Ke delapan mata uang inilah yang mendominasi bursa Forex dunia.
Volume transaksi yang tinggi membuat spread pasangan-pasangan mata uang
tersebut relatif lebih kecil dibandingkan dengan pasangan mata uang lain,
sehingga relatif lebih menguntungkan untuk diperdagangkan.
II.2.1 Kurs Mata Uang
Sama seperti dalam instrumen perdagangan lain, dalam Forex
harga-harga transaksi dinyatakan dalam harga penawaran (BID) dan
permintaan (ASK). Harga penawaran (BID) adalah tingkat harga dimana
seorang trader dapat menjual mata uang tersebut, sebaliknya harga
permintaan (ASK) adalah tingkat harga dimana seorang trader dapat
membeli mata uang. Cara yang mudah untuk mengingatnya: bid atau
harga 'jual' selalu lebih rendah dari ask atau harga 'beli', dengan kata lain
seorang trader Forex selalu membeli dengan harga yang lebih tinggi dari
harga jual.[7]
Perbedaan antara harga beli dan harga jual ini disebut dengan
spread yang tidak lain adalah biaya transaksi yang harus dibayar oleh
seorang trader, atau keuntungan yang diambil oleh bank dalam setiap
transaksi Forex. Jika hanya satu harga yang disebutkan maka yang
dimaksud adalah harga bid atau harga jual. Sebagai instrumen
perdagangan, pasangan mata uang diperdagangkan dalam bentuk
II-5
pasangan. Misalnya EUR/USD, GBP/USD, EUR/JPY, dan sebagainya.
Urutan pasangan ini sudah menjadi standar ISO, tidak bisa dibolak-balik
seenaknya.[7]
Pada semua pasangan mata uang yang mengandung US Dollar,
USD selalu dipasang di depan kecuali untuk 4 pasangan mata uang ini:
EUR/USD, GBP/USD, AUD/USD, dan NZD/USD.
Mata uang yang disebut pertama adalah „base-currency‟
sedangkan yang kedua disebut „counter-currency‟. Base-currency adalah
mata uang yang ditransaksikan sedangkan counter-currency adalah mata
uang pembayarnya. Nilai base-currency selalu 1. Jadi misalnya
EUR/USD = 1.4220 maka yang dimaksud adalah: harga jual 1 Euro sama
dengan 1.4220 US Dollar.
Gambar 2.3. Proses pergerakan grafik[7]
II-6
Dalam membaca chart perlu diperhatikan bahwa naik-turunnya
harga pada chart menunjukkan naik-turunnya nilai base-currency
terhadap counter-currency. Jadi kalau pada chart EUR/USD grafik
bergerak naik maka itu berarti EUR sedang menguat terhadap USD.
Sebaliknya pada chart yang sama juga dapat diartikan: USD sedang
melemah terhadap EUR.
II.2.2 Faktor-faktor Penggerak Mata Uang
1. Faktor Fundamental
Sesuai dengan namanya, faktor fundamental adalah faktor-
faktor yang secara mendasar berkaitan langsung dengan perubahan
nilai mata uang[7]
. Misalnya saja kondisi perekonomian, kebijakan
moneter, kebijakan politis, harga-harga komoditas strategis, situasi
geopolitis, dan lain sebagainya.
Analisis fundamental berupaya memahami keterkaitan antara
faktor-faktor fundamental dan kemungkinan arah pergerakan harga.
Apa yang dihasilkan dari analisis fundamental adalah trend dan
sentimen pasar yang dominan. Mereka yang bertransaksi dengan
menggunakan strategi jangka panjang dan dana yang besar sangat
membutuhkan analisis findamental. Bagaimanapun analisis
fundamental tidak memiliki variabel dan parameter yang cukup untuk
II-7
memperkirakan tingkat harga. Oleh karena itu analisis fundamental
ini kadang agak diabaikan oleh para intraday trader. Akan tetapi
mengingat trend pergerakan harga adalah faktor yang penting dalam
menentukan arah transaksi yang menguntungkan, baik untuk jangka
panjang maupun transaksi harian, maka analisis fundamental ini
sesungguhnya tidak bisa diabaikan.
2. Faktor Teknikal
Setiap pelaku pasar mengamati pergerakan harga mata uang
melalui chart. Akibatnya kondisi pergerakan nilai mata uang yang
tergambar pada chart ikut mempengaruhi keputusan eksekusi
transaksi yang diambil para pelaku pasar. Dinamika pergerakan harga
pada chart inilah yang disebut sebagai faktor teknikal[7].
Pada bentuknya yang murni analisis teknikal tidak melihat
latar belakang ekonomi maupun politik yang mendasari pergerakan
mata uang sebagaimana yang dilakukan para analisis fundamental,
tapi lebih menitikberatkan pada aktivitas pergerakan mata uang yang
sudah dan sedang terjadi. Berdasarkan data-data itu dengan dibantu
oleh indikator-indikator teknikal, seorang analisis teknikal berupaya
memperkirakan kemungkinan-kemungkinan pergerakan suatu mata
uang.
II-8
Dengan berdasarkan chart dan berbagai indikator teknikal
bisa saja seorang trader memperkirakan pada harga berapa suatu
pergerakan mata uang akan berbalik arah, dan apakah sebuah trend
yang sedang terjadi akan terus berlangsung atau tidak. Namun ketika
pergerakan mata uang berkali-kali melanggar batasan-batasan yang
ditetapkan oleh indikator teknikal, seoarang analis tidak mempunyai
data yang cukup untuk menjelaskan mengapa hal itu terjadi. Ini
biasanya terjadi saat faktor fundamental mendominasi pergerakan
pasar, batasan-batasan teknikal menjadi tidak ada artinya.
3. Faktor Psikologis
Adakalanya terjadi anomali seperti ini: akan ada
pengumuman perubahan suku bunga The Fed dan para analis
memperkirakan terjadi pemotongan suku bunga. Akan tetapi
beberapa jam sebelum pengumuman USD sudah mulai tertekan dan
terus tertekan melampaui batas-batas support.
Begitu terjadi pengumumam dan suku bunga The Fed
memang dipangkas, justru USD bergerak naik. Teorinya,
pemotongan suku bunga melemahkan USD tapi ketika pemotongan
diumumkan USD malah menguat[7]
. Kondisi semacam ini hanya bisa
dijelaskan dari sisi psikologi pasar, pelaku pasar melakukan apa yang
II-9
dikenal sebagai “buy the rumour, sell the fact” Pelaku pasar dipicu
oleh faktor „greed & fear‟ berupaya melakukan transaksi lebih dulu
untuk mencari profit sebesar mungkin atau untuk mengamankan
posisi.[7]
Akan tetapi saat perubahan suku bunga diumumkan harga
sudah bergerak terlampau jauh dan justru terkoreksi atau pada
kondisi market yang sedang sepi dengan volume transaksi yang
terbatas, tiba-tiba harga naik beberapa puluh pip dengan cepat dan
hanya berlangsung beberapa menit sebelum akhirnya kembali ke
level semula. Kondisi yang biasa dikenal dengan „stop-hunting‟ ini
juga diakibatkan oleh faktor „psikologis‟: keserakahan pemain besar
yang ingin melikuidasi posisi-posisi lawannya. Untuk memahami
pasar memang kita umumnya hanya mengenal dua jenis analisis:
fundamental dan teknikal. Akan tetapi kadang faktor psikologis juga
diikutkan dalam kedua analisis tersebut, saat belum ada analisis
tersendiri untuk faktor psikologis.[7]
Jadi meskipun ada tiga faktor penting, kita umumnya hanya
mengenal dua jenis analisis pasar: analisis fundamental dan analisis
teknikal. Trader yang baik selalu mengikutsertakan kedua jenis
analisis ini, tapi berapa besar porsi masing-masing jenis analisis
berbeda untuk tipe-tipe trader.[7]
II-10
Pada umumnya faktor fundamental memiliki dampak yang
sifatnya lebih lama dan lebih besar dari pada faktor teknikal[7]
. Oleh
sebab itu trader-trader bermodal besar yang cenderung mengambil
transaksi dalam jangka panjang (seperti para banker dan manager
investasi) biasanya mengutamakan analisis fundamental. Sebaliknya
trader-trader retail yang biasa melakukan transaksi harian (intraday
trader) pada umumnya lebih mengutamakan analisis teknikal untuk
memanfaatkan fluktuasi harian yang terjadi.
II.3 DASAR-DASAR ANALISIS TEKNIKAL
Analisis teknikal adalah sebuah riset dinamika pasar yang dilakukan
dengan bantuan chart dengan tujuan untuk memprediksi pergerakan suatu
harga. Penggunaan analisis teknikal dalam Forex-trading didasarkan pada
asumsi-asumsi berikut:
Gerakan pasar mencerminkan semua faktor yang
mempengaruhinya.
Ini adalah faktor penting untuk memahami analisis teknikal. Faktor
apapun yang mempengaruhi pasar, entah itu faktor ekonomi, politik, atau
semata-mata faktor psikologis, keseluruhan dampak yang ditimbulkannya dapat
terlihat dari pergerakan mata uang yang terekam dalam chart. Dengan kata lain
II-11
data-data teknikal yang terekam dalam chart memberikan gambaran yang
menyeluruh terhadap dinamika pasar. Dengan asumsi ini seorang analisis
teknikal yang mengamati chart dan berbagai indikator teknikal mencoba
memahami apa yang sedang terjadi di pasar dan berupaya memperkirakan
gerakan apa yang akan terjadi berikutnya.[7]
Harga bergerak mengikuti trend
Asumsi ini adalah dasar dari semua metode analisis teknikal. Seandainya
gerakan fluktuasi mata uang semata-mata bersifat acak dan tidak memiliki trend
maka analisis teknikal sama sekali tidak mungkin. Tapi karena pergerakan mata
uang memiliki trend maka upaya analisis teknikal menjadi mungkin dan
bermanfaat. Asumsi bahwa pergerakan harga mengikuti trend memunculkan
dua akibat. Yang pertama, trend yang sedang terjadi biasanya akan berlanjut
dan tidak berbalik tanpa sebab. Yang kedua, trend akan terus berlanjut sampai
trend yang lain muncul dan mempengaruhi pasar.[7]
Sejarah selalu berulang
Dinamika pasar dipengaruhi oleh perilaku dan tindakan dari para pelaku
pasar. Bagaimanapun aksi dan reaksi dari pelaku pasar memiliki suatu pola
yang berulang karena selain dari karakteristik sifat manusiawi yang dipengaruhi
oleh „greed and fear’ (ketamakan dan ketakutan) para pelaku pasar juga belajar
dari pengalaman yang terjadi di masa lalu. Dengan asumsi ini maka pola-pola
II-12
teknikal yang telah muncul pada masa lalu bisa diterapkan untuk
memperkirakan pergerakan pasar yang akan terjadi.[7]
Adapun parameter-parameter harga pada Forex, yakni:
A. OPEN
B. HIGH
C. LOW
D. CLOSE
E. VOLUME
II.4 TRADING SYSTEM
Ada salah satu ciri khas yang membedakan trader berpengalaman
yang mampu meraup keuntungan secara konsisten dan trader pemula yang
penuh dengan semangat dan harapan untuk meraup keuntungan dari Forex.
Trader berpengalaman memiliki suatu sistem trading yang benar-
benar dikuasai dan trader melakukan trading sesuai dengan sistem tersebut.
Sementara itu trader pemula tidak memiliki sistem trading yang jelas dan
melakukan transaksi hanya berdasarkan intuisi dan prinsip dasar: beli saat harga
rendah dan jual saat harga tinggi. Prinsip ini memang benar, tapi dalam Forex
sama sekali tidak mudah mengenali 'saat harga tinggi' atau 'saat harga rendah'.
II-13
Justru disinilah muncul kebutuhan akan perlunya memiliki sistem trading yang
baik.[7]
Ada banyak buku dan seminar yang mengajarkan berbagai macam
sistem trading yang mampu memberikan keuntungan. Memang sebagian besar
sistem tersebut sudah cukup teruji (paling tidak oleh penciptanya) dan mampu
mendatangkan keuntungan. Tapi masalah utamanya, tidak semua trader
memiliki disiplin yang dibutuhkan untuk mengaplikasikan sistem tersebut
dalam situasi trading sesungguhnya. Bisa jadi sistem tersebut terlalu rumit, atau
tidak sesuai dengan karakter trader yang bersangkutan sehingga sebagus
apapun hasil yang ditawarkan oleh sistem tersebut, tidak akan ada hasilnya.
Sehingga sistem trading dapat dibuat sendiri yang bisa diperbaiki dan
disesuaikan tahap demi tahap untuk mampu menghasilkan keuntungan yang
baik.[7]
II.5. ALGORITMA GENETIK (ALGORITMA GENETIKA)
II.5.1 Konsep Dasar Algoritma Genetik
Algoritma Genetik pertama kali ditemukan di Universitas
Michigan, Amerika Serikat oleh John Holland (1975). Kemunculan
Algoritma Genetik terinspirasi oleh teori-teori dalam ilmu biologi,
sehingga banyak istilah dan konsep biologi yang dipakai dalam
Algoritma Genetik. Sesuai dengan namanya, proses-proses yang terjadi
II-14
dalam Algoritma Genetik sama dengan apa yang terjadi pada evolusi
biologi[9]
. Dalam ilmu biologi, sekumpulan individu yang sama, yang
disebut species, hidup bereproduksi, dan mati dalam suatu
area/kelompok yang disebut populasi. Jika anggota-anggota populasi
(individu) terpisah, misalkan karena terjadi banjir atau gempa, maka
individu-individu tersebut akan membentuk beberapa populasi yang
terpisah. Dalam waktu yang cukup lama, mungkin saja akan terjadi
proses pembentukan spesies baru atau dikenal dengan istilah speciation.
Dalam hal ini terjadi perubahan hereditas secara bertahap yang
membentuk ciri baru pada spesies tersebut. Perubahan bertahap tersebut
dikenal dengan istilah evolution.[2][4]
Algoritma genetik adalah algoritma yang berusaha
menerapkan pemahaman mengenai evolusi alamiah pada tugas-tugas
pemecahan masalah (problem solving). Pendekatan yang diambil oleh
algoritma ini adalah dengan menggabungkan secara acak berbagai
pilihan solusi di dalam suatu populasi kemudian mengevaluasinya
untuk mendapatkan solusi terbaik.[2][4]
Dengan melakukan proses ini secara berulang, algoritma ini
mensimulasikan proses evolusi sebanyak jumlah generasi yang
diinginkan. Generasi ini akan merepresentasikan perbaikan-perbaikan
pada populasi sebelumnya. Pada akhirnya, akan didapatkan solusi-
II-15
solusi yang paling tepat bagi permasalahan yang dihadapi. Untuk
menggunakan algoritma genetik, solusi permasalahan direpresentasikan
sebagai sekumpulan gen yang membentuk kromosom. Kromosom ini
dibentuk secara random berdasarkan teknik pengkodean yang
digunakan. Keseluruhan set dari kromosom yang diobservasi mewakili
suatu populasi.[2][4]
Kromosom-kromosom tersebut akan berevolusi dalam beberapa
tahap iterasi yang disebut dengan generasi. Generasi baru diperoleh
dengan teknik kawin silang (crossover) dan mutasi (mutation).
Crossover meliputi pemotongan dua buah kromosom berdasarkan
jumlah titik potong yang diinginkan kemudian mengkombinasikan
setengah bagian dari masing-masing kromosom dengan pasangan-
pasangan lainnya. Sedangkan mutasi meliputi penggantian nilai gen
dalam sebuah kromosom dengan nilai gen lain dari kromosom lain yang
menjadi pasangannya. Kromosom-kromosom ini selanjutnya berevolusi
dengan suatu kriteria kesesuaian (fitness) yang ditetapkan dan hasil
terbaik akan dipilih sementara yang lainnya diabaikan. Selanjutnya,
proses dilakukan berulang-ulang sampai didapatkan suatu kromosom
yang mempunyai kesesuaian terbaik (best fitness) untuk diambil sebagai
solusi terbaik dari permasalahan.[2][4]
II-16
II.5.2. Komponen-Komponen Algoritma Genetik
Pada dasarnya Algoritma Genetik memiliki tujuh komponen.
Tetapi dengan penggunaan Algoritma Genetik untuk permasalahan yang
berbeda maka ketujuh komponen tersebut bisa saja dimodifikasi sesuai
dengan permasalahan yang akan diselesaikan. [2][3][4]
Skema Pengkodean
Terdapat tiga skema yang paling umum digunakan dalam
representasi genetik, yaitu:
Real–number encoding. Pada skema ini, setiap gen berbentuk
bilangan real atau biasa disebut representasi floating point.
Discrete decimal encoding. Pada skema ini, setiap gen
berbentuk bilangan bulat, atau biasa disebut representasi tipe
integer.
Binary encoding. Pada skema ini setiap gen berbentuk bilangan
biner ( 0 atau 1 ) atau biasa disebut representasi bit.
II-17
Gambar 2.5. Contoh Individu dengan Representasi Gen dalam Bentuk Real Number
Encoding (Atas), Discrete Decimal Encoding (Tengah), dan Binary
Encoding (Bawah)[11]
Setelah sekumpulan gen dalam kromosom dikodekan maka
dibentuklah populasi yang berupa kumpulan beberapa kromosom.
Kromosom kemudian di-decoding berdasarkan batas bawah interval
(rb) dan batas atas interval (ra) dari nilai solusi yang
diinginkan.[2][3][4]
Nilai Fitness
Suatu individu dievaluasi berdasarkan suatu fungsi tertentu
sebagai ukuran performansinya. Di dalam evolusi alam, individu
yang bernilai fitness tinggi yang akan bertahan hidup dan lolos ke
generasi berikutnya. Sedangkan individu yang bernilai fitness
rendah akan mati (hilang).[2][3][4]
Seleksi Orang Tua
Pemilihan dua buah kromosom sebagai orang tua yang akan
bereproduksi dengan melakukan pindah silang untuk menghasilkan
anak, biasanya dilakukan secara proporsional sesuai dengan nilai
II-18
fitnessnya. Suatu metode seleksi yang umum digunakan adalah
Roulette Whell, dimana masing-masing kromosom menempati
potongan lingkaran pada roda roulette secara proporsional sesuai
dengan nilai fitnessnya. Kromosom yang memiliki nilai fitness lebih
besar menempati potongan lingkaran yang lebih besar dibandingkan
dengan kromosom yang nilai fitnessnya rendah. [2][3][4]
Gambar 2.6. Contoh Penggunaan Metoda Roulette Wheel
Selection[2]
Setiap kromosom dalam populasi akan memiliki interval
nilai komulatif (dalam interval [0 1]) yang diperoleh dari nilai
fitness setiap kromosom dibagi total nilai fitness dari semua
kromosom. Sebuah kromosom akan terpilih jika bilangan random
yang dibangkitkan berada dalam interval akumulatifnya. Sebagai
contoh pada gambar di atas, K1 menempati interval kumulatif
[0;0,25], K2 berada dalam interval (0,25;0,74], K3 dalam interval
(0,75;0,875] dan K4 berada dalam interval (0,875;1]. Misalkan, jika
II-19
bilangan random yang dibangkitkan adalah 0,6 maka kromosom K2
terpilih sebagai orang tua. Tetapi jika bilangan random yang
dibangkitkan adalah 0,9 maka kromosom K4 yang terpilih. [2][4]
Pindah Silang (Crossover)
Salah satu komponen penting dalam Algoritma Genetik ialah
pindah silang. Sebuah kromosom yang mengarah pada solusi yang
bagus dapat diperoleh dari proses memindah-silangkan dua buah
kromosom. Pindah silang bisa dilakukan dalam beberapa cara
berbeda, yang paling sederhana ialah pindah silang satu titik potong
(one-point crossover). Suatu titik potong dipilih secara random,
kemudian bagian pertama dari kromosom orang tua 1 digabungkan
dengan bagian kedua dari kromosom orang tua 2.[2][3][4]
Pindah silang dilakukan berdasarkan probabilitas crossover
(pc), artinya pindah silang bisa dilakukan hanya jika suatu bilangan
random yang dibangkitkan kurang dari pc yang ditentukan, pada
umumnya pc diatur mendekati 1. Untuk kromosom yang sangat
panjang, misalkan 1.000 gen, mungkin saja diperlukan beberapa
titik potong. Pindah silang lebih dari satu titik potong disebut n-
point crossover.[4]
II-20
Gambar 2.7. Pindah Silang dengan Satu Titik Potong di Antara
Gen 2 dan Gen 3[4]
Mutasi
Proses mutasi dilakukan dengan cara mengganti nilai gen
yang terpilih secara acak dengan suatu nilai acak yang baru. Untuk
binary encoding, jika bilangan random yang dibangkitkan kurang
dari probabilitas mutasi (pmut) yang ditentukan, maka semua gen
dalam kromosom tersebut diubah menjadi nilai kebalikannya, 0
diubah menjadi 1, dan 1 diubah menjadi 0.[2][3][4]
Gambar 2.8. Proses Mutasi pada Sistem Binary Encoding[4]
II-21
Gambar 2.8. di atas menunjukan proses mutasi yang terjadi
pada gen 5. Sebagai contoh, bila probabilitas mutasi adalah (1/12)
maka sebanyak 1 gen akan dimutasi dari kromosom yang terdiri
dari 12 gen (bits). Pada algoritma genetika yang sederhana, nilai
probabilitas mutasi adalah tetap selama evolusi.[4]
Elitisme
Karena seleksi dilakukan secara random, maka tidak ada
jaminan bahwa suatu individu yang bernilai fitness tertinggi akan
selalu terpilih. Meskipun individu bernilai fitness tertinggi terpilih,
mungkin saja individu tersebut akan rusak (nilai fitnessnya
menurun) karena proses pindah silang. Untuk menjaga agar
individu bernilai fitness tertinggi tersebut tidak hilang selama
evolusi, maka perlu dibuat satu atau beberapa duplikatnya. Prosedur
ini dikenal sebagai elitisme. [2][3][4]
Penggantian Populasi
Dalam Algoritma Genetik dikenal skema penggantian populasi
yang disebut generational replacement, yang berarti semua individu
dalam populasi dari suatu generasi digantikan sekaligus oleh
individu baru hasil pindah silang dan mutasi.[3][4]
Dalam setiap generasi, sejumlah individu harus dihapus
untuk menjaga ukuran populasi agar jumlahnya tetap, yaitu
II-22
penghapusan individu yang bernilai fitness paling rendah.
Penghapusan bisa berlaku hanya pada individu orang tua saja atau
bisa juga berlaku pada semua individu dalam populasi.[3][4]
II.5.3. Cara Kerja Algoritma Genetik
Pada Algoritma Genetik, teknik pencarian solusi terbaik
dilakukan sekaligus pada sejumlah solusi yang dikenal dengan istilah
populasi. Individu yang terdapat dalam satu populasi disebut dengan
istilah kromosom. Kromosom ini merupakan suatu solusi yang masih
berbentuk simbol. Populasi awal dibangun secara acak, sedangkan
populasi berikutnya merupakan hasil evolusi kromosom-kromosom
melalui iterasi yang disebut dengan generasi. Pada setiap generasi,
kromosom akan melalui proses evaluasi dengan menggunakan alat ukur
yang disebut dengan fungsi fitness. Nilai fitness dari suatu kromosom
akan menunjukkan kualitas dari kromosom dalam populasi tersebut.[4][8]
Generasi berikutnya dikenal dengan istilah anak (offspring)
terbentuk dari gabungan dua kromosom generasi sekarang yang
bertindak sebagai induk (parent) dengan menggunakan operator pindah
silang. Selain operator pindah silang, suatu kromosom dapat juga
dimodifikasi dengan menggunakan operator mutasi. Populasi generasi
yang baru dibentuk dengan cara menyeleksi nilai fitness dari kromosom
II-23
induk dan nilai fitness dari kromosom anak, serta membuang
kromosom-kromosom yang lainnya sehingga ukuran populasi (jumlah
kromosom dalam suatu populasi) konstan. Setelah melalui beberapa
generasi, maka algoritma ini akan konvergen ke kromosom terbaik.[4][8]
Adapun cara kerja Algoritma Genetik secara umum adalah[4]
:
Menciptakan sebuah populasi awal secara acak.
Mengevaluasi setiap individu yang ada dalam populasi.
Menghasilkan populasi yang baru dengan menggunakan operasi
genetik.
Menentukan hasil akhir pada saat kriteria pemberhentian.
II.6. JARINGAN SARAF TIRUAN (JARINGAN SARAF TIRUAN)
Jaringan Syaraf Tiruan pertama kali secara sederhana diperkenalkan
oleh McCulloch dan Pitts pada Tahun 1943. McCulloch dan Pitts
menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi sebuah
sistem neural akan meningkatkan kemampuan komputasinya[5]
. Bobot dalam
jaringan yang diusulkan oleh McCulloch dan Pitts diatur untuk melakukan
fungsi logika sederhana. Fungsi aktivasi yang dipakai adalah fungsi threshold.
Selanjutnya pada tahun 1958, Rosenblatt memperkenalkan dan mulai
mengembangkan model jaringan baru yang terdiri dari beberapa lapisan yang
disebut perceptron. Metode pelatihan diperkenalkan untuk mengoptimalkan
II-24
hasil iterasinya. 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 akan 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 melalui beberapa layer. Selain itu, beberapa model jaringan
syaraf tiruan lain juga dikembangkan oleh Kohonen (1972), Hopfield (1982),
dan lain-lain. Pengembangan yang ramai dibicarakan sejak tahun 1990-an
adalah aplikasi model-model jaringan syaraf tiruan untuk menyelesaikan
berbagai masalah di dunia nyata.
II.6.1. Deskripsi Awal Jaringan Saraf Tiruan
Jaringan Saraf Tiruan (JST) atau disebut juga dengan Jaringan
Saraf Tiruan (NN), adalah sistem pemroses informasi yang memiliki
karakteristik mirip dengan jaringan syaraf biologi (jaringan saraf
manusia)[6]
. Jaringan syaraf tiruan merupakan sistem adaptif yang dapat
merubah strukturnya untuk memecahkan masalah berdasarkan informasi
eksternal maupun internal yang mengalir melalui jaringan tersebut.
Secara sederhana, JST adalah sebuah alat pemodelan data statistik non-
linier[5][9][15]
. JST dapat digunakan untuk memodelkan hubungan yang
II-25
kompleks antara input dan output untuk menemukan pola-pola pada
data. Hecht-Nielsend mendefinisikan bahwa jaringan syaraf tiruan
adalah suatu struktur pemroses informasi yang terdistribusi dan bekerja
secara paralel, yang terdiri atas elemen pemroses (yang memiliki
memori lokal dan beroperasi dengan informasi lokal) yang
diinterkoneksi bersama dengan alur sinyal searah yang disebut koneksi.
Setiap elemen pemroses memiliki koneksi keluaran tunggal yang
bercabang ke sejumlah koneksi kolateral yang diinginkan (setiap
koneksi membawa sinyal yang sama dari keluaran elemen pemroses
tersebut). Keluaran dari elemen pemroses tersebut dapat merupakan
sembarang jenis persamaan matematis yang diinginkan. Seluruh proses
yang berlangsung pada setiap elemen pemroses harus benar-benar
dilakukan secara lokal, yaitu keluaran hanya bergantung pada nilai
masukan pada saat itu yang diperoleh melalui koneksi dan nilai yang
tersimpan dalam memori lokal. Sebuah jaringan saraf adalah sebuah
prosesor yang terdistribusi paralel dan mempunyai kecenderungan untuk
menyimpan pengetahuan yang didapatkannya dari pengalaman dan
membuatnya tetap tersedia untuk digunakan. Hal ini menyerupai kerja
otak dalam dua hal yaitu: pengetahuan diperoleh oleh jaringan melalui
suatu proses belajar dan kekuatan hubungan antar sel saraf yang dikenal
dengan bobot sinapsis digunakan untuk menyimpan pengetahuan[4]
.
II-26
Jaringan syaraf tiruan menjadi salah satu pilihan ketika rumusan
persoalan-persoalan yang dihadapi tidak bisa diselesaikan secara
analitik, dan dengan mengasumsikan suatu black box yang tidak
diketahui isinya maka jaringan syaraf tiruan akan menemukan pola
hubungan antara input dan output melalui tahap pelatihan. JST dibentuk
sebagai generalisasi model matematika dari jaringan syaraf biologi[5]
,
dengan asumsi bahwa:
Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
Sinyal dikirimkan diantara neuron-neuron melalui penghubung-
penghubung.
Penghubung antar neuron memiliki bobot yang akan memperkuat atau
memperlemah sinyal.
Untuk menentukan output, setiap neuron menggunakan fungsi aktivasi
(biasanya bukan fungsi linier) yang dikenakan pada jumlahan input
yang diterima. Besarnya output ini selanjutnya dibandingkan dengan
suatu batas ambang. JST ditentukan oleh 3 hal :
Pola hubungan antar neuron (disebut arsitektur jaringan).
Metode untuk menentukan bobot penghubung (disebut metode
training/learning/algoritma).
Fungsi aktivasi (fungsi transfer).
II-27
II.6.2. Neuron
Neuron dalam jaringan syaraf tiruan sering diganti dengan istilah
simpul[3][15]
. Setiap simpul tersebut berfungsi untuk menerima atau
mengirim sinyal dari atau ke simpul-simpul lainnya. Pengiriman sinyal
disampaikan melalui penghubung. Kekuatan hubungan yang terjadi
antara setiap simpul yang saling terhubung dikenal dengan nama
bobot. Arsitektur jaringan dan algoritma pelatihan sangat menentukan
model-model jaringan syaraf tiruan. Arsitektur tersebut gunanya untuk
menjelaskan arah perjalanan sinyal atau data di dalam jaringan.
Sedangkan algoritma belajar menjelaskan bagaimana bobot koneksi
harus diubah agar pasangan masukan-keluaran yang diinginkan dapat
tercapai. Dalam setiap perubahan harga bobot, koneksi dapat dilakukan
dengan berbagai cara, tergantung pada jenis algoritma pelatihan yang
digunakan[3][15]
. Dengan mengatur besarnya nilai bobot ini, diharapkan
bahwa kinerja jaringan dalam mempelajari berbagai macam pola yang
dinyatakan oleh setiap pasangan masukan-keluaran akan meningkat[3]
.
Sebagai contoh, berikut adalah gambar sebuah neuron Y:
II-28
Gambar 2.4. Sebuah Sel Syaraf Tiruan[4]
Y menerima input dari neuron x1, x2, dan x3 dengan bobot
hubungan masing-masing adalah w1, w2, dan w3. Ketiga impuls
neuron yang ada dijumlahkan, net = x1w1+ x2w2+ x3w3[5]
. Besarnya
impuls yang diterima oleh Y mengikuti fungsi aktivasi y = f(net).
Apabila nilai fungsi akivasi cukup kuat, maka sinyal akan diteruskan.
Nilai fungsi aktivasi (keluaran model jaringan) juga dapat dipakai
sebagai dasar untuk merubah bobot[5]
.
II.6.3. Backpropagation
Kelemahan JST yang terdiri dari layar tunggal membuat
perkembangan JST menjadi terhenti pada sekitar tahun 1970-an.
Penemuan backpropagation yang terdiri dari beberapa layar membuka
kembali cakarawala. Terlebih setelah berhasil ditemukannya berbagai
aplikasi yang dapat diselesaikan dengan backpropagation, membuat JST
semakin diminati orang.
JST dengan layar tunggal memiliki keterbatasan dalam
pengenalan pola. Kelemahan ini bisa ditanggulangi dengan
II-29
menambahkan satu/beberapa layar tersembunyi diantara layar masukan
dan keluaran[3][5]
. Meskipun penggunaan lebih dari satu layar
tersembunyi memiliki kelebihan manfaat untuk beberapa kasus, tapi
pelatihannya memerlukan waktu yang lama. Maka umumnya orang
mulai mencoba dengan sebuah layar tersembunyi lebih dahulu.
Seperti halnya model JST lain, Backpropagation melatih jaringan
untuk mendapatkan keseimbangan antara kemampuan jaringan untuk
mengenali pola yang digunakan selama pelatihan serta kemampuan
jaringan untuk memberikan respon yang benar terhadap pola masukan
yang serupa (tapi tidak sama) dengan pola yang dipakai selama
pelatihan[15]
.
Pelatihan jaringan dengan backpropagation meliputi tiga tahap
yaitu umpan maju (feedforward) dari pola input, penghitungan dan
propagasi balik dari error dan penyesuaian bobot. Pada tahap umpan
maju, sinyal input (xi) dipropagasikan ke lapisan tersembunyi. Sinyal-
sinyal input terboboti yang masuk ke tiap-tiap unit pada lapisan
tersembunyi (Zj, j=1,2,..,p), ditentukan dengan persamaan[5]
:
(2.1)
Sinyal output dari lapisan tersembunyi (zj) ditentukan oleh fungsi
aktivasi yang digunakan (fungsi sigmoid) dengan persamaan[5]
:
II-30
(2.2)
Selanjutnaya zj tersebut dipropagasikan maju lagi ke lapisan
output dengan persamaan[5]
:
(2.3)
Sinyal output ditentukan oleh fungsi aktivasi yang digunakan pada
output layer yaitu fungsi identitas dengan persamaan[5]
:
(2.4)
Berikutnya, output jaringan dibandingkan dengan target yang harus
dicapai. Selisih output jaringan target dengan output jaringan adalah
kesalahan (error) yang terjadi, Error pada Backpropagation dihitung
dengan persamaan[4]
:
(2.5)
II-31
Dengan n ialah banyak data, Өj adalah target ke-j, sementara Ө
adalah output jaringan. Jika kesalahan ini lebih kecil dari batas toleransi
yang ditentukan, maka epoch dihentikan. Akan tetapi apabila kesalahan
masih lebih besar dari batas toleransinya, maka bobot setiap garis
dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang
terjadi.
Kesalahan (error) yang tejadi dipropagasikan mundur, dimulai dari
garis yang berhubungan langsung dengan unit pada lapisan output.
Modifikasi bobot dan bias untuk menurunkan kesalahan yang terjadi
dilakukan dengan cara:
• Perubahan bobot dan bias pada garis yang menuju unit output:
w j (baru) = w j (lama) + ∆ w j
b2 (baru) = b2 (lama) + ∆ b2
• Perubahan bobot dan bias pada garis menuju unit
tersembunyi:
Vij (baru) = vij (lama) + ∆ vij
b1j (baru) = b1j (lama) + ∆ b1j
Ketiga tahap tersebut diulang-ulang terus hingga kondisi
penghentian dipenuhi. Umumnya kondisi penghentian yang sering
II-32
dipakai adalah jumlah epoch atau kesalahan. Epoch akan dihentikan
jika jumlah epoch yang dilakukan sudah melebihi jumlah maksimum
epoch yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih
kecil dari batas toleransi yang diinginkan.
II.6.4. Arsitektur Jaringan Syaraf Tiruan
Arsitektur jaringan yang sederhana adalah jaringan layar tunggal
yang menghubungkan langsung neuron-neuron pada layar input dengan
neuron-neuron pada layar output[3]
. Sedangkan arsitektur jaringan yang
lebih kompleks terdiri dari layar input, beberapa layar tersembunyi dan
layar output. Arsitektur seperti ini disebut juga jaringan layar jamak
(Rumelhart, et al. 1986)[15]
. Jaringan layar jamak lebih sering digunakan
karena dapat menyelesaikan masalah yang lebih kompleks dibandingkan
jaringan layar tunggal, meskipun proses pelatihannya lebih kompleks
dan lebih lama (Haykin, 1999). 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. Jaringan dengan banyak
lapisan memiliki satu atau lebih lapisan yang terletak di antara lapisan
input dan lapisan output (memiliki satu atau lebih lapisan tersembunyi).
Umumnya, ada lapisan bobot-bobot yang terletak antara dua lapisan
yang bersebelahan. Jaringan dengan banyak lapisan ini dapat
II-33
menyelesaikan permasalahan yang lebih sulit daripada jaringan dengan
lapisan tunggal, tentu saja dengan pembelajaran yang lebih rumit.
Namun demikian, pada banyak kasus pembelajaran pada jaringan
dengan banyak lapisan ini lebih sukses dalam menyelesaikan masalah.
II.6.5. Fungsi Aktivasi
Siang (2005) menyebutkan bahwa fungsi aktivasi digunakan untuk
menentukan keluaran suatu neuron[15]
. Dalam backpropagation, fungsi
aktivasi yang dipakai harus memenuhi beberapa syarat yaitu: kontinu,
terdiferensial dengan mudah dan merupakan fungsi yang tidak turun.
Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering
dipakai adalah fungsi sigmoid biner yang memiliki range (0 1).
Fungsi sigmoid biner dirumuskan sebagai:[15]
(2.6)
Dengan turunan :
II.6.6. Algoritma Belajar dan Pelatihan
Dalam jaringan syaraf tiruan terdapat konsep belajar atau pelatihan.
Sehingga jaringan-jaringan yang dibentuk akan belajar melakukan
generalisasi karakteristik tingkah laku objek. Algoritma pelatihan artinya
II-34
membentuk pemetaan (fungsi) yang menggambarkan hubungan antara
vektor masukan dan vektor keluaran. Biasanya diberikan contoh yang
cukup penting dalam membangun pemetaan tersebut. Walaupun untuk
pasangan masukan keluaran yang belum pernah digambarkan
sebelumnya. Dalam menyelesaikan suatu permasalahan, jaringan syaraf
tiruan memerlukan algoritma belajar atau pelatihan yaitu bagaimana
sebuah konfigurasi jaringan dapat dilatih untuk mempelajari data historis
yang ada. Dengan pelatihan ini, pengetahuan yang terdapat pada data
dapat diserap dan direpresentasikan oleh nilai-nilai bobot koneksinya.
Berdasarkan cara modifikasi bobotnya, ada dua macam pelatihan yang
dikenal (Siang 2005), yaitu sebagai berikut:
Pelatihan dengan Supervisi (Supervised Training)
Dalam pelatihan dengan supervisi, terdapat sejumlah pasangan data
(masukan, target, keluaran) yang dipakai untuk melatih jaringan hingga
diperoleh bobot yang diinginkan. Pada setiap pelatihan, suatu masukan
diberikan ke jaringan. Jaringan akan memproses dan mengeluarkan
keluaran. Selisih antara keluaran jaringan dengan target (keluaran yang
diinginkan) merupakan kesalahan yang terjadi[3]
. Jaringan akan
memodifikasi bobot sesuai dengan kesalahan tersebut.
II-35
Pelatihan Tanpa Supervisi (Unsupervised Training)
Dalam pelatihannya, perubahan bobot jaringan dilakukan
berdasarkan parameter tertentu dan jaringan dimodifikasi menurut ukuran
parameter tersebut. Model yang menggunakan pelatihan ini adalah model
jaringan kompetitif[3]
.
III-1
BAB III
METODOLOGI
Pada bab ini dibahas tentang langkah-langkah yang ditempuh dalam
pembuatan hingga penyelesaian prediksi nilai tukar valuta asing EUR/USD pada
timeframe H1 (data perubahan harga setiap jam) menggunakan metode Algoritma
Genetika-Jaringan Saraf Tiruan.
III.1. ALUR PENELITIAN
Gambar 3.1. Alur Penelitian
Mulai
Pengambilan Data
Pelatihan FFNN Variabel Input dengan Neural Network Backpropagation
Pembentukan FFNN Variabel Input dengan Genetic Algorithm
Uji Prediksi Nilai Tukar ValutaAsing dengan Genetic Algorithm-Neural Network
Validasi Hasil Uji Prediksi Genetic Algorithm-Neural Network
Analisis dan Pembuatan Laporan
Selesai
III-2
III.1.1 PENGAMBILAN DATA
Tahap pertama dari penelitian adalah pengambilan data, dimana
data diperoleh dari data history sebuah aplikasi Metatrader. Pada forex
terdapat harga-harga yang terbagi dalam waktu yakni harga pada saat
buka, tinggi, rendah dan harga saat forex ditutup. Sehingga data yang
diperoleh terdapat lima variabel yaitu open, high, low, close dan volume.
Namun tidak semua variabel tersebut digunakan. Variabel yang digunakan
sebagai masukan adalah open, high, low dan close, sedangkan data
keluaran pun adalah open, high, low dan close.
III.1.2 PEMBENTUKAN FFNN (FEED FORWARD NEURAL NETWORK)
VARIABEL INPUT DENGAN ALGORITMA GENETIKA
Algoritma Genetika digunakan untuk mencari nilai bobot dan bias
yang paling optimal untuk membentuk jaringan Feed Forward Neural
Network (FFNN) agar didapatkan hasil prediksi valuta asing EUR/USD
dengan error yang kecil.
III-3
Gambar 3.2. Flowchart Perancangan Sistem Algoritma Genetika-Jaringan
Saraf Tiruan.
Pemrosesan Data Input Open, High, Low, Close
Mulai
Cek Kondisi Selisih 0-3>=50%
Pembangkitan Populasi Open, High, Low, CloseF
Selesai
Evaluasi Fitness dan Elitisme Open, High, Low, Close
Seleksi dengan Roulette Whell Open, High, Low, Close
Crossover Open, High, Low, Close
Mutasi Open, High, Low, Close
Solusi Terbaik
MSE<10-6
YA
Neural Network
TIDAK
YA
TIDAK
Latih Open, High, Low, Close
Net Open, High, Low, Close
Prediksi Open, High, Low, Close
III-4
III.1.2.1 Pemrosesan Data Input Open
Langkah–langkah dalam pemrosesan data input adalah
sebagai berikut[12]:
1. Memuat data 1 minggu sebelumnya untuk setiap variabel yaitu
open, high, low dan close sebagai data input, sedangkan data
target merupakan data 1 minggu sebelumnya dari setiap
variabel. (input open, high, low, dan close (data 1-120)
terhadap target open (data 2-121), input open, high, low dan
close (data 1-120) terhadap high (data 2-121) dan
seterusnya)[12].
2. Melakukan proses normalisasi data untuk mendapatkan interval
data [0 1].
3. Menentukan parameter-parameter Algoritma Genetika yang
akan dipakai serta komponen-komponen untuk penanganan
grafis, misalnya:
a. Ukuran populasi, yaitu banyaknya individu yang terdapat
dalam populasi. Pada penelitian dipakai ukuran populasi
sebesar 200, artinya dalam sebuah populasi terdapat 200
individu.
b. Jumlah maksimum generasi, yaitu jumlah maksimum iterasi
yang akan dijalankan pada Algoritma Genetika. Pada
penelitian ini, generasi dibatasi menjadi 4.000 generasi
sehingga pada generasi ke-4.000, individu dengan nilai
III-5
fitness paling tinggi secara otomatis akan menjadi solusi dari
permasalahan.
c. Probabilitas crossover (Pc), probabilitas mutasi (Pm), kedua
parameter ini masing-masing menentukan besarnya
kemungkinan individu untuk melakukan operasi crossover,
dan mutasi. Pada penelitian ini Pc=0,9 dan Pm =0,03.
III.1.2.2 Pembangkitan Populasi Awal.
Populasi awal dibangkitkan dari sekumpulan bilangan biner
acak berdasarkan jumlah solusi yang diinginkan. Yang dimaksud
solusi ialah bobot dan bias paling optimal yang akan menghasilkan
nilai Mean Square Error (MSE) jaringan yang paling kecil.
Populasi berisi sejumlah kromosom yang panjangnya sama,
dibangkitkan berdasarkan jumlah kromosom dan jumlah gen.
Ukuran populasi ditentukan berdasarkan banyaknya kromosom
yang diinginkan dalam satu populasi, sedangkan jumlah gen
ditentukan berdasarkan jumlah solusi yang diinginkan dan teknik
pengkodean yang akan digunakan[4].
Pada penelitian ini, Algoritma Genetika dipakai untuk
mencari nilai bobot dan bias sebuah jaringan Feed Forward Neural
Network (FFNN) dengan jumlah neuron di hidden layer yang
dipakai sama dengan jumlah neuron di input layer yaitu sebanyak
empat buah dan satu neuron di output layer sehingga jumlah
III-6
variabel (bobot dan bias) yang dibutuhkan adalah sebanyak (jumlah
masukan+1)2 dimana pada penelitian ini jumlah input sebanyak
empat parameter, yaitu: open, high, low dan close sehingga jumlah
variabel dalam sebuah kromosom adalah sebanyak 25 buah gen,
yaitu: enam belas buah bobot dan empat buah bias dari input layer
ke hidden layer serta empat buah bobot dan sebuah bias dari hidden
layer ke output layer[4].
Karena menggunakan binary encoding, maka setiap
variabel akan dikodekan dalam bentuk biner yang panjangnya
berdasarkan jumlah bit yang ditentukan. Misalnya dalam sebuah
kromosom terdapat 25 buah variabel (gen) sementara setiap
variabel dikodekan dalam sepuluh bit, maka dalam sebuah
kromosom terdapat 250 buah gen dimana variabel pertama
direpresntasikan oleh gen 1 sampai gen 10, variable kedua
direpresentasikan oleh gen 11 sampai gen 20, dan seterusnya. Jika
diinginkan agar dalam populasi terdapat 100 buah kromosom maka
populasi akan berbentuk matrix berukuran 100x250[4].
III.1.2.3 Evaluasi Fitness dan Elitisme.
Setiap individu dalam populasi akan dievaluasi dengan
fungsi fitness sehingga memiliki nilai fitness masing-masing yang
menjadi ukuran seberapa kuat individu tersebut untuk lolos ke
generasi berikutnya. Yang dimaksud individu ialah kromosom yang
III-7
isinya telah diubah dari bilangan biner menjadi bilangan real yang
berada dalam interval yang ditentukan. Individu-individu hasil
decoding tersebut akan dievaluasi berdasarkan fungsi fitness untuk
mendapatkan nilai fitness setiap individu. Pada penelitian ini fungsi
fitness yang digunakan ialah Mean Square Error (MSE), dengan
demikian nilai fitness-nya ialah 1/MSE. Persamaan MSE yang
digunakan seperti pada persamaan (2.5) di bab sebelumnya.
Elitisme ialah proses pembuatan duplikat kromosom yang
memiliki nilai fitness tertinggi agar pada generasi berikutnya
kromosom tersebut tidak hilang tetapi menjadi kromosom dengan
nilai fitness minimum yang akan dioptimasi agar didapatkan
kromosom yang nilai fitnessnya lebih tinggi[4].
III.1.2.4 Seleksi dengan Roulette Whell.
Seleksi berfungsi untuk menentukan kromosom yang
berhak melakukan operasi genetic[2][3]. Adapun metode seleksi
yang digunakan adalah Roulette Wheel dengan langkah-langkah
sebagai berikut.
Pertama, dibuat interval nilai komulatif (dalam interval
[0 1]) dari nilai fitness setiap kromosom dibagi total nilai fitness
dari semua kromosom. Kromosom tersebut akan terpilih jika
bilangan random yang dibangkitkan berada dalam interval
akumulatifnya.
III-8
III.1.2.5 Operasi Crossover
Operasi crossover berupa proses pindah silang gen-gen
antar kromosom induk agar dihasilkan kromosom anak. Pindah
silang dilakukan berdasarkan probabilitas crossover (pc) [3][4],
artinya pindah silang bisa dilakukan hanya jika suatu bilangan
random yang dibangkitkan kurang dari pc yang ditentukan, pada
umumnya pc diatur mendekati 1. Pertama, dibangkitkan bilangan
acak r bertipe real dalam range [0 1], jika r < Pc maka kromosom-
kromosom tersebut dapat melakukan crossover.
Pada penelitian ini, jenis crossover yang dipakai ialah one-
point crossover. Satu titik potong dipilih secara random, kemudian
bagian pertama dari orang tua 1 digabungkan dengan bagian kedua
dari orang tua 2[4].
III.1.2.6 Operasi Mutasi
Operasi mutasi berupa proses perubahan gen dalam
kromosom[2][3][5]. Kromosom yang berhak melakukan operasi ini
tergantung pada probabilitas mutasinya (Pm). Langkahnya adalah
sebagai berikut:
a. Membangkitkan bilangan acak r bertipe real dalam range [0 1].
b. Jika r < Pm, maka semua individu dalam populasi terpilih untuk
melakukan mutasi.
III-9
Pada penelitian ini, mutasi terjadi secara universal dalam
kromosom, gen-gen yang terpilih untuk melakukan mutasi diubah
nilainya: 0 menjadi 1 dansebaliknya 1 menjadi 0[4].
III.1.2.7 Penentuan Suatu Kondisi Untuk Menghentikan Jalannya
Algoritma.
Algoritma dengan sendirinya akan berhenti bila memenuhi
kondisi berikut:
Apabila generasi telah mencapai jumlah maksimum generasi
yaitu 4.000 generasi, artinya pada generasi ke-4.000 individu
dengan nilai fitness tertinggi akan terpilih secara otomatis
sebagai solusi yang dicari.
Apabila solusi yang paling terbaik (individu dengan nilai
fitness tertinggi) telah ditemukan.
III.1.3 PELATIHAN FFNN VARIABEL INPUT DENGAN JARINGAN
SARAF TIRUAN-BACKPROPAGATION
Apabila hasil latih prediksi yang dihasilkan oleh system Algoritma
Genetika masih belum memenuhi kriteria (MSE>10-6), maka struktur
FFNN yang dihasilkan oleh Algoritma Genetika selanjutnya dilatih
menggunakan Jaringan Saraf Tiruan-Backpropagation untuk
III-10
mendapatkan hasil latih prediksi yang lebih baik. Proses pelatihan
memiliki langkah-langkah sebagai berikut:
1. Memuat data 1 minggu sebelumnya untuk setiap variabel yaitu
open, high, low dan close sebagai data input, sedangkan data target
merupakan data 1 minggu sebelumnya dari setiap variabel. (input
open, high, low, dan close (data 1-120) terhadap target open (data
2-121), input open, high, low dan close (data 1-120) terhadap high
(data 2-121) dan seterusnya) [12].
2. Melakukan proses normalisasi data untuk mendapatkan interval
data [0 1].
3. Memasukkan data 1 minggu sebelumnya ke jaringan kemudian
disimulasikan menggunakan net dengan hasil pelatihan Algoritma
Genetika berupa nilai fitness FFNN terbaik dari data jam selama 1
minggu sebelumnya.
4. Menghitung keluaran jaringan data jam dari hasil FFNN yang
dilatih.
Net yang diperoleh dari pelatihan selanjutnya dimasukkan kedalam
jaringan sehingga dihasilkan output sistem yang merupakan hasil latih
prediksi. Hasil latih prediksi dengan metode Algoritma Genetika-Jaringan
Saraf Tiruan kemudian divalidasi dengan data real untuk mengetahui
keakuratan system.
III-11
Setelah mendapatkan sistem yang mendapatkan hasil validasi yang
akurasinya sama dengan atau melebihi 50 % maka sistem tersebut yang
akan dipakai untuk uji prediksi valuta asing EUR/USD pada jam
berikutnya.
III.1.4 UJI PREDIKSI NILAI TUKAR VALUTA ASING DENGAN
ALGORITMA GENETIKA-JARINGAN SARAF TIRUAN
Setelah mendapatkan struktur jaringan yang menghasilkan system
prediksi dengan validasi yang memenuhi kriteria, selanjutnya dilakukan
proses uji prediksi untuk mendapatkan hasil uji prediksi valuta asing
EUR/USD pada perubahan waktu setiap jam selama 1 minggu kedepan.
Langkah-langkah dalam proses uji prediksi valuta asing EUR/USD dengan
Algoritma Genetika-Jaringan Saraf Tiruan adalah sebagai berikut:
1. Memuat data 1 jam sebelumnya saja (1 nilai) setiap variabel, yaitu:
open, high, low dan close (misal, harga open, high, low dan close pada
tanggal 28 September 2012 pukul. 23:00) [12].
2. Melakukan proses normalisasi data untuk mendapatkan interval data
[01].
3. Memasukkan data 1 jam sebelumnya ke jaringan kemudian
disimulasikan menggunakan net hasil pelatihan FFNN dari metode
Algoritma Genetika-Jaringan Saraf Tiruan dari data 1 minggu
sebelumnya.
III-12
4. Menghitung keluaran jaringan hasil prediksi untuk nilai jam
berikutnya.
Proses uji prediksi diatas dilakukan sebanyak 120 kali dengan input
yang berbeda tetapi dengan menggunakan net yang sama hasil pelatihan
dari metode Algoritma Genetika-Jaringan Saraf Tiruan, misal data yang
ingin diuji prediksi adalah data jam 10 maka data yang di input adalah data
jam 9, pada tanggal yang ditentukan, dan seterusnya hingga mendapat
hasil uji prediksi selama 1 minggu kedepan.
III.1.5 VALIDASI HASIL UJI PREDIKSI ALGORITMA GENETIKA-
JARINGAN SARAF TIRUAN
Setelah mendapatkan hasil uji prediksi untuk masing-masing nilai
open, high, low dan close, hasil-hasil tersebut di validasikan dengan
masing-masing data real-nya pada tanggal dan waktu yang sama, sehingga
didapatkan akurasi untuk masing-masing hasil uji prediksi open, high, low
dan close selama 1 minggu kedepan.
IV-1
BAB IV
ANALISIS DAN PEMBAHASAN
IV.1. PEMBENTUKAN FEED FORWARD NEURAL NETWORK DAN
PELATIHAN PREDIKSI METODE ALGORITMA GENETIKA
Setelah data history mata uang asing EUR/USD dalam time-frame
H1 (harga/jam) variabel input (open, high, low dan close) didownload,
data–data tersebut kemudian dimasukkan ke sistem Algoritma Genetika
untuk diproses agar dihasilkan nilai fitness terbaik (Feed Forward Neural
Network). Data input nilai harga Open, high, low dan close sebanyak 120
nilai yakni mulai tanggal 24 hingga 28 September 2012 dengan metode
Algoritma Genetika (lihat Lampiran Tabel 4.1). Data yang diinput adalah 1
minggu sebelumnya dari data yang akan di uji prediksi.
Nilai-nilai input terdapat pada Tabel 4.1 merupakan nilai Real hasil
download dari aplikasi Metatrader. Data tersebut kemudian diproses dengan
Algoritma Genetika setelah sebelumnya dinormalisasi ke dalam interval [0
1]. Selanjutnya Algoritma Genetika akan memproses data tersebut sesuai
dengan parameter-parameter pengendali algoritma yang telah ditentukan.
Dalam prosesnya, Algoritma Genetika akan memanggil function-function
berikut:
IV-2
BangMatrixIT, yaitu fungsi yang membangkitkan matrix input
(keempat variabel input) dan matrix target (data target untuk setiap 1
variabel).
InisialisasiPopulasi, yaitu fungsi yang membangkitkan populasi berupa
matrix berukuran jumlah kromosom yang diinginkan x jumlah gen
dalam sebuah kromosom.
DekodekanKromosom, yaitu fungsi yang melakukan proses decoding
kromosom yang berisi bilangan biner menjadi individu yang berisi
bilangan Real.
BinaryEvalInd, yaitu fungsi yang bertujuan untuk mengevaluasi setiap
individu berdasarkan fungsi fitness (MSE), sehingga dihasilkan nilai
fitness setiap individu.
LinearFitnessRanking, yaitu fungsi yang bertujuan untuk mengurutkan
individu berdasarkan nilai fitnessnya dari individu yang memiliki
fitness tertinggi sampai ke individu yang fitnessnya paling rendah.
RouletteWheel, yaitu fungsi yang digunakan untuk memilih kromosom
yang akan melakukan operasi genetik (pindah silang dan mutasi).
PindahSilang, yaitu fungsi yang melakukan proses pindah silang gen-
gen antar kromosom induk.
Mutasi, yaitu fungsi yang melakukan proses perubahan gen dalam
kromosom.
Algoritma Genetika akan mencari nilai bobot dan bias yang paling
optimal bagi jaringan Feed Forward Neural Network (FFNN) yang
IV-3
diletakkan di dalam function BinaryEvalInd agar dengan bobot dan bias
tersebut jaringan menghasilkan nilai MSE yang paling kecil.
Gambar 4.1. Grafik Pergerakan Nilai Fitnes Close Prediksi Nilai Tukar Valuta Asing
Pada gambar 4.1. dapat dilihat perubahan nilai MSE jaringan
berdasarkan nilai fitness yang dihasilkan oleh Algoritma Genetika, dimana
MSE = 1/fitness. Nilai fitness awal sebesar 32.6879434 dengan MSE
sebesar 0.030592 dan setelah dilakukan optimasi dengan Algoritma
Genetika maka nilai fitness meningkat menjadi 255.405120 dengan MSE
sebesar 0.003915.
IV-4
Gambar 4.2. Grafik Pergerakan Nilai Fitness Low Prediksi Nilai Tukar Valuta Asing
Pada gambar 4.2. dapat dilihat perubahan nilai MSE jaringan
berdasarkan nilai fitness yang dihasilkan oleh Algoritma Genetika, dimana
MSE = 1/fitness. Nilai fitness awal sebesar 46.2549651 dengan MSE
sebesar 0.021619 dan setelah dilakukan optimasi dengan Algoritma
Genetika maka nilai fitness meningkat menjadi 336.138597 dengan MSE
sebesar 0.002975.
IV-5
Gambar 4.3. Grafik Pergerakan Nilai Fitness High Prediksi Nilai Tukar Valuta Asing
Pada gambar 4.3. dapat dilihat perubahan nilai MSE jaringan
berdasarkan nilai fitness yang dihasilkan oleh Algoritma Genetika, dimana
MSE = 1/fitness. Nilai fitness awal sebesar 117.3548145 dengan MSE
sebesar 0.008521 dan setelah dilakukan optimasi dengan Algoritma
Genetika maka nilai fitness meningkat menjadi 376.007955 dengan MSE
sebesar
IV-6
0.002660.
Gambar 4.4. Grafik Pergerakan Nilai Fitness Open Prediksi Nilai Tukar Valuta Asing
Pada gambar 4.4. dapat dilihat perubahan nilai MSE jaringan
berdasarkan nilai fitness yang dihasilkan oleh Algoritma Genetika, dimana
MSE = 1/fitness. Nilai fitness awal sebesar 69.9879898 dengan MSE
sebesar 0.014288 dan setelah dilakukan optimasi dengan Algoritma
Genetika maka nilai fitness meningkat menjadi 1753.363137 dengan MSE
sebesar 0.000570.
Meningkatnya nilai fitness menyebabkan nilai MSE semakin kecil
yang menandakan bahwa error antara output jaringan dengan target
IV-7
semakin kecil. Nilai MSE tersebut dihasilkan oleh jaringan yang memiliki
struktur (bobot dan bias) paling optimal seperti terlihat pada gambar di
bawah ini.
Gambar 4.5. Struktur FFNN Terbaik yang Dihasilkan Algoritma
Genetika
Struktur FFNN di atas secara berurutan adalah enam belas buah
bobot (kolom 1 sampai kolom 16) dan empat buah bias (kolom 17 sampai
kolom 20) dari input layer ke hidden layer, dan sisanya ialah empat buah
IV-8
bobot (kolom 21 sampai kolom 24) dan sebuah bias (kolom 25) dari hidden
layer ke output layer[4].
Dengan struktur tersebut, FFNN dalam Algoritma Genetika akan
menghasilkan latih Prediksi Nilai Tukar Valuta Asing EUR/USD pada
tanggal 24-28 September 2012 seperti yang terdapat pada (lihat Lampiran
Tabel 4.2, Tabel 4.3, Tabel 4.4, dan Tabel 4.5) dan gambar di bawah ini :
Gambar 4.6. Perbandingan Data Real dan Hasil Latih Open Nilai Tukar Valuta Asing dengan Metode Algoritma Genetika (input 1 minggu).
IV-9
Gambar 4.7. Perbandingan Data Real dan Hasil Latih High Nilai Tukar Valuta Asing dengan Metode Algoritma Genetika (input 1 minggu).
Gambar 4.8. Perbandingan Data Real dan Hasil Latih Low Nilai Tukar Valuta Asing dengan Metode Algoritma Genetika
IV-10
Gambar 4.9. Perbandingan Data Real dan Hasil Latih Close Nilai Tukar Valuta Asing dengan Metode Algoritma Genetika
IV-11
IV.2. PELATIHAN FEED FORWARD NEURAL NETWORK DAN
PREDIKSI METODE JARINGAN SARAF TIRUAN-
BACKPROPAGATION
Hasil prediksi dengan metode Algoritma Genetika belum mencapai
nilai MSE yang cukup kecil (10-6), maka struktur jaringan (net) yang
dihasilkan oleh Algoritma Genetika, dilatih kembali dengan Jaringan Saraf
Tiruan-Backpropagation sehingga diperoleh nilai prediksi untuk setiap
variable. Hasil latih harga setiap variabel tersebut dimuat ke dalam tabel
(lihat Lampiran Tabel 4.6, Tabel 4.7, Tabel 4.8, Tabel 4.9) dan gambar di
bawah ini merupakan hasil latih setiap variabel.
Gambar 4.10. Perbandingan Data Real Open dengan Hasil Latih Open Nilai Tukar Valuta Asing dengan Metode Algoritma Genetika- Jaringan Saraf Tiruan
IV-12
Gambar 4.11. Perbandingan Data Real High dengan Hasil Latih High Nilai Tukar Valuta Asing dengan Metode Algoritma Genetika- Jaringan Saraf Tiruan
Gambar 4.12. Perbandingan Data Real Low dengan Hasil Latih Low Nilai Tukar Valuta Asing dengan Metode Algoritma Genetika- Jaringan Saraf Tiruan
IV-13
Gambar 4.13. Perbandingan Data Real Close dengan Hasil Latih Close Nilai Tukar Valuta Asing dengan Metode Algoritma Genetika- Jaringan Saraf Tiruan
Pelatihan Nilai MSE yang dihasilkan dengan metode Algoritma
Genetika-Jaringan Saraf Tiruan adalah Open sebesar 1,9503e-05, High
sebesar 0,0020, Low sebesar 0.0028, dan Close sebesar 0.0038 dengan
demikian error antara target dengan prediksi semakin kecil.
IV.3. PENGUJIAN PREDIKSI HARGA MATA UANG ASING DENGAN
METODE ALGORITMA GENETIKA- JARINGAN SARAF TIRUAN
Dengan menggunakan net hasil pelatihan pada sistem Algoritma
Genetika-Jaringan Saraf Tiruan, nilai harga open, high, low, dan close akan
di uji prediksi dengan input keempat variabel dari jam sebelumnya untuk uji
prediksi jam berikutnya hingga menghasilkan 120 nilai prediksi masing-
masing variabel yakni pada tanggal 1 Oktober sampai dengan 5 Oktober
2012. Adapun hasil uji prediksi untuk keempat variabel Open, High, Low
dan Close yang terbagi ke dalam 3 kejadian atau kondisi yang dilihat dari
selisih pip antara data aktual dengan data uji prediksi yakni:
1. Selisih range 0-3 pip menyatakan trader meraih keuntungan dengan
selisih pip antara data aktual dengan data uji prediksi pada range
tersebut.
2. Selisih range 4-6 pip menyatakan bahwa trader mengalami kerugian
namun masih dapat tertutupi yang artinya pada range ini kerugian yang
didapat masih dalam jumlah yang kecil.
IV-14
3. Selisih range yang berada pada selisih lebih dari 6 pip menyatakan
bahwa trader mengalami kerugian yang besar. Perbedaan selisih yang
jauh ini diakibatkan karena adanya berita (news) yakni faktor
fundamental pada kondisi ini.
Hasil uji prediksi yang dibandingkan dengan data aktual (Real) pada
tabel dan gambar untuk keempat variabel Open, High, Low, dan Close berikut ini :
Tabel 4.10 Validasi data Real dengan data hasil uji prediksi variable Open pada
tanggal 1 Oktober 2012.
Tanggal Jam Data Real Open
Hasil Uji Prediksi Open dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan01-10-2012 00 1.2847 1.2848
01 1.2849 1.284802 1.2833 1.283303 1.2807 1.280604 1.2818 1.281905 1.2814 1.2813
Pindah Tabel ke Halaman IV-13
Tanggal Jam Data Real Open
Hasil Uji Prediksi Open dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan06 1.2813 1.281207 1.282 1.282108 1.2821 1.282109 1.2828 1.282910 1.2843 1.284311 1.2868 1.287112 1.2893 1.289513 1.2899 1.289914 1.2897 1.289515 1.2883 1.288316 1.2923 1.29217 1.2907 1.290218 1.2904 1.290719 1.2899 1.2902
IV-15
20 1.2894 1.289121 1.2896 1.289822 1.2885 1.288323 1.2888 1.2888
Pada hasil uji prediksi Open yang ditunjukkan pada Tabel 4.10 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
1 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 23
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 1
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 0
Pada tanggal 1 Oktober 2012 kondisi ke tiga tidak ada nilai tukar valuta
asing pada saat Open yang dipengaruhi oleh faktor fundamental.
IV-16
Gambar 4.14. Perbandingan Data Real Open dengan Hasil Uji Prediksi
Open Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 1 Oktober 2012.
Tebel 4.11 Validasi data Real dengan data hasil uji prediksi variable Open pada
tanggal 2 Oktober 2012.
Tanggal Jam Data Real Open
Hasil Uji Prediksi Open dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan02-10-2012 00 1.2887 1.2888
01 1.2886 1.288802 1.289 1.28903 1.2888 1.288604 1.2892 1.289205 1.29 1.290106 1.29 1.2907 1.2893 1.289408 1.2901 1.290309 1.2913 1.291410 1.2891 1.2893
Pindah Tabel ke Halaman IV-15
Tanggal Jam Data Real Open
Hasil Uji Prediksi Open dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan11 1.2897 1.289712 1.2913 1.291413 1.2911 1.291214 1.2916 1.291615 1.2925 1.292716 1.2921 1.292217 1.2934 1.293518 1.2935 1.293519 1.2947 1.294620 1.294 1.293821 1.2929 1.292922 1.2914 1.291523 1.2918 1.2918
IV-17
Pada hasil uji prediksi Open yang ditunjukkan pada Tabel 4.11 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
2 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 24
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 0
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 0
Pada tanggal 2 Oktober 2012 kondisi ke tiga tidak ada nilai tukar valuta
asing pada saat Open yang dipengaruhi oleh faktor fundamental.
Gambar 4.15. Perbandingan Data Real Open dengan Hasil Uji Prediksi
Open Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 2 Oktober 2012
IV-18
Tabel 4.12 Validasi data Real dengan data hasil uji prediksi variable Open pada
tanggal 3 Oktober 2012.
Tanggal Jam Data Real Open
Hasil Uji Prediksi Open dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan03-10-2012 00 1.2919 1.2918
01 1.2916 1.291402 1.2918 1.291803 1.2911 1.290604 1.2909 1.290905 1.291 1.290906 1.2906 1.290507 1.2903 1.2908 1.2901 1.290209 1.2898 1.289610 1.2892 1.2886
Pindah Tabel ke halaman IV-1711 1.2912 1.291
Tanggal Jam Data Real Open
Hasil Uji Prediksi Open dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan12 1.2916 1.291613 1.2925 1.292414 1.2904 1.290415 1.2904 1.290516 1.2899 1.289817 1.2898 1.289818 1.2901 1.290119 1.2908 1.290820 1.2908 1.290821 1.2903 1.2922 1.2899 1.289923 1.2902 1.2902
Pada hasil uji prediksi Open yang ditunjukkan pada Tabel 4.12 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
3 Oktober 2012 yakni :
IV-19
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 22
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 2
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 0
Pada tanggal 3 Oktober 2012 kondisi ke tiga tidak ada nilai tukar valuta
asing pada saat Open yang dipengaruhi oleh faktor fundamental.
Gambar 4.16. Perbandingan Data Real Open dengan Hasil Uji Prediksi
Open Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 3 Oktober 2012
Tebel 4.13 Validasi data Real dengan data hasil uji prediksi variable Open pada
tanggal 4 Oktober 2012.
IV-20
Tanggal Jam Data Real Open
Hasil Uji Prediksi Open dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan04-10-2012 00 1.2905 1.2905
01 1.2909 1.290902 1.2919 1.291903 1.2922 1.292304 1.2914 1.291405 1.2911 1.291206 1.2926 1.292707 1.2925 1.292508 1.2931 1.293
Pindah Tabel ke halaman IV-1909 1.2923 1.2924
Tanggal Jam Data Real Open
Hasil Uji Prediksi Open dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan10 1.2946 1.294611 1.2947 1.294712 1.2932 1.292813 1.2944 1.294414 1.295 1.29515 1.295 1.29516 1.2984 1.298817 1.2975 1.297318 1.3006 1.300319 1.3001 1.299820 1.3017 1.301821 1.3028 1.302922 1.3019 1.301123 1.3018 1.3019
Pada hasil uji prediksi Open yang ditunjukkan pada Tabel 4.13 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
4 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 21
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 2
IV-21
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 1
Pada tanggal 4 Oktober 2012 kondisi ke tiga pada jam 22:00 dengan selisih
nilai tukar valuta asing pada saat Open data Real dangan uji prediksi adalah 0.0008
dipengaruhi oleh faktor fundamental.
Gambar 4.17. Perbandingan Data Real Open dengan Hasil Uji Prediksi
Open Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 4 Oktober 2012
Tebel 4.14 Validasi data Real dengan data hasil uji prediksi variable Open pada
tanggal 5 Oktober 2012.
Tanggal Jam Data Real Open
Hasil Uji Prediksi Open dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan
IV-22
05-10-2012 00 1.3017 1.301801 1.3016 1.301702 1.302 1.30203 1.3012 1.301304 1.3015 1.301505 1.3018 1.301906 1.3016 1.301407 1.3012 1.301208 1.3015 1.301509 1.3006 1.3007
Pindah Tabel ke halaman IV-2110 1.3002 1.3003
Tanggal Jam Data Real Open
Hasil Uji Prediksi Open dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan11 1.3005 1.300612 1.3001 1.313 1.3006 1.300614 1.3008 1.300815 1.3006 1.300616 1.3019 1.301917 1.3057 1.305918 1.3059 1.305919 1.3056 1.305820 1.3051 1.304721 1.303 1.302922 1.3033 1.303323 1.3029 1.3031
Pada hasil uji prediksi Open yang ditunjukkan pada Tabel 4.14 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
5 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 23
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 1
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 0
IV-23
Pada tanggal 5 Oktober 2012 kondisi ke tiga tidak ada nilai tukar valuta
asing pada saat Open yang dipengaruhi oleh faktor fundamental.
Gambar 4.18. Perbandingan Data Real Open dengan Hasil Uji Prediksi
Open Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 5 Oktober 2012.
Tabel 4.15 Validasi data Real dengan data hasil uji prediksi variable High pada
tanggal 1 Oktober 2012.
Tanggal Jam Data Real High
Hasil Uji Prediksi High dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan01-10-2012 00 1.2859 1.2857
01 1.2849 1.284802 1.2850 1.283603 1.2838 1.281404 1.2821 1.281905 1.2823 1.2817
IV-24
06 1.2819 1.281507 1.2824 1.282208 1.2825 1.282409 1.2830 1.282910 1.2851 1.2849
Pindah Tabel ke halaman IV-2311 1.2877 1.2873
Tanggal Jam Data Real High
Hasil Uji Prediksi High dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan12 1.2897 1.289413 1.2910 1.290714 1.2900 1.289815 1.2899 1.288616 1.2923 1.291917 1.2926 1.29118 1.2938 1.292319 1.2922 1.29120 1.2906 1.289921 1.2900 1.289822 1.2896 1.288623 1.2895 1.2892
Pada hasil uji prediksi High yang ditunjukkan pada Tabel 4.15 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
1 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 14
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 2
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 8
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP2:00 0.00133:00 0.0024
15:00 0.001317:00 0.001618:00 0.0015
IV-25
19:00 0.001120:00 0.000722:00 0.0010
Gambar 4.19. Perbandingan Data Real High dengan Hasil Uji Prediksi High
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 1 Oktober 2012
IV-26
Tabel 4.16 Validasi data Real dengan data hasil uji prediksi variable High pada
tanggal 2 Oktober 2012.
Tanggal Jam Data Real High
Hasil Uji Prediksi High dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan02-10-2012 00 1.2892 1.289
01 1.2888 1.288602 1.2890 1.288903 1.2893 1.28904 1.2896 1.289505 1.2902 1.290106 1.2905 1.290307 1.2902 1.289608 1.2906 1.290309 1.2917 1.291510 1.2914 1.2897
Pindah Tabel ke halaman IV-2511 1.2909 1.2904
Tanggal Jam Data Real High
Hasil Uji Prediksi High dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan12 1.2919 1.291613 1.2923 1.291814 1.2929 1.292515 1.2929 1.292716 1.2933 1.292617 1.2948 1.294418 1.2939 1.293619 1.2967 1.296220 1.2952 1.294321 1.2947 1.293422 1.2931 1.291823 1.2926 1.2924
Pada hasil uji prediksi High yang ditunjukkan pada Tabel 4.16 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
2 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 15
IV-27
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 5
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 4
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP10:00 0.001720:00 0.000821:00 0.001222:00 0.0013
Gambar 4.20. Perbandingan Data Real High dengan Hasil Uji Prediksi High
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 2 Oktober 2012
Tabel 4.17 Validasi data Real dengan data hasil uji prediksi variable High pada
tanggal 3 Oktober 2012.
IV-28
Tanggal Jam Data Real High
Hasil Uji Prediksi High dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan03-10-2012 00 1.2923 1.2921
01 1.2919 1.291702 1.2918 1.291803 1.2918 1.291204 1.2914 1.291105 1.2910 1.290906 1.2914 1.290907 1.2906 1.290208 1.2903 1.290109 1.2904 1.2910 1.2898 1.289311 1.2913 1.2909
Pindah Tabel ke Halaman IV-2712 1.2929 1.292613 1.2936 1.293414 1.2930 1.29115 1.2918 1.291316 1.2916 1.290717 1.2907 1.290318 1.2924 1.291619 1.2917 1.291520 1.2911 1.290921 1.2909 1.290422 1.2909 1.290323 1.2905 1.2904
Pada hasil uji prediksi High yang ditunjukkan pada Tabel 4.17 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
3 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 15
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 6
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 3
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
IV-29
JAM SELISIH PIP14:00 0.001916:00 0.000818:00 0.0007
Gambar 4.21. Perbandingan Data Real High dengan Hasil Uji Prediksi High
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 3 Oktober 2012
IV-30
Tabel 4.18 Validasi data Real dengan data hasil uji prediksi variable High pada
tanggal 4 Oktober 2012.
Tanggal Jam Data Real High
Hasil Uji Prediksi High dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan04-10-2012 00 1.2905 1.2904
01 1.2910 1.290902 1.2920 1.291903 1.2924 1.292304 1.2923 1.291505 1.2922 1.291606 1.2928 1.292607 1.2930 1.292708 1.2931 1.29309 1.2932 1.292510 1.2949 1.294611 1.2954 1.2951
Pindah Tabel ke halaman IV-2912 1.2957 1.2939
Tanggal Jam Data Real High
Hasil Uji Prediksi High dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan13 1.2946 1.294414 1.2954 1.295315 1.2967 1.29616 1.2991 1.298717 1.2995 1.298218 1.3006 1.300319 1.3012 1.300520 1.3020 1.301821 1.3031 1.30322 1.3028 1.302123 1.3020 1.3018
Pada hasil uji prediksi High yang ditunjukkan pada Tabel 4.18 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
4 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 15
IV-31
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 5
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 4
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP4:00 0.0007
12:00 0.001817:00 0.001222:00 0.0007
IV-32
Gambar 4.22. Perbandingan Data Real High dengan Hasil Uji Prediksi High
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 4 Oktober 2012
Tabel 4.19 Validasi data Real dengan data hasil uji prediksi variable High pada
tanggal 5 Oktober 2012.
Tanggal Jam Data Real High
Hasil Uji Prediksi High dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan05-10-2012 00 1.3022 1.302
01 1.3022 1.301902 1.3021 1.30203 1.3021 1.301404 1.3018 1.301805 1.3020 1.301906 1.3022 1.301807 1.3020 1.301508 1.3018 1.301709 1.3017 1.300910 1.3015 1.3007
Pindah Tabel ke halaman IV-3111 1.3009 1.3007
Tanggal Jam Data Real High
Hasil Uji Prediksi High dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan12 1.3013 1.300613 1.3015 1.301314 1.3013 1.301115 1.3015 1.301116 1.3030 1.302617 1.3063 1.305918 1.3071 1.306619 1.3059 1.305620 1.3058 1.305221 1.3056 1.303622 1.3037 1.303523 1.3033 1.3029
IV-33
Pada hasil uji prediksi High yang ditunjukkan pada Tabel 4.19 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
5 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 14
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 7
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 3
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP9:00 0.0007
10:00 0.000721:00 0.0020
IV-34
Gambar 4.23. Perbandingan Data Real High dengan Hasil Uji Prediksi High
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 5 Oktober 2012
Tabel 4.20 Validasi data Real dengan data hasil uji prediksi variable Low pada
tanggal 1 Oktober 2012.
Tanggal Jam Data Real Low
Hasil Uji Prediksi Low dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan01-10-2012 00 1.2843 1.2852
01 1.2843 1.284602 1.2831 1.283203 1.2803 1.280504 1.2805 1.281405 1.2811 1.281206 1.2804 1.280807 1.2809 1.281608 1.2816 1.281909 1.2817 1.282410 1.2825 1.2838
Pindah Tabel ke halaman IV-3311 1.2838 1.2859
Tanggal Jam Data Real Low
Hasil Uji Prediksi Low dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan12 1.2863 1.288313 1.2892 1.289814 1.2891 1.289315 1.2882 1.288216 1.2875 1.290617 1.2899 1.290218 1.2895 1.290219 1.2899 1.2920 1.2883 1.288721 1.2884 1.289122 1.2881 1.288223 1.2876 1.2883
IV-35
Pada hasil uji prediksi Low yang ditunjukkan pada Tabel 4.20 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
1 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 10
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 6
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 8
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP0:00 0.00094:00 0.00097:00 0.0007
10:00 0.001311:00 0.002112:00 0.001916:00 -0.003018:00 -0.0007
IV-36
Gambar 4.24. Perbandingan Data Real Low dengan Hasil Uji Prediksi Low
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 1 Oktober 2012
Tabel 4.21 Validasi data Real dengan data hasil uji prediksi variable Low pada
tanggal 2 Oktober 2012.
Tanggal Jam Data Real Low
Hasil Uji Prediksi Low dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan02-10-2012 00 1.2885 1.2887
01 1.2884 1.288502 1.2883 1.288703 1.2884 1.288504 1.2886 1.28905 1.2889 1.289606 1.2898 1.289907 1.2893 1.289408 1.2883 1.289409 1.2898 1.2908
Pindah Tabel ke halaman IV-3510 1.2891 1.2892
Tanggal Jam Data Real Low
Hasil Uji Prediksi Low dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan11 1.2880 1.28912 1.2893 1.290713 1.2902 1.290714 1.2907 1.291415 1.2910 1.291916 1.2920 1.292117 1.2918 1.293118 1.2922 1.292819 1.2929 1.294220 1.2936 1.293721 1.2927 1.292822 1.2914 1.291723 1.2913 1.2917
IV-37
Pada hasil uji prediksi Low yang ditunjukkan pada Tabel 4.21 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
2 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 13
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 4
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 7
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP8:00 0.00119:00 0.0010
11:00 0.001012:00 0.001315:00 0.000917:00 0.001219:00 0.0012
IV-38
Gambar 4.25. Perbandingan Data Real Low dengan Hasil Uji Prediksi Low
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 2 Oktober 2012
Tabel 4.22 Validasi data Real dengan data hasil uji prediksi variable Low pada
tanggal 3 Oktober 2012.
Tanggal Jam Data Real Low
Hasil Uji Prediksi Low dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan03-10-2012 00 1.2916 1.2917
01 1.2913 1.291402 1.2915 1.291703 1.2905 1.290704 1.2908 1.290805 1.2900 1.290506 1.2904 1.290507 1.2893 1.289608 1.2893 1.289609 1.2896 1.2896
Pindah Tabel ke halaman IV-3710 1.2884 1.2887
Tanggal Jam Data Real Low
Hasil Uji Prediksi Low dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan11 1.2877 1.28912 1.2910 1.290713 1.2915 1.290714 1.2902 1.291415 1.2898 1.290216 1.2887 1.289317 1.2891 1.289518 1.2887 1.289619 1.2900 1.290620 1.2902 1.290521 1.2899 1.2922 1.2896 1.289823 1.2896 1.29
IV-39
Pada hasil uji prediksi Low yang ditunjukkan pada Tabel 4.22 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
3 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 15
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 5
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 4
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP11:00 0.001313:00 0.000814:00 0.001218:00 0.0008
Gambar 4.26. Perbandingan Data Real Low dengan Hasil Uji Prediksi Low
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 3 Oktober 2012
IV-40
Tabel 4.23 Validasi data Real dengan data hasil uji prediksi variable Low pada
tanggal 4 Oktober 2012.
Tanggal Jam Data Real Low
Hasil Uji Prediksi Low dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan04-10-2012 00 1.2897 1.2901
01 1.2901 1.290602 1.2908 1.291503 1.2916 1.29204 1.2913 1.291305 1.2910 1.291106 1.2911 1.292107 1.2921 1.292308 1.2920 1.292609 1.2923 1.2923
Pindah Tabel ke halaman IV-3910 1.2919 1.2937
Tanggal Jam Data Real Low
Hasil Uji Prediksi Low dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan11 1.2937 1.294212 1.2925 1.292813 1.2931 1.29414 1.2942 1.294715 1.2937 1.294416 1.2946 1.297317 1.2970 1.297218 1.2972 1.299419 1.2989 1.299420 1.2997 1.30121 1.3016 1.302522 1.3007 1.301123 1.3009 1.3013
Pada hasil uji prediksi Low yang ditunjukkan pada Tabel 4.23 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
4 Oktober 2012 yakni :
IV-41
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 7
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 8
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 9
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP2:00 0.00076:00 0.0010
10:00 0.001813:00 0.000915:00 0.000716:00 0.002718:00 0.002220:00 0.001221:00 0.0008
IV-42
Gambar 4.27. Perbandingan Data Real Low dengan Hasil Uji Prediksi Low
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 4 Oktober 2012
Tabel 4.24 Validasi data Real dengan data hasil uji prediksi variable Low pada
tanggal 5 Oktober 2012.
Tanggal Jam Data Real Low
Hasil Uji Prediksi Low dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan05-10-2012 00 1.3014 1.3016
01 1.3016 1.301602 1.3014 1.301803 1.3012 1.301204 1.3011 1.301405 1.3015 1.301806 1.3012 1.301407 1.3010 1.301108 1.3012 1.301409 1.3006 1.3006
Pindah Tabel ke halaman IV-4110 1.3001 1.3002
Tanggal Jam Data Real Low
Hasil Uji Prediksi Low dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan11 1.2993 1.312 1.2996 1.299813 1.3000 1.300514 1.3005 1.300715 1.3003 1.300516 1.2997 1.301117 1.3019 1.304618 1.3049 1.305419 1.3045 1.30520 1.3045 1.304721 1.3026 1.302822 1.3027 1.303123 1.3014 1.302
IV-43
Pada hasil uji prediksi Low yang ditunjukkan pada Tabel 4.24 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
5 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 16
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 6
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 2
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP16:00 0.001417:00 0.0026
IV-44
Gambar 4.28. Perbandingan Data Real Low dengan Hasil Uji Prediksi Low
Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 5 Oktober 2012
Tabel 4.25 Validasi data Real dengan data hasil uji prediksi variable Close
pada tanggal 1 Oktober 2012.
Tanggal Jam Data Real Close
Hasil Uji Prediksi Close dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan01-10-2012 00 1.2858 1.2854
01 1.2849 1.284702 1.2833 1.283703 1.2807 1.281404 1.2818 1.281505 1.2814 1.281606 1.2812 1.281207 1.2820 1.281808 1.2821 1.282109 1.2828 1.282610 1.2843 1.2841
Pindah Tabel ke halaman IV-4311 1.2868 1.2863
Tanggal Jam Data Real Close
Hasil Uji Prediksi Close dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan12 1.2893 1.288713 1.2899 1.2914 1.2897 1.289615 1.2883 1.288716 1.2923 1.291217 1.2907 1.29118 1.2904 1.291119 1.2899 1.290520 1.2894 1.289421 1.2896 1.289422 1.2885 1.288723 1.2888 1.2887
IV-45
Pada hasil uji prediksi Close yang ditunjukkan pada Tabel 4.25 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
1 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 16
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 6
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 2
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP3:00 0.0007
16:00 0.0011
IV-46
Gambar 4.29. Perbandingan Data Real Close dengan Hasil Uji Prediksi
Close Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 1 Oktober 2012
Tabel 4.26 Validasi data Real dengan data hasil uji prediksi variable Close
pada tanggal 2 Oktober 2012.
Tanggal Jam Data Real Close
Hasil Uji Prediksi Close dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan02-10-2012 00 1.2888 1.2888
01 1.2886 1.288602 1.2890 1.288803 1.2887 1.288804 1.2892 1.289105 1.2900 1.289806 1.2900 1.290107 1.2893 1.289608 1.2901 1.289809 1.2913 1.291
Pindah Tabel ke halaman IV-4510 1.2892 1.2897
Tanggal Jam Data Real Close
Hasil Uji Prediksi Close dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan11 1.2897 1.289612 1.2913 1.29113 1.2912 1.291214 1.2917 1.291715 1.2925 1.292216 1.2921 1.292417 1.2935 1.293418 1.2934 1.293219 1.2947 1.294820 1.2940 1.294221 1.2928 1.293322 1.2914 1.291823 1.2918 1.2919
IV-47
Pada hasil uji prediksi Close yang ditunjukkan pada Tabel 4.26 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
2 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 21
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 3
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 0
Pada tanggal 2 Oktober 2012 kondisi ke tiga tidak ada nilai tukar valuta
asing pada saat Close yang dipengaruhi oleh faktor fundamental.
IV-48
Gambar 4.30. Perbandingan Data Real Close dengan Hasil Uji Prediksi
Close Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 2 Oktober 2012
Tabel 4.27 Validasi data Real dengan data hasil uji prediksi variable Close
pada tanggal 3 Oktober 2012.
Tanggal Jam Data Real Close
Hasil Uji Prediksi Close dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan03-10-2012 00 1.2919 1.2919
01 1.2916 1.291602 1.2918 1.291703 1.2911 1.291104 1.2909 1.29105 1.2910 1.290806 1.2906 1.290707 1.2902 1.290108 1.2901 1.2909 1.2898 1.289910 1.2892 1.2892
Pindah Tabel ke halaman IV-4711 1.2912 1.2904
Tanggal Jam Data Real Close
Hasil Uji Prediksi Close dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan12 1.2916 1.291813 1.2925 1.292514 1.2904 1.29115 1.2904 1.290616 1.2900 1.290117 1.2898 1.289918 1.2901 1.290419 1.2908 1.290820 1.2908 1.290721 1.2903 1.290322 1.2899 1.290123 1.2902 1.2901
IV-49
Pada hasil uji prediksi Close yang ditunjukkan pada Tabel 4.27 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
3 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 22
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 1
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 1
Pada tanggal 3 Oktober 2012 kondisi ke tiga pada jam 11:00 dengan selisih
nilai tukar valuta asing pada saat Close data Real dangan uji prediksi adalah
0.0007 dipengaruhi oleh faktor fundamental.
IV-50
Gambar 4.31. Perbandingan Data Real Close dengan Hasil Uji Prediksi
Close Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 3 Oktober 2012
Tabel 4.28 Validasi data Real dengan data hasil uji prediksi variable Close
pada tanggal 4 Oktober 2012.
Tanggal Jam Data Real Close
Hasil Uji Prediksi Close dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan04-10-2012 00 1.2905 1.2903
01 1.2909 1.290702 1.2919 1.291703 1.2922 1.292104 1.2914 1.291605 1.2911 1.291306 1.2926 1.292307 1.2925 1.292508 1.2931 1.292809 1.2923 1.2925
Pindah Tabel ke halaman IV-4910 1.2946 1.294
Tanggal Jam Data Real Close
Hasil Uji Prediksi Close dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan11 1.2947 1.294612 1.2932 1.293713 1.2944 1.294114 1.2950 1.294915 1.2950 1.295116 1.2984 1.297717 1.2975 1.297918 1.3006 1.299819 1.3001 1.300120 1.3016 1.301321 1.3028 1.302622 1.3020 1.301923 1.3018 1.3016
IV-51
Pada hasil uji prediksi Close yang ditunjukkan pada Tabel 4.28 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
4 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 20
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 2
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 2
Adapun jam-jam yang dipengaruhi oleh faktor fundamental, yakni :
JAM SELISIH PIP16:00 0.000718:00 0.0007
IV-52
Gambar 4.32. Perbandingan Data Real Close dengan Hasil Uji Prediksi
Close Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 4 Oktober 2012
Tabel 4.29 Validasi data Real dengan data hasil uji prediksi variable Close
pada tanggal 5 Oktober 2012.
Tanggal Jam Data Real Close
Hasil Uji Prediksi Close dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan05-10-2012 00 1.3018 1.3018
01 1.3017 1.301802 1.3020 1.301903 1.3012 1.301404 1.3015 1.301505 1.3019 1.301806 1.3016 1.301607 1.3012 1.301408 1.3015 1.301509 1.3006 1.3009
Pindah Tabel ke halaman IV-5110 1.3002 1.3005
Tanggal Jam Data Real Close
Hasil Uji Prediksi Close dengan Metode Algoritma Genetika-Jaringan Saraf
Tiruan11 1.3005 1.300312 1.3001 1.300313 1.3006 1.300714 1.3008 1.300815 1.3006 1.300816 1.3019 1.301617 1.3057 1.30518 1.3059 1.305919 1.3056 1.305420 1.3051 1.305121 1.3030 1.303622 1.3033 1.303223 1.3029 1.3026
IV-53
Pada hasil uji prediksi Close yang ditunjukkan pada Tabel 4.29 terbagi ke dalam 3
kejadian berdasarkan selisih pip antara data Real dengan data uji prediksi tanggal
5 Oktober 2012 yakni :
Kondisi pertama selisih 0 – 3 pip terdapat sebanyak 22
Kondisi ke dua selisih 4 – 6 pip terdapat sebanyak 1
Kondisi ke tiga selisih > 6 pip terdapat sebanyak 1
Pada tanggal 5 Oktober 2012 kondisi ke tiga pada jam 17:00 dengan selisih
nilai tukar valuta asing pada saat Close data Real dangan uji prediksi adalah
0.0007 dipengaruhi oleh faktor fundamental.
IV-54
Gambar 4.33. Perbandingan Data Real Close dengan Hasil Uji Prediksi
Close Nilai Tukar Valuta Asing dengan Metode Algoritma
Genetika- Jaringan Saraf Tiruan Tanggal 5 Oktober 2012
Dari hasil uji prediksi yang dihasilkan masing-masing memiliki nilai
RMSE dan tingkat akurasi sebagai berikut :
Menghitung nilai RMSE pada Matlab[4]:
rmse=(sqrt(1/n*sum((tx-d).^2)))/(b-a);
Ket:
sqrt = fungsi akar
n = yaitu banyaknya jumlah data
sum = fungsi jumlah
tx = nilai aktual
d = nilai prediksi
a = nilai min dari nilai aktual
b = nilai max dari nilai aktual
Menghitung tingkat akurasi pada Matlab[4] :
sa=sum(aa)/n*100;
Ket :
sum = fungsi jumlah
aa = nilai yang benar ( selisih aktual dengan prediksi dalam range 0 – 3 pip )
n = jumlah data
IV-55
Tabel 4.30 RMSE (Root Mean Square Error) dan Persentase kebenaran (akurasi)
Variabel output Algoritma Genetika- Jaringan Saraf Tiruan untuk uji
prediksi selama 1 minggu mulai Tanggal 1 Oktober sampai dengan 5
Oktober 2012.
Tanggal 1-5 Oktober 2012 VARIABEL
OPEN HIGH LOW CLOSE
% 95,00% 59.17 % 50,00% 83.33 %
RMSE 0,0071 0.0261 0.0328 0.0119
Keterangan :
% = Persentase Kebenaran
RMSE = Root Maen Square Error
V-1
BAB V
PENUTUP
V.1. KESIMPULAN
Dari penelitian yang telah dilakukan dalam Prediksi Nilai Tukar
Mata Uang Asing Euro terhadap US Dollar pada variabel Open, High, Low
dan Close menggunakan Metode Genetic Algorithm-Neural Network dapat
disimpulkan bahwa :
1. Validasi hasil uji prediksi harga EUR/USD pada nilai harga Open,
High, Low dan Close dengan metode Genetic Algorithm-Neural
Network terhadap data real history time-frame H1 keempat variabel dari
Metarader memiliki nilai RMSE 0,0206 dengan tingkat akurasi
mencapai 71,46%. Sehingga untuk masing-masing variabel memiliki
nilai RMSE dan tingkat akurasi sebagai berikut: Open memiliki nilai
RMSE sebesar 0,0071 dengan tingkat akurasi sebesar 95,00%, High
memiliki nilai RMSE sebesar 0,0261 dengan tingkat akurasi 59,17%,
Low memiliki nilai RMSE sebesar 0,0328 dengan tingkat akurasi
sebesar 50,00% dan Close meiliki nilai RMSE sebesar 0,0119 dengan
tingkat akurasi sebesar 83,33%.
2. Akurasi prediksi nilai Open selalu tinggi dikarenakan prediksi nilai
Open selalu didasarkan pada nilai Close sebelumnya atau dengan kata
lain nilai Open pada jam berikutnya selalu melihat dari nilai Close di
jam sebelumnya.
V-2
3. Besarnya Ukuran Populasi dan Maksimal Generasi yang diberikan pada
metode Genetic Algorithm juga mempengaruhi hasil prediksi, sehingga
semakin besar ukuran populasi dan maksimal generasi maka hasil
prediksi yang didapatkan bisa lebih baik.
4. Waktu yang dibutuhkan untuk memprediksi cukup lama, hal ini
dikarenakan banyaknya inputan yang diproses tepatnya pada saat
pembentukan nilai fitness (Feed Forward Neural Network) pada
metode Genetic Algorithm. Jadi, semakin banyak inputan maka waktu
yang dibutuhkan pula semakin lama dan sebaliknya.
V.2. SARAN
1. Penelitian ini masih perlu dilakukan pengembangan, maka dari itu perlu
dilakukan penelitian lanjutan dengan menggunakan metode kepakaran
yang lain seperti PSO, NN-RBF, Ant Algorithm atau
mengkombinasikan metode-metode yang sudah diteliti dengan metode-
metode yang lain.
2. Penelitian ini hanya menggunakan komponen-komponen Genetic
Algorithm standar sehingga masih perlu dilakukan pengembangan,
maka dari itu perlu dilakukan penelitian lanjutan dengan memodifikasi
komponen-komponen Genetic Algorithm standar misalnya,
menggunakan n-point crossover, Tournament Selection, seleksi
Boltzman, Seleksi Kompetitif, atau menggunakan varian Genetic
V-3
Algorithm yang lain seperti Sub-Population, Grid-Based Crossover dan
Messy Encoding.
3. Penelitian ini sebaiknya untuk mendapatkan hasil dari latih Genetic
Algorithm yang lebih efisien dari pemanfaatan waktu pencarian FFNN,
disarankan untuk menggunakan komputer yang memiliki hardware
yang baik dengan kata lain yang tinggi, seperti processor yang tinggi
dan memory atau RAM yang tinggi.
4. Dari setiap hasil prediksi yang dihasilkan diharapkan untuk melihat
indikator-indikator lain yang berhubungan bisa dijadikan variabel input
yang akan mempengaruhi hasil uji prediksi nantinya.
DAFTAR PUSTAKA
[1] Frento T. Suharto, MM, MBA. “Mengungkap Rahasia Forex”. Jakarta. 2012
[2] Suyanto, ST, MSC. “Evolutionary Computation”. Bandung. 2008
[3] Suyanto, ST, MSC. “Artificial Intelligance”. Bandung. 2011
[4] Andarias Eno, ST. “Prediksi Curah Hujan Di Wilayah Makassar
Menggunakan Metode Genetic Algorithm-Neural Network”. Makassar.
2012
[5] Prabowo Pudjo Widodo dan Rahmadya Trias Handayanto. “Penerapan Soft Computing Matlab”. Bandung. 2012
[6] Gunaidi Abdia Away. “Matlab Programming”. Bandung. 2012
[7] A.P.Endrosiwi, http://www.kampusforex.com/KF_forexebook.pdf/ , diakses
pada tanggal 19 Maret 2012.
[8] http://www.scribd.com/doc/40059359/Algoritma-Genetika-Dalam-Matlab/ , diakses pada tanggal 20 Maret 2012.
[9] http://www.scribd.com/doc/51077594/Belajar-Singkat-Matlab/ , diakses pada tanggal 23 Maret 2012.
[10] http://rac.uii.ac.id/harvester/index.php/record/view/61456/ , diakses pada tanggal 5 April 2012 .
[11] http://www.scribd.com/doc/68596127/Pemrograman-Matlab/ , diakses pada tanggal 20 Juli 2012.
[12] http://www.youtube.com/Neural Network Stock Price Prediction in Excel/ , diakses pada tanggal 27 Mei 2012.
[13] Atma, Ardi, http://www.w3.org/Sitem Trading untuk Analisa Pasar
Forex.htm/, Jakarta 2011.
[14] Rasyid, Achmed, http://www.w3.org/investasi-%2524200-trading-forex-
real-menghasilkan-%252410-perhari-secara-continue%252c-dengan-modal-
investasi-anda-tidak-berkurang.html/ , 2012.
[15] Siang, JJ. “Jaringan Syaraf Tiruan Dan Pemrogramannya
Menggunakan Matlab”. Yogyakarta: Andi Yogyakarta. 2005.
L-1
FUNGSI-FUNGSI PADA GENETIC ALGORITHM
BangMatiriksITfunction [IM,TM] = BangMatrixIT(JumMasukan,JPmasukan); load dscopen g hfor ii=1:JumMasukan, IM(:,ii) = g(1:JPmasukan,ii); TM = h(1:JPmasukan,:); End
InisialisasiPopulasifunction Populasi = InisialisasiPopulasi(UkPop,JumGen); Populasi = fix(2*rand(UkPop,JumGen));
DekodekanKromosomfunction x = DekodekanKromosom(Kromosom,Nvar,Nbit,Ra,Rb); for ii=1:Nvar, x(ii) = 0; for jj=1:Nbit, x(ii) = x(ii) + Kromosom((ii-1)*Nbit+jj)*2^(-jj); end x(ii) = Rb + ((Ra-Rb)*x(ii));end
BinaryEvalIndfunction fitness = BinaryEvalInd(FFNNstruk,JumMasukan,JPmasukan,IM,TM); c = 1.0;n2 = JumMasukan^2; Wtemp = FFNNstruk(1:n2);for ii=1:JumMasukan, Wih(ii,:) = Wtemp((ii-1)*JumMasukan+1:ii*JumMasukan);end bih = FFNNstruk(n2+1:n2+JumMasukan);Who = FFNNstruk(n2+JumMasukan+1:n2+2*JumMasukan);bho = FFNNstruk((JumMasukan+1)^2);
L-2
SSE = 0;for evaluasi=1:JPmasukan, for ii=1:JumMasukan, SumWIb = 0; for jj=1:JumMasukan, SumWIb = SumWIb + (Wih(ii,jj) * IM(evaluasi,jj) + bih(jj)); end Xih(ii) = 1 / (1+exp(-c*SumWIb)); end SumWXb = 0; for jj=1:JumMasukan, SumWXb = SumWXb + (Who(jj) * Xih(jj) + bho); end Xho = 1 / (1+exp(-c*SumWXb)); SSE = SSE + (TM(evaluasi)-Xho)^2;end MSE = (1/JPmasukan * SSE);fitness = 1/MSE;
LinearFitnessRankingfunction LFR = LinearFitnessRanking(UkPop,Fitness,MaxF,MinF) [SF,IndF] = sort(Fitness); for rr=1:UkPop, LFR(IndF(UkPop-rr+1)) = MaxF-(MaxF-MinF)*((rr-1)/(UkPop-1));end
RouletteWheelfunction Pindex = RouletteWheel(UkPop,LinearFitness); JumFitness = sum(LinearFitness);KumulatifFitness = 0;RN = rand;ii = 1;while ii <= UkPop, KumulatifFitness = KumulatifFitness + LinearFitness(ii); if (KumulatifFitness/JumFitness) > RN, Pindex = ii; break; end ii = ii + 1;end
L-3
PindahSilangfunction Anak = PindahSilang(Bapak,Ibu,JumGen); TP = 1 + fix(rand*(JumGen-1)); Anak(1,:) = [Bapak(1:TP) Ibu(TP+1:JumGen)];Anak(2,:) = [Ibu(1:TP) Bapak(TP+1:JumGen)];
Mutasifunction MutKrom = Mutasi(Kromosom,JumGen,Pmutasi); MutKrom = Kromosom;for ii=1:JumGen, if (rand < Pmutasi), if Kromosom(ii)==0, MutKrom(ii) = 1; else MutKrom(ii) = 0; end endend
PEMBENTUKAN FEED FORWARD NEURAL NETWORK NILAI TUKAR VALUTA ASING DAN PELATIHAN PREDIKSI METODE GENETIC ALGORITHM clear all;close all;clc;x1 =xlsread('jam.xlsx',1,'C1:C120')';x2 =xlsread('jam.xlsx',1,'D1:D120')';x3 =xlsread('jam.xlsx',1,'E1:E120')';x4 =xlsread('jam.xlsx',1,'F1:F120')';input=[x1;x2;x3;x4];save INPUT inputload INPUT inputtx=xlsread('jam.xlsx',1,'C2:C121')';save OPEN txload OPEN txoutput=tx; a=min(min(input));b=max(max(input));p=[0.8*(input-a)/(b-a)+0.1];t=[0.8*(output-a)/(b-a)+0.1];g=p';h=t';save dscopen g hload dscopen g h[JPmasukan,JumMasukan]=size(g)
L-4
Nbit = 10; JumGen = Nbit*(JumMasukan+1)^2;Nvar = JumGen/Nbit; Rb = -10; Ra = 10; MinMSE = 0.0001; Fthreshold = 1/MinMSE; Bgraf = Fthreshold; UkPop = 200; Psilang = 0.9; Pmutasi = 0.03; MaxG = 4000; hfig = figure;hold ontitle('Algoritma Genetika dengan Binary Encoding untuk pelatihan FFNN')set(hfig, 'position', [50,50,600,400]);set(hfig, 'DoubleBuffer', 'on');axis([1 MaxG 0 Bgraf]);hbestplot1 = plot(1:MaxG,zeros(1,MaxG));hbestplot2 = plot(1:MaxG,zeros(1,MaxG));htext1 = text(0.6*MaxG,0.25*Bgraf,sprintf('Fitness terbaik: %7.6f', 0.0));htext2 = text(0.6*MaxG,0.20*Bgraf,sprintf('MSE: %7.6f', 0.0));htext3 = text(0.6*MaxG,0.15*Bgraf,sprintf('Ukuran populasi: %3.0f', 0.0));htext4 = text(0.6*MaxG,0.10*Bgraf,sprintf('Prob. Pindah Silang: %4.3f', 0.0));htext5 = text(0.6*MaxG,0.05*Bgraf,sprintf('Prob. Mutasi: %4.3f', 0.0));xlabel('Generasi');ylabel('Fitness');hold offdrawnow; [IM,TM] = BangMatrixIT(JumMasukan,JPmasukan); Populasi = InisialisasiPopulasi(UkPop,JumGen); for generasi=1:MaxG, FFNNstruk = DekodekanKromosom(Populasi(1,:),Nvar,Nbit,Ra,Rb); Fitness(1) = BinaryEvalInd(FFNNstruk,JumMasukan,JPmasukan,IM,TM); MaxF = Fitness(1); MinF = Fitness(1); IndeksIndividuTerbaik = 1; for ii=2:UkPop, FFNNstruk = DekodekanKromosom(Populasi(ii,:),Nvar,Nbit,Ra,Rb);
L-5
Fitness(ii) = BinaryEvalInd(FFNNstruk,JumMasukan,JPmasukan,IM,TM); if (Fitness(ii) > MaxF), MaxF = Fitness(ii); IndeksIndividuTerbaik = ii; FFNNterbaik = FFNNstruk; end if (Fitness(ii) <= MinF), MinF = Fitness(ii); end end MSE = 1/(MaxF); plotvector1 = get(hbestplot1,'YData'); plotvector1(generasi) = MaxF; set(hbestplot1,'YData',plotvector1); plotvector2 = get(hbestplot2,'YData'); set(hbestplot2,'YData',plotvector2); set(htext1,'String',sprintf('Fitness terbaik: %7.6f', MaxF)); set(htext2,'String',sprintf('MSE: %7.6f', MSE)); set(htext3,'String',sprintf('Ukuran populasi: %3.0f', UkPop)); set(htext4,'String',sprintf('Prob. Pindah Silang: %4.3f', Psilang)); set(htext5,'String',sprintf('Probabilitas Mutasi: %4.3f', Pmutasi)); drawnow if MaxF > Fthreshold, break; end TemPopulasi = Populasi; if mod(UkPop,2)==0, IterasiMulai = 3; TemPopulasi(1,:) = Populasi(IndeksIndividuTerbaik,:); TemPopulasi(2,:) = Populasi(IndeksIndividuTerbaik,:); TemPopulasi(3,:) = Populasi(IndeksIndividuTerbaik,:); TemPopulasi(4,:) = Populasi(IndeksIndividuTerbaik,:); else IterasiMulai = 2; TemPopulasi(1,:) = Populasi(IndeksIndividuTerbaik,:); end LinearFitness = LinearFitnessRanking(UkPop,Fitness,MaxF,MinF); for jj=IterasiMulai:2:UkPop, IP1 = RouletteWheel(UkPop,LinearFitness); IP2 = RouletteWheel(UkPop,LinearFitness); if (rand < Psilang),
L-6
Anak = PindahSilang(Populasi(IP1,:),Populasi(IP2,:),JumGen); TemPopulasi(jj,:) = Anak(1,:); TemPopulasi(jj+1,:) = Anak(2,:); else TemPopulasi(jj,:) = Populasi(IP1,:); TemPopulasi(jj+1,:) = Populasi(IP2,:); end end for kk=IterasiMulai:UkPop, TemPopulasi(kk,:) = Mutasi(TemPopulasi(kk,:),JumGen,Pmutasi); end Populasi = TemPopulasi; end FFNNterbaiksave FFNNterbaikOPEN.mat FFNNterbaiksaveas(gcf,'GAopen.fig'); c = 1.0;n2 = JumMasukan^2;FFNNstruk=FFNNterbaik;Wtemp = FFNNstruk(1:n2);for ii=1:JumMasukan, Wih(ii,:) = Wtemp((ii-1)*JumMasukan+1:ii*JumMasukan);end bih = FFNNstruk(n2+1:n2+JumMasukan);Who = FFNNstruk(n2+JumMasukan+1:n2+2*JumMasukan);bho = FFNNstruk((JumMasukan+1)^2); SSE = 0;for evaluasi=1:JPmasukan, for ii=1:JumMasukan, SumWIb = 0; for jj=1:JumMasukan, SumWIb = SumWIb + (Wih(ii,jj) * IM(evaluasi,jj) + bih(jj)); end Xih(ii) = 1 / (1+exp(-c*SumWIb)); end SumWXb = 0; for jj=1:JumMasukan, SumWXb = SumWXb + (Who(jj) * Xih(jj) + bho); end xtt(evaluasi) = (((1 / (1+exp(-c*SumWXb))-0.1)*(b-a)/0.8)+a)
L-7
endn=1:length (xtt);figure(1);plot(n,output,'r.-',n,xtt,'b.-');title('data real vs prediksi open');xlabel('waktu(jam)');ylabel('harga (eur/usd)');legend('data real','prediksi');save openGA output xttsaveas(gcf,'openGA.fig');
PELATIHAN FEED FORWARD NEURAL NETWORK NILAI TUKAR VALUTA ASING DAN PREDIKSI METODE NEURAL NETWORK-BACKPROPAGATION
clear all;close all;clc;%pembentukan pola masukan dan targetx1 =xlsread('jam.xlsx',1,'C1:C120')';x2 =xlsread('jam.xlsx',1,'D1:D120')';x3 =xlsread('jam.xlsx',1,'E1:E120')';x4 =xlsread('jam.xlsx',1,'F1:F120')';input=[x1;x2;x3;x4];save INPUT inputload INPUT inputload OPEN txoutput=tx; a=min(min(input));b=max(max(input));p=[0.8*(input-a)/(b-a)+0.1];t=[0.8*(output-a)/(b-a)+0.1];net = newff(minmax (p),(t), [4 1], {'logsig','logsig'},'trainrp');net= init (net)load FFNNterbaikOPENc=FFNNterbaiknet.IW{1,1}=[c(:,1:4); c(:,5:8); c(:,9:12);c(:,13:16);]d=c(:,17:20);net.b{1}=d'net.LW{2,1}=c(:,21:24);net.b{2}=c(:,25);net.trainParam.epochs=500;net.divideParam.trainRatio = 1; % Adjust as desirednet.divideParam.valRatio = 0; % Adjust as desirednet.divideParam.testRatio = 0; % Adjust as desired;net.trainParam.goal=10e-7;net.trainParam.lr=0.1;net.trainParam.mc=0.9;net.trainParam.min_grad=0.00000000009;[net,tr] = train(net,p,t);[y,Pf,Af,e,perf]=sim(net,p,[],[],t)y = sim (net,p)
L-8
xtt=(((y-0.1)*(b-a)/0.8)+a);hasil=[output' xtt'];y=output';per=y*99.99/100;sel=y-per;sen=y+sel;n=length(y);for i=1:n if xtt(i)==y(i)| xtt(i)<=sen(i)&xtt(i)>=per(i)|y(i)==0&xtt(i)<=2&xtt(i)>=-2 aa(i)=1; else aa(i)=0; endendaa=aa';sa=sum(aa)/n*100;ulangxtt=abs(xtt);%plotperform(tr)%.....grafik perbandingann=1:length(xtt);figure(1);plot(n,output,'r.-',n,xtt,'b.-');title('data real vs prediksi open');xlabel('waktu');ylabel('harga ');legend('data real','prediksi');saveas(gcf,'hasillatihFFNNopen.fig');save hasillatihFFNNopen input output xtt perf net sa;
PENGUJIAN PREDIKSI NILAI TUKAR VALUTA ASING
MENGGUNAKAN METODE GENETIC ALGORITHM- NEURAL NETWORK
clc; close all; clear all;x1 =xlsread('jam.xlsx',1,'C237')';x2 =xlsread('jam.xlsx',1,'C238')';x3 =xlsread('jam.xlsx',1,'C239')';x4 =xlsread('jam.xlsx',1,'C240')';px=[x1;x2;x3;x4];save input23 px load input23 px load hasillatihFFNNopen neta=min(min(px))b=max(max(px))p=[0.8*(px-a)/(b-a)+0.1]y=sim(net,p)xtt=(((y-0.1)*(b-a)/0.8)+a)save prediksiopen051012time23 xtt
% --- Tombol Load data ...
L-9
function pushbutton9_Callback(hObject, eventdata, handles)% hObject handle to pushbutton9 (see GCBO) % load data%membaca data yng ada pada data lama dan data baru[number1,string1,data1] = xlsread('db30.csv',1);a1 = cell2mat(data1(:,2));b1 = datestr(a1(:,1),'HH:MM');data1(:,2)= cellstr(b1);datalama.textdata(:,1)=data1(:,1);datalama.textdata(:,2)=data1(:,2);datalama.data(:,1)=data1(:,3);datalama.data(:,2)=data1(:,4);datalama.data(:,3)=data1(:,5);datalama.data(:,4)=data1(:,6); [number2,string2,data2] = xlsread('EURUSD30.csv',1);a2 = cell2mat(data2(:,2));b2 = datestr(a2(:,1),'HH:MM');data2(:,2)= cellstr(b2);databaru.textdata(:,1)=data2(:,1);databaru.textdata(:,2)=data2(:,2);databaru.data(:,1)=data2(:,3);databaru.data(:,2)=data2(:,4);databaru.data(:,3)=data2(:,5);databaru.data(:,4)=data2(:,6); %mengambil data tanggal dan jam yg ada pada data lama dan data barutgl_akhir = strcat(datalama.textdata(end,1),{' '},strcat(datalama.textdata(end,2)));tgl_baru = strcat(databaru.textdata(:,1),{' '},strcat(databaru.textdata(:,2))); %mencari posisi data terakhir dari data lama di data baruposisi = strmatch(tgl_akhir, tgl_baru); %mengambil data terbaru lalu input ke data lama berdasarkan tanggal terakhir di data lamatglbaru = databaru.textdata(posisi+1:end,1);jambaru = databaru.textdata(posisi+1:end,2);openbaru = databaru.data(posisi+1:end,1);highbaru = databaru.data(posisi+1:end,2);lowbaru = databaru.data(posisi+1:end,3);closebaru = databaru.data(posisi+1:end,4); t = length(datalama.textdata);d = length(datalama.data); for i=1:length(tglbaru) datalama.textdata(i+t,1)=tglbaru(i);
L-10
datalama.textdata(i+t,2)=jambaru(i); datalama.data(i+d,1)=openbaru(i); datalama.data(i+d,2)=highbaru(i); datalama.data(i+d,3)=lowbaru(i); datalama.data(i+d,4)=closebaru(i);end open = datalama.data(end-7:end-1,1);high = datalama.data(end-7:end-1,2);low = datalama.data(end-7:end-1,3);close = datalama.data(end-7:end-1,4); open2 = datalama.data(end-6:end,1);high2 = datalama.data(end-6:end,2);low2 = datalama.data(end-6:end,3);close2 = datalama.data(end-6:end,4); handles.open = cell2mat(open);handles.high = cell2mat(high);handles.low = cell2mat(low);handles.close = cell2mat(close); handles.open2 = cell2mat(open2);handles.high2 = cell2mat(high2);handles.low2 = cell2mat(low2);handles.close2 = cell2mat(close2); openp = datalama.data(end-6:end,1);highp = datalama.data(end-6:end,2);lowp = datalama.data(end-6:end,3);closep = datalama.data(end-6:end,4); handles.openp = cell2mat(openp);handles.highp = cell2mat(highp);handles.lowp = cell2mat(lowp);handles.closep = cell2mat(closep); openx = datalama.data(end,1);highx = datalama.data(end,2);lowx = datalama.data(end,3);closex = datalama.data(end,4); handles.openx = cell2mat(openx);handles.highx = cell2mat(highx);handles.lowx = cell2mat(lowx);handles.closex = cell2mat(closex); % status data terbaru yang diload apabila telah selesai set(handles.text8,'String','Status : Done');guidata(hObject, handles);
L-11
% --- Tombol Latih GA dan NN ...function pushbutton10_Callback(hObject, eventdata, handles)% latih GA dan NN% GA% eksekusi m-file pencarian FFNN masing-masing variabelffnnterbaikopen = FFNNopen(handles.open,handles.high,handles.low,handles.close, handles.open2);ffnnterbaikhigh = FFNNhigh(handles.open,handles.high,handles.low,handles.close, handles.high2);ffnnterbaiklow = FFNNlow(handles.open,handles.high,handles.low,handles.close, handles.low2);ffnnterbaikclose = FFNNclose(handles.open,handles.high,handles.low,handles.close, handles.close2);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Memanggil fungsi-fungsi berikut :% 1. BangMatrixIT% 2. InisialisasiPopulasi% 3. DekodekanKromosom% 4. BinaryEvalind% 5. LinearFitnessRanking% 6. RouletteWheel% 7. PindahSilang% 8. Mutasi
function FFNNterbaik = FFNN...(open,high,low,close,...2)
% membaca input dan targetinput=[open';high';low';close'];output=...2';
% proses normalisasia=min(min(input)); %nilai terkecil dari inputb=max(max(input)); %nilai terbesar dari input p=[0.8*(input-a)/(b-a)+0.1];t=[0.8*(output-a)/(b-a)+0.1];g=p';h=t';save dsC... g hload dsC... g h[JPmasukan,JumMasukan]=size(g)%Jumlah pola masukan & jumlah masukanNbit = 10; %Jumlah bit yang mengkodekan satu variabel JumGen = Nbit*(JumMasukan+1)^2; %Jumlah Gen dalam KromosomNvar = JumGen/Nbit; %Jumlah variable pada fungsi yang dilatih Rb = -10; %Batas bawah interval
L-12
Ra = 10; %Batas atas interval MinMSE = 0.0001; %batasan performanceFthreshold = 1/MinMSE; %Threshold untuk nilai fitnes Bgraf = Fthreshold; %untuk menangani tampilan grafis UkPop = 200; %jumlah kromosom dalam populasi Psilang = 0.9; %probabilitas pindah silang Pmutasi = 0.03; %probabilitas mutasi MaxG = 1500; %jumlah generasi %inisialisasi grafishfig = figure;hold ontitle('Algoritma Genetika dengan Binary Encoding untuk pelatihan FFNN')set(hfig, 'position', [50,50,600,400]);set(hfig, 'DoubleBuffer', 'on');axis([1 MaxG 0 Bgraf]);hbestplot1 = plot(1:MaxG,zeros(1,MaxG));hbestplot2 = plot(1:MaxG,zeros(1,MaxG));htext1 = text(0.6*MaxG,0.25*Bgraf,sprintf('Fitness terbaik: %7.6f', 0.0));htext2 = text(0.6*MaxG,0.20*Bgraf,sprintf('MSE: %7.6f', 0.0));htext3 = text(0.6*MaxG,0.15*Bgraf,sprintf('Ukuran populasi: %3.0f', 0.0));htext4 = text(0.6*MaxG,0.10*Bgraf,sprintf('Prob. Pindah Silang: %4.3f', 0.0));htext5 = text(0.6*MaxG,0.05*Bgraf,sprintf('Prob. Mutasi: %4.3f', 0.0));xlabel('Generasi');ylabel('Fitness');hold offdrawnow; %pemanggilan fungsi BangMatrixIT%bangkitkan matrix Input dan Target untuk pelatihan FFNN[IM,TM] = BangMatrixIT(JumMasukan,JPmasukan, g, h);
%pemanggilan fungsi InisialisasiPopulasiPopulasi = InisialisasiPopulasi(UkPop,JumGen);
%loop evolusi for generasi=1:MaxG,%pemanggilan funsi DekodekanKromosom & BinaryEvalInd
FFNNstruk = DekodekanKromosom(Populasi(1,:),Nvar,Nbit,Ra,Rb); Fitness(1) = BinaryEvalInd(FFNNstruk,JumMasukan,JPmasukan,IM,TM); MaxF = Fitness(1); MinF = Fitness(1); IndeksIndividuTerbaik = 1; for ii=2:UkPop,
L-13
FFNNstruk = DekodekanKromosom(Populasi(ii,:),Nvar,Nbit,Ra,Rb); Fitness(ii) = BinaryEvalInd(FFNNstruk,JumMasukan,JPmasukan,IM,TM); if (Fitness(ii) > MaxF), MaxF = Fitness(ii); IndeksIndividuTerbaik = ii; FFNNterbaik = FFNNstruk; end if (Fitness(ii) <= MinF), MinF = Fitness(ii); end end
%FFNNstruk yakni sebuah individu yang berisi 16 nilai real (mempresentasikan sebuah struktur FFNN yang terdiri dari 4 neuron),
%JumMasukan yakni jumlah masukan yang berupa variabel x,
%JPmasukan yakni jumlah pola masukan yang dapat dibentuk dari jumlah variable,
%IM yakni matriks Input berukuran JPmasukan x JumMasukan,%TM yakni matriks Target berukuran JPmasukan x 1,
MSE = 1/(MaxF); %tingkat error dari 1 dibagi nilai fitness maksimal %penanganan grafis plotvector1 = get(hbestplot1,'YData'); plotvector1(generasi) = MaxF; set(hbestplot1,'YData',plotvector1); plotvector2 = get(hbestplot2,'YData'); set(hbestplot2,'YData',plotvector2); set(htext1,'String',sprintf('Fitness terbaik: %7.6f', MaxF)); set(htext2,'String',sprintf('MSE: %7.6f', MSE)); set(htext3,'String',sprintf('Ukuran populasi: %3.0f', UkPop)); set(htext4,'String',sprintf('Prob. Pindah Silang: %4.3f', Psilang)); set(htext5,'String',sprintf('Probabilitas Mutasi: %4.3f', Pmutasi)); drawnow if MaxF > Fthreshold, break; end TemPopulasi = Populasi;%elitisme%buat satu kromosom terbaik jika ukuran populasi ganjil%buat satu kromosom terbaik jika ukuran populasi genap
L-14
if mod(UkPop,2)==0, %ukuran populasi genap IterasiMulai = 3; TemPopulasi(1,:) = Populasi(IndeksIndividuTerbaik,:); TemPopulasi(2,:) = Populasi(IndeksIndividuTerbaik,:); TemPopulasi(3,:) = Populasi(IndeksIndividuTerbaik,:); TemPopulasi(4,:) = Populasi(IndeksIndividuTerbaik,:); else %ukuran populasi ganjil IterasiMulai = 2; TemPopulasi(1,:) = Populasi(IndeksIndividuTerbaik,:); end
%pemanggilan fungsi LinearFitnessRanking LinearFitness = LinearFitnessRanking(UkPop,Fitness,MaxF,MinF);%pemanggilan fungsi RouletteWheel & PindahSilang for jj=IterasiMulai:2:UkPop, IP1 = RouletteWheel(UkPop,LinearFitness); IP2 = RouletteWheel(UkPop,LinearFitness); if (rand < Psilang), Anak = PindahSilang(Populasi(IP1,:),Populasi(IP2,:),JumGen); TemPopulasi(jj,:) = Anak(1,:); TemPopulasi(jj+1,:) = Anak(2,:); else TemPopulasi(jj,:) = Populasi(IP1,:); TemPopulasi(jj+1,:) = Populasi(IP2,:); end end
%pemanggilan fungsi mutasi%mutasi dilakukan pada semua kromosom for kk=IterasiMulai:UkPop, TemPopulasi(kk,:) = Mutasi(TemPopulasi(kk,:),JumGen,Pmutasi); end %Generaltional Replacement: mengganti semua kromosom sekaligus Populasi = TemPopulasi; end FFNNterbaiksave FFNNterbaik... .mat FFNNterbaiksaveas(gcf,'GA... .fig');
%Pengujian FFNN hasil pelatihan%load struktur FFNN terbaik hasil pelatihan%mengevaluasi individu sehingga didapatkan nilai fitness-nyac = 1.0;n2 = JumMasukan^2;FFNNstruk=FFNNterbaik;Wtemp = FFNNstruk(1:n2);for ii=1:JumMasukan,
L-15
Wih(ii,:)= Wtemp((ii-1)*JumMasukan+1:ii*JumMasukan);%bobot dari input layer ke hidden layerend bih = FFNNstruk(n2+1:n2+JumMasukan); bias dari hidden layer ke output layerWho = FFNNstruk(n2+JumMasukan+1:n2+2*JumMasukan); %bobot dari hidden layer ke output layerbho = FFNNstruk((JumMasukan+1)^2); %bias dari hidden layer ke output layer SSE = 0;for evaluasi=1:JPmasukan, for ii=1:JumMasukan, SumWIb = 0; for jj=1:JumMasukan, SumWIb = SumWIb + (Wih(ii,jj) * IM(evaluasi,jj) + bih(jj)); end Xih(ii) = 1 / (1+exp(-c*SumWIb)); end SumWXb = 0; for jj=1:JumMasukan, SumWXb = SumWXb + (Who(jj) * Xih(jj) + bho); end xtt(evaluasi) = (((1 / (1+exp(-c*SumWXb))-0.1)*(b-a)/0.8)+a) endn=1:length (xtt);figure(1);plot(n,output,'r.-',n,xtt,'b.-');title('data real vs prediksi open');xlabel('waktu(jam)');ylabel('harga (eur/usd)');legend('data real','prediksi');save ...GA0 output xttsaveas(gcf,'....GA0.fig'); return
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NN% eksekusi m-file Pelatihan FFNN yang dihasilkan sebelumnya untuk menghasilkan sebuah net masing-masing variabelnetopen = LatihFFNNopen(handles.open,handles.high,handles.low,handles.close,ffnnterbaikopen);nethigh = LatihFFNNhigh(handles.open,handles.high,handles.low,handles.close,ffnnterbaikhigh);
L-16
netlow = LatihFFNNlow(handles.open,handles.high,handles.low,handles.close,ffnnterbaiklow);netclose = LatihFFNNclose(handles.open,handles.high,handles.low,handles.close,ffnnterbaikclose);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%menyimpan net yang dihasilkan masing-masing variabelhandles.netopen = netopen;handles.nethigh = nethigh;handles.netlow = netlow;handles.netclose = netclose;guidata(hObject, handles);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pemanggilan fungsi pelatihan FFNN masing-masing variabelfunction net = LatihFFNN...(open,high,low,close,...2,FFNNterbaik);input=[open';high';low';close'];output=...2'; a=min(min(input));b=max(max(input));p=[0.8*(input-a)/(b-a)+0.1];t=[0.8*(output-a)/(b-a)+0.1];net = newff(minmax (p),(t), [4 1], {'logsig','logsig'},'trainrp');%trainrpnet= init (net)c=FFNNterbaik%penentuan bobot dan bias berdasarkan jumlah masukannet.IW{1,1}=[c(:,1:4); c(:,5:8); c(:,9:12);c(:,13:16);]%16 buah bobot dari input layer ke hidden layerd=c(:,17:20); net.b{1}=d' %4 buah bias dari input layer ke hidden layernet.LW{2,1}=c(:,21:24); %4 buah bobot dari hidden layer ke output layernet.b{2}=c(:,25); %1 buah bias dari hidden layer ke output layer net.trainParam.epochs=500; %perulangan iterasi eksekusi hingga mendekati target errornet.divideParam.trainRatio = 1; % Adjust as desirednet.divideParam.valRatio = 0; % Adjust as desirednet.divideParam.testRatio = 0; % Adjust as desired;net.trainParam.goal=10e-7; %target error yang ingin dicapainet.trainParam.lr=0.1;net.trainParam.mc=0.9;net.trainParam.min_grad=0.00000000009;[net,tr] = train(net,p,t); %melatih net terhadap input dan output[y,Pf,Af,e,perf]=sim(net,p,[],[],t)y = sim (net,p) %simulasikan net terhadap masukanxtt=(((y-0.1)*(b-a)/0.8)+a); %denormalisasihasil=[output' xtt'];y=output';%range untuk nilai yang dicari berdasarkan target
L-17
per=y*99.99/100; sel=y-per;sen=y+sel; n=length(y);for i=1:n if xtt(i)==y(i)| xtt(i)<=sen(i)&xtt(i)>=per(i)|y(i)==0&xtt(i)<=2&xtt(i)>=-2 aa(i)=1; else aa(i)=0; endendaa=aa'; %nilai-nilai yang termasuk dalam ketentuansa=sum(aa)/n*100; %tingkat akurasi dari hasil yang didapatkanulang %memanggil fungsi perulangan hingga mendapatkan tingkat akurasi dan mendekati target error yang ingin dicapaixtt=abs(xtt);%plotperform(tr)%.....grafik perbandingann=1:length(xtt);figure(1);plot(n,output,'r.-',n,xtt,'b.-');title('data real vs prediksi open');xlabel('waktu');ylabel('harga ');legend('data real','prediksi'); return
% --- Tombol Prediksi ...function pushbutton11_Callback(hObject, eventdata, handles)% hObject handle to pushbutton11 (see GCBO)% PREDIKSI% load 1 nilai terbaru untuk masing-masing variabelopen =handles.openx;high =handles.highx;low =handles.lowx;close =handles.closex; % memanggil net yang sebelumnya telah disimpannetopen = handles.netopen;nethigh = handles.nethigh;netlow = handles.netlow;netclose = handles.netclose; % eksekusi dari input dengan net masing-masing variabelxttopen = prediksiFFNNopen(netopen,open,high,low,close);xtthigh = prediksiFFNNhigh(nethigh,open,high,low,close);xttlow = prediksiFFNNlow(netlow,open,high,low,close);xttclose = prediksiFFNNclose(netclose,open,high,low,close); % menyimpan data hasil prediksi masing-masing variabelasd =[xttopen xtthigh xttlow xttclose];
L-18
% tambah baris baru% menampilkan hasildb = get(handles.uitable3,'Data');k = size(db,1)+1;if k ==1 newdb = num2cell(asd);else newdb = db;endnewdb{k,1} = xttopen;newdb{k,2} = xtthigh;newdb{k,3} = xttlow;newdb{k,4} = xttclose;set(handles.uitable3,'Data',newdb);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Tabel 4.1 Nilai-nilai variabel input Open, High, Low dan Close Tanggal 24 Oktober sampai dengan 28 Oktober 2012
Tanggal Jam Close High Low Open24-10-2012 00 1.298 1.299 1.2976 1.2976
01 1.2973 1.2979 1.2965 1.297902 1.2966 1.2977 1.2966 1.297303 1.2972 1.2979 1.2965 1.296604 1.2934 1.2973 1.293 1.297305 1.2938 1.2944 1.2927 1.293406 1.2948 1.2953 1.2933 1.293807 1.2945 1.2952 1.2944 1.294908 1.2946 1.2954 1.2939 1.294509 1.2946 1.2949 1.2929 1.294610 1.2953 1.2972 1.2942 1.294611 1.2905 1.2954 1.2896 1.295312 1.291 1.2916 1.2902 1.290413 1.2905 1.2912 1.2898 1.291114 1.2921 1.2935 1.2904 1.290515 1.2905 1.2923 1.289 1.292116 1.2911 1.2917 1.29 1.290517 1.2915 1.292 1.2897 1.291118 1.2909 1.2916 1.2903 1.291519 1.2914 1.2914 1.2906 1.290920 1.2919 1.2928 1.2911 1.291421 1.2934 1.2934 1.2918 1.291922 1.2926 1.2936 1.2924 1.293423 1.293 1.2932 1.2925 1.2926
L-19
Tanggal Jam Close High Low Open25-10-2012 00 1.293 1.2933 1.2928 1.293
01 1.2931 1.2932 1.2928 1.29302 1.294 1.2943 1.2929 1.293103 1.2939 1.2943 1.2932 1.29404 1.2939 1.2943 1.2936 1.293905 1.2947 1.2952 1.2939 1.293906 1.2935 1.2947 1.2934 1.294707 1.2937 1.294 1.2931 1.293508 1.2899 1.294 1.2895 1.293609 1.2902 1.2918 1.2886 1.289910 1.29 1.2925 1.2892 1.290211 1.2908 1.2917 1.2895 1.2912 1.2897 1.2918 1.2892 1.290813 1.2907 1.2916 1.2891 1.289714 1.2931 1.2937 1.2906 1.290715 1.2956 1.2966 1.2931 1.293216 1.2943 1.2964 1.2941 1.295617 1.2962 1.2968 1.2942 1.294318 1.2944 1.297 1.2941 1.296219 1.295 1.2955 1.2941 1.294420 1.2947 1.2958 1.2945 1.29521 1.2926 1.2948 1.2924 1.294722 1.2905 1.2927 1.2905 1.292623 1.2897 1.291 1.2897 1.2905
Tanggal Jam Close High Low Open26-10-2012 00 1.2904 1.2908 1.2897 1.2897
01 1.2899 1.2905 1.2896 1.290402 1.2898 1.2902 1.2895 1.289903 1.2911 1.2911 1.2895 1.289804 1.2906 1.2912 1.2902 1.291105 1.29 1.291 1.2899 1.290506 1.2899 1.2906 1.2898 1.2907 1.2872 1.29 1.2863 1.289908 1.2868 1.2879 1.2866 1.287209 1.2869 1.2876 1.2856 1.286810 1.2874 1.2876 1.2861 1.286811 1.2866 1.2875 1.2847 1.287412 1.2865 1.2888 1.2864 1.286613 1.2859 1.2871 1.2857 1.286514 1.2849 1.2863 1.2842 1.28615 1.2857 1.286 1.2837 1.2849
L-20
16 1.285 1.2863 1.2842 1.285717 1.2839 1.2865 1.2837 1.28518 1.2853 1.2858 1.2835 1.28419 1.2862 1.2865 1.2852 1.285420 1.2855 1.2866 1.2854 1.286221 1.2859 1.286 1.2852 1.285522 1.2864 1.2873 1.2854 1.285923 1.2871 1.2872 1.2864 1.2864
Tanggal Jam Close High Low Open27-10-2012 00 1.2873 1.2874 1.2867 1.2872
01 1.2873 1.2875 1.287 1.287302 1.2877 1.2885 1.2871 1.287403 1.287 1.2878 1.2866 1.287704 1.2884 1.2887 1.2869 1.286905 1.2878 1.2891 1.2873 1.288506 1.2879 1.2879 1.2873 1.287807 1.2879 1.2881 1.2874 1.287908 1.2894 1.2897 1.2878 1.287909 1.2888 1.2899 1.2879 1.289410 1.2885 1.2893 1.2874 1.288811 1.2876 1.2886 1.2863 1.288512 1.2853 1.2877 1.2845 1.287613 1.2863 1.2869 1.2844 1.285314 1.2858 1.2879 1.2856 1.286315 1.2879 1.2891 1.2856 1.285816 1.2876 1.288 1.2861 1.287917 1.2861 1.2877 1.2846 1.287618 1.2873 1.2875 1.2828 1.286119 1.2895 1.2904 1.2871 1.287220 1.2915 1.2922 1.2884 1.289521 1.2915 1.2928 1.2913 1.291522 1.2911 1.2918 1.291 1.291523 1.2912 1.2915 1.2909 1.2911
Tanggal Jam Close High Low Open28-10-2012 00 1.2915 1.2917 1.291 1.2912
01 1.291 1.2915 1.291 1.291402 1.2912 1.2914 1.291 1.29103 1.2918 1.2919 1.2907 1.291204 1.2919 1.2922 1.2908 1.291905 1.2936 1.2942 1.2917 1.291906 1.293 1.2941 1.2929 1.293607 1.2933 1.2936 1.2929 1.293
L-21
08 1.2929 1.2935 1.2925 1.293309 1.2926 1.294 1.2924 1.292910 1.2929 1.2944 1.2921 1.292611 1.2944 1.2947 1.2925 1.292912 1.2941 1.2959 1.2936 1.294413 1.2921 1.2948 1.2921 1.29414 1.2932 1.2932 1.2915 1.292115 1.2928 1.2939 1.291 1.293216 1.2894 1.2937 1.2891 1.292817 1.2863 1.29 1.2847 1.289418 1.2855 1.2869 1.2838 1.286219 1.2877 1.289 1.2855 1.285520 1.2863 1.2878 1.2852 1.287721 1.2851 1.2866 1.285 1.286222 1.2849 1.2855 1.2841 1.285123 1.2857 1.2859 1.2842 1.2849
Tabel 4.2 Perbandingan Data Real Open dengan Hasil Latih Open Nilai TukarValuta Asing dengan Metode Genetic Algorithm
Tanggal Jam Data Real Open Hasil FFNN Open dengan Metode Genetic Algorithm
24-10-2012 00 1.2976 1.296301 1.2979 1.296402 1.2973 1.296103 1.2966 1.295904 1.2973 1.296105 1.2934 1.293606 1.2938 1.29407 1.2949 1.294808 1.2945 1.294609 1.2946 1.294710 1.2946 1.294611 1.2953 1.295412 1.2904 1.289513 1.2911 1.29114 1.2905 1.290315 1.2921 1.2927
L-22
16 1.2905 1.290517 1.2911 1.291118 1.2915 1.291619 1.2909 1.290820 1.2914 1.291121 1.2919 1.292222 1.2934 1.293523 1.2926 1.2929
Tanggal Jam Data Real Open Hasil FFNN Open dengan Metode Genetic Algorithm
25-10-2012 00 1.293 1.29301 1.293 1.293102 1.2931 1.293103 1.294 1.294104 1.2939 1.29405 1.2939 1.29406 1.2947 1.294707 1.2935 1.293808 1.2936 1.293709 1.2899 1.289810 1.2902 1.290411 1.29 1.290412 1.2908 1.290913 1.2897 1.289914 1.2907 1.290715 1.2932 1.293516 1.2956 1.295517 1.2943 1.294718 1.2962 1.295719 1.2944 1.294820 1.295 1.29521 1.2947 1.294822 1.2926 1.293223 1.2905 1.2907
Tanggal Jam Data Real Open Hasil FFNN Open dengan Metode Genetic Algorithm
26-10-2012 00 1.2897 1.289601 1.2904 1.290102 1.2899 1.2895
L-23
03 1.2898 1.289304 1.2911 1.290905 1.2905 1.290406 1.29 1.289807 1.2899 1.289508 1.2872 1.286809 1.2868 1.286710 1.2868 1.286711 1.2874 1.287112 1.2866 1.286413 1.2865 1.286714 1.286 1.286215 1.2849 1.285616 1.2857 1.286117 1.285 1.285618 1.284 1.285219 1.2854 1.285920 1.2862 1.286321 1.2855 1.285922 1.2859 1.286123 1.2864 1.2865
Tanggal Jam Data Real Open Hasil FFNN Open dengan Metode Genetic Algorithm
27-10-2012 00 1.2872 1.286901 1.2873 1.286902 1.2874 1.28703 1.2877 1.287404 1.2869 1.286805 1.2885 1.28806 1.2878 1.287607 1.2879 1.287408 1.2879 1.287409 1.2894 1.28910 1.2888 1.288511 1.2885 1.288112 1.2876 1.287213 1.2853 1.285414 1.2863 1.286415 1.2858 1.286216 1.2879 1.287817 1.2876 1.2872
L-24
18 1.2861 1.28619 1.2872 1.28720 1.2895 1.289521 1.2915 1.291822 1.2915 1.291823 1.2911 1.291
Tanggal Jam Data Real Open Hasil FFNN Open dengan Metode Genetic Algorithm
28-10-2012 00 1.2912 1.29101 1.2914 1.291302 1.291 1.290803 1.2912 1.290904 1.2919 1.291805 1.2919 1.291906 1.2936 1.293907 1.293 1.293308 1.2933 1.293409 1.2929 1.293110 1.2926 1.293111 1.2929 1.293412 1.2944 1.294513 1.294 1.294514 1.2921 1.292915 1.2932 1.293316 1.2928 1.293217 1.2894 1.289418 1.2862 1.285519 1.2855 1.285820 1.2877 1.287621 1.2862 1.286222 1.2851 1.285723 1.2849 1.2857
Tabel 4.3 Perbandingan Data Real High dengan Hasil Latih High Nilai TukarValuta Asing dengan Metode Genetic Algorithm
L-25
Tanggal Jam Data Real High Hasil FFNN High dengan Metode Genetic Algorithm
24-10-2012 00 1.299 1.29701 1.2979 1.29702 1.2977 1.296903 1.2979 1.296604 1.2973 1.296805 1.2944 1.29506 1.2953 1.294907 1.2952 1.295708 1.2954 1.295309 1.2949 1.295510 1.2972 1.295511 1.2954 1.296212 1.2916 1.291813 1.2912 1.291714 1.2935 1.291115 1.2923 1.293516 1.2917 1.291417 1.292 1.291918 1.2916 1.292419 1.2914 1.291520 1.2928 1.291921 1.2934 1.29322 1.2936 1.294423 1.2932 1.2936
Tanggal Jam Data Real High Hasil FFNN High dengan Metode Genetic Algorithm
25-10-2012 00 1.2933 1.293801 1.2932 1.293802 1.2943 1.293803 1.2943 1.29504 1.2943 1.294805 1.2952 1.294806 1.2947 1.295507 1.294 1.294608 1.294 1.294509 1.2918 1.291110 1.2925 1.2912
L-26
11 1.2917 1.291112 1.2918 1.291713 1.2916 1.290614 1.2937 1.291515 1.2966 1.294516 1.2964 1.296417 1.2968 1.295618 1.297 1.296619 1.2955 1.295720 1.2958 1.295821 1.2948 1.295622 1.2927 1.29423 1.291 1.2914
Tanggal Jam Data Real High Hasil FFNN High dengan Metode Genetic Algorithm
26-10-2012 00 1.2908 1.290201 1.2905 1.290802 1.2902 1.290203 1.2911 1.2904 1.2912 1.291805 1.291 1.29106 1.2906 1.290407 1.29 1.290208 1.2879 1.288309 1.2876 1.287510 1.2876 1.287811 1.2875 1.28812 1.2888 1.287813 1.2871 1.287614 1.2863 1.287115 1.286 1.286916 1.2863 1.287417 1.2865 1.286918 1.2858 1.286719 1.2865 1.287320 1.2866 1.287221 1.286 1.286922 1.2873 1.286923 1.2872 1.2875
L-27
Tanggal Jam Data Real High Hasil FFNN High dengan Metode Genetic Algorithm
27-10-2012 00 1.2874 1.287601 1.2875 1.287702 1.2885 1.287603 1.2878 1.288204 1.2887 1.287605 1.2891 1.288906 1.2879 1.288407 1.2881 1.288108 1.2897 1.288109 1.2899 1.289910 1.2893 1.289311 1.2886 1.28912 1.2877 1.288313 1.2869 1.287214 1.2879 1.287715 1.2891 1.287216 1.288 1.289117 1.2877 1.288218 1.2875 1.287619 1.2904 1.289220 1.2922 1.290521 1.2928 1.292822 1.2918 1.292523 1.2915 1.2917
Tanggal Jam Data Real High Hasil FFNN High dengan Metode Genetic Algorithm
28-10-2012 00 1.2917 1.291701 1.2915 1.292102 1.2914 1.291503 1.2919 1.291604 1.2922 1.292605 1.2942 1.292706 1.2941 1.294907 1.2936 1.294108 1.2935 1.294209 1.294 1.293910 1.2944 1.2938
L-28
11 1.2947 1.294212 1.2959 1.295413 1.2948 1.295414 1.2932 1.293615 1.2939 1.294216 1.2937 1.29417 1.29 1.290618 1.2869 1.287919 1.289 1.287420 1.2878 1.288921 1.2866 1.287522 1.2855 1.286823 1.2859 1.2867
Tabel 4.4 Perbandingan Data Real Low dengan Hasil Latih Low Nilai TukarValuta Asing dengan Metode Genetic Algorithm
Tanggal Jam Data Real Low Hasil FFNN Low dengan Metode Genetic Algorithm
24-10-2012 00 1.2976 1.29601 1.2965 1.295702 1.2966 1.295903 1.2965 1.295404 1.293 1.295405 1.2927 1.292606 1.2933 1.292907 1.2944 1.293608 1.2939 1.29409 1.2929 1.293810 1.2942 1.29411 1.2896 1.293612 1.2902 1.288513 1.2898 1.2914 1.2904 1.289915 1.289 1.290416 1.29 1.289717 1.2897 1.290118 1.2903 1.290519 1.2906 1.290320 1.2911 1.290521 1.2918 1.2908
L-29
22 1.2924 1.292123 1.2925 1.2922
Tanggal Jam Data Real Low Hasil FFNN Low dengan Metode Genetic Algorithm
25-10-2012 00 1.2928 1.292201 1.2928 1.292502 1.2929 1.292603 1.2932 1.292904 1.2936 1.293405 1.2939 1.293306 1.2934 1.293507 1.2931 1.293308 1.2895 1.29309 1.2886 1.288810 1.2892 1.289111 1.2895 1.28912 1.2892 1.289713 1.2891 1.28914 1.2906 1.289515 1.2931 1.29116 1.2941 1.293317 1.2942 1.293718 1.2941 1.294319 1.2941 1.293720 1.2945 1.29421 1.2924 1.29422 1.2905 1.292423 1.2897 1.2901
Tanggal Jam Data Real Low Hasil FFNN Low dengan Metode Genetic Algorithm
26-10-2012 00 1.2897 1.289101 1.2896 1.289502 1.2895 1.289203 1.2895 1.289104 1.2902 1.289905 1.2899 1.2906 1.2898 1.289407 1.2863 1.289208 1.2866 1.2855
L-30
09 1.2856 1.285610 1.2861 1.285311 1.2847 1.285912 1.2864 1.284813 1.2857 1.285814 1.2842 1.284915 1.2837 1.284316 1.2842 1.284517 1.2837 1.284318 1.2835 1.284119 1.2852 1.284420 1.2854 1.28521 1.2852 1.284622 1.2854 1.284723 1.2864 1.2852
Tanggal Jam Data Real Low Hasil FFNN Low dengan Metode Genetic Algorithm
27-10-2012 00 1.2867 1.285801 1.287 1.285902 1.2871 1.286103 1.2866 1.286704 1.2869 1.285605 1.2873 1.287206 1.2873 1.286607 1.2874 1.286608 1.2878 1.286609 1.2879 1.288210 1.2874 1.287711 1.2863 1.287212 1.2845 1.285913 1.2844 1.284314 1.2856 1.284915 1.2856 1.28516 1.2861 1.286717 1.2846 1.285818 1.2828 1.284619 1.2871 1.284820 1.2884 1.288221 1.2913 1.289722 1.291 1.290623 1.2909 1.2905
L-31
Tanggal Jam Data Real Low Hasil FFNN Low dengan Metode Genetic Algorithm
28-10-2012 00 1.291 1.290501 1.291 1.290702 1.291 1.290503 1.2907 1.290504 1.2908 1.290905 1.2917 1.291206 1.2929 1.29207 1.2929 1.292508 1.2925 1.292609 1.2924 1.292510 1.2921 1.291811 1.2925 1.291712 1.2936 1.29313 1.2921 1.293114 1.2915 1.291615 1.291 1.292116 1.2891 1.29217 1.2847 1.288318 1.2838 1.284419 1.2855 1.284320 1.2852 1.286521 1.285 1.284822 1.2841 1.284423 1.2842 1.2843
Tabel 4.5 Perbandingan Data Real Close dengan Hasil Latih Close Nilai TukarValuta Asing dengan Metode Genetic Algorithm
Tanggal Jam Data Real Close Hasil FFNN Close dengan Metode Genetic Algorithm
24-10-2012 00 1.298 1.296201 1.2973 1.296102 1.2966 1.296103 1.2972 1.295704 1.2934 1.295905 1.2938 1.293206 1.2948 1.2939
L-32
07 1.2945 1.294608 1.2946 1.294609 1.2946 1.294510 1.2953 1.294711 1.2905 1.294612 1.291 1.289613 1.2905 1.290914 1.2921 1.290515 1.2905 1.291716 1.2911 1.290217 1.2915 1.29118 1.2909 1.291519 1.2914 1.290920 1.2919 1.291621 1.2934 1.291922 1.2926 1.293623 1.293 1.2928
Tanggal Jam Data Real Close Hasil FFNN Close dengan Metode Genetic Algorithm
25-10-2012 00 1.293 1.293301 1.2931 1.293302 1.294 1.293503 1.2939 1.294104 1.2939 1.294205 1.2947 1.294106 1.2935 1.294507 1.2937 1.293708 1.2899 1.293909 1.2902 1.289210 1.29 1.289711 1.2908 1.289312 1.2897 1.290613 1.2907 1.289314 1.2931 1.290415 1.2956 1.293116 1.2943 1.294917 1.2962 1.294118 1.2944 1.295319 1.295 1.294120 1.2947 1.294821 1.2926 1.2946
L-33
22 1.2905 1.292623 1.2897 1.2902
Tanggal Jam Data Real Close Hasil FFNN Close dengan Metode Genetic Algorithm
26-10-2012 00 1.2904 1.289501 1.2899 1.290302 1.2898 1.289803 1.2911 1.289704 1.2906 1.291105 1.29 1.290606 1.2899 1.289807 1.2872 1.289708 1.2868 1.28709 1.2869 1.28710 1.2874 1.28711 1.2866 1.287512 1.2865 1.286813 1.2859 1.286714 1.2849 1.286515 1.2857 1.286116 1.285 1.286517 1.2839 1.286118 1.2853 1.285819 1.2862 1.286420 1.2855 1.286721 1.2859 1.286322 1.2864 1.286523 1.2871 1.2867
Tanggal Jam Data Real Close Hasil FFNN Close dengan Metode Genetic Algorithm
27-10-2012 00 1.2873 1.287301 1.2873 1.287502 1.2877 1.287503 1.287 1.287704 1.2884 1.287205 1.2878 1.288306 1.2879 1.287707 1.2879 1.28808 1.2894 1.2879
L-34
09 1.2888 1.289210 1.2885 1.288511 1.2876 1.288312 1.2853 1.287513 1.2863 1.286114 1.2858 1.286715 1.2879 1.286416 1.2876 1.287817 1.2861 1.287518 1.2873 1.286519 1.2895 1.287620 1.2915 1.289221 1.2915 1.291422 1.2911 1.291323 1.2912 1.2911
Tanggal Jam Data Real Close Hasil FFNN Close dengan Metode Genetic Algorithm
28-10-2012 00 1.2915 1.291401 1.291 1.291702 1.2912 1.291103 1.2918 1.291304 1.2919 1.292105 1.2936 1.292106 1.293 1.293607 1.2933 1.293108 1.2929 1.293509 1.2926 1.293210 1.2929 1.292511 1.2944 1.292712 1.2941 1.294413 1.2921 1.293814 1.2932 1.291915 1.2928 1.293416 1.2894 1.292917 1.2863 1.288618 1.2855 1.286319 1.2877 1.286320 1.2863 1.287621 1.2851 1.286622 1.2849 1.286123 1.2857 1.2861
L-35
Tabel 4.6 Perbandingan Data Real Open dengan Hasil Latih Open Nilai Tukar Valuta Asing dengan Metode Neural Network-Backpropagation
Tanggal Jam Data Real OpenHasil Latih Open dengan Metode Neural Network-
Backpropagation24-10-2012 00 1.2976 1.2977
01 1.2979 1.297602 1.2973 1.297503 1.2966 1.296804 1.2973 1.297105 1.2934 1.293406 1.2938 1.293807 1.2949 1.294908 1.2945 1.294509 1.2946 1.294610 1.2946 1.294711 1.2953 1.295312 1.2904 1.290413 1.2911 1.291114 1.2905 1.290515 1.2921 1.29216 1.2905 1.290517 1.2911 1.291118 1.2915 1.291519 1.2909 1.290920 1.2914 1.291421 1.2919 1.291922 1.2934 1.293423 1.2926 1.2925
Tanggal Jam Data Real OpenHasil Latih Open dengan Metode Neural Network-
Backpropagation25-10-2012 00 1.293 1.293
01 1.293 1.29302 1.2931 1.29303 1.294 1.29404 1.2939 1.293905 1.2939 1.2939
L-36
06 1.2947 1.294707 1.2935 1.293508 1.2936 1.293709 1.2899 1.289910 1.2902 1.290311 1.29 1.290112 1.2908 1.290913 1.2897 1.289814 1.2907 1.290715 1.2932 1.293116 1.2956 1.295617 1.2943 1.294318 1.2962 1.296119 1.2944 1.294420 1.295 1.295121 1.2947 1.294822 1.2926 1.292523 1.2905 1.2905
Tanggal Jam Data Real OpenHasil Latih Open dengan Metode Neural Network-
Backpropagation26-10-2012 00 1.2897 1.2898
01 1.2904 1.290502 1.2899 1.289903 1.2898 1.289804 1.2911 1.291105 1.2905 1.290606 1.29 1.2907 1.2899 1.289908 1.2872 1.287209 1.2868 1.286810 1.2868 1.286911 1.2874 1.287412 1.2866 1.286713 1.2865 1.286514 1.286 1.285915 1.2849 1.284916 1.2857 1.285717 1.285 1.284918 1.284 1.284619 1.2854 1.285220 1.2862 1.2862
L-37
21 1.2855 1.285522 1.2859 1.285923 1.2864 1.2864
Tanggal Jam Data Real OpenHasil Latih Open dengan Metode Neural Network-
Backpropagation27-10-2012 00 1.2872 1.2872
01 1.2873 1.287302 1.2874 1.287403 1.2877 1.287704 1.2869 1.28705 1.2885 1.288406 1.2878 1.287807 1.2879 1.287908 1.2879 1.287809 1.2894 1.289410 1.2888 1.288711 1.2885 1.288412 1.2876 1.287513 1.2853 1.285114 1.2863 1.286315 1.2858 1.285716 1.2879 1.287917 1.2876 1.287518 1.2861 1.286119 1.2872 1.287220 1.2895 1.289621 1.2915 1.291522 1.2915 1.291523 1.2911 1.2911
Tanggal Jam Data Real OpenHasil Latih Open dengan Metode Neural Network-
Backpropagation28-10-2012 00 1.2912 1.2912
01 1.2914 1.291502 1.291 1.29103 1.2912 1.291204 1.2919 1.291805 1.2919 1.291906 1.2936 1.293707 1.293 1.2929
L-38
08 1.2933 1.293309 1.2929 1.292910 1.2926 1.292511 1.2929 1.292812 1.2944 1.294513 1.294 1.29414 1.2921 1.29215 1.2932 1.293216 1.2928 1.292717 1.2894 1.289418 1.2862 1.286319 1.2855 1.285520 1.2877 1.287721 1.2862 1.286322 1.2851 1.28523 1.2849 1.2849
Tabel 4.7 Perbandingan Data Real High dengan Hasil Latih High Nilai Tukar Valuta Asing dengan Metode Neural Network-Backpropagation
Tanggal Jam Data Real HighHasil Latih High dengan Metode Neural Network-
Backpropagation24-10-2012 00 1.299 1.297
01 1.2979 1.297202 1.2977 1.296803 1.2979 1.296604 1.2973 1.296905 1.2944 1.294606 1.2953 1.294807 1.2952 1.295808 1.2954 1.295309 1.2949 1.295510 1.2972 1.295211 1.2954 1.296412 1.2916 1.291313 1.2912 1.291914 1.2935 1.290715 1.2923 1.294116 1.2917 1.290917 1.292 1.2919
L-39
18 1.2916 1.292219 1.2914 1.291120 1.2928 1.291921 1.2934 1.293222 1.2936 1.294623 1.2932 1.2933
Tanggal Jam Data Real HighHasil Latih High dengan Metode Neural Network-
Backpropagation25-10-2012 00 1.2933 1.2939
01 1.2932 1.293802 1.2943 1.293703 1.2943 1.295104 1.2943 1.294705 1.2952 1.294706 1.2947 1.295707 1.294 1.294308 1.294 1.294509 1.2918 1.290710 1.2925 1.291311 1.2917 1.291512 1.2918 1.291913 1.2916 1.290514 1.2937 1.291815 1.2966 1.294916 1.2964 1.296617 1.2968 1.295518 1.297 1.296719 1.2955 1.295520 1.2958 1.295921 1.2948 1.295622 1.2927 1.293523 1.291 1.2909
Tanggal Jam Data Real HighHasil Latih High dengan Metode Neural Network-
Backpropagation26-10-2012 00 1.2908 1.2902
01 1.2905 1.29102 1.2902 1.2903 1.2911 1.289904 1.2912 1.2919
L-40
05 1.291 1.290806 1.2906 1.290407 1.29 1.290208 1.2879 1.287809 1.2876 1.287510 1.2876 1.287611 1.2875 1.287812 1.2888 1.287213 1.2871 1.287914 1.2863 1.287115 1.286 1.286616 1.2863 1.28717 1.2865 1.286718 1.2858 1.286519 1.2865 1.286920 1.2866 1.287221 1.286 1.286822 1.2873 1.286923 1.2872 1.2874
Tanggal Jam Data Real HighHasil Latih High dengan Metode Neural Network-
Backpropagation27-10-2012 00 1.2874 1.2877
01 1.2875 1.287602 1.2885 1.287703 1.2878 1.288304 1.2887 1.287505 1.2891 1.289106 1.2879 1.288307 1.2881 1.288108 1.2897 1.28809 1.2899 1.290110 1.2893 1.289111 1.2886 1.288712 1.2877 1.287813 1.2869 1.286714 1.2879 1.287415 1.2891 1.287316 1.288 1.289317 1.2877 1.287818 1.2875 1.28719 1.2904 1.2878
L-41
20 1.2922 1.29121 1.2928 1.293122 1.2918 1.292723 1.2915 1.2916
Tanggal Jam Data Real HighHasil Latih High dengan Metode Neural Network-
Backpropagation28-10-2012 00 1.2917 1.2917
01 1.2915 1.29202 1.2914 1.291303 1.2919 1.291604 1.2922 1.292505 1.2942 1.292506 1.2941 1.295107 1.2936 1.293908 1.2935 1.294209 1.294 1.293610 1.2944 1.293911 1.2947 1.294512 1.2959 1.295613 1.2948 1.295414 1.2932 1.293415 1.2939 1.294216 1.2937 1.293717 1.29 1.290318 1.2869 1.287419 1.289 1.286920 1.2878 1.289221 1.2866 1.287122 1.2855 1.286723 1.2859 1.2866
Tabel 4.8 Perbandingan Data Real Low dengan Hasil Latih Low Nilai Tukar Valuta Asing dengan Metode Neural Network-Backpropagation
Tanggal Jam Data Real LowHasil Latih Low dengan Metode Neural Network-
Backpropagation24-10-2012 00 1.2976 1.2944
01 1.2965 1.2944
L-42
02 1.2966 1.294203 1.2965 1.294204 1.293 1.294305 1.2927 1.292406 1.2933 1.292807 1.2944 1.293408 1.2939 1.293409 1.2929 1.293410 1.2942 1.293111 1.2896 1.293712 1.2902 1.289113 1.2898 1.290614 1.2904 1.289815 1.289 1.291616 1.29 1.289217 1.2897 1.290518 1.2903 1.290519 1.2906 1.290320 1.2911 1.290921 1.2918 1.291622 1.2924 1.292523 1.2925 1.2921
Tanggal Jam Data Real LowHasil Latih Low dengan Metode Neural Network-
Backpropagation25-10-2012 00 1.2928 1.2925
01 1.2928 1.292502 1.2929 1.292603 1.2932 1.29304 1.2936 1.29305 1.2939 1.293106 1.2934 1.293507 1.2931 1.292808 1.2895 1.292909 1.2886 1.288910 1.2892 1.289211 1.2895 1.289512 1.2892 1.290213 1.2891 1.28914 1.2906 1.289915 1.2931 1.292216 1.2941 1.2937
L-43
17 1.2942 1.293318 1.2941 1.293919 1.2941 1.293320 1.2945 1.293621 1.2924 1.293622 1.2905 1.29223 1.2897 1.29
Tanggal Jam Data Real LowHasil Latih Low dengan Metode Neural Network-
Backpropagation26-10-2012 00 1.2897 1.2893
01 1.2896 1.2902 1.2895 1.289303 1.2895 1.289304 1.2902 1.290405 1.2899 1.2906 1.2898 1.289607 1.2863 1.289508 1.2866 1.285709 1.2856 1.28610 1.2861 1.285611 1.2847 1.286112 1.2864 1.28513 1.2857 1.28614 1.2842 1.285215 1.2837 1.284316 1.2842 1.284517 1.2837 1.284418 1.2835 1.28419 1.2852 1.284420 1.2854 1.285221 1.2852 1.284922 1.2854 1.28523 1.2864 1.2854
Tanggal Jam Data Real LowHasil Latih Low dengan Metode Neural Network-
Backpropagation27-10-2012 00 1.2867 1.2862
01 1.287 1.286302 1.2871 1.286403 1.2866 1.2869
L-44
04 1.2869 1.28605 1.2873 1.287306 1.2873 1.286807 1.2874 1.286908 1.2878 1.286909 1.2879 1.288410 1.2874 1.287711 1.2863 1.287312 1.2845 1.286113 1.2844 1.284414 1.2856 1.28515 1.2856 1.285216 1.2861 1.286617 1.2846 1.28618 1.2828 1.284719 1.2871 1.284820 1.2884 1.288421 1.2913 1.290222 1.291 1.291423 1.2909 1.2908
Tanggal Jam Data Real LowHasil Latih Low dengan Metode Neural Network-
Backpropagation28-10-2012 00 1.291 1.2909
01 1.291 1.291102 1.291 1.290803 1.2907 1.290904 1.2908 1.291305 1.2917 1.291206 1.2929 1.292707 1.2929 1.292508 1.2925 1.292709 1.2924 1.292310 1.2921 1.292311 1.2925 1.292412 1.2936 1.293113 1.2921 1.293214 1.2915 1.291815 1.291 1.292316 1.2891 1.291717 1.2847 1.288518 1.2838 1.2848
L-45
19 1.2855 1.284420 1.2852 1.286421 1.285 1.28522 1.2841 1.284623 1.2842 1.2843
GAMBAR HASIL PREDIKSI NILAI TUKAR VALUTA ASING MENGGUNAKAN METODE GENETIC ALGORITHM- NEURAL NETWORK, H4 OPEN TANGGAL 1 OKTOBER SAMPAI TANGGAL 5 OKTOBER 2012
L-46
GAMBAR PREDIKSI NILAI TUKAR VALUTA ASING MENGGUNAKAN METODE GENETIC ALGORITHM- NEURAL NETWORK, H4 HIGH TANGGAL 1 OKTOBER SAMPAI TANGGAL 5 OKTOBER 2012
L-47
GAMBAR PREDIKSI NILAI TUKAR VALUTA ASING MENGGUNAKAN METODE GENETIC ALGORITHM- NEURAL NETWORK, H4 LOW TANGGAL 1 OKTOBER SAMPAI TANGGAL 5 OKTOBER 2012
L-48
GAMBAR PREDIKSI NILAI TUKAR VALUTA ASING MENGGUNAKAN METODE GENETIC ALGORITHM- NEURAL NETWORK, H4 CLOSE TANGGAL 1 OKTOBER SAMPAI TANGGAL 5 OKTOBER 2012