Install Library

Beberapa library yang perlu diinstal sebagai berikut:

library(ggplot2)
library(readxl)
library(ggthemes)
## Warning: package 'ggthemes' was built under R version 4.4.2
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 4.4.2

Input Data

Data diinput dari Microsoft Excel dengan syntax sebagai berikut:

setwd("F:/Probabilitas dan Statistika/Pertemuan 3/Tugas")
data<-read_excel("Kualitas_Udara_di_Jabodetabek_berdasarkan_IQAir.xlsx")
head(data)
## # A tibble: 5 × 6
##   `Nama Kota` `Status Kondisi Udara`            `Polutan Utama` `Kualitas Udara`
##   <chr>       <chr>                             <chr>                      <dbl>
## 1 Jakarta     Sedang                            NO2                           94
## 2 Bogor       Tidak Sehat Bagi Kelompok Sensit… PM2.5                        143
## 3 Depok       Sedang                            PM2.5                         90
## 4 Tangerang   Sedang                            PM2.5                         77
## 5 Bekasi      Tidak Sehat Bagi Kelompok Sensit… PM2.5                        126
## # ℹ 2 more variables: `Kelembapan (%)` <dbl>, Suhu <dbl>

Data tersebut menyimpulkan kualitas udara di Jakarta, Bogor, Depok, Tangerang, dan Bekasi. Data tersebut memuat status kondisi udara, polutan utama, kualitas udara, kelembapan, dan suhu. Data diambil dari IQAir.

Pie Chart

Dari data tersebut akan disajikan visualisasi data dalam bentuk Pie Chart. Berikut terlampir hasil visualisasi data Polutan Utama di JABODETABEK:

pie_chart <- ggplot(data,aes(x="",fill=`Polutan Utama`)) +
  geom_bar(width=1) +
  coord_polar("y",start=0) +
  theme_minimal() +
  labs(title = "Polutan Utama di JABODETABEK") +
  theme(axis.text.x = element_blank())

pie_chart

Dari hasil visualisasi tersebut dapat dijelaskan bahwa polutan utama yang ada di JABODETABEK sebagian besar adalah PM2.5 (partikel halus).

Bar Chart

Dari data tersebut akan disajikan visualisasi data dalam bentuk Bar Chart. Berikut terlampir hasil visualisasi data Status Kondisi Udara di JABODETABEK:

bar_chart <- ggplot(data, aes(x = `Status Kondisi Udara`, fill = `Status Kondisi Udara`))+
  geom_bar() +
  theme_minimal() +
  labs(title = "Status Kondisi Udara di JABODETABEK", x = "Status Kondisi Udara", y = "Frekuensi")

bar_chart

Dari hasil visualisasi tersebut dapat dijelaskan bahwa sebagian besar status kondisi udara di JABODETABEK dikategorikan sedang dengan frekuensi 3 yang berarti 3 kota sudah masuk pada kategori sedang. Sedangkan pada kategori tidak sehat bagi kelompok sensitif berada pada frekuensi 2 yang berarti 2 kota sudah masuk pada kategori tidak sehat bagi kelompok sensitif.

Stem and Leaf

Dari data tersebut akan disajikan visualisasi data dalam bentuk Stem and Leaf. Berikut terlampir hasil visualisasi data suhu di wilayah JABODETABEK:

stem(data$Suhu)
## 
##   The decimal point is at the |
## 
##   25 | 0
##   26 | 
##   27 | 0
##   28 | 00
##   29 | 0

Dari hasil visualisasi tersebut dapat disimpulkan bahwa suhu yang berada di JABODETABEK sekitar 25 derajat celcius sampai 29 derajat celcius (karena data diambil pada saat malam hari). Terdapat dua kota yang memiliki suhu yang sama yaitu 28 derajat celcius.

Histogram

Dari data tersebut akan disajikan visualisasi data dalam bentuk Histogram. Berikut terlampir hasil visualisasi data Frekuensi Suhu di JABODETABEK:

histogram <- ggplot(data, aes(x = Suhu)) +
  geom_histogram(binwidth = 5, fill = "blue", color = "black", alpha = 0.7) +
  theme_minimal() +
  labs(title = "Histogram: Frekuensi Suhu di JABODETABEK", x = "Suhu", y = "Jumlah Kota")

histogram

Dari hasil visualisasi tersebut dapat disimpulkan bahwa histogram tersebut tidak memiliki outlier sehingga data tersebut dapat dipastikan tidak memiliki hasil yang abnormal. Suhu tertinggi di JABODETABEK berkisar 27.5 sampai 32.5 derajat celcius dengan jumlah kota 3. Sedangkan suhu terendah berkisar 22.5 sampai 27.5 derajat celcius dengan jumlah kota 2.

Box plot

Dari data tersebut akan disajikan visualisasi data dalam bentuk Box Plot. Berikut terlampir hasil visualisasi data Kualitas Udara di JABODETABEK:

boxplot_data <- ggplot(data) +
  geom_boxplot(aes(y = `Kualitas Udara`, fill = "Kualitas Udara"), alpha = 0.6) +
  theme_minimal() +
  labs(title = "Boxplot: Kualitas Udara di JABODETABEK", fill = "Kondisi")

boxplot_data

Dari hasil visualisasi data di atas dapat disimpulkan bahwa median mendekati bagian bawah dari boxplot, maka dari itu boxplot di atas disebut dengan positive skew dimana nilai modus < median < mean.

Density Plot

Dari data tersebut akan disajikan visualisasi data dalam bentuk Density Plot. Berikut terlampir hasil visualisasi data Kelembapan udara di JABODETABEK:

density_plot <- ggplot(data, aes(x = `Kelembapan (%)`, fill = "Kelembapan (%)")) +
  geom_density(alpha = 0.5) +
  theme_minimal() +
  labs(title = "Density Plot: Kelembapan Udara di JABODETABEK", x = "Kelembapan", y = "Density")
density_plot

Dari hasil visualisasi data tersebut dapat disimpulkan bahwa data tersebut termasuk ke dalam unimodal karena hanya ada satu puncak di rentang nilai 70-75. Modus dalam data tersebut ada pada rentang 70-75. Kurva tersebut sempit dan tinggi yang menandakan bahwa sebaran atau variasi datanya lebih terkonsentrasi di sekitar satu nilai yaitu nilai kelembapan pada rentang 70-75.

Ukuran Pemusatan

1. Menghitung Rata-Rata (mean)

Berikut terlampir syntax untuk menghitung rata-rata (mean) Kelembapan Udara di JABODETABEK:

mean(data$`Kelembapan (%)`)
## [1] 75.8

2. Menghitung Median

Berikut terlampir syntax untuk menghitung median Kelembapan Udara di JABODETABEK:

median(data$`Kelembapan (%)`)
## [1] 71

3. Menghitung Modus

Berikut terlampir syntax untuk menghitung modus Kelembapan Udara di JABODETABEK:

modus <- function(x) {
  uniqx <- unique(x)
  uniqx[which.max(tabulate(match(x, uniqx)))]
}

modus(data$`Kelembapan (%)`)
## [1] 70

Menampilkan Ringkasan Data (Statistik 5 Serangkai)

Berikut terlampir syntax untuk menghitung Statistik 5 Serangkai pada variabel Kelembapan:

summary(data$`Kelembapan (%)`)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    70.0    70.0    71.0    75.8    78.0    90.0

Ukuran Penyebaran data

1. Menghitung Keragaman Data

Berikut terlampir syntax untuk menghitung keragaman data pada variabel Kelembapan:

var(data$`Kelembapan (%)`)
## [1] 74.2

2. Menghitung Standar Deviasi dari Data

Berikut terlampir syntax untuk menghitung Standar Deviasi data pada variabel Kelembapan:

sd(data$`Kelembapan (%)`)
## [1] 8.613942