Anda di halaman 1dari 6

View metadata, citation and similar papers at core.ac.

uk brought to you by CORE


provided by STMIK Jakarta Journal Online

Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)


Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327

Prediksi Harga Saham Di Indonesia Menggunakan Algoritma Long


Short-Term Memory
Adhib Arfan1 dan Lussiana ETP.2
(1)
Universitas Gunadarma
Jl. Margonda Raya No. 100, Depok, Jawa Barat 16424
(2)
STMIK Jakarta STI&K
Jl. BRI No.17, Radio Dalam Kebayoran Baru Jakarta Selatan 12140
adhib.arfan@gmail.com, lussiana@jak-stik.ac.id

ABSTRAK
Saham adalah hak yang dimiliki seseorang terhadap perusahaan dikarenakan penyerahan modal baik itu
sebagian maupun keseluruhan. Para investor melakukan investasi saham dan berupaya untuk
mendapatkan hasil secara maksimal, akan tetapi banyak investor masih ragu dengan risiko dalam
berinvestasi. Telah banyak dikembangkan metode untuk memperkirakan harga saham yang akan datang
namun masih memiliki keterbatasan diantaranya adalah ketergantungan jangka panjang.Pada tahun 1997
mulai dikembangkan model baru yang bekerja untuk menangani masalah ketergantungan jangka panjang
dan dikenal dengan Long Short-Term memory (LSTM). Tujuan penelitian yang ingin dicapai adalah
menghasilkan model peramalan harga saham yang lebih efektif dan memberikan hasil yang akurat.
Tahapan yang dilakukan terdiri dari pengumpulan data, preprocessing data, pembagian data,
perancangan LSTM, training LSTM dan melakukan pengujian.Paremeter yang digunakan untuk melakukan
prediksi harga saham dengan LSTM adalah data yang digunakan, hidden layer, neuron, epoch dan batch
size. Pengujian tersebut mendapatkan hasil terbaik menggunakan data latih 2014-2016 dan data uji 2017-
2019 yaitu dengan menggunakan parameter 2 hidden layer, 125 neuron, 10 epoch, 200 batch size dengan
hasil waktu training 18.2s dengan hasil MSE sebesar 0.0015. Berdasarkan hasil pengujian, LTSM mampu
memprediksi harga saham pada tahun 2017-2019 dengan performa yang baik dan tingkat kesalahan yang
relatif kecil, sedangkan pengujian menggunakan metode Support Vector Regression (SVR) hanya mampu
memprediksi 30 hari ke depan. Dengan demikian dapat disimpulkan bahwa LSTM mampu menanggulangi
ketergantungan jangka panjang dan mampu memprediksi harga saham dengan hasil yang akurat.

Kata Kunci : prediksi, saham, jaringan syaraf tiruan, long short term memory

PENDAHULUAN Dalam rangka meyakinkan calon


Dewasa ini dalam melakukan investor terhadap keuntungan yang didapat,
investasi, tersedia banyak pilihan bagi telah banyak dikembangkan metode untuk
investor. Investasi bisa berbagai macam memperkirakan harga saham yang akan
bentuknya, salah satu diantaranya adalah datang. Metode Back Propagation (BP)
investasi saham. Saham adalah hak yang yang digunakan dalam pemodelannya[4].
dimiliki seseorang terhadap perusahaan Hasilnya menyatakan bahwa hasil prediksi
karena penyerahan modal baik itu sebagian mendekati kenyataan, sehingga tidak jauh
maupun keseluruhan[1]. Para investor berbeda dengan tren indeks harga saham
melakukan investasi saham dan berupaya Bursa Efek Indonesia (BEI), namun hasil
untuk mendapatkan hasil yang tersebut masih terdapat error yang besar.
diinvestasikan secara maksimal, akan tetapi Selanjutnyadikembangkan model dengan
banyak investor masih ragu dengan risiko menggabungkan metode BP dengan Particle
dalam berinvestasi, khawatir yang Swarm Optimization (PSO) untuk peramalan
diinvestasikan tidak sesuai dengan harapan indeks harga saham BEI[5], hasilnya dapat
[2]. Keraguan calon investor dalam memperkecil waktu komputasi dan error
berinvestasi dikarenakan fluktuasi indeks dibandingkan dengan model BP saja, tetapi
harga saham dalam waktu yang singkat. tidak dijelaskan periode saham yang
Dalam penelitian [3], tentang dampak nilai digunakan. Kemudian penelitian tentang
kurs dan suku bunga dijelaskan bahwa nilai penggabungan Support Vector Regression
kurs maupun tingkat suku bunga memiliki (SVR) dan Jaringan Syaraf Tiruan (JST)
pengaruh negatif terhadap pasar saham. untuk memprediksi indeks harga saham[6].
Hasil pengembangan ini dapat menunjukkan

225
Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)
Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327

performa yang cukup baik, tingkat kesalahan METODE PENELITIAN


metode SVR-JST pada hasil MAPE dan
RMSE lebih kecil dibandingkan dengan
metode JST pada 3, 7, 10, 15, dan 30 hari
kedepan, namun semakin besar nilai n-hari
yang diprediksi menghasilkan tingkat
kesalahan semakin besar.
Seiring dengan pengembangan
pemodelan dengan menggunakan JST, pada
tahun 1997 mulai dikembangkan model baru
yang bekerja untuk menangani masalah
ketergantungan jangka panjang dan dikenal
dengan Long Short-Term memory (LSTM)
yang merupakan unit spesial dari Recurrent Gambar 1. Tahapan penelitian
Neural Network (RNN). Mengacu pada
informasi bahwa LSTM dapat Gambar 1 merupakan skema
menanggulangi permasalahan jangka tahapan penelitian yang dilakukan. Secara
panjang[7].Tujuan penelitian ini melakukan umum terdiri dari identifikasi masalah,
peramalan indeks harga saham dengan pengumpulan data, preprocessing data,
menggunakan LSTM, tujuan khusus yang pembagian data, perancangan LSTM,
ingin dicapai adalah menghasilkan model training LSTM dan melakukan pengujian.
peramalan harga saham yang lebih efektif Dalam sistem yang dibangun, dataset terdiri
dan memberikan hasil yang akurat. dari data saham dan kurs Dollar terhadap
Rupiah yang diolah terlebih dahulu
Long Sort Term Memory menggunakan normalisasi min max scaling.
Long Short Term Memory networks Selanjutnya dilakukan uji pada model yang
(LSTM) merupakan sebuah evolusi dari telah didapatkan dari proses training
arsitektur RNN, dimana pertama kali terhadap data testing. Proses tersebut
diperkenalkan oleh Hochreiter & diulang hingga mendapatkan output dengan
Schmidhuber (1997). Hingga penelitian ini akurasi yang dapat diterima.
dilakukan banyak para peneliti yang terus
mengembangkan arsitektur LSTM di Pengumpulan Data
berbagai bidang seperti dalam bidang Penelitian ini menggunakan dua data
speech recognition dan forecasting.[8] sekunder yaitu data indeks harga saham dan
RNN memiliki kekurangan, informasi kurs USD terhadap IDR. Data
kekurangan itu dapat dilihat pada inputan indeks harga saham yang digunakan adalah
𝑥0 , 𝑋𝑥1 memiliki rentang informasi yang data yang diperoleh dari situs Yahoo !
sangat besar dengan 𝑋 𝑥𝑡 , 𝑥𝑡+1 sehingga Finance, sedangkan data informasi kurs
ketika h memerlukan informasi yang yang digunakan adalah data yang diperoleh
relevan dengan 𝑥0 , 𝑥1 . RNN tidak dapat dari OFX (https://www.ofx.com).
untuk belajar menghubungkan informasi
karena memori lama yang tersimpan akan Preprocessing Data
semakin tidak berguna dengan seiringnya Data yang diperoleh pada tahapan
waktu berjalan karena tertimpa atau pengumpulan data masih berupa data
tergantikan dengan memori baru, mentah, artinya data tersebut belum bisa
permasalahan ini ditemukan oleh Bengio, et diolah karena ada beberapa data yang tidak
al. (1994). Berbeda dengan RNN, LSTM menampilkan tanggal tertentu. sehingga
tidak memiliki kekurangan tersebut karena diperlukan tahapan preprocessing data.
LSTM dapat mengatur memori pada setiap Preprocessing data ini meliputi:
masukannya dengan menggunakan memory 1. Join data
cells dan gate units Proses join data merupakan proses
penggabungan antara harga saham
dengan currency

226
Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)
Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327

2. Fill null value 7. data_y <- append(data[i +


Setelah proses join data, dilanjutkan look_back, 0])
dengan proses fill null value, yaitu
dengan menggunakan forward fill, Penjelasan:
forward fill merupakan proses yang nilai look_back = nilai rentang data.
dilakukan dengan mengganti nilai null Misalnya nilai dari look_back adalah 1,
dengan nilai pada tanggal sebelumnya artinya data 1 hari yang digunakan untuk
3. Split data prediksi hari berikutnya.
Split data atau pembagian data 1. Lakukan perulangan untuk i sampai
digunakan untuk membedakan antara nilai (len(data) - look_back - 1)
data yang digunakan untuk proses 2. a = nilai data pada index ke i sampai i +
pelatihan dan data yang digunakan look_back
untuk proses pengujian. Tahapan 3. simpan nilai a ke array data_x
pembagian data dibagi menjadi 2 yaitu 4. simpan nilai data pada index [i +
data latih dan data uji. look_back, 0].
4. Normalize data
Untuk meminimalkan error, dilakukan Perancangan model LSTM
normalisasi pada dataset dengan
mengubah data aktual menjadi nilai
dengan rangeinterval [0,1]. Teknik
normalisasi yang digunakan
menggunakan min-max scaling.
Adapun untuk rumus normalisasi min-
max scaling adalah : Gambar 2. Alur kerja LSTM

(𝑥−𝑚𝑖𝑛𝑥 ) Pada gambar 2 menjelaskan


𝑥 ′ = ⁡ (𝑚𝑎𝑥 (1)
𝑥 −𝑚𝑖𝑛𝑥 ) bagaimana alur kerja memory cells
pada setiap neurons LSTM bekerja.
keterangan : Terdapat empat proses fungsi aktivasi
𝑥 : data yang dinormalisasi pada setiap masukan pada neurons
𝑥′: data setelah dinormalisasi yang selanjutnya disebut sebagai gates
𝑚𝑖𝑛: nilai minimum dari keseluruhan units. Gates units tersebut ialah forget
data gates, input gates, cell gates, dan
𝑚𝑎𝑥: nilai maksimum dari keseluruhan output gates.
data Pada forget gates informasi
pada setiap data masukan diolah dan
5. Pembuatan dataset dipilih data mana saja yang akan
Dataset merupakan objek yang disimpan atau dibuang pada memory
merepresentasikan data dan relasinya cells. Fungsi aktivasi yang digunakan
dengan mengelompokan input dan pada forget gates ini adalah fungsi
target output. Dataset adalah data yang aktivasi sigmoid. Dimana hasil
digunakan/diolah. Langkah dalam keluarannya antara 0 dan 1. Jika
membuat dataset dijelaskan dengan keluarannya adalah 1 maka semua data
pseudo codedibawah ini: akan disimpan dan sebaliknya jika
Input: data, look_back keluarannya 0 maka semua data akan
1. i <- 0 dibuang. Dengan rumus sebagai
2. data_x <- array berikut[9]:
3. data_y <- array
4. for i -> (len(data) - look_back - 1) 𝑓𝑡 = 𝜎⁡(𝑤𝑓 . [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑓 ) (2)
do
5. a <- data[i to (i + look_back)] Pada input gates terdapat dua
6. data_x <- append(a) gates yang dilaksanakan, pertama
diputuskan nilai mana yang diperbarui
227
Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)
Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327

menggunakan fungsi aktivasi sigmoid.


1
Selanjutnya fungsi aktivasi tanh 𝑀𝑆𝐸 = ∑𝑛𝑖=1(𝑓𝑖 − 𝑦𝑖 )2 (6)
𝑛
membuat vector nilai baru yang
disimpan pada memory cell, dari kedua
5. Perhitungan gradient untuk
bagian tersebut digabungkan untuk
menentukan nilai bobot supaya
membuat pembaharuan memory cell.
hasil loss mendekati 0 dengan
Dengan rumus sebagai berikut[9]:
menggunakan Backpropagation
Through Time(BTTP)
𝑖𝑡 = 𝜎⁡(𝑤𝑖 . [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑖 )
6. Setelah mendapatkan nilai
𝐶′𝑡 = 𝑡𝑎𝑛ℎ⁡(𝑤𝑐 . [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑐 ) (3)
gradient, maka dilanjutkan dengan
optimasi RMSProp dan update
Pada cell gates mengganti nilai pada
bobot.
memory cell sebelumnya dengan nilai
7. Kembali ke langkah dua sebanyak
memory cell yang baru. Dimana nilai
epoch yang telah ditentukan.
ini didapatkan dari menggabungkan
nilai yang terdapat pada forget gate
Pengujian
dan input gate. Dengan rumus sebagai
Pengujian ini dengan mengambil
berikut[9] :
data testing kemudian dibandingkan dengan
data yang dihasilkan dengan metode LSTM
𝐶𝑡 = ⁡ 𝑓𝑡 ∗ ⁡ 𝐶𝑡−1 + 𝑖𝑡 ∗ 𝐶⁡́𝑡 (4) pada rentang waktu yang ditentukan dengan
metode akurasi yang digunakan
Pada output gates terdapat dua menggunakan MSE.
gates yang dilaksanakan, pertama
diputuskan nilai pada bagian memory
HASIL DAN PEMBAHASAN
cell mana yang dikeluarkan dengan
Dataset
menggunakan fungsi aktivasi sigmoid. Berikut ini adalah komposisi data
Selanjutnya ditempatkan nilai pada yang digunakan:
memory cell dengan menggunakan
fungsi aktivasi tanh. Terakhir kedua Tabel 1. Komposisi data yang digunakan
gates tersebut di dikalikan sehingga No Data Latih Data Uji
menghasilkan nilai yang dikeluarkan. 1 09 Jun 2014 - 02 Januari 2017
Dengan rumus sebagai berikut [9]: 30 Desember 2016 -
06 Juni 2019
𝑜𝑡 = ⁡𝜎⁡(𝑤𝑜 . [ℎ𝑡−1 , 𝑥𝑡 ] + 𝑏𝑜 )
ℎ𝑡 = 𝑜𝑡 ∗ 𝑡𝑎𝑛ℎ⁡(𝐶𝑡 ) (5) Skenario Pengujian
Pengujian yang dilakukan adalah
Training model LSTM dengan menggunakan parameter sebagai
Beberapa tahapan dalam proses berikut :
training model LSTM adalah : 1. Data yang digunakan adalah data pada
1. Inisialisasi bobot awal dengan tabel 1.
menggunakan Xavier/Glorot 2. Jumlah hidden layer : 2, 3, 4, 5, 6
Initialization 3. Jumlah Neuron pada hidden layer : 20,
2. Input data training 30, 40, 50, 60
3. Perhitungan LSTM pada setiap 4. epoch = 10, 20, 30, 40, 50
input yaitu dimulai dengan forget 5. batch size = 50, 100, 150, 200, 250
gates, fungsi inputgates,fungsi cell
gates dan yang terakhir fungsi Untuk setiap parameter
output gates. dikombinasikan dan dilakukan observasi
4. Perhitungan mean squared error sebanyak 5 kali. Hal ini dilakukan karena
(MSE) untuk mendapatkan nilai bobot awal dihasilkan secara random,
selisih antara nilai LSTM dengan sehingga tidak cukup dilakukan observasi
target output. Berikut ini adalah hanya sekali saja, karena hasil yang
rumus dari MSE.
228
Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)
Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327

didapatkan bisa saja kebetulan baik ataupun Tabel 4. Kombinasi parameter epoch
buruk.

Menganalisis parameter dengan jumlah


hidden layer
Parameter jumlah hidden layer
yang digunakan adalah 2, 3, 4, 5, dan 6.

Tabel 2. Kombinasi parameter hidden layer Berdasarkan Tabel 4, menunjukkan


bahwa epoch 50 memiliki nilai loss yang
paling kecil namun waktu training yang
digunakan sangat tinggi, begitu juga dengan
epoch 10 yang memiliki waktu training
rendah namun memiliki nilai loss yang
paling tinggi. Epoch tidak boleh terlalu
Berdasarkan lampiran Tabel 2,
besar dan terlalu kecil untuk menemukan
menunjukkan bahwa hidden layer 6
solusi optimum, tidak ada aturan yang pasti
memiliki nilai loss yang paling kecil namun
mengenai besarnya epoch yang paling
memiliki waktu training yang paling tinggi.
optimal sehingga nilai epoch yang
Begitu juga dengan hidden layer 2 yang
didapatkan dengan melakukan percobaan.
memiliki nilai loss terbesar dengan waktu
trainingyang paling kecil. Semakin banyak
Menganalisis parameter dengan
hidden layer yang digunakan maka semakin
jumlahbatch size
lama waktu training yang dibutuhkan.
Parameter batch size yang
Menganalisis parameter dengan jumlah
digunakan adalah 50, 100, 150, 200, 250
neuron
Parameter jumlah neuronyang
Tabel 5. Komposisi batch size yang digunakan
digunakan adalah 25, 50, 75, 100 dan 125
neuron

Tabel 3. Kombinasi parameter neuron

Berdasarkan tabel 5, menunjukkan


bahwa batch size 250 memiliki waktu
training paling rendah, namun nilai loss
yang dihasilkan paling tinggi. Semakin
Berdasarkan lampiran Tabel 3, besar nilai batch size yang digunakan maka
menunjukkan bahwa jumlah neuron 125 waktu training semakin rendah.
mempunyai waktu training yang paling Prediksi harga saham dengan
lama namun memiliki nilai loss yang paling menggunakan algoritma LSTM dengan
kecil. Sedangkan neuron 25 memiliki menggunakan data latih 2014-2016 dan data
waktu training paling cepat namun uji 2017-2019 dengan pengujian parameter
memiliki nilai loss yang paling tinggi. Nilai menggunakan hidden layer,neuron pada
neuron sebanding dengan nilai hidden layer, hidden layer, epoch dan batch size. Hasil
semakin besar nilai yang digunakan maka yang terbaik dari peramalan harga saham
semakin lama waktu training yang tidak tergantung dari banyaknya nilai pada
dibutuhkan. setiap parameter, karena setiap parameter
memiliki ketergantuan satu sama lain.
Menganalisis parameter dengan Pengujian tersebut mendapatkan hasil
jumlahepoch terbaik yaitu dengan menggunakan
Parameter epoch yang digunakan parameter 2 hidden layer, 125 neuron, 10
adalah 10, 20, 35, 40 dan 50 epoch epoch, 200 batch size dengan hasil waktu

229
Seminar Nasional Teknologi Informasi dan Komunikasi STI&K (SeNTIK)
Volume 3 Nomor 1, 22 Agustus 2019, ISSN : 2581-2327

training 18.2s dengan hasil MSE sebesar [5] . Wartati, D. and Aini Masruroh, N.
0.0015. Berikut ini adalah perbandingan “Aplikasi Jaringa Saraf Tiruan dan
grafik data asli dengan grafik data prediksi. Particle Swarm Optimization Untuk
Peramalan Indeks Harga Saham Bursa
Efek Indonesia”, Jurnal Teknosains,
6:22, 2017
[6] . Evalina Siahaan, L. “Prediksi indeks
harga saham dengan metode gabungan
support vector regression dan jaringan
syaraf tiruan”, Indonesian Journal on
Computing (Indo-JC), 2:21, 2017
[7] . Hochreiter, S. and Schmidhuber, J.
Gambar 3. Hasil prediksi harga saham dengan
“Long Short-Term Memory”. Neural
LSTM
Comput., 9(8):1735–1780. 1997
[8] . Character Recognition Dengan
Pada gambar 3 terdapat dua warna
Menggunakan Jaringan Syaraf Tiruan.
grafik yaitu grafik warna biru dan jingga.
Jurnal TIMES, Vol. III, No. 2, Pp. 1-5.
Grafik warna biru adalah grafik data asli
[9] . Roondiwala, M., Patel, H., and Varma,
sedangkan grafik warna biru adalah grafik
S. “Predicting stock prices using lstm”.
data prediksi. Kedua grafik tersebut
International Journal of Science and
memiliki pola yang sama,dengan hasil MSE
Research (IJSR), 6, 2017
sebesar 0.0015 terhadap data asli.

PENUTUP
Berdasarkan hasil pengujian, LTSM
mampu memprediksi harga saham pada
tahun 2017-2019 dengan performa yang
baik, haliniditunjukkandengan tingkat
kesalahan yangkecil. Dengan demikian
dapat disimpulkan bahwa LSTM mampu
menanggulangi ketergantungan jangka
panjang dan mampu memprediksi harga
saham dengan hasil yang akurat.

DAFTAR PUSTAKA
[1] . Trippi, R. R. and Desieno,“Trading
Equity Indeks Futures With A Neural
Networks”. The Journal of Portfolio
Management.1992
[2] . Downes, J., Goodman, J. E., and
Budhidarmo, S. “Kamus Istilah
Keuangan dan Investasi”, Elex Media
Komputindo, 1999.
[3] . Abd. Majid, M. S. “Dampak Nilai Kurs
dan Suku Bunga Terhadap Harga
Saham di Indonesia”, Jurnal Ekonomi
dan Bisnis, 8:51–57, 2014.
[4] . Bachtiar Purnama, R. Perancangan
prediksi untuk menentukan indeks
harga saham menggunakan jaringan
syaraf tiruan. Kinetik, 2:125, 2017.

230

Anda mungkin juga menyukai