Anggota kelompok: Najwa Andara Putri (3337240083) & Risalah Keishatora (3337240041)
Berikut merupakan beberapa library yang diperlukan:
library(ggplot2)
library(readxl)
library(ggthemes)
library(gridExtra)
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.4.3
## Warning: package 'tidyr' was built under R version 4.4.3
## Warning: package 'readr' was built under R version 4.4.3
## Warning: package 'dplyr' was built under R version 4.4.3
## Warning: package 'forcats' was built under R version 4.4.3
## Warning: package 'lubridate' was built under R version 4.4.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ lubridate 1.9.4 ✔ tibble 3.2.1
## ✔ purrr 1.0.4 ✔ tidyr 1.3.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::combine() masks gridExtra::combine()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
Data diambil dari microsoft excel dengan sintaks seperti berikut:
file_path <- "C:/Users/najwa/Downloads/Data kunjungan wisatawan fix.xlsx"
data <- read_excel(file_path)
data_long <- data %>%
pivot_longer(cols = -c(Negara, Tahunan, Persentase),
names_to = "Bulan",
values_to = "Kunjungan")
Dari data yang sudah diinput, disajikan visualisasi data dalam bentuk pie chart. Berikut merupakan hasil visualisasi data mengenai persentase kunjungan per negara dalam satu tahun:
pie_data <- data %>%
select(Negara, Tahunan) %>%
arrange(desc(Tahunan))
pie_chart <- ggplot(pie_data, aes(x = "", y = Tahunan, fill = Negara)) +
geom_bar(stat = "identity", width = 1) +
coord_polar(theta = "y") +
theme_void() +
labs(title = "Persentase kunjungan negara dalam setahun") +
theme(legend.position = "right")
pie_chart
Dari hasil visualisasi tersebut, dapat disimpulkan bahwa Malaysia merupakan negara dengan persentase kunjungan terbanyak selama setahun. Kemudian disusul oleh Singapore, Philippine, Thailand, dan Brunei.
Sebelumnya tentukan urutan bulan sesuai kalender
data_long$Bulan <- factor(data_long$Bulan,
levels = c("Januari", "Februari", "Maret", "April", "Mei", "Juni",
"Juli", "Agustus", "September", "Oktober", "November", "Desember"))
Dari data yang sudah diinput, disajikan visualisasi data dalam bentuk bar chart. Berikut merupakan hasil visualisasi data mengenai bulan yang paling banyak menyumbang kunjungan:
bar_chart <- ggplot(data_long, aes(x = Bulan, y = Kunjungan, fill = Bulan)) +
geom_bar(stat = "identity", position = "dodge") +
theme_minimal() +
labs(title = "Kunjungan per bulan untuk semua negara", x = "Bulan", y = "Jumlah kunjungan") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
bar_chart
Dari hasil visualisasi bar chart diatas, dapat disimpulkan bahwa bulan September merupakan puncak bulan kunjungan turis mancanegara ke Indonesia di tahun 2024.
Dari data yang sudah diinput, disajikan visualisasi data dalam bentuk histogram. Berikut merupakan hasil visualisasi data mengenai distribusi kunjungan negara:
histogram <- ggplot(data_long, aes(x = Kunjungan)) +
geom_histogram(bins = 20, fill = "pink", color = "black") +
theme_minimal() +
labs(title = "Distribusi kunjungan per negara", x = "Jumlah Kunjungan", y = "Frekuensi")
histogram
Dari Histogram diatas dapat ditarik kesimpulan bahwa sebagian besar negara memiliki jumlah kunjungan yang relatif rendah. Sementara beberapa negara memiliki jumlah kunjungan yang jauh lebih tinggi.
Dari data yang sudah diinput, disajikan visualisasi data dalam bentuk density plot. Berikut merupakan hasil visualisasi data mengenai sebaran kunjungan per bulan:
density_plot <- ggplot(data_long, aes(x = Kunjungan, fill = Bulan)) +
geom_density(alpha = 0.5) +
theme_minimal() +
labs(title = "Kepadatan kunjungan per bulan", x = "Jumlah kunjungan", y = "Kepadatan")
density_plot
Dari grafik tersebut dapat disimpulkan bahwa jumlah kunjungan bervariasi setiap bulan dengan beberapa bulan memiliki jumlah kunjungan yang lebih sering dibandingkan dengan bulan yang lain.
Dari data yang sudah diinput, disajikan visualisasi data dalam bentuk boxplot. Berikut merupakan hasil visualisasi data mengenai fluktuasi kunjungan per negara:
boxplot <- ggplot(data_long, aes(x = Negara, y = Kunjungan, fill = Negara)) +
geom_boxplot() +
theme_minimal() +
labs(title = "Fluktuasi kunjungan per negara", x = "Negara", y = "Jumlah kunjungan") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
boxplot
Dari boxplot diatas, dapat diketahui bahwa Malaysia dan Singapore merupakan negara yang memiliki kunjungan lebih dominan dibanding dengan negara lain. Sedangkan untuk Brunei, Thailand, dan Philippine memiliki jumlah kunjungan yang cenderung stabil.
grid.arrange(pie_chart, bar_chart, histogram, density_plot, boxplot, ncol = 2)
Berikut terlampir sintaks untuk menghitung rata-rata(mean) untuk jumlah pengunjung per tahunnya:
mean(data$'Tahunan')
## [1] 813094
Berikut terlampir sintaks untuk menghitung nilai tengah(median) dari jumlah pengunjung per tahunnya:
median(data$'Tahunan')
## [1] 239714
Berikut terlampir sintaks untuk menghitung modus jumlah pengunjung per tahunnya:
modus <- function(x) {
uniqx <- unique(x)
uniqx[which.max(tabulate(match(x, uniqx)))]
}
modus(data$'Tahunan')
## [1] 19796
Berikut terlampir sintaks untuk menghitung statistik 5 serangkai pada variabel jumlah pengunjung per tahunya:
summary(data$'Tahunan')
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 19796 119664 239714 813094 1408015 2278281
Berikut terlampir sintaks untuk menghitung keragaman data pada variabel jumlah pengunjung per tahunnya:
var(data$'Tahunan')
## [1] 984908861829
Berikut terlampir sintaks untuk menghitung standar deviasi data pada variabel jumlah pengunjung per tahunnya:
sd(data$'Tahunan')
## [1] 992425.7