Tugas Mandiri 1 - Perbaikan Visualisasi Data Besar

Pendahuluan

Pada tugas ini dilakukan peninjauan terhadap beberapa visualisasi pada materi Kuliah 9: Unsur dan Jenis Visualisasi. Tiga visualisasi dipilih karena memiliki masalah yang berbeda, yaitu pemilihan jenis grafik yang kurang sesuai, terlalu banyak elemen visual yang tidak mendukung pesan utama, serta masalah keterbacaan ketika jumlah kategori cukup banyak.

Perbaikan difokuskan pada prinsip signal over noise, kemudahan membandingkan nilai, penggunaan posisi sebagai encoding utama, dan penyesuaian jenis grafik dengan karakteristik data. Nilai yang digunakan pada visualisasi berikut ditranskripsi dari materi perkuliahan yang diberikan.

1. Slide 6 — Tingkat Keterisian Tempat Tidur RS

Visualisasi asli

Visualisasi asli slide 6
Visualisasi asli pada slide 6.

Alasan perbaikan

Visualisasi pada slide 6 menggunakan pie chart untuk menunjukkan tingkat keterisian tempat tidur rumah sakit pada empat tanggal yang berurutan. Penggunaan pie chart kurang sesuai karena empat nilai tersebut bukan bagian dari satu keseluruhan yang harus berjumlah 100 persen. Data sebenarnya merupakan deret waktu, sehingga informasi yang paling penting adalah perubahan nilai dari tanggal ke tanggal.

Selain itu, efek tiga dimensi, latar belakang yang sangat dominan, banyak warna, serta elemen dekoratif membuat perhatian pembaca terpecah. Akibatnya, pola perubahan 54% menjadi 60% tidak langsung terlihat.

Perbaikan yang dilakukan

Pie chart diubah menjadi line chart. Posisi pada sumbu horizontal digunakan untuk menunjukkan urutan waktu, sedangkan posisi vertikal menunjukkan tingkat keterisian. Setiap titik diberi label nilai secara langsung sehingga pembaca tidak perlu mencocokkan warna dengan legenda. Elemen dekoratif yang tidak menyampaikan data dihilangkan.

occupancy <- data.frame(
  tanggal = as.Date(c("2021-01-29", "2021-01-30", "2021-01-31", "2021-02-01")),
  persen = c(54, 57, 57, 60)
)

ggplot(occupancy, aes(x = tanggal, y = persen)) +
  geom_line(linewidth = 1.1, color = "#2C6E91") +
  geom_point(size = 3.2, color = "#2C6E91") +
  geom_text(
    aes(label = paste0(persen, "%")),
    vjust = -1,
    fontface = "bold",
    size = 4
  ) +
  scale_x_date(
    breaks = occupancy$tanggal,
    date_labels = "%d %b"
  ) +
  scale_y_continuous(
    limits = c(0, 100),
    breaks = seq(0, 100, 20),
    labels = function(x) paste0(x, "%")
  ) +
  labs(
    title = "Tingkat Keterisian Tempat Tidur RS di DKI Jakarta",
    subtitle = "29 Januari–1 Februari 2021",
    x = NULL,
    y = "Tingkat keterisian",
    caption = "Sumber: Dinas Kesehatan DKI Jakarta (sebagaimana ditampilkan pada materi kuliah)"
  )

Interpretasi

Tingkat keterisian tempat tidur rumah sakit meningkat dari 54% pada 29 Januari menjadi 57% pada 30 Januari, kemudian tetap 57% pada 31 Januari, dan kembali meningkat menjadi 60% pada 1 Februari. Dengan line chart, pembaca dapat segera melihat bahwa tren selama periode tersebut cenderung meningkat, dengan kenaikan total sebesar 6 poin persentase.

2. Slide 7 — Sistem Pembayaran

Visualisasi asli

Visualisasi asli slide 7
Visualisasi asli pada slide 7.

Alasan perbaikan

Visualisasi pada slide 7 menampilkan proporsi metode pembayaran menggunakan pie chart dengan banyak elemen dekoratif di sekelilingnya. Walaupun pie chart dapat digunakan untuk komposisi, perbandingan antarbagian menjadi lebih sulit karena pembaca harus membandingkan besar sudut dan luas irisan.

Elemen dekoratif, warna latar yang kuat, legenda terpisah, dan teks yang cukup panjang juga menghasilkan visual noise. Pesan utama bahwa M-Banking merupakan metode pembayaran yang paling dominan menjadi kurang cepat ditangkap.

Perbaikan yang dilakukan

Visualisasi diubah menjadi horizontal bar chart yang diurutkan berdasarkan persentase. Panjang batang menggunakan skala yang sama sehingga perbedaan antar metode pembayaran lebih mudah dibandingkan. Nilai persentase diletakkan langsung di ujung batang dan elemen dekoratif dihilangkan.

payment <- data.frame(
  metode = c("COD", "M-Banking", "Paylater/Cicilan", "Lainnya"),
  persen = c(20, 64, 2, 14)
) %>%
  arrange(persen) %>%
  mutate(metode = factor(metode, levels = metode))

ggplot(payment, aes(x = metode, y = persen)) +
  geom_col(width = 0.65, fill = "#356D86") +
  geom_text(
    aes(label = paste0(persen, "%")),
    hjust = -0.15,
    fontface = "bold",
    size = 4
  ) +
  coord_flip() +
  scale_y_continuous(
    limits = c(0, 72),
    breaks = seq(0, 70, 10),
    labels = function(x) paste0(x, "%"),
    expand = expansion(mult = c(0, 0.02))
  ) +
  labs(
    title = "Pilihan Sistem Pembayaran",
    subtitle = "M-Banking menjadi metode yang paling dominan",
    x = NULL,
    y = "Persentase responden",
    caption = "Sumber: nilai pada visualisasi slide 7 materi kuliah"
  ) +
  theme(panel.grid.major.y = element_blank())

Interpretasi

M-Banking merupakan metode pembayaran yang paling banyak digunakan dengan proporsi 64%. Nilainya jauh lebih tinggi dibandingkan COD (20%), lainnya (14%), dan Paylater/Cicilan (2%). Bar chart membuat selisih tersebut terlihat langsung tanpa mengandalkan perbandingan sudut seperti pada pie chart.

3. Slide 8 — Penggunaan Komputer Menurut Provinsi

Visualisasi asli

Visualisasi asli slide 8
Visualisasi asli pada slide 8.

Alasan perbaikan

Slide 8 menampilkan persentase masyarakat yang menggunakan komputer pada 34 provinsi. Pada diagram batang vertikal, nama provinsi harus diputar dan menjadi sulit dibaca karena jumlah kategori sangat banyak. Pada diagram horizontal, keterbacaan label memang lebih baik, tetapi urutan provinsi masih mengikuti urutan geografis/data awal sehingga pembaca sulit menemukan provinsi dengan nilai tertinggi dan terendah.

Selain itu, menampilkan dua grafik dengan data yang sama menambah ruang visual tanpa menambah informasi baru. Untuk data dengan banyak kategori, urutan nilai dan fokus visual perlu dibuat lebih jelas.

Perbaikan yang dilakukan

Visualisasi diubah menjadi sorted dot plot. Provinsi diurutkan berdasarkan nilai sehingga pola tinggi-rendah dapat dipindai dengan cepat. Dot plot dipilih karena menggunakan lebih sedikit tinta dibandingkan bar chart untuk 34 kategori. Tiga provinsi tertinggi dan tiga terendah diberi warna berbeda untuk membantu pembaca menemukan ekstrem, sedangkan kategori lain dibuat netral.

computer <- data.frame(
  provinsi = c(
    "ACEH", "SUMATERA UTARA", "SUMATERA BARAT", "RIAU", "JAMBI",
    "SUMATERA SELATAN", "BENGKULU", "LAMPUNG", "KEP. BANGKA BELITUNG",
    "KEP. RIAU", "DKI JAKARTA", "JAWA BARAT", "JAWA TENGAH",
    "DI YOGYAKARTA", "JAWA TIMUR", "BANTEN", "BALI",
    "NUSA TENGGARA BARAT", "NUSA TENGGARA TIMUR", "KALIMANTAN BARAT",
    "KALIMANTAN TENGAH", "KALIMANTAN SELATAN", "KALIMANTAN TIMUR",
    "KALIMANTAN UTARA", "SULAWESI UTARA", "SULAWESI TENGAH",
    "SULAWESI SELATAN", "SULAWESI TENGGARA", "GORONTALO",
    "SULAWESI BARAT", "MALUKU", "MALUKU UTARA", "PAPUA BARAT", "PAPUA"
  ),
  persen = c(
    11.64, 14.17, 17.00, 14.50, 12.20, 11.10, 14.89, 9.94, 12.01,
    20.72, 23.51, 14.52, 13.17, 23.35, 14.22, 15.27, 18.62, 12.03,
    11.39, 10.45, 13.58, 17.35, 19.42, 18.02, 14.27, 13.61, 15.41,
    15.80, 16.46, 12.30, 13.78, 11.26, 14.04, 8.20
  )
) %>%
  arrange(persen) %>%
  mutate(
    provinsi = factor(provinsi, levels = provinsi),
    kelompok = case_when(
      row_number() <= 3 ~ "3 terendah",
      row_number() > n() - 3 ~ "3 tertinggi",
      TRUE ~ "Provinsi lain"
    )
  )

ggplot(computer, aes(x = persen, y = provinsi)) +
  geom_segment(
    aes(x = 0, xend = persen, yend = provinsi),
    color = "grey82",
    linewidth = 0.45
  ) +
  geom_point(aes(color = kelompok), size = 3) +
  scale_color_manual(
    values = c(
      "3 terendah" = "#C65D3A",
      "Provinsi lain" = "#73808C",
      "3 tertinggi" = "#247BA0"
    )
  ) +
  scale_x_continuous(
    limits = c(0, 26),
    breaks = seq(0, 25, 5),
    labels = function(x) paste0(x, "%")
  ) +
  labs(
    title = "Persentase Masyarakat yang Menggunakan Komputer menurut Provinsi",
    subtitle = "Provinsi diurutkan berdasarkan persentase, 2019",
    x = "Persentase",
    y = NULL,
    color = NULL,
    caption = "Sumber: BPS, situasi tahun 2019 (data pada grafik di materi kuliah)"
  ) +
  theme(
    legend.position = "top",
    panel.grid.major.y = element_blank(),
    axis.text.y = element_text(size = 9)
  )

Interpretasi

Terdapat variasi yang cukup lebar antarprovinsi. DKI Jakarta (23,51%) dan DI Yogyakarta (23,35%) memiliki persentase penggunaan komputer tertinggi, diikuti Kepulauan Riau (20,72%). Di sisi lain, persentase terendah terdapat di Papua (8,20%), Lampung (9,94%), dan Kalimantan Barat (10,45%).

Penyusunan provinsi berdasarkan nilai membuat pola ketimpangan antarprovinsi lebih mudah terlihat dibandingkan urutan kategori pada grafik asli. Nilai rata-rata dari 34 provinsi pada data ini sekitar 14,65%, sehingga provinsi-provinsi di bagian atas grafik berada cukup jauh di atas rata-rata tersebut.

Kesimpulan

Ketiga perbaikan menunjukkan bahwa efektivitas visualisasi tidak hanya ditentukan oleh tampilan yang menarik, tetapi terutama oleh kesesuaian antara tipe data, jenis grafik, dan pesan yang ingin disampaikan.

  • Data deret waktu pada slide 6 lebih tepat menggunakan line chart daripada pie chart.
  • Data komposisi pada slide 7 lebih mudah dibandingkan menggunakan bar chart yang sederhana dan terurut.
  • Data dengan banyak kategori pada slide 8 menjadi lebih mudah dibaca setelah diurutkan dan ditampilkan menggunakan dot plot horizontal.

Secara umum, pengurangan elemen dekoratif, penggunaan label langsung, pengurutan kategori, dan pemilihan encoding berbasis posisi membuat informasi utama lebih cepat dipahami serta mengurangi beban kognitif pembaca.