tema_visual <- theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(
      face = "bold", size = 15
    ),
    plot.subtitle = element_text(
      size = 11, colour = "#555555"
    ),
    plot.caption = element_text(
      size = 9, hjust = 0
    ),
    panel.grid.minor = element_blank(),
    panel.grid.major.x = element_line(
      colour = "#E8E8E8"
    ),
    axis.text = element_text(
      colour = "#333333"
    ),
    legend.position = "none"
  )

Visualisasi Slide 6 : Keterisian Tempat Tidur Rumah Sakit

A. Visualisasi awal

B. Alasan perbaikan

Pada slide 6, persentase keterisian tempat tidur rumah sakit di DKI Jakarta pada empat tanggal digambarkan sebagai diagram lingkaran tiga dimensi. Pemilihan ini tidak sesuai karena nilai-nilai tersebut merupakan pengamatan menurut waktu, bukan bagian dari satu total. Diagram lingkaran dapat menimbulkan kesan bahwa keempat angka harus dibandingkan sebagai komposisi satu keseluruhan.

Efek tiga dimensi berpotensi mengganggu persepsi ukuran. Kombinasi merah, hijau, kuning, dan biru yang sangat mencolok, latar biru yang dominan, serta elemen dekoratif juga membuat pembaca sulit berfokus pada perubahan nilai antarwaktu.

C. Perbaikan yang dilakukan

Diagram lingkaran diganti dengan grafik garis (line chart) untuk menunjukkan urutan dan arah perubahan tingkat keterisian. Penggunaan satu warna biru, titik pengamatan, label angka langsung, latar sederhana, serta sumbu persentase 0–100% memperjelas informasi tanpa mengubah data.

# Data dari label angka pada slide 6
data_rs <- data.frame(
  tanggal = c("29 Januari", "30 Januari", "31 Januari", "1 Februari"),
  persentase = c(54, 57, 57, 60)
)
# Mempertahankan urutan tanggal
data_rs$tanggal <- factor(
  data_rs$tanggal,
  levels = data_rs$tanggal
)
slide6 <- ggplot(data_rs, aes(x = tanggal, y = persentase, group = 1)) +
  geom_line(colour = "#1769AA", linewidth = 1.1) +
  geom_point(colour = "#1769AA", size = 3.5) +
  geom_text(
    aes(label = paste0(persentase, "%")),
    vjust = -1,
    size = 4,
    colour = "#253746"
  ) +
  scale_y_continuous(
    limits = c(0, 100),
    breaks = seq(0, 100, 20),
    labels = function(x) paste0(x, "%")
  ) +
  labs(
    title = "Tingkat Keterisian Tempat Tidur RS Meningkat",
    subtitle = "DKI Jakarta, 29 Januari–1 Februari",
    x = "Tanggal pengamatan",
    y = "Keterisian (%)",
    caption = "Sumber: Dinas Kesehatan DKI Jakarta"
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold"),
    panel.grid.minor = element_blank(),
    panel.grid.major.x = element_blank(),
    plot.caption = element_text(hjust = 0)
  )
slide6

Tingkat keterisian meningkat dari 54% pada 29 Januari menjadi 60% pada 1 Februari, atau naik sebesar 6 poin persentase. Pada 30 dan 31 Januari, nilainya tetap sebesar 57%. Grafik garis membantu menunjukkan perubahan antarwaktu secara lebih jelas daripada diagram lingkaran. Karena hanya mencakup empat tanggal dan tahunnya tidak dicantumkan pada materi, temuan ini tidak cukup untuk menyimpulkan tren jangka panjang.

Visualisasi Slide 7: Sistem Pembayaran

A. Visualisasi awal

B. Alasan perbaikan

Visualisasi sistem pembayaran pada slide 7 menggunakan pie chart untuk menunjukkan proporsi empat metode pembayaran. Pemilihan jenis grafik tersebut tidak salah secara matematis karena empat proporsinya berjumlah 100%. Akan tetapi, diperlukan untuk mencocokkan warna irisan dengan legenda untuk mengidentifikasi kategori. Empat warna dengan nuansa jingga yang relatif dekat, irisan kecil sebesar 2%, latar kuning yang kuat, dan ornamen dekoratif membuat perbandingan kurang efisien.

Narasi pada slide juga menyebut alasan mengapa M-Banking dipilih. Persentase kategori saja tidak membuktikan alasan atau hubungan sebab-akibat tersebut.

C. Perbaikan yang dilakukan

  • Mengubah pie chart menjadi grafik batang horizontal agar persentase dapat dibandingkan berdasarkan panjang pada skala yang sama.
  • Mengurutkan kategori dari proporsi terbesar sampai terkecil.
  • Memberikan warna biru pada kategori dominan (M-Banking), sementara kategori lain menggunakan abu-abu netral.
  • Menempatkan nama metode dan persentase langsung pada batang, serta menghilangkan kebutuhan akan legenda terpisah.
  • Menghapus ornamen dan mempertahankan grid tipis yang membantu pembacaan nilai.
data_bayar <- data.frame(
  metode = c(
    "M-Banking",
    "COD",
    "Lainnya",
    "Paylater/Cicilan"
  ),
  persentase = c(64, 20, 14, 2)
)

# Mengelompokkan warna sorotan
data_bayar$fokus <- ifelse(
  data_bayar$metode == "M-Banking",
  "Sorotan",
  "Netral"
)
# Membuat horizontal bar chart
ggplot(
  data_bayar,
  aes(
    x = persentase,
    y = reorder(metode, persentase),
    fill = fokus
  )
) +
  geom_col(
    width = 0.65
  ) +
  geom_text(
    aes(label = paste0(persentase, "%")),
    hjust = -0.25,
    size = 4,
    fontface = "bold"
  ) +
 scale_fill_manual(
  values = c(
    "Sorotan" = "#1769AA",
    "Netral" = "#B8C5D1"
  )
) +
  scale_x_continuous(
    limits = c(0, 75),
    breaks = seq(0, 70, 10),
    labels = function(x) paste0(x, "%")
  ) +
  labs(
    title = "M-Banking Mendominasi Sistem Pembayaran",
    subtitle = "Persentase berdasarkan metode pembayaran",
    x = "Persentase (%)",
    y = NULL
  ) +
  tema_visual +
  theme(
    panel.grid.major.y = element_blank()
  )

M-Banking memiliki proporsi tertinggi yaitu 64%, diikuti COD sebesar 20%, kategori Lainnya 14%, dan Paylater/Cicilan 2%. Proporsi M-Banking adalah 3,2 kali proporsi COD. Urutan batang dan label langsung membuat dominasi serta perbedaan antarkategori lebih mudah terlihat.

Visualisasi Slide 18: Berat Ekspor Kopi Menurut Negara Tujuan

A. Visualisasi Awal

B. Alasan Perbaikan

Diagram batang sebenarnya tepat untuk membandingkan negara tujuan. Namun, teks keterangan pada slide menyebut nilai ekspor, sementara sumbu grafik berlabel berat bersih (ribu ton). Nilai uang dan berat barang adalah besaran yang berbeda. Nama negara juga cukup rapat.

C. Perbaikan yang Dilakukan

Mempertahankan grafik batang, tetapi mengubahnya menjadi horizontal, mengurutkan nilai, memperjelas nama negara, dan menyamakan istilah judul dengan sumbu menjadi berat bersih ekspor. Data dibawah merupakan data ilustratif, bukan data yang diperoleh dari BPS.

# DATA ILUSTRATIF: bukan angka ekspor kopi asli.
kopi <- data.frame(
  negara = c(
    "Amerika Serikat", "Malaysia", "Jepang",
    "Mesir", "Italia", "Jerman", "Maroko",
    "Georgia", "Singapura", "Inggris"
  ),
  berat_ribu_ton = c(
    52, 37, 30, 29, 28, 13, 11, 10, 8, 7
  )
)

ggplot(
  kopi,
  aes(berat_ribu_ton, reorder(negara, berat_ribu_ton))
) +
  geom_col(
    fill = "#2878B5",
    width = 0.7
  ) +
  geom_text(
    aes(label = berat_ribu_ton),
    hjust = -0.25,
    size = 3.8
  ) +
  scale_x_continuous(
    limits = c(0, 60),
    breaks = seq(0, 60, 10)
  ) +
  labs(
    title = "Berat Bersih Ekspor Kopi Menurut Negara Tujuan",
    subtitle = "Contoh desain dengan data ilustratif",
    x = "Berat Bersih (Ribu Ton)",
    y = NULL
  ) +
  theme_minimal(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold"),
    panel.grid.major.y = element_blank(),
    panel.grid.minor = element_blank()
  )

Dalam contoh ilustratif, batang Amerika Serikat paling panjang. Grafik memungkinkan perbandingan berat ekspor antarnegara secara lebih langsung. Kesimpulan mengenai urutan atau jumlah ekspor sebenarnya tidak dapat diambil dari angka ilustratif ini. Perbaikan terpenting adalah kejelasan satuan yang diukur.

Visualisasi Slide 30: Peta Tematik Kemiskinan

A. Visualisasi Awal

B. Alasan Perbaikan

Jenis peta koroplet sudah tepat untuk memvisualisasikan persentase kemiskinan per provinsi. Namun, warna biru paling muda hampir menyatu dengan latar putih. Legenda kecil membuat rentang nilai sulit dibaca dan warna nilai rendah harus dibedakan dari kondisi data tidak tersedia.

C. Perbaikan yang Dilakukan

Mempertahankan peta provinsi, memakai gradasi biru dengan kontras lebih besar, batas provinsi yang lebih jelas, legenda persentase, dan warna abu-abu khusus untuk nilai hilang. Karena data kemiskinan asli tidak tersedia, persentase dibuat secara ilustratif.

library(geodata)
library(sf)
if (!requireNamespace("geodata", quietly = TRUE) ||
    !requireNamespace("sf", quietly = TRUE)) {
  stop("Untuk slide 30, instal paket 'geodata' dan 'sf' terlebih dahulu.")
}

# Mengambil batas provinsi Indonesia.
# Ini bukan data persentase kemiskinan.
batas <- geodata::gadm(
  country = "IDN",
  level = 1,
  path = "data_peta"
)

peta <- sf::st_as_sf(batas)

# PERSENTASE ILUSTRATIF,
# BUKAN ANGKA KEMISKINAN BPS 2020.
set.seed(30)

peta$kemiskinan_contoh <- round(
  runif(
    nrow(peta),
    min = 5,
    max = 27
  ),
  1
)

if (nrow(peta) >= 2) {
  peta$kemiskinan_contoh[2] <- NA_real_
}

ggplot(peta) +
  geom_sf(
    aes(fill = kemiskinan_contoh),
    colour = "#516271",
    linewidth = 0.15
  ) +
  scale_fill_gradient(
    low = "#DCECF6",
    high = "#085A94",
    limits = c(0, 30),
    breaks = seq(0, 30, 5),
    na.value = "#BDBDBD",
    name = "Kemiskinan (%)"
  ) +
  coord_sf(datum = NA) +
  labs(
    title = "Contoh Perbaikan Peta Kemiskinan per Provinsi",
    caption = paste(
      "Sumber batas wilayah: GADM",
      "Persentase dibuat untuk demonstrasi desain."
    )
  ) +
  theme_void(base_size = 12) +
  theme(
    plot.title = element_text(face = "bold"),
    legend.position = "bottom",
    plot.caption = element_text(hjust = 0)
  )

Pada rancangan ilustratif, gradasi biru yang lebih gelap menandakan persentase lebih tinggi, warna abu-abu menandakan nilai tidak tersedia. Perbaikan warna dan legenda membantu membedakan wilayah. Karena persentase dibuat untuk contoh, peta ini tidak dapat digunakan untuk menentukan provinsi termiskin ataupun kemiskinan Indonesia pada 2020.