VISUALISASI DATA TOTAL PENYEWAAN SEPEDA

DIMAS DWI SAPUTRA

2026-02-11

STUDI KASUS

Perkembangan transportasi ramah lingkungan menjadi salah satu isu penting dalam pembangunan perkotaan modern. Meningkatnya kepadatan lalu lintas, polusi udara, serta kebutuhan akan gaya hidup sehat mendorong masyarakat untuk beralih ke moda transportasi alternatif yang lebih efisien dan berkelanjutan. Salah satu solusi yang banyak diterapkan di berbagai kota adalah sistem penyewaan sepeda (bike sharing system)

Data yang digunakan dalam studi ini merupakan data harian penyewaan sepeda selama dua tahun operasional, yaitu tahun 2011 dan 2012. Dataset tersebut mencakup informasi jumlah penyewaan oleh pengguna casual (pengguna tidak tetap), registered (pengguna terdaftar), serta total keseluruhan penyewaan harian (cnt). Dengan adanya data ini, perusahaan dapat melakukan evaluasi terhadap total permintaan pasar dan tren pertumbuhan dari waktu ke waktu.

VISUALISASI DATA KONTINU (BIVARIATE)

Setelah memahami pola distribusi satu variabel, analisis dapat dilanjutkan ke tahap berikutnya, yaitu visualisasi bivariate. Visualisasi bivariate digunakan untuk melihat hubungan antara dua variabel, misalnya bagaimana jumlah penyewaan sepeda (cnt) dipengaruhi oleh faktor lain seperti musim (season), kondisi cuaca (weathersit), suhu (temp), atau jenis hari (workingday). Pendekatan ini memungkinkan analis tidak hanya memahami bagaimana data tersebar, tetapi juga mulai mengeksplorasi faktor-faktor yang berasosiasi dengan perubahan jumlah penyewaan sepeda.

Dengan demikian, visualisasi univariate memberikan pemahaman awal mengenai karakteristik dan variasi data, sedangkan visualisasi bivariate membantu menggali hubungan antarvariabel yang dapat menjelaskan pola penggunaan sepeda secara lebih mendalam. Berikut adalah beberapa jenis visualisasi bivariate yang dapat digunakan untuk menganalisis hubungan antara jumlah penyewaan sepeda (cnt) dengan variabel lain dalam dataset

1.scatter plot

Scatter plot adalah grafik yang menunjukkan hubungan antara dua variabel numerik. Setiap titik pada scatter plot mewakili satu pengamatan, dengan posisi titik ditentukan oleh nilai kedua variabel. Berikut adalah contoh kode untuk membuat scatter plot antara ‘cnt’ dan ‘temp’ :

library(readxl)
## Warning: package 'readxl' was built under R version 4.5.2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
data <- read_excel("day.xlsx")

data$windspeed <- as.numeric(as.character(data$windspeed))

# Plot rapi
ggplot(data, aes(x = windspeed, y = cnt)) +
  geom_point(color = "darkgreen", alpha = 0.3, size = 1.5) +
  labs(title = "Hubungan Kecepatan Angin dengan Total Penyewaan Sepeda",
       x = "Wind Speed",
       y = "Total Rentals (cnt)") +
  theme_minimal() +
  scale_x_continuous(breaks = pretty(data$windspeed, n = 6))

Grafik menunjukkan hubungan antara kecepatan angin (wind speed) dan total penyewaan sepeda (cnt). Secara umum terlihat bahwa ketika kecepatan angin meningkat, jumlah penyewaan sepeda cenderung menurun. Titik-titik pada grafik membentuk pola menyebar dengan kecenderungan miring ke bawah, yang mengindikasikan adanya hubungan negatif antara kedua variabel.

Namun, penyebaran titik cukup luas dan tidak membentuk garis yang sangat jelas. Ini berarti hubungan negatif tersebut tidak terlalu kuat (korelasi lemah hingga sedang). Pada kecepatan angin rendah (sekitar 0.1–0.2), jumlah penyewaan relatif lebih tinggi dan bervariasi. Sedangkan pada kecepatan angin yang lebih tinggi (di atas 0.3), jumlah penyewaan cenderung lebih sedikit.

2.box plot

Boxplot bivariate digunakan untuk membandingkan distribusi variabel numerik (cnt) berdasarkan kategori dari variabel lain, seperti musim (season). Berikut adalah contoh kode untuk membuat boxplot bivariate antara cnt dan weathersit:

ggplot(data, aes(x = factor(weathersit), y = cnt)) +
  geom_boxplot(fill = "#F1948A") +
  labs(title = "Pengaruh Kondisi Cuaca terhadap Penyewaan",
       x = "Kondisi Cuaca",
       y = "Total Penyewaan") +
  theme_minimal()

Grafik menunjukkan pengaruh kondisi cuaca (1, 2, 3) terhadap total penyewaan sepeda. Terlihat adanya perbedaan yang cukup jelas antar kondisi cuaca.Pada kondisi cuaca 1 (cuaca cerah), median penyewaan paling tinggi dibandingkan kondisi lainnya. Ini menunjukkan bahwa saat cuaca baik, jumlah penyewaan sepeda cenderung lebih banyak. Sebaran datanya juga cukup lebar, artinya jumlah penyewaan cukup bervariasi tetapi tetap relatif tinggi.Pada kondisi cuaca 2 (berawan), median penyewaan lebih rendah dibanding kondisi 1. Hal ini menunjukkan bahwa ketika cuaca kurang optimal, jumlah penyewaan mulai menurun.Pada kondisi cuaca 3 (hujan ringan), median penyewaan paling rendah. Ini berarti saat cuaca buruk, masyarakat jauh lebih jarang menyewa sepeda. Selain itu, rentang nilai juga lebih rendah dibanding dua kondisi lainnya.

3.violin plot

Violin plot bivariate digunakan untuk membandingkan distribusi variabel numerik (cnt) berdasarkan kategori dari variabel lain, seperti kondisi cuaca (weathersit). Berikut adalah contoh kode untuk membuat violin plot bivariate antara cnt dan holiday

ggplot(data, aes(x = factor(holiday), y = cnt, fill = factor(holiday))) +
  geom_violin(trim = FALSE) +
  geom_boxplot(width = 0.1, fill = "white", color = "black", outlier.shape = NA) +
  labs(
    title = "Distribusi Total Penyewaan Sepeda Berdasarkan Hari Libur",
    x = "Hari Libur (0 = Tidak Libur, 1 = Libur)",
    y = "Total Penyewaan Sepeda (cnt)"
  ) +
  scale_fill_manual(values = c("#5DADE2", "#F1948A")) +
  theme_minimal() +
  theme(legend.position = "none")

Grafik menunjukkan distribusi total penyewaan sepeda (cnt) berdasarkan hari libur (0 = tidak libur, 1 = libur).Terlihat bahwa pada hari tidak libur (0), median penyewaan lebih tinggi dibandingkan hari libur. Sebaran datanya juga cukup lebar dengan kepadatan terbesar berada di kisaran sekitar 4.000–5.000 penyewaan. Ini menunjukkan bahwa pada hari biasa, jumlah penyewaan cenderung lebih banyak dan relatif stabil. Sementara itu, pada hari libur (1), median penyewaan lebih rendah. Distribusi menunjukkan lebih banyak data pada kisaran penyewaan yang lebih rendah (sekitar 2.000–4.000). Meskipun ada beberapa nilai tinggi, secara umum jumlah penyewaan saat hari libur lebih sedikit dibanding hari tidak libur