74 BAB 4 IMPLEMENTASI 4.1 Spesifikasi Kebutuhan Sarana Untuk menjalankan training dalam program peramalan ini diperlukan spesifikasi Hardware dengan prosesor minimum setingkat Intel Pentium IV dengan kecepatan minimum 2 Giga Hertz dan memory RAM minimum 256 MB, sedangkan untuk menjalankan menu testing / estimasi cukup dengan hardware spesifikasi prosesor minimum Intel Pentium II dengan kecepatan 300 Mega Hertz dan memory RAM minimum 128 MB. Untuk kebutuhan software, dibutuhkan Operating system : Microsoft Windows 98, ME, 2000, atau XP dan Compiler software : Borland Delphi 6.0 4.2 Implementasi Program Peramalan Program Estimation Neural Network adalah program yang meramalkan nilai mata uang Poundsterling Inggris terhadap Dollar Amerika pada pasar mata uang, dengan nilai input adalah nilai open yang dibuka pada pagi hari dan outputnya adalah nilai tertinggi (high), nilai terendah (low) dan nilai penutupan transaksi (close) pada hari yang sama. Metode peramalan ini menggunakan Artificial Neural Network dengan menggunkan algoritma Delta-Bar-Delta. Implementasi program peramalan diawali dengan menjalankan aplikasi ENN.exe. Program ENN.exe memiliki 6 buah tampilan form menu. Berikut adalah implementasi model peramalan untuk setiap menu :
75 4.2.1 Menu Utama Gambar 4.1 Tampilan Program Menu Utama Layar menu Utama adalah layer menu awal yang menampilkan 3 buah pilihan yaitu Main, Help dan Exit. Dalam Main terdapat lagi pilihan yaitu Training, Testing, dan Grafik. Dalam Help terdapat Help dan About. Submenu Training menampilkan form untuk menginput data dan untuk men-training model, submenu Testing untuk meramalkan nilai yang diinput, submenu Grafik menampilkan Grafik dengan sumbu x dan sumbu y dapat diatur oleh pengguna, submenu Help untuk menampilkan bantuan, hak cipta dan tanggal pembuatan program, submenu Exit untuk keluar dari program aplikasi.
76 4.2.2 Menu Training Gambar 4.2 Tampilan Program Training Menu Training berisi pilihan Save data baru, pilihan Training, pilihan Help, pilihan Grafik dan pilihan Keluar untuk kembali ke menu sebelumnya. Untuk memulai program aplikasi ini pengguna dianjurkan membuka dulu pilihan Help yang berisi petunjuk menggunakan menu ini. Pilihan input data baru digunakan untuk pengguna jika data-data historis mata uang ada yang tidak lengkap maka perlu dimasukkan secara manual. Sebelum menekan Save, inputan yang harus dimasukkan oleh pengguna terdiri dari 4 buah input, yaitu nilai tukar mata uang Poundsterling Inggris terhadap dollar Amerika pada posisi Open, High, Low dan Close. Perlu diketahui bahwa data-data historis yang sudah ada otomatis terbuka dari database-nya ketika program dijalankan.
77 Lalu pilihan Training untuk men-training data-data historis yang sudah ada tersebut. Sebelum menekan pilihan Training, pengguna dapat mengubah jumlah iterasi (epoch) yang diinginkan atau error yang dikehendaki. Tentunya error semakin kecil akan mempengaruhi tepat tidaknya suatu ramalan. Proses Training akan berhenti jika salah satu syarat, baik jumlah epochs atau nilai error yang di-input tercapai. Juga terdapat pilihan Grafik yang berfungsi untuk mempermudahkan pengguna dalam melihat hubungan antar variabel. 4.2.3 Menu Testing Gambar 4.3 Tampilan Program Testing
78 Pada menu ini terdapat pilihan Estimasi, Help, Grafik dan Exit. Juga terdapat objek edit untuk mengisi nilai open yang akan menjadi input dalam peramlan. Jika pengguna menekan tombol Testing. Maka program akan menajalankan algoritma feedfoward saja dengan menggunakan bobot hasil pembelajaran yang disimpan dalam database bobot. Hasil outputnya adalah berupa nilai High, Low dan Close. Contoh jika ingin meramal nilai GBP terhadap USD dengan kondisi nilai Open diketahui, pengguna cukup memasukkan nilai open tersebut pada kotak isian yang telah disediakan lalu menekan tombol Estimasi, maka munculah nilai High, Low Close-nya. Setelah hasil estimasi keluar, maka program akan memberi pilihan kepada pengguna apakah hasil peramalan ini ingin disimpan dalam database atau tidak. Dan dengan adanya pilihan Grafik pengguna dapat melihat hasil peramalan dalam bentuk visual. Ketepatan dari hasil peramalan ini ditentukan dengan banyakanya data yang digunakan untuk pembelajaran. Karena data yang dimiliki terbatas, program ini hanya mempelajari 10 pasangan pola yang memiliki rentang nilai open 1.880 1.939. Maka jika ingin melakukan peramalan dengan nilai input yang diluar dari rentang tersebut, penulis memastikan ketepatan peramalan akan berkurang jauh dibandingkan dengan input yang berada dalam rentang tersebut. 4.2.4 Menu Grafik
79 Gambar 4.4 Tampilan Program Grafik Sebelum Input Menu ggrafik memberi kemudahan bagi pengguna untuk melihat data historis dalam database ditampilkan dalam bentuk grafik garis. Dalam menu ini pengguna dapat dengan bebas menentukan nilai pada sumbu X dan pada sumbu Y sampai dengan 4 buah nilai. Contoh dalam keadaan default sumbu X diset dengan nilai Open lalu sumbu Y diset dengan nilai Open, High, Low dan Close. Artinya grafik yang ditampilkan adalah hubungan antara nilai Open terhadap nilai Open, High, Low dan Close dari data historis yang ada dalam database. Gambar di bawah ini menampilkan hubungan nilai Open terhadap nilai High, Low dan Close.
80 Gambar 4.5 Tampilan Program Grafik Setelah Input 4.2.5 Menu Help
81 Gambar 4.6 Tampilan Program Help Pada menu ini akan ditampilkan bagaimana caranya menggunakan program yang sedang berjalan, kegunaan semua tombol yang ada dalam program ini. 4.2.6 Menu About Akan menampilkan keterangan hak cipta dan perancang program.
82 Gambar 4.7 Tampilan Program About 4.3 Analisis Program Berjalan Dalam program peramalan ini, pengguna harus menjalankan dahulu program Random untuk mengacak nilai awal bobot, nilai delta-bar dan nilai Alpha. Setelah menyimpan hasil inisialisasi dalam database, pengguna baru menjalankan program ENN untuk meramal. Hasil peramalan yang baik adalah peramalan dengan nilai error yang sekecil-kecilnya. Penulis mencoba melakukan percobaan 5 kali perulangan random inisialisasi bobot, trainning sebanyak 10.000 kali epoch, juga dengan jumlah node yang berbeda pada hidden layer. Untuk mempercepat simulasi / percobaan ini, diambil 10 sampel dari
83 data-data hisotris yang ada. Sampel yang diambil adalah data-data dengan tanggal awal bulan. Tanggal Open Close High Low 20050103 20050201 20050301 20050401 20050502 20050601 20050701 20050801 20050901 20051003 1.9191 1.8839 1.9187 1.8873 1.9042 1.8178 1.7896 1.7551 1.8035 1.7619 1.9043 1.883 1.9182 1.8822 1.8933 1.8103 1.7674 1.7684 1.8317 1.7548 1.9197 1.8865 1.9227 1.8971 1.9066 1.8228 1.7911 1.7731 1.837 1.7634 1.898 1.8774 1.9168 1.8759 1.8924 1.8075 1.7662 1.7547 1.8004 1.7508 Tabel 4.1 Tabel Sampel GBP/USD dirangkum : Berikut adalah hasil nilai error yang dicapai dalam percobaan setelah Percobaan 60 Node 45 Node 30 Node 15 Node Hidden Layer Hidden Layer Hidden Layer Hidden Layer Percobaan I 0.43555616 0.4 0.2844565 < 0.001 Percobaan II 0.4711118151 0.373321384 0.257788745 < 0.001 Percobaan III 0.65777887 0.426688233 0.22232344 < 0.001 Percobaan IV 0.613335284 0.471113222 0.337806197 < 0.001 Percobaan V 0.4800012840 0.54222284 0.2311160508 < 0.001 Tabel 4.2 Tabel Hasil Nilai Error Dalam program peramalan ini, error dihitung dengan mencari selisih hasil dari nilai output pada masing-masing node output layer dengan nilai target pada masingmasing node untuk setiap pasang pola. Lalu error tersebut dikuadrat lalu dijumlahkan
84 dan dicari rata-ratanya dengan membagi sebanyak jumlah node pada output layer atau target yaitu sebesar 45 buah. Hasil error untuk pasangan pola tersebut kemudian dijumlah lagi dengan hasil error pasangan pola berikutnya, berikut seterusnya sampai pasangan pola terakhir. Setelah nilai error semua pasang pola dijumlahkan, dicari kembali rata-ratanya dengan membagi jumlah pasang pola yang ada. Dari tabel di atas dapat diambil kesimpulan bahwa jumlah node dalam hidden layer mempengaruhi cepat atau tidaknya nilai error yang ditentukan tercapai. Semakin sedikit jumlah node semakin sedikit pula jumlah epoch training yang harus dijalankan. Tetapi jumlah node dalam hidden layer juga harus memiliki batas, batas minimumnya adalah sesuai dengan jumlah node pada input layer yaitu 15 buah node. Penulis mencoba menggunakan jumlah node dibawah 15 ternyata tidak memberikan hasil yang memuaskan. Melihat nilai error yang ada pada masing-masing percobaan tidaklah jauh berbeda. Ini membuktikan bahwa inisialisasi random awal tidak betul-betul random / acak tetapi mengikuti algoritma Nguyen-Widrow. Algoritma ini mengacak nilai awal bobot tetapi memperhatikan juga jumlah node output layer dan jumlah node pada hidden layer. Terbukti bahwa algoritma pengacakan Nguyen-Widrow lebih efisien dari pada algoritma pengacakan Random. Setelah melihat hasil trainning, penulis memilih jumlah node pada hidden layer adalah 15 node, karena nilai error yang kecil dan proses trainning yang cepat. Untuk mencapai nilai error 0.001 diperlukan rata-rata hanya 200 400 kali trainning.