Dosen Pengampu:
Muhammad Noor Fakhruzzaman, S.Kom., M.Sc.
Disusun oleh:
Kelompok 18
UNIVERSITAS AIRLANGGA
SURABAYA
2023
DAFTAR ISI
DAFTAR ISI 1
BAB I 2
PENDAHULUAN 2
1.1 Latar Belakang 2
1.2 Rumusan Masalah 2
1.3 Tujuan 3
BAB II 4
TINJAUAN PUSTAKA 4
BAB III 5
PEMBAHASAN 5
3.1 Nama Program 5
3.2 Fungsi Utama 5
3.3 Flowchart 5
3.4 Mock-Up Design 6
3.5 Bagan Arsitektur 8
BAB IV 9
PROSES DAN DETAIL PENGEMBANGAN PROGRAM 9
BAB V 15
LAPORAN IMPLEMENTASI PROGRAM 15
1
BAB I
PENDAHULUAN
Saham merupakan investasi yang memungkinkan untuk mendapat untung yang besar,
meskipun ada resiko kerugian yang besar dalam waktu yang singkat. Untuk meminimalkan
resiko kerugian, pergerakan saham perlu diperhatikan secara cermat. Dengan melihat
pergerakan Index Harga Saham Gabungan (IHSG) maka dapat melihat kinerja pasar
keuangan apakah sedang mengalami peningkatan atau penurunan. Jika IHSG menunjukkan
adanya peningkatan, dapat dikatakan bahwa kondisi ekonomi negara sedang baik, begitupun
sebaliknya. Jika kondisi ekonomi negara dalam keadaan turun maka berpengaruh juga
terhadap IHSG.
Perkembangan indeks harga saham menjadi hal menarik untuk dibahas, baik itu
menganalisa dan memprediksi. Ketepatan dalam memprediksi harga saham merupakan
sesuatu yang diharapkan oleh para investor karena dapat memberikan keuntungan. Hal-hal
yang diprediksi bisa berupa kenaikan harga saham, berapa besar kenaikan harga tersebut
bertahan, hingga keuntungan yang didapat di masa depan. Untuk mendapatkan keberhasilan
prediksi, diperoleh berbagai data dalam sehari yang meliputi, harga pembukaan pada hari itu
(open), harga penutupan pada hari itu (close), harga terendah pada hari itu (low), harga
tertinggi pada hari itu (high), dan jumlah bursa yang diperdagangkan (volume).
Resiko kerugian yang besar tentunya sangat merugikan bagi para investor. Karena
itu teknologi pemrosesan data dengan machine learning diperlukan untuk memprediksi harga
saham dengan optimal. Keakuratan prediksi akan membantu investor dalam mengidentifikasi
peluang investasi potensial dan mengelola resiko dengan lebih efektif.
1.2 Rumusan Masalah
1. Bagaimana cara menerapkan machine learning untuk melakukan prediksi nilai saham
pada emiten yang ada di BEI?
2. Bagaimana efektifitas machine learning yang digunakan dalam melakukan prediksi
nilai saham?
2
1.3 Tujuan
3
BAB II
TINJAUAN PUSTAKA
Makalah ini membahas tentang “Prediksi Nilai Saham”. Prediksi harga saham
merupakan salah satu topik yang menarik dalam bidang keuangan dan investasi. Harga saham
yang berfluktuasi dan terpengaruhi oleh banyak faktor, seperti kondisi pasar, berita, sentimen,
dan lain-lain, membuat prediksi menjadi sulit dan tidak pasti. Namun, prediksi harga saham
juga sangat penting bagi para investor, analis, dan pengambil keputusan, karena dapat
membantu mereka dalam mengoptimalkan strategi investasi, mengurangi risiko, dan
meningkatkan keuntungan.
Salah satu metode yang dapat digunakan untuk memprediksi harga saham adalah
dengan menggunakan machine learning. Machine learning dapat digunakan untuk
memprediksi harga saham dengan menggunakan data historis sebagai input untuk melatih
model dan menghasilkan output berupa prediksi harga saham di waktu yang akan datang.
Machine learning dapat membantu investor dalam mengambil keputusan investasi yang lebih
akurat dan mengurangi risiko kerugian.
Selain penelitian tersebut, ditemukan juga penelitian serupa yang berjudul “Optimasi
Deep Learning untuk Prediksi Saham di Masa Pademi Covid-19” yang dilakukan oleh Widi
Hastomo, dkk. Dalam penelitian tersebut, dilakukan kombinasi 4 hidden layer neural network
menggunakan LSTM (Long Short Term Memory) dan GRU (Gated Recurrent Unit) untuk
memprediksi 5 data saham blue chip di Indonesia (Hastomo et al. 2021). Perbedaan dari 2
penelitian tersebut, penelitian kami memprediksi data saham yang ada di BEI menggunakan
Long Short Term Memory dan disajikan dalam bentuk web app.
4
BAB III
PEMBAHASAN
Program ini merupakan prediksi tren harga saham dalam BEI yang bernama “StockSavvy”
3.2 Fungsi Utama
Fungsi Utama dari program ini adalah untuk memprediksi tren harga saham pada
emiten yang terdaftar dalam Bursa Efek Indonesia. Prediksi tren harga saham didapatkan dari
hasil prediksi menggunakan machine learning berdasarkan data historis harga saham.
3.3 Flowchart
Pada menu awal, pengguna diminta untuk memilih fitur yang ingin digunakan antara
lain fitur aktual, prediksi, dan fundamental. Jika pengguna memilih menggunakan fitur aktual
maka user diminta untuk memilih emiten yang diinginkan. Kemudian akan dilanjutkan
dengan proses scraping data historis saham hingga saat itu yang kemudian akan ditampilkan
dalam bentuk chart dan ditambahkan informasi dasar mengenai saham tersebut. Jika
pengguna memilih menu fundamental maka pengguna akan diminta untuk memilih dua
emiten yang ingin dibandingkan dan jenis analisis yang ingin ditampilkan. Kemudian
dilanjutkan scraping data fundamental saham dan disajikan dalam bentuk chart. Jika
5
pengguna memilih menggunakan fitur prediksi saham, pengguna akan diminta input berupa
emiten dan rentang waktu yang ingin diprediksi. Setelah itu dilakukan proses prediksi
menggunakan LSTM dan kemudian akan disajikan dalam bentuk plot beserta saran sesuai
kondisi pasar di waktu tersebut.
Proses prediksi menggunakan LSTM, pertama-tama mengambil data harga saham
berupa tanggal perharinya (date), harga pembukaan (open), harga penutupan (close), harga
terendah (low), harga tertinggi (high), dan jumlah bursa yang diperdagangkan (volume).
Selanjutnya dilakukan tahap preprocessing data untuk membersihkan dan mempersiapkan
data dianalisis lebih lanjut. Pada tahap ini, dilakukan penanganan missing values, outliers,
dan sebagainya. Setelah data dibersihkan, data akan dibagi menjadi data training dan data
testing. Data training nantinya data akan dilatih sebagai model dari machine learning. Proses
ini sebagai pembelajaran pola oleh model dari data training tersebut untuk membuat model
yang dapat memprediksi nilai saham di kedepannya. Sebagian data yang tersisa dari dataset
akan digunakan sebagai data testing. Data ini kemudian akan digunakan untuk mengevaluasi
kinerja model setelah melalui training. Setelah data dianggap cukup baik dalam memprediksi
nilai saham, model akhirnya dapat melakukan prediksi nilai saham pada data baru yang tidak
dikenal. Model akan memberikan prediksi tentang nilai saham di kemudian hari berdasarkan
pola yang telah dipelajari oleh model.
a. Halaman Utama
6
b. Halaman Fitur Web
7
e. Halaman Analisis Fundamental
User mengirimkan pilihan emiten yang akan diprediksi grafik sahamnya melalui end
users, kemudian front end (digunakan HTML, CSS, dan JavaScript) akan mengirimkan
request kepada python machine learning, kemudian machine learning tersebut akan
memberikan respon kepada front end, lalu front end akan menampilkan hasil prediksi saham
sesuai emiten yang dipilih dalam bentuk user interface kepada user.
8
BAB IV
1. app.py
Script app.py digunakan sebagai script untuk menjalankan proses load data,
preprocessing data, proses machine learning memprediksi trend saham dari model
yang sebelumnya telah dibuat, dan membuat chart aktual. Selanjutnya script app.py
digunakan untuk menghubungkan script HTML yang merupakan front end.
Ditambahkan perintah untuk menerima data yang diinput user agar dapat diproses
oleh machine learning. Kemudian hasil dari prediksi yang diminta oleh user akan
dikirimkan lagi ke interface.
2. TrainingScript.ipynb
Script ini digunakan untuk membuat model dari emiten-emiten yang akan
diprediksi. Metode machine learning yang kami gunakan adalah LSTM (Long Short
Term Memory). Script ini kemudian nantinya akan di convert menjadi tipe file HDF5
9
(Format Data Hierarkis Versi 5), misalnya model untuk emiten PT Bank Central Asia
Tbk akan diconvert menjadi file “bbca.h5”. Akurasi dari model yang kami gunakan
diukur dengan RMSE (Root Mean Squared Error). Contohnya, salah satu dari 10
emiten yang telah kami buat modelnya pada gambar di bawah ini memiliki RMSE
14.43
3. home.html
10
4. fitur.html
5. actual.html
11
6. predict.html
12
7. fundamental.html
8. aboutus.html
13
14
BAB V
2. Pilih versi Python yang digunakan, Kami telah memilih untuk menggunakan versi
Python 3.8 dalam pengembangan aplikasi web kami. Keputusan ini didasarkan pada
pertimbangan penggunaan library pendukung yang kompatibel dengan versi ini.
15
3. Kemudian lakukan clone repository github didalam repository yang digunakan web
4. Lakukan instalasi library yang digunakan oleh web app. Kami menggunakan library
yfinance sebagai sumber data historis dan fundamental saham, kemudian kami
menggunakan scikit-learn dan tensorflow untuk pembuatan model serta library
pandas_ta untuk analisis saham.
16
6. Setelah semua proses berjalan dengan lancar, web app dapat diakses melalui
https://kelompok18.pythonanywhere.com/
17
DAFTAR PUSTAKA
18
LAMPIRAN
1. Link Github berisi kode untuk html, css, javascript, dan python
https://github.com/yusufekamaulana/kelompok18
2. Link WebApp
https://kelompok18.pythonanywhere.com/
19