BAB 2 LANDASAN TEORI Bab ini membahas tentang teori penunjang dan penelitian sebelumnya yang berhubungan dengan penerapan metode backpropagation untuk prediksi trend forex euro terhadap dollar Amerika. 2.1 Artificial Intelligence (AI) Kecerdasan buatan atau artificial intelligen (AI) merupakan salah satu bagian ilmu komputer yang membuat agar mesin dapat melakukan pekerjaan sebaik yang dilakukan manusia (Muis, 2009). Agar mesin dapat bertindak seperti dan sebaik manusia, maka mesin harus dibekali dengan pengetahuan dan mempunyai kemampuan untuk nalar. Untuk mencapai maksud ini, maka pada AI diberi beberapa metode yang bisa membekali baik dari segi pengalaman/pengetahuan maupun penalaran/akal agar komputer dapat menjadi mesin yang pintar. Pengertian AI juga dapat dilihat dari berbagai sudut pandang, yaitu : 1. Kecerdasan Kecerdasan buatan akan membuat mesin menjadi cerdas dan dapat berbuat seperti yang dilakukan manusia. 2. Peneliti Kecerdasan buatan adalah bidang studi bagaimana membuat komputer atau mesin dapat melakukan sesuatu sebaik yang dikerjakan manusia. 3. Bisnis Kecerdasan buatan adalah kumpulan peralatan yang sangat metodologis dalam menyelesaikan masalah-masalah bisnis. Universitas Sumatera Utara 9 4. Pemrograman Kecerdasan buatan meliputi studi tentang pemrograman simbolik, penyelesaian masalah dan pencarian. Charniack (1985) mendefinisikan pengetian AI ditinjau dari dua pendekatan : 1. Pendekatan ilmiah (A scientific approach) Pendekatan dasar ilmiah timbul sebelum invansi ke komputer, ini tidak sama dengan kasus mesin uap. Pendekatan ilmiah melihat batas sementara dari komputer dan dapat diatasi dengan perkembangan teknologi lanjutan. 2. Pendekatan teknik (An engineering approach) Usaha untuk menghindari definisi AI, tetapi ingin mengatasi atau memecahkan persoalan-persoalan dunia nyata (real world problem). Gambar 2.1 Hubungan Antara Pengembangan Computer Science dan Engineering Aplications (Clive, 1991) Universitas Sumatera Utara 10 Pekerjaan atau tugas yang dapat diselesaikan dengan konsep-konsep AI dapat dikelompokkan menjadi 3 pekerjaan/tugas seperti yang terlihat pada tabel 2.1 Tabel 2.1 Kelompok Tugas dengan Konsep AI No. 1. 2. 3. Tugas/Pekerjaan Tugas biasa (Mundune task) 1. Persepsi : a. Vision b. Speech 2. Natural language : a. Understanding b. Generation c. Translation 3. Commonsence reasoning : a. Robot control Tugas formil (Formal task) 1. Games : a. Chess 2. Mathematics : a. Checkers b. Geometri c. Logic d. Proving properties of programs Tugas ahli (Expert task) 1. Teknik : a. Design 2. Scientific analysis : a. Fault diagnosis 3. Medical : a. Planning b. Diagnosis theraphy Konsep AI Computer vision Natural Language Processing (NLP) NLP NLP NLP NLP Machine learning Logic/Fuzzy logic/Uncertainly Logic/Fuzzy logic/Uncertainly Logic/Fuzzy logic/Uncertainly Logic/Fuzzy logic/Uncertainly Expert system and Neural network Expert system and Neural network Planning with AI Expert system and Neural network Komputasi antara AI berbeda dengan komputasi konvensional, dalam AI digunakan teknik pemrograman dengan cara menyatakan data, pemrosesan data dan penyelesaian masalah secara simbolik dari pada secara numerik (Siswanto, 2010). Tabel 2.2 menunjukkan perbandingan antara AI dan komputasi konvensional. Universitas Sumatera Utara 11 Tabel 2.2 Perbandingan AI dengan Komputasi Konvensional No. Dimensi Artificial Intelligence 1. 2. 3. 4. 5. 6. Pemrosesan Sifat input Pencarian Keterangan Fokus Struktur 7. 8. 9. Sifat output Pemeliharaan Keamanan menalar Simbolik Biasa tidak lengkap Kebanyakan heuristic Disediakan Pengetahuan Kontrol terpisah dari pengetahuan Kuantitatif Relatif mudah Ya Pemrograman Konvensional Algoritmik Harus lengkap Didasarkan algoritmik Biasanya tidak disediakan Data dan informasi Kontrol terintegrasi dengan informasi Kualitatif Sulit Tidak Kemampuan belajar yang menjadi ciri utama AI memungkinkan teknik ini mampu untuk melakukan inferensi secara berbeda sesuai dengan perbedaan lingkungan dan kondisi yang dihadapi. Di dalam bidang aplikasi sistem AI biasanya meliputi sistem pakar, pengolahan bahasa alami, pengenalan ucapan, robotika dan sensor, computer vision (pengenalan pola gambar), intelligent computer aided instruction, game playing dan lain sebagainya. Gambar 2.2 merupakan contoh suatu input-output model untuk AI yang di representasikan oleh Kamran (1988). Gambar 2.2 Input-Output Model untuk AI (Kamran, 1988) Universitas Sumatera Utara 12 2.2 Jaringan Syaraf Tiruan Jaringan syaraf tiruan atau disebut juga dengan neural network (NN) adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan jaringan saraf manusia. Siang (2005) menjelaskan bahwa sejarah jaringan syaraf tiruan pertama kali diperkenalkan oleh McCulloch dan Pitts pada tahun 1943. McCulloch dan Pitts menyimpulkan bahwa kombinasi beberapa neuron sederhana menjadi sebuah system neural akan meningkatkan kemampuan komputasinya. Bobot jaringan yang diusulkan oleh McCulloch dan Pitts diatur untuk melakukan fungsi logika sederhana. Fungsi aktivasi yang dipakai adalah fungsi threshold. Selanjutnya pada tahun 1958, Rosenbalt memperkenalkan dan mulai mengembangkan model jaringan baru yang terdiri dari beberapa lapisan yang disebut dengan perceptron. Metode pelatihan diperkenalkan untuk mangoptimalkan hasil iterasinya. Kemudian Widrow dan Hoff (1960) mengembangkan perceptron dengan memperkenalkan aturan pelatihan jaringan, yang dikenal sebagai aturan delta (atau sering disebut kuadrat rata-rata terkecil) aturan ini mengubah bobot perceptron apabila keluaran yang dihasilkan tidak sesuai dengan target yang diinginkan. Apa yang dilakukan peneliti terdahulu hanya menggunakan jaringan dengan layer tunggal (single layer). Rumelhart (1986) mengembangkan perceptron menjadi backpropagation, yang memungkinkan jaringan diproses melalului beberapa layer. Selain itu, beberapa model jaringan syaraf tiruan lain juga dikembangkan oleh Kohonen (1972), Hopfield (1982) dan lain-lain. Menurut Siang (2005) jaringan syaraf tiruan adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi. Jaringan syaraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa : a. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron). b. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung. c. Penghubung antar neuron memiliki bobot yang akan memperkuat atau memperlemah sinyal. Universitas Sumatera Utara 13 d. Untuk menentukan output setiap neuron menggunakan fungsi aktivasi (biasanya bukan fungsi linier) yang dikenakan pada jumlah input yang diterima. Besarnya output ini selanjutnya dibandingkan dengan suatu batas ambang. 2.2.1 Arsitektur Jaringan Syaraf Tiruan Di dalam jaringan syaraf tiruan, neuron-neuron dikelompokkan dalam lapisan-lapisan. Umumnya neuron-neuron yang terletak pada lapisan yang sama akan memiliki keadaan yang sama. Faktor terpenting dalam menentukan kelakuan suatu neuron adalah fungsi aktivasi dan pola bobotnya. Pada setiap lapisan yang sama, neuronneuron akan memiliki fungsi aktivasi yang sama. Menurut Kusumadewi (2010) pada dasarnya terdapat tiga macam arsitektur dalam jaringan syaraf antara lain : 1. Jaringan dengan lapisan tunggal (single layer) Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot-bobot terhubung. Jaringan ini hanya menerima input kemudian secara langsung akan mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi. Ciri-ciri arsitektur ini hanya terdiri atas satu lapisan masukkan dan satu lapisan keluaran tanpa adanya lapisan tersembunyi, seperti gambar 2.3 Gambar 2.3 Jaringan Layar Tunggal (Kusumadewi, 2010) Pada gambar 2.3 diperlihatkan bahwa arsitektur jaringan layar tunggal dengan n buah masukan ( , ,….., ) yang masing-masing memiliki bobot , , …, dengan rumus : Universitas Sumatera Utara 14 _ (2.1) Kemudian fungsi aktivasi F akan mengaktivasi y_in menjadi keluaran jaringan y. Untuk jaringan syaraf dengan jumlah neuron pada lapisan keluaran sebanyak m buah maka proses pengolahan data pada neuron adalah : _ ∑ ; j=1,…,m (2.2) Dengan adalah bobot yang menghubungkan masukkan ke-i menuju neuron ke-j. Namun terkadang jaringan syaraf tiruan tidak mampu mengakomodasi informasi yang ada melalui data-data masukan maupun bobot-bobotnya. Untuk itu biasanya ditambahkan bias yang senantiasa bernilai 1. Pengaruh bias terhadap neuron ditunjukkan dengan bobot bias (b). Apabila jaringan syaraf dilengkapi dengan bias, maka proses komputasi pada neuron menjadi : ∑ +b (2.3) Jaringan syaraf dengan jumlah neuron pada lapisan keluaran sebanyak m buah maka proses pengolahan data pada neuron ke-j adalah : _ ∑ + ; j=1,…,m (2.4) adalah bobot yang menghubungkan masukkan ke-i menuju ke neuron ke-j dan adalah bobot bias yang menuju ke neuron ke-j. 2. Jaringan dengan banyak lapisan (multi layer) Arsitektur tipe ini memiliki satu atau lebih lapisan yang terletak di antara lapisan masukkan dan lapisan keluaran, juga memiliki satu atau lebih lapisan tersembunyi. Umumnya ada lapisan bobot-bobot yang terletak antara dua lapisan yang bersebelahan. Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada lapisan dengan lapisan tunggal dan tentu Universitas Sumatera Utara 15 saja dengan pembelajaran yang lebih rumit juga. Gambar 2.4 merupakan salah satu contoh model neuron dengan banyak lapisan dan hanya memiliki satu lapisan tersembunyi. adalah bobot-bobot yang menghubungkan antara neuron-neuron adalah hasil pengolahan pada lapisan tersembunyi dengan lapisan keluaran. z_ data pada lapisan tersembunyi dengan fungsi aktivasi F1 untuk menghasilkan (j=1,…,k); _ (2.5) = 1( ) (2.6) Sedangkan y_ adalah hasil pengolahan data pada lapisan keluaran dengan fungsi aktivasi F2 untuk menghasilkan keluaran jaringan. ; ( = 1, … , ) (2.7) = (2.8) = 2( _ ) (2.9) Gambar 2.4 Model Neuron dengan Banyak Lapisan (Kusumadewi, 2010) Universitas Sumatera Utara 16 3. Jaringan Syaraf dengan Lapisan Kompetitif Arsitektur tipe ini tampak pada gambar 2.5 dimana memiliki pengaturan bobot yang telah ditetapkan dan tidak memiliki proses pelatihan. Digunakan untuk mengetahui neuron pemenang dari sejumlah neuron yang ada. Nilai bobot untuk diri sendiri dari setiap neuron adalah 1, dan neuron lain adalah bobot acak negative dengan bobot –ƞ. Gambar 2.5 Model Neuron dengan Lapisan Kompetitif (Kusumadewi, 2010) Dalam penelitian ini arsitektur jaringan yang digunakan terdiri dari lapisan input sejumlah 5 neuron, lapisan tersembunyi sejumlah n neuron, (n = 10,11,12,…,20), lapisan output terdiri dari 1 neuron yaitu harga penutupan (close) forex euro esok hari. Misalkan lapisan input sejumlah 5 neuron, lapisan tersembunyi sejumlah 10 neuron dan lapisan output terdiri dari 1 neuron maka arsitektur jaringan tersebut adalah 5-10-1. Gambar 2.6 menunjukkan arsitektur jaringan untuk peramalan forex euro terhadap dollar Amerika menggunakan 1 lapisan input, 1 lapisan tersembunyi dan 1 lapisan output. 2.2.2 Proses Pembelajaran Tujuan utama dari proses pembelajaran adalah melakukan pengaturan terhadap bobotbobot yang ada pada jaringan syaraf, sehingga diperoleh bobot akhir yang tepat sesuai dengan pola yang dilatih. Selama proses pembelajaran akan terjadi perbaikan bobotbobot berdasarkan agoritma tertentu. Nilai bobot akan bertambah jika informasi yang diberikan oleh neuron bersangkutan tersampaikan, sebaliknya jika informasi tidak tersampaikan maka bobot akan dikurangi. Pada dasarnya ada dua metode proses pembelajaran, yaitu pembelajaran terawasi dan pembelajaran tidak terawasi. Universitas Sumatera Utara 17 1. Pembelajaran Terawasi Metode pembelajaran terawasi bila keluaran yang diharapkan telah diketahui sebelumnya. Misalkan dimiliki jaringan syaraf untuk mengenali pasangan pola dengan operasi AND, pada proses pembelajaran satu pola masukkan akan diberikan ke satu neuron pada lapisan masukkan. Pola dirambatkan disepanjang jaringan syaraf sampai dengan neuron pada lapisan keluaran. Lapisan keluaran ini akan membangkitkan pola keluaran yang nantinya akan dicocokkan dengan pola keluaran targetnya. Apabila terjadi perbedaan antara pola keluaran hasil pembelajaran dengan pola target maka terjadi error, apabila nilai error masih cukup besar mengindikasikan masih perlu dilakukan pembelajaran lagi. 2. Pembelajaran Tidak Terawasi Metode ini tidak memerlukan target keluaran karena tidak dapat ditentukan hasil seperti apakah yang diharapkan selama proses pembelajaran. Saat proses pembelajaran, nilai bobot disusun dalam suatu range tertentu tergantung pada nilai keluaran yang diberikan, apabila nilai error masih cukup besar mengindikasikan masih diperlukan proses pembelajaran. 2.2.3 Fungsi Aktivasi Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan antara lain : 1. Fungsi Sigmoid Biner Fungsi ini digunakan untuk jaringan syaraf yang dilatih menggunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai antara 0 sampai 1. Karena itu fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai keluaran yang terletak pada interval 0 sampa 1. Fungsi sigmoid biner dirumuskan sebagai berikut : = !( ) = 1 1 + # $%& (2.10) ! ′ ( ) = '!( )[1 − !( )] (2.11) Universitas Sumatera Utara 18 Gambar 2.6 Fungsi Aktivasi Sigmoid Biner (Kusumadewi, 2010) 2. Fungsi Sigmoid Bipolar Fungsi ini hampir sama dengan fungsi sigmoid biner, hanya saja keluaran dari fungsi ini antara 1 sampai -1. Fungsi sigmoid bipolar dirumuskan seperti berikut ini : = !( ) = 1 − # $& 1 + # $%& (2.12) ! ′( ) = ' [1 + !( )][1 − !( )] 2 (2.13) Gambar 2.7 Fungsi Aktivasi Sigmoid Bipolar (Kusumadewi, 2010) 3. Fungsi Linear (Identitas) Fungsi linear ini memiliki keluaran yang sama dengan nilai masukannya, fungsi linear dirumuskan sebagai berikut : Universitas Sumatera Utara 19 = (2.14) Gambar 2.8 Fungsi Aktivasi Linear (Kusumadewi, 2010) 2.2.4 Backpropagation Algoritma backpropagation merupakan bagian dari algoritma pembelajaran terawasi yang biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyi. Algoritma ini menggunakan error keluaran untuk mengubah nilai bobotbobotnya dalam arah mundur (backward). Untuk mendapatkan error ini tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu. Saat perambatan maju, neuron-neuron diaktifkan dengan menggunakan fungsi aktivasi sigmoid biner. 2.2.5 Normalisasi Data Normalisasi data berfungsi untuk membuat data yang akan diproses berada pada range tertentu sehingga dalam pemrosesan nantinya angka yang diolah tidak terlalu besar agar mempercepat proses perhitungan. Pada penelitian ini data pelatihan akan di normalisasi dalam range 0,1 sampai 0,9. Adapun rumus untuk melakukan normalisasi data pada range 0,1 sampai 0,9 menurut Siang (2005) adalah sebagai berikut : = 0,8( − -) + 0,1 −(2.15) dimana : y = nilai normalisasi x = nilai data forex a = nilai minimum data forex b = nilai maksimum data forex Universitas Sumatera Utara 20 Setelah data masukan yang telah dinormalisasi diproses dan didapatkan hasil prediksi maka hasil prediksi akan didernomalisasi kembali dengan menggunakan persamaan berikut : = ( − 0,1)( − -) + 0,8 0,8 (2.16) dimana : 2.2.6 y = nilai hasil prediksi x = nilai hasil denormalisasi a = nilai minimum data forex b = nilai maximum data forex Parameter Neural Network Backpropagation Backpropagation neural network memiliki beberapa parameter didalam metodenya. Parameter-parameter tersebut digunakan sebagai batas kesalahan dalam melakukan pembelajaran, batas minimum dari sebuah fungsi aktivasi dan kontrol ukuran pada sebuah bobot. Parameter yang digunakan pada backpropagation neural network adalah sebagai berikut : 1. Maximum epoch Epoch merupakan perulangan atau iterasi dari proses yang dilakukan untuk mencapai target yang telah ditentukan. Maksimum epoch adalah jumlah epoch maksimum yang boleh dilakukan selama proses pelatihan. Iterasi akan dihentikan apabila nilai melebihi maksimum epoch. 2. Learning rate Learning rate merupakan laju pembelajaran yang berupa perkalian negative dari gradient untuk menentukan perubahan pada nilai bobot dan bias. Semakin besar nilai learning rate akan berimplikasi pada semakin besarnya langkah pembelajaran. Jika learning rate di set terlalu besar maka algoritma akan menjadi tidak stabil. Sebaliknya jika di set terlalu kecil maka algoritma akan mencapai target dalam jangka waktu yang lama. Universitas Sumatera Utara 21 3. Momentum Pada standart backpropagation perubahan bobot didasarkan atas gradient yang terjadi untuk pola yang dimasukkan pada saat itu. Penambahan momentum dimaksudkan untuk menghindari perubahan bobot yang mencolok yang diakibatkan oleh adanya data yang sangat berbeda dengan yang lain. Variabel momentum dapat meningkatkan waktu pelatihan dan stabilitas dari proses pelatihan. Berikut merupakan rumus momentum : ∆/ = 0 ∗ 2 ∗ 0 (2.17) dimana : 0 = learning rate yang bernilai 0.25 atau 0.5 0 = nilai dari neuron ke i Perubahan bobot dilakukan dengan cara menambahkan bobot yang lama dengan ∆/. Akan tetapi bobot pada iterasi sebelumnya memberikan pengaruh besar terhadap performa jaringan syaraf. Oleh karena itu perlu ditambahkan dengan bobot yang lama dikalikan momentum, menjadi : ∆/ = 0 ∗ 2 ∗ 0 + 3 ∗ ∆/′ (2.18) dimana : 3 = momentum faktor yang bernilai 0 dan 1 ∆/′ = bobot pada iterasi sebelumnya Teknik momentum tidak menutup kemungkinan dari konvergensi pada lokal minimum, akan tetapi penggunaan teknik ini dapat membantu untuk keluar dari lokal minima. 4. Perhitungan error Perhitungan error bertujuan untuk mengukur keakurasian jaringan dalam mengenali pola yang diberikan. Ada tiga macam perhitungan error yang digunakan, yaitu : Universitas Sumatera Utara 22 a. Mean Square Error (MSE) MSE merupakan error rata-rata kuadrat dari selisih antara output jaringan dengan output target. Tujuannya adalah memperoleh nilai error sekecil-kecilnya secara iterative dengan mengganti nilai bobot yang terhubung pada semua neuron dalam jaringan. Untuk mengetahui seberapa banyak bobot yang diganti, setiap iterasi memerlukan perhitungan error yang berasosiasi dengan setiap neuron pada output dan hidden layer. Rumus perhitungan MSE adalah sebagai berikut : 567 = 1 8 : (9 − ) (2.19) dimana : 9 = nilai output target = nilai output jaringan N = jumlah output dari neuron b. Mean Absolute Error (MAE) MAE merupakan perhitungan error hasil absolute dari selisih antara nilai hasil sistem dengan nilai aktual. Rumus perhitungan MAE adalah sebagai berikut : 1 5;7 = 8 : |9 − | (2.20) c. Mean Absolute Percentage Error (MAPE) MAPE hampir sama dengan MAE hanya saja hasilnya dinyatakan dalam persentase. Rumus perhitungan MAPE adalah sebagai berikut : 1 5;=7 = 8 : |9 − | ∗ 100% (2.21) Universitas Sumatera Utara 23 2.3 Foreign Exchange (Forex) Foreign exchange (forex) merupakan pasar perdagangan valuta asing atau transaksi mata uang asing yang memperdagangkan mata uang suatu negara terhadap mata uang negara lainnya yang melibatkan pasar-pasar uang utama di seluruh dunia dan dilakukan secara berkesinambungan. Elshabrina (2012) mendefinisikan forex sebagai kegiatan pembelian secara simultan satu mata uang dan menjual mata uang lainnya, biasanya mata uang yang diperdagangkan berpasang-pasangan melalui trader. 2.3.1 Trading Forex Kegiatan jual beli di pasar perdagangan valuta asing biasanya disebut dengan online trading. Online trading adalah suatu sistem jual beli valuta asing berbasis komputer yang menggunakan pengetahuan fakta, analisis dan teknik penalaran informasi dan eksekusi yang cepat dari reaksi reflex elektronik (Maulana, 2012). Untuk melakukan trading seorang trader harus mempunyai pengetahuan yang cukup, analisis yang baik, dan keputusan yang tepat serta keberanian berspekulasi agar dapat memperoleh hasil yang optimum karena pergerakan nilai valas selalu berubah-ubah setiap saat. 2.3.2 Teknik Forex Untuk berhasil dalam melakukan transaksi forex maka seorang trader harus memiliki teknik tertentu yang bisa mendukung kelancaran transaksi agar sesuai dengan tujuan dan harapan, teknik adalah sesuatu yang dibutuhkan karena memegang peranan yang sangat penting. Tak jarang keberhasilan seorang trader karena didukung oleh penguasaan teknik yang baik. Menurut Agus Kretarto (2001) pada umumnya terdapat dua pendekatan yang dipakai untuk menganalisis pergerakan forex, yaitu analisis fundamental dan analisis teknikal. 2.3.2.1 Analisis fundamental Kondisi fundamental suatu negara dapat menumbulkan berbagai macam ekspektasi bagi para pelaku pasar uang. Reaksi para pelaku pasar atas fundamental suatu negara bisa jadi berpengaruh terhadap pelemahan atau penguatan mata uang suatu negara. Untuk memperoleh data fundamental seorang trader biasanya menggunakan informasi Universitas Sumatera Utara 24 yang disediakan oleh beberapa media. Media biasanya menambahkan beberapa ulasan-ulasan dan perkiraan pergerakan harga karena pengaruh indikasi tersebut. Analisis fundamental adalah suatu studi yang berkaitan dengan faktor-faktor yang mempengaruhi perekonomian suatu negara. Melalui metode akan dilakukan prediksi terhadap pergerakan harga dan kecenderungan pasar dengan menganalisa indikator-indikator ekonomi, kebijakan pemerintah, dan faktor lain yang berpengaruh terhadap fundamental perekonomian. Dengan kata lain, analisis fundamental mempelajari the causes of market movements. 2.3.2.2 Analisis teknikal Analisis teknikal merupakan suatu metode pendekatan yang didasarkan pada grafik pergerakan harga untuk memprediksi kenaikan ataupun penurunan harga yang terus bergerak dari waktu ke waktu. Data-data mengenai pergerakan harga kemudian dicatat dan dituangkan kedalam grafik. Para analis teknikal percaya bahwa data pergerakan harga cendrung mengulangi pola di masa lalu sebagai proyeksi harga yang akan terjadi. Sementara faktor-faktor yang menyebabkan perubahan permintaan dan penawaran seperti faktor lingkungan usaha (ekonomi, politik dan stabilitas keamanan nasional), maupun kinerja perusahaan kurang diperhatikan oleh analisis teknikal. Analisis teknikal disebut juga dengan chartist karena teknik ini menggunakan grafik-grafik dan diagram untuk memprediksi kinerja valuta asing. Grafik dan saham itu dimaksudkan untuk memprediksi kinerja forex. 2.4 Teknik Peramalan (Forecasting) Peramalan atau forecast merupakan suatu fungsi bisnis yang berusaha memperkirakan penjualan, penggunaan produk, dan permintaan pasar sehingga produk-produk itu dapat dibuat dalam kuantitas yang tepat (Gaspersz, 2001). Tujuan dari peramalan adalah untuk menentukan jumlah permintaan pada masa yang akan datang. Dengan kata lain, peramalan merupakan estimasi terhadap permintaan yang akan datang berdasarkan pada beberapa variable peramalan, baik berdasarkan data formal maupun informal. Universitas Sumatera Utara 25 Dalam peramalan dikenal istilah prakiraan dan prediksi. Prakiraan adalah sebagai proses peramalan suatu variabel (kejadian) dimasa yang akan datang berdasarkan data variabel itu pada masa sebelumnya. Prediksi adalah proses peramalan suatu variabel dimasa datang dengan lebih mendasarkan pada pertimbangan intuisi daripada data masa lampau meskipun lebih menekankan pada intuisi, dalam prediksi harga juga sering digunakan data kuantitatif sebagai pelengkap informasi dalam melakukan peramalan (Herjanto, 2006). Heizer (2005) mengelompokkan peramalan menurut sumber peramalannya sebagai berikut : 1. Model Data Times Series Model data time series adalah suatu jenis peramalan secara kuantitatif dengan menggunakan waktu sebagai dasar peramalan. Tujuannya adalah menemukan pola dalam deret data historis dan mengekstrapolasikan pola dalam deret data tersebut ke pola data masa depan. 2. Model Data Casual Model data casual adalah model peramalan yang menggunakan hubungan sebabakibat sebagai asumsi yaitu bahwa yang terjadi di masa lalu akan terulang pada masa ini. 3. Model Data Judgemental Model judgemental mencakup untuk memasukkan faktor-faktor kualitatif/subjektif ke dalam metode peramalan yang secara khusus berguna bilamana faktor-faktor subjektif yang diharapkan menjadi sangat penting dan data kuantitatif yang akurat sudah diperoleh. Menurut Aryanto (2012) terdapat beberapa kecendrungan pada jenis pola data runtun waktu, yakni : Universitas Sumatera Utara 26 1. Pola Data Horizontal Pola data horizontal terjadi jika nilai berfluktuasi di sekitar nilai rata-rata yang konstan. Deret seperti ini stationer terhadap nilai rata-ratanya. Grafik pola horizontal dapat dilihat pada gambar 2.10 Y Data ke Gambar 2.9 Pola Data Horizontal 2. Pola Data Musiman Pola data musiman terjadi jika suatu deret dipengaruhi oleh faktor musiman. Penjualan dari produk makanan, minuman dan elektronik termasuk dalam pola data ini. Grafik pola data musiman dapat dilihat pada gambar 2.11 Y Data ke Gambar 2.10 Pola Data Musiman 3. Pola Data Siklis Pola data siklis terjadi jika data tersebut dipengaruhi oleh fluktuasi ekonomi jangka panjang seperti data yang berhubungan dengan siklus bisnis. Grafik pola data siklis dapat dilihat pada gambar 2.12 Y Data ke Gambar 2.11 Pola Data Siklis Universitas Sumatera Utara 27 4. Pola Data Trend Pola data trend terjadi jika terdapat kenaikan atau penurunan sekuler jangka panjang dalam data, seperti data penjualan pada perusahan dan produk bruto nasional (GNP). Grafik pola data trend dapat dilihat pada gambar 2.13 Y Data ke Gambar 2.12 Pola Data Trend 2.5 Teknik Prediksi Terdahulu Penelitian mengenai prediksi harga saham telah banyak dilakukan dengan berbagai macam metode dan algoritma untuk mendapatkan hasil prediksi yang akurat. Suprapto (2005) mengusulkan metode ARIMA (auto regressive integrated moving average) untuk melakukan prediksi nilai kurs. Adapun langkah-langkah metode ARIMA yang dilakukan oleh Suprapto sebagai berikut : 1. Melakukan pemeriksaan kestasioneran data dengan menggunakan ADF (augmented dickey-fuller). 2. Melakukan proses differencing (pembedaan) apabila data tidak stasioner. 3. Melakukan penentuan nilai derajat autoregressive (AR), tingkat proses differencing, dan derajat moving average (MA) dalam ARIMA. 4. Melakukan estimasi parameter metode ARIMA, lalu melakukan prediksi. 5. Menghitung tingkat error dengan mengunakan MAD (mean absolute deviation), MSE (mean squared error), dan MPE (mean percentage error). Setiawan (2008) melakukan penelitian mengenai prediksi harga saham menggunakan Jaringan Syaraf Tiruan Multilayer Feedforward Network dengan Algoritma Backpropagation. Langkah-langkah yang dilakukan oleh Setiawan dalam penelitiannya adalah sebagai berikut : Universitas Sumatera Utara 28 1. Inisialisasi nilai bobot dan bias yang dapat diatur dengan sembarang angka (acak) antara -0.5 dan 0.5, dan inisialisasi learning rate, maksimal iterasi dan toleransi error. 2. Lakukan iterasi selama stopping condition masih belum terpenuhi. Untuk menentukan stopping condition. Jika iterasi sudah melebihi maksimal iterasi maka pelatihan dihentikan. Jika menggunakan toleransi error dengan metode MAPE, bila nilai MAPE kurang dari atau sama dengan toleransi error maka pelatihan dihentikan. 3. Setiap unit input menerima sinyal input dan menyebarkannya pada seluruh hidden unit. 4. Setiap hidden unit akan menghitung sinyal-sinyal input dengan bobot dan nilai bias. Hasil perhitunan tersebut kemudian akan diproses dengan menggunakan fungsi aktivasi yang telah ditentukan sebelumnya sehingga diperoleh sinyal output dari hidden unit tersebut. 5. Setiap unit output akan menghitung sinyal-sinyal dari hidden unit dengan bobot dan nilai bias. Kemudian dengan menggunakan fungsi aktivasi yang telah ditentukan diperoleh sinyal output dari unit output tersebut. 6. Hitung kesalahan antara target output dengan output hasil menggunakan metode Mean Absolute Persentage Error. Jika masih belum memenuhi syarat, dilakukan penghitungan faktor koreksi error (δk). 7. Setiap hidden unit akan menghitung bobot yang dikirimkan output unit. Kemudian hasilnya dikalikan dengan turunan dari fungsi aktivasi untuk mendapatkan faktor koreksi error. 8. Setiap unit output akan memperbaharui bobotnya dari setiap hidden unit. Demikian pula setiap hidden unit akan memperbaharui bobotnya dari setiap unit input. 9. Memeriksa stopping condition. Universitas Sumatera Utara 29 Pada tahun 2011 Anwary melakukan penelitian mengenai prediksi nilai kurs dengan menggunakan fuzzy time series. Adapun langkah-langkah dari fuzzy time series (Anwary, 2011) adalah: 1. Menentukan himpunan semesta (universe of discourse) dan membaginya ke dalam interval yang panjangnya sama. 2. Mendefenisikan himpunan fuzzy pada himpunan semesta. 3. Melakukan fuzzifikasi pada data historis. 4. Memilih w (orde) yang paling sesuai dan menghitung operasi fuzzy. 5. Melakukan defuzzifikasi ouput yang diprediksi. Pada tahun 2012 Yuliandar melakukan penelitian mengenai prediksi nilai kurs dengan menggunakan metode feed forward neural network dengan algortima genetika, adapun langkah-langkah dari feed forward neural network dengan algortima genetika (Yuliandar, 2012) adalah: 1. Menginisialisasi populasi sebagai ruang sousi yang berisi kromosom-kromosom. 2. Setiap kromosom merepresentasikan beberapa gen dimana ketika didekodekan akan menghasilkan bobot atau parameter jaringan. 3. Kromosom-kromosom tersebut akan dievaluasi dengan menggunakan fungsi objektif tertentu untuk mendapatkan nilai fitness. 4. Generasi baru diperoleh dengan menyeleksi kromosom menggunakan metode seleksi tertentu serta menggunakan operator genetika. 5. Setelah melalui beberapa generasi yang ditentukan, maka algoritma genetika akan konvergen ke kromosom terbaik dan diperoleh solusi berupa nilai bobot atau parameter yang optimum. Universitas Sumatera Utara 30 Adapun beberapa penelitian sebelumnya yang telah dilakukan untuk memprediksi harga saham berdasarkan data histori dapat dilihat pada tabel 2.1 Tabel 2.3 Penelitian Sebelumnya Teknik yang Digunakan Autoregressive Integrated Moving Average (ARIMA) No Peneliti Tahun 1. Suprapto 2005 2. Setiawan 2008 Multilayer Feedforward Network 3. Anwary 2011 Fuzzy Time Series 4. Yuliandar 2012 Feed Forward Neural Network dengan Algoritma Genetika Kelemahan Digunakan untuk data jangka pendek, prosedur yang dilakukan berulangulang untuk menghasilkan prediksi yang terbaik, dan apabila ada data baru maka parameter ARIMA harus diestimasi ulang dan model dapat berubah total. Teknik yang digunakan terbatas pada jumlah iterasinya. Hubungan fuzzy tidak dapat diselesaikan sehingga hubungan fuzzy tidak bisa mencakup semua nilai dalam domain n/a Universitas Sumatera Utara