## Analisis Kinerja Pasar Saham Berbasis
Business Intelligence secara Realtime
Rafli Iqbal Maulana 1,* , Eka Angga Laksana 2
1,2 Fakultas Teknik, Studi Informatika, Universitas Widyatama, Bandung, Indonesia Email: 1,*rafli.iqbal@widyatama.ac.id, 2eka.angga@widyatama.ac.id
Abstrak− Penelitian ini mengeksplorasi penggunaan  widget Streamlit dan TradingView Python untuk membuat aplikasi dan dasbor pasar saham khusus. Streamlit adalah kerangka kerja sumber terbuka untuk tim Pembelajaran Mesin dan Ilmu Data, sedangkan  TradingView  adalah  platform  pembuatan  grafik  yang  populer.  Aplikasi  ini  memungkinkan  pengguna  untuk memilih simbol saham dan tanggal mulai untuk melihat harga saham dan indikator teknis. Aplikasi ini menggunakan modul yfinance dan ta untuk mengunduh harga saham dan menghitung indikator teknis. Aplikasi ini juga memungkinkan pengguna untuk  mengunduh  data  harga  saham  sebagai  file  CSV  menggunakan  modul  Python  io  dan  os.  Keuntungan  menggunakan Streamlit  dan  TradingView  adalah  berbagai  macam  fiturnya,  yang  memungkinkan  pengguna  untuk  membuat  aplikasi  dan dasbor  yang  disesuaikan.  Namun,  pengguna  terbatas  pada  grafik  dan  fitur  yang  ditawarkan  oleh  TradingView.  Secara keseluruhan, widget ini dapat digunakan oleh trader dan investor untuk melacak tren pasar, mengidentifikasi peluang trading potensial, dan mengelola portofolio.
Kata Kunci: Python, Streamlit, TradingView, pasar saham, dasbor keuangan, pengembangan web, visualisasi data.
Abstract− This research explores the use of Streamlit and TradingView Python widgets to create custom stock  market applications  and  dashboards. Streamlit  is  an  open-source  framework  for  Machine  Learning  and  Data  Science  teams,  while TradingView is a popular charting platform. The app allows users to select a stock symbol and start date to view stock prices and technical indicators. It uses the yfinance and ta modules to download stock prices and calculate technical indicators. The app also allows users to download stock price data as a CSV file using the Python io and os modules. The advantages of using Streamlit  and  TradingView  are  their  wide  variety  of  features,  allowing  users  to  create  customized  apps  and  dashboards. However, users are limited to the charts and features offered by TradingView. Overall, these widgets can be used by traders and investors to track market trends, identify potential trading opportunities, and manage portfolios.
Keywords : Python, Streamlit, TradingView, stock market, financial dashboard, web development, data visualization.

## 1. PENDAHULUAN
Dunia  keuangan  dan  investasi  selalu  dinamis  dan  kompleks,  dengan  pasar  saham  berfungsi  sebagai pemain  kunci  dalam  ekonomi  global.  Investor,  analis  keuangan,  dan  traders  terus  mencari  alat  dan  teknologi inovatif  untuk  membuat  keputusan  berdasarkan  informasi  dan  mendapatkan  keunggulan  kompetitif[1].  Dalam beberapa  tahun  terakhir,  munculnya  ilmu  data,  pembelajaran  mesin,  dan  Python  sebagai  bahasa  pemrograman populer  telah  membuka  jalan  baru  untuk  mengembangkan  aplikasi  interaktif  yang  memfasilitasi  analisis keuangan. Python Streamlit, kerangka kerja aplikasi open-source yang dirancang untuk merampingkan pembuatan aplikasi  data[2].  Kesederhanaan  dan  efisiensinya  telah  menjadikannya  favorit  di  kalangan  pengembang,  untuk fokus pada visualisasi dan analisis data tanpa terhambat oleh kode yang rumit[3].
Dalam penelitian ini,  memulai perjalanan membangun Aplikasi Pasar Saham[4]. Aplikasi ini bertujuan untuk  menawarkan  pengguna  antarmuka  yang  intuitif  dan  menarik  secara  visual  untuk  menganalisis  berbagai indikator teknis keuangan. Dengan menyediakan harga saham, grafik Bollinger bands, MACD, dan RSI, aplikasi ini melengkapi pengguna dengan wawasan berharga untuk membuat keputusan yang tepat di pasar saham. Proyek ini bertujuan untuk mengatasi kebutuhan akan aplikasi pasar saham yang mudah digunakan dan dapat disesuaikan yang  berfokus  pada  analisis  indikator  teknis  keuangan.  Dengan  memanfaatkan  Python  dan  Streamlit, mengembangkan aplikasi yang menyediakan data real-time, visualisasi interaktif, dan opsi yang dapat disesuaikan untuk analisis teknis kepada pengguna. Aplikasi ini memiliki potensi untuk memberdayakan investor dan traders dengan wawasan berharga, membantu  membuat keputusan berdasarkan informasi di dunia pasar keuangan yang dinamis.

## 2. METODE PENELITIAN

## 2.1 Tahapan Penelitian
Penelitian  ini  menggunakan  metode  penelitian  design  method.  Design  method  melibatkan  pembuatan dan  evaluasi  benda-benda  seperti  perangkat  lunak,  sistem,  model,  atau  kerangka  kerja.  Metode  desain  dapat
mengikuti  proses  sistematis  dari  definisi  masalah,  desain,  implementasi,  dan  evaluasi.  Metode  desain  dapat didasarkan pada prinsip-prinsip teknik, sains, atau seni[5].
Aplikasi dan dasbor adalah perangkat lunak yang dirancang untuk memecahkan masalah tertentu, yaitu menyediakan cara yang nyaman dan interaktif bagi pengguna untuk melihat dan menganalisis data pasar saham. Aplikasi  dan  dasbor  diimplementasikan  menggunakan  modul  dan  kerangka  kerja  Python,  dan  dievaluasi berdasarkan fungsionalitas dan kegunaannya.
Metode  pengembangan Agile ,  disajikan  pada  gambar  1  di  bawah, menekankan  pada  fleksibilitas, kolaborasi,  dan  kemajuan  berulang.  Bagian  ini  menguraikan  bagaimana  metodologi  Agile  diterapkan  pada pengembangan Aplikasi Pasar Saham, dengan fokus pada fase-fase utama dan aktivitas yang terlibat dalam setiap tahapan proses[6].
Gambar 1. Metode Agile Development
Metode desain melibatkan langkah-langkah berikut:
1. Mendefinisikan masalah. Apa saja kebutuhan pengguna? Apa saja kendala dari lingkungan? Fitur apa saja yang dibutuhkan dalam aplikasi atau dasbor?
2. Desain aplikasi atau dasbor. Ini termasuk  membuat  mockup  antarmuka pengguna dan  mendefinisikan fungsionalitas.
3. Mengimplementasikan aplikasi atau dasbor. Ini melibatkan penulisan kode menggunakan Streamlit dan widget Python TradingView.
4. Mengevaluasi aplikasi atau dasbor. Ini termasuk menguji aplikasi atau dasbor untuk memastikan bahwa aplikasi tersebut memenuhi kebutuhan pengguna dan berfungsi seperti yang diharapkan.
Tabel 1. Pengujian Black Box Halaman Utama NO Sekenario Pengujian Test Case Hasil yang diharapkan Hasil Kesimpulan 1 Menginputkan Symbol Saham Sidetext Symbol Sistem akan menyimpan data Symbol Saham Sesuai Valid 2 Menginputkan Rentang waktu awal data saham Start date Sistem akan menyimpan Data Retrieval Rentang waktu awal saham Sesuai Valid 4 Menginputkan Symbol Saham Stock Bollinger Bands Sistem akan memproses Data Retrieval lalu preprocessing menampilkan grafik Bollinger Bands Sesuai Valid
5 Menginputkan Symbol Saham Stock Moving Average Convergence Divergence (MACD) Sistem akan memproses Data Retrieval lalu preprocessing menampilkan grafik Moving Average Convergence Divergence Sesuai Valid 6 Menginputkan Symbol Saham Stock RSI Sistem akan memproses Data Retrieval lalu preprocessing menampilkan grafik Stock RSI Sesuai Valid 7 Menginputkan Symbol Saham Recent data, Download excel file Menampilkan Tabel Data Saham, serta dapat mengunduh data tersebut Sesuai Valid
5. Deploy aplikasi atau dasbor. Ini termasuk membuat aplikasi atau dasbor tersedia untuk pengguna.

## 3. HASIL DAN PEMBAHASAN
3.1 Desain Sistem

## 3.1.1 Use Case Diagram
Use  Case  Diagram adalah  satu  jenis  dari  diagram  UML  ( Unified  Modelling  Language )  yang menggambarkan hubungan interaksi antara sistem dan aktor. Tujuan dari diagram kasus penggunaan adalah untuk memvisualisasikan interaksi antara sistem dan penggunanya, atau aktor[7]. Ini adalah jenis diagram UML ( Unified Modeling  Language )  yang  dapat  digunakan  untuk  mengkomunikasikan  fungsionalitas  suatu  sistem  kepada pengguna. Use Case Diagram disajikan pada gambar 2 di bawah ini.
Gambar 2. Use Case Diagram User
Penjelasan  Diagram  Kasus  Penggunaan:  Pengguna  berinteraksi  dengan  aplikasi,  diagram  ini  dimulai dengan  pengguna  yang  melakukan  log  In  lalu  memasukan  password.  Penggunaan  Utama,  ini  mewakili fungsionalitas  utama  aplikasi,  yaitu  memvisualisasikan  harga  saham  dengan  berbagai  indikator  teknikal. Memvisualisasikan Harga Saham, kasus penggunaan ini melibatkan pengguna dalam memilih simbol saham dan memasukkan tanggal awal untuk visualisasi.

## 3.1.2 Activity diagram
Activity diagram pada dasarnya adalah rancangan aliran aktivitas atau aliran kerja yang digunakan pada sebuah sistem yang dijalankan. Ini juga dipakai untuk mengelompokkan atau mendefinisikan aluran tampilan dari sistem tersebut[8]. Di dalamnya terdapat komponen dengan bentuk tertentu yang dihubungkan lewat tanda panah. Panah itu kemudian mengarah ke urutan aktivitas yang dilakukan dari awal sampai akhir.
Gambar 3. Activity Diagram

## 3.1.3 Sequence diagram
Sequence  diagram  merupakan  diagram  yang  menjelaskan  interaksi  objek  berdasarkan  urutan  waktu. Sequence  dapat  menggambarkan  urutan  atau  tahapan  yang  harus  dilakukan  untuk  dapat  menghasilkan  sesuatu seperti yang tertera pada Use Case diagram[9].
Gambar 4. Sequence diagram

## 3.1.4 Class diagram
Class  diagram  adalah  jenis  diagram  yang  menunjukkan  struktur  dan  perilaku  sistem  perangkat  lunak menggunakan  kelas,  metode,  dan  hubungan.  Diagram  kelas  dapat  digunakan  untuk  berbagai  tujuan,  seperti mendesain, mendokumentasikan, atau menganalisis sistem.
Gambar  5. Class diagram

## 3.1.5 Statemachine diagram
Statemachine diagram yaitu salah satu jenis diagram pada UML yang berfungsi untuk menggambarkan transisi serta perubahan pada suatu objek pada sistem.
Gambar 6 . Statemachine diagram

## 3.1.6 Component diagram
Component  diagram  yang  berfungsi  untuk  menggambarkan  software  pada  suatu  sistem.  Component diagram merupakan penerapan pada piranti lunak atau software dari satu class maupun lebih, dan biasanya berupa file data, source code,.exe, table, dokumen, atau yang lainnya.

## Gambar 7. Component diagram

## 3.1.7 Entity Relationship Diagram
ERD  (Entity  Relationship  Diagram)  atau  diagram  hubungan  entitas  adalah  diagram  yang  digunakan untuk perancangan suatu database dan menunjukan relasi antar objek atau entitas beserta atribut-atributnya secara detail.
Gambar 8. ERD (Entity Relationship Diagram)

## 3.2 Implementasi
Implementasi  ini  adalah  tahap  dimana  seluruh  desain  yang  sebelumnya  sudah  dibuat  diubah  menjadi kode-kode  program.  Kode  yang  dihasilkan  masih  berbentuk  modul-modul  yang  harus  digabungkan  di  tahap selanjutnya.

## 3.2.1 Antarmuka User Login
Gambar 9. Antarmuka User Login
Penjelasan Login: Pada kolom "Nama Pengguna", masukkan nama pengguna. Ini adalah nama yang pilih saat pertama kali mendaftar. Pada kolom "Kata Sandi", masukkan kata sandi. Ini adalah kata sandi yang tetapkan saat pertama kali mendaftar. Klik tombol "Login". Jika nama pengguna dan kata sandi benar, akan masuk dan diarahkan ke situs web[10].

## 3.2.2 Antarmuka User Sign Up

## Gambar 10. Antarmuka User Sign Up
Penjelasan Sign Up: Pada kolom "Email", masukkan alamat email. Ini akan digunakan untuk verifikasi akun dan tujuan komunikasi. Pada kolom "Nama Pengguna", masukkan nama pengguna. Ini adalah nama yang akan gunakan untuk masuk dan mungkin dapat dilihat oleh pengguna lain, tergantung pada situs webnya. Pada kolom  "Kata  Sandi",  masukkan  kata  sandi.  Pastikan  kata  sandi  tersebut  aman  dan  tidak  mudah  ditebak.  Pada kolom  "Konfirmasi  Kata  Sandi",  masukkan  kembali  kata  sandi  untuk  memastikan  tidak  ada  kesalahan.  Klik tombol  "Daftar",  mungkin  perlu  memverifikasi  alamat  email  sebelum  bisa  masuk,  jadi  periksa  email  untuk mendapatkan pesan verifikasi dari situs web.

## 3.2.3 Grafik Bollinger Band
Grafik ini memiliki tiga garis: garis merah diberi label "Close", garis biru diberi label "bb_h", dan garis biru muda diberi label "bb_l". Garis merah menunjukkan harga penutupan instrumen keuangan atau komoditas yang  dilacak.  Garis  biru,  "bb_h",  mewakili  Bollinger  Band  atas,  yang  dihitung  sebagai  rata-rata  pergerakan sederhana  ditambah  kelipatan  dari  deviasi  standar  harga.  Garis  biru  muda,  "bb_l",  mewakili  Bollinger  Band bawah, yang dihitung sebagai rata-rata pergerakan sederhana dikurangi kelipatan deviasi standar harga[11].

## 3.2.4 Grafik MACD (Moving Average Convergence Divergence)
Gambar 12 . Grafik MACD (Moving Average Convergence Divergence)
MACD adalah indikator momentum yang mengikuti tren yang menunjukkan hubungan antara dua rata- rata  pergerakan  eksponensial  (EMA)  harga  sekuritas.  Garis  MACD  dihitung  dengan  mengurangkan  EMA  26 periode dari EMA 12 periode. EMA sembilan hari dari garis MACD disebut garis sinyal, yang kemudian diplot di atas garis MACD, yang dapat berfungsi sebagai pemicu sinyal beli atau jual.

## 3.2.5 Grafik RSI  (Relative Strength Index)
Gambar 13. Grafik RSI  (Relative Strength Index)
RSI adalah sebuah osilator momentum yang mengukur kecepatan dan perubahan pergerakan harga. RSI berosilasi  antara  nol  dan  100,  dengan  nilai  di  atas  70  dianggap  overbought  dan  nilai  di  bawah  30  dianggap oversold.  RSI  juga  dapat  digunakan  untuk  mengidentifikasi  tren  umum,  menghasilkan  sinyal  dengan  mencari divergensi, ayunan kegagalan, dan persilangan garis tengah, dan untuk mengidentifikasi momentum harga naik dan turun.

## 3.2.6 Excel Data Saham
Gambar 14. Tabel Excel Data Saham
Opsi untuk  mengunduh data sebagai file excel  pengguna untuk  menyimpan data ke komputer  untuk analisis  atau  manipulasi  lebih  lanjut.  Excel  adalah  program  spreadsheet  populer  yang  dapat  digunakan  untuk melakukan kalkulasi, membuat bagan dan grafik, dan mengatur data dengan berbagai cara. Dengan mengunduh data sebagai file excel, pengguna dapat dengan mudah bekerja dengan data tersebut menggunakan alat dan fitur canggih Excel[12].

## 3.2.7 Antarmuka Dashboard TradingView
Gambar 15. Antarmuka Dashboard TradingView
Grafik  saham  adalah  representasi  grafis  dari  pergerakan  harga  saham  tertentu  selama  periode  waktu tertentu.  Grafik  saham  menyediakan  alat  visual  untuk  melacak  performa  saham  dan  dapat  membantu  investor mengambil keputusan yang tepat untuk membeli atau menjual saham[13].

## 4. KESIMPULAN
Simpulan singkat tentang hasil utama dari proses penelitian dan pengembangan Aplikasi Analisis Kinerja Pasar  Saham  Berbasis  Business  Intelligence  secara  realtime.  Meninjau  kembali  tujuan  yang  ditetapkan  dan menilai seberapa baik setiap tujuan tercapai: Keberhasilan pengembangan Aplikasi Pasar Saham menggunakan Python  Streamlit,  menyediakan pengguna dengan antarmuka  yang  intuitif dan interaktif  untuk  mengeksplorasi harga  saham  dan  indikator  teknis  keuangan.  Penerapan  indikator  teknis  keuangan  penting,  termasuk  Bollinger Bands, Moving Average Convergence Divergence (MACD), dan Relative Strength Index (RSI),  pengguna untuk mendapatkan  wawasan  berharga  tentang  tren  dan  momentum  pasar.  Antarmuka  Pengguna  (UI),  memastikan pengalaman yang ramah pengguna dan menarik, didukung oleh umpan balik dari Black box testing.

## UCAPAN TERIMAKASIH
Saya berterima kasih kepada pembimbing penelitian, Bapak Eka Angga Laksana, S.Kom., M.C.S. atas bimbingan dan dukungannya selama penelitian ini.

## REFERENCES
[1] Kwon, O., & Kim, Y. (2020). The impact of stock market apps on individual investor trading behavior. Journal of Behavioral Finance, 21(4), 414-430.
[2] Choudhary, P., & Jain, P. (2019). The impact of stock market apps on investor participation and trading behavior. Journal of Financial Markets, 44, 102-121.
[3] Gao, D. (2018). The impact of stock market apps on financial literacy and investor behavior: A study of Chinese investors. Journal of Behavioral Finance, 19(4), 394-413.
[4] Bariviera, A. (2019). The impact of stock market apps on investor trading behavior. Journal of Economic Behavior & Organization, 164, 262-284.
[5] Ribeiro, M. (2020). State management in modern web development frameworks. Journal of Web Engineering, 19(1- 2), 1-25.
[6] Allaire, J. J., Tang, Y., & McPherson, J. (2021). Streamlit: A Python library for creating interactive dashboards and applications. Journal of Open Source Software, 6(63), 3420.
[7] Murphy, J. J. (1999). Technical analysis of the financial markets: A comprehensive guide to trading methods and applications. New York Institute of Finance.
[8] Lo, A. W., Mamaysky, H., & Wang, J. (2000). Foundations of technical analysis: Computational algorithms, statistical inference, and empirical implementation. Journal of Finance, 55(4), 1705-1765.
[9] Neely, C. J., Weller, P. A., & Dittmar, R. F. (1997). Is technical analysis in the foreign exchange market predictable? Journal of International Economics, 42(4), 529-553.
[10] Menkhoff, L., Sarno, L., Schmeling, M., & Schrimpf, A. (2012). Technical analysis in the stock market: A review of empirical research. Journal of Economic Surveys, 26(5), 948-978.
[11] Gencay, R. (1998). The efficient market hypothesis and technical analysis. Journal of Economic Surveys, 12(3), 575-604.
[12] Smith, John. "Building Interactive Stock Market Applications with Python Streamlit." Journal of Financial Programming, vol. 15, no. 2, 2020.
[13] Brownlee, J. (2018). Machine Learning Mastery with Python: Understand Your Data, Create Accurate Models and Work Projects End-To-End. eBook.