Analisis ini bertujuan untuk melihat pergerakan harga saham tiga bank, yaitu BBCA, BMRI, dan BBRI. Data yang digunakan merupakan data historis harga saham.
Dokumen ini dibuat menggunakan R Markdown, sehingga di dalam satu file terdapat penjelasan, kode R, dan hasil analisis.
library(readr)
## Warning: package 'readr' was built under R version 4.3.3
bbca <- read_csv("Data Historis BBCA.csv",
locale = locale(decimal_mark = ","))
## Rows: 712 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): Tanggal, Vol., Perubahan%
## num (4): Terakhir, Pembukaan, Tertinggi, Terendah
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
bmri <- read_csv("Data Historis BMRI.csv",
locale = locale(decimal_mark = ","))
## Rows: 712 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): Tanggal, Vol., Perubahan%
## num (4): Terakhir, Pembukaan, Tertinggi, Terendah
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
bbri <- read_csv("Data Historis BBRI.csv",
locale = locale(decimal_mark = ","))
## Rows: 712 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (3): Tanggal, Vol., Perubahan%
## num (4): Terakhir, Pembukaan, Tertinggi, Terendah
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Pada tahap ini, variabel tanggal diubah menjadi format date. Kemudian dibuat data frame baru yang hanya berisi variabel waktu dan harga penutupan saham.
databbca <- data.frame(
Time = as.Date(bbca$Tanggal, format = "%d/%m/%Y"),
Price = bbca$Terakhir
)
databmri <- data.frame(
Time = as.Date(bmri$Tanggal, format = "%d/%m/%Y"),
Price = bmri$Terakhir
)
databbri <- data.frame(
Time = as.Date(bbri$Tanggal, format = "%d/%m/%Y"),
Price = bbri$Terakhir
)
str(databbca)
## 'data.frame': 712 obs. of 2 variables:
## $ Time : Date, format: "2025-12-30" "2025-12-29" ...
## $ Price: num 8075 8025 8025 8025 8175 ...
str(databmri)
## 'data.frame': 712 obs. of 2 variables:
## $ Time : Date, format: "2025-12-30" "2025-12-29" ...
## $ Price: num 5100 5075 5050 5050 5100 ...
str(databbri)
## 'data.frame': 712 obs. of 2 variables:
## $ Time : Date, format: "2025-12-30" "2025-12-29" ...
## $ Price: num 3660 3780 3770 3770 3760 3770 3780 3750 3690 3780 ...
Bagian ini menampilkan grafik pergerakan harga saham berdasarkan waktu.
library(ggplot2)
p_bbca <- ggplot(databbca, aes(x = Time, y = Price)) +
geom_line(color = "blue") +
xlab("Date") +
ggtitle("Pergerakan Harga Saham BBCA")
p_bbca
Grafik saham BBCA tahun 2023 – 2026 menunjukkan bahwa pada tahun 2023 harga saham naik secara perlahan dan cukup stabil. Pada tahun 2024 kenaikannya lebih kuat dan mencapai titik tertinggi, lalu setelah itu mulai turun. Pada tahun 2025 harga saham lebih sering naik turun dan cenderung melemah dibanding tahun sebelumnya.
p_bmri <- ggplot(databmri, aes(x = Time, y = Price)) +
geom_line(color = "purple") +
xlab("Date") +
ggtitle("Pergerakan Harga Saham BMRI")
p_bmri
Grafik saham BMRI tahun 2023 – 2026 menunjukkan bahwa pada tahun 2023 harga saham bergerak naik secara bertahap meskipun sempat mengalami sedikit penurunan di beberapa bagian. Pada tahun 2024 kenaikan menjadi lebih kuat dan harga mencapai titik tertinggi, tetapi setelah itu mulai turun. Memasuki tahun 2025 harga saham terlihat lebih sering naik turun dan cenderung melemah dibanding tahun sebelumnya.
p_bbri <- ggplot(databbri, aes(x = Time, y = Price)) +
geom_line(color = "orange") +
xlab("Date") +
ggtitle("Pergerakan Harga Saham BBRI")
p_bbri
Grafik saham BBRI tahun 2023 – 2026 menunjukkan bahwa pada tahun 2023 harga saham mengalami kenaikan secara bertahap meskipun sempat berfluktuasi. Pada tahun 2024 harga sempat naik cukup tinggi, tetapi kemudian turun dengan cukup tajam di pertengahan tahun. Memasuki tahun 2025 pergerakan harga terlihat lebih lemah dan sering naik turun dalam jarak yang tidak terlalu besar.
Pada bagian ini, data BBCA, BMRI, dan BBRI digabungkan agar pergerakan harga ketiga saham dapat dibandingkan dalam satu grafik.
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
databbca$saham <- "BBCA"
databmri$saham <- "BMRI"
databbri$saham <- "BBRI"
data_saham <- bind_rows(databbca, databmri, databbri)
p_data_saham <- data_saham[data_saham$Time > as.Date("2023-01-01"), ] %>%
filter(saham == "BBCA" | saham == "BMRI" | saham == "BBRI")
ggplot(p_data_saham, aes(x = Time, y = Price, color = saham)) +
geom_line(size = 0.7) +
scale_x_date(date_labels = "%b %Y", date_breaks = "2 months") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 50, hjust = 1)) +
geom_vline(
xintercept = as.Date(c("2023-01-01", "2024-01-01", "2025-01-01", "2026-01-01")),
linetype = 2,
color = 2,
linewidth = 1
) +
xlab("Date") +
ggtitle("Perbandingan Harga Saham BBCA, BMRI, dan BBRI")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Grafik gabungan saham BBCA, BMRI, dan BBRI periode 2023 – 2026 menunjukkan bahwa ketiga saham memiliki pola pergerakan yang mirip, yaitu mengalami kenaikan pada tahun 2023 hingga mencapai puncak di sekitar tahun 2024, kemudian cenderung menurun pada tahun 2025, dan mulai bergerak lebih stabil. Di antara ketiganya, BBCA memiliki harga paling tinggi sepanjang periode, diikuti oleh BMRI, sedangkan BBRI berada pada level harga paling rendah. Selain itu, pada tahun 2025 terlihat bahwa ketiga saham sama-sama mengalami penurunan yang cukup jelas, yang menunjukkan adanya kondisi pasar yang melemah.
Boxplot digunakan untuk melihat persebaran harga saham dari masing-masing perusahaan.
ggplot(data_saham, aes(x = saham, y = Price, fill = saham)) +
geom_boxplot() +
ggtitle("Boxplot Harga Saham BBCA, BMRI, dan BBRI") +
xlab("Kode Saham") +
ylab("Harga Saham")
Boxplot tersebut menunjukkan perbandingan harga saham BBCA, BBRI, dan BMRI selama periode pengamatan. Terlihat bahwa BBCA memiliki harga paling tinggi dibandingkan dua saham lainnya. BMRI berada di tengah, sedangkan BBRI memiliki harga paling rendah. Penyebaran data pada BBCA dan BMRI terlihat lebih lebar, yang berarti harga kedua saham ini lebih sering naik turun, sementara BBRI penyebarannya lebih sempit sehingga pergerakan harganya tidak sebesar dua saham lainnya.