beberapa library yang perlu diinstal sebagai berikut:
library(ggplot2)
library(readxl)
library(ggthemes)
library(gridExtra)
data diinput dari microsoft excel dengan syntax
setwd ("C:/Users/Erlangga/Documents/prosta")
data<-read_excel("data_kclkaaan_faktorpenyebab.xlsx")
head(data)
## # A tibble: 6 × 6
## `Tahun pengamatan` `Jumlah Kecelakaan` `Faktor Pengemudi` `Faktor Kendaraan`
## <dbl> <dbl> <dbl> <dbl>
## 1 NA NA NA NA
## 2 2008 67 42 19
## 3 2009 34 21 9
## 4 2010 39 26 10
## 5 2011 72 49 16
## 6 2012 81 58 19
## # ℹ 2 more variables: `Faktor Cuaca` <dbl>, `Faktor Jalan` <dbl>
Data tersebut bersumber dari Satlantas Polres Semarang di dalam buku Diklat Jalan Keselamatan Modul 3 yang berjudul Data Kecelakaan Lalu Lintas 2016.
Dari data tersebut, akan disajikan visualisasi data dalam bentuk Pie Chart. Berikut terlampir hasil visualisasi data distribusi faktor pengemudi berdasarkan tahun.
data <- na.omit(data)
pie_chart <- ggplot(data, aes(x = "", y = `Faktor Pengemudi`, fill = `Tahun pengamatan`)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
theme_minimal() +
labs(title = "Distribusi Faktor Pengemudi Berdasarkan Tahun") +
theme(axis.text.x = element_blank())
pie_chart
Diagram menunjukkan distribusi faktor pengemudi dalam kecelakaan berdasarkan tahun pengamatan. Warna yang berbeda merepresentasikan tahun yang berbeda. Proporsi terbesar terlihat pada tahun 2012, yang memiliki kontribusi terbesar dibanding tahun lainnya, sementara tahun 2008 dan 2009 memiliki proporsi yang lebih kecil.
Visualisasi ini menunjukkan bahwa faktor pengemudi sebagai penyebab kecelakaan mengalami peningkatan seiring waktu, dengan tahun 2012 sebagai puncaknya. Hal ini mengindikasikan bahwa pola kecelakaan akibat faktor pengemudi cenderung meningkat di tahun-tahun terakhir dibandingkan tahun-tahun sebelumnya.
Dari data tersebut, akan disajikan visualisasi data dalam bentuk Bar Chart. Berikut terlampir hasil visualisasi data jumlah kecelakaan per tahun.
data <- na.omit(data)
data$`Tahun pengamatan` <- as.factor(data$`Tahun pengamatan`)
bar_chart <- ggplot(data, aes(x = `Tahun pengamatan`, y = `Jumlah Kecelakaan`, fill = `Tahun pengamatan`)) +
geom_col() +
theme_minimal() +
labs(title = "Jumlah Kecelakaan per Tahun\n",
x = "Tahun Pengamatan",
y = "Jumlah Kecelakaan")
bar_chart
Bar chart menunjukkan bahwa jumlah kecelakaan per tahun mengalami fluktuasi. Tahun 2008 memiliki angka kecelakaan yang cukup tinggi, diikuti oleh penurunan pada tahun 2009. Namun, kecelakaan kembali meningkat secara bertahap pada tahun 2010 dan mencapai puncaknya di tahun 2012.
Tren yang terlihat dalam bar chart ini menunjukkan bahwa setelah mengalami penurunan pada tahun 2009, jumlah kecelakaan meningkat secara konsisten hingga tahun 2012. Hal ini bisa menunjukkan adanya faktor-faktor lain yang berkontribusi terhadap meningkatnya jumlah kecelakaan di tahun-tahun terakhir, seperti peningkatan jumlah kendaraan atau perubahan kondisi lalu lintas.
Dari data tersebut, akan disajikan visualisasi data dalam bentuk Histogram. Berikut terlampir hasil visualisasi data faktor cuaca dalam kecelakaan.
data <- na.omit(data)
data$`Faktor Cuaca` <- as.numeric(as.character(data$`Faktor Cuaca`))
histogram <- ggplot(data, aes(x = `Faktor Cuaca`)) +
geom_histogram(binwidth = diff(range(data$`Faktor Pengemudi`)) / 10,
fill = "blue", color = "black", alpha = 0.7) +
theme_minimal() +
labs(title = "Histogram: Faktor Cuaca dalam Kecelakaan",
x = "Jumlah Kecelakaan",
y = "Frekuensi")
histogram
Histogram menunjukkan distribusi jumlah kecelakaan yang disebabkan oleh faktor cuaca. Data terkonsentrasi pada kisaran jumlah kecelakaan tertentu, dengan sebagian besar frekuensi berkumpul di sekitar nilai tengah.
Dari distribusi yang ditampilkan, terlihat bahwa faktor cuaca memiliki peran dalam kecelakaan, tetapi tidak menunjukkan pola yang ekstrem. Hal ini bisa berarti bahwa faktor cuaca memiliki kontribusi yang stabil terhadap kecelakaan, tanpa adanya lonjakan signifikan dalam jumlah kasus.
Dari data tersebut, akan disajikan visualisasi data dalam bentuk Boxplot. Berikut terlampir hasil visualisasi data faktor jalan dalam kecelakaan.
data <- na.omit(data)
data$`Faktor Jalan` <- as.numeric(as.character(data$`Faktor Jalan`))
data <- na.omit(data)
boxplot_data <- ggplot(data, aes(y = `Faktor Pengemudi`, fill = "Faktor Jalan")) +
geom_boxplot(alpha = 0.6, outlier.colour = "red", outlier.shape = 16) +
theme_minimal() +
labs(title = "Boxplot: Faktor Jalan dalam Kecelakaan",
y = "Jumlah Kecelakaan",
fill = "Kategori") +
theme(legend.position = "none")
boxplot_data
Statistik Deskriptif: Boxplot memperlihatkan persebaran jumlah kecelakaan yang dipengaruhi oleh faktor jalan. Nilai median berada di sekitar titik tengah distribusi, dengan rentang interkuartil yang cukup luas. Beberapa outlier juga terlihat pada bagian atas dan bawah grafik, menunjukkan bahwa ada beberapa kasus kecelakaan yang memiliki jumlah sangat tinggi atau sangat rendah dibandingkan mayoritas data lainnya.
Statistik Inferensia: Keberadaan outlier pada boxplot menunjukkan bahwa ada beberapa tahun dengan jumlah kecelakaan akibat faktor jalan yang jauh lebih tinggi atau lebih rendah dari nilai rata-rata. Ini bisa mengindikasikan bahwa di tahun-tahun tertentu, kondisi jalan menjadi faktor signifikan dalam meningkatkan risiko kecelakaan.
Dari data tersebut, akan disajikan visualisasi data dalam bentuk Density Plot. Berikut terlampir hasil visualisasi data faktor kendaraan dalam kecelakaan.
data <- na.omit(data)
density_plot <- ggplot(data, aes(x = `Faktor Kendaraan`, fill = "Faktor Kendaraan")) +
geom_density(alpha = 0.5, color = "black") +
theme_minimal() +
labs(title = "Density Plot: Faktor Kendaraan dalam Kecelakaan",
x = "Jumlah Kecelakaan",
y = "Kepadatan") +
theme(legend.position = "none") # Hilangkan legenda jika hanya satu kategori
density_plot
Density plot menunjukkan distribusi kepadatan jumlah kecelakaan yang disebabkan oleh faktor kendaraan. Grafik ini memperlihatkan bahwa sebagian besar data terkonsentrasi dalam rentang tertentu, dengan kepadatan tertinggi pada kisaran jumlah kecelakaan tertentu.
Dari pola yang terlihat, mayoritas kecelakaan akibat faktor kendaraan terjadi dalam rentang jumlah tertentu, dengan beberapa kasus yang menyebar di luar rentang utama. Ini menunjukkan bahwa meskipun faktor kendaraan memiliki peran besar dalam kecelakaan, intensitasnya tidak merata dan dapat bervariasi dari tahun ke tahun.
Dari data tersebut, akan disajikan berbagai visualisasi data dalam bentuk pie chart, bar chart, histogram, boxplot, dan density plot untuk memberikan gambaran mengenai faktor-faktor yang berkontribusi terhadap jumlah kecelakaan.
grid.arrange(pie_chart, bar_chart, histogram, boxplot_data, density_plot, ncol=2, nrow=3)
Hasil visualisasi ini membantu dalam memahami pola distribusi kecelakaan serta faktor-faktor yang berkontribusi terhadap peningkatan jumlah kecelakaan setiap tahunnya.
Rata-rata (mean) digunakan untuk mengetahui nilai tengah dari data kecelakaan dan faktor-faktor yang mempengaruhinya. Berikut hasil perhitungannya:
mean(data$`Jumlah Kecelakaan`)
## [1] 58.6
mean(data$`Faktor Pengemudi`)
## [1] 39.2
mean(data$`Faktor Kendaraan`)
## [1] 14.6
mean(data$`Faktor Cuaca`)
## [1] 1.6
mean(data$`Faktor Jalan`)
## [1] 3.2
Median digunakan untuk mengetahui nilai tengah dari data yang telah diurutkan, sehingga tidak terpengaruh oleh nilai ekstrem. Berikut hasil median untuk setiap faktor:
median(data$`Jumlah Kecelakaan`)
## [1] 67
median(data$`Faktor Pengemudi`)
## [1] 42
median(data$`Faktor Kendaraan`)
## [1] 16
median(data$`Faktor Cuaca`)
## [1] 2
median(data$`Faktor Jalan`)
## [1] 3
Modus adalah nilai yang paling sering muncul dalam dataset. Berikut adalah modus dari jumlah kecelakaan dan faktor-faktornya:
modus <- function(x) {
uniqx <- unique(x)
uniqx[which.max(tabulate(match(x, uniqx)))]
}
modus(data$`Jumlah Kecelakaan`)
## [1] 67
modus(data$`Faktor Pengemudi`)
## [1] 42
modus(data$`Faktor Kendaraan`)
## [1] 19
modus(data$`Faktor Cuaca`)
## [1] 2
modus(data$`Faktor Jalan`)
## [1] 3
Kuartil digunakan untuk melihat persebaran data dalam lima bagian utama atau dikenal sebagai statistik lima serangkai (minimum, Q1, median, Q3, maksimum).
summary(data$`Jumlah Kecelakaan`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 34.0 39.0 67.0 58.6 72.0 81.0
summary(data$`Faktor Pengemudi`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 21.0 26.0 42.0 39.2 49.0 58.0
summary(data$`Faktor Kendaraan`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 9.0 10.0 16.0 14.6 19.0 19.0
summary(data$`Faktor Cuaca`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 1.0 2.0 1.6 2.0 2.0
summary(data$`Faktor Jalan`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 3.0 3.0 3.2 4.0 5.0
Range digunakan untuk mengetahui selisih antara nilai maksimum dan minimum dalam dataset, yang menunjukkan sebaran data kecelakaan dan faktor-faktornya. Berikut hasil perhitungannya :
diff(range(data$`Jumlah Kecelakaan`))
## [1] 47
diff(range(data$`Faktor Pengemudi`))
## [1] 37
diff(range(data$`Faktor Kendaraan`))
## [1] 10
diff(range(data$`Faktor Cuaca`))
## [1] 1
diff(range(data$`Faktor Jalan`))
## [1] 4
range(data$`Faktor Jalan`)
## [1] 1 5
Varians menggambarkan sejauh mana data tersebar dari rata-ratanya. Berikut hasil perhitungan varians untuk setiap faktor:
var(data$`Jumlah Kecelakaan`)
## [1] 435.3
var(data$`Faktor Pengemudi`)
## [1] 240.7
var(data$`Faktor Kendaraan`)
## [1] 23.3
var(data$`Faktor Cuaca`)
## [1] 0.3
var(data$`Faktor Jalan`)
## [1] 2.2
Standar deviasi menunjukkan tingkat penyebaran data terhadap mean. Nilai yang lebih besar menunjukkan bahwa data lebih tersebar, sedangkan nilai kecil menunjukkan data lebih terkonsentrasi di sekitar rata-rata.
sd(data$`Jumlah Kecelakaan`)
## [1] 20.86384
sd(data$`Faktor Pengemudi`)
## [1] 15.51451
sd(data$`Faktor Kendaraan`)
## [1] 4.827007
sd(data$`Faktor Cuaca`)
## [1] 0.5477226
sd(data$`Faktor Jalan`)
## [1] 1.48324
Dari hasil visualisasi dan analisis statistik seperti mean, median, modus, serta standar deviasi, terlihat bahwa faktor pengemudi memiliki dampak terbesar terhadap kecelakaan, diikuti oleh faktor kendaraan dan jalan.
Rata-rata dan median memberikan gambaran umum jumlah kecelakaan, sementara varians dan standar deviasi menunjukkan sebaran datanya. Hasil analisis ini memberikan informasi penting mengenai faktor-faktor yang berkontribusi terhadap kecelakaan.