# MEMANGGIL DATA
# install.packages("readxl")
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.2
data1 <- read_excel("C:/Users/faiza/Downloads/Data Tugas 1 AED.xlsx")
## New names:
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
print(data1)
## # A tibble: 37 × 5
##    Provinsi         Tingkat Pengangguran Terbuka Menurut Pro…¹ ...3  ...4  ...5 
##    <chr>            <chr>                                      <chr> <chr> <chr>
##  1 <NA>             2022                                       <NA>  2023… <NA> 
##  2 <NA>             Februari                                   Agus… Febr… Agus…
##  3 ACEH             5.97                                       6.17  5,75  6,03 
##  4 SUMATERA UTARA   5.47                                       6.16  5,24  5,89 
##  5 SUMATERA BARAT   6.17                                       6.28  5,9   5,94 
##  6 RIAU             4.40                                       4.37  4,25  4,23 
##  7 JAMBI            4.70                                       4.59  4,5   4,53 
##  8 SUMATERA SELATAN 4.74                                       4.63  4,53  4,11 
##  9 BENGKULU         3.39                                       3.59  3,21  3,42 
## 10 LAMPUNG          4.31                                       4.52  4,18  4,23 
## # ℹ 27 more rows
## # ℹ abbreviated name: ¹​`Tingkat Pengangguran Terbuka Menurut Provinsi (Persen)`
# MERAPIHKAN DATA
# install.packages("stringr")
library("stringr")
## Warning: package 'stringr' was built under R version 4.3.2
data1 <- as.data.frame(lapply(data1, function(x) gsub("\\,",".",x)))
data1.2 <- data1[-(1:2),]
data1.3 <- data1.2[-35,]
data1.3$Tingkat.Pengangguran.Terbuka.Menurut.Provinsi..Persen. <- as.numeric(data1.3$Tingkat.Pengangguran.Terbuka.Menurut.Provinsi..Persen.)
data1.3$...3 <- as.numeric(data1.3$...3)
data1.3$...4 <- as.numeric(data1.3$...4)
data1.3$...5 <- as.numeric(data1.3$...5)
# MENGUBAH NAMA KOLOM
colnames(data1.3) = c("Provinsi", "Februari 2022", "Agustus 2022", "Februari 2023", "Agustus 2023")
data1.3
##                Provinsi Februari 2022 Agustus 2022 Februari 2023 Agustus 2023
## 3                  ACEH          5.97         6.17          5.75         6.03
## 4        SUMATERA UTARA          5.47         6.16          5.24         5.89
## 5        SUMATERA BARAT          6.17         6.28          5.90         5.94
## 6                  RIAU          4.40         4.37          4.25         4.23
## 7                 JAMBI          4.70         4.59          4.50         4.53
## 8      SUMATERA SELATAN          4.74         4.63          4.53         4.11
## 9              BENGKULU          3.39         3.59          3.21         3.42
## 10              LAMPUNG          4.31         4.52          4.18         4.23
## 11 KEP. BANGKA BELITUNG          4.18         4.77          3.89         4.56
## 12            KEP. RIAU          8.02         8.23          7.61         6.80
## 13          DKI JAKARTA          8.00         7.18          7.57         6.53
## 14           JAWA BARAT          8.35         8.31          7.89         7.44
## 15          JAWA TENGAH          5.75         5.57          5.24         5.13
## 16        DI YOGYAKARTA          3.73         4.06          3.58         3.69
## 17           JAWA TIMUR          4.81         5.49          4.33         4.88
## 18               BANTEN          8.53         8.09          7.97         7.52
## 19                 BALI          4.84         4.80          3.73         2.69
## 20  NUSA TENGGARA BARAT          3.92         2.89          3.73         2.80
## 21  NUSA TENGGARA TIMUR          3.30         3.54          3.10         3.14
## 22     KALIMANTAN BARAT          4.86         5.11          4.52         5.05
## 23    KALIMANTAN TENGAH          4.20         4.26          3.84         4.10
## 24   KALIMANTAN SELATAN          4.20         4.74          3.95         4.31
## 25     KALIMANTAN TIMUR          6.77         5.71          6.37         5.31
## 26     KALIMANTAN UTARA          4.62         4.33          4.10         4.01
## 27       SULAWESI UTARA          6.51         6.61          6.19         6.10
## 28      SULAWESI TENGAH          3.67         3.00          3.49         2.95
## 29     SULAWESI SELATAN          5.75         4.51          5.26         4.33
## 30    SULAWESI TENGGARA          3.86         3.36          3.66         3.15
## 31            GORONTALO          3.25         2.58          3.07         3.06
## 32       SULAWESI BARAT          3.11         2.34          3.04         2.27
## 33               MALUKU          6.44         6.88          6.08         6.31
## 34         MALUKU UTARA          4.98         3.98          4.60         4.31
## 35          PAPUA BARAT          5.78         5.37          5.53         5.38
## 36                PAPUA          3.60         2.83          3.49         2.67
# SET DATA TINGKAT PENGANGGURAN DI INDONESIA BERDASARKAN BULAN
feb22 <- data.frame(
  bulan = rep("Februari 2022", 34),
  tpt = data1.3[,2]
)
agt22 <- data.frame(
  bulan = rep("Agustus 2022", 34),
  tpt = data1.3[,3]
)
feb23 <- data.frame(
  bulan = rep("Februari 2023", 34),
  tpt = data1.3[,4]
)
agt23 <- data.frame(
  bulan = rep("Agustus 2023", 34),
  tpt = data1.3[,5]
)
bbulan <- rbind(feb22, agt22, feb23, agt23)
bbulan$bulan <- factor(bbulan$bulan, levels = c("Februari 2022", "Agustus 2022", "Februari 2023", "Agustus 2023"))
# GUNAKAN BOXPLOT
# install.packages("ggplot2")
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.2
ggplot(bbulan, aes(x = bulan, y = tpt, fill = bulan)) +
  geom_boxplot() +
  labs(title = "Tingkat Pengangguran Terbuka Di Indonesia 2022-2023",
       x = "Bulan", y = "Angka Pengangguran (%)") +
  theme_minimal()

# MELIHAT DATA FEBRUARI 2022
# SET DATA BERDASARKAN PULAU
pusum <- data.frame(
  Pulau = rep("Sumatra", 10),
  Angka_Pengangguran = data1.3[(1:10), 2]
)
puljaw <- data.frame(
  Pulau = rep("Jawa", 6),
  Angka_Pengangguran = data1.3[(11:16), 2]
)
punus <- data.frame(
  Pulau = rep("Nusa Tenggara", 3),
  Angka_Pengangguran = data1.3[(17:19), 2]
)
pukal <- data.frame(
  Pulau = rep("Kalimantan", 5),
  Angka_Pengangguran = data1.3[(20:24), 2]
)
pusul <- data.frame(
  Pulau = rep("Sulawesi", 6),
  Angka_Pengangguran = data1.3[(25:30), 2]
)
pumal <- data.frame(
  Pulau = rep("Maluku", 2),
  Angka_Pengangguran = data1.3[(31:32), 2]
)
pupa <- data.frame(
  Pulau = rep("Papua", 2),
  Angka_Pengangguran = data1.3[(32:33), 2]
)
pina <- rbind(pusum, puljaw, punus, pukal, pusul, pumal, pupa)
ggplot(pina, aes(x = Pulau, y = Angka_Pengangguran, fill = Pulau)) +
  geom_boxplot(width = 0.7, outlier.shape = TRUE) +
  labs(title = "Tingkat Pengangguran Terbuka di Indonesia Berdasarkan Pulau Februari 2022",
       x = "Pulau", y = "Angka Pengangguran (%)") +
  scale_fill_manual(values = c("lightblue", "lightgreen", "lightpink", "lightyellow", "lightcoral", "lightcyan", "lightgoldenrodyellow")) +
  theme_minimal()

# MELIHAT PULAU JAWA DENGAN ANGKA TERTINGGI
# SET DATA PROVINSI DI PULAU JAWA
pj <- data.frame(
  Provinsi = data1.3[(11:16), 1],
  TPT = data1.3[(11:16), 2]
)
ggplot(pj, aes(x = Provinsi, y = TPT, fill = Provinsi)) + geom_bar(stat = "identity", position = "dodge") + labs(title = "Tingkat Pengangguran di Pulau Jawa Februari 2022", x = "Provinsi", y = "Angka Pengangguran (%)") + theme(axis.text.x = element_text(angle = 45, vjust = 0.5), plot.title = element_text(hjust = 0.5))

# MELIHAT DATA TERBARU AGUSTUS 2023
# SET DATA BERDASARKAN PULAU
pusum2 <- data.frame(
  Pulau = rep("Sumatra", 10),
  Angka_Pengangguran = data1.3[(1:10), 5]
)
puljaw2 <- data.frame(
  Pulau = rep("Jawa", 6),
  Angka_Pengangguran = data1.3[(11:16), 5]
)
punus2 <- data.frame(
  Pulau = rep("Nusa Tenggara", 3),
  Angka_Pengangguran = data1.3[(17:19), 5]
)
pukal2 <- data.frame(
  Pulau = rep("Kalimantan", 5),
  Angka_Pengangguran = data1.3[(20:24), 5]
)
pusul2 <- data.frame(
  Pulau = rep("Sulawesi", 6),
  Angka_Pengangguran = data1.3[(25:30), 5]
)
pumal2 <- data.frame(
  Pulau = rep("Maluku", 2),
  Angka_Pengangguran = data1.3[(31:32), 5]
)
pupa2 <- data.frame(
  Pulau = rep("Papua", 2),
  Angka_Pengangguran = data1.3[(32:33), 5]
)
pina2 <- rbind(pusum2, puljaw2, punus2, pukal2, pusul2, pumal2, pupa2)
#GUNAKAN BOXPLOT UNTUK MELIHAT PESEBARAN DATANYA
ggplot(pina2, aes(x = Pulau, y = Angka_Pengangguran, fill = Pulau)) +
  geom_boxplot(width = 0.7, outlier.shape = TRUE) +
  labs(title = "Tingkat Pengangguran Terbuka di Indonesia Berdasarkan Pulau Agustus 2023",
       x = "Pulau", y = "Angka Pengangguran (%)") +
  scale_fill_manual(values = c("lightblue", "lightgreen", "lightpink", "lightyellow", "lightcoral", "lightcyan", "lightgoldenrodyellow")) +
  theme_minimal()

#MELIHAT PULAU SULAWESI DENGAN ANGKA PENGANGGURAN PALING KECIL
# SET DATA PROVINSI DI PULAU SULAWESI
psul <- data.frame(
  Provinsi = data1.3[(25:30), 1],
  TPT = data1.3[(25:30), 5]
)
ggplot(psul, aes(x = Provinsi, y = TPT, fill = Provinsi)) + geom_bar(stat = "identity", position = "dodge") + labs(title = "Tingkat Pengangguran di Pulau Sulawesi Agustus 2023", x = "Provinsi", y = "Angka Pengangguran (%)") + theme(axis.text.x = element_text(angle = 45, vjust = 0.5), plot.title = element_text(hjust = 0.5))

#MELIHAT PERBANDINGAN PENGANGGURAN DARI TAHUN 2022-2023 DI INDONESIA
# SET DATA BERDASARKAN PULAU
pulau <- c(rep("Sumatra", 10), rep("Jawa", 6), rep("Nusa Tenggara", 3), rep("Kalimantan", 5), rep("Sulawesi", 6), rep("Maluku", 2), rep("Papua", 2))
feb2022 <- data1.3[,2]
agt2022 <- data1.3[,3]
feb2023 <- data1.3[,4]
agt2023 <- data1.3[,5]
bul <- data.frame(feb2022, agt2022, feb2023, agt2023)
pinaul <- cbind(pulau, bul)
colnames(pinaul) <- c("Pulau", "Februari, 2022", "Agustus, 2022", "Februari, 2023", "Agustus, 2023")
# UBAH BENTUK DATA
# install.packages("reshape2")
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.3.2
pinaul2 <- melt(pinaul, id.vars = "Pulau", variable.name = "Tahun", value.name = "Angka(%)")
ggplot(pinaul2, aes(x = Pulau, y = `Angka(%)`, fill = Tahun)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(title = "Perbandingan Tingkat Pengangguran di Indonesia berdasarkan Pulau",
       x = "Pulau", y = "Angka Pengangguran (%)", fill = "Bulan, Tahun") +
  theme_minimal()