👥 Anggota Kelompok

No. Nama Lengkap NIM
1 Husnul Fahri 3337260022
2 Maura Zwietza Tyastara Ednesday 3337260115
3 Azkia Latifa Zahrani 3337260137
4 Asyraf Azka Fakhrurrazi 3337260066


1. Latar Belakang & Deskripsi Data

Sumber Data :

Data yang digunakan dalam analisis ini diperoleh dari Sistem Informasi Pengelolaan Sampah Nasional (SIPSN) yang dikelola oleh Kementerian Lingkungan Hidup dan Kehutanan (KLHK).

Alasan Pemilihan Data :

  1. Isu Lingkungan yang Krusial: Masalah pengelolaan sampah merupakan isu nasional yang mendesak di Indonesia dan berdampak langsung pada lingkungan serta kesehatan masyarakat.

  2. Kelengkapan Variabel: Dataset ini mencakup variabel kategorik (seperti jenis TPA dan wilayah) serta variabel numerik (seperti volume timbulan sampah per hari, presentase sampah terkelola, dan jumlah Bank Sampah) sehingga sangat cocok untuk analisis visualisasi data statistik.



2. Ringkasan Data Pengelolaan Sampah

2.1. Indikator Utama Pengelolaan Sampah Kabupaten/Kota (Tabel)

library(readxl)
library(dplyr)
library(ggplot2)
library(gt)

data_sampah <- read_excel("data_sampah_new.xlsx", skip = 44) %>%
  filter(!is.na(No))

COLOR_PRIMARY       <- "#004b23"
COLOR_SECONDARY     <- "#007200"
COLOR_BG_TABLE      <- "#f7fbf7"
COLOR_BG_STRIPE     <- "#e8f5e9"
COLOR_BORDER_HEADER <- "#38b000"
COLOR_BORDER_BODY   <- "#c8e6c9"
COLOR_HIGHLIGHT_BG  <- "#fff3cd"
COLOR_HIGHLIGHT_TXT <- "#856404"
COLOR_HIGHLIGHT_HDR <- "#d39e00"

tabel_elegan <- data_sampah %>%
  head(10) %>%
  gt() %>%
  tab_header(
    title = md("**LAPORAN PENGELOLAAN SAMPAH KABUPATEN/KOTA (SIPSN KLHK)**"),
    subtitle = "Ringkasan Indikator Utama Pengelolaan Sampah Tingkat Daerah"
  ) %>%
  cols_label(
    No                     = "No.",
    Provinsi               = "Provinsi",
    `Kota/Kabupaten`       = "Kabupaten / Kota",
    `Jenis TPA`            = "Jenis TPA",
    `Nama TPA`             = "Nama TPA",
    `Kelompok`             = "Kelompok",
    `BSU Aktif`            = "BSU Aktif",
    `BSU Tidak Aktif`      = "BSU T.Aktif",
    `Sampah Terkelola BSU` = "Terkelola BSU",
    `BSI Aktif`            = "BSI Aktif",
    `BSI Tidak Aktif`      = "BSI T.Aktif",
    `Sampah Terkelola BSI` = "Terkelola BSI",
    `Status RIPS`          = "Status RIPS",
    `Link RIPS`            = "Link RIPS",
    `Verifikasi Lapangan`  = "Verifikasi",
    `Nilai Kinerja PS`     = "Kinerja PS",
    `Progress SA`          = "Progress SA",
    `Timbulan (tpd)`       = "Timbulan (Ton/Hari)",
    `% S. Terkelola`       = "% Terkelola",
    `% S. Belum Terkelola` = "% Belum Terkelola"
  ) %>%
  cols_align(align = "center", columns = everything()) %>%
  cols_align(align = "left", columns = c(Provinsi, `Kota/Kabupaten`, `Nama TPA`)) %>%
  fmt_number(columns = `Timbulan (tpd)`, decimals = 2) %>%
  tab_options(
    heading.background.color       = COLOR_PRIMARY,
    column_labels.background.color = COLOR_SECONDARY,
    column_labels.font.weight      = "bold",
    table.background.color         = COLOR_BG_TABLE,
    data_row.padding               = px(9),
    table.border.top.color         = COLOR_PRIMARY,
    table.border.bottom.color      = COLOR_PRIMARY,
    container.overflow.x           = TRUE
  ) %>%
  opt_row_striping() %>%
  tab_style(
    style = cell_fill(color = COLOR_BG_STRIPE),
    locations = cells_body(rows = seq(1, 10, 2))
  ) %>%
  tab_style(
    style = list(
      cell_fill(color = COLOR_HIGHLIGHT_BG),
      cell_text(weight = "bold", color = COLOR_HIGHLIGHT_TXT)
    ),
    locations = cells_body(columns = `Timbulan (tpd)`)
  ) %>%
  tab_style(
    style = list(
      cell_fill(color = COLOR_HIGHLIGHT_HDR),
      cell_text(color = "white")
    ),
    locations = cells_column_labels(columns = `Timbulan (tpd)`)
  ) %>%
  tab_style(
    style = list(
      cell_text(v_align = "middle", color = "white"),
      cell_borders(sides = c("left", "right"), color = COLOR_BORDER_HEADER, weight = px(1))
    ),
    locations = cells_column_labels()
  ) %>%
  tab_style(
    style = cell_borders(sides = "all", color = COLOR_BORDER_BODY, weight = px(0.5)),
    locations = cells_body()
  ) %>%
  tab_footnote(
    footnote = "BSU: Bank Sampah Unit | BSI: Bank Sampah Induk | tpd: Ton Per Hari",
    locations = cells_column_labels(columns = c(`BSU Aktif`, `BSI Aktif`, `Timbulan (tpd)`))
  )

tabel_elegan
LAPORAN PENGELOLAAN SAMPAH KABUPATEN/KOTA (SIPSN KLHK)
Ringkasan Indikator Utama Pengelolaan Sampah Tingkat Daerah
No. Provinsi Kabupaten / Kota Jenis TPA Nama TPA Kelompok BSU Aktif1 BSU T.Aktif Terkelola BSU BSI Aktif1 BSI T.Aktif Terkelola BSI Status RIPS Link RIPS Verifikasi Kinerja PS Progress SA Timbulan (Ton/Hari)1 % Terkelola % Belum Terkelola
1 Jawa Barat Kabupaten Bogor Open Dumping - 343 TPA (353 Kota/Kab) 380 0 190,00 6 0 30,00 Ada (Draft) tapi Belum Disahkan https://drive.google.com/file/d/15mAtMwne_2kF7oLP4ZS-sBH7ns3Eygor/view?usp=share_link Sudah - 54.15 2.78 22,10 77,90
2 Banten Kabupaten Tangerang Open Dumping - 343 TPA (353 Kota/Kab) 123 29 1,70 1 0 108,00 Ada tapi Belum Disahkan - Sudah - 66.2 2.66 4,38 95,62
3 DKI Jakarta Kota Jakarta Timur Open Dumping - Diluar 343 TPA (171 Kota/Kab) 333 0 5,55 1 0 0,08 Ada dan Sudah Disahkan https://drive.google.com/file/d/11Yiz2oo4zKm837PsN0-43C1oP_6ENsq_/view?usp=drive_link Sudah - - 2.46 16,28 83,72
4 Jawa Barat Kabupaten Bekasi Open Dumping - 343 TPA (353 Kota/Kab) 257 225 25,70 0 0 0,00 Ada dan Sudah Disahkan - Sudah - 43.85 2.40 2,58 97,42
5 DKI Jakarta Kota Jakarta Selatan Open Dumping - Diluar 343 TPA (171 Kota/Kab) 495 0 10,57 1 0 0,62 Ada dan Sudah Disahkan https://drive.google.com/file/d/11Yiz2oo4zKm837PsN0-43C1oP_6ENsq_/view?usp=drive_link Sudah - - 2.00 19,97 80,03
6 DKI Jakarta Kota Jakarta Barat Open Dumping - Diluar 343 TPA (171 Kota/Kab) 415 177 9,00 1 0 0,46 Ada dan Sudah Disahkan https://drive.google.com/file/d/11Yiz2oo4zKm837PsN0-43C1oP_6ENsq_/view?usp=drive_link Sudah - - 1.94 25,94 74,06
7 Jawa Timur Kota Surabaya Sanitary Landfill - Diluar 343 TPA (171 Kota/Kab) 660 660 5,24 1 0 1,48 Ada (Draft) tapi Belum Disahkan - Sudah - - 1.81 98,26 1,74
8 Jawa Barat Kota Bekasi Open Dumping - 343 TPA (353 Kota/Kab) 260 153 2,14 1 0 1,74 Tidak Ada - Sudah - 60.8 1.80 5,52 94,48
9 Jawa Barat Kabupaten Bandung Open Dumping - 343 TPA (353 Kota/Kab) 57 295 2,80 2 0 8,10 Ada tapi Belum Disahkan https://drive.google.com/file/d/1FDj2OodBD2optz2DYVr9dYnRD9rcywkR/view?usp=drive_link Sudah - - 1.76 7,77 92,23
10 Sumatera Utara Kota Medan Sanitary Landfill - Diluar 343 TPA (171 Kota/Kab) 12 0 2,27 2 0 1,24 Ada tapi Belum Disahkan - Sudah - - 1.74 71,37 28,63
1 BSU: Bank Sampah Unit | BSI: Bank Sampah Induk | tpd: Ton Per Hari





3. Visualisasi Data Kategorik

3.1. Distribusi Metode Pengelolaan TPA (Bar Chart)

data_tpa <- data_sampah %>%
  filter(!is.na(`Jenis TPA`)) %>%
  count(`Jenis TPA`, name = "Frekuensi") %>%
  arrange(desc(Frekuensi))

ggplot(data_tpa, aes(x = reorder(`Jenis TPA`, -Frekuensi), y = Frekuensi, fill = `Jenis TPA`)) +
  geom_col(color = "black", width = 0.85) +
  geom_text(aes(label = scales::comma(Frekuensi, big.mark = ".")), 
            vjust = -0.5, fontface = "bold", size = 3.8) +
  scale_fill_manual(
    values = c(
      "Sanitary Landfill" = "#72b095",
      "Controlled Landfill" = "#f2a07e",
      "Open Dumping" = "#8fa3cb",
      "Lainnya" = "#d3a2c7"
    ),
    name = "Kategori TPA"
  ) +
  scale_y_continuous(
    labels = function(x) format(x, big.mark = ".", scientific = FALSE),
    expand = expansion(mult = c(0, 0.15))
  ) +
  labs(
    
    x = "Jenis TPA",
    y = "Jumlah Kabupaten / Kota"
  ) +
  theme_minimal(base_family = "sans") +
  theme(
    plot.title = element_text(face = "bold", size = 14, hjust = 0.5, margin = margin(b = 15)),
    axis.title.x = element_text(face = "bold", size = 10, margin = margin(t = 10)),
    axis.title.y = element_text(face = "bold", size = 10, margin = margin(r = 10)),
    axis.text = element_text(size = 9.5, color = "#333333"),
    panel.grid.major.x = element_blank(),
    panel.grid.minor = element_blank(),
    panel.grid.major.y = element_line(color = "#e5e5e5", size = 0.5),
    legend.position = "right",
    legend.title = element_text(face = "bold", size = 10),
    legend.key.size = unit(0.6, "cm"),
    legend.background = element_rect(fill = "transparent", color = NA)
  )

Interpretasi: Sebagian besar TPA di daerah masih menggunakan metode pengelolaan Open Dumping dan Controlled Landfill, sementara penerapan metode modern berbasis lingkungan seperti Sanitary Landfill masih sangat terbatas.





4. Visualisasi Data Numerik

4.1. Distribusi Timbulan Sampah Harian Kabupaten/Kota (Histogram)

library(ggplot2)
library(scales)
library(dplyr)

data_numerik <- data_sampah %>%
  filter(!is.na(`Timbulan (tpd)`), `Timbulan (tpd)` > 0)

ggplot(data = data_numerik, mapping = aes(x = `Timbulan (tpd)`)) +
  geom_histogram(bins = 30, color = "white", fill = "#007200") +
  scale_x_continuous(labels = comma) +
  scale_y_continuous(labels = comma) +
  labs(
    x = "Timbulan Sampah (Ton/Hari)",
    y = "Frekuensi"
  )

Interpretasi: Sebagian besar Kabupaten/Kota di Indonesia menghasilkan timbulan sampah harian pada skala menengah, yaitu berkisar antara 10 hingga 100 Ton/Hari. Sementara itu, hanya sebagian kecil wilayah (seperti kota besar dan metropolitan) yang memiliki volume timbulan sampah sangat tinggi hingga melebihi 1.000 Ton/Hari.


4.2. Sebaran Persentase Sampah Terkelola Kabupaten/Kota (Boxplot)

library(ggplot2)
library(dplyr)

data_terkelola <- data_sampah %>%
  filter(!is.na(`% S. Terkelola`), !is.na(`Jenis TPA`)) %>%
  mutate(`% S. Terkelola` = as.numeric(gsub(",", ".", `% S. Terkelola`))) %>%
  filter(`% S. Terkelola` >= 0, `% S. Terkelola` <= 100)

jumlah_kategori_tpa <- length(unique(data_terkelola$`Jenis TPA`))
palet_tpa <- colorRampPalette(c("#004b23", "#007200", "#38b000", "#70e000", "#aacc00"))(jumlah_kategori_tpa)

ggplot(data = data_terkelola, mapping = aes(x = `% S. Terkelola`, y = `Jenis TPA`, fill = `Jenis TPA`)) +
  geom_boxplot() +
  scale_fill_manual(values = palet_tpa) +
  labs(
    x = "Persentase Sampah Terkelola (%)",
    y = "Jenis TPA"
  ) +
  theme(legend.position = "none")

Interpretasi: Berdasarkan visualisasi multiple boxplot, terlihat bahwa persentase sampah terkelola memiliki variasi sebaran di setiap jenis TPA. Wilayah dengan sistem Sanitary Landfill dan Controlled Landfill menunjukkan rentang capaian pengelolaan yang cenderung lebih tinggi dibandingkan dengan TPA yang masih menerapkan metode Open Dumping atau jenis lainnya.



5. Kesimpulan

Dari hasil analisis data, dapat disimpulkan bahwa:

Daerah yang sudah memakai TPA modern terbukti jauh lebih maksimal mengolah sampahnya dibanding daerah yang masih menggunakan penampungan terbuka atau tidak memiliki TPA. Kebersihan dan keberhasilan pengolahan sampah antar-daerah juga masih belum seimbang dikarenakan perbedaan ketersediaan fasilitas penampungan sampah di masing-masing wilayah.