Melihat Pola Jumlah Kendaraan yang Melakukan Penyebrangan di Pelabuhan Merak-Bakauheni Tahun 2023 - 2024

Alfina Putri Hizryanty

2026-09-08

1 Mempersiapkan Data

#Data Preparation
#Input Data
data_pelabuhan <- read.csv2("C:/Users/ACER/Downloads/Supervised Learning Komputasi/data_penyeberangan_merak_bakauheni1.csv")

library(ggplot2)
library(forecast)
library(stats)
library(knitr)
library(kableExtra)
library(plotly)
library(rmdformats)
Input data jumlah kendaraan yang menyebrang di pelabuhan Merak-Bakauheni pada tahun 2023 - 2024 dalam bentuk csv, untuk membaca bentuk file tersebut dibantu oleh fungsi read.csv2. Menggunakan fungsi read.csv karena data dari file tersebut dipisahkan atau dibatasi oleh semi-colon (;) buka dengan koma (,) sehingga R menampilkan data dengan 1 kolom.
Menggunakan package ggplot2 untuk membantu membuat visualisasi seperti grafik atau diagram. Package forecast membantu untuk fungsi ts bisa diplotkan, sedangkan package stats untuk menjalankan fungsi ts (“time series”).

2 Tabel Dataset Jumlah Kendaraan yang Menyeberang

# Menampilkan tabel data yang rapi dengan efek zebra/hover
kable(head(data_pelabuhan, 24), caption = "Data Penyeberangan Merak-Bakauheni") %>%
  kable_styling(bootstrap_options = c("striped", "hover", "condensed"), 
                full_width = FALSE, 
                position = "center")
Data Penyeberangan Merak-Bakauheni
Nama_Bulan Tahun Jumlah_Kendaraan_Ribuan
Januari 2023 420
Februari 2023 410
Maret 2023 430
April 2023 780
Mei 2023 460
Juni 2023 470
Juli 2023 460
Agustus 2023 480
September 2023 440
Oktober 2023 450
November 2023 460
Desember 2023 600
Januari 2024 450
Februari 2024 440
Maret 2024 460
April 2024 820
Mei 2024 490
Juni 2024 500
Juli 2024 495
Agustus 2024 510
September 2024 470
Oktober 2024 480
November 2024 490
Desember 2024 640
Tabel tersebut menampilkan data yang memuat bulan, tahun, dan jumlah kendaraan yang melakukan penyebrangan di pelabuhan Merak-Bakauheni

3 NO 1. Objek Time Series & Plot Runtun Waktu

# 2. Soal 1: Buat objek ts (dimulai Jan 2023, frequency = 12) & Plot
kendaraan_ts <- ts(data_pelabuhan$Jumlah_Kendaraan_Ribuan, start = c(2023, 1), frequency = 12)
plt <- autoplot(kendaraan_ts) +
  ggtitle("Plot Runtun Waktu Penyeberangan Merak-Bakauheni (2023-2024)") +
  xlab("Tahun") + ylab("Jumlah Kendaraan (Ribu)") +
  theme_minimal()
ggplotly(plt)
Berdasarkan grafik tersebut terlihat dipengaruhi oleh pola musiman, namun juga terdapat pola trend yang ditunjukkan oleh jumlah kendaraan yang datang diawal tahun lebih sedikit tetapi di pertengahan hingga akhir tahun jumlahnya mengalami kenaikan. Jumlah kendaraan yang menyeberang di pelabuhan Merak-Bakauheni menunjukan pola bahwa puncak grafik berulang di satu waktu yang sama di tahun 2023 dan 2024. Tabel data sebelumnya menunjukan bahwa jumlah kendaraan terbanyak yang datang ke pelabuhan adalah di bulan april, dengan jumlah 780 ribu di tahun 2023 dan 820 ribu di tahun 2024. Tidak hanya di bulan april saja jumlah kendaran juga melonjak di bulan desember mencapai 600 kendaraan pada tahun 2023 dan 640 kendaraan pada tahun 2024. Lonjakan tersebut juga dapat dikaitkan dengan momen hari raya Idul Fitri pada bulan april dan momen hari libur Natal dan tahun baru pada bulan desember.

4 Seasonal Plot & Boxplot

# 3. Soal 4: Seasonal Plot & Boxplot per Bulan
# Seasonal Plot
plot1 <- ggseasonplot(kendaraan_ts, year.labels = TRUE) +
  ggtitle("Seasonal Plot Penyeberangan per Tahun") +
  theme_minimal()
ggplotly(plot1)
Grafik tersebut menunjukan bahwa pola musiman atau lonjakan jumlah kendaraan dari masing-masing tahun berada di bulan april dan bulan desember, jumlah tertinggi berada di bulan april tahun 2024 yang mencapai jumlah 820 ribu kendaaraan, selain itu jumlah kendaraan semakin meningkat di tahun 2024 dibanding dengan tahun 2023.
# 1. Ubah variabel Bulan menjadi factor dengan urutan kalender yang benar
data_pelabuhan$Nama_Bulan <- factor(data_pelabuhan$Nama_Bulan, levels = c("Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"))

# Boxplot per Bulan
Bxplt <- boxplot(data_pelabuhan$Jumlah_Kendaraan_Ribuan ~ data_pelabuhan$Nama_Bulan,
        main = "Boxplot Jumlah Kendaraan per Bulan",
        xlab = "Bulan", ylab = "Ribuan Kendaraan", col = "grey")

Diagram Boxplot tersebut menunjukkan ukuran kotak yang sempit yang artinya variasi pada data sedikit atau jumlah kendaraan yang datang di masing-masing blan itu stabil, dibuktikan juga dengan tidak adanya nilai pencilan atau (Outlier). Terdapat lonjakan yang cukup signifikan di bulan april yang menyentuh angka 800 ribu kendaraan, jumlah terkecil atau paling sedikit berada di bulan jnuari hingga maret. selain itu juga terdapat lonjakan di akhir tahun yang menyentuh angka 600 ribu kendaraan, hal ini di asumsikan dengan hadirnya libur tahun baru dan natal.