Data yang digunakan adalah Jumlah Perjalanan Wisatawan Nusantara Menurut Provinsi Tujuan Tahun 2025, difokuskan pada 5 provinsi: Banten, Jawa Barat, DKI Jakarta, Lampung, dan Maluku. Data mencakup jumlah perjalanan wisatawan bulanan (Januari-Desember) serta total tahunan untuk masing-masing provinsi. Seluruh visualisasi pada laporan ini memanfaatkan rincian bulanan tersebut, bukan hanya angka totalnya.
raw <- read_excel("Jumlah_Perjalanan_Wisatawan_Nusantara_5_Provinsi_2025.xlsx",
skip = 4,
col_names = c("Provinsi", "Januari", "Februari", "Maret", "April",
"Mei", "Juni", "Juli", "Agustus", "September",
"Oktober", "November", "Desember", "Tahunan"))
data_wisata <- raw %>%
mutate(across(-Provinsi, as.numeric))
data_wisata %>%
knitr::kable(format.args = list(big.mark = ".")) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = FALSE,
font_size = 12) %>%
row_spec(0, background = "#1b263b", color = "white", bold = TRUE) %>%
scroll_box(width = "100%")
| Provinsi | Januari | Februari | Maret | April | Mei | Juni | Juli | Agustus | September | Oktober | November | Desember | Tahunan |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BANTEN | 5.374.964 | 4.933.130 | 4.906.087 | 6.510.839 | 5.298.701 | 5.346.246 | 5.125.363 | 4.929.333 | 4.910.953 | 5.027.944 | 5.003.377 | 5.189.645 | 62.556.582 |
| JAWA BARAT | 17.926.093 | 15.161.782 | 15.034.773 | 22.522.037 | 17.697.435 | 18.751.277 | 17.765.843 | 16.643.119 | 17.026.198 | 17.043.246 | 17.664.008 | 18.527.110 | 211.762.921 |
| DKI JAKARTA | 7.771.684 | 7.942.806 | 7.460.546 | 8.000.591 | 8.247.240 | 8.508.931 | 8.604.137 | 8.121.839 | 8.061.852 | 8.641.118 | 8.764.617 | 9.271.631 | 99.396.992 |
| LAMPUNG | 2.222.813 | 1.789.402 | 1.661.838 | 2.992.879 | 2.309.209 | 2.619.503 | 2.301.590 | 2.211.846 | 2.159.343 | 2.237.236 | 2.197.005 | 2.388.116 | 27.090.780 |
| MALUKU | 313.240 | 275.693 | 266.268 | 375.432 | 279.052 | 290.252 | 303.821 | 258.187 | 283.902 | 300.887 | 314.690 | 343.320 | 3.604.744 |
Untuk keperluan visualisasi, data di atas juga dibentuk ulang ke format panjang (long format) agar setiap baris mewakili satu kombinasi provinsi-bulan:
data_long <- data_wisata %>%
select(-Tahunan) %>%
pivot_longer(-Provinsi, names_to = "Bulan", values_to = "Jumlah") %>%
mutate(Bulan = factor(Bulan, levels = c("Januari", "Februari", "Maret", "April", "Mei",
"Juni", "Juli", "Agustus", "September",
"Oktober", "November", "Desember")))
Variabel Provinsi merupakan data kategorik (nominal), sehingga divisualisasikan dengan Bar Chart dan Pie Chart — keduanya memakai rincian bulanan, bukan sekadar angka total tahunan.
ggplot(data_long, aes(x = reorder(Provinsi, -Jumlah, FUN = sum), y = Jumlah, fill = Bulan)) +
geom_col() +
labs(
title = "Kontribusi Tiap Bulan terhadap Total Perjalanan Wisatawan",
subtitle = "5 Provinsi, Tahun 2025",
x = "Provinsi",
y = "Jumlah Perjalanan"
) +
scale_y_continuous(labels = comma) +
scale_fill_viridis_d(option = "turbo") +
theme_minimal(base_size = 11) +
theme(axis.text.x = element_text(angle = 15, hjust = 1),
plot.title = element_text(face = "bold"),
legend.position = "right")
Interpretasi: Berbeda dari bar chart sederhana yang hanya menampilkan satu angka total per provinsi, stacked bar chart ini membandingkan provinsi (kategori) sekaligus menunjukkan bagaimana total tersebut disusun dari 12 bulan. Terlihat jelas bahwa Jawa Barat memiliki batang tertinggi dengan segmen bulan April yang tampak lebih tebal dibanding bulan lain di semua provinsi, menandakan lonjakan wisatawan yang konsisten terjadi pada bulan itu di seluruh provinsi, bukan hanya di satu tempat.
data_pie <- data_long %>%
filter(Bulan == "April") %>%
mutate(persen = Jumlah / sum(Jumlah) * 100,
label = paste0(Provinsi, "\n", round(persen, 1), "%"))
ggplot(data_pie, aes(x = "", y = Jumlah, fill = Provinsi)) +
geom_col(width = 1, color = "white") +
coord_polar(theta = "y") +
geom_text(aes(label = label), position = position_stack(vjust = 0.5), size = 3.2) +
labs(title = "Proporsi Wisatawan Antarprovinsi pada Bulan Puncak (April)",
subtitle = "Tahun 2025") +
theme_void(base_size = 12) +
theme(legend.position = "none", plot.title = element_text(face = "bold", hjust = 0.5, size = 11))
Interpretasi: Alih-alih memakai proporsi tahunan yang sudah umum, pie chart ini secara khusus menyoroti bulan puncak (April) — bulan dengan jumlah wisatawan tertinggi di hampir semua provinsi. Jawa Barat tetap mendominasi (~53%) bahkan pada bulan puncak, menunjukkan bahwa lonjakan musiman terjadi secara proporsional di semua provinsi, bukan mengubah komposisi pangsa wisatawan antarprovinsi secara signifikan.
Variabel jumlah perjalanan bulanan (60 observasi: 5 provinsi x 12 bulan) merupakan data numerik, divisualisasikan dengan empat pendekatan berbeda: Histogram, Polygon Frekuensi, Line Chart, dan Box-and-Whisker Plot.
Karena skala antarprovinsi berbeda jauh (Jawa Barat mencapai puluhan juta per bulan, sementara Maluku hanya ratusan ribu), data ditransformasi ke skala logaritma (log10) agar bentuk sebarannya dapat terlihat jelas dalam satu histogram gabungan. Transformasi log berbeda dengan “memotong sumbu Y” yang dibahas sebagai bias visual — di sini seluruh sumbu tetap utuh dari nilai minimum, hanya skalanya yang diubah agar data yang berbeda beberapa orde besaran bisa dibandingkan secara adil.
data_log <- data_long %>% mutate(log_jumlah = log10(Jumlah))
ggplot(data_log, aes(x = log_jumlah)) +
geom_histogram(binwidth = 0.2, boundary = 5, fill = "#712B13", color = "white") +
labs(
title = "Distribusi Jumlah Perjalanan Wisatawan Bulanan",
subtitle = "Gabungan 5 Provinsi x 12 Bulan (skala log10)",
x = "log10(Jumlah Perjalanan)",
y = "Frekuensi (jumlah bulan-provinsi)"
) +
theme_minimal(base_size = 11) +
theme(plot.title = element_text(face = "bold"))
Interpretasi: Histogram menggambarkan bentuk dan pola sebaran data numerik kontinu. Terlihat sebaran yang multimodal (beberapa puncak), mencerminkan lima provinsi dengan skala jumlah wisatawan yang sangat berbeda — puncak di sekitar log10 ≈ 5,5 mewakili bulan-bulan Maluku dan Lampung yang lebih kecil, sementara puncak di sekitar log10 ≈ 7,3 mewakili bulan-bulan Jawa Barat yang jauh lebih besar. Pola ini menegaskan kesenjangan jumlah wisatawan yang besar antarprovinsi di kelompok data ini.
bins <- seq(5.2, 7.6, by = 0.2)
hist_obj <- hist(data_log$log_jumlah, breaks = bins, plot = FALSE)
poly_df <- data.frame(mid = hist_obj$mids, freq = hist_obj$counts)
ggplot(poly_df, aes(x = mid, y = freq)) +
geom_area(fill = "#712B13", alpha = 0.15) +
geom_line(color = "#712B13", linewidth = 1) +
geom_point(color = "#712B13", size = 2.5) +
labs(
title = "Polygon Frekuensi Jumlah Perjalanan Wisatawan Bulanan",
subtitle = "Titik Tengah Kelas Interval (skala log10)",
x = "Titik Tengah log10(Jumlah Perjalanan)",
y = "Frekuensi"
) +
theme_minimal(base_size = 11) +
theme(plot.title = element_text(face = "bold"))
Interpretasi: Polygon frekuensi menghubungkan titik tengah puncak setiap batang histogram sebelumnya, menghasilkan garis yang lebih halus untuk melihat bentuk sebaran. Dua “bukit” pada garis ini semakin menegaskan sifat multimodal data: kelompok provinsi dengan skala kecil (Maluku, Lampung) dan kelompok provinsi dengan skala besar (Jawa Barat, DKI Jakarta, Banten) membentuk dua kelompok sebaran yang cukup terpisah.
ggplot(data_long, aes(x = Bulan, y = Jumlah, color = Provinsi, group = Provinsi)) +
geom_line(linewidth = 1) +
geom_point(size = 1.8) +
labs(
title = "Tren Bulanan Jumlah Perjalanan Wisatawan Nusantara",
subtitle = "5 Provinsi, Tahun 2025",
x = "Bulan",
y = "Jumlah Perjalanan"
) +
scale_y_continuous(labels = comma) +
theme_minimal(base_size = 10.5) +
theme(axis.text.x = element_text(angle = 40, hjust = 1),
plot.title = element_text(face = "bold"),
legend.position = "bottom")
Interpretasi: Line chart dipilih karena tepat untuk menunjukkan tren atau perubahan nilai numerik dari waktu ke waktu (data time series). Kelima provinsi menunjukkan pola musiman yang serupa: lonjakan tajam pada bulan April (musim mudik/Idulfitri), lalu kembali menurun pada bulan-bulan berikutnya. Jawa Barat dan DKI Jakarta konsisten berada jauh di atas provinsi lain sepanjang tahun, sementara Maluku nyaris membentuk garis datar di bagian bawah grafik karena skalanya yang jauh lebih kecil.
ggplot(data_long, aes(x = reorder(Provinsi, -Jumlah, FUN = median), y = Jumlah, fill = Provinsi)) +
geom_boxplot(outlier.color = "#712B13", outlier.size = 2.5) +
labs(
title = "Sebaran Jumlah Perjalanan Wisatawan Bulanan per Provinsi",
subtitle = "Tahun 2025 (12 bulan)",
x = "Provinsi",
y = "Jumlah Perjalanan per Bulan"
) +
scale_y_continuous(labels = comma) +
theme_minimal(base_size = 11) +
theme(legend.position = "none", axis.text.x = element_text(angle = 15, hjust = 1),
plot.title = element_text(face = "bold"))
Interpretasi: Boxplot merangkum sebaran 12 nilai bulanan tiap provinsi melalui lima angka ringkasan (minimum, Q1, median, Q3, maksimum) dan mampu mendeteksi outlier. Jawa Barat memiliki rentang sebaran (kotak) yang paling lebar, menandakan variasi jumlah wisatawan antarbulan yang cukup besar, dengan titik bulan April yang tampak sebagai outlier di atas kumis atas pada beberapa provinsi — konsisten dengan lonjakan musiman yang terlihat pada line chart, histogram, dan polygon frekuensi. Sebaliknya, Maluku memiliki kotak yang sangat sempit karena jumlah wisatawan bulanannya relatif stabil dan kecil sepanjang tahun.
| Kelompok Data | Jenis Grafik | Insight Utama |
|---|---|---|
| Kategorik | Stacked Bar Chart | Jawa Barat memimpin jauh, dengan segmen April yang menonjol di semua provinsi |
| Kategorik | Pie Chart (bulan puncak) | Komposisi pangsa antarprovinsi relatif stabil bahkan pada bulan puncak (April) |
| Numerik | Histogram | Sebaran gabungan bersifat multimodal, mencerminkan dua kelompok skala provinsi |
| Numerik | Polygon Frekuensi | Menguatkan temuan histogram: dua “bukit” sebaran data yang terpisah |
| Numerik | Line Chart | Seluruh provinsi mengalami lonjakan tajam pada April (musim mudik/Idulfitri) |
| Numerik | Box-and-Whisker | Jawa Barat memiliki variasi bulanan terbesar; April muncul sebagai outlier pada beberapa provinsi |