Prediksi Harga Saham Syariah Menggunakan Metode Adaptive Neuro Fuzzy Inference System (ANFIS)

(1)

SKRIPSI

UMI HANI

081402032

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

UMI HANI 081402032

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(3)

Judul : PREDIKSI HARGA SAHAM SYARIAH

MENGGUNAKAN METODE ADAPTIVE

NEURO FUZZY INFERENCE SYSTEM (ANFIS)

Kategori : SKRIPSI

Nama : UMI HANI

Nomor Induk Mahasiswa : 081402032

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Januari 2014 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Sarah Purnamawati, S.T, M.Sc. Dr. Erna Budhiarti Nababan, M.IT NIP 19830226 201012 2 003 NIP -

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

Prof. Dr. Opim Salim Sitompul, M.Sc. NIP196108171987011001


(4)

PREDIKSI HARGA SAHAM SYARIAH MENGGUNAKAN METODE ADAPTIVE NEURO FUZZY INFERENCE SYSTEM (ANFIS)

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Januari 2014

Umi Hani 081402032


(5)

Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada Ibu Dr. Erna Budhiarti Nababan, M.IT selaku pembimbing satu dan Sarah Purnamawati, S.T, M.Sc. selaku pembimbing dua yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis. Ucapan terima kasih juga ditujukan kepada Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc. dan Bapak Mohammad Fadly Syahputra, B.Sc, M.Sc.IT yang telah bersedia menjadi dosen pembanding. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.

Skripsi ini terutama penulis persembahkan untuk kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi, ayahanda (alm.) H. Sauri Syam Lc. dan ibunda Hj. Rahimah yang selalu sabar dalam mendidik dan membesarkan penulis. Untuk kakak penulis Uswatun Hasanah S.Pd. M.Si, Usrotun Saidah S.S, Usmatun Thaibah S.Pd. M.Hum dan abang penulis Umar Husni S.E. yang selalu memberikan dorongan kepada penulis. Terima kasih penulis ucapkan kepada teman-teman yang selalu memberikan dukungan, Muhammmad Fadhly Sani, Nanda, Lia, Ebi, Sai Rein, Desfi, Siska, Ester, Fanny, Muti, Hasnul, Ika, seluruh angkatan 08, teman-teman di lantai 3, serta teman-teman mahasiswa Teknologi Informasi lainnya yang tidak dapat penulis sebutkan satu persatu. Semoga Allah SWT membalas kebaikan kalian dengan nikamat yang berlimpah.


(6)

Indonesia, sebagai negara berpenduduk beragama Islam terbesar di dunia, memiliki potensi yang sangat besar untuk pengembangan saham syariah. Pelaku pasar pada saham syariah dituntut untuk memahami investasi saham dan analisis manajemen resiko serta analisis pergerakan transaksi saham. Analisis pergerakan transaksi saham digunakan untuk melihat pergerakan saham dan membantu para investor untuk memprediksi harga saham. Salah satu analisis pergerakan transaksi saham yang biasa dilakukan adalah analisis teknikal dimana saham diprediksi berdasarkan data fluktuasi saham di masa lalu. Dalam tugas akhir ini digunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) untuk memprediksi indeks saham syariah berdasarkan data-data saham sebelumnya. ANFIS adalah salah satu sistem hybrid dimana metode pembelajaran jaringan syaraf tiruan digunakan untuk mengimplementasikan metode

Fuzzy Inference System. Pengukuran tingkat akurasi hasil prediksi dilakukan dengan nilai MAPE (Mean Absolute Percentage Error). Hasil prediksi yang dilakukan menggunakan ANFIS dengan parameter laju penbelajaran 0.6, momentum 0.1, max epoch 400 dan kriteria penghentian 0.000001 pada indeks harga saham Jakarta Islamic Index (JII) priode 1 Januari 2011 sampai dengan 31 Desember 2012 menghasilkan

error rata-rata sebesar 0.97583%.

Kata kunci: adaptive neuro fuzzy inference system, neuro fuzzy, neural network, fuzzy inference system, prediksi, saham syariah, jakarta islamic index.


(7)

NEURO FUZZY INFERENCE SYSTEM (ANFIS)

ABSTRACT

Indonesia as the biggest Muslim country in the world has a huge potential for the development of sharia stock market. The investor of sharia stock market are required to understand the stock investment and risk management analysis and stock movement transactions analysis. Analysis of stock movement transactions used to monitor at the movement of stocks and helping investors to predict the value of the stock. One of stock movement transactions common used is technical analysis where the data is predicted based on past stock fluctuations. In this study Adaptive Neuro Fuzzy Inference System (ANFIS) is used to predict the value of sharia stock index based on previous stock data. ANFIS is a hybrid system where neural networks are used to implement the Fuzzy Inference System. The accuracy of the prediction results is measured by the value of MAPE (Mean Absolute Percentage Error). The results of prediction using ANFIS with parameter learning rate 0.6, momentum 0.1, max epoch 400 and stoping criterion 0.000001 on stock indices Jakarta Islamic Index ( JII ) from January 1st, 2011 to December 31st, 2012 yield average error of 0.97583%.

Keyword: adaptive neuro fuzzy inference system, neuro fuzzy, neural network,


(8)

Hal.

Persetujuan ii

Pernyataan iii

Ucapan Terima Kasih iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Bab 1 Pendahuluan 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 4

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 Tinjauan Pustaka 7

2.1 Saham Syariah 7

2.2 Analisis Harga Saham 9

2.3 Normalisasi Data 11

2.4 Fuzzy System 12

2.4.1 Fuzzifikasi 12

2.4.1.1 Fungsi Keanggotaan 13

2.4.1.2 FuzzyClustering 16

2.4.2 Inferensi 18

2.4.2.1 Operasi Himpunan Fuzzy 18

2.4.2.2 Metode Inferensi Sugeno 19

2.4.3 Defuzzifikasi 20

2.5 Jaringan Saraf Tiruan 21

2.6 Prediksi Menggunakan ANFIS 21

2.7 Teknik Prediksi Harga Saham Terdahulu 28

Bab 3 Analisis dan Perancangan Sistem 33

3.1 Identifikasi Masalah 33

3.2 Data yang Digunakan 34

3.3 Analisis Teknikal Prediksi Harga Saham Menggunakan ANFIS 35

3.4 Perancangan Sistem 40

3.4.1 Use Case Diagram 40

3.4.2 Use Case Specification 41


(9)

3.4.5 Model Entity-Relationship 50

3.4.6 Rancangan Menu Sistem 50

3.4.7 Perancangan Antarmuka 51

3.4.7.1 Rancangan Halaman Login 51

3.4.7.2 Rancangan Halaman Utama 52

3.4.7.3 Rancangan Halaman Tutorial Aplikasi 53

3.4.7.4 Rancangan Halaman Profil 53

3.4.7.5 Rancangan Halaman Pengguna 54

3.4.7.6 Rancangan Halaman Catatan 55

3.4.7.7 Rancangan Halaman Data Saham 56

3.4.7.8 Rancangan Halaman Prediksi Saham 57

Bab 4 Implementasi dan Pengujian Sistem 58

4.1 Implementasi Sistem 58

4.1.1 spesifikasi perangkat keras dan lunak yang digunakan 58

4.1.2 Implementasi perancangan antarmuka 58

4.1.3 Implementasi data 65

4.2 Pengujian Sistem 65

4.2.1 Rencana pengujian sistem 66

4.2.2 Kasus dan hasil pengujian sistem 66

4.2.3 Pengujian kinerja sistem 71

4.2.4 Data training 76

4.2.5 Pengujian data 79

Bab 5 Kesimpulan dan Saran 81

5.1 Kesimpulan 81

5.2 Saran 82

Daftar Pustaka 83


(10)

Hal.

Tabel 2.1 Penelitian Sebelumnya 31

Table 3.1 Rangkuman Data Saham Jakarta Islamic Index 34 Tabel 3.2 Use Case Spesifikasi untuk Use Case Profil 41 Tabel 3.3 Use Case Spesifikasi untuk Use Case Pengaturan Pengguna 42 Tabel 3.4 Use Case Spesifikasi untuk Use Case Tutorial Aplikasi 42 Tabel 3.5 Use Case Spesifikasi untuk Use Case Edit Catatan 43 Tabel 3.6 Use Case Spesifikasi untuk Use Case Prediksi 43 Tabel 3.7 Use Case Spesifikasi untuk Use Case Pengaturan Data Saham 44

Table 4.1 Data Saham Jakarta Islamic Index 65

Tabel 4.2 Rencana Pengujian 66

Tabel 4.3 Hasil Pengujian 67

Tabel 4.4 Data Saham Jakarta Islamic Index (JII) 71

Tabel 4.5 Hasil Normalisasi Data Saham 72

Tabel 4.6 Hasil Training Data Saham 74

Tabel 4.7 Hasil Denormalisasi 74

Tabel 4.8 Rangkuman Hasil Pengujian untuk Data Saham JII 76 Tabel 4.9 Parameter ANFIS dan Hasil Pelatihan Data Saham 76


(11)

Hal. Gambar 2.1 Harga Saham United Traktors Mei-Juni 2002 10

Gambar 2.2 Harga Saham Telkom 1-15 Mei 2009 10

Gambar 2.3 Proses Fuzzy Inference System (Effendi, 2009) 12

Gambar 2.4 Kurva Segitiga (Irawan, 2007) 13

Gambar 2.5 Kurva Trapesium (Irawan, 2007) 14

Gambar 2.6 Kurva Generalized Bell (Irawan, 2007) 14

Gambar 2.7 Kurva Gaussian (Irawan, 2007) 15

Gambar 2.8 Blok diagram ANFIS (Rosyadi, 2011) 23

Gambar 3.1 Grafik HargaSaham Jakarta Islamic Index (JII) 35

Gambar 3.2 Algoritma ANFIS pada Sistem 36

Gambar 3.3 Sistem ANFIS dengan Lima Input dan Dua Aturan 37

Gambar 3.4 Use Case Diagram Sistem Prediksi 40

Gambar 3.5 Class Diagram Sistem Prediksi 45

Gambar 3.6 Diagram Aktivitas untuk Mengubah Profil 46

Gambar 3.7 Diagram Aktivitas untuk Mengubah Pengguna 46 Gambar 3.8 Diagram Aktivitas untuk Pengaturan Tutorial Aplikasi 47

Gambar 3.9 Diagram Aktivitas untuk Prediksi Saham 48

Gambar 3.10 Diagram Aktivitas untuk Pengaturan Data Saham 48

Gambar 3.11 Diagram Aktivitas untuk Catatan 49

Gambar 3.12 Model Diagram E-R 50

Gambar 3.13 Struktur Menu Sistem 51

Gambar 3.14 Rancangan Halaman Login 51

Gambar 3.15 Rancangan Halaman Utama 52

Gambar 3.16 Rancangan Halaman Tutorial Aplikasi 53

Gambar 3.17 Rancangan Halaman Profil 54

Gambar 3.18 Rancangan Halaman Pengguna 54

Gambar 3.19 Rancangan Halaman Catatan 55

Gambar 3.20 Rancangan Halaman Data Saham 56

Gambar 3.21 Rancangan Halaman Prediksi Saham 57

Gambar 4.1 Halaman Login 59

Gambar 4.2 Halaman Tutorial Aplikasi 60

Gambar 4.3 Halaman Profil 60

Gambar 4.4 Halaman Pengguna 61

Gambar 4.5 Halaman Catatan 62

Gambar 4.6 Halaman Data Saham 62

Gambar 4.7 Halaman Grafik CandleChart Data Saham 63

Gambar 4.8 Halaman Prediksi 64

Gambar 4.9 Halaman Grafik Prediksi Harga Saham 64

Gambar 4.10 Grafik Hasil Prediksi 75

Gambar 4.11 Grafik Hasil Pelatihan (Waktu Eksekusi) 78

Gambar 4.12 Grafik Hasil Pelatihan (Error) 78


(12)

Indonesia, sebagai negara berpenduduk beragama Islam terbesar di dunia, memiliki potensi yang sangat besar untuk pengembangan saham syariah. Pelaku pasar pada saham syariah dituntut untuk memahami investasi saham dan analisis manajemen resiko serta analisis pergerakan transaksi saham. Analisis pergerakan transaksi saham digunakan untuk melihat pergerakan saham dan membantu para investor untuk memprediksi harga saham. Salah satu analisis pergerakan transaksi saham yang biasa dilakukan adalah analisis teknikal dimana saham diprediksi berdasarkan data fluktuasi saham di masa lalu. Dalam tugas akhir ini digunakan metode Adaptive Neuro Fuzzy Inference System (ANFIS) untuk memprediksi indeks saham syariah berdasarkan data-data saham sebelumnya. ANFIS adalah salah satu sistem hybrid dimana metode pembelajaran jaringan syaraf tiruan digunakan untuk mengimplementasikan metode

Fuzzy Inference System. Pengukuran tingkat akurasi hasil prediksi dilakukan dengan nilai MAPE (Mean Absolute Percentage Error). Hasil prediksi yang dilakukan menggunakan ANFIS dengan parameter laju penbelajaran 0.6, momentum 0.1, max epoch 400 dan kriteria penghentian 0.000001 pada indeks harga saham Jakarta Islamic Index (JII) priode 1 Januari 2011 sampai dengan 31 Desember 2012 menghasilkan

error rata-rata sebesar 0.97583%.

Kata kunci: adaptive neuro fuzzy inference system, neuro fuzzy, neural network, fuzzy inference system, prediksi, saham syariah, jakarta islamic index.


(13)

NEURO FUZZY INFERENCE SYSTEM (ANFIS)

ABSTRACT

Indonesia as the biggest Muslim country in the world has a huge potential for the development of sharia stock market. The investor of sharia stock market are required to understand the stock investment and risk management analysis and stock movement transactions analysis. Analysis of stock movement transactions used to monitor at the movement of stocks and helping investors to predict the value of the stock. One of stock movement transactions common used is technical analysis where the data is predicted based on past stock fluctuations. In this study Adaptive Neuro Fuzzy Inference System (ANFIS) is used to predict the value of sharia stock index based on previous stock data. ANFIS is a hybrid system where neural networks are used to implement the Fuzzy Inference System. The accuracy of the prediction results is measured by the value of MAPE (Mean Absolute Percentage Error). The results of prediction using ANFIS with parameter learning rate 0.6, momentum 0.1, max epoch 400 and stoping criterion 0.000001 on stock indices Jakarta Islamic Index ( JII ) from January 1st, 2011 to December 31st, 2012 yield average error of 0.97583%.

Keyword: adaptive neuro fuzzy inference system, neuro fuzzy, neural network,


(14)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Saham syariah adalah saham-saham yang memiliki karakteristik sesuai dengan syariah Islam atau yang lebih dikenal dengan syariah compliant (Sholihin, 2010). Dengan jumlah penduduk beragama Islam terbesar di dunia, saham syariah berpotensi besar untuk berkembang di Indonesia. Menurut statistik perkembangan pasar modal syariah yang dikeluarkan oleh Badan Pengawas Pasar Modal (Bapepam) pada akhir tahun 2012, jumlah emiten Daftar Efek Syariah (DES) telah mencapai 302 emiten. Saham syariah di Indonesia juga memiliki dua indeks saham syariah yang merupakan indikator penunjuk kinerja atau pergerakan indeks harga saham syariah di Bursa Efek Indonesia (BEI), yaitu Jakarta Islamic Index (JII) yang berdiri sejak tahun 2000 dan Indeks Saham Syariah Indonesia (ISSI) yang berdiri tahun 2011.

Pada saham syariah, pelaku pasar (investor) dituntut untuk memiliki pemahaman yang baik tentang manajemen resiko dan manfaat transaksi di pasar modal untuk menghindari resiko transaksi yang bersifat unknownables yaitu resiko yang menunjuk kejadian yang secara ekstrim kemunculannya dan tidak terbayangkan sebelumnya sehingga transaksi yang dilakukan bersifat gambling atau judi (Kurniawan, 2008). Guna mendapatkan pemahaman dan informasi yang baik dibutuhkan suatu metode analisis yang dapat digunakan untuk mencegah prilaku

abnormal dalam transaksi saham dan mencegah kerugian yang terlalu tinggi. Salah satu model analisis yang umumnya digunakan adalah analisis teknikal yang menggunakan data-data saham sebelumnya untuk memprediksi harga saham.

Untuk menghasilkan hasil analisis yang lebih akurat, dibutuhkan sistem cerdas yang menggabungkan antara ilmu pengetahuan, teknik dan metode dari berbagai sumber. Adapun penelitian yang telah dilakukan untuk memprediksi harga saham


(15)

adalah dengan metode Fuzzy Takagi Sugeno (Pei, et al, 2008), Neural Network with Hybridized Market Indicators (Ayodele, 2012), dan Hybrid Genetic Algorithm/Particle Swarm Optimization (Aboueldahab, 2011). Di Indonesia sendiri, prediksi harga saham telah banyak diteliti dengan menggunakan Fuzzy Tsukamoto (Virgis, 2011), Fuzzy Clustering (Fariska, 2010), Multilayer Perceptron Feed Forward Neural Network (Kuswati, 2008) dan metode lainnya.

Pada penelitian ini digunakan Adaptive Neuro Fuzzy Inference System

(ANFIS) untuk memprediksi harga saham syariah berdasarkan data saham sebelumnya. ANFIS adalah salah satu sistem hybrid dimana metode pembelajaran jaringan syaraf digunakan untuk mengimplementasikan metode Fuzzy Inference System (Kuncahyo, et al, 2012). Logika fuzzy memiliki kemampuan menghubungkan antara informasi kuantitatif (data numerik) dan informasi kualitatif (pernyataan linguistik), yang dapat bersama-sama diolah menggunakan komputasi fuzzy. Logika

fuzzy juga mampu melakukan proses pengambilan keputusan (reasoning) yang beroperasi dengan konsep aturan IF-THEN dimana data-data terdahulu dan kelanjutannya dapat dinyatakan menggunakan variabel linguistik. Di sisi lain, jaringan syaraf tiruan memiliki kemampuan untuk penggalian pengetahuan dari data yang tersedia, yaitu kemampuan belajar dari contoh yang tidak dimiliki sistem logika fuzzy. Kemampuan ini dikenal sebagai paradigma belajar koneksionis (Palit, et al, 2005). Teknik ANFIS sendiri telah banyak digunakan dalam memprediksi berbagai masalah seperti memprediksi aliran masuk waduk (Rosyadi, 2011), memprediksi curah hujan (Septiadi, 2008), memprediksi produksi air minum (Sutanto, 2005) dan lain sebagainya.

1.2 Rumusan Masalah

Saham syariah memiliki potensi besar untuk berkembang di pasar modal Indonesia. Pada investasi saham syariah, pelaku pasar (investor) harus memiliki pemahaman yang baik mengenai resiko investasi dan pergerakan harga saham di pasar modal guna menghindari terjadinya transaksi yang memiliki resiko unknownables atau gharar

(judi). Salah satu cara untuk menganalisis resiko adalah dengan menggunakan analisis teknikal yaitu memprediksi pola fluktuasi harga saham di masa lalu. Oleh karena itu dibutuhkan sebuah pendekatan untuk memprediksi harga saham syariah berdasarkan


(16)

data fluktuasi saham di masa lalu sehingga menghasilkan suatu sistem prediksi harga saham yang lebih akurat.

1.3 Batasan Masalah

Agar penelitian ini tebih terarah dan permasalahan pada penelitian ini tidak terlalu lebar, maka batasan masalah pada penelitian ini dapat dirangkumkan sebagai berikut:

1. Penentuan prediksi harga saham syariah ini merupakan perkiraan saham End Of Day (EOD) berdasarkan pada beberapa variabel data transaksi saham syariah.

2. Data saham syariah yang digunakan pada penelitian ini adalah data Jakarta Islamic Index (JII) dari tanggal 1 Januari 2004 s.d. 31 Desember 2012 yang diperoleh dari http://www.duniainvestasi.com/bei/.

3. Penelitian ini tidak mempertimbangkan kejadian-kejadian luar biasa yang mungkin mempengaruhi hasil prediksi tersebut.

4. Penelitian ini tidak mempertimbangan pengaruh-pengaruh fundamental ekonomi yang mungkin dapat terjadi.

5. Implementasi sistem akan dilakukan dengan bahasa pemrograman VB.NET dan menggunakan database MySQL.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah membuat prediksi pergerakan harga saham syariah di Indonesia berdasarkan data runtun waktu harga saham di masa lalu dengan menggunakan metode ANFIS.


(17)

1.5 Manfaat Penelitian

Manfaat yang dapat diperoleh dari penelitian ini adalah:

1. Mengetahui kemampuan metode ANFIS dalam memprediksi harga saham syariah di Indonesia.

2. Memberikan suatu teknik alternatif mengenai prediksi harga saham syariah di Indonesia dengan menggunakan metode ANFIS serta sebagai referensi untuk penelitian lain yang berhubungan dengan metode ANFIS dan prediksi saham syariah.

1.6 Metode Penelitian

Tahapan yang dilakukan pada pelaksanaan penelitian skripsi ini adalah sebagai berikut:

1. Studi Literatur

Studi literatur dilakukan dengan mengumpulkan bahan-bahan referensi terkait dengan sistem prediksi data analisis teknikal, metode Adaptive Neuro Fuzzy Inference System (ANFIS) dan perdagangan saham syariah di Indonesia dari berbagai sumber.

2. Analisis Permasalahan

Pada tahap ini dilakukan analisis terhadap hasil studi literatur untuk mendapatkan pemahaman mengenai metode ANFIS untuk memprediksi saham berdasarkan data saham terdahulu.

3. Perancangan Sistem

Pada tahap ini dilakukan perancangan arsitektur, perancangan data dan perancangan antarmuka. Proses perancangan dilakukan berdasarkan hasil analisis studi literatur yang telah diperoleh.


(18)

4. Implementasi Sistem

Pada tahap ini dilakukan proses implementasi pengkodean program dalam aplikasi komputer menggunakan bahasa pemrograman yang telah dipilih sesuai dengan analisis dan perancangan yang sudah dilakukan.

5. Pengujian

Pada tahap ini dilakukan proses pengujian dan percobaan terhadap sistem sesuai dengan kebutuhan yang ditentukan sebelumnya serta memastikan program yang dibuat berjalan seperti yang diharapkan.

6. Dokumentasi dan Penyusunan Laporan

Pada tahap ini dilakukan pembuatan dokumentasi seluruh pengerjaan dari penelitian prediksi saham syariah menggunakan ANFIS untuk memprediksi harga saham syariah menggunakan ANFIS.

1.7 Sistematika Penulisan

Penulisan skripsi ini terdiri dari lima bab dengan masing-masing bab secara singkat dijelaskan sebagai berikut:

Bab 1: Pendahuluan

Bab ini berisi berisikan latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan.

Bab 2: Landasan Teori

Pada bab ini dibahas mengenai teori-teori pendukung penelitian skrispsi yaitu teori analisis teknikal saham syariah dan metode Neuro Fuzzy, khususnya metode ANFIS.

Bab 3: Analisis dan Perancangan Sistem

Pada bab ini berisikan paparan analisis terhadap permasalahan dan penyelesaian persoalan terhadap metode ANFIS pada sistem prediksi harga saham syariah di pasar modal indonesia.


(19)

Bab 4: Implementasi Sistem Prediksi Harga Saham Syariah

Pada bab ini berisi implementasi perancangan sistem dari hasil analisis dan perancangan yang sudah dibuat, serta menguji sistem untuk menemukan kelebihan dan kekurangan pada sistem prediksi harga saham syariah yang dibuat.

Bab 5: Penutup

Pada bab ini berisikan kesimpulan yang didapatkan terhadap hasil penelitian skripsi dan saran untuk pengembangan lebih lanjut tentang topik terkait yang dibahas pada skripsi.


(20)

BAB 2

LANDASANTEORI

Bab ini membahas tentang teori penunjang dan penelitian sebelumnya yang berhubungan dengan penerapan metode Adaptive Neuro Fuzzy Inference System

(ANFIS) untuk prediksi harga saham syariah di Indonesia.

2.1 Saham Syariah

Saham syariah merupakan bukti kepemilikan suatu perusahaan yang memenuhi kereteria syariah atau prinsip-prinsip syariah dan tidak termasuk saham preferen. Saham preferen adalah saham memiliki hak-hak istimewa yang bertentangan dengan syariat bagi hasil dimana perusahaan tidak memiliki hak suara tetapi mendapatakan

deviden yang sudah pasti (Sholihin, 2010). Saham yang sesuai syariah Islam adalah saham yang setiap pemiliknya memiliki hak yang sama dan proporsional dengan jumlah lembar saham yang dimilikinya (Sholihin, 2010). Prinsip-prinsip dalam transaksi saham syariah adalah sebagai berikut (Kurniawan, 2008):

a. Pembiayaan dan investasi hanya dapat dilakukan pada asset atau kegiatan usaha yang halal.

b. Pembiayaan dan investasi harus pada mata uang yang sama dengan pembukuan kegiatan usaha.

c. Aqad yang terjadi antara investor dan emiten, tindakan maupun informasi yang diberikan emiten serta mekanisme pasar tidak boleh menimbulkan kondisi keraguan (gharar) yang dapat menyebabkan kerugian.


(21)

d. Investor dan emiten tidak boleh mengambil resiko melebihi kemampuan (maisyir) dan menimbulkan kerugian yang sebenarnya bisa dihindari.

e. Investor, emiten, bursa efek dan self regulating organization lainnya tidak boleh melakukan hal-hal yang menyebabkan gangguan yang disengaja atas mekanisme pasar, baik dari sisi permintaan maupun penawaran.

Gharar dalam bahasa Arab diterjemahkan resiko atau ketidakpastian. Analisis resiko saham yang memiliki ketidakpastian dapat digolongkan menjadi tiga (Kurniawan, 2008), yaitu:

a. Risk, yaitu analisis yang memiliki preseden historis dan dapat dilakukan estimasi probabilitas untuk tiap hasil yang mungkin muncul.

b. Structural uncertainties, yaitu analisis yang kemungkinan terjadinya suatu hasil bersifat unik, tidak memiliki preseden di masa lalu, tetapi tetap terjadi dalam logika kausalitas.

c. Unknownables, yaitu gharar yang menunjukan kejadian yang secara ekstrim kemunculannya tidak terbayangkan sebelumnya. Dengan demikian kasus gharar

akan banyak terjadi pada unknownables.

Resiko dibedakan menjadi dua tipe yaitu resiko pasif, seperti game of chance,

yang hanya mengandalkan keberuntungan. Kedua, resiko responsive yang memungkinkan adanya probabilitas hasil keluaran dengan hubungan kausalitas yang logis atau game of skill. Kesediaan menangung resiko merupakan hal yang tidak terhindarkan, tetapi resiko yang dihadapi adalah resiko yang melibatkan pengetahuan, sebagai game of skill bukan game of chance. Jika game of skill dibolehkan maka konsekuentsi logisnya adalah keharusan penguasaan manajemen resiko. Upaya pengelolaan resiko dalam manajemen investasi melalui diversifikasi dan pemanfaatan

financial engineering instrument semacam derivatives, dapat diselidiki lebih lanjut untuk pencegahan gharar ini (Kurniawan, 2008).


(22)

2.2 Analisis Harga Saham

Analisis harga saham adalah suatu proses memprediksi pergerakan harga suatu saham. Ada dua pendekatan dasar dalam menganalisis atau memilih saham, yaitu analisis fundamental dan analisis teknikal (Sulistiawan, 2008).

Analisis fundamental adalah analisis saham yang menggunakan data-data fundamental dan faktor-faktor eksternal yang berhubungan dengan badan usaha. Data fundamental yang dimaksud adalah data keuangan, data pangsa pasar, siklus bisnis dan lain sebagainya. Data faktor eksternal yang berhubungan dengan badan usaha adalah kebijakan pemerintah, tingkat bunga, inflasi, dan sejenisnya. Di sisi lain, analisis teknikal merupakan upaya untuk memprediksi harga saham dengan mengamati perubahan harga saham tersebut (kondisi pasar) berdasarkan runtun waktu di masa lalu. Berlainan dengan pendekatan fundamental, analisis teknikal tidak memperhatikan faktor-faktor fundamental yang mungkin mempengaruhi harga saham. Pemikiran yang mendasari analisis teknikal adalah pola harga saham yang mencerminkan informasi yang relevan dimana informasi tersebut ditunjukkan oleh perubahan harga saham di waktu yang lalu, dan mempunyai pola tertentu, dan pola tersebut terus berulang (Sulistiawan, 2008).

Analisis teknikal digunakan untuk mencari pola harga saham yang berulang dan dapat diidentifikasi. Salah satu teori analisis terkenal menyatakan bahwa pergerakan harga dari suatu sekuritas mengandung semua informasi mengenai semua sekuritas tersebut. Untuk lebih mendekati pasar, para analis teknikal modern membuat grafik yang dapat menampilkan harga pembukaan, penutupan, tertinggi, dan terendah. Baik analisis teknikal maupun analisis fundamental dapat dikombinasikan dengan metode-metode penelitian lainnya untuk menghasilkan prediksi yang lebih akurat seperti metode rata-rata bergerak (moving averages), Oscillator, dan Stochastic RSI,

fuzzy, neural network, algoritma genetic, dan metode hybrid (Sulistiawan, 2007). Bila data runtun waktu yang ada dibuat dalam bentuk plot (grafik), maka akan terlihat berbagai macam plot. Secara garis besar, pola data runtun waktu dapat dikelompokkan 3 plot (Nachrowi, et al, 2004), yaitu:


(23)

a. Level konstan

Pola konstan menunjukkan data bergerak di sekitar nilai rata-rata, dengan variasi

jarak yang terkadang ‘jauh’ dan terkadang ‘dekat’. Akan tetapi secara umum data

tidak menunjukkan adanya perubahan tren, baik meningkat maupun menurun. Salah satu contoh pola konstan ditunjuk oleh Saham United Traktor pada bulan Mei-Juli 2002. Plot tersebut menyatakan pola data yang mempunyai tingkat konstan dengan fluktuasi yang random.

Gambar 2.1 Harga Saham United Traktors Mei-Juni 2002

b. Tren Linier

Pola data yang menunjukkan adanya peusahaan rata-rata, tetapi nilai variannya tetap, merupakan karakteristik dari pola tren. Pola harga penutupan saham Telkom tanggal 1-15 Mei 2009 merupakan contoh data runtun waktu yang mempunyai gerakan tren dimana pola tersebut menunjukkan adanya tren yang linier dan fluktuasi random.

Gambar 2.2 Harga Saham Telkom 1-15 Mei 2009 460

480 500 520 540 560 580 600

1/5/2002 15/5/2002 29/5/2002 12/6/2002 26/6/2002

H

ar

ga

Penu

tu

p

an

Tanggal

Saham United Tractor Bulan Mei-Juni 2002

6,500 7,000 7,500 8,000 8,500

1/5/2009 5/5/2009 7/5/2009 11/5/2009 13/5/2009 15/5/2009

H

ar

ga

Penu

tu

p

an

Tanggal


(24)

c. Model Kombinasi

Dalam prakteknya, kita sering menjumpai data runtun waktu yang bentuknya tidak seperti salah satu jenis data tersebut. Oleh sebab itu, kita perlu membuat justifikasi perkiraan data yang akan kita analisis. Biasanya, pola data yang ini dapat merupakan kombinasi dari pola-pola tersebut.

2.3 Normalisasi Data

Normalisasi data berfungsi untuk membuat data yang akan diproses berada pada

range tertentu sehingga dalam pemrosesan nantinya angka yang diolah tidak terlalu besar sehingga mempercepat proses perhitungan. Pada penelitian ini data pelatihan akan dinormalisasi dalam range 0,1 sampai 0,9. Adapun rumus untuk melakukan normalisasi data pada range 0,1 sampai 0,9 adalah sebagai berikut (Siang, 2005):

= , − + , .

dimana: y = nilai normaliasai

x = nilai data saham

a = nilai minimum dari data saham

b = nilai maximum dari data saham

Setelah data masukan yang telah dinormalisasi diproses dan didapatkan hasil prediksi maka data hasil prediksi tersebut akan didenormalisasi kembali dengan menggunakan persamaan berikut:

= − , ,− + , .

dimana: y = nilai hasil prediksi

x = nilai hasil denormalisasi

a = nilai minimum dari data saham


(25)

2.4 Fuzzy System

Sistem fuzzy atau Fuzzy Inference System (FIS) adalah adalah sistem kendali logika

fuzzy yang dapat melakukan penalaran dengan prinsip serupa seperti manusia melakukan penalaran dengan nalurinya dan pengetahuannya (Effendi, 2009). Logika

fuzzy adalah logika mengandung unsur ketidakpastian. Pada logika biasa atau logika tegas (crisp) hanya terdapat 2 anggota himpunan nilai yakni salah atau benar, 0 atau 1. Sedangkan logika fuzzy mengenal nilai antara benar dan salah. Kebenaran dalam logika fuzzy dapat dinyatakan dalam derajat kebenaran atau fungsi keanggotaan dalam interval 0 hingga 1 (Widodo, 2005).

Aturan/ Kaidah-Kaidah

Fuzzifikasi Penalaran Defuzzifikasi Output Input

Gambar 2.3 Proses Fuzzy Inference System (Effendi, 2009)

Pada Fuzzy Inference System terdapat beberapa proses mulai dari pemasukan data hingga penarikan kesimpulan. Proses tersebut terdiri dari proses fuzzifikasi, inferensi (penalaran) dengan memanfaatkan aturan-aturan fuzzy (fuzzy rule), dan defuzzifikasi. Gambaran umum bagan Fuzzy Inference System dapat dilihat pada Gambar 2.3.

2.4.1 Fuzzifikasi

Fuzzifikasi adalah pemetaan nilai input yang merupakan nilai tegas ke dalam fungsi keanggotaan himpunan fuzzy, untuk kemudian diolah di dalam mesin penalaran (Effendi, 2009). Fungsi keanggotaan (membership function) dari himpunan fuzzy

dapat disajikan dengan dua cara yaitu numerik dan fungsional. Secara numerik himpunan fuzzy disajikan dalam bentuk gabungan derajat keanggotaan tiap–tiap elemen pada semesta pembicaraan yang dinyatakan sebagai berikut:


(26)

Secara fungsional himpunan fuzzy disajikan dalam bentuk persamaan matematis sehingga untuk mengetahui derajat keanggotaan dari masing-masing elemen dalam semesta pembicaraan memerlukan suatu perhitungan (Suratno, 2011). Pembentukan derajat keanggotaan dapat dilakukan dengan memetakan data secara langsung pada fungsi keanggotaan atau dengan menggunakan data cluster yang kemudian dipetakan pada fungsi keanggotaan.

2.4.1.1 Fungsi keanggotaan

Fungsi keanggotaan digunakan untuk mendapatkan derajat keanggotaan dari suatu data terhadap himpunan semestaya. Adapun Fungsi keanggotaan yang biasa digunakan dalam logika fuzzy adalah sebagai berikut:

1. Fungsi Keanggotaan Segitiga

Fungsi keanggotaan segitiga memiliki tampilan kurva berbentuk segitiga yang ditunjukkan oleh Gambar 2.4.

0 0.2 0.4 0.6 0.8 1 Derajat

keanggotaan

0.2 0.4 0.6 0.8 1

x

Gambar 2.4 Kurva Segitiga (Irawan, 2007)

Fungsi keanggotaan kurva segitiga dapat dinyatakan sebagai berikut:

� ; , , = { − / − ; ; ;

(2.4)

2. Fungsi Keanggotaan Trapesium

Fungsi keanggotaan trapesium memiliki tampilan kurva berbentuk trapesium yang ditunjukkan oleh Gambar 2.5. Fungsi keanggotaan trapesium dapat dinyatakan sebagai berikut:


(27)

� ; , , , = {

;

− ;

− ;

(2.5)

0 0.2 0.4 0.6 0.8 1

Derajat keanggotaan

0.2 0.4 0.6 0.8 1

x mf1

Gambar 2.5 Kurva Trapesium (Irawan, 2007)

3. Fungsi Keanggotaan GeneralizedBell (GBell)

Bentuk dari fungsi keanggotaan generalized bell ditentukan oleh tiga parameter {a,b,c} seperti ditunjukkan pada Gambar 2.6.

Gambar 2.6 Kurva Generalized Bell (Irawan, 2007)

Fungsi keanggotaan Generalized Bell (GBell) dapat dinyatakan sebagai berikut:

; , , =


(28)

Keterangan :

: nilai bias yang biasanya bernilai positif agar kurva menghadap ke bawah. Jika negatif, maka fungsi keanggotaan akan menjadi upside-down bell.

c : nilai mean kurva.

a : standar deviasi yang terbentuk.

4. Fungsi Keanggotaan Gaussian (Gauss)

Bentuk dari fungsi keanggotaan gaussian ditentukan oleh dua parameter {c,} seperti ditunjukkan oleh Gambar 2.7.

Gambar 2.7 Kurva Gaussian (Irawan, 2007)

Fungsi keanggotaan gaussian dapat dinyatakan sebagai berikut:

;, = − �−� 22�2 .

Keterangan:

: merupakan pusat dari fungsi keanggotaan gaussian,

�: menentukan lebar fungsi keanggotaan.

Fungsi keanggotaan segitiga dan trapesium telah banyak digunakan secara luas karena memiliki rumus yang sederhana dan efisiensi dalam komputasi. Namun karena fungsi keanggotaan terdiri dari segmen-segmen garis lurus, fungsi keanggotaan segitiga dan trapesium tidak halus (smooting) pada titik-titik tertentu. Untuk mendapatkan fungsi keanggotaan yang lebih halus dan bersifat continue dapat digunakan fungsi keanggotaan lainnya seperti fungsi keanggotaan Generalized Bell


(29)

(GBell) dan Gaussian. Fungsi keanggotaan Generalized Bell (GBell) dan Gaussian

menyediakan fungsi yang lebih halus dan cocok digunakan oleh sistem pembelajaran seperti neural networks. Fungsi keanggotaan Gbell dan Gaussian juga sering digunakan dalam bidang probabilistik dan statistik (Melin, et al, 2002).

2.4.1.2 Fuzzy clustering

Fuzzy clustering merupakan pengelompokan data atau data cluster yang memiliki karakteristik yang hampir sama secara matematis dalam sebuah kelompok atau kelas tertentu. Membership function yang akan digunakan pada fuzzy clustering dimodelkan dari data-data yang telah ada. Proses pembentukan membership function ini disebut modeling (Fariska, 2010). Metode fuzzy clustering yang biasa digunakan untuk memodelkan data adalah Fuzzy C-Means (FCM) dan Fuzzy Subclustering.

Fuzzy Subclustering merupakan metode pengelompokan data secara tidak terawasi dimana jumlah cluster tidak perlu didefenisikan terlebih dahulu. Berbeda dengan Fuzzy Subclustering, FCM merupakan metode pengelompokan data secara terawasi dimana jumlah cluster harus ditentukan terlebih dahulu sebelum melakukan pengelompokan data.

Konsep dasar FCM pertama kali adalah menentukan pusat cluster pada kondisi awal pusat cluster ini masih belum akurat. Setiap data memiliki derajat keanggotaan untuk tiap cluster dengan cara memperbaiki pusat cluster dan nilai keanggotaan tiap data secara berulang, maka akan dapat dilihat bahwa pusat cluster akan bergerak menuju lokasi yang tepat (Fariska, 2010).

Sen-Chi Yu (2008) dan Rukli (2013) mengemukakan prosedur perhitungan FCM secara lengkap, yakni:

1. Menentukan matriks X berukuran n x m, dengan n = banyak data yang akan di

cluster dan m = banyak variabel (kriteria). Penentuan n dan m disesuaikan dengan kondisi data yang digunakan.

2. Tentukan banyak cluster yang akan dibentuk dimana banyak cluster lebih besar atau sama dengan 2 (c ≥2).


(30)

3. Tentukan bobot pangkat cluster dimana bobot pangkat bernilai lebih besar 1 (pembobot w > 1).

4. Tentukan maksimum iterasi yang diinginkan.

5. Tentukan kriteria penghentian ( = nilai positif yang sangat kecil).

6. Bentuklah matriks partisi awal U (derajat keanggotaan dalam cluster) dengan matriks partisi awal biasanya dibuat secara acak.

[

µµ µµ

. .

. .

. .

µ µ

… µ … µ

… .

… .

… .

… µ ]

7. Hitung pusat cluster V untuk setiap cluster dengan menggunakan persamaan berikut:

= ∑= � .

= .

8. Memperbaiki derajat keanggotaan setiap data pada setiap cluster (perbaiki matriks partisi) dengan menggunakan persamaan:

� = ∑ [ ]

/ − =

.

dimana

= − = ∑ −

=

/


(31)

9. Tentukanlah kriteria penghentian iterasi, yaitu perubahan matriks partisi pada iterasi sekarang dan iterasi sebelumnya dimana perubahan tersebut sebesar delta:

Δ≡||Ut - Ut-1||.

10.Apabila Δ< maka iterasi dihentikan dan jika tidak lanjutkan menghitung kembali pusat cluster ke-k.

11.Pada akhir proses FCM akan diperoleh suatu pengelompokan data yang terdiri dari nilai center tiap cluster.

Bila fungsi keanggotaan yang digunakan adalah kurva Generalized Bell

(GBell), maka standar deviasi setiap cluster harus dihitung terlebih dahulu. Nilai fuzzy membership function pada setiap data dapat diperoleh dengan memasukkan data yang telah dinormalkan, nilai center dan standar deviasi cluster ke dalam persamaan kurva GBell. Informasi cluster ini nantinya akan membantu dalam pembangunan FIS model Sugeno yang bisa memodelkan hubungan data input-output dengan jumlah rule

minimum. Definisi sebuah rule diasosiasikan dengan suatu cluster data (Sari, et al, 2012).

2.4.2 Inferensi

Pada tahapan ini sistem menalar nilai masukan (input) untuk menentukan nilai keluaran (output) sebagai bentuk pengambil keputusan. Sistem terdiri dari beberapa aturan dimana kesimpulan diperoleh dari kumpulan dan korelasi antaraturan (Effendi, 2009). Metode inferensi yang sering digunakan yaitu, metode Mamdani, Sugeno dan Sukamoto. Untuk melakukan proses inferensi, terdapat 3 operasi dasar yang umum digunakan yaitu max, min dan not.

2.4.2.1 Operasi himpunan fuzzy

Operasi-operasi pada himpunan fuzzy pada dasarnya mirip dengan operasi pada himpunan klasik dimana operasi logika AND diganti dengan min, operasi logika OR

diganti dengan max, sedangankan operator NOT diganti dengan operasi komplemen pada himpunan tersebut (Irawan, 2007).


(32)

Menurut Sari (2001), operasi dasar himpunan fuzzy adalah sebagai berikut:

1. Operasi “dan”(Intersection)

A “dan” B merupakan himpunan fuzzy dari X, ditunjukkan sebagai derajat keanggotaan dari A  B adalah hasil yang diperoleh dengan mengambil nilai keanggotaan terkecil antara elemen-elemen pada himpunan-himpunan yang bersangkutan.

� = � [� , � ], ∈ .

2. Operasi “atau” (Union)

A “atau” B merupakan himpunan fuzzy dari X, ditunjukkan sebagai derajat keanggotaan dari A  B adalah hasil yang diperoleh dengan mengambil nilai keanggotaan terbesar antara elemen-elemen pada himpunan-himpunan yang bersangkutan.

� = [� , � ], ∈ .

3. Operasi “Tidak” (Complement)

Operasi “tidak” A merupakan himpunan fuzzy dari X, ditunjukkan sebagai derajat

keanggotaan dari A’ (A komplemen) adalah hasil yang diperoleh dengan mengurangkan nilai keanggotaan elemen pada himpunan yang bersangkutan dari 1.

�′ = − � .

2.4.2.2 Metode inferensi sugeno

Metode ini diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985. Secara umum, bentuk model aturan metode inferensi Sugeno menggunakan bentuk aturan IF-THEN. Terdapat dua bentuk model aturan pada metode inferensi Sugeno (Sari, et al, 2012), yaitu:


(33)

1. Model Fuzzy Sugeno Orde-Nol

Secara umum bentuk model fuzzy Sugeno Orde-Nol adalah:

IF (x1 is A1) • (x2 is A2) • (x3 is A3) • ... •(xn is An) THEN z=k

dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan k adalah suatu konstanta (tegas) sebagai consequent.

2. Model Fuzzy Sugeno Orde-Satu

Secara umum bentuk model fuzzy Sugeno Orde-Satu adalah:

IF (x1 is A1) • ... • (xn is An) THEN z = p1*x1 + … + pn*xn + q

dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, dan pi adalah suatu konstanta (tegas) ke-i dan q juga adalah konstanta dalam consequent.

Metode inferensi Sugeno memformulasikan pendekatan sistematis menggunakan aturan fuzzy dari kumpulan data masukan-keluaran guna membentuk semua operasi dari fungsi keanggotaan menjadi kesimpulan tunggal. Metode inferensi Sugeno memiliki efisiensi komputasi dan bekerja dengan baik dengan teknik linier, teknik optimasi, teknik adaptif, serta cocok untuk analisis matematis. Metode inferensi Sugeno memiliki hasil yang tidak jauh berbeda dengan metode inferensi Mamdani.

2.4.3 Defuzzifikasi

Input dari proses defuzzifikasi adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy, sedangkan output yang dihasilkan merupakan suatu bilangan pada domain himpunan fuzzy tersebut. Sehingga jika diberikan suatu himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai crsip

tertentu sebagai output (Sari, et al, 2012). Metode defuzzifikasi yang digunakan dalam penelitian ini adalah weight average.

Pada metode weight average ini mengambil nilai rata-rata dengan menggunakan pembobotan berupa derajat keanggotaaan, sehingga z* didefinisikan


(34)

= ∑� � .�

� � (2.14)

dimana z adalah nilai crispdan μ(z) adalah derajat keanggotaan dari nilai crisp z.

2.5 Jaringan Saraf Tiruan

Jaringan saraf tiruan (JST) adalah struktur jaringan dimana keseluruhan tingkah laku masukan-keluaran ditentukan oleh sekumpulan parameter yang dimodifikasi. Salah satu struktur jaringan neural adalah multilayer perceptrons (MLP) dimana jenis jaringan ini khusus bertipe lajur maju. MLP telah diterapkan dengan sukses untuk menyelesaikan masalah-masalah yang sulit dan beragam dengan melatihnya menggunakan algoritma propagasi balik dari kesalahan atau Error Backpropagation

(EBP) (Fariza,2007).

Untuk meningkatkan kemampuan pembelajaran, jaringan saraf tiruan dapat bekerja dengan sistem fuzzy. Sistem fuzzy menggambarkan suatu sistem dengan pengetahuan linguistik yang mudah dimengerti. Sistem inferensi fuzzy dapat ditalar dengan algoritma propagasi balik berdasarkan pasangan data masukan-keluaran menggunakan arsitektur jaringan neural. Dengan cara ini memungkinkan sistem fuzzy

dapat belajar. Gabungan sistem fuzzy dengan jaringan neural ini biasa disebut dengan sistem Neuro Fuzzy (Fariza,2007).

2.6 Prediksi Menggunakan ANFIS

Sistem Neuro Fuzzy berstruktur ANFIS (Adaptive Neuro Fuzzy Inference Sistem atau biasa disebut juga Adaptive Network based Fuzzy Inference Sistem) termasuk dalam kelas jaringan neural namun berdasarkan fungsinya sama dengan Fuzzy Inference System. Pada sistem Neuro Fuzzy, proses belajar pada neural network dengan sejumlah pasangan data yang berguna untuk memperbaharui parameter-parameter

Fuzzy Inference System (Fariza, 2007).

Sebagai contoh, untuk model fuzzy Sugeno Orde-Satu, aturan yang umum dengan dua aturan fuzzy IF THENsebagai berikut:


(35)

RULE 1 : IF x is A1 AND y is B1, THEN f1 = p1x + q1y + r1;

RULE 2 : IF x is A2 AND y is B2, THEN f2 = p2x + q2y + r2;

dengan x dan y adalah masukan tegas pada node ke i, Ai dan Bi adalah label linguistik

(rendah, sedang, tinggi, dan lain-lain) yang dinyatakan dengan fungsi keanggotaan yang sesuai, sedangkan pi, qi, dan ri adalah parameter consequent (i = 1 atau 2)

(Rosyadi, 2011).

Data yang digunakan untuk proses pembelajaran (training) terdiri dari data masukan, parameter ANFIS, dan data test yang berada pada priode training ANFIS yang kemudian dilakukan proses pembelajaran terhadap data-data tersebut sehingga nantinya diproleh output berupa hasil prediksi.

Training dengan ANFIS menggunakan algoritma belajar hybrid, dimana dilakukan penggabungan metode Least-Squares Estimator (LSE) untuk menghitung nilai consequent pada alur maju dan menggunakan Error Backpropagation (EBP) dan

gradient descent pada alur mundur untuk menghitung error yang terjadi pada tiap

layer (Fariza, 2007).

ANFIS terdiri dari lima layer. Pada layer pertama terdiri dari proses fuzzifikasi dimanadata masukan dan target dipetakan dalam derajat keanggotaannya. Pada layer

kedua dan ketiga dilakukan proses inferensi yang digunakan untuk menentukan rule fuzzy menggunakan inferensi Sugeno dimana hasilnya akan diproses pada perhitungan selanjutnya. Pada layer 4 dilakukan proses pencarian nilai consequent dengan menggunakan LSE. Pada layer 5 dilakukan proses summary dari dua keluaran pada

layer 4.

Pada ANFIS, Fuzzy Inference System (FIS) terletak pada layer 1, 2, 3 dan 4 dimana FIS adalah sebagai penentu hidden node yang terdapat pada sistem neural network (Fariza, 2007).

Setelah perhitungan alur maju dilakukan perhitungan alur mundur untuk menghitung nilai error tiap layer dan mengubah nilai parameter masukan menggunakan gradient descent. Proses perhitungan di atas akan berulang terus menerus sampai nilai error memenuhi nilai error maksimum yang telah ditentukan. Alur proses dari sebuah sistem ANFIS yang terdiri dari lima layer digambarkan pada Gambar 2.5.


(36)

Gambar 2.8 Blok diagram ANFIS (Rosyadi, 2011)

Berikut ini adalah algoritma Adaptive Neuro Fuzzy Inference System yang digunakan untuk memprediksi data runtun waktu (Mordjaoui, et. al, 2011):

1. Melakukan inisialisasi terhadap parameter ANFIS, yaitu laju pembelajaran (lr), momentum (mc), batasan kesalahan (err), dan maksimum iterasi (Max Epoch). 2. Tahap pertama yang dilakukan adalah lajur maju yang berisi beberapa tahap untuk

mencari nilai consequent dari aturan yang dibuat dan melakukan penjumlah terhadap semua masukan pada layer terakhir. Adapun tahapan lajur maju adalah sebagai berikut:

a. Setiap node i pada layer satu merupakan node adaptive dengan fungsi node

sebagai berikut:

, = � , � = , , = � − , � = , . dimana:

x atau y : input dari node i

Ai atau Bi : sebuah label linguistik yang terhubung dengan node i.

O1,i : derajat keanggotaan sebuah himpunan fuzzy dengan fungsi kurva


(37)

b. Setiap node i pada layer kedua berupa node tetap yang keluarannya adalah hasil dari masukan. Operator yang digunakan adalah operator AND. Tiap-tiap

node merepresentasikan α predikat dari aturan ke-i. Keluaran dari layer ini disebut dengan firing strength.

, = = � � , � = , (2.16) c. Tiap-tiap node pada layer ketiga berupa node tetap yang merupakan hasil

penghitungan rasio dari α predikat (̅), dari aturan ke-i terhadap jumlah dari

keseluruhan α predikat. Dimana hasilnya dinamakan dengan normalized firing strength.

, = ̅i = + , � = , .

d. Tiap-tiap node pada layer keempat merupakan node adaptive terhadap suatu keluaran.

, = = + + , � = , (2.18) Dengan ̅ adalah normalized firing strength pada layer ketiga dan {pi, qi, ri}

adalah parameter-parameter pada node tersebut yang dinamakan consequent parameters.

e. Menentukan consequent parameters dengan menggunakan recursive least-squares estimator (LSE resahamif). Berikut ini adalah langkah untuk menentukan nilai consuquent dengan menggunakan LSE resahamif:

i. Buat matrix A dengan ukuran n x n yang berisi nilai dari keluaran pada

layer keempat dan nilai n merupakan jumlah parameter keluaran pada

layer keempat.

ii. Buat matrix Y dengan ukuran n x 1 yang berisi nilai dari target prediksi.

= � − .


(38)

iii. Melakukan pengulangan dari n+1 sampai data terakhir untuk mendapatkan nilai consequent.

+ = − + +

+ �+ + . + = + + + + − �+ .

f. Pada layer kelima memiliki sebuah node yang tetap yang mempunyai tugas untuk menjumlahkan nilai dari semua masukan.

, = ∑ ̅ =∑ .

g. Berdasarkan arsitektur ANFIS yang terdapat Gambar 2.8 ketika nilai dari parameter consequent telah ditetapkan, maka nilai output juga dapat ditetapkan sebagai persamaan linear yang merupakan kombinasi dari parameter

consequent. Nilai simbul arsitektur dinotasikan dengan f.

= + + +

= ̅ + + + ̅ + + .

= ̅ + ̅ + ̅ + ̅ + ̅ + ̅

3. Setelah tahap lajur maju selesai, maka selanjutnya dilakukan tahap laju mundur dengan menggunakan Error Backbropagation (EBP) untuk mengecek setiap error

pada setiap layer dan menggunakan gradient descent untuk mengubah nilai parameter masukan pada layer pertama. EBP menggunakan metode ordered derivative untuk mencari error pada setiap layer.

a. Menghitung nilai error pada layer kelima.

ℰ , =���

, = − �− �


(39)

dimana:

yp = target prediksi

yp* = hasil prediksi

b. Menghitung nilai error pada layer keempat.

ℰ , = ��� ,

� ,

� , = ℇ ,

� ,

� , = ℇ , . c. Menghitung nilai error pada layer ketiga.

ℰ , = ��� ,

� ,

� ,

� ,

� , = ℰ ,

� ,

� , . d. Menghitung nilai error pada layer kedua.

ℰ , = ∑ � +

� ,

� ,

� , = ∑ ℰ ,

� ,

� , =

=

.

e. Menghitung nilai error pada layer pertama.

ℰ , = ∑ � +

� ,

� ,

� , = ∑ ℰ ,

� ,

� , . =

=

f. Mengitung nilai error antara layer pertama dengan parameter masukan.

ℰ , = ∑ �

+ � , � , , � = .

ℰ , = ∑ �

+ � , � , , � = .


(40)

g. Mengubah nilai parameter masukan pada layer pertama dengan menggunakan

gradient descent.

∆ = ℰ , .

∆ = ℰ , .

= + ∆ . = + ∆ .

dimana:

a : Mean c : Deviasi

 : Laju pembelajaran

4. Menghitung jumlah kuadrat error (SSE) pada layer ke L data ke-p, 1 ≤ p ≤ N.

�� = ∑( �− �,� ) � �

=

.

5. Ulangi proses iterasi hingga nilai epoch < Max Epoch dan Ep > batasan kesalahan

(err).

6. Setelah melakukan training, dilakukan perhitungan kesalahan hasil prediksi dengan menggunakan MAPE (Mean Absolute Percentage Error), berikut adalah formula yang digunakan:

� = ∑

| − |

× % .

dimana:

a = data sebenarnya

b = data prediksi


(41)

2.7 Teknik Prediksi Harga Saham Terdahulu

Penelitian mengenai prediksi harga saham di Indonesia telah banyak dilakukan dengan berbagai algoritma guna mendapatkan hasil prediksi yang lebih akurat.

Chairisni, Sutedjo, dan Setiadi (2005) menggunakan Algoritma Hybrid Neural Network untuk memprediksi harga saham. Adapun langkah-angkah prediksi saham menggunakan Algoritma Hybrid Neural Network yang mereka lakukan (Chairisni, et. al, 2005) adalah sebagai berikut:

1. Melakukan penyaringan data dengan menggunakan algoritma Self Organising Maps Kohonen (SOM) ke dalam pola-pola untuk menyederhanakan proses pembelajaran jaringan Backpropagation.

2. SOM memilik 5 neuron yang terhubung ke lapisan output (cluster) yang berjumlah 20 pola neuron. Lima neuron input yang digunakan adalah harga pembukaan, harga tertinggi, harga terendah, harga penutupan dan volume perdagangan. Dari 20 pola output yang terbentukakan dipilih neuron pemenang, yaitu neuron yang paling mendekati vektor input.

3. Dari neuron pemenang tersebut, diambil harga penutupan pada vektor tersebut sebagai harga saham prediksi.

4. Algoritma Backpropagation pada algoritma hybrid, digunakan untuk memberikan keakuratan dalam prediksi harga saham menggunakan faktor pembimbing g(n) yang dihasilkan dari pembelajaran Algoritma SOM.

5. Jumlah neuron pada lapisan input sama dengan yang digunakan pada SOM yaitu sebanyak 5 buah dengan representasi yang sama. Terdapat 15 lapisan neuron dan 1

neuron pada lapisan output. Semua lapisan menggunakan fungsi sigmoid unipolar

sebagai fungsi aktivasi.

6. Faktor pembimbing g(n) yang dihasilkan oleh algoritma SOM digunakan untuk menentukan titik lokasi data pembelajaran pada sliding windows.


(42)

7. Berdasarkan titik tersebut beberapa data pada masa lampau dipelajari dan dengan menggunakan nilai data yang telah ditentukan (nilai data harga penutupan pada titik tersebut), maka algoritma Backpropagation Network dapat melakukan pembelajaran. Proses pembelajaran tersebut terus berulang dan berhenti sampai dengan batasan yang ditentukan.

Pada tahun 2008, Setiawan melakukan penelitian mengenai prediksi harga saham menggunakan Jaringan Syaraf Tiruan Multilayer Feedforward Network dengan Algoritma Backpropagation. Langkah-langkah yang dilakukan oleh Setiawan dalam penelitiannya adalah sebagai berikut:

1. Inisialisasi nilai bobot dan bias yang dapat diatur dengan sembarang angka (acak) antara -0.5 dan 0.5, dan inisialisasi learning rate, maksimal iterasi dan toleransi

error.

2. Lakukan iterasi selama stopping condition masih belum terpenuhi. Untuk menentukan stopping condition. Jika iterasi sudah melebihi maksimal iterasi maka pelatihan dihentikan. Jika menggunakan toleransi error dengan metode MAPE, bila nilai MAPE kurang dari atau sama dengan toleransi error maka pelatihan dihentikan.

3. Setiap unit input menerima sinyal input dan menyebarkannya pada seluruh hidden unit.

4. Setiap hidden unit akan menghitung sinyal-sinyal input dengan bobot dan nilai

bias. Hasil perhitunan tersebut kemudian akan diproses dengan menggunakan fungsi aktivasi yang telah ditentukan sebelumnya sehingga diperoleh sinyal output

dari hidden unit tersebut.

5. Setiap unit output akan menghitung sinyal-sinyal dari hidden unit dengan bobot dan nilai bias. Kemudian dengan menggunakan fungsi aktivasi yang telah ditentukan diperoleh sinyal output dari unitoutput tersebut.


(43)

6. Hitung kesalahan antara target output dengan output hasil menggunakan metode

Mean Absolute Persentage Error. Jika masih belum memenuhi syarat, dilakukan penghitungan faktor koreksi error ( k).

7. Setiap hiddenunit akan menghitung bobot yang dikirimkan output unit. Kemudian hasilnya dikalikan dengan turunan dari fungsi aktivasi untuk mendapatkan faktor koreksi error.

8. Setiap unit output akan memperbaharui bobotnya dari setiap hidden unit. Demikian pula setiap hidden unit akan memperbaharui bobotnya dari setiap unit input.

9. Memeriksa stopping condition.

Pada tahun 2008, Panji melakukan penelitian mengenai multifraktalitas dan studi komparatif prediksi indeks dengan metode Arima dan Neural Network (studi komparatif pada indeks LQ45 periode 1997 – 2007). Adapun langkah-langkah metode ARIMA dalam penelitian tersebut sebagai berikut:

1. Melakukan pemeriksaan kestasioneran data dengan menggunakan ADF (augmented dickey-fuller).

2. Melakukan proses differencing (pembedaan) apabila data tidak stasioner.

3. Melakukan penentuan nilai derajat autoregressive (AR), tingkat proses

differencing, dan derajat moving average (MA) dalam ARIMA.

4. Melakukan estimasi parameter pada metode ARIMA, lalu melakukan proses prediksi.

5. Menghitung tingkat error dengan mengunakan MAD (Mean Absolute Deviation), MSE (Mean Squared Error), dan MPE (Mean Percentage Error).

Pada tahun 2010, Fariska melakukan penelitian mengenai prediksi Multi Atribut dengan Menggunakan Fuzzy Clustering dengan langkah-langkah penelitian sebagai berikut:


(44)

1. Menentukan nilai perulangan, derajat, jumlah kelas, fungsi objektif, jumlah baris data, dan jumlah kolom data.

2. Menentukan nilai U awal.

3. Melakukan pengulangan sampai batas nilai pengulangan dan error yang telah ditentukan untuk mencari nilai center dan U baru.

4. Melakukan pengempokkan data berdasarkan hasil U baru yang telah diperoleh pada perulangan sebelumnya.

5. Mencari mean, standar deviasi, dan derajat keanggotaan. 6. Melakukan prediksi menggunakan metode Fuzzy Sugeno.

Adapun beberapa penelitian sebelumnya yang telah dilakukan untuk memprediksi harga saham berdasarkan data masa lalunya dapat dilihat pada Table 2.1.

Tabel 2.1 Penelitian Sebelumnya

No Judul Pengarang Tahun Kelebihan Kekurangan

1. Prediksi Harga Saham Dengan Menggunakan Algoritma Hybrid Neural Network Chairisni Lubis, Eddy Sutedjo, Bowo Setiadi

2005 Algoritma Hybrid

lebih akurat dibandingkan dengan algoritma

Backpro dan algoritma SOM Kohonen. Nilai kesalahan rata-rata Algoritma Hybrid

0,02% untuk saham Gudang Garam Tbk.

n/a

2. Prediksi Harga Saham

Menggunakan Jaringan Syaraf Tiruan Multilayer Feedforward Network Dengan Algoritma

Backpropagation

Wahyudi Setiawan

2008 Hasil prediksi jangka panjang cukup akurat dengan tingkat

error MAPE mencapai 2.7% untuk prediksi data saham tahun 1999.

Teknik yang digunakan terbatas pada jumlah


(45)

Tabel 2.1 Penelitian Sebelumnya (Lanjutan)

No Judul Pengarang Tahun Kelebihan Kekurangan

3. Multifraktalitas

dan Studi

Komparatif

Prediksi Indeks dengan Metode

ARIMA dan

Neural Network (Studi Komparatif pada Indeks LQ45 Periode 1997 – 2007)

Muhammad Panji

2008 Untuk pengujian jangka panjang, hasil training

saham LQ45

dengan JST lebih baik dari pada dengan metode ARIMA. Namun untuk hasil testing,

ARIMA lebih unggul dari JST.

Belum adanya uji coba dengan jumlah data dalam priode waktu jangka pendek

4. Peramalan Multi Atribut Dengan Menggunakan

Fuzzy Clustering

(Studi Kasus: Stock Price)

M. Andy Fariska

2010 Hasil peramalan terbaik dilakukan pada data bertipe

random


(46)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini secara garis besar membahas analisis teknikal menggunakan metode Adaptive Neuro Fuzzy Inference System pada sistem dan tahap-tahap yang akan dilakukan dalam perancangan sistem yang akan dibangun.

3.1 Identifikasi Masalah

Saham syariah adalah saham yang memenuhi karakteristik perdagangan Islam seperti yang telah dikeluarkan oleh Badan Pengawas Pasar Modal berkenaan dengan saham syariah yakni peraturan Bapepam-LK Nomor IX.A.13 tentang penerbitan efek syariah dan II.K.1 tentang kriteria dan kenerbitan daftar efek syariah. Pada prinsipnya kegiatan pembiayaan dan investasi keuangan syariah adalah kegiatan yang dilakukan pemilik harta (investor) terhadap pemilik perusahaan (emiten) untuk memberdayakan

emiten dalam melakukan kegiatan usahanya dimana investor berharap memperoleh manfaat tertentu sesuai dengan prinsip syariahnya (Kurniawan, 2008).

Dalam kondisi perekonomian di Indonesia saat ini, para investor

membutuhkan informasi mengenai analisis fluktuasi harga sebuah indeks atau perusahan saham untuk membantu dalam pengambilan kebijakan investasi dan mencegah kerugian yang disebabkan oleh fluktuasi harga yang cukup signifikan akibat krisis global. Pergerakan harga saham pada dasarnya mengikuti hukum penawaran dan permintaan dimana harga akan naik jika semakin banyak pihak yang ingin membeli suatu saham, sedangkan harga akan turun jika terjadi sebaliknya (Sulistiawan, 2007). Salah satu metode analisis yang sering digunakan ialah analisis teknikal. Pada analisis teknikal, prediksi harga saham dapat ditentukan dari pembelajaran pola fluktuasi harga saham di masa lampau (Chairisni et al, 2005).


(47)

3.2 Data yang Digunakan

Data saham syariah yang digunakan dalam penelitian ini adalah data Jakarta Islamic Index (JII) dari tanggal 1 Januari 2004 s.d 31 Desember 2012 yang diperoleh dari www.duniainvestasi.com. Seluruh data yang digunakan dalam penelitian ini berjumlah 2143 yang dapat dilihat pada Tabel 3.1.

Table 3.1 Rangkuman Data Saham Jakarta Islamic Index

No. Tanggal Open High Low Close Volume

1 02 Januari 2004 119.0 122.4 118.4 122.1 208720347136 2 03 Januari 2004 119.0 122.4 118.4 122.1 208720347136 3 04 Januari 2004 119.0 122.4 118.4 122.1 208720347136 4 05 Januari 2004 122.1 127.7 122.3 126.8 501884157952 5 06 Januari 2004 126.8 131.0 125.6 129.0 564089847808 6 07 Januari 2004 127.6 127.6 121.7 122.2 467455082496 7 08 Januari 2004 122.2 125.5 122.2 125.3 478723670016 8 09 Januari 2004 125.3 129.4 125.9 128.3 775400783872 9 10 Januari 2004 125.3 129.4 125.9 128.3 775400783872 10 11 Januari 2004 125.3 129.4 125.9 128.3 775400783872 11 12 Januari 2004 128.3 128.3 124.4 124.6 525883342848 12 13 Januari 2004 124.6 125.5 124.1 125.1 420180688896 13 14 Januari 2004 125.1 127.1 124.7 126.8 400005824512 14 15 Januari 2004 126.8 128.2 126.3 127.0 474310508544 15 16 Januari 2004 127.0 128.8 127.0 128.8 499566051328

2139 27 Desember 2012 588.03 591.87 587.01 590.46 1285762580480 2140 28 Desember 2012 593.41 595.36 590.59 594.79 2003944472576 2141 29 Desember 2012 593.41 595.36 590.59 594.79 2003944472576 2142 30 Desember 2012 593.41 595.36 590.59 594.79 2003944472576 2143 31 Desember 2012 593.41 595.36 590.59 594.79 2003944472576


(48)

Dalam bentuk chart, data saham Jakarta Islamic Index (JII) di atas dapat dilihat pada Gambar 3.1.

Gambar 3.1 Grafik HargaSaham Jakarta Islamic Index (JII)

Data akan dikelompokkan menjadi data pelatihan dan data pengujian. Data pelatihan yang digunakan adalah data harian harga saham JII dari tanggal 1 Januari 2004 s.d. 31 Desember 2010. Sedangkan untuk data testing yang digunakan adalah data saham JII tanggal 1 Januari 2011 s.d. 31 Desember 2012.

3.3 Analisis Teknikal Prediksi Harga Saham Menggunakan ANFIS

Sistem prediksi saham menggunakan metode Adaftive Neuro Fuzzy Inference System

(ANFIS) dan data runtun waktu di masa lalu dapat digunakan untuk melakukan analisis teknikal saham syariah. Sistem menerima lima variabel input yakni harga pembukaan, harga penutupan, harga tertinggi, harga terendah serta volume saham. Data-data sersebut akan dinormalisasi dan diklasifikasi, dan kemudian akan diproses dengan mengunakan algoritma ANFIS hingga diproleh hasil prediksi. Adapun metode ANFIS dapat dilihat pada Gambar 3.3.

0 100 200 300 400 500 600 700 0 2000000000000 4000000000000 6000000000000 8000000000000 10000000000000 12000000000000 14000000000000 16000000000000 18000000000000 20000000000000 2/1 /200 4 2/7 /200 4 27 /11/2 004 24 /04/2 005 19 /09/2 005 14 /02/2 006 12 /7/20 06 7/1 2/20 06 4/5 /200 7 29 /09/2 007 24 /0 2/ 2 00 8 21 /07/2 008 16 /12/2 008 13 /05/2 009 8/1 0/20 09 5/3 /201 0 31 /07/2 010 26 /12/2 010 23 /05/2 011 18 /10/2 011 14 /03/2 012 9/8 /201 2 H ar g a Vo lu m e

Chart Data Saham Jakarta Islamic Index Priode 2004 - 2012


(49)

Mulai

Input nilai n, m, Kelas, Toleransi Error, Max Epoch, Laju Pembelajaran,

Momentum dan data saham

Normalisasi data saham dengan range [ 0.1 , 0.9 ]

Melakukan cluster data dengan FCM

Menentukan nilai Mean dan Standar Deviasi dari hasil cluster

Inisialisasi nilai Epoch =1

Epoch > Max Epoch dan Error < Toleransi Error

Denormalisasi data hasil prediksi ANFIS

Ouput berupa hasil prediksi dalam bilangan tegas (crisp)

Mengitung kesalahan prediksi menggunakan MAPE

Output persentase kesalan prediksi

Selesai T

Mencari nilai parameter konsekuen dengan menggunakan lajur maju dan cari

hasil defuzzifikasi

Menghitung Error lapisan ke-5, Error lapisan ke-4, Error lapisan ke-3, Error lapisan ke-2,

Error lapisan ke-1

Menghitung error parameter masukan terhadap layer pertama

Mengubah nilai parameter masukan menggunakan gradient descent

Menghitung kuadrat error (SSE)

Epoch++ F


(50)

Secara umum bagan sistem ANFIS yang akan dibagun adalah seperti terlihat pada Gambar 3.3. X1 X2 X3 X4 X5 A1 A2 B1 B2 C1 C2 D1 D2 E1 E2 w1=A1*B1*C1*D1*E1 w2=A2*B2*C2*D2*E2 w1=w1/(w1+w2) w2=w2/(w1+w2)

O41 =w1(o1x0 + p1x1+ q1x2 + r1x3 + s1x4 + t1x5 )

O42 =w2(o2x0 + p2x1+ q2x2 + r2x3 + s2x4 + t2x5 )

SUM Y

fuzifika

fuzifikasi strengthfiring normalize firing strength perhitungan nilai consequent

dengan Least square estimator

(LSE)

summary hasil prediksi

Menghitung error layer k-5 Menghitung

error layer k-4 Menghitung

error layer k-3 Menghitung

error layer k-2 Menghitung

error layer k-1 Menghitung

gradient descent

X1 = harga open X2 = harga High X3 = harga Low X4 = harga Close X5 = Volume saham Dimana :

A1 = Cluster ke-1 dari X1 A2 = Cluster ke-2 dari X1

B1 = Cluster ke-1 dari X2 B2 = Cluster ke-2 dari X2

C1 = Cluster ke-1 dari X3 C2 = Cluster ke-2 dari X3

D1 = Cluster ke-1 dari X4 D2 = Cluster ke-2 dari X4

E1 = Cluster ke-1 dari X5 E2 = Cluster ke-2 dari X5

Gambar 3.3 Sistem ANFIS dengan Lima Input dan Dua Aturan

Adapun langkah-langkah sistem prediksi harga saham syariah yang akan dibangun adalah sebagai berikut:

1. Memasukkan data saham JII yang ingin diprediksi.

2. Memasukkan nilai laju pembelajaran, momentum, toleransi kesalahan, dan, Max Epoch.

3. Melakukan normalisasi data yang telah dimasukkan, data ditransformasikan pada selang 0,1 s.d. 0,9. dengan menggunakan persamaan (2.1). Kemudian target dibuat pada selang 1 s.d 9.


(51)

4. Menentukan parameter FCM yaitu banyaknya cluster, nilai bobot pangkat cluster,

Max Epoch, dan kriteria penghentian.

5. Melakukan pengelompokkan terhadap data masukan dengan menggunakan FCM dengan persamaan (2.8) dan persamaan (2.9). Pada sistem prediksi ini, setiap data

input akan dibentuk dua buah cluster yaitu cluster 1 dan cluster 2 dimana cluster 1 merupakan data kelompok data dengan tingkat fluktuasi rendah dan cluster 2 merupakan kelompok data dengan tingkat fluktuasi tinggi.

6. Setelah didapatkan pengelompokkan data, maka selanjutnya mencari nilai mean

dan standar deviasi.

7. Dilakukan pelatihan terhadap data masukan dengan nilai epoch lebih kecil dari nilai maximum pengulangan dan nilai error lebih besar dari nilai batas kesalahan.

a. Tahap pertama yang dilakukan adalah lajur maju yang melakukan beberapa tahap untuk mencari nilai consequent dari aturan yang dibuat untuk melakukan penjumlahan terhadap semua masukan pada layer terakhir.

i. Pada setiap node i pada layer pertama menghitung derajat keanggotaan dengan menggunakan persamaan (2.15).

ii. Pada setiap node i pada layer kedua mencari nilai firing strength dengan menggunakan persamaan (2.16).

iii. Pada setiap node i pada layer ketiga mencari nilai normalized firing strength dengan menggunakan persamaan (2.17).

iv. Pada setiap node i pada layer keempat mencari nilai parameter consequent

dengan menggunakan persamaan (2.18).

v. Menentukan nilai parameter consequent dengan menggunakan LSE dengan persamaan (2.19) sampai dengan persamaan (2.22).

vi. Sebuah node tunggal pada layer kelima melakukan penjumlahan untuk semua masukkan yang ada menggunakan persamaan (2.23).

vii. Menghitung nilai keluaran yang merupakan persamaan linear yang merupakan kombinasi dari parameter consequent dengan menggunakan persamaan (2.24).


(52)

b. Setelah tahap maju selesai, maka selanjutnya dilakukan tahap laju mundur dengan menggunakan Error Backpropagation (EBP) untuk mengecek error

pada setiap layer dan menggunakan gradient descent untuk mengubah nilai parameter masukkan pada layer pertama.

i. Menghitung error pada layer kelima dengan menggunakan persamaan (2.25).

ii. Menghitung error pada layer keempat dengan menggunakan persamaan (2.26).

iii. Menghitung error pada layer ketiga dengan menggunakan persamaan (2.27).

iv. Menghitung error pada layer kedua dengan menggunakan persamaan (2.28).

v. Menghitung error pada layer pertama dengan menggunakan persamaan (2.29).

vi. Menghitung error antara layer pertama dengan parameter masukan menggunakan persaman (2.30) dan persamaan (2.31).

vii. Setelah dilakukan penghitungan terhadap error pada setiap layer, maka selanjutnya melakukan perubahan terhadap parameter masukkan pada

layer pertama dengan menggunakan persamaan (2.32) sampai dengan persamaan (2.35).

c. Menghitung nilai kuadarat error menggunakan persamaan (2.36).

d. Melakukan penambah nilai epoch.

e. Jika nilai epoch lebih kecil dari nilai max pengulangan dan nilai error lebih besar dari nilai batasan kesalahan, maka menuju ke langkah (7.a).


(53)

8. Melakukan denormalisasi data hasil prediksi untuk mendapatkan nilai yang sebenarnya dengan menggunakan persamaan (2.2).

9. Menghitung kesalahan hasil prediksi dengan menggunakan Mean Absolute PercentageError (MAPE) dengan persamaan (2.37).

3.4 Perancangan Sistem

Perancangan sistem merupakan tahapan perancangan data dan perancangan antarmuka sistem yang akan diimplementasikan pada penelitian ini. Perancangan yang dilakukan menggunakan beberapa diagram dari Unified Modeling Language (UML) yaitu use casediagram, activitydiagram dan classdiagram.

3.4.1 Use case diagram

Use case merupakan deskripsi fungsi sebuah sistem dari perspektif pengguna. Use case dari sistem prediksi saham syariah ini dapat dilihat pada Gambar 3.4.

Beranda

Data Saham

Prediksi Saham Profil

Profil Profil


(1)

epoch_anfis = 1 training() watch.Stop()

frmPrediksi.ProgressBar1.Visible = False MessageBox.Show("Berhasil", "PESAN", MessageBoxButtons.OK, MessageBoxIcon.Information) Cursor.Current = Cursors.Arrow

waktu_eksekusi = watch.Elapsed.TotalMilliseconds

list.Clear()

list.Columns.Clear() list.Items.Clear()

list.Columns.Add("id").Width = 0 list.Columns.Add("TANGGAL") list.Columns.Add("TARGET") list.Columns.Add("PREDIKSI") list.Columns.Add("ERROR")

Dim tar As Double = 0 Dim out As Double = 0 MSE = 0

Dim lst As New ListViewItem

For i = 0 To output.GetUpperBound(0)

tar = ((((target(i, 0) / 10) - 0.1) * (max_close - min_close)) + (0.8 * min_close)) / 0.8

out = ((((output(i, 0) / 10) - 0.1) * (max_close - min_close)) + (0.8 * min_close)) / 0.8

MSE += (Math.Abs(Math.Round(tar, 5) - Math.Round(out, 5)) / Math.Round(tar, 5))

lst = list.Items.Add(tanggal_data(i, 1)) lst.SubItems.Add(tanggal_data(i, 0)) lst.SubItems.Add(Math.Round(tar, 5)) lst.SubItems.Add(Math.Round(out, 5)) lst.SubItems.Add(Math.Round(tar, 5) - Math.Round(out, 5))

Next

MSE = (MSE / jlh_baris_data) * 100 End Sub

Public Sub load_data(ByVal date1 As DateTime, ByVal date2 As DateTime)

Dim i As Integer = 0 Dim jumlah As Integer = 0 Dim sql As String = "" Dim cmd As New MySqlCommand Dim dr As MySqlDataReader cmd.Connection = db.conn

cmd.Parameters.Add("@date1", MySqlDbType.Date).Value = date1

cmd.Parameters.Add("@date2", MySqlDbType.Date).Value = date2


(2)

If testing = 0 Then

sql = "select count(id_saham) as jumlah from tbl_saham where tanggal<@date1"

Else

sql = "select count(id_saham) as jumlah from tbl_saham where tanggal>=@date1 and tanggal<=@date2" End If

cmd.CommandText = sql dr = cmd.ExecuteReader If dr.Read Then

data = {} target = {} output = {}

tanggal_data = {}

jlh_baris_data = getReader.getInt(dr, "jumlah") - 1 jumlah = getReader.getInt(dr, "jumlah") - 1

ReDim data(jlh_baris_data, jlh_kolom_data) ReDim target(jlh_baris_data, 0)

ReDim output(jlh_baris_data, 0)

ReDim tanggal_data(jlh_baris_data, 1) dr.Close()

Else

Exit Sub dr.Close() End If

sql = "select min(open) as minopen, max(open) as maxopen, min(low) as minlow, max(low) as maxlow, min(high) as minhigh, max(high) as maxhigh, min(close) as minclose,

max(close) as maxclose, min(volume) as minvolume, max(volume) as maxvolume from tbl_saham where tanggal<=@date2"

cmd.CommandText = sql dr = cmd.ExecuteReader If dr.Read Then

min_open = getReader.getDecimal(dr, "minopen") max_open = getReader.getDecimal(dr, "maxopen") min_close = getReader.getDecimal(dr, "minclose") max_close = getReader.getDecimal(dr, "maxclose") min_low = getReader.getDecimal(dr, "minlow") max_low = getReader.getDecimal(dr, "maxlow") min_high = getReader.getDecimal(dr, "minhigh") max_high = getReader.getDecimal(dr, "maxhigh") min_volume = getReader.getDecimal(dr, "minvolume") max_volume = getReader.getDecimal(dr, "maxvolume") End If

dr.Close()

If testing = 0 Then

sql = "select tanggal, open, close, high, low,

volume from tbl_saham where tanggal<adddate(@date1, 10) order by tanggal asc"

Else

sql = "select tanggal, open, close, high, low, volume from tbl_saham where tanggal>=@date1 and

tanggal<=adddate(@date2, 10) order by tanggal asc" End If


(3)

cmd.CommandText = sql dr = cmd.ExecuteReader While dr.Read

If i <= jlh_baris_data Then

tanggal_data(i, 0) = getReader.getDate(dr, "tanggal", "panjang")

tanggal_data(i, 1) = dr.GetDateTime("tanggal").ToString

data(i, 0) = (0.8 * (getReader.getDecimal(dr, "open") - min_open)) / (max_open - min_open) + 0.1

data(i, 1) = (0.8 * (getReader.getDecimal(dr, "low") - min_low)) / (max_low - min_low) + 0.1

data(i, 2) = (0.8 * (getReader.getDecimal(dr, "high") - min_high)) / (max_high - min_high) + 0.1

data(i, 3) = (0.8 * (getReader.getDecimal(dr, "close") - min_close)) / (max_close - min_close) + 0.1

data(i, 4) = (0.8 * (getReader.getDecimal(dr, "volume") - min_volume)) / (max_volume - min_volume) + 0.1 End If

If i > 0 And i <= jlh_baris_data + 1 Then target(i - 1, 0) = ((0.8 *

(getReader.getDecimal(dr, "close") - min_close)) / (max_close - min_close) + 0.1) * 10

End If i = i + 1 End While dr.Close() End Sub

Public Sub training() Dim E As Double = 1 Dim epo As Integer = 0 Dim a As New lajur_maju Dim b As New lse_rekursif Dim i, j, k, p As Integer

Dim E5, E4(kelas), E3(kelas), E2(kelas), E1(kelas, jlh_kolom_data), tt, jlh_layer2, da(kelas, jlh_kolom_data), dc(kelas, jlh_kolom_data), dalama(kelas, jlh_kolom_data), dclama(kelas, jlh_kolom_data), L, H As Double

output = {}

ReDim output(jlh_baris_data, 0)

While epo < epoch_anfis And E > error_anfis

frmPrediksi.ProgressBar1.Value = (epo * 100) / epoch_anfis

E = 0

epo = epo + 1

'lajur maju (layer 1 - 4) a.main()

'LSE Rekursif b.main()


(4)

a.layer5() 'output output = {}

ReDim output(jlh_baris_data, 0)

output = matrix.kali(Koefisien, teta) If testing = 0 Then

'training

For i = 0 To jlh_baris_data 'error layer 5

E5 = -2 * (target(i, 0) - output(i, 0)) 'error layer 4

For j = 0 To kelas E4(j) = E5 Next

'erro layer 3 For j = 0 To kelas

E3(j) = E4(j) * Yt(i, j) Next

'error layer 2 jlh_layer2 = 0 For j = 0 To kelas

jlh_layer2 += W(i, j) Next

jlh_layer2 = Math.Pow(jlh_layer2, 2) For j = 0 To kelas

tt = 0

For k = 0 To kelas If j <> k Then

tt = tt + W(i, k) End If

Next

E2(j) = (tt / jlh_layer2) * E3(j) For k = 0 To kelas

If j <> k Then

E2(j) = E2(j) - ((tt / jlh_layer2)* E3(k))

End If Next

Next

'error layer 1

For j = 0 To jlh_kolom_data For k = 0 To kelas tt = 1

For p = 0 To jlh_kolom_data If j <> p Then

tt *= mf(i, (k * (jlh_kolom_data + 1) + p))

End If Next

E1(k, j) = tt * E2(k) Next


(5)

Next

'gradien descent For j = 0 To kelas

For k = 0 To jlh_kolom_data L = data(i, k) - mean(j, k) H = Math.Pow(1 + (Math.Pow(L / deviasi(j, k), 2)), 2)

da(j, k) = ((2 * Math.Pow(L, 2)) / (Math.Pow(deviasi(j, k), 3) * H)) * lr * data(i, k) * E1(j, k) dc(j, k) = ((2 * L) /

(Math.Pow(deviasi(j, k), 2) * H)) * lr * data(i, k) * E1(j, k) If epo > 1 Then

da(j, k) = (mc * dalama(j, k)) + ((1 - mc) * da(j, k))

dc(j, k) = (mc * dclama(j, k)) + ((1 - mc) * dc(j, k))

End If

deviasi(j, k) = deviasi(j, k) + da(j, k)

mean(j, k) = mean(j, k) + dc(j, k) dclama(j, k) = dc(j, k)

dalama(j, k) = da(j, k) Next

Next

E = E + Math.Pow(target(i, 0) - output(i, 0), 2)

Next End If

End While

'MessageBox.Show("EPOH ANFIS: " & epo) End Sub

5.

Class mean_deviasi.vb

Public Class mean_deviasi

Private kelompok(,) As Double Public Sub main()

kelompok = {} mean = {} deviasi = {}

ReDim kelompok(jlh_baris_data, jlh_kolom_data + 1) ReDim mean(kelas, jlh_kolom_data)

ReDim deviasi(kelas, jlh_kolom_data) pengelompokkan()

rata_rata() End Sub


(6)

Private Sub pengelompokkan() Dim i, j As Integer

Dim max, index As Integer

For i = 0 To jlh_baris_data max = -1

index = 0

For j = 0 To kelas

If U(j, i) > max Then max = U(j, i) index = j End If

Next

kelompok(i, 0) = index For j = 0 To jlh_kolom_data

kelompok(i, j + 1) = data(i, j) Next

Next End Sub

Private Sub rata_rata()

Dim i, j, k, jlh As Integer For i = 0 To kelas

jlh = 0

'mencari mean

For j = 0 To jlh_baris_data If kelompok(j, 0) = i Then For k = 0 To jlh_kolom_data

mean(i, k) += kelompok(j, k + 1) Next

jlh += 1 End If

Next

For j = 0 To jlh_kolom_data

mean(i, j) = Math.Round(mean(i, j) / jlh, 5) Next

'mencari deviasi jlh = 0

For j = 0 To jlh_baris_data If kelompok(j, 0) = i Then For k = 0 To jlh_kolom_data

deviasi(i, k) += Math.Pow(kelompok(j, k + 1) - mean(i, k), 2)

Next jlh += 1 End If

Next

For j = 0 To jlh_kolom_data

deviasi(i, j) = Math.Round(Math.Sqrt(deviasi(i, j) / (jlh - 1)), 5)

Next Next

End Sub End Class