JARINGAN SYARAF TIRUAN PROPAGASI BALIK
TRIANA ENDANG
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR
BOGOR
SUMBER INFORMASI
Dengan ini saya menyatakan bahwa tesis Model Peramalan Harga Saham Dengan Jaringan Syaraf Tiruan Propagasi Balik adalah karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir tesis ini.
Bogor, Mei 2008 Triana Endang NRP G651060174
TRIANA ENDANG. Stock Price Forecasting Model Using Backpropagation Artificial Neural Network. Under direction of AGUS BUONO and AZIZ KUSTIYO.
It is a challenging task to predict the movement direction of financial markets such as stock market, in order to provide valuable information for investors’ decision making. Thus, various kinds of forecasting methods have been developed by many researchers and business professionals. Of the various forecasting models, the artificial neural networks, especially backpropagation neural network has proven to give good accuracy in forecasting time series data including stock price. This study used backpropagation neural network to model stock price forecasting of PT Bumi Resources closing price. Many forecasting models which combined 4 types of input (closing price, increasing/decreasing percentage, first differencing, and index number), 2 types of data length choosing methods and 6 different hidden neurons, were formed. Among these models, the best one is the one which uses increasing/decreasing percentage as the input types and the percentage of 1 to 44 previous days as data length. It could give the accuracy of Mean Absolute Error (MAE) Rp 214.92, Root Mean Square Error (RMSE) Rp 278.03 and Mean Absolute Percentage Error (MAPE) 3.518%, which are good for forecasting purposes.
Key Words : stock price, time series, forecasting model, backpropagation neural network
TRIANA ENDANG. Model Peramalan Harga Saham Dengan Jaringan Syaraf Tiruan Propagasi Balik. Dibimbing oleh AGUS BUONO dan AZIZ KUSTIYO.
Ekspektasi atau motivasi setiap investor yang bertransaksi di pasar modal, khususnya saham, adalah mendapatkan keuntungan. Namun saham memiliki karakteristik high risk-high return, artinya saham memungkinkan investor mendapatkan keuntungan (capital gain) dalam jumlah besar dalam waktu singkat, tetapi saham juga dapat membuat investor mengalami kerugian besar dalam waktu singkat. Untuk itu investor membutuhkan alat prediksi yang dapat membantunya dalam mengambil keputusan investasi pembelian saham. Data harga saham merupakan data deret waktu. Kenyataan mengenai harga saham dan hasil yang cukup baik dari penelitian – penelitian mengenai peramalan data deret waktu dengan jaringan syaraf tiruan propagasi balik, mendorong peneliti untuk melakukan peramalan harga saham dengan bantuan jaringan syaraf tiruan propagasi balik (JSTPB).
Dalam membangun model JSTPB untuk peramalan harga saham, harus ditentukan jenis data masukan dan rentang periode data yang optimum untuk peramalan serta arsitektur JSTPB yang paling cocok untuk peramalan harga saham terkait dengan jenis data masukan. Jenis data yang dikaji pada penelitian ini meliputi harga penutupan saham, persentase kenaikan/penurunan harga saham, harga saham yang telah dilakukan first differencing, dan harga saham yang telah diubah menjadi angka indeks. Sebelum dibuat model peramalan, terlebih dahulu dilakukan eksplorasi terhadap otokorelasi harga saham untuk menentukan periode yang akan digunakan sebagai masukan bagi JSTPB. Data harga saham yang digunakan pada penelitian ini adalah harga saham penutupan PT Bumi Resources (BUMI) periode 2005 hingga 17 April 2008, yaitu sebanyak 786 data. 716 data dijadikan sebagai data pelatihan, sedangkan 70 data dijadikan data pengujian.
Model peramalan yang dibuat dengan menggunakan 4 jenis data masukan tersebut dapat melakukan peramalan dengan akurasi yang baik. Namun model peramalan yang menggunakan data persentase kenaikan/penurunan dan first differencing lebih baik daripada yang menggunakan data harga penutupan dan angka indeks sebagai masukan. Model peramalan terbaik yang dihasilkan penelitian ini adalah model dengan menggunakan data masukan persentase kenaikan/penurunan harga penutupan dengan panjang masukan 1 sampai 44 hari sebelumnya dan 5 neuron tersembunyi. , dengan akurasi peramalan Mean Absolute Error (MAE) Rp 214.92, Root Mean Square Error (RMSE) Rp 278.03 dan Mean Absolute Percentage Error (MAPE) 3.518%. Dari model terbaik tersebut dibuat program aplikasi untuk memudahkan investor dalam melakukan peramalan harga penutupan saham.
Model peramalan yang dibuat pada penelitian ini hanya untuk satu periode ke depan, maka untuk penelitian selanjutnya bisa dikembangkan model peramalan yang dapat melakukan peramalan beberapa periode ke depan sehingga dapat digunakan oleh investor untuk pengambilan keputusan investasi saham jangka panjang. Hasil peramalan pada penelitian ini belum dibandingkan dengan metode peramalan lainnya, maka untuk lebih meyakinkan investor akan kelebihan model peramalan yang dibuat pada penelitian ini, ada baiknya dilakukan perbandingan dengan metode peramalan lainnya.
@ Hak Cipta milik IPB, tahun 2008
Hak cipta dilindungi Undang-undang
1. Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan atau menyebutkan sumber
a. Pengutipan hanya untuk kepentingan pendidikan, penelitian, penulisan karya ilmiah, penyusunan laporan, penulisan kritik atau tinjauan suatu masalah
b. Pengutipan tidak merugikan kepentingan yang wajar IPB
2. Dilarang mengumumkan dan memperbanyak sebagian atau seluruh karya tulis dalam bentuk apapun tanpa izin IPB
JARINGAN SYARAF TIRUAN PROPAGASI BALIK
TRIANA ENDANG
Tesis
sebagai salah satu syarat untuk memperoleh gelar Magister Sains pada
Departemen Ilmu Komputer
SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR
BOGOR
Nama : Triana Endang
NRP : G651060174
Disetujui Komisi Pembimbing
Ir. Agus Buono, M.Si., M.Kom. Aziz Kustiyo, S.Si., M.Kom.
Ketua Anggota
Diketahui
Ketua Program Studi Dekan Sekolah Pascasarjana Ilmu Komputer
Dr. Sugi Guritman Prof. Dr. Ir. Khairil A. Notodiputro, M.S.
Tanggal Ujian : 27 Mei 2008 Tanggal Lulus :
Penguji Luar Komisi pada Ujian Tesis : Irman Hermadi, S.Kom., M.S.
Puji dan syukur penulis panjatkan kepada Allah SWT atas segala petunjuk dan lindungan-Nya sehingga tesis dengan judul Model Peramalan Harga Saham Dengan Jaringan Syaraf Tiruan Propagasi Balik ini dapat diselesaikan dengan baik.
Terima kasih penulis ucapkan kepada Bapak Ir. Agus Buono, M.Si.,M.Kom.
dan Bapak Aziz Kustiyo, S.Si., M.Kom. selaku komisi pembimbing, serta pihak – pihak yang telah mendukung terselesaikannya tesis ini. Ucapan terima kasih yang tak terhingga penulis berikan kepada suami dan putra tercinta, serta ayah dan ibu, atas segala pengorbanan, doa dan kasih sayangnya sehingga penulis dapat menyelesaikan studi. Maka untuk merekalah tesis ini penulis persembahkan.
Semoga karya ilmiah ini dapat bermanfaat bagi kemajuan ilmu pengetahuan dan teknologi di masa mendatang.
Bogor, Mei 2008
Triana Endang
Penulis dilahirkan di Bandung pada tahun 1975 dari ayah Drs. Vinsensius Surjana, dan ibu Agustina Remita Kakisina. Penulis merupakan putri ketiga dari lima bersaudara.
Tahun 1993 penulis lulus dari SMA Negeri 1 Bogor dan pada tahun 2003 melanjutkan pendidikannya di jurusan Akuntansi Sekolah Tinggi Ilmu Ekonomi Kesatuan Bogor. Gelar sarjana akuntansi diperoleh penulis pada tahun 2005.
Penulis telah menikah dan dikaruniai seorang putra. Penulis berkarir di bidang akuntansi dan keuangan di beberapa perusahaan swasta.
Halaman
DAFTAR TABEL ... xii
DAFTAR GAMBAR ... xiiii
DAFTAR LAMPIRAN ... xv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Tujuan ... 2
1.3 Masalah ... 2
1.4 Ruang Lingkup ... 2
1.5 Manfaat ... 3
BAB II TINJAUAN PUSTAKA ... 4
2.1 Saham ... 4
2.2 Data deret waktu ... 10
2.2.1 Analisa data deret waktu ... 10
2.2.2 Pengukuran akurasi peramalan ... 13
2.2.3 Data deret waktu harga saham ... 14
2.3 Jaringan syaraf tiruan ... 14
2.3.1 Fungsi aktivasi ... 16
2.3.2 Fungsi pelatihan ... 17
2.3.3 Metode propagasi balik ... 20
2.4 Peramalan data deret waktu dengan jaringan syaraf tiruan ... 25
BAB III METODOLOGI PENELITIAN ... 28
3.1 Kerangka pemikiran ... 28
3.2 Prosedur penelitian ... 29
3.3 Pengumpulan data... 30
3.4 Perangkat lunak yang digunakan ... 30
BAB IV HASIL DAN PEMBAHASAN ... 31
4.1 Pemilihan emiten ... 31
4.2 Penentuan model masukan dan hasil pengujian ... 33
4.2.1 Harga Penutupan ... 33
4.2.3 First differencing ... 41
4.2.4 Angka indeks ... 45
4.3 Model terbaik ... 48
4.4 Program aplikasi ... 50
BAB V KESIMPULAN DAN SARAN ... 52
5.1 Kesimpulan ... 52
5.2 Saran ... 53
DAFTAR PUSTAKA ... 54
Halaman
1 Kombinasi berbagai model peramalan yang dibuat ... 30
2 Masukan dan dimensi matriks pelatihan dan pengujian harga penutupan ... 34
3 Nilai galat minimum model harga penutupan ... 35
4 Masukan dan dimensi matriks pelatihan dan pengujian persentase kenaikan/penurunan ... 37
5 Nilai galat minimum model persentase kenaikan/penurunan ... 38
6 Masukan dan dimensi matriks pelatihan dan pengujian first differencing ... 41
7 Nilai galat minimum model first differencing ... 43
8 Masukan dan dimensi matriks pelatihan dan pengujian angka indeks ... 46
9 Nilai galat minimum model angka indeks ... 47
10 Jumlah model peramalan yang dibuat dan MAPE minimum setiap jenis model ... 49
11 Perbandingan akurasi peramalan model terbaik berbagai jenis masukan ... 50
Halaman
1 Koefisien otokorelasi untuk suatu deret waktu nonstasioner ... 12
2 Koefisien otokorelasi first differences deret waktu nonstasioner ... 13
3 Neuron dengan satu masukan ... 15
4 Fungsi aktivasi hard limit ... 16
5 Fungsi aktivasi linear ... 16
6 Fungsi aktivasi log-sigmoid ... 17
7 Fungsi aktivasi hyperbolic tangent sigmoid ... 17
8 Arsitektur propagasi balik ... 21
9 Kerangka Pemikiran ... 28
10 Fluktuasi harga saham PT Bumi Resources ... 31
11 Fungsi otokorelasi harga penutupan ... 33
12 Arsitektur jaringan paling sederhana ... 34
13 Arsitektur jaringan paling rumit untuk data harga penutupan ... 35
14 Mean absolute error berbagai hidden neuron model harga penutupan ... 36
15 Hasil prediksi data pengujian harga penutupan ... 36
16 Fungsi otokorelasi persentase kenaikan/penurunan ... 38
17 Arsitektur jaringan paling rumit untuk data persentase kenaikan/penurunan . 39 18 Arsitektur jaringan persentase kenaikan/penurunan dengan masukan hanya pada lag signifikan ... 39
19 Mean absolute error berbagai hidden neuron model persentase kenaikan/ penurunan ... 40
20 Hasil prediksi data pengujian persentase kenaikan/penurunan ... 40
21 Fungsi otokorelasi first differencing ... 42
22 Arsitektur jaringan paling rumit untuk data first differencing ... 42
23 Arsitektur jaringan first differencing dengan masukan hanya pada lag signifikan ... 43
24 Mean absolute error berbagai hidden neuron model first differencing ... 44
25 Hasil prediksi data pengujian first differencing ... 44
26 Fungsi otokorelasi angka indeks ... 45
27 Arsitektur jaringan paling rumit untuk data angka indeks ... 46
28 Arsitektur jaringan angka indeks dengan masukan hanya pada lag signifikan ... 47
30 Hasil prediksi data pengujian angka indeks ... 48 31 Perbandingan mean absolute error berbagai jenis masukan ... 49 32 Program aplikasi peramalan harga penutupan ... 51
Halaman 1 Algoritma standar jaringan syaraf tiruan propagasi dengan fungsi aktivasi
sigmoid biner ... 57
2 Otokorelasi harga penutupan ... 59
3 Mean absolute error hasil pengujian harga penutupan ... 61
4 Otokorelasi persentase kenaikan/penurunan ... 63
5 Mean absolute error hasil pengujian persentase kenaikan/penurunan ... 65
6 Otokorelasi first differencing ... 67
7 Mean absolute error hasil pengujian first differencing ... 69
8 Otokorelasi angka indeks ... 71
9 Mean absolute error hasil pengujian angka indeks ... 73
BAB I PENDAHULUAN
1.1 Latar belakang
Ekspektasi atau motivasi setiap investor adalah mendapatkan keuntungan dari transaksi investasi yang mereka lakukan. Para investor yang bertransaksi di pasar modal, khususnya saham, pasti memiliki motivasi yang sama pula.
Bertransaksi saham memiliki potensi keuntungan dalam dua hal, yaitu pembagian deviden yang merupakan keuntungan perusahaan yang dibagikan kepada semua pemegang saham, dan capital gain yang didapat berdasarkan selisih harga jual saham dengan harga beli (Rusdin 2006).
Saham dikenal memiliki karakteristik high risk-high return. Artinya saham merupakan surat berharga yang memberikan peluang keuntungan yang tinggi namun juga berpotensi risiko tinggi. Saham memungkinkan pemodal mendapatkan keuntungan (capital gain) dalam jumlah besar dalam waktu singkat.
Namun seiring dengan berfluktuasinya harga saham, saham juga dapat membuat investor mengalami kerugian besar dalam waktu singkat. Untuk itu investor membutuhkan alat prediksi yang dapat membantunya dalam mengambil keputusan investasi pembelian saham.
Harga saham banyak dipengaruhi oleh berbagai faktor eksternal seperti politik, keamanan, psikologi pasar, dan sebagainya yang bersifat ekonomis maupun nonekonomis (Sulistiawan & Liliana 2007). Untuk itu sangatlah sulit untuk memprediksi harga di masa mendatang karena jika prediksi ingin dilakukan berdasarkan berbagai variabel yang mempengaruhinya, maka terlalu banyak variabel yang perlu dijadikan dasar prediksi harga saham tersebut. Namun pengaruh dari berbagai variabel tersebut akan tercermin pada naik turunnya harga saham itu sendiri (Sulistiawan & Liliana 2007).
Data harga saham merupakan data deret waktu. Peramalan data deret waktu yang menggunakan jaringan syaraf tiruan berhasil cukup baik jika dilakukan analisa terhadap data deret waktu untuk mendapatkan kecenderungan – kecenderungan yang terdapat pada data deret waktu tersebut. Dari hasil analisa tersebut kemudian ditentukan model – model masukan jaringan syaraf tiruan yang terdiri dari komponen – komponen penting data deret waktu yang akan diprediksi agar meningkatkan kemampuan jaringan syaraf tiruan dalam
meramal data deret waktu tersebut (Atiya & Shaheen 1999; Dutta et al. 2006;
Suhartono & Subanar 2006).
Kenyataan mengenai harga saham dan hasil yang cukup baik dari penelitian – penelitian mengenai peramalan data deret waktu dengan jaringan syaraf tiruan, mendorong peneliti untuk melakukan peramalan harga saham dengan bantuan jaringan syaraf tiruan. Pada penelitian ini, data harga saham terlebih dahulu dieksplorasi agar dapat menentukan model data yang digunakan sebagai masukan pada jaringan syaraf tiruan yang diharapkan akan memberikan hasil peramalan yang baik.
1.2 Tujuan
Membangun model jaringan syaraf tiruan propagasi balik untuk peramalan harga saham (studi kasus : harga saham penutupan PT BUMI Resources).
1.3 Masalah
Masalah – masalah yang timbul dalam rangka mencapai tujuan tersebut adalah sebagai berikut :
1. menentukan jenis data masukan dan rentang periode data yang optimum untuk peramalan.
2. menentukan arsitektur jaringan syaraf tiruan yang paling cocok untuk peramalan harga saham terkait dengan jenis data masukan.
1.4 Ruang lingkup
Ruang lingkup penelitian ini meliputi :
1. Jenis data yang dikaji pada penelitian ini meliputi harga saham, persentase kenaikan/penurunan harga saham, harga saham yang telah dilakukan first differencing, dan harga saham yang telah diubah menjadi angka indeks.
2. Melakukan eksplorasi terhadap otokorelasi harga saham pada masing – masing jenis masukan untuk menentukan periode yang digunakan sebagai masukan jaringan syaraf tiruan.
3. Membuat berbagai model peramalan harga saham untuk satu periode ke depan menggunakan jaringan syaraf tiruan propagasi balik.
4. Membuat program aplikasi dengan menggunakan perangkat lunak Matlab versi 6.5.1 dari model yang terpilih.
5. Harga saham yang digunakan dalam pembuatan model peramalan adalah harga saham penutupan PT Bumi Recources (BUMI) periode 2005 hingga April 2008.
1.5 Manfaat
Penelitian ini memberikan hasil berupa model peramalan menggunakan jaringan syaraf tiruan propagasi balik yang diharapkan dapat dipakai sebagai masukan bagi investor dalam membuat keputusan investasi pembelian saham.
BAB II
TINJAUAN PUSTAKA
2.1 Saham
Saham merupakan salah satu produk yang diperjualbelikan di pasar modal.
Saham dapat didefinisikan sebagai tanda penyertaan atau kepemilikan seseorang atau badan dalam suatu perusahaan atau perseroan terbatas. Wujud saham berupa selembar kertas yang menerangkan pemiliknya. Akan tetapi, sekarang ini sistem tanpa warkat sudah mulai dilakukan di pasar modal Jakarta di mana bentuk kepemilikan tidak lagi berupa lembaran saham yang diberi nama pemiliknya tapi sudah berupa account atas nama pemilik atau saham tanpa warkat. Jadi penyelesaian transaksi akan semakin cepat dan mudah.
Daya tarik dari investasi saham adalah dua keuntungan yang dapat diperoleh pemodal dengan membeli saham atau memiliki saham, yaitu (Rusdin 2006) :
1. dividen, merupakan keuntungan yang diberikan perusahaan penerbit saham atas keuntungan yang dihasilkan perusahaan. Biasanya dividen dibagikan setelah adanya persetujuan pemegang saham dan dilakukan setahun sekali.
Agar investor berhak mendapatkan dividen, pemodal tersebut harus memiliki saham tersebut untuk kurun waktu tertentu hingga kepemilikan saham tersebut diakui sebagai pemegang saham dan berhak mendapatkan dividen.
Dividen yang diberikan perusahaan dapat berupa dividen tunai, di mana pemodal atau pemegang saham mendapatkan uang tunai sesuai dengan jumlah saham yang dimiliki dan dividen saham di mana pemegang saham mendapatkan jumlah saham tambahan.
2. capital gain, merupakan selisih antara harga beli dan harga jual yang terjadi.
Capital gain terbentuk dengan adanya aktivitas perdagangan di pasar sekunder. Sebagai contoh, misal saja saham yang dibeli dengan harga per sahamnya Rp 1.800,- dan dijual dengan harga Rp 2.200,- berarti mendapatkan capital gain sebesar Rp 400,- per lembar sahamnya. Umumnya investor jangka pendek mengharapkan keuntungan dari capital gain.
Saham dikenal memiliki karakteristik high risk-high return. Artinya saham merupakan surat berharga yang memberikan peluang keuntungan yang tinggi namun juga berpotensi risiko tinggi. Saham memungkinkan pemodal
mendapatkan keuntungan (capital gain) dalam jumlah besar dalam waktu singkat.
Namun seiring dengan berfluktuasinya harga saham, saham juga dapat membuat investor mengalami kerugian besar dalam waktu singkat.
Jadi bila memutuskan untuk berinvestasi dalam bentuk saham, yang perlu ditelaah ulang adalah tingkat risiko yang terkandung (high risk) sesuai dengan tingkat risiko yang bisa ditanggung.
Sebagai investor, terdapat 3 alasan membeli saham tertentu (Tambunan 2007) :
1. Income. Pertimbangan dalam berinvestasi dalam saham untuk mendapatkan pendapatan yang tetap dari hasil investasi pertahunnya, sebaiknya membeli saham pada perusahaan yang sudah mapan dan memberikan dividen secara regular.
2. Growth. Pertimbangan investasi untuk jangka panjang dan memberikan hasil yang besar di masa datang, berinvestasi pada saham perusahaan yang sedang berkembang (biasanya perusahaan teknologi) memberikan keuntungan yang besar, karena kebijakan dari perusahaan yang sedang berkembang biasanya keuntungan perusahaan akan diinvestasikan kembali ke perusahaan maka perusahaan tidak memberikan dividen bagi investor.
Keuntungan bagi investor hanya dari kenaikan harga saham apabila saham tersebut dijual di masa datang (kenaikan harga saham yang besar).
3. Diversification. Membeli saham untuk kepentingan portofolio. Berinvestasi dalam saham sangat memerlukan pengetahuan yang luas tentang perusahaan itu sendiri.
Dalam perdagangan saham, jumlah yang diperjualbelikan dilakukan dalam satuan perdagangan yang disebut lot. Di Bursa Efek Jakarta, satu lot berarti 500 lembar saham.
Dalam memprediksi atau menghitung harga wajar suatu saham, ada dua jenis analisa yang dapat dilakukan (Rusdin 2006) :
1. Analisa teknikal (technical analysis) 2. Analisa fundamental
Analisa teknikal adalah salah satu metode pendekatan yang mengevaluasi pergerakan suatu harga saham, kontrak berjangka (future contract), indeks dan beberapa instrumen keuangan lainnya. Para analis teknikal ini melakukan penelitian yang mendasar terhadap pola pergerakan harga komoditi yang
berulang dan dapat diprediksi. Bahkan analisis teknikal bisa juga diartikan suatu studi utama mengenai harga, termasuk besarnya (volume) dan posisi terbuka (open interest). Jadi pada intinya, analisa teknikal merupakan analisa terhadap pola pergerakan harga di masa lampau dengan tujuan untuk meramalkan pergerakan harga di masa yang akan datang.
Analisa teknikal ini sering juga disebut dengan chartist karena para analisisnya melakukan studi dengan menggunakan grafik (chart), di mana para analis berharap dapat menemukan suatu pola pergerakan harga sehingga mereka dapat mengeksploitasinya untuk mendapatkan keuntungan.
Dalam analisa teknikal, prediksi pergerakan harga saham sama seperti prediksi pergerakan harga komoditi karena para analis hanya melihat faktor grafik dan volume transaksi saja.
Tiga prinsip yang digunakan sebagai dasar dalam melakukan analisa teknikal, yaitu (Sulistiawan & Liliana 2007) :
1. Market price discounts everything, Yaitu segala kejadian-kejadian yang dapat mengakibatkan gejolak pada bursa saham secara keseluruhan atau harga saham suatu perusahaan seperti faktor ekonomi, politik fundamental dan termasuk juga kejadian-kejadian yang tidak dapat diprediksikan sebelumnya seperti adanya peperangan, gempa bumi dan lain sebagainya akan tercermin pada harga pasar.
2. Price moves in trend, yaitu harga suatu saham akan tetap bergerak dalam suatu trend. Harga mulai bergerak ke satu arah, turun atau naik. Trend ini akan berkelanjutan sampai pergerakan harga melambat dan memberikan peringatan sebelum berbalik dan bergerak kearah yang berlawanan.
3. History repeats itself. Karena analisis teknikal juga menggambarkan faktor psikologis para pelaku pasar, maka pergerakan historis dapat dijadikan acuan untuk memprediksi pergerakan harga di masa yang akan datang. Pola historis ini dapat terlihat dari waktu ke waktu di grafik. Pola-pola ini mempunyai makna yang dapat diinterprestasikan untuk memprediksikan pergerakan harga.
Analisa Fundamental adalah studi tentang ekonomi, politik, keuangan, untuk memperhitungkan nilai tukar mata uang suatu negara terhadap nilai tukar mata uang negara lain (Rusdin 2006). Setiap berita baik yang berhubungan langsung maupun tidak langsung dengan ekonomi dapat merupakan suatu faktor
fundamental yang penting untuk dicermati. Berita-berita itu dapat berupa berita yang menyangkut perubahan ekonomi, perubahan tingkat suku bunga, pemilihan presiden, pemberontakan dalam suatu pemerintahan negara, bencana alam, dan lain-lain. Faktor-faktor fundamental yang sifatnya luas dan kompleks tersebut dapat dikelompokkan ke dalam empat kategori besar (Tambunan 2007), yaitu : 1. Faktor ekonomi
Dalam menganaisa faktor-faktor yang mempengaruhi kondisi fundamental perekonomian suatu negara, indikator ekonomi adalah salah satu faktor yang tidak dapat dipisahkan dan merupakan bagian penting dari keseluruhan faktor fundamental itu sendiri. Indikator-indikator ekonomi yang sering digunakan dalam analisa fundamental, yaitu :
a. Gross National Product, adalah total produksi barang dan jasa yang diproduksi oleh penduduk negara tersebut baik yang bertempat tinggal/
berdomisili di dalam negeri maupun yang berada di luar negeri dalam suatu periode tertentu.
b. Gross Domestic Product, adalah penjumlahan seluruh barang dan jasa yang diproduksi oleh suatu negara baik oleh perusahaan dalam negeri maupun oleh perusahaan asing yang beroperasi di dalam negara tersebut pada suatu waktu/ periode tertentu.
c. Inflasi. Seorang trader akan selau memperhatikan dengan seksama perkembangan tingkat inflasi. Salah satu cara pemerintah dalam menanggulangi inflasi adalah dengan melakukan kebijakan menaikkan tingkat suku bunga. Penggunaan tingkat inflasi sebagai salah satu indikator fundamental ekonomi adalah untuk mencerminkan tingkat GDP dan GNP ke dalam nilai sebenarnya. Nilai GDP dan GNP riil merupakan indikator yang sangat penting bagi seorang trader dalam membandingkan peluang dan resiko investasinya di mancanegara. Berikut ini adalah indikator-indikator inflasi yang biasanya digunakan oleh para trader :
• Producer Price Index (PPI), adalah indeks yang mengukur rata-rata perubahan harga yang diterima oleh produsen domestik untuk setiap output yang dihasilkan dalam setiap tingkat proses produksi. Data PPI dikumpulkan dari berbagai sektor ekonomi terutama dari sektor manufaktur, pertambangan, dan pertanian.
• Consumer Price Index (CPI), digunakan untuk mengukur rata-rata perubahan harga eceran dari sekelompok barang dan jasa tertentu.
Indeks CPI dan PPI digunakan oleh seorang trader sebagai indikator untuk mengukur tingkat inflasi yang terjadi.
• Balance of Payment, adalah suatu neraca yang terdiri dari keseluruhan aktivitas transaksi perekonomian internasional suatu negara, baik yang bersifat komersial maupun finansial, dengan negara lain pada suatu periode tertentu. Balance of Payment ini mencerminkan seluruh transaksi antara penduduk, pemerintah, dan pengusaha dalam negeri dan pihak luar negeri, seperti transaksi ekspor dan impor, investasi portofolio, transaksi antar Bank Sentral, da lain-lain. Dengan adanya Balance of Payment ini dapat diketahui kapan suatu negara mengalami surplus maupun defisit. Secara garis besar Balance of Payment dibagi menjadi 2 bagian, yaitu :
o Current Account. Neraca perdagangan dapat diartikan aliran sebagai aliran bersih dari total ekspor dan impor barang dan jasa merupakan penerimaan atau penghasilan. Dengan adanya ekspor maka akan diterima sejumlah uang yang nantinya akan menambah permintaan terhadap mata uang negara pengekspor.
Begitu juga sebaliknya pada impor barang dan jasa. Dengan adanya impor harus dikeluarkan sejumlah uang untuk membayar barang dan jasa yang kita impor. Hal ini akan menambah penawaran akan mata uang negara pengimpor.
o Aliran Modal, dapat dibagi menjadi 2 bagian yaitu investasi langsung dan investasi tidak langsung. Pada investasi langsung, investor dari luar negeri melakukan penanaman uang dalam aset riil misalnya saja membangun pabrik, gedung perkantoran dll.
Investasi ini biasanya bersifat jangka panjang, sedangkan investasi tidak langsung dapat kita temui di dalam investasi instrumen keuangan. Misalnya seorang investor melakukan pembelian saham atau obligasi di bursa Indonesia, maka investor tersebut harus menukarkan mata uangnya ke rupiah supaya dapat membeli saham ataupun obligasi di Indonesia.
• Employment, adalah suatu indikator yang dapat memberikan gambaran tentang kondisi rill berbagai sektor ekonomi. Indikator ini dapat dijadikan alat untuk menganalisa sehat atau tidaknya perekonomian suatu negara. Apabila perekonomian berada dalam
keadaan full capacity/kapasitas penuh, akan tercapai full employment.
Namun jika perekonomian dalam keadaan lesu, tingkat pengangguran pun meningkat. Tingkat employment ini adalah indikator ekonomi yang sangat penting bagi pasar keuangan pada umumnya dan pasar valuta asing khususnya.
2. Faktor politik
Faktor politik, sebagai salah satu alat indikator untuk memprediksi pergerakan nilai tukar, sangat sulit untuk diketahui waktu terjadinya secara pasti dan untuk ditentukan dampaknya terhadap fluktuasi nilai tukar. Ada kalanya suatu perkembangan politik berdampak pada pergerakan nilai tukar, namun ada kalanya tidak membawa dampak apa pun terhadap pergerakan nilai tukar.
3. Faktor keuangan
Faktor keuangan sangat penting dalam analisa fundamental. Adanya perubahan dalam kebijakan moneter dan fiskal yang diterapkan oleh pemerintah, terutama dalam hal kebijakan yang menyangkut perubahan tingkat suku bunga, akan membawa dampak signifikan terhadap perubahan dalam fundamental ekonomi. Perubahan kebijakan ini juga mempengaruhi nilai mata uang. Tingkat suku bunga adalah penentu utama nilai tukar suatu mata uang selain indikator lainnya seperti jumlah uang yang beredar. Aturan umum mengenai kebijakan tingkat suku bunga ini adalah semakin tinggi tingkat suku bunga semakin kuat nilai tukar mata uang. Namun, kadang kala terdapat salah pegertian bahwa kenaikan tingkat suku bunga secara otomatis akan memicu menguatnya nilai tukar mata uang domestik. Perhatian terhadap suku bunga ini terutama harus dipusatkan pada tingkat suku bunga riil, bukan pada tingkat suku bunga nominal. Hal tersebut dikarenakan perhitungan tingkat suku bunga riil telah menyertakan variabel tingkat inflasi di dalamnya.
4. Faktor Eksternal
Faktor eksternal dapat membawa perubahan yang sangat signifikan terhadap nilai tukar suatu negara. Perubaha ekonomi yang terjadi dalam suatu negara dapat membawa dampak (regional effect) bagi perekonomian negara-negara lain yang terdapat dalam kawasan yang sama. Dalam era global, asset allocation, arus portofolio modal tidak lagi mengenal batas-batas wilayah
negara. Para fund manager, investor, dan hedge funds yang melakukan investasi secara global, sangat mencermati perubahan ekonomi, bukan hanya dalam lingkup satu negara, melainkan juga meluas hingga ke dalam lingkup satu kawasan/regional tertentu.
2.2 Data deret waktu
Data harga saham merupakan data deret waktu. Data deret waktu adalah observasi yang berurutan secara kronologis dari suatu variabel (Hanke & Reitsch 1995). Waktu observasi biasanya tetap, misalnya per jam, per hari, per minggu, per bulan, dsb. Data deret waktu biasanya dianalisa untuk menemukan pola – pola pertumbuhan atau perubahan masa lalu yang dapat digunakan untuk memprediksi pola – pola masa mendatang sejalan dengan kebutuhan operasi bisnis. Analisa data deret waktu bermanfaat dalam proses peramalan dan membantu mengurangi kesalahan dalam peramalan.
Teknik – teknik peramalan data deret waktu berusaha untuk menghitung perubahan sepanjang waktu dengan memeriksa pola – pola, siklus atau tren, atau menggunakan informasi mengenai periode waktu sebelumnya untuk memperkirakan hasil untuk periode waktu mendatang (Black 2004).
2.2.1 Analisa data deret waktu
Beberapa analisa dapat diterapkan pada data deret waktu untuk menentukan unsur – unsur statistiknya sehingga dapat memberikan gambaran mengenai model yang mungkin cocok untuk data tersebut. Salah satu analisa tersebut adalah koefisien otokorelasi.
Rata – rata dan varians (atau standar deviasi) dari suatu data deret waktu mungkin tidak terlalu bermanfaat jika data deret waktu tersebut nonstasioner, namun nilai minimum dan maksimum bisa berguna (untuk tujuan plot atau dalam menemukan pencilan). Kunci statistik pada analisa data deret waktu adalah koefisien otokorelasi, yaitu hubungan data deret waktu dengan dirinya sendiri, dengan lag 0, 1, 2, atau lebih periode.
Koefisien korelasi antara Yt dan Yt-1 dapat ditentukan sebagai berikut (Makridakis et al. 1983) :
1) (Std.dev.Yt t)
(Std.dev.Y
1) Yt tdan Y antara e (Covarianc
1 Yt Yt r
× −−
− = (1)
∑
∑
∑
= − −
=
= − −
−
−
−
−
=
n
2 t
12 1 t t n
1 t
t 2 t n
2 t
1 1 t t t t
) Y (Y )
Y (Y
) Y )(Y Y (Y
(2)
∑
∑
=
= −
−
−
−
= n
1 t
2 t n
2
t t t 1
) Y (Y
) Y )(Y Y (Y
(3)
di mana Yt = data deret waktu mulai periode pertama Yt-1 = data deret waktu yang telah digeser 1 periode
1 tYt
rY
− = otokorelasi antara Yt dan Yt-1
Y = rata – rata data deret waktu
Maka otokorelasi untuk lag waktu 1, 2, 3, 4, …, k dapat dihitung sebagai berikut (Makridakis et al. 1983) :
∑ −
∑ − −
=
=
= +
n 1 t
2 t k - n
1
t t t k
) Y (Y
) Y )(Y Y (Y
rk (4) di mana Yt = data deret waktu mulai periode pertama
Yt+k = data deret waktu yang telah digeser k periode rk = otokorelasi antara Yt dan Yt+k
Y = rata – rata data deret waktu
Otokorelasi dari data yang stasioner menurun menuju nol setelah lag waktu kedua atau ketiga, sementara data nonstationer bernilai jauh dari nol untuk beberapa periode waktu. Jika digambarkan dengan grafik, otokorelasi data nonstasioner menunjukkan sebuah tren secara diagonal dari kanan ke kiri sejalan dengan meningkatnya lag waktu. Gambar 1 menunjukkan grafik dari otokorelasi untuk sebuah deret waktu nonstasioner. Otokorelasi dari satu sampai lima lag waktu jauh dari nol secara signifikan dan adanya suatu tren dapat terlihat dengan jelas (Makridakis et al. 1983).
Adanya sebuah tren (linear atau nonlinear) pada data menunjukkan bahwa nilai yang berurutan akan berhubungan secara positif satu sama lain. Otokorelasi untuk satu lag waktu, r1, akan relatif besar dan positif. Otokorelasi untuk dua lag waktu juga akan relatif besar dan positif, tetapi tidak sebesar r1, karena
komponen galat acak telah dua kali dihitung. Sama halnya secara umum, rk
untuk data nonstasioner akan relatif besar dan positif, hingga k cukup besar untuk komponen galat acak mempengaruhi otokorelasi.
Lag Nilai -1 -.08 -.06 -.04 -.02 0 0.2 0.4 0.6 0.8 1 1 0.889 * * * * * * * * * * * * * * * * * * * 2 0.765 * * * * * * * * * * * * * * * * 3 0.631 * * * * * * * * * * * * * * 4 0.509 * * * * * * * * * * * 5 0.400 * * * * * * * * * 6 0.313 * * * * * * * 7 0.230 * * * * * * 8 0.188 * * * * * 9 0.149 * * * * 10 0.108 * * *
Gambar 1 Koefisien otokorelasi untuk suatu deret waktu nonstasioner Sebelum membangun sebuah model deret waktu, penting untuk menghilangkan ketidakstasioneran data. Hal tersebut dapat dicapai secara rutin dengan melakukan metode differencing. Untuk mencapai data yang stasioner, sebuah deret waktu baru dibentuk dari data yang terdiri dari selisih data dengan data periode berurutan sebelumnya (Makridakis et al. 1983) :
X’t = Xt – Xt-1 (5) Deret waktu baru X’t akan memiliki n-1 nilai dan akan bersifat stasioner jika tren pada data asli Xt adalah linear (tingkat pertama).
Data pada Gambar 1 jika dilakukan differencing pertama akan menghasilkan otokorelasi seperti yang ditunjukan pada Gambar 2 (Makridakis et al. 1983), yang memperlihatkan bahwa koefisien otokorelasi pertama dan kedua jauh dari nol secara signifikan namun yang lainnya tidak, hal ini menunjukkan bahwa deret waktu tersebut pada differencing pertama telah berubah menjadi data berbentuk stasioner.
Jika otokorelasi dari data yang telah di differencing satu kali tidak turun mendekati nol setelah lag kedua atau ketiga, hal ini menunjukkan keadaan stasioner belum tercapai sehingga differencing pertama dari data yang telah dilakukan differencing tersebut harus dilakukan (Makridakis et al. 1983) :
X’’t = X’t – X’t-1 = Xt – 2Xt-1 + Xt-2 (6) X’’t adalah deret waktu differencing tingkat kedua. Deret waktu ini akan memiliki nilai sebanyak n – 2.
Lag Nilai -1 -.08 -.06 -.04 -.02 0 0.2 0.4 0.6 0.8 1 1 0.625 *********************
2 0.284 **********
3 -0.045 ***
4 -0.225 **********
5 -0.188 ******
6 -0.069 ****
7 0.068 ****
8 0.156 *****
9 0.009 *
10 -0.037 **
Gambar 2 Koefisien otokorelasi first differences deret waktu nonstasioner Untuk data stasioner, musim dapat ditentukan dengan mencari koefisien otokorelasi dua atau tiga lag waktu yang bernilai jauh dari nol secara signifikan.
Namun jika ada pola lain pada data, seperti tren, menentukan musim pada data menjadi sulit. Setelah tren ditemukan, harus dilakukan differencing terhadap data dan otokorelasi dari deret waktu yang telah dilakukan differencing harus dihitung.
Jika deret waktu yang telah dilakukan differencing tersebut memiliki nilai – nilai yang jauh dari nol secara signifikan pada titik – titik musim, maka data tersebut telah stasioner.
2.2.2 Pengukuran akurasi peramalan
Untuk mengetahui teknik peramalan yang paling baik meramalkan masa depan adalah dengan membandingkan nilai hasil peramalan dengan nilai sebenarnya dan kemudian menentukan jumlah galat peramalan yang dihasilkannya. Beberapa metode dapat digunakan untuk menghitung galat suatu peramalan, antara lain mean absolute error (MAE), root mean square error (RMSE) dan mean absolute percentage error (MAPE).
Berikut ini adalah rumus perhitungan akurasi peramalan tersebut (Mendenhall et al. 1993) :
∑ −
= = n 1
t yt yt
n
1 ˆ
MAE (7)
( )
∑ −
= =
n 1 t
2 t
t y
n y
1 ˆ
RMSE (8)
(
100%)
y y y n 1 n
1
t t
t
∑ t −
= =
ˆ
MAPE (9)
Perbedaan dasar antara MAE dan RMSE adalah bahwa dengan nilai galat yang dipangkatkan, RMSE memberikan penalti pada galat – galat yang besar lebih berat dibandingkan dengan MAE. Maka MAE adalah ukuran akurasi peramalan yang cocok jika kerugian akibat terjadinya galat peramalan meningkat secara linear dengan besarnya galat tersebut. RMSE lebih baik jika kerugian akibat terjadinya galat yang besar lebih mahal secara tidak proporsional.
Karena MAPE diukur dalam persentase maka MAPE tidak memiliki satuan, sehingga berguna untuk membandingkan kinerja suatu model pada berbagai deret waktu yang berbeda. Namun jika suatu deret waktu memiliki nilai yang sangat kecil sehingga pembagian dengan nilai tersebut cenderung berpengaruh terlalu besar terhadap MAPE, maka penggunaan MAPE tidak disarankan.
2.2.3 Data deret waktu harga saham
Karena harga saham cenderung dipengaruhi oleh faktor eksternal seperti inflasi, maka nilai harga saham cenderung berubah dari waktu ke waktu. Salah satu cara untuk mengatasi hal tersebut agar harga dari waktu ke waktu dapat diperbandingkan adalah dengan menggunakan nilai indeks.
Nilai indeks adalah sebuah ukuran statistik dari fluktuasi dalam nilai sebuah variabel yang tersusun dalam bentuk deret waktu dan sebuah periode dasar untuk membuat perbandingan. Salah satu nilai indeks yang dapat digunakan untuk data deret waktu harga saham adalah link relatives yang dihitung dengan persamaan 10 (Arora & Arora 2005).
P 100 Relatives P Link
0 1 ×
= (10)
di mana P1 = harga periode saat ini P0 = harga periode sebelumnya
2.3 Jaringan syaraf tiruan
Semua fungsi – fungsi syaraf biologis, termasuk memory, disimpan dalam sel syaraf (neuron) dan dalam hubungan antar neuron. Pembelajaran dipandang sebagai pembentukan hubungan baru antar neuron atau modifikasi dari hubungan yang telah ada. Ide tersebut yang mengilhami pembentukan jaringan syaraf tiruan yang digunakan dalam penelitian ini meskipun hanya berupa
abstraksi sederhana dari sel syaraf biologis. Jaringan syaraf tiruan ini tidak mendekati kerumitan otak manusia, tetapi dapat dilatih untuk melakukan fungsi – fungsi yang berguna. Ada dua kesamaan antara jaringan syaraf biologis dan tiruan (Hagan et al. 2002). Pertama, bagian – bagian pembentuk kedua jaringan merupakan alat – alat perhitungan sederhana (meskipun sel syaraf tiruan jauh lebih sederhana daripada sel syaraf biologis) yang sangat berhubungan satu dengan yang lainnya. Kedua, hubungan antara sel – sel syaraf menentukan fungsi dari jaringan tersebut.
Contoh neuron dengan satu masukan pada jaringan syaraf tiruan ditunjukkan pada Gambar 3, di mana masukan p yang berupa skalar dikalikan dengan bobot w yang juga berupa skalar untuk menghasilkan wp, yang merupakan salah satu bagian yang dikirim ke penjumlah (Hagan et al. 2002).
Masukan yang lain, 1, dikalikan dengan sebuah bias b dan kemudian dikirim juga ke penjumlah. Keluaran dari penjumlah yaitu n, yang biasa disebut sebagai masukan jaringan, dikirim ke sebuah fungsi aktivasi, f, yang menghasilkan sebuah keluaran neuron skalar a.
Gambar 3 Neuron dengan satu masukan
Keluaran neuron dihitung sebagai
a = ƒ ( wp + b ) (11) Keluaran yang dihasilkan tergantung pada fungsi aktivasi yang dipilih. Bias mirip dengan bobot, hanya saja bias memiliki masukan yang tetap, yaitu 1. Parameter w dan b merupakan parameter skalar yang dapat disesuaikan. Biasanya fungsi aktivasi dipilih oleh perancang jaringan dan kemudian parameter w dan b akan disesuaikan dengan suatu aturan pembelajaran sehingga hubungan antara masukan dan keluaran neuron memenuhi suatu target tertentu.
2.3.1 Fungsi aktivasi
Ada beberapa fungsi aktivasi yang dapat digunakan untuk tujuan yang berbeda. Fungsi aktivasi bisa berupa sebuah fungsi linear atau nonlinear dari n.
Suatu fungsi aktivasi dipilih untuk memenuhi beberapa spesifikasi dari masalah yang akan diselesaikan oleh neuron.
Fungsi aktivasi yang banyak digunakan adalah sebagai berikut (Hagan et al.
2002) :
1. Hard limit (Gambar 4), menetapkan keluaran dari neuron menjadi 0 jika argumen fungsi kurang dari 0, atau 1 jika argumenya lebih besar dari atau sama dengan 0 (persamaan 12). Fungsi aktivasi ini digunakan untuk menciptakan neuron yang mengklasifikasikan masukan menjadi dua kategori yang berbeda.
 〈
= 0 jika n ≥0 0 n jika 1
a (12)
Gambar 4 Fungsi aktivasi hard limit
2. Linear (Gambar 5). Keluaran dari fungsi aktivasi ini sama dengan masukannya (a = n)
Gambar 5 Fungsi aktivasi linear
3. Log – sigmoid (Gambar 6). Fungsi aktivasi ini mengubah masukan (yang nilainya berkisar antara plus dan minus tak hingga) menjadi output yang memiliki kisaran antara 0 dan 1, sesuai dengan persamaan 13.
e n
1
a 1−
= + (13)
Gambar 6 Fungsi aktivasi log-sigmoid
4. Hyperbolic Tangent Sigmoid (Gambar 7). Merupakan bentuk bipolar dari fungsi sigmoid (Ham & Kostanic 2001). Batas jenuh dari fungsi ini memiliki sebuah kisaran bipolar, sesuai dengan persamaan 14.
n n
-n n
e e
e -
a e −
= + (14)
Gambar 7 Fungsi aktivasi hyperbolic tangent sigmoid
2.3.2 Fungsi pelatihan
Fungsi pelatihan merupakan suatu prosedur untuk memodifikasi bobot dan bias dalam jaringan. Tujuan dari fungsi pelatihan adalah untuk melatih jaringan melakukan beberapa tugas. Ada banyak jenis fungsi pelatihan jaringan syaraf tiruan yang dikelompokkan ke dalam tiga kategori umum, yaitu supervised learning, unsupervised learning dan reinforcement learning.
Pada supervised learning, untuk pelatihan disediakan sekumpulan contoh (training set) dari perilaku jaringan yang diharapkan :
{p1,t1} , {p2,t2} , … , {pQ,tQ} ,
di mana pq adalah sebuah masukan jaringan dan tq adalah target keluaran yang diharapkan. Pada saat masukan – masukan dimasukan ke dalam jaringan, keluaran – keluaran jaringan dibandingkan dengan target – target. Kemudian fungsi pelatihan digunakan untuk menyesuaikan bobot – bobot dan bias – bias jaringan agar keluaran jaringan semakin dekat dengan target.
Pada unsupervised learning, bobot – bobot dan bias – bias dimodifikasi hanya sebagai respon dengan masukan jaringan. Tidak ada target keluaran yang disediakan. Kebanyakan dari algoritma jenis ini dijalankan untuk melakukan beberapa jenis operasi pengklasteran. Algoritma – algoritma tersebut belajar untuk mengkategorikan pola – pola masukan menyadi sejumlah kelas tertentu.
Reinforcement learning mirip dengan supervised learning, perbedaannya adalah untuk setiap masukan hanya diberikan sebuah nilai tidak disediakan keluaran yang tepat seperti pada supervised learning. Nilai tersebut merupakan suatu ukuran dari kinerja jaringan terhadap beberapa urutan masukan – masukan. Pembelajaran jenis ini jarang digunakan dibandingkan dengan supervised learning (Hagan et al. 2002). Pembelajaran ini lebih cocok digunakan untuk aplikasi – aplikasi pengendalian sistem.
Beberapa fungsi pelatihan pada jaringan syaraf tiruan antara lain : a. Steepest descent
Algoritma steepest descent untuk memperkirakan mean square error adalah (Hagan et al. 2002) :
m ij m
ij m
ij w w
w k k F
∂
− ∂
=
+ ˆ
a ) 1)
( ( (15)
m i m
i m
i b b
b k k F
∂
− ∂
=
+ ˆ
a ) 1)
( ( (16) dimana a adalah laju pembelajaran.
b. Conjugate Gradient
Merupakan teknik numerik yang digunakan untuk menyelesaikan berbagai masalah optimasi. Beberapa metode untuk melatih jaringan syaraf tiruan berdasarkan pada metode conjugate gradient telah dikembangkan.
Dengan menggunakan metode ini untuk menyesuaikan bobot jaringan, akan mempercepat proses pelatihan (Ham & Kostanic 2001).
c. Momentum
Pada propagasi balik standar, perubahan bobot didasarkan atas gradien yang terjadi untuk pola yang dimasukkan saat itu. Modifikasi yang dapat dilakukan adalah melakukan perubahan bobot yang didasarkan atas arah gradien pola terakhir dan pola sebelumnya (disebut momentum) yang dimasukkan. Jadi tidak hanya pola masukan terakhir saja yang diperhitungkan.
Penambahan momentum dimaksudkan untuk menghindari perubahan bobot yang mencolok akibat adanya data yang sangat berbeda dengan yang lain (pencilan). Apabila beberapa data terakhir yang diberikan ke jaringan memiliki pola serupa (berarti arah gradien sudah benar), maka perubahan bobot dilakukan secara cepat. Namun apabila data terakhir yang dimasukkan memiliki pola yang berbeda dengan pola sebelumnya, maka perubahan dilakukan secara lambat.
Dengan penambahan momentum, bobot baru pada waktu ke (t+1) didasarkan atas bobot pada waktu t dan (t-1). Disini harus ditambahkan 2 variabel baru yang mencatat besarnya momentum untuk 2 iterasi terakhir.
Jika µ adalah konstanta (0= µ =1) yang menyatakan parameter momentum maka bobot baru dihitung berdasarkan persamaan (Siang 2005) :
1)) ( ) ( ( )
( 1)
(t+ =w t +ad z +µ w t −w t−
wkj kj k j kj kj (17) dan
1)) ( ) ( ( )
( 1)
(t + =v t +ad x +µ v t −v t−
vji ji j i ji ji (18)
d. Levenberg-Marquardt Algorithm
Merupakan variasi dari metode Newton yang dirancang untuk meminimalkan fungsi yang merupakan penjumlahan kuadrat dari fungsi nonlinear lainnya. Hal ini sangat cocok untuk pelatihan jaringan syaraf yang indeks kinerjanya adalah mean square error. Algoritma Levenberg-Marquardt untuk propagasi balik adalah sebagai berikut (Ham & Kostanic 2001) :
Langkah 1 : Inisialisasi bobot jaringan dengan nilai acak yang kecil.
Langkah 2 : Masukan pola masukan dan hitung keluaran jaringan.
Langkah 3 : Hitung elemen dari matrix Jacobian yang berhubungan dengan pasangan masukan/keluaran sebagai berikut :
j i
ij w
J e
?
≈ ? (19)
Langkah 4 : Setelah pasangan masukan/keluaran terakhir dimasukkan, sesuaikan bobot sebagai berikut :
k T k k k T
k µ
k
k w J J I J e
w( +1)= ( )-[ + ]−1 (20) Langkah 5 : Berhenti jika jaringan telah konvergen; jika belum, kembali ke
Langkah 2.
2.3.3 Metode propagasi balik
Kelemahan jaringan syaraf tiruan dengan lapisan tunggal memiliki keterbatasan dalam pengenalan pola. Kelemahan ini bisa ditanggulangi dengan menambahkan satu atau beberapa lapisan tersembunyi diantara lapisan masukan dan keluaran.
Salah satu metode jaringan syaraf tiruan adalah propagasi balik (backpropagation). Metode ini 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 (Siang 2005).
Metode propagasi balik merupakan metode yang sangat baik dalam menangani masalah pengenalan pola – pola kompleks. Metode ini merupakan metode jaringan syaraf tiruan yang populer. Beberapa contoh aplikasi yang melibatkan metode ini adalah kompresi data, pendeteksian virus komputer, pengidentifikasian objek, sintesis suara dari teks, peramalan, dan lain – lain.
Propagasi balik memiliki beberapa unit yang ada dalam satu atau lebih lapisan tersembunyi. Pada Gambar 8 ditunjukan arsitektur propagasi balik dengan n buah masukan (ditambah sebuah bias), sebuah lapisan tersembunyi yang terdiri dari p unit (ditambah sebuah bias), serta m buah unit keluaran. Di mana vij
merupakan bobot garis dari unit masukan xi ke unit lapisan tersembunyi zj (vj0
merupakan bobot garis yang menghubungkan bias di unit masukan ke unit lapisan tersembunyi zj), wkj merupakan bobot dari unit lapisan tersembunyi zj ke unit keluaran yk (wk0 merupakan bobot dari bias di lapisan tersembunyi ke unit keluaran zk).
Gambar 8 Arsitektur propagasi balik
Fungsi aktivasi yang digunakan dalam propagasi balik harus memenuhi beberapa syarat yaitu : kontinu, terdiferensial dengan mudah dan merupakan fungsi yang tidak turun. Fungsi - fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoid biner dan sigmoid bipolar (Siang.
2005). Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada lapisan yang bukan lapisan keluaran, sedangkan pada lapisan keluaran yang dipakai adalah fungsi identitas.
Pelatihan propagasi balik meliputi tiga fase. Fase pertama adalah fase maju.
Pola masukan dihitung maju mulai dari lapisan masukan hingga lapisan keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur.
Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung dengan unit – unit di lapisan keluaran. Fase ketiga adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi. Ketiga fase tersebut diulang – ulang terus hingga kondisi penghentian terpenuhi.
Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi (epoch) atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan.
Algoritma pelatihan standar untuk jaringan dengan satu lapisan tersembunyi (dengan fungsi aktivasi sigmoid biner) dapat dilihat pada lampiran 1.
Pada penelitian ini digunakan fungsi pelatihan conjugate gradient dengan algoritma sebagai berikut (Ham & Kostanic 2001) :
Langkah 1 : Inisialisasi bobot jaringan dengan nilai acak yang kecil.
Langkah 2 : Propagasi pola pelatihan ke-q ke seluruh jaringan, hitung keluaran untuk tiap node.
Langkah 3 : Hitung galat lokal pada tiap node di jaringan. Untuk nodes keluaran, galat lokal dihitung sebagai berikut :
) )g(v x
(diq (s)out,iq (s)iq
(s)
iq = −
δ (21) dimana g(•) adalah derivatif dari fungsi aktivasi f(•). Untuk tiap nodes
di lapisan tersembunyi, galat lokal dihitung sebagai berikut :
) )g(v ( s 1 hi(s1) (s)iq
n
1 h
1) (s hq (s)
iq
+ +
=
∑ +
= δ w
δ (22)
Langkah 4 : Untuk tiap perkiraan kombinasi linear, nilai keluaran yang diinginkan diberikan sebagai berikut :
(s) iq (s)
iq out, (s) iq (s)
iq (s)
iq = −1(d ) dimana d =x +µδ
ˆ f
v (23)
Langkah 5 : Sesuaikan estimasi matriks kovarian pada tiap lapisan :
T s
q s
q , (s)
(s)(k) bC (k 1) xout( -1) xout,( -1)
C = − + + (24) Sesuaikan perkiraan vektor cross-correlation untuk tiap node :
1) - ( out, )
1) (
( s s q
(s) i (s)
i (k) bp k v x
p = − + ˆi (25) dimana k adalah indeks presentasi pola.
Langkah 6 : Sesuaikan vektor bobot untuk tiap node pada jaringan sebagai berikut :
(a) Pada tiap node hitung
(k) (k)
(k) (s) s s
(s) i
) ( )
(
i
i k p
w C
g = ( )− (26) Atau jika (s)
gi = 0, vektor bobot node tersebut jangan disesuaikan dan lanjutkan ke langkah 7; atau lakukan langkah berikut : (b) Cari arah d(k). Jika angka iterasi adalah sebuah integer
kelipatan dari jumlah bobot pada node, maka (k),
(k) s
(s) i
) (
gi
d = − (27) jika tidak
1) - (k (k)
(k) (s)
i (s) i s
(s)
i g d
d =− i( ) +β (28) dimana
) 1 ( ) (
) 1 ( ) (
) ( ) (
−
− −
=
k k
k k
s i s i
i d
d
(s) (s)T
i (s) T
s (s)
i (k-1)
(k)
C d
C g( )
β (29)
(c) hitung step size
) ( ) (
) ( )
(
) ( ) (
k k
k k
s i s i i
dd
(s) (s)T i
T s (s)
i (k)
(k)
C d
g( )
−
=
α (30)
(d) modifikasi vektor bobot berdasarkan
(k) (k) k
(k) (s) s s
i (s)
i
) ( )
1) (
( i di
w =w − +α (31) Langkah 7 : Jika jaringan belum konvergen, kembali ke langkah 2.
Masalah utama yang dihadapi dalam propagasi balik adalah lamanya iterasi yang harus dilakukan. Propagasi balik tidak dapat memberikan kepastian tentang berapa epoch yang harus dilalui untuk mencapai kondisi yang diinginkan.
Oleh karena itu harus diteliti bagaimana parameter – parameter jaringan dibuat sehingga menghasilkan jumlah iterasi yang relatif lebih sedikit.
Bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum lokal atau global, dan seberapa cepat konvergensinya. Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobotnya menjadi sangat kecil. Demikian pula nilai bobot awal tidak boleh terlalu besar karena nilai turunan fungsi aktivasinya menjadi sangat kecil juga. Oleh karena itu dalam standar propagasi balik, bobot dan bias diisi dengan bilangan acak kecil.
Salah satu keputusan yang harus dibuat dalam penggunaan jaringan syaraf tiruan propagasi balik adalah berapa lapisan tersembunyi yang dibutuhkan agar mendapatkan sebuah model yang baik. Tetapi menggunakan lebih dari dua layar tersembunyi tidak bermanfaat (Kecman 2001). Arsitektur dengan satu dan dua layar tersembunyi secara teoritis dapat mengenali sembarangan perkawanan antara masukan dan target dengan tingkat ketelitian yang ditentukan. Namun sebaiknya dicoba terlebih dahulu membuat model dengan satu layar tersembunyi.
Jika jaringan memiliki lebih dari satu lapisan tersembunyi, maka algoritma pelatihan yang dijabarkan sebelumnya perlu direvisi. Dalam propagasi maju, keluaran harus dihitung untuk tiap lapisan, dimulai dari lapisan tersembunyi
paling bawah (terdekat dengan masukan). Sebaliknya, dalam propagasi mundur, faktor d perlu dihitung untuk tiap layer tersembunyi, dimulai dari layer keluaran.
Tujuan utama penggunaan propagasi balik adalah mendapatkan keseimbangan antara pengenalan pola pelatihan secara benar dan respon yang baik untuk pola lain yang sejenis (disebut data pengujian). Jaringan dapat dilatih terus menerus hingga semua pola pelatihan dikenali dengan benar. Akan tetapi hal itu tidak menjamin jaringan akan mampu mengenali pola pengujian dengan tepat. Jadi tidak bermanfaat untuk meneruskan iterasi hingga semua kesalahan pola pelatihan = 0.
Umumnya data dibagi menjadi dua bagian saling terpisah, yaitu pola data yang dipakai sebagai pelatihan dan data yang dipakai untuk pengujian.
Perubahan bobot dilakukan berdasarkan pola pelatihan. Akan tetapi selama pelatihan (misal setiap 10 epoch), kesalahan yang terjadi dihitung berdasarkan semua data (pelatihan dan pengujian). Selama kesalahan ini menurun, pelatihan terus dijalankan. Akan tetapi jika kesalahannya sudah meningkat, pelatihan tidak ada gunanya untuk diteruskan lagi. Jaringan sudah mulai mengambil sifat yang hanya dimiliki secara spesifik oleh data pelatihan (tapi tidak dimiliki oleh data pengujian) dan sudah mulai kehilangan kemampuan melakukan generalisasi.
Salah satu bidang di mana propagasi balik dapat diaplikasikan dengan baik adalah bidang peramalan (forecasting). Peramalan yang sering dilakukan antara lain peramalan besarnya penjualan, nilai tukar valuta asing, harga saham, prediksi besarnya aliran air sungai, dll.
Secara umum masalah peramalan dapat dinyatakan sebagai berikut : Diketahui sejumlah data deret waktu (time series) x1, x2, ..., xn. Masalahnya adalah memperkirakan berapa harga xn+1 berdasarkan x1, x2, ..., xn.
Dengan propagasi balik, record data dipakai sebagai data pelatihan untuk mencari bobot yang optimal. Untuk itu perlu ditetapkan besarnya periode di mana data berfluktuasi. Periode ini ditentukan secara intuitif.
Bagian tersulit adalah menentukan jumlah lapisan (dan unitnya). Tidak ada teori yang dengan pasti dapat dipakai. Tetapi secara praktis dicoba jaringan yang kecil terlebih dahulu (misal terdiri dari 1 lapisan tersembunyi dengan beberapa unit saja), lalu jaringan diperbesar dengan menambah unit tersembunyi.
2.4 Peramalan data deret waktu dengan jaringan syaraf tiruan
Peramalan dengan menggunakan jaringan syaraf tiruan yang baik harus memenuhi kriteria – kriteria sebagai berikut (Adya & Collopy 1998) :
1. Efektivitas dari validasi
Tiga arahan untuk mengevaluasi efektivitas dari validasi, yaitu :
a. Perbandingan dengan model – model yang sudah diterima secara umum.
Peramalan dengan sebuah model harus dapat menghasilkan kinerja paling tidak sebaik model – model yang telah diterima secara umum.
Misalnya jika sebuah model yang akan digunakan untuk peramalan tidak dapat menghasilkan peramalah paling tidak sama akurasinya dengan peramalan menggunakan naive extrapolation (random walk), maka peramalan dengan model yang baru tidak dapat dikatakan memberikan kontribusi terhadap tren yang ada.
b. Penggunaan ex ante validation
Perbandingan peramalan harus berdasarkan kinerja ex ante (out-of- sample). Dengan kata lain, sampel yang digunakan untuk menguji kemampuan prediksi sebuah model harus berbeda dengan sampel yang digunakan untuk mengembangkan dan melatih model tersebut. Hal ini sejalan dengan kondisi yang ditemukan pada kenyataan, bahwa sebuah model harus menghasilkan prediksi mengenai masa depan yang belum diketahui atau sebuah kasus yang hasilnya belum tersedia.
c. Penggunaan sampel yang memadai
Ukuran sampel untuk validasi harus memadai agar memungkinkan penarikan kesimpulan. Kebanyakan penelitian klasifikasi menggunakan 40 atau lebih kasus untuk divalidasi, sedangkan penelitian data deret waktu biasanya menggunakan 75 atau lebih peramalan untuk validasi.
2. Efektifitas dari implementasi
Dalam menentukan efektivitas pengembangan dan pengujian sebuah jaringan syaraf tiruan batasan berikut digunakan untuk mengevaluasi kinerja jaringan :
a. Konvergen
Berhubungan dengan masalah apakah prosedur pembelajaran dapat mempelajari klasifikasi yang ditentukan pada sebuah set data. Dalam mengevaluasi kriteria ini yang perlu diperhatikan adalah kinerja in-sample