ANALISIS METODE BACKPROPAGATION UNTUK MEMPREDIKSI INDEKS HARGA SAHAM PADA KELOMPOK INDEKS BISNIS-27
NUR’AFIFAH 106094003169
PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011 M / 1433 H
ANALISIS METODE BACKPROPAGATION UNTUK MEMPREDIKSI INDEKS HARGA SAHAM PADA KELOMPOK INDEKS BISNIS-27
Skripsi Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Sains Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh: Nur’Afifah 106094003169
PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2011M/1433H
i
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, Desember 2011
Nur’Afifah 106094003169
iii
PERSEMBAHAN
Alhamdulillahirobbil’alamiin, segala puji bagi Allah SWT, tuhan semesta alam ini dan juga Nabi kita Muhammad SAW. Sebuah persembahan yang ku berikan kepada Yayah dan Mamahku tercinta, Adik-adikku tersayang yang selalu memotivasi baik moril maupun materil.... Sahabat-sahabat terhebat yang selalu mendampingi dan berjuang bersama dalam semangat persahabatan dan persaudaraan.... MOTTO Harus berusaha untuk menjadi yang terbaik karena tuhan menolong orang yang berusaha dan menolong diri mereka sendiri.
Manfaatkan waktu sebaik mungkin karena “Kita adalah waktu Yang setiap detiknya adalah kehilangan Kecuali yang menanam biji kebajikan Setiap kehilangan menumbuhkan pohon masa depan”. (Yudi Latif)
iv
ABSTRAK
Jaringan Syaraf Tiruan (JST) merupakan metode komputasi yang didasarkan pada model matematika yang memiliki struktur seperti syaraf dan operasi yang menyerupai otak, JST dapat diterapkan untuk berbagai macam aplikasi terutama untuk peramalan. Backpropagation merupakan algoritma pada JST yang cocok dijadikan untuk peramalan, terutama peramalan harga saham dari suatu indeks. Data saham yang digunakan merupakan data yang kontinyu atau terus menerus dengan periode harian. Algoritma backpropagation dibentuk dengan membuat generalisasi aturan pelatihan dengan cara menambahkan layar tersembunyi. Selain itu backpropagation akan merubah bobot untuk mengurangi perbedaan antara output jaringan dan target output. Sehingga pada jaringan yang dilatih 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 dengan pola yang dipakai selama pelatihan dan mencapai error yang dituju. Kata kunci: Backpropagation, Bobot, Jaringan Syaraf Tiruan, Layar Tersembunyi, Saham.
v
ABSTRACT
Artificial Neural Network (ANN) is computation method caused in mathematics model which have structures as neural and operations as same as brain, ANN can use for many applications especially for forecasting. Backpropagation is algorithm on ANN which becomes for forecasting, especially forecast cost of share from a index. Data of share in used is continue with period of the day. Algorithm backpropagation in makes with generalization of training method with augment hidden layer. Beside that backpropagation will change weight for different decrease between output of network and purpose of output. So that, in the network which traine acquire balance between ability of network for know pattern in used towards same input pattern with pattern in used for duration of training and arrive squared error. Keywords: Artificial Neural Network, backpropagation, hidden layer,weight, share.
vi
KATA PENGANTAR
Segala puji bagi Allah SWT, Yang Maha Mulia, Sumber Cahaya Ilmu, yang senantiasa melimpahkan rahmat kepada hamba-Nya. Berkat anugrah dan ridho-Nya,
penulis
dapat
menyelesaikan
skripsi
“Analisis
Metode
Backpropagation Untuk Memprediksi Indeks Harga Saham Pada Kelompok Indeks Bisnis-27”. Shalawat dan salam teruntuk Baginda Nabi Muhammad saw, panutan paling hak di bumi ini, beserta keluarga dan para sahabatnya. Skripsi ini dimaksudkan untuk memenuhi salah satu syarat menempuh ujian Sarjana Sains pada Program Studi Matematika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta. Pada penulisan skripsi ini, penulis mendapat bimbingan dan bantuan dari berbagai pihak, sehingga pada kesempatan ini penulis mengucapkan terima kasih kepada: 1.
Dr. Syopiansyah Jaya Putra, M. Sis, Dekan Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah.
2.
Yanne Irene, M.Si. Ketua Program Studi Matematika dan Suma’inna, M.Si, Sekretaris Program Studi Matematika.
3.
Hata Maulana, S.Si, M.T.I selaku Pembimbing I yang selalu memberikan bimbingan, arahan, informasi, dan motivasi terbaik.
4.
Suma’inna, M.Si, selaku Pembimbing II yang telah memberikan bimbingan, arahan, informasi dan motivasi dalam penulisan skripsi ini. vii
5.
Seluruh Dosen Program Studi Matematika, terima kasih atas pengajaran dan ilmu bermanfaat yang telah diberikan kepada penulis.
6.
Kedua Orang tua, Yayah dan Mamah tercinta, yang sudah mendampingi dan memberikan dukungan moral dan materil, kedua adik penulis, Tanzil dan Nadllah, serta calon imam keluarga baruku Ahmad Fitroh Rizqi yang selalu mensupport penyelesaian skripsi ini.
7.
Untuk Ela, Jemy dan Tya, terima kasih atas bantuannya dalam penyusunan skripsi ini, semoga Allah SWT membalas kebaikan kalian.
8.
Teman seperjuangan dalam menyelesaikan skripsi, Yayan dan Indra. Serta teman-teman Matematika 2006 terima kasih atas dukungannya selama ini.
9.
Keluarga besar Matematika FST, terima kasih atas kerja samanya. Pada akhirnya penulis berharap skripsi ini dapat bermanfaat bagi pembaca
pada umumnya. Penulis menyadari masih banyak kekurangan dalam penulisan skripsi ini, sehingga penulis mengharapkan saran dan kritik yang konstruktif.
Jakarta, Desember 2011
Penulis
viii
DAFTAR ISI
HALAMAN JUDUL........................................................................................
i
PENGESAHAN UJIAN .................................................................................
ii
PERNYATAAN...............................................................................................
iii
PERSEMBAHAN DAN MOTO......................................................................
iv
ABSTRAK .......................................................................................................
v
ABSTRACT .....................................................................................................
vi
KATA PENGANTAR .....................................................................................
vii
DAFTAR ISI ....................................................................................................
ix
DAFTAR TABEL ............................................................................................
xi
DAFTAR GAMBAR .......................................................................................
xii
DAFTAR LAMPIRAN ....................................................................................
xiii
BAB I
PENDAHULUAN ............................................................................
1
1.1 Latar Belakang ............................................................................
1
1.2 Permasalahan...............................................................................
3
1.3 Pembatasan Masalah ...................................................................
4
1.4 Tujuan Penelitian ........................................................................
4
1.5 Manfaat Penelitian ......................................................................
4
BAB II LANDASAN TEORI.......................................................................
6
2.1. Indeks harga Saham ...................................................................
6
2.2. Indeks Bisnis-27 ........................................................................
7
2.3. Pengertian Jaringan Syaraf Tiruan ............................................
8
2.4. Arsitektur Jaringan Syaraf tiruan .............. ................................
10
ix
2.5. Metode Backpropagation ...........................................................
12
2.5.1. Fungsi Aktivasi pada Backpropagation.............................
13
2.5.2. Pelatihan Standar Backpropagation..................................
15
2.6. Algoritma Pelatihan ..................................................................
21
BAB III METODE PENELITIAN ...............................................................
24
3.1. Waktu dan Tempat Penelitian ..................................................
24
3.2. Metode Pengumpulan Data ......................................................
24
3.3. Metode Pengolahan Data ...........................................................
25
3.4. Alur Penelitian ..........................................................................
28
BAB IV HASIL DAN PEMBAHASAN .......................................................
32
4.1. Membentuk Jaringan ................................................................
32
4.2. Penskalaan atau Normalisasi .....................................................
34
4.3. Inisialisasi Jaringan ................................................................. .
35
4.4. Inisialisasi Bobot .......................................................................
36
4.5. Proses Pelatihan Backpropagation..............................................
37
4.6. Analisis Hasil Peramalan............................................................
39
4.6.1. Analisis Data Pelatihan.....................................................
41
4.6.2. Analisis Data Pengujian....................................................
42
4.7. Nilai Kinerja...............................................................................
46
BAB V KESIMPULAN DAN SARAN .......................................................
47
5.1 Kesimpulan...................................................................................
47
5.2 Saran ............................................................................................
48
DAFTAR PUSTAKA .....................................................................................
49
x
DAFTAR TABEL
Table 3.1 Indeks Harga Saham Bisnis-27 (Januari 2009) ................................
25
Tabel 4.1 Harga saham Indeks Bisnis-27 Januari 2009 – Desember 2010.......
32
Table 4.2 Data Peramalan ................................................................................
34
Table 4.3 Ringkasan Statistik data Peramalan Saham Bisnis-27 .....................
34
Tabel 4.4 Nilai masukan yang diskalakan........................................................
35
Tabel 4.5 Nilai Keluaran Jaringan ...................................................................
38
Tabel 4.6 Tabel Bobot Akhir Lapisan Input ke lapisan tersembunyi Pertama..............................................................................................
39
Tabel 4.7 Hasil Peramalan Data Pelatihan Indeks Bisnis-27............................
41
Tabel 4.8 Hasil Peramalan Data Pengujian Indeks Bisnis-27...........................
43
xi
DAFTAR GAMBAR
Gambar 2.1 Jaringan Syaraf Tiruan ................................................................... 10 Gambar 2.2 Jaringan Syaraf Sederhana Lapisan Tunggal ................................ 11 Gambar 2.3 Jaringan Syaraf Sederhana Lapisan Banyak ................................. 12 Gambar 2.4 Jaringan dengan Lapisan Kompetitif Reccurent ............................ 12 Gambar 2.5 Arsitektur Algoritma Backpropagation ........................................ 13 Gambar 2.6 Fungsi Sigmoid Biner..................................................................... 14 Gambar 2.7 Fungsi Sigmoid Bipolar.................................................................. 15 Gambar 2.8 Flowchart Backpropagation............................................................ 20 Gambar 3.1 Diagram Pengolahan Data ............................................................. 28 Gambar 4.1 Perubahan Indeks Harian Indeks Bisnis-27.................................... 33 Gambar 4.2 Arsitektur Jaringan Penelitian ........................................................ 36 Gambar 4.3 Grafik Hasil Data Pelatihan ........................................................... 41 Gambar 4.4 Grafik Hasil Data Pengujian .......................................................... 44 Gambar 4.4 Grafik Hasil Peramalan Saham Indeks Bisnis-27 .......................... 45 Gambar 4.5 Nilai MSE Peramalan Saham Indeks Bisnis-27 ............................. 46
xii
DAFTAR LAMPIRAN
Lampiran 1
Tabel Saham Kelompok Indeks Bisnis-27
Lampiran 2
Tabel Data Penutupan Harga Saham Indeks Bisnis-27 Periode Januari 2009 sampai dengan Desember 2010
Lampiran 3
Tabel Data Pelatihan
Lampiran 4
Tabel Data Pengujian
Lampiran 5
Tabel Inisialisasi Bobot dan Bias Awal
Lampiran 6
Tabel Inisialisasi Bobot dan Bias Akhir
Lampiran 7
Program Peramalan Indeks Saham Menggunakan Metode Backpropagation
xiii
BAB I PENDAHULUAN 1.1 Latar Belakang Bursa Efek Indonesia (BEI) terus berkembang seiring bertambahnya waktu, dan keadaanpun semakin menunjukkan bahwa saham yang merupakan bagian dari BEI semakin banyak peminatnya. Dilihat dari kapitalisasinya yang terus bertambah dari tahun-tahun sebelumnya. Saat ini pembelian saham menjadi salah satu pilihan modal untuk investasi. Orang-orang cenderung berinvestasi pada saham disebabkan keuntungan yang akan diterimanya. Pasar saham dipengaruhi oleh faktor-faktor ekonomi, politik bahkan psikologis. Faktor-faktor ini berinteraksi satu sama lain dengan cara yang sangat kompleks. Dengan demikian pada umumnya sangat sulit untuk memprediksi pergerakan pasar saham. Sehingga dibutuhkan suatu metode atau suatu cara untuk memprediksi pergerakan pasar saham tersebut. Peramalan pasar saham telah menjadi topik penelitian yang hangat untuk beberapa tahun belakangan ini. Secara umum pendekatan yang biasa digunakan para investor untuk memprediksi harga saham yaitu analisis fundamental dan analisis teknikal. Analisis fundamental adalah dengan menghitung nilai intrinsik saham berdasarkan ratio dan laporan keuangan perusahaan. Pada analisis teknikal adalah menggunakan data saham sebelumnya dan mengumpulkan informasi untuk memprediksi pergerakan harga saham di masa yang akan datang. Analisis teknikal tersebut percaya bahwa terdapat pola-pola 1
yang timbul pada pasar saham yang dapat diprediksi. Pola-pola tersebut adalah seperti indikator-indikator teknikal. Beberapa indikator tersebut diturunkan dari data-data deret waktu indeks saham. Pada kebanyakan kasus terdapat lima deret waktu untuk indeks saham. Kelima deret tersebut adalah harga pembukaan, harga tertinggi, harga terendah, stok indeks dan volume transaksi. Untuk memaksimalkan keuntungan dari pasar saham, semakin banyak teknik-teknik peramalan yang digunakan oleh para investor. Pada saat ini, para investor tidak lagi bergantung pada satu teknik saja untuk mendapatkan informasi mengenai masa depan pasar saham. Teknik-teknik tersebut diantaranya adalah dengan Arch, Garch, Jaringan Syaraf Tiruan, Algoritma Genetika, dan lain-lain. Pada penelitian sebelumnya yaitu, Aprilian Eko dari Universitas Indonesia (2001) tentang aplikasi neural network untuk memprediksi indeks saham, menjelaskan teori-teori utama pemikiran seperti Random Walk Hypothesis dan Efficien Market Hypothesis. Random Walk Hypothesis menyatakan bahwa hargaharga di pasar saham bergerak dengan cara yang random dan tak terprediksi. Masing-masing harga berubah tanpa dipengaruhi oleh harga-harga sebelumnya. Efficien Market Hypothesis menyatakan bahwa pergerakan pada pasar saham tergantung pada informasi-informasi, dan harga-harga disesuaikan seketika sejak saat informasi tersebut diperoleh. Yasin Fahmi dari Univesitas Islam Indonesia (2011) dengan judul peramalan nilai harga saham menggunakan jaringan syaraf tiruan dan algoritma genetik, menyatakan bahwa bias merupakan sebuah unit masukan yang nilainya 2
selalu satu. Penelitian lainnya yaitu, Choirun Nisa (2009) tentang Algoritma backpropagation pada jaringan syaraf buatan lapisan banyak, menyatakan bahwa algoritma
backpropagation
dalam menentukan bobot
yang tepat
pada
permasalahan klasifikasi dengan cara membuat struktur jaringan terlebih dahulu. Perbedaan penelitian ini dengan penelitian sebelumnya yaitu terdapat dua lapisan tersembunyi yang menghubungkan antara lapisan input dan lapisan output. Data saham yang digunakan pada penelitian ini yaitu data Indeks Bisnis-27. Pada jaringan syaraf tiruan, salah satu algoritma yang digunakan dalam memprediksi
saham
dan
diuji
dalam
penelitian
ini
adalah
algoritma
Backpropagation atau disebut Supervised Multilayer Perceptron. Berdasarkan latar belakang yang dijabarkan di atas, maka skripsi ini mengambil judul “ Analisis Metode Backpropagation Untuk Memprediksi Indeks Harga Saham Pada Kelompok Indeks Bisnis-27”. 1.2 Permasalahan Permasalahan yang dibahas dalam skripsi ini adalah bagaimana mengetahui pola-pola pada indikator teknikal yang mempengaruhi penurunan atau kenaikan indeks saham, dengan melihat data-data saham sebelumnya. Sehingga dapat diprediksi pergerakan harga saham di masa yang akan datang. Dalam penelitian ini khususnya adalah pergerakan indeks saham bisnis 27 di masa yang akan datang. Selain itu juga untuk mengetahui bagaimana langkah-langkah peramalan menggunakan jaringan syaraf tiruan terutama dengan menggunakan algoritma feedforward backpropagation. 3
1.3 Pembatasan masalah Dalam penelitian ini, masalah dibatasi terhadap pemilihan indeks harga saham Indeks Bisnis-27, data indeks saham yang digunakan merupakan data harian dari Bulan Januari 2009 – Bulan Desember 2010. Selain itu faktor yang digunakan untuk peramalan pada skripsi ini hanya faktor data masa lalu, bukan disebabkan faktor lain seperti politik, ekonomi, dan lain-lain. Pembatasan untuk Backpropagation Jaringan Syaraf Tiruan yaitu, dalam memperbaharui bobotnya dan
jumlah
lapisan
tersembunyi
menggunakan
dua
lapisan.
Variasi
backpropagation pada scilab yang dipakai yaitu adaptive learning. 1.4 Tujuan Penelitian Tujuan dari skripsi ini adalah: 1.
Untuk menganalisis metode backpropagation dalam memprediksi harga saham.
2.
Mendapatkan Mean Squared Error (MSE) atau nilai error tujuan pada peramalan.
1.5 Manfaat Penelitian Adapun manfaat dari penelitian ini adalah sebagai berikut: 1.
Bagi pengembangan ilmu pengetahuan, diharapkan penelitian ini dapat menambah dinamika keilmuan dalam teknik peramalan saham terutama dengan aplikasi jaringan syaraf tiruan.
4
2.
Bagi pihak-pihak yang ingin melakukan kajian lebih dalam mengenai teknik peramalan, diharapkan penelitian ini dapat menjadi referensi dan landasan bagi penelitian selanjutnya.
3.
Bagi para investor saham, diharapkan penelitian ini dapat menjadi bahan pertimbangan untuk melakukan prediksi saham di pasar modal berdasarkan pola yang terbentuk.
5
BAB II LANDASAN TEORI
2.1 Indeks Harga Saham Saham adalah satuan nilai atau pembukuan dalam berbagai instrumen finansial yang mengacu pada bagian kepemilikan sebuah perusahaan [1]. Bentuk fisik saham adalah selembar kertas, pada saham tersebut dinyatakan bahwa pemegang saham adalah pemilik perusahaan. Menerbitkan saham merupakan salah satu pilihan perusahaan ketika memutuskan untuk pendanaan perusahaan. Saham dapat didefinisikan juga sebagai tanda penyertaan modal seseorang atau pihak (badan usaha) dalam suatu perusahaan atau perseroan terbatas. Indeks harga saham adalah indikator atau cerminan pergerakan harga saham. Indeks merupakan salah satu pedoman bagi investor untuk melakukan investasi di pasar modal khususnya saham. Indeks dapat memberikan investor gagasan secara cepat tentang bagaimana kinerja sebuah bursa selama waktu tertentu. Dengan melihat indeks, maka investor dapat memperkirakan dengan cepat bagaimana kinerja portofolio sahamnya [2].
Saat ini Bursa Efek Indonesia memiliki 11 jenis indeks harga saham, yang secara terus menerus disebarluaskan melalui media cetak maupun elektronik. Indeks-indeks tersebut adalah Indeks Harga Saham Gabungan (IHSG), Indeks Sektoral, Indeks LQ45, Jakarta Islamic Indeks (JII), Indeks Kompas100, Indeks BISNIS-27, Indeks PEFINDO25, Indeks SRI-KEHATI, Indeks Papan Utama, Indeks Papan Pengembangan, Indeks Individual [2]. 6
2.2 Indeks BISNIS-27 Pada tanggal 27 Januari 2009, PT Bursa Efek Indonesia bersama dengan Harian Bisnis Indonesia meluncurkan indeks harga saham yang diberi nama Indeks Bisnis-27 yang diharapkan dapat menjadi salah satu indikator bagi investor dalam berinvestasi di Pasar Modal Indonesia [3]. Indeks Bisnis-27 terdiri dari 27 saham yang dipilih berdasarkan kriteria fundamental dan dan teknikal atau likuiditas, sebagai berikut: 1.
Kriteria Fundamental Beberapa faktor fundamental yang dipertimbangkan dalam pemilihan saham adalah laba usaha, laba bersih, ROA, ROE, dan DER. Khusus untuk emiten perbankan akan dipertimbangkan juga faktor LDR dan CAR.
2.
Kriteria Teknikal atau Likuiditas Transaksi Analisis Teknikal merupakan metode untuk memprediksi pergerakan harga saham dan trend pasar di waktu mendatang dengan memakai kajian grafik berdasarkan data masa lalu. Dari grafik dapat diperoleh informasi mengenai pola pergerakan harga saham. Tujuan utama dari analisis ini adalah untuk mendapatkan capital gain (keuntungan) dari selisih harga beli dan harga jual saham dalam jangka waktu yang relatif pendek.
Beberapa faktor teknikal yang dipertimbangkan adalah hari transaksi, nilai,volume dan frekuensi transaksi serta kapitalisasi pasar. Dalam pemilihan saham indeks bisnis-27 juga mendapat masukkan dan pertimbangan dari Komite
7
Indeks Bisnis-27 yang terdiri dari para ahli dan profesional di pasar modal. Hal ini untuk menjamin kewajaran dalam pemilihan saham tersebut. Bursa Efek Indonesia dan Harian Bisnis Indonesia secara rutin akan memantau komponen saham yang masuk dalam perhitungan indeks. Review dan pergantian emiten yang masuk dalam perhitungan indeks bisnis-27 dilakukan setiap 6 bulan yaitu setiap awal Februari dan Agustus. 2.3 Pengertian Jaringan Syaraf Tiruan Suatu jaringan saraf tiruan memproses sejumlah besar informasi secara paralel dan terdistribusi, hal ini terinspirasi oleh model kerja otak biologis. Beberapa definisi tentang jaringan saraf tiruan adalah sebagai berikut di bawah ini. Hecht-Nielsend (1988) mendefinisikan jaringan saraf tiruan adalah suatu struktur pemroses informasi yang terdistribusi dan bekerja secara paralel, yang terdiri atas elemen pemroses (yang memiliki memori lokal dan beroperasi dengan informasi lokal) yang diinterkoneksi bersama dengan alur sinyal searah yang disebut koneksi. Setiap elemen pemroses memiliki koneksi keluaran tunggal yang bercabang ke sejumlah koneksi kolateral yang diinginkan (setiap koneksi membawa sinyal yang sama dari keluaran elemen pemroses tersebut). Keluaran dari elemen pemroses tersebut dapat merupakan sebarang jenis persamaan matematis yang diinginkan [4].
Menurut Haykin, S. (1994), Neural Networks: A Comprehensive Foundation, NY, Macmillan, mendefinisikan jaringan saraf adalah sebuah jaringan 8
saraf adalah sebuah prosesor yang terdistribusi paralel dan mempuyai kecenderungan untuk menyimpan pengetahuan yang didapatkannya dari pengalaman dan membuatnya tetap tersedia untuk digunakan. Hal ini menyerupai kerja otak dalam dua hal yaitu: 1. Pengetahuan diperoleh oleh jaringan melalui suatu proses belajar. 2. Kekuatan hubungan antar sel saraf yang dikenal dengan bobot sinapsis digunakan untuk menyimpan pengetahuan. Maka secara umum jaringan saraf tiruan (JST) (Artificial Neural Network (ANN) adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan jaringan saraf manusia. JST merupakan sistem adaptif yang dapat merubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut. Secara sederhana, JST adalah sebuah alat pemodelan data statistik non-linier. JST dapat digunakan untuk memodelkan hubungan yang kompleks antara masukan dan keluaran untuk menemukan pola-pola pada data.
2.4 Arsitektur Jaringan Syaraf Tiruan Pemodelan struktur pemrosesan informasi terdistribusi dilakukan dengan menentukan pola hubungan antar sel-sel saraf buatan. Pola hubungan yang umum adalah hubungan antar layer (lapisan). Setiap lapisan terdiri dari sekumpulan sel saraf buatan (unit) yang memiliki fungsi tertentu, misalnya fungsi masukan (masukan) atau fungsi keluaran (keluaran).
9
Sistem saraf buatan terdiri dari tiga lapisan unit, yaitu: 1.
Unit masukan Pada Gambar 2.1 unit masukan dinotasikan dengan i. Unit masukan ini
menerima data dari jaringan saraf luar. Aktifasi unit-unit lapisan masukan menunjukkan informasi dasar yang kemudian digunakan dalam jaringan saraf buatan. 2.
Unit tersembunyi Unit tersembunyi dinotasikan dengan h pada Gambar 2.1. Unit
tersembunyi menerima dan mengirim sinyal ke jaringan saraf. Aktifasi setiap unitunit lapisan tersembunyi ditentukan oleh aktifasi dari unit-unit masukan dan bobot dari koneksi antara unit-unit masukan dan unit-unit lapisan tersembunyi. 3.
Unit keluaran Unit keluaran dinotasikan dengan o. Unit keluaran mengirim data ke
jaringan saraf. Karakteristik dari unit-unit keluaran tergantung dari aktifasi unitunit lapisan tersembunyi dan bobot antara unit-unit lapisan tersembunyi dan unitunit keluaran. Keluaran ini biasanya berupa nilai diskrit yang merupakan hasil klasifikasi dari data masukan. X1
X2
X3
X4
i1
i2
i3
i4
h1
h2
h3
o1
o2
Y1
Y2
Gambar 2.1 Jaringan Saraf Tiruan 10
Sedangkan tipe arsitektur jaringan saraf buatan ada tiga yaitu : 1.
Jaringan dengan lapisan tunggal (Single Layer Net) Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot
yang terhubung. Jaringan ini hanya menerima masukan kemudian secara langsung akan mengolahnya menjadi keluaran tanpa harus melalui lapisan tersembunyi (Gambar 2.2).
Gambar 2.2. Jaringan Saraf Sederhana Lapisan Tunggal Feedforward 2.
Jaringan dengan lapisan banyak (Multilayer Net) Pada tipe ini, di antara lapisan masukan dan keluaran terdapat satu atau
lebih lapisan tersembunyi (Gambar 2.3). Hubungan antar lapisan berlangsung satu arah. Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit dari pada lapisan tunggal.
11
Gambar 2.3. Jaringan Saraf Sederhana lapisan banyak Feedforward
3.
Reccurent Network Tipe reccurent berbeda dengan kedua tipe sebelumnya. Pada reccurent,
sedikitnya memiliki satu koneksi umpan balik (feedback).
Gambar 2.4. Jaringan dengan lapisan kompetitif reccurent 2.5 Metode Backpropagation Jaringan Syaraf Tiruan backpropagataion atau rambat balik (JSTBP) adalah metode yang paling sederhana dan mudah dipahami dari metode-metode yang lain. JST-BP akan merubah bobot biasnya untuk mengurangi perbedaan antara keluaran jaringan dan target keluaran. Setelah pelatihan selesai, dilakukan pengujian terhadap jaringan yang telah dilatih. Pembelajaran algoritma jaringan 12
syaraf membutuhkan perambatan maju dan diikuti dengan perambatan mundur. Keduanya dilakukan untuk semua pola pelatihan.
Gambar 2.5. Arsitektur algoritma backpropagation Keterangan
X
= lapisan masukan
Z
= lapisan tersembunyi
Y
= lapisan keluaran = bobot dari lapisan masukan ke lapisan tersembunyi = bobot dari lapisan tersembunyi ke lapisan keluaran
2.5.1
Fungsi Aktivasi pada Backpropagation Dalam jaringan syaraf tiruan, fungsi aktivasi dipakai untuk menentukan
keluaran suatu neuron. Pada Backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat sebagai berikut: 1.
Kontinu
2.
Terdiferensial dengan mudah 13
3.
Merupakan fungsi yang tidak turun Salah satu fungsi yang memenuhi ketiga syarat tersebut adalah fungsi
sigmoid biner yang memiliki range (0,1) [6]. Fungsi sigmoid biner didefinisikan sebagai berikut.
y f ( x)
1 1 ex
(2.1)
Dengan turunan (2.2)
Gambar 2.6. Fungsi sigmoid biner Fungsi lain yang sering dipakai adalah fungsi sigmoid bipolar yang bentuk fungsinya mirip dengan fungsi sigmoid biner, tapi dengan range (-1,1).
f ( x)
2 1 1 e z
(2.3)
14
Dengan turunan
f ( x)
(1 f ( x))(1 f ( x)) 2
(2.4)
Gambar 2.7. Fungsi Sigmoid Bipolar Fungsi sigmoid memiliki nilai maksimum 1. Maka untuk pola yang targetnya > 1, pola masukan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada lapisan yang bukan lapisan keluaran. Pada lapisan keluaran, fungsi aktivasi yang dipakai adalah fungsi identitas : f(x) = x.
2.5.2
Pelatihan Standard Backpropagation Adapun
langkah-langkah
pelatihan
dalam
jaringan
syaraf
tiruan
backpropagation adalah sebagai berikut: 1.
Definisikan pola masukan dan targetnya
2.
Inisialisasi bobot awal dengan bilangan acak 15
3.
Tentukan iterasi dan error yang diinginkan
4.
Kerjakan langkah-langkah berikut selama (Epoh < Maksimum Epoh) dan (MSE > Target Error)
Fase propagasi maju: a.
Jumlahkan semua sinyal yang masuk ke lapisan unit ) menerima sinyal
Tiap-tiap unit masukan (
dan meneruskan
sinyal tersebut ke semua unit pada lapisan yang ada diatasnya (lapisan )
tersembunyi). Tiap-tiap unit pada suatu lapisan tersembunyi ( menjumlahkan sinyal-sinyal masukan berbobot:
z _ net j bij i xi vij n
(2.5)
= total sinyal masukan pada lapisan unit j
Dengan:
= nilai masukan pada unit i = bobot antara masukan unit i dan lapisan unit j b_ij
= bobot bias masukan unit i dan lapisan unit j
Hitung keluaran semua lapisan unit j pada lapisan tersembunyi berdasarkan fungsi aktivasi:
z j f ( z _ net j )
Dengan:
1 1 e
z _ netj
(2.6)
= keluaran pada lapisan unit j
= total sinyal masukan pada lapisan unit j
16
b.
Jumlahkan semua sinyal yang masuk ke keluaran unit k
Tiap-tiap unit keluaran ( , k=1,2,3,..,m) menjumlahkan sinyal-sinyal masukan berbobot.
y _ netk wk 0 j 1z j wkj p
dengan:
(2.7)
= total sinyal masukan pada keluaran unit k
y_
= nilai masukan pada lapisan unit j = bobot antara lapisan unit j dan keluaran unit k
Gunakan fungsi aktivasi untuk menghitung sinyal keluarannya dan kirimkan sinyal tersebut ke semua unit di lapisan atasnya (unit-unit keluaran).
yk f ( y _ netk )
1 e y _ netk
(2.8)
Fase propagasi mundur: a.
Hitung faktor kesalahan pada keluaran layer
Tiap-tiap unit keluaran (
) menerima target pola yang
berhubungan dengan pola masukan. (1Dengan:
)
(2.9)
= faktor kesalahan pada keluaran unit k = keluaran pada keluaran unit k
Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai
).
17
wkj k z j
b.
(2.10)
Hitung penjumlahan kesalahannya
Tiap-tiap unit tersembunyi (
) menjumlahkan delta masukannya
(dari unit-unit yang berada pada lapisan diatasnya)
net k 1 k wkj m
j
(2.11)
Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi error.
j _ net j z j Z (1 z j )
(2.12)
Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai
).
(2.13)
Perubahan bobot a.
Ubah bobot yang menuju keluaran lapisan
wkj (t 1) wkj (t) wkj b.
Ubah bobot yang menuju lapisan tersembunyi
v ji (t 1) vkj (t) v ji 5.
(2.14)
(2.15)
Hitung MSE pada setiap epoh
MSE
2 1 n poka ( t y ) k k k n pola
(2.16)
18
Dengan:
= target pada keluaran unit k = keluaran pada keluaran unit k n = jumlah pola
19
Adapun flowchart untuk backpropagation adalah sebagai berikut:
Input Data
Inisialisasi jaringan
Randomisasi bobot
w ji
Hitung output pada masing-masing unit
w x
Hitung sigmoid
( y)
1 1 ey
Hitung nilai error pada unit output
k ok (1 ok )(t k ok )
Hitung nilai error pada unit tersembunyi
k ok (1 ok ) wkh k
Hitung
wij j x ji
Hitung
w ji w ji w ji
Penentuan MSE
End
Gambar 2.8. Flowchart Backpropagation
20
2.6
Algoritma Pelatihan Algoritma standard yang digunakan dalam pelatihan Jaringan Syaraf
Tiruan Feed Forward Back Propagation, yaitu gradient conjugate dan gradient conjugate with momentum seringkali terlalu lambat untuk keperluan praktis. Oleh karena itu, pada penelitian ini akan digunakan Algoritma Gradient Conjugate With Adaptive Learning Rate and Momentum (traingdx). Algoritma ini merupakan penggabungan
dari
Algoritma
Gradient
Conjugate
with
Adaptive
Learning(traingda) dan Gradient Conjugate With Momentum(traingdm). Pada standard backpropagation, 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 (outlier). Apabila beberapa data terakhir yang diberikan ke jaringan memiliki pola yang 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 [6]. Dengan Penambahan momentum, bobot baru pada waktu ke (t+1) didasarkan atas bobot pada waktu t dan (t-1). Disini harus ditambahkan dua variabel baru yang mencatat besarnya momentum untuk dua iterasi terakhir. Jika
21
adalah konstanta (0 ≤ ≤ 1) yang menyatakan parameter momentum maka bobot baru dihitung berdasarkan persamaan :
wkj (t 1) wkj (t) k z j wkj (t) wkj (t 1)
(2.17)
dan
v ji (t 1) v jij (t) j xi v jij (t) v jij (t 1)
(2.18)
Algoritma gradient descent dengan adaptive learning rate, dasarnya sama dengan algoritma gradient descent standard dengan beberapa perubahan. Pertamatama dihitung terlebih dahulu nilai output jaringan dan error pelatihan. Pada setiap epoch, bobot-bobot baru dihitung dengan menggunakan learning rate yang ada. Kemudian dihitung kembali output jaringan dan error pelatihan. Jika perbandingan antara error pelatihan yang baru dengan error pelatihan lama melebihi maksimum kenaikan kinerja (max_perf_inc), maka bobot-bobot baru tersebut akan diabaikan, sekaligus nilai learning rate akan dikurangi dengan cara mengalikannya dengan lr_dec. Sebaliknya, apabila perbandingan antara error pelatihan baru dengan error pelatihan lama kurang dari maksimum kenaikan kinerja, maka nilai bobot-bobot akan dipertahankan, sekaligus nilai learning rate akan dinaikkan dengan cara mengalikannya dengan lr_inc. Dengan cara ini, apabila learning rate terlalu tinggi dan mengarah ke ketidakstabilan, maka learning rate akan diturunkan. Sebaliknya jika learning rate terlalu kecil untuk menuju konvergensi, maka learning rate akan dinaikkan. Dengan demikian, maka algoritma pembelajaran akan tetap terjaga pada kondisi stabil.
22
Algoritma gradient descent with momentum and adaptive learning (traingdx) merupakan penggabungan antara algoritma gradient descent with adaptive learning (traingda) dan algoritma gradient descent with momentum (traingdm). Algoritma ini merupakan algoritma default yang digunakan oleh scilab karena memiliki performa kecepatan pelatihan yang tinggi. Simulasi dilakukan baik pada periode training maupun periode testing. Salah satu cara yang dapat digunakan untuk melakukan evaluasi terhadap jaringan syaraf yang digunakan adalah dengan menggunakan analisis regresi terhadap respon jaringan dan target yang diharapkan. Analisis ini akan dilakukan dengan fungsi postreg yang terdapat pada SCILAB. Perambatan galat mundur (Backpropagation) merupakan sebuah metode sistematik untuk pelatihan multiplayer jaringan saraf tiruan. Metode ini memiliki dasar matematis yang kuat, obyektif dan algoritma ini mendapatkan bentuk persamaan dan nilai koefisien dalam formula dengan meminimalkan jumlah kuadrat galat error melalui model yang dikembangkan (training set).
23
BAB III METODE PENELITIAN
3.1 Waktu Penelitian Penelitian ini dilakukan pada Bulan April 2011 sampai dengan Bulan November 2011, terhadap salah satu indeks saham Bursa Efek Indonesia yaitu Indeks Bisnis-27. Pemilihan indeks ini sebagai objek penelitian dikarenakan indeks ini masih baru dan pengambilan data yang diambil pada tahun pertamanya antara 2009-2010 mempunyai kinerja yang baik dan perkembangannya berada pada tren positif selama setahun terakhir. 3.2 Metode Pengumpulan Data Dalam penelitian ini data yang digunakan merupakan data kuantitatif indeks saham bisnis-27. Sedangkan untuk jenis data yang digunakan dalam penelitian ini yaitu jenis data skunder. Data sekunder yang digunakan yaitu data indeks harga saham bisnis-27, data yang digunakan berupa data indeks saham periode harian dari bulan Februari 2009 sampai dengan bulan Desember 2010. Data dicatat sesuai dengan banyaknya hari kerja yaitu satu minggu terdiri dari lima hari kerja dan hari libur tidak dicatat, dengan jumlah observasi T= 471. Data diperoleh secara literatur dari salah satu situs yang membahas tentang saham di Indonesia [2].
24
3.3 Metode Pengolahan Data Metode pengolahan data yang dilakukan dalam penelitian ini yaitu menggunakan metode Jaringan Syaraf Tiruan dengan menggunakan scilab. Pemilihan metode ini karena data yang digunakan merupakan suatu data runtun waktu (harian) yang terjadi secara bersamaan mengikuti pergerakan data deret waktu yang lainnya. Sedangkan pada JST tersebut digunakan pelatihan jaringan syaraf backpropagation momentum dengan adaptive learning. Adapun langkah-langkah pengolahan data dalam jaringan syaraf tiruan backpropagation adalah sebagai berikut: 1.
Definisikan pola masukan dan targetnya Dalam penelitian ini, pola masukkan bisa kita definisikan sebagai data x hari dan targetnya adalah data hari berikutnya. Maka beberapa contoh pola masukannya diilustrasikan pada tabel 3.1. Tabel 3.1. Indeks harga saham Bisnis-27 (Januari2009) x-1
x
Target
121.910 120.096 120.841 120.096 120.841 121.790 120.841 121.790 118.963 ....
....
....
Adapun penjelasan pada tabel 3.1 yaitu pada baris pertama, x-1 dan x adalah data tanggal 27 dan 28 Januari 2009 sedangkan targetnya adalah data tanggal 29 januari 2009. Pada baris ke dua, x-1 dan x adalah data tanggal 28 dan 29
25
Januari 2009 sedangkan targetnya adalah data tanggal 30 Januari 2009. Demikian seterusnya [5]. 2.
Inisialisasi bobot awal dengan bilangan acak Pemilihan bobot awal sangat mempengaruhi jaringan syaraf dalam mencapai minimum global (atau mungkin hanya lokal saja) terhadap nilai error, serta cepat tidaknya proses pelatihan menuju kekonvergenan. Apabila nilai bobot awal terlalu besar, maka masukan ke setiap lapisan tersembunyi atau lapisan keluaran akan jatuh pada daerah dimana turunan fungsi sigmoidnya akan sangat kecil. Biasanya bobot awal di inisialisasi secara random dengan nilai antara -0.5 sampai 0.5 (atau -1 sampai 1, atau interval yang lainnya) [6].
3.
Tentukan iterasi dan error yang diinginkan
4.
Untuk tiap-tiap pasangan elemen yang akan dilakukan pembelajaran, kerjakan: a. Fase pertama : propagasi maju Selama propagasi maju, sinyal masukan (=xi) dipropagasikan ke layar tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit lapisan tersembunyi (=zj) tersebut selanjutnya dipropagasikan maju lagi ke layar tersembunyi diatasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan (=yk). Berikutnya, keluaran jaringan (=yk) dibandingkan dengan target yang harus dicapai (=tk). Selisih tk - yk adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Akan tetapi apabila kesalahan masih lebih besar dari
26
batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi. b. Fase Kedua : Propagasi Mundur Berdasarkan kesalahan tk - yk, dihitung faktor k(k=1,2,…,m) yang dipakai untuk mendistribusikan kesalahan di unit yk ke semua unit tersembunyi yang terhubung langsung dengan yk. k juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran. Dengan cara yang sama, dihitung faktor k di setiap unit di lapisan tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi pada lapisan dibawahnya. Demikian seterusnya hingga semua faktor di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung. c. Fase Ketiga : Perubahan Bobot Setelah semua faktor dihitung, bobot semua garis dimodifikasi bersamanaan. Perubahan bobot suatu garis didasarkan atas faktor neuron di lapisan atasnya. Sebagai contoh, perubahan garis yang menuju ke layar keluaran didasarkan atas k yang ada di unit keluaran. Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi 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 diizinkan.
27
3.4 Alur penelitian Pengumpulan Indeks Harga Saham
Penyeleksian Data yang Akan di Olah
Penyimpanan Data
Mendefinisikan Pola Masukan dan Targetnya
Menentukan Arsitektur Jaringan dan Nilai Parameter yang Optimal
Tidak
Masukkan ke Program
Lakukan Pelatihan Jaringan
Apakah Pelatihan Sudah Benar?
Tidak
Ya Uji Jaringan
Apakah Pengujian Berhasil?
Tidak
Ya Lakukan Pengujian Hingga Menemukan Nilai Peramalan yang akurasinya tinggi
Gambar 3.1. Diagram Pengolahan Data
28
Penjelasan dari diagram 3.2 adalah sebagai berikut: 1. Mengumpulkan data saham Indeks Bisnis-27. 2. Data yang akan diolah di pilih data pada tanggal 27 Januari 2009 – Desember 2010. 3. Data yang dipilih disimpan di Ms.Excel. 4. Mendefinisikan pola masukan dengan x hari dan targetnya adalah data hari berikutnya. 5. Menentukan arsitektur jaringan yaitu menentukan pola hubungan antar sel-sel saraf buatan yang terdiri dari tiga lapisan unit, yaitu: unit masukan, unit tersembunyi, unit keluaran. Arsitektur yang di pilih adalah jaringan dengan lapisan banyak (Multilayer Net). Kemudian menentukan nilai maksimum epoh, target error, dan learning rate. 6. Masukkan semua data yang sudah ditentukan nilai-nilainya pada scilab. 7.
Pelatihan
jaringan
yang
dilakukan
menggunakan
algoritma
backpropagation pada jaringan syaraf tiruan. Karena data indeks saham mempunyai arsitektur jaringan dengan lapisan banyak (Multilayer Net). 8. Jika pelatihan sudah benar maka dilanjutkan pada uji jaringan Jika pelatihan tidak benar maka menentukan nilai parameter kembali dengan data yang sama dan nilai parameter yang berbeda.
29
9. Jika uji jaringan berhasil maka lakukan uji jaringan hingga menemukan nilai peramalan yang akurasinya tinggi. Jika uji jaringan tidak berhasil maka ditentukan kembali nilai parameter dan dilakukan kembali pelatihan jaringan. 10. Mendapatkan nilai peramalan yang akurasinya tinggi dan errornya rendah.
30
BAB IV HASIL DAN PEMBAHASAN
Setelah dilakukan penelitian dan pengumpulan data, maka pada bab ini dilakukan pengolahan dan analisa terhadap data tersebut. Pengolahan dan analisa dilakukan dengan proses pemilihan data indeks harga saham, penskalaan atau normalisasi,
inisialisasi
jaringan,
inisialisasi
bobot,
proses
pelatihan
backpropagation, analisis hasil peramalan, dan nilai kinerja. Pengolahan dan analisa dijabarkan sebagai berikut: 4.1 Proses Pemilihan Data Indeks Harga Saham Data yang diperoleh oleh penulis berupa data indeks saham periode harian dari Januari 2009 sampai dengan Desember 2010, yaitu: Tabel 4.1. Harga saham Indeks Bisnis-27 Januari 2009 – Desember 2010 (Rupiah) Date
Prev
27/01/09
119,2770
28/01/09
Open
High
Low
Close
Change
0,0000
121,9100
121,9100
121,9102
2,6332
121,9100
121,9100
122,4590
119,9370
120,0964
1,8136
29/01/09
120,0960
120,0960
122,1740
119,9530
120,8406
0,7446
30/01/09 .
120,8410 .
120,8410 .
121,7900 .
119,6940 .
121,7901 .
0,9491 .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
29/12/10
319,7210
319,7300
323,9240
319,7350
323,1740
3,4530
30/12/10
323,1740
323,1300
324,9830
321,3270
322,2900
0,8840
32
Volume 703,792, 889,700 468,463, 227,995 841,742, 191,000 620,099, 803,220 . . . 1,580,76 4,297,75 1,889,74 4,773,55
Kemudian dari data tersebut, dipilih data penutupan (close) yang akan digunakan sebagai masukan pada program backpropagation dan untuk memperoleh hasil peramalan. Untuk lebih jelas lagi, pergerakan data penutupan dapat dilihat pada Gambar 4.1.
Gambar 4.1. Perubahan Indeks Harian Indeks Bisnis-27 Dari Gambar 4.1 dapat dilihat adanya suatu pola siklus yang diawali dengan tren naik yang puncaknya pada Bulan April 2010. Tren naik ini disusul dengan tren turun sampai tanggal 27 Mei 2010. Kemudian terdapat lagi tren naik puncaknya tanggal 27 September 2010. Dengan melihat data-data saham tersebut dapat diprediksi pergerakan harga saham di masa yang akan datang. Dari data penutupan tersebut selanjutnya dibuat menjadi dua variabel masukan dan satu sebagai target. Variabel masukan pertama berupa data hari kemarin, dan variabel masukan kedua berupa data hari sekarang. Sedangkan data target ialah data hari esok. Data-data tersebut adalah:
33
Tabel 4.2. Data Peramalan No 1 2 3 . . . 468 469
x-1 121,910 120,096 120,841 . . . 317,699 319,721
x 120,096 120,841 121,790 . . . 319,721 323,174
t 120,841 121,790 118,963 . . . 323,174 322,290
Setelah data tersebut dipilih dan siap digunakan untuk dilakukan peramalan, tahap selanjutnya yaitu melakukan penskalaan. 4.2 Penskalaan atau Normalisasi Data yang dimasukkan pada program, dilakukan penskalaan. Penskalaan dilakukan karena skala sangat dibutuhkan pada jaringan syaraf tiruan yang menggunakan fungsi aktifasi sigmoid. Data masukan dan target dilakukan penskalaan sehingga masuk dalam range tertentu. Pada penelitian ini proses penskalaan dilakukan dengan bantuan mean dan standar deviasi. sehingga diperoleh ringkasan statistik pada Tabel 4.3 berikut ini. Tabel 4.3. Ringkasan Statistik data Peramalan Saham Bisnis-27 Penduga Mean x1 Mean x2 Std.Dev. x1 Std.Dev. x2 Mean t Std.Dev. t
Keterangan:
x1
= masukan 1
x2
= masukan 2
Nilai 212,0129 212,4694 48,7109 48,6534 212,9222 48,5688
t
= target
34
Hasil yang didapatkan dari penskalaan diatas adalah: Tabel 4.4. Nilai masukan yang diskalakan No
x-1
1 2 3 . . . 468 469
-1,8497 -1,8870 -1,8717 . . . 1,5229 1,5246
X -1,8986 -1,8833 -1,8638 . . . 1,5321 1,6005
Tahap selanjutnya setelah penskalaan didapat yaitu melakukan inisialisasi jaringan. 4.3 Inisialisasi Jaringan Inisialisasi jaringan merupakan langkah sebelum membuat program backpropagation di Scilab. Dalam skripsi ini, jaringan yang dibentuk terdiri dari dua lapisan masukan, dua lapisan tersembunyi, dan satu lapisan keluaran. Lapisan masukan yang dipakai telah dijelaskan sebelumnya di pembahasan 4.1. Lapisan tersembunyi terdiri dari 2 lapisan, lapisan pertama terdiri atas 10 neuron dengan fungsi aktivasi sigmoid bipolar, sedangkan lapisan tersembunyi kedua terdiri atas 5 neuron dengan fungsi aktivasi sigmoid biner. Lapisan keluaran terdiri atas 1 neuron dengan fungsi aktivasi purelin.
35
w11
w21
x1
z1
z11 w31
w12
w25
. . . . . . . .
w110 w26
w111 x2
w112
z2
w210
w32 . . . . . . . .
w120
w10
y
z15
w211 w215
w20
160
w100 1
z10
1
w110
1
159
Lapisan Tersembunyi Pertama
Lapisan Input
Lapisan Tersembunyi Kedua
Lapisan Output
Gambar 4.2. Arsitektur Jaringan Penelitian Keterangan:
= lapisan masukan ke-i
= lapisan tersembunyi ke-i y
= lapisan keluaran = bobot yang menghubungkan neuron ke-i dan neuron ke-j
jaringan dilakukan untuk mengetahui bentuk arsitektur jaringan syaraf tiruan (Gambar 4.2) yang digunakan pada skripsi ini. Setelah arsitektur atau hasil inisialisasi jaringan didapat, lalu dilakukan inisialisasi bobot dan bias. 4.4 Inisialisasi Bobot Bobot adalah nilai matematis dari sebuah koneksi antar neuron, seperti pada Gambar 4.2
terdapat bobot lapisan masukan ke lapisan tersembunyi
pertama, bobot lapisan tersembunyi pertama ke lapisan tersembunyi kedua, dan 36
bobot lapisan tersembunyi kedua ke lapisan keluaran. Demikian juga dengan bias mempunyai koneksi antar neuron yang sama seperti bobot. Bias merupakan sebuah unit masukan yang nilainya selalu satu. Setiap kali membentuk jaringan backpropagation, scilab akan mengeluarkan nilai bobot dan bias awal dengan bilangan acak kecil. Nilai acak yang dibangkitkan pada skripsi ini antara interval -0,5 sampai 0,5. Bobot dan bias ini akan berubah setiap kali kita membentuk jaringan. Akan tetapi jika diinginkan memberi bobot tertentu, kita bisa melakukan dengan memberi nilai sendiri.
4.5 Proses Pelatihan Backpropagation Proses pelatihan pada metode backpropagation dilakukan untuk mendapatkan gambaran dan pembelajaran tentang data yang dimasukkan. Latihan ini berupa memasukkan nilai iterasi, error tujuan, maksimum kenaikan kinerja, rata-rata pembelajaran, rasio untuk menaikan rata-rata pembelajaran, rasio untuk menurunkan rata-rata pembelajaran, dan jumlah iterasi yang akan ditunjukkan kemajuannya serta nilai momentum. Sehingga dalam program terdapat kejelasan apa yang harus dipelajari dan batasan mempelajari data sehingga dapat menghasilkan peramalan yang baik. Dalam pelatihan ini dibagi menjadi tiga fase, yaitu propagasi maju, propagasi mundur, dan perubahan bobot. Propagasi maju dilakukan untuk menentukan keluaran lapisan tersembunyi dan nilai keluaran akhir. Penjelasan mengenai propagasi maju terdapat pada BAB II (Pelatihan Backpropagation). Hasil keluaran keluaran pada scilab ialah: 37
Tabel 4.5. Nilai Keluaran Jaringan No.
Nilai Keluaran
1
-1,901573347
2
-1,891800949
3
-1,872274234
4
-1,922166300
5 . . . 465
-1,941137097 . . . 1,505524692
466
1,489221944
467
1,511671509
468
1,527948518
469
1,593913733
Propagasi mundur dilakukan untuk mendistribusikan kesalahan di unit berupa error dan untuk menghitung koreksi bobot dan bias. Penjelasan lebih lengkap tentang propogasi mundur ada di BAB II (Pelatihan Backpropagation). Perubahan bobot adalah kegiatan yang dilakukan dalam beberapa iterasi, pada skripsi ini digunakan 20848 kali untuk mencapai nilai error tujuan yaitu 0,00476 dan secara otomatis bobot awal akan berubah menjadi:
38
Tabel 4.6. Tabel Bobot Akhir Lapisan Masukan ke lapisan tersembunyi Pertama Lapisan Tersembunyi pertama M1 M2 M3 M4 M5 M6 M7 M8 M9 M10
Lapisan Masukan x1 0,133 0,315 -0,134 0,024 0,027 0,500 0,319 -0,366 -1,037 0,004
x2 0,651 -1,562 -1,24 -0,00 0,519 0,147 0,637 1,036 -0,163 0,619
Perubahan bobot akhir ini menghasilkan banyak keluaran, seluruh keluaran berfungsi untuk mendapatkan hasil peramalan yang lebih baik. Hasil perubahan bobot secara lengkap dapat dilihat di Lampiran 6 (Tabel inisialisasi bobot dan bias akhir). Setelah proses pelatihan backpropagation didapatkan, akan didapat pula hasil peramalan. 4.6 Analisis Hasil Peramalan Tujuan
utama
penggunaan
backpropagation
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. Umumnya data dibagi menjadi 2 bagian saling asing, yaitu pola data yang dipakai sebagai data pelatihan dan data yang dipakai untuk pengujian. Pada penelitian ini data pelatihan ada 369 data dan data pengujian ada 100 data. Perubahan bobot dilakukan berdasarkan pola pelatihan. Akan tetapi selama
39
pelatihan, kesalahan yang terjadi dihitung berdasarkan semua data (pelatihan dan pengujian). 4.6.1
Analisis Data Pelatihan Pelatihan jaringan akan berhenti jika telah mendapatkan error yang lebih
kecil dari target error dalam penelitian ini dinamakan MSE (Mean Squared Error). Jika error tidak terpenuhi maka error akan berhenti pada maksimum iterasi atau iterasi yang dimasukkan. Banyaknya masukan untuk lapisan masukan juga berpengaruh untuk keakuratan prediksi oleh jaringan syaraf tiruan. data masukanan juga dipakai sebagai data pelatihan untuk mencari bobot yang optimal. Setiap arsitektur mempunyai bobot akhir yang dihasilkan berdasarkan bobot awal dan data masukan. Pada pelatihan jaringan akan memperhatikan parameter pembelajaran yang digunakan, seperti parameter learning rate ( ). Semakin besar nilai cepat pula proses pelatihan. Akan tetapi jika
, semakin
terlalu besar, maka algoritma
menjadi tidak stabil dan mencapai titik minimum lokal. Nilai
pada penelitian ini
adalah 0,5. parameter lainnya adalah momentum yang digunakan untuk melakukan perubahan bobot yang didasarkan atas arah gradien pola terakhir dan pola sebelumnya. Nilai momentum yang digunakan adalah 0,8. Data pelatihan terdiri dari 2 masukan dan 1 target di mana masing-masing masukan dan target mempunyai 369 data. Hasil peramalan data pelatihan dapat dilihat pada Tabel 4.7.
40
Tabel 4.7. Hasil Peramalan Data Pelatihan Indeks Bisnis-27 Data ke 1 2 3 . . 321 . . 323 . . 366 367 368 369
Target 120,84 121,79 118,96 . . 242,204 . . 252,10 . . 286,19 286,64 290,34 287,18
Prediksi JST 120,57 121,04 121,99 . . 242,2014 . . 234,73 . . 285,25 286,34 287,13 290,34
Error 0,28 0,75 -3,03 . . 0,002646 . . 17,37 . . 0,94 0,30 3,21 -3,16
Berdasarkan Tabel 4.7. error terkecil terletak pada data ke-321 dengan nilai 0,002646. Sedangkan error terbesar terletak pada data ke-323 dengan nilai 17,37. Untuk melihat lebih jelas penyimpangan antara nilai target dan prediksi disajikan pula pada Gambar 4. 3.
Gambar 4.3. Grafik Hasil Data pelatihan 41
Berdasarkan Gambar 4.3 dan Tabel 4.7. target dan keluaran jaringan (hasil prediksi) di analisis dengan regresi linier menggunakan postreg pada scilab, sehingga menghasilkan: Gradien garis terbaik (m1)
= 0,9952
Konstanta (a1)
= 1,0277
Koefisien Korelasi (r1)
= 0,9976
Koefisien korelasi bernilai 0,9976 dan mendekati 1, menunjukkan hasil yang baik untuk kecocokan keluaran jaringan dengan target (Gambar 4.3).
4.6.2
Analisis Data Pengujian Setelah melewati tahap pelatihan, yang dilakukan selanjutnya adalah tahap
pengujian. Pengujian jaringan dilakukan untuk mendapatkan arsitektur yang tepat untuk peramalan saham penutupan esok hari. Data-data yang digunakan adalah data yang tidak ikut dilatih. Faktor-faktor yang berpengaruh untuk mendapatkan hasil yang terbaik adalah jumlah neuron pada lapisan tersembunyi, learning rate, momentum, error dan iterasi. Berdasarkan hasil pengujian dapat diambil kesimpulan pengaruh learning rate dan momentum terhadap arsitektur jaringan sehingga mendapaatkan arsitektur yang terbaik. Penggunaan laju pembelajaran terlalu besar dan nilai momentum terlalu kecil akan menyebabkan tingkat konvergensi lebih lambat. Laju pembelajaran kecil dan momentum besar akan mempercepat tingkat konvergensi dan diharapkan mendapatkan hasil yang terbaik.
42
Data pengujian terdiri dari 2 masukan dan 1 target dimana masing-masing masukan dan target mempunyai 100 data. Hasil peramalan data pelatihan dapat dilihat pada tabel 4.3. Tabel 4.8. Hasil Peramalan Data Pengujian Indeks Bisnis-27 Data ke 1 2 3 . . 27 . . 58 . . 97 98 99 100
Target 285,32 276,53 277,31 . . 311,91 . . 325,94 . . 317,70 319,72 323,17 322,29
Prediksi Jst 288,60 286,23 277,95 . . 299,12 . . 325,89 . . 317,86 318,39 323,17 322,20
Error -3,28 -9,70 -0,64 . . 12,79 . . 0,05 . . -0,16 1,33 3,15 0,09
Berdasarkan Tabel 4.8 Error terkecil terletak pada data ke-58 dengan nilai 0,05. Sedangkan error terbesar terletak pada data ke-27 dengan nilai 12,79. Untuk melihat lebih jelas penyimpangan antara nilai target dan prediksi disajikan pula pada Gambar 4.4.
43
Gambar 4.4. Grafik Hasil Data Pengujian Berdasarkan Gambar 4.4 Dan tabel 4.8 target dan keluaran jaringan (hasil prediksi) dianalisis dengan regresi linier menggunakan postreg pada scilab, sehingga menghasilkan: Gradien garis terbaik (m2)
= 0,9246
Konstanta (a2)
= 23,2020
Koefisien Korelasi (r2)
= 0,9693
Koefisien korelasi bernilai 0,9689 dan mendekati 1, menunjukkan hasil yang baik untuk kecocokan keluaran jaringan dengan target. Dibandingkan dengan hasil pelatihan nilai korelasi data pengujian lebih kecil dari data pelatihan.
44
Arsitektur yang digunakan untuk peramalan saham adalah arsitektur pada data pengujian. Bobot dan bias yang digunakan pada data pengujian adalah bobot dan bias pada data pelatihan. Berdasarkan hasil data pengujian pada Tabel 4.8. diperoleh hasil peramalan untuk hari esok atau tanggal 3 januari 2011 adalah 322,20, dengan nilai lebih rendah dari harga sebelumnya yaitu 322,29. Berikut ini adalah grafik antara target dan hasil prediksi JST berdasarkan data pengujian.
Gambar 4.5. Grafik Hasil SahamPeramalan Indeks Bisnis-27 Pada Gambar 4.5, keluaran jaringan (o) dan target (*) sebagian besar sudah berdekatan (hampir menempati posisi yang sama). Hasil terbaik terjadi apabila posisi keluaran(o) dan target(*) betul-betul berada pada posisi yang sama. Berdasarkan Tabel 4.4 dan Gambar 4.4 diperoleh kocokan nilai antar target dan keluaran, hal ini menunjukkan nilai keluaran mendekati harga saham yang asli dan mempunyai peramalan yang cukup bagus. 45
4.6.
Nilai Kinerja Nilai kinerja atau nilai kondisi atau syarat adalah nilai tujuan error yang
ingin dicapai atau biasa disebut mean square error (MSE) . Nilai MSE didapat dari semua data yaitu data pelatihan dan data pengujian. Pada tahap pelatihan dan pengujian data menggunakan bobot dan bias yang sama. Untuk mengetahui nilai MSE dapat dilihat pada Gambar 4.6.
Gambar 4.6. Nilai MSE Peramalan Saham Indeks Bisnis-27 Pada Gambar 4.6. terlihat bahwa perubahan error terjadi setiap 0.2 x epoch atau iterasi. MSE yang didapatkan sebesar 0.00476 pada iterasi ke 20848. MSE yang didapatkan sama dengan nilai tujuan error yang asli.
46
BAB V KESIMPULAN DAN SARAN
Setelah dilakukan analisa dan pengolahan data, maka pada bab ini diambil kesimpulan dan diberikan saran untuk penelitian selanjutnya. 5.1 Kesimpulan Berdasarkan hasil yang telah diperoleh, maka kesimpulan yang bisa ditarik dari analisis dan pembahasan sebelumnya adalah sebagai berikut: 1.
Nilai korelasi pada data pelatihan bernilai 0,9976 sedangkan nilai korelasi pada data pengujian bernilai lebih kecil dari data pelatihan yaitu 0.9693. Dari masing-masing nilai korelasi data pelatihan dan data pengujian mempunyai nilai korelasi yang sangat tinggi mendekati 1. Hal tersebut menunjukkan hasil yang baik untuk kecocokan keluaran jaringan dan target.
2.
Hasil peramalan harga saham untuk hari berikutnya (1 Januari 2011) adalah 322,20 lebih rendah dari harga sebelumnya (30 Desember 2010) yaitu 322,29, dengan selisih 0,09.
3.
Nilai Mean Squared Error (MSE) yang dihasilkan pada penelitian ini mencapai nilai tujuan yaitu 0,00476 pada iterasi ke 20848.
47
5.2 Saran Dari hasil yang telah diperoleh, maka saran yang dapat dikemukakan adalah sebagai berikut: 1.
Untuk penelitian selanjutnya lebih dikembangkan lagi variasi algoritma pelatihan supaya didapatkan hasil yang optimal dengan waktu pelatihan yang lebih singkat.
2.
Bobot diinisialisasi lebih baik lagi karena nilai bobot mempengaruhi hasil keluaran terutama pada data pengujian.
48
DAFTAR PUSTAKA
[1]
http://id.wikipedia.org/wiki/Saham
[2]
http://idx.co.id/MainMenu/Education/IndeksHargaSahamObligasi/ 195/1ang/id-ID/language/id-ID/Default.aspx
[3]
http://detikFinance BEI Luncurkan Indeks Bisnis 27.htm
[4]
http://myteks.wordpress.com/2010/08/31/jaringan-saraf-tiruan-artificialneural-network/
[5]
Suyanto. Artificial Intelligence, Bandung: Informatika. 2007.
[6]
Kusumadewi, Sri. Membangun Jaringan Syaraf Tiruan Menggunakan Matlab & Excel Link, Jogjakarta: Graha Ilmu. 2004.
[7]
Jong, J.S. Jaringan Saraf Tiruan & Pemprogramannya Menggunakan Matlab, Jogjakarta: Penerbit Andi. 2009.
49
tabid/
LAMPIRAN 1 Tabel Saham kelompok Indeks Bisnis-27 No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Kode AALI ADRO ANTM ASII BBCA BBNI BBRI BDMN BMRI BNGA BYAN GGRM INCO INDF INDY INTP ISAT ITMG JSMR LPKR PGAS PNBN PTBA SMGR TLKM UNTR UNVR
Nama Emiten Astra Agro Lestari Tbk Adaro Energy Tbk Aneka Tambang Tbk Astra International Tbk Bank Central Asia Tbk Bank Negara Indonesia Tbk Bank Rakyat Indonesia Tbk Bank Danamon Tbk Bank Mandiri Tbk Bank CIMB Niaga Tbk Bayan Resources Tbk Gudang Garam Tbk International Nickel Indonesia Tbk Indofood Sukses Makmur Tbk Indika Energy Tbk Indocement Tunggal Prakarsa Tbk Indosat Tbk Indo Tambangraya Megah Tbk Jasa Marga Tbk Lippo Karawaci Tbk Perusahaan Gas Negara Tbk Bank Pan Indonesia Tbk Tambang Batubara Bukit Asam Tbk Semen Gresik Tbk Telekomunikasi Indonesia Tbk United Tractors Tbk Unilever Indonesi Tbk
LAMPIRAN 2 Tabel Data Penutupan Harga Saham Indeks Bisnis-27 Periode Januari 2009 S/D Desember 2010 No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 . . . 470 471
Tanggal 27/01/2009 28/01/2009 29/01/2009 30/01/2009 02/02/2009 03/02/2009 04/02/2009 05/02/2009 06/02/2009 09/02/2009 10/02/2009 11/02/2009 12/02/2009 13/02/2009 16/02/2009 17/02/2009 18/02/2009 19/02/2009 20/02/2009 23/02/2009 . . . 29/12/2010 30/12/2010
Closed 121,910 120,096 120,841 121,790 118,963 118,270 119,727 120,455 122,545 121,718 120,227 118,867 119,207 120,518 120,614 117,895 119,181 118,205 115,076 116,884 . . . 323,174 322,290
LAMPIRAN 3 Tabel Data Pelatihan No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 . . . 368 369
x-1 121,910 120,096 120,841 121,790 118,963 118,270 119,727 120,455 122,545 121,718 120,227 118,867 119,207 120,518 120,614 117,895 119,181 118,205 115,076 116,884 . . . 286,193 286,644
Keterangan
x 120,096 120,841 121,790 118,963 118,270 119,727 120,455 122,545 121,718 120,227 118,867 119,207 120,518 120,614 117,895 119,181 118,205 115,076 116,884 115,144 . . . 286,644 290,339
t 120,841 121,790 118,963 118,270 119,727 120,455 122,545 121,718 120,227 118,867 119,207 120,518 120,614 117,895 119,181 118,205 115,076 116,884 115,144 115,655 . . . 290,339 287,181
x-1
= Saham hari sebelumnya
x
= Saham hari sekarang
t
= Target
LAMPIRAN 4 Tabel Data Pengujian No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
x-1 290,339 287,181 285,325 276,527 277,310 283,960 286,224 288,468 285,639 283,080 281,662 284,309 284,712 286,843 290,926 291,217 291,461 290,163 291,602 291,710
x 287,181 285,325 276,527 277,310 283,960 286,224 288,468 285,639 283,080 281,662 284,309 284,712 286,843 290,926 291,217 291,461 290,163 291,602 291,710 287,424
t 285,325 276,527 277,310 283,960 286,224 288,468 285,639 283,080 281,662 284,309 284,712 286,843 290,926 291,217 291,461 290,163 291,602 291,710 287,424 286,355
99 317,699 319,721 323,174 100 319,721 323,174 322,290
LAMPIRAN 5 Tabel Inisialisasi Bobot dan Bias Awal Tabel Bobot Awal Lapisan Input ke lapisan tersembunyi Pertama Lapisan Tersembunyi pertama M1
X1
X2
0,0118
0,1004
M2
0,9179
-0,9978
M3
-0,9909
-0,8953
M4
-0,192
-0,2867
M5
-0,0132
0,1257
M6
0,9821
-0,011
M7
0,8998
0,7346
M8
-0,3006
0,7897
M9
-0,9843
-0,041
M10
-0,2518
0,1302
Lapisan Input
Tabel Bobot Bias Awal Lapisan Input Ke Lapisan tersembunyi Pertama
M1
Bias Lapisan Tersembunyi Pertama -1,9386
M2
-1,614
M3
0,9221
M4
0,9021
M5
0,9897
M6
0,9395
M7
-1,2132
M8
-1,4846
M9
-1,4403
M10
0,9987
Lapisan Tersembunyi pertama
Tabel Bobot Awal Lapisan tersembunyi Pertama ke Lapisan Tersembunyi Kedua
Lapisan Tersembunyi Kedua
Lapisan Tersembunyi pertama
N1
M1 1,45
M2 1,0501
M3 0,9679
M4 -0,0225
M5 0,0705
M6 -1,765
M7 0,8302
M8 1,1893
M9 1,1413
M10 0,3847
N2
0,7305
1,4203
-0,3329
0,1057
-0,1429
-1,5011
-1,5074
1,0495
-1,1499
-1,0838
N3
1,5362
-1,2236
-0,6011
0,0316
0,8532
0,4183
-1,4828
0,9369
-0,906
1,3406
N4
1,4153
-1,2922
-0,1157
-1,2216
1,048
1,6869
0,0372
0,9609
0,1592
-0,8628
N5
0,9604
1,1946
-1,2088
1,4801
0,3484
-0,2468
1,257
-0,9697
-1,4478
-0,7297
Tabel Bobot Bias Awal lapisan tersembunyi Pertama ke lapisan Tersembunyi Kedua Lapisan Tersembunyi Kedua N1
Bias Lapisan Tersembunyi Pertama -3,2889
N2
-1,6445
N3
0,7314
N4
0,6446
N5
-3,2889
Tabel Bobot Awal Lapisan Tersembunyi Kedua Ke Lapisan Output Lapisan Tersembunyi Kedua N1
Lapisan Output 0,6595
N2
-0,3997
N3
0,4192
N4
-0,8508
N5
0,0004
Tabel Bobot Bias Awal Lapisan Tersembunyi Kedua Ke Lapisan Output Bias Lapisan Tersembunyi Kedua B
Lapisan Output -0,0622
LAMPIRAN 6 Tabel Inisialisasi Bobot dan Bias Akhir Tabel Bobot Akhir Lapisan Input ke lapisan tersembunyi Pertama Lapisan Tersembunyi pertama M1 M2 M3 M4 M5 M6 M7 M8 M9 M10
Lapisan Input X1 0,1338 0,3158 -0,134 0,024 0,027 0,5004 0,3196 -0,366 -1,037 0,0044
X2 0,6514 -1,562 -1,24 -0,007 0,5194 0,1477 0,6371 1,036 -0,163 0,6199
Tabel Bobot Bias Akhir Lapisan Input Ke Lapisan tersembunyi Pertama Lapisan Bias Lapisan Tersembunyi Tersembunyi pertama Pertama M1 -1,8243 M2 -1,1265 M3 1,2471 M4 1,3431 M5 0,6551 M6 1,1006 M7 -1,5787 M8 -1,4045 M9 -1,3677 M10 1,1272
Tabel Bobot Akhir Lapisan tersembunyi Pertama ke Lapisan Tersembunyi Kedua
Lapisan Tersembunyi Kedua
Lapisan Tersembunyi pertama
N1
M1 1,51
M2 1,0479
M3 0,907
M4 -0,072
M5 0,0782
M6 -1,7211
M7 0,891
M8 1,249
M9 1,088
M10 0,4106
N2
0,517
1,5766
-0,091
N3
1,848
-0,866
-1,267
0,2614
-0,369
-1,6615
-1,735
0,824
-0,939
-1,378
-0,25
0,5995
0,3494
-0,811
1,363
-0,826
1,093
N4
1,629
-1,124
-0,04
-1,193
0,9366
1,4249
-0,004
1,153
0,337
-0,794
N5
0,897
1,0636
-1,292
1,5511
0,4691
-0,1705
1,547
-0,965
-1,556
-0,608
Tabel Bobot Bias Akhir lapisan tersembunyi Pertama ke lapisan Tersembunyi Kedua Lapisan Bias Lapisan Tersembunyi Tersembunyi Kedua Pertama N1 -3,349 N2 -1,432 N3 0,4357 N4 0,4332 N5 -3,206
Tabel Bobot Awal Lapisan Tersembunyi Kedua Ke Lapisan Output Lapisan Tersembunyi Kedua N1
Lapisan Output 0,5587
N2
-1,8916
N3
1,7385
N4
0,6614
N5
1,5718
Tabel Bobot Bias Akhir Lapisan Tersembunyi Kedua Ke Lapisan Output Bias Lapisan Tersembunyi Kedua B
Lapisan Output -0,9159
LAMPIRAN 7 Program Peramalan Indeks Saham Menggunakan Metode Backpropagation
clear; %Data input &target Data=[... ]; P=Data(:,xi:xn)'; T=Data(:,T)'; %Preprocesing [pn,meanp,stdp,tn,meant,stdt]=prestd(P,T) %membangun jaringan saraf feedforward net=newff(minmax(pn),[10 5 1],{'tansig' 'logsig' 'purelin'},'traingdx'); %set bobot net.IW{1,1} net.b{1,1} net.LW{2,1} net.b{2,1} net.LW{3,2} net.b{3,1} %melihat bobot awal input,lapisan,dan bias BobotAwal_Input=net.IW{1,1} BobotAwal_Bias_Input=net.b{1,1} BobotAwal_Lapisan1=net.LW{2,1} BobotAwal_Bias_Lapisan1=net.b{2,1} BobotAwal_Lapisan2=net.LW{3,2} BobotAwal_Bias_Lapisan2=net.b{3,1} %set max epoh,goal,learning rate,show step net.trainParam.epochs=20000; net.trainParam.goal=0.00476; net.trainParam.max_perf_inc=1.06; net.trainParam.lr=0.5; net.trainParam.lr_inc=1.2; net.trainParam.lr_dec=0.6; net.trainParam.show=2000; net.trainParam.mc=0.8;
%melakukan pembelejaran net=train(net,pn,tn);pause %Melihat bobot-bobot awal input,lapisan dan bias BobotAkhir_Input=net.IW{1,1} BobotAkhir_Bias_Input=net.b{1,1} BobotAkhir_Lapisan1=net.LW{2,1} BobotAkhir_Bias_Lapisan1=net.b{2,1} BobotAkhir_Lapisan2=net.LW{3,2} BobotAkhir_Bias_Lapisan2=net.b{3,1} %Melakukan simulasi an=sim(net,pn); a=poststd(an,meant,stdt); H=[(1:size(P,2))' T' a' (T'-a')]; sprintf('%2d %9.2f %7.2f %5.2f\n',H') %Evaluasi output jaringan (data pelatihan dengan target) [m1,a1,r1]=postreg(a,T) %Input baru Q akan di test, dengan target TQ Cek=[... ]; Q=Cek(:,xi:xn)'; TQ=Cek(:,T)'; %Normalisasi input baru Qn=trastd(Q,meanp,stdp); bn=sim(net,Qn) b=poststd(bn,meant,stdt) L=[(1:size(Q,2))' TQ' b' (TQ'-b')]; sprintf('%2d %11.2f %9.2f %7.2f\n',L') %Evaluasi output jaringan (data testing dengan target) [m2,b1,r2]=postreg(b,TQ) pause k=[1:size(Q,2)]; plot(k,TQ,'bo',k,b','r*'); title('Hasil pengujian dengan data pelatihan:Target(o),Output(*)'); xlabel('Data ke-');ylabel('Target/Output'); %text(k+0.2*ones(length(k),1),TQ,int2str(k));