Input data

data = read.table(file.choose(), header = TRUE, sep = "\t")
data
##                provinsi angka
## 1                  ACEH  5.69
## 2        SUMATERA UTARA  5.66
## 3        SUMATERA BARAT  6.65
## 4                  RIAU  4.58
## 5                 JAMBI  5.45
## 6      SUMATERA SELATAN  5.84
## 7              BENGKULU  5.88
## 8               LAMPUNG  6.28
## 9  KEP. BANGKA BELITUNG  5.56
## 10            KEP. RIAU  4.50
## 11          DKI JAKARTA  5.31
## 12           JAWA BARAT  5.99
## 13          JAWA TENGAH  7.25
## 14        DI YOGYAKARTA  9.22
## 15           JAWA TIMUR  7.88
## 16               BANTEN  4.89
## 17                 BALI  7.87
## 18  NUSA TENGGARA BARAT  6.15
## 19  NUSA TENGGARA TIMUR  6.64
## 20     KALIMANTAN BARAT  5.56
## 21    KALIMANTAN TENGAH  5.48
## 22   KALIMANTAN SELATAN  5.47
## 23     KALIMANTAN TIMUR  5.01
## 24     KALIMANTAN UTARA  5.03
## 25       SULAWESI UTARA  7.81
## 26      SULAWESI TENGAH  6.53
## 27     SULAWESI SELATAN  6.81
## 28    SULAWESI TENGGARA  5.72
## 29            GORONTALO  7.14
## 30       SULAWESI BARAT  6.32
## 31               MALUKU  6.78
## 32         MALUKU UTARA  5.87
## 33          PAPUA BARAT  5.86
## 34     PAPUA BARAT DAYA  5.87
## 35                PAPUA  5.81
## 36        PAPUA SELATAN  5.93
## 37         PAPUA TENGAH  6.00
## 38     PAPUA PEGUNUNGAN  6.96
## 39            INDONESIA  6.45
## 40                         NA
## 41                         NA
## 42                         NA

Visualisasi 1

library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.3
ggplot(data, aes(x = angka)) + 
  geom_histogram(
    binwidth = 1,
    boundary = 4, 
    fill = "skyblue", 
    color = "black"
  ) + 
  scale_x_continuous(
    breaks = seq(4, 10, by = 1),
    limits = c(4, 10)
  ) + 
  labs(
    title = "Distribusi Angka Kematian Kasar di Indonesia (SUPAS 2025)",
    x = "Angka Kematian Kasar (per 1.000 Penduduk)",
    y = "Frekuensi"
  ) + 
  theme_classic() + 
  theme(
    axis.text.x = element_text(angle = 0, hjust = 0.5),
    plot.title = element_text(hjust = 0.5, face = "bold")
  )
## Warning: Removed 3 rows containing non-finite outside the scale range
## (`stat_bin()`).

# Visualisasi 2

ggplot(data, aes(x = "", y = angka)) +
  geom_boxplot(fill = "coral") +
  labs(
    title = "Box Plot Angka Kematian Kasar Indonesia 2025",
    x = "", 
    y = "Angka Kematian Kasar"
  ) +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, face = "bold"))
## Warning: Removed 3 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

# Visualisasi Kalimantan

library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.5.3
## Warning: package 'tibble' was built under R version 4.5.3
## Warning: package 'tidyr' was built under R version 4.5.3
## Warning: package 'readr' was built under R version 4.5.3
## Warning: package 'purrr' was built under R version 4.5.3
## Warning: package 'stringr' was built under R version 4.5.3
## Warning: package 'forcats' was built under R version 4.5.3
## Warning: package 'lubridate' was built under R version 4.5.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.1     ✔ stringr   1.6.0
## ✔ lubridate 1.9.5     ✔ tibble    3.3.1
## ✔ purrr     1.2.2     ✔ tidyr     1.3.2
## ✔ readr     2.2.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ 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_Kalimantan <- data %>%
  filter(str_starts(provinsi, "KALIMANTAN"))

Data_Kalimantan
##             provinsi angka
## 1   KALIMANTAN BARAT  5.56
## 2  KALIMANTAN TENGAH  5.48
## 3 KALIMANTAN SELATAN  5.47
## 4   KALIMANTAN TIMUR  5.01
## 5   KALIMANTAN UTARA  5.03
ggplot(Data_Kalimantan, aes(x = provinsi, y = angka, fill = provinsi)) +
  geom_col() +
  geom_text(aes(label = angka), vjust = -0.5, size = 3.5) +
  labs(
    title = "Angka Kematian Kasar Pulau Kalimantan Tahun 2025",
    x = "Provinsi",
    y = "Angka Kematian Kasar (per 1.000 Penduduk)"
  ) +
  theme_minimal() +
  theme(
    axis.text.x = element_text(angle = 45, hjust = 1),
    plot.title = element_text(hjust = 0.5, face = "bold"),
    legend.position = "none"
  )