Anda di halaman 1dari 20

MAKALAH TUGAS AKHIR

PREDIKSI TREN HARGA SAHAM EMITEN DALAM BEI

Ditujukan untuk Proyek Ujian Akhir Semester


Mata Kuliah Algoritma Pemrograman II

Dosen Pengampu:
Muhammad Noor Fakhruzzaman, S.Kom., M.Sc.

Disusun oleh:

Kelompok 18

1. Aqila Hana Winanggoro 164221010

2. Ditha Meiga Zakaria 164221019

3. Yusuf Eka Maulana 164221020

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

1.1 Latar Belakang

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

1. Membuat prediksi nilai saham berdasarkan data historis saham menggunakan


machine learning
2. Mengaplikasikan machine learning untuk prediksi nilai saham kedalam sebuah web
app

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.

Penelitian serupa yang pernah dilakukan berjudul ‘Implementasi Support Vector


Machine learning Pada Prediksi Harga Saham Gabungan (IHSG)’ yang dilakukan oleh Eka
Patriya. Penelitian tersebut membuat model prediksi menggunakan algoritma Support Vector
Regression (SVR) untuk memprediksi harga penutupan Indeks Harga Saham Gabungan
(IHSG), dengan penentuan hyperparameter optimal menggunakan metode Grid Search
(Patriya, E. 2020) .

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

3.1 Nama Program

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

Flowchart WebApp Flowchart Training-Testing

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.

3.4 Mock-Up Design

a. Halaman Utama

6
b. Halaman Fitur Web

c. Halaman Harga Saham Aktual

d. Halaman Harga Saham Prediksi

7
e. Halaman Analisis Fundamental

3.5 Bagan Arsitektur

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

PROSES DAN DETAIL PENGEMBANGAN PROGRAM

Program yang kami jalankan terdapat beberapa script.

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

Script HTML merupakan script yang akan digunakan sebagai front-end.


Script Home.html digunakan untuk menampilkan tampilan halaman awal dari
website. Script ini mengkombinasikan bahasa HTML dan CSS untuk lebih
memperindah halaman utama.

10
4. fitur.html

Mirip seperti script home.html, script fitur.html yang menggunakan


kombinasi bahasa HTML dan CSS ini digunakan untuk menampilkan 3 fitur dari
website, yaitu Harga Saham Aktual, Harga Saham Prediksi, dan Analisis
Fundamental. Pada halaman ini user dapat memilih fitur mana yang ingin dikunjungi
oleh user.

5. actual.html

Script actual.html digunakan untuk menampilkan halaman dari Harga


Saham Aktual. Halaman ini akan menampilkan record chart saham dari suatu emiten
pada waktu lampau. Terdapat beberapa fitur interaktif pada halaman ini. User dapat
memilih salah satu emiten dari 10 emiten yang disediakan yang ingin dilihat chartnya.
Terdapat juga fungsi interaktif yang dimana user dapat memilih jangka waktu yang
ingin ditampilkan.

11
6. predict.html

Script predict.html merupakan script HTML yang menampilkan halaman


Harga Saham Prediksi. Pada halaman ini, ditampilkan chart prediksi suatu emiten
yang dipilih oleh user selama beberapa hari kedepan. Batas maksimal hari yang dapat
dilihat prediksinya oleh user adalah 90 hari. Selain chart prediksi, terdapat juga
analisis teknikal untuk user berupa Relative Strength Index (RSI). RSI merupakan
indikator teknis yang diaplikasikan dalam mendeteksi sinyal beli, sinyal tahan, dan
sinyal jual. RSI akan melihat hasil prediksi dari suatu emiten kemudian memberikan
angka indikator untuk saran keputusan apakah harus membeli, menjual, atau tidak
melakukan tindakan apapun kepada saham dari emiten tersebut.

12
7. fundamental.html

Untuk script fundamental.html, digunakan untuk menampilkan halaman


Analisis Fundamental. Pada halaman tersebut, user dapat memilih 2 emiten untuk
dibandingkan berdasarkan jenis analisis yang dipilih oleh user. Jenis analisis yang
kami sediakan yaitu dividen, financial, modal, dan ekuitas. Ketika user memilih 2
emiten dan jenis analisis, maka ditampilkan 2 chart dari emiten yang dipilih
berdasarkan jenis analisisnya. Sehingga pada halaman ini bertujuan agar user dapat
membandingkan 2 emiten dari berbagai jenis analisis.

8. aboutus.html

Script about.html digunakan untuk menampilkan profil dari peneliti. Profile


yang ditampilkan berupa foto, nama, dan NIM dari masing-masing peneliti.

13
14
BAB V

LAPORAN IMPLEMENTASI PROGRAM

Dalam tahapan implementasi program, kami telah memilih PythonAnywhere sebagai


layanan hosting untuk mendeploy web app yang telah dikembangkan. Setelah melalui
serangkaian tahapan pengembangan dan pengujian di server lokal kami, kami memutuskan
untuk melanjutkan ke langkah berikutnya: peluncuran aplikasi di lingkungan produksi.
Penggunaan PythonAnywhere sebagai platform hosting menyajikan aplikasi secara online
dan dapat diakses oleh pengguna dari berbagai lokasi.
Berikut ini tahapan dalam hosting web app ke PythonAnywhere
1. Buat web app dengan menggunakan framework Flask

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.

5. Kemudian lakukan penyesuaian pada file WSGI

16
6. Setelah semua proses berjalan dengan lancar, web app dapat diakses melalui
https://kelompok18.pythonanywhere.com/

17
DAFTAR PUSTAKA

Patriya, E. (2020). IMPLEMENTASI SUPPORT VECTOR MACHINE PADA PREDIKSI


HARGA SAHAM GABUNGAN (IHSG). Jurnal Ilmiah Teknologi Dan Rekayasa
(Edisi Elektronik). https://doi.org/10.35760/tr.2020.v25i1.2571
Hastomo, W., Karno, A. S. B., Kalbuana, N., Nisfiani, E., & Etp, L. (2021). Optimasi Deep
Learning untuk Prediksi Saham di Masa Pandemi Covid-19. JEPIN (Jurnal Edukasi
Dan Penelitian Informatika), 7(2), 133. https://doi.org/10.26418/jp.v7i2.47411
Suyudi, M. A. D., Djamal, E. C., & Maspupah, A. (2019, August). Prediksi Harga Saham
menggunakan Metode Recurrent Neural Network. In Seminar Nasional Aplikasi
Teknologi Informasi (SNATI).

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

Anda mungkin juga menyukai