Pendahuluan

Tuberkulosis (TBC) merupakan salah satu penyakit menular yang masih menjadi perhatian dalam sektor kesehatan masyarakat di Indonesia. Upaya pengendalian penyakit ini dilakukan melalui berbagai program, di antaranya peningkatan penemuan kasus serta keberhasilan pengobatan bagi penderita TBC. Kedua indikator tersebut penting untuk mengevaluasi sejauh mana program penanggulangan TBC berjalan secara efektif di berbagai wilayah.

Analisis data kesehatan dapat memberikan gambaran mengenai pola distribusi serta variasi indikator kesehatan antar provinsi. Salah satu pendekatan yang dapat digunakan adalah Exploratory Data Analysis (EDA), yaitu proses awal dalam analisis data yang bertujuan untuk memahami karakteristik data melalui teknik statistik deskriptif dan visualisasi data. Melalui pendekatan ini, pola distribusi data, sebaran nilai, serta hubungan antar variabel dapat diamati secara lebih jelas.

Dalam laporan ini dilakukan analisis eksploratif terhadap data indikator TBC di Indonesia, khususnya angka penemuan kasus TBC dan angka keberhasilan pengobatan pada tingkat provinsi. Berbagai teknik visualisasi data digunakan untuk menggambarkan karakteristik data, termasuk visualisasi numerik, visualisasi kategorik, serta visualisasi spasial untuk melihat distribusi indikator tersebut secara geografis di Indonesia.

Sumber Data

Data yang digunakan dalam analisis ini merupakan data kasus penyakit menurut provinsi dan jenis penyakit di Indonesia tahun 2025 yang diperoleh dari Badan Pusat Statistik dan diakses pada 5 Maret 2026 melalui laman resmi BPS. Dataset tersebut mencakup beberapa indikator penyakit menular di Indonesia dengan total 38 observasi yang mewakili seluruh provinsi.

Dalam analisis ini hanya digunakan tiga variabel utama, yaitu provinsi, angka penemuan kasus TBC, dan angka keberhasilan pengobatan TBC. Pemilihan variabel tersebut bertujuan untuk melihat gambaran distribusi serta perbandingan indikator penemuan dan keberhasilan pengobatan TBC antar provinsi di Indonesia.

Sumber data: Badan Pusat Statistik Indonesia. (2026). Kasus Penyakit Menurut Provinsi dan Jenis Penyakit, 2025. tersedia pada Website Badan Pusat Statistik.

Persiapan Data

# Persiapan Data
# ===============================

# load package yang diperlukan
library(readxl)
library(ggplot2)
library(tidyr)
theme_set(theme_minimal())
library(dplyr)
library(sf)
library(terra)
library(geodata)

# -------------------------------
# Import data dari file Excel
# -------------------------------
datapm <- read_excel("D:/STATISTIKA UNTIRTA/Eksplorasi dan Visualisasi Data/Kasus Penyakit Menurut Provinsi dan Jenis Penyakit, 2025.xlsx")

# melihat beberapa baris awal data
head(datapm)
## # A tibble: 6 × 3
##   Provinsi         Jumlah Kasus Penyakit - Angka Penemu…¹ Jumlah Kasus Penyaki…²
##   <chr>                                             <dbl>                  <dbl>
## 1 Aceh                                                 68                     81
## 2 Sumatera Utara                                       74                     79
## 3 Sumatera Barat                                       62                     86
## 4 Riau                                                 72                     86
## 5 Jambi                                                65                     86
## 6 Sumatera Selatan                                     63                     89
## # ℹ abbreviated names: ¹​`Jumlah Kasus Penyakit - Angka Penemuan TBC`,
## #   ²​`Jumlah Kasus Penyakit - Angka Keberhasilan Pengobatan TBC`
# -------------------------------
# Mengganti nama variabel agar lebih sederhana
# -------------------------------
names(datapm) <- c(
  "Provinsi",
  "TBC_Penemuan",
  "TBC_Pengobatan"
)

# mengecek kembali nama variabel
names(datapm)
## [1] "Provinsi"       "TBC_Penemuan"   "TBC_Pengobatan"
# -------------------------------
# Menghapus baris agregat "Indonesia"
# karena analisis hanya pada tingkat provinsi
# -------------------------------
datapm <- datapm %>%
  filter(Provinsi != "Indonesia")

Visualisasi Data Numerik

Scatter Plot

scatter plot digunakan sebagai salah satu bentuk visualisasi data yang bertujuan untuk menampilkan hubungan antara jumlah kasus penyakit TBC yang ditemukan dengan angka keberhasilan pengobatan TBC antar provinsi di Indonesia. Melalui scatter plot ini, setiap titik pada grafik merepresentasikan satu provinsi sehingga pembaca dapat melihat bagaimana pola hubungan antara tingkat penemuan kasus TBC dan keberhasilan pengobatan yang dilakukan di masing-masing wilayah.

Selain itu, scatter plot juga membantu dalam mengidentifikasi apakah terdapat kecenderungan hubungan antara kedua variabel tersebut, misalnya apakah provinsi dengan angka penemuan kasus TBC yang tinggi juga memiliki tingkat keberhasilan pengobatan yang tinggi atau sebaliknya.

# Scatter Plot Angka Penemuan TBC vs Keberhasilan Pengobatan TBC
plot(
  datapm$TBC_Penemuan,
  datapm$TBC_Pengobatan,
  main = "Penemuan TBC vs Keberhasilan Pengobatan TBC",
  xlab = "Angka Penemuan TBC",
  ylab = "Angka Keberhasilan Pengobatan TBC",
  pch = 19,
  col = "blue"
)

# menambahkan garis regresi
abline(lm(TBC_Pengobatan ~ TBC_Penemuan, data = datapm),
       col = "red",
       lwd = 2)

Interpretasi

Scatter plot tersebut menunjukkan hubungan antara angka penemuan kasus TBC dan angka keberhasilan pengobatan TBC di berbagai provinsi di Indonesia. Setiap titik merepresentasikan satu provinsi dengan nilai penemuan kasus TBC pada sumbu X dan tingkat keberhasilan pengobatan pada sumbu Y. Dari grafik tersebut terlihat bahwa sebagian besar provinsi memiliki tingkat keberhasilan pengobatan yang cukup tinggi meskipun angka penemuan kasus TBC berbeda-beda. Pola sebaran titik tidak menunjukkan hubungan yang kuat antara kedua variabel, sehingga dapat disimpulkan bahwa tinggi rendahnya penemuan kasus TBC tidak selalu diikuti oleh tingkat keberhasilan pengobatan yang sama.

QQ Plot

QQ plot digunakan untuk membandingkan distribusi data dengan distribusi normal. Melalui grafik ini, pembaca dapat melihat apakah data cenderung mengikuti pola distribusi normal atau tidak. Jika titik-titik pada grafik mengikuti garis referensi, maka data dapat dikatakan mendekati distribusi normal, sehingga visualisasi ini membantu dalam mengevaluasi karakteristik distribusi data sebelum dilakukan analisis lebih lanjut.

# QQ Plot Angka Penemuan Kasus TBC

qqnorm(datapm$TBC_Penemuan ,
       main = "QQ Plot Angka Penemuan Kasus TBC")

qqline(datapm$TBC_Penemuan,
       col = "red",
       lwd = 2)

Interpretasi

QQ plot pada variabel TBC_Penemuan (Angka Penemuan Kasus) menunjukkan bahwa sebagian besar titik data berada di sekitar garis referensi, terutama pada bagian tengah distribusi. Hal ini mengindikasikan bahwa distribusi data angka penemuan kasus TBC antar provinsi cenderung mendekati distribusi normal. Namun, pada bagian ekor bawah dan ekor atas terlihat beberapa titik yang sedikit menyimpang dari garis referensi. Penyimpangan tersebut menunjukkan adanya beberapa provinsi dengan nilai penemuan kasus yang jauh lebih rendah atau lebih tinggi dibandingkan provinsi lainnya, sehingga variasi data penemuan kasus TBC antar provinsi cukup terlihat.

# QQ Plot Angka Keberhasilan Pengobatan TBC

qqnorm(datapm$TBC_Pengobatan,
       main = "QQ Plot Angka Keberhasilan Pengobatan TBC")

qqline(datapm$TBC_Pengobatan,
       col = "green3",
       lwd = 2)

Interpretasi

QQ plot pada variabel TBC_Pengobatan (Angka Keberhasilan Pengobatan) juga menunjukkan bahwa sebagian besar titik mengikuti garis referensi dengan cukup baik. Titik-titik pada bagian tengah distribusi berada sangat dekat dengan garis, yang menandakan bahwa distribusi data keberhasilan pengobatan TBC relatif mendekati normal. Meskipun terdapat sedikit penyimpangan pada bagian ekor distribusi, secara keseluruhan pola penyimpangan tersebut tidak terlalu besar.

Jika dibandingkan dengan variabel TBC_Penemuan, data TBC_Pengobatan terlihat lebih mengikuti garis referensi sehingga distribusinya cenderung lebih stabil dan lebih mendekati distribusi normal dibandingkan data penemuan kasus TBC.

Histogram

Histogram digunakan sebagai salah satu bentuk visualisasi data yang bertujuan untuk menampilkan distribusi frekuensi dari suatu variabel numerik. Melalui grafik ini, pembaca dapat melihat bagaimana penyebaran nilai data, apakah cenderung merata, berkumpul pada nilai tertentu, atau memiliki pola distribusi tertentu seperti mendekati distribusi normal. Visualisasi ini membantu memahami pola sebaran data secara keseluruhan sehingga karakteristik data dapat terlihat lebih jelas.

# Histogram Angka Penemuan TBC
ggplot(datapm, aes(x = TBC_Penemuan)) +
  geom_histogram(bins = 10, fill = "skyblue", color = "black") +
  labs(
    title = "Histogram Angka Penemuan TBC di Indonesia",
    x = "Angka Penemuan TBC",
    y = "Frekuensi"
  ) +
  theme_minimal()

Interpretasi

Distribusi data Angka Penemuan Kasus bersifat variatif dengan rentang nilai yang cukup lebar, yaitu sekitar 40 hingga lebih dari 100. Frekuensi tertinggi terlihat pada kisaran 70–80. Sebaran yang relatif luas ini menunjukkan adanya perbedaan capaian penemuan kasus antar provinsi, sehingga dapat mengindikasikan bahwa kemampuan deteksi kasus TBC di berbagai wilayah masih belum merata.

# Histogram Angka Keberhasilan Pengobatan TBC
ggplot(datapm, aes(x = TBC_Pengobatan)) +
  geom_histogram(bins = 10, fill = "lightgreen", color = "black") +
  labs(
    title = "Histogram Angka Keberhasilan Pengobatan TBC",
    x = "Angka Keberhasilan Pengobatan TBC",
    y = "Frekuensi"
  ) +
  theme_minimal()

Interpretasi

Distribusi data Angka Keberhasilan Pengobatan cenderung mengerucut dengan kemiringan ke kiri (negatively skewed), dengan konsentrasi terbesar berada pada kisaran 80–85. Hal ini menunjukkan bahwa sebagian besar provinsi memiliki tingkat keberhasilan pengobatan yang relatif tinggi dan cukup konsisten dibandingkan dengan angka penemuan kasus.

Visualisasi ini menunjukkan bahwa tingkat keberhasilan pengobatan TBC di Indonesia relatif lebih stabil di sebagian besar provinsi. Sebaliknya, angka penemuan kasus masih menunjukkan variasi yang lebih besar antar wilayah. Hal ini mengindikasikan bahwa tantangan yang lebih signifikan kemungkinan berada pada tahap penemuan atau deteksi kasus, sementara dari sisi pengobatan, sebagian besar provinsi telah mencapai tingkat keberhasilan yang cukup baik.

Density Plot

Density plot digunakan sebagai salah satu bentuk visualisasi data yang bertujuan untuk menampilkan distribusi angka penemuan kasus TBC maupun angka keberhasilan pengobatan TBC di seluruh provinsi di Indonesia. Melalui density plot ini, pembaca dapat melihat bagaimana data tersebar, misalnya provinsi mana yang memiliki angka penemuan kasus TBC tinggi atau rendah, serta provinsi mana yang memiliki tingkat keberhasilan pengobatan yang berbeda-beda. Selain itu, density plot juga membantu dalam mengidentifikasi pola distribusi data, apakah sebagian besar provinsi memiliki nilai yang seragam atau tersebar luas. Visualisasi ini menyederhanakan data numerik yang banyak sehingga pembaca dapat dengan mudah memahami pola distribusi kasus TBC dan keberhasilan pengobatan di berbagai provinsi, sekaligus menjadi dasar untuk melakukan analisis lebih lanjut terkait faktor-faktor yang memengaruhi penyebaran dan pengobatan penyakit TBC.

#Density plot untuk angka penemuan TBC
plot(
  density(datapm$TBC_Penemuan, na.rm = TRUE),
  main = "Density Plot Angka Penemuan TBC",
  xlab = "Angka Penemuan TBC",
  ylab = "Density",
  col = "purple",
  lwd = 2
)

#Density plot untuk angka keberhasilan pengobatan TBC
plot(
  density(datapm$TBC_Pengobatan, na.rm = TRUE),
  main = "Density Plot Angka Keberhasilan Pengobatan TBC",
  xlab = "Angka Keberhasilan Pengobatan TBC",
  ylab = "Density",
  col = "pink",
  lwd = 2
)

Interpretasi

Berdasarkan grafik density plot, angka penemuan TBC paling banyak berada pada kisaran 60–80. Hal ini menunjukkan bahwa sebagian besar provinsi memiliki angka penemuan TBC pada nilai tersebut. Nilai yang terlalu rendah maupun terlalu tinggi jumlahnya relatif sedikit sehingga distribusi data cenderung terpusat pada nilai menengah. Sementara itu, angka keberhasilan pengobatan TBC paling banyak berada pada kisaran 80–90. Hal ini menunjukkan bahwa sebagian besar provinsi memiliki tingkat keberhasilan pengobatan yang cukup tinggi.

Boxplot

Boxplot digunakan untuk menggambarkan penyebaran data berdasarkan nilai kuartil, median, serta nilai minimum dan maksimum. Melalui grafik ini, pembaca dapat melihat posisi nilai tengah data serta seberapa besar variasi data yang terjadi. Selain itu, boxplot juga membantu dalam mengidentifikasi adanya nilai pencilan (outlier) yang berbeda jauh dari sebagian besar data.

# ubah data dari wide ke long
data_long <- datapm %>%
  pivot_longer(
    cols = c(TBC_Penemuan, TBC_Pengobatan),
    names_to = "Variabel",
    values_to = "Nilai"
  )

# boxplot
ggplot(data_long, aes(x = Variabel, y = Nilai, fill = Variabel)) +
  geom_boxplot(width = 0.5) +
  labs(
    title = "Angka Penemuan dan Keberhasilan Pengobatan TBC",
    x = "Indikator",
    y = "Nilai"
  ) +
  theme_minimal() +
  theme(legend.position = "none")

Interpretasi

Boxplot menunjukkan distribusi nilai angka penemuan kasus TBC (TBC_Penemuan) di tingkat provinsi yang memiliki variasi cukup besar. Nilai median berada sekitar 70, yang menunjukkan bahwa setengah dari provinsi memiliki angka penemuan kasus TBC di sekitar nilai tersebut. Rentang antar kuartil (IQR) terlihat cukup lebar, yaitu sekitar 60 hingga 80, yang menandakan adanya perbedaan capaian penemuan kasus antar provinsi. Selain itu, terdapat outlier dengan nilai di atas 100 yang menunjukkan adanya provinsi dengan angka penemuan kasus yang jauh lebih tinggi dibandingkan provinsi lainnya.

Sementara itu, pada indikator angka keberhasilan pengobatan TBC (TBC_Pengobatan), median berada pada kisaran 82–83 yang menunjukkan bahwa sebagian besar provinsi memiliki tingkat keberhasilan pengobatan yang relatif tinggi. Rentang antar kuartil terlihat lebih sempit dibandingkan indikator penemuan kasus, yaitu sekitar 78 hingga 86, yang menandakan variasi antar provinsi lebih kecil. Secara keseluruhan, hal ini menunjukkan bahwa distribusi angka keberhasilan pengobatan TBC lebih terkonsentrasi dan stabil, sedangkan angka penemuan kasus TBC memiliki penyebaran data yang lebih besar sehingga perbedaan antar provinsi lebih terlihat pada tahap penemuan kasus.

Violin Plot

Violin plot digunakan sebagai salah satu bentuk visualisasi data yang bertujuan untuk menampilkan distribusi dan kepadatan data dari suatu variabel numerik. Grafik ini merupakan gabungan antara density plot dan boxplot, sehingga dapat menunjukkan pola penyebaran data sekaligus informasi median dan kuartil. Pada penelitian ini, violin plot digunakan untuk menggambarkan distribusi angka penemuan kasus TBC (TBC_Penemuan) dan angka keberhasilan pengobatan TBC (TBC_Pengobatan) di seluruh provinsi di Indonesia. Visualisasi ini membantu melihat bagaimana data tersebar serta membandingkan pola distribusi kedua variabel tersebut. Dengan demikian, perbedaan karakteristik distribusi antara penemuan kasus dan keberhasilan pengobatan dapat terlihat dengan lebih jelas.

# Mengubah data ke format long
data_violin <- datapm %>%
  pivot_longer(cols = c(TBC_Penemuan, TBC_Pengobatan),
               names_to = "Variabel",
               values_to = "Nilai")

# Violin plot
ggplot(data_violin, aes(x = Variabel, y = Nilai, fill = Variabel)) +
  geom_violin(alpha = 0.6) +
  geom_boxplot(width = 0.1, fill = "white") +
  scale_fill_manual(values = c("TBC_Penemuan" = "blue",
                               "TBC_Pengobatan" = "green")) +
  labs(title = "Distribusi Angka Penemuan dan Keberhasilan Pengobatan TBC",
       x = "Variabel",
       y = "Nilai") +
  theme_minimal()

Interpretasi

Berdasarkan violin plot, distribusi angka penemuan kasus TBC terlihat memiliki penyebaran yang lebih luas dibandingkan dengan angka keberhasilan pengobatan TBC. Sebagian besar nilai penemuan TBC berada pada kisaran sekitar 60–80, meskipun masih terdapat beberapa provinsi dengan nilai yang lebih rendah maupun lebih tinggi. Sementara itu, distribusi keberhasilan pengobatan TBC terlihat lebih terkonsentrasi pada rentang nilai 80–90, yang menunjukkan bahwa sebagian besar provinsi memiliki tingkat keberhasilan pengobatan yang relatif tinggi. Penyebaran data pada variabel pengobatan juga tampak lebih sempit dibandingkan variabel penemuan kasus. Secara umum, hal ini menunjukkan bahwa variasi antar provinsi lebih terlihat pada penemuan kasus TBC, sedangkan keberhasilan pengobatan TBC cenderung lebih stabil.

Visualisasi Data Kategorik

Bar Chart

Bar chart digunakan sebagai salah satu bentuk visualisasi data yang bertujuan untuk menampilkan perbandingan jumlah kasus penyakit TBC antar provinsi di Indonesia. Melalui grafik batang ini, pembaca dapat dengan mudah melihat provinsi mana yang memiliki jumlah kasus lebih tinggi maupun lebih rendah. Visualisasi ini membantu menyederhanakan data numerik yang banyak sehingga pola distribusi kasus dapat terlihat dengan lebih jelas.

Selain itu, bar chart juga mempermudah proses identifikasi wilayah dengan tingkat kasus TBC yang relatif tinggi, sehingga dapat menjadi dasar dalam melakukan analisis lebih lanjut terkait faktor-faktor yang mempengaruhi penyebaran penyakit tersebut.

## BARCHART ANGKA PENEMUAN TBC
ggplot(datapm, aes(x = reorder(Provinsi, TBC_Penemuan), y = TBC_Penemuan)) +
  geom_bar(stat = "identity", fill = "steelblue", width = 0.6) +
  coord_flip() +
  labs(title = "Angka Penemuan Kasus TBC per Provinsi",
       x = "Provinsi",
       y = "Angka Penemuan TBC") +
  theme_minimal() +
  theme(axis.text.y = element_text(size = 5))

interpretasi

Visualisasi ini menunjukkan adanya variasi yang cukup signifikan dalam angka penemuan kasus TBC antar provinsi di Indonesia. Beberapa provinsi seperti Banten dan Jawa Barat memiliki tingkat penemuan yang tinggi, sedangkan beberapa wilayah seperti Papua Pegunungan dan Bengkulu memiliki tingkat yang lebih rendah. Informasi ini penting untuk membantu pemerintah dalam menentukan prioritas kebijakan kesehatan dan meningkatkan upaya deteksi serta penanganan TBC di wilayah yang masih rendah tingkat penemuannya.

Grouped Bar Chart

Grouped bar chart dibuat untuk memberikan gambaran perbandingan dua indikator sekaligus, yaitu angka penemuan kasus TBC dan angka keberhasilan pengobatan TBC pada setiap provinsi. Dengan menampilkan dua batang dalam satu kelompok provinsi, grafik ini memungkinkan pembaca untuk melihat hubungan antara jumlah kasus yang ditemukan dengan tingkat keberhasilan penanganannya.

Melalui visualisasi ini dapat diketahui apakah provinsi dengan jumlah kasus yang tinggi juga memiliki tingkat keberhasilan pengobatan yang baik atau sebaliknya. Informasi tersebut penting untuk menilai efektivitas program penanggulangan TBC di berbagai daerah, serta memberikan gambaran wilayah yang memerlukan perhatian lebih dalam upaya pengendalian penyakit.

## Grouped Bar Chart (Perbandingan 2 Variabel)
#Ubah data ke format long terlebih dahulu.
data_long <- pivot_longer(datapm,
                          cols = c(TBC_Penemuan,TBC_Pengobatan),
                          names_to = "Variabel",
                          values_to = "Nilai")

ggplot(data_long, aes(x=Provinsi, y=Nilai, fill=Variabel)) +
  geom_bar(stat="identity", position="dodge") +
  coord_flip() +
  labs(title="Perbandingan Penemuan Kasus dan Keberhasilan Pengobatan TBC",
       x="Provinsi",
       y="Nilai") +
  theme_minimal() +
  theme(axis.text.y = element_text(size = 5))

Interpretasi

Visualisasi grouped bar chart ini menunjukkan bahwa terdapat variasi tingkat penemuan kasus dan keberhasilan pengobatan TBC di setiap provinsi di Indonesia. Meskipun beberapa provinsi memiliki jumlah penemuan kasus yang tinggi, secara umum tingkat keberhasilan pengobatan TBC juga cukup baik di berbagai wilayah, yang menandakan bahwa program pengendalian dan pengobatan TBC di Indonesia telah berjalan dengan cukup efektif. Informasi ini dapat digunakan sebagai dasar dalam mengevaluasi dan meningkatkan strategi penanggulangan TBC di tingkat provinsi.

Dot Plot

Dot plot adalah grafik yang menampilkan data menggunakan titik (dot) untuk menunjukkan nilai suatu variabel pada setiap kategori. Setiap titik merepresentasikan satu nilai data, sehingga memudahkan untuk melihat perbandingan antar kategori atau distribusi nilai secara sederhana.

# Dot Plot Angka Penemuan TBC
ggplot(datapm, aes(
  x = TBC_Penemuan,
  y = Provinsi
)) +
  geom_point(color = "red", size = 2) +
  labs(
    title = "Dot Plot Penemuan Kasus TBC",
    x = "Jumlah Kasus Penemuan TBC",
    y = "Provinsi"
  ) +
  theme_minimal()

Interpetasi

Berdasarkan dot plot penemuan kasus TBC per provinsi, terlihat bahwa jumlah kasus TBC di Indonesia bervariasi antar provinsi. Sebagian besar provinsi berada pada kisaran 60–85 kasus, sementara beberapa provinsi memiliki jumlah kasus lebih tinggi (mendekati atau di atas 90) dan sebagian lainnya lebih rendah (sekitar 40–55). Hal ini menunjukkan bahwa penemuan kasus TBC tidak merata di setiap provinsi.

# Dot Plot Angka Pengobatan TBC
ggplot(datapm, aes(
  x = TBC_Pengobatan,
  y = Provinsi
)) +
  geom_point(color = "red", size = 2) +
  labs(
    title = "Dot Plot Pengobatan Kasus TBC",
    x = "Jumlah Pengobatan Kasus TBC",
    y = "Provinsi"
  ) +
  theme_minimal()

Interpretasi

Berdasarkan dot plot pengobatan kasus TBC per provinsi, terlihat bahwa tingkat keberhasilan pengobatan di Indonesia bervariasi antar wilayah. Sebagian besar provinsi berada pada kisaran 75–88, sementara beberapa provinsi memiliki capaian yang sangat tinggi (di atas 90) dan satu provinsi memiliki capaian yang jauh lebih rendah (di bawah 55). Hal ini menunjukkan bahwa efektivitas dan akses pengobatan TBC belum merata sepenuhnya di seluruh provinsi Indonesia.

# Dot Plot Perbandingan Angka Penemuan dan Pengobatan Kasus TBC
# Mengubah data ke format long agar bisa dibedakan warnanya
datapm_long <- datapm %>%
  pivot_longer(cols = c(TBC_Penemuan, TBC_Pengobatan), 
               names_to = "Kategori", 
               values_to = "Jumlah")

ggplot(datapm_long, aes(x = Jumlah, y = Provinsi, color = Kategori)) +
  geom_point(size = 2) +
  scale_color_manual(values = c("TBC_Penemuan" = "blue", "TBC_Pengobatan" = "red"),
                     labels = c("Penemuan", "Pengobatan")) +
  labs(
    title = "Perbandingan Penemuan dan Pengobatan Kasus TBC",
    x = "Jumlah Kasus",
    y = "Provinsi",
    color = "Keterangan"
  ) +
  theme_minimal()

Interpretasi

Berdasarkan dot plot perbandingan penemuan dan pengobatan kasus TBC per provinsi, terlihat bahwa performa penanganan TBC di Indonesia memiliki karakteristik yang sangat bervariasi antara deteksi kasus dan keberhasilan pengobatannya. Sebagian besar provinsi menunjukkan angka pengobatan (titik merah) yang lebih stabil di kisaran 75–90, sementara angka penemuan kasus (titik biru) memiliki rentang variasi yang jauh lebih lebar dari 45 hingga 110, yang menunjukkan bahwa masalah utama TBC di Indonesia bukan hanya pada pengobatan, tetapi juga pada ketimpangan deteksi (penemuan) yang tidak merata. Beberapa wilayah sangat proaktif menemukan kasus seperti Banten (penemuan tertinggi di atas 110) dan Jawa Barat, sedangkan wilayah lain masih berjuang baik dalam hal deteksi maupun penuntasan pengobatan seperti wilayah Papua, khususnya Papua Pegunungan yang mencatatkan angka terendah pada kedua indikator; di sisi lain, provinsi seperti Lampung menunjukkan keberhasilan pengobatan tertinggi (sekitar 92) dan wilayah seperti Kepulauan Riau serta Bengkulu menunjukkan efisiensi tinggi di mana angka pengobatannya jauh melampaui angka penemuan kasusnya.

Pie Chart

Pie chart adalah diagram berbentuk lingkaran yang digunakan untuk menunjukkan perbandingan atau proporsi tiap kategori terhadap keseluruhan data. Lingkaran pada pie chart dibagi menjadi beberapa bagian sesuai dengan kategori data, di mana besar kecilnya bagian menunjukkan persentase masing-masing kategori dari total data.

Data yang digunakan dalam visualisasi ini adalah data angka penemuan kasus TBC dan angka keberhasilan pengobatan TBC di Indonesia berdasarkan provinsi. Karena jumlah provinsi cukup banyak (sekitar 38–39 provinsi), jika setiap provinsi langsung ditampilkan dalam pie chart maka visualisasi akan menjadi terlalu padat dan sulit dibaca. Oleh karena itu, data terlebih dahulu dikelompokkan ke dalam beberapa kategori yaitu rendah, sedang, dan tinggi agar distribusi data lebih mudah dipahami. Pada angka penemuan kasus TBC, kategori dibuat dengan rentang rendah (<60), sedang (60–74), dan tinggi (≥75). Rentang ini dipilih karena berdasarkan data yang digunakan nilai penemuan TBC berkisar sekitar 41 hingga lebih dari 100, dengan sebagian besar provinsi berada pada kisaran 60–80, sehingga batas tersebut dapat membedakan provinsi dengan tingkat penemuan rendah, menengah, dan tinggi secara lebih jelas. Sementara itu pada angka keberhasilan pengobatan TBC, kategori dibuat dengan rentang rendah (<80), sedang (80–89), dan tinggi (≥90). Rentang ini berbeda dengan penemuan kasus karena nilai pengobatan TBC dalam data cenderung lebih tinggi dan berada pada kisaran 56–92, dengan sebagian besar provinsi berada di sekitar 80–86, sehingga batas tersebut lebih sesuai untuk menggambarkan perbedaan tingkat keberhasilan pengobatan antar provinsi. Dengan pengelompokan ini, pie chart dapat memberikan gambaran umum mengenai distribusi tingkat penemuan dan keberhasilan pengobatan TBC di Indonesia secara lebih sederhana dan informatif.

# Pie Chart Angka Penemuan TBC
# Membuat kategori
datapm <- datapm %>%
  mutate(Kategori_TBC = case_when(
    TBC_Penemuan < 60 ~ "Rendah",
    TBC_Penemuan >= 60 & TBC_Penemuan < 75 ~ "Sedang",
    TBC_Penemuan >= 75 ~ "Tinggi"
  ))

# Menghitung jumlah dan persen
data_pie <- datapm %>%
  count(Kategori_TBC) %>%
  mutate(persen = n / sum(n) * 100,
         label = paste0(n, " (", round(persen,1), "%)"))

# Pie chart
ggplot(data_pie, aes(x = "", y = n, fill = Kategori_TBC)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar(theta = "y") +
  geom_text(aes(label = label),
            position = position_stack(vjust = 0.5)) +
  labs(title = "Distribusi Kategori Angka Penemuan Kasus TBC di Indonesia",
       fill = "Kategori") +
  theme_void()

Interpretasi

Berdasarkan Pie Chart ini menunjukkan bahwa mayoritas provinsi di Indonesia sudah berada pada kategori penemuan kasus TBC yang optimis, di mana kategori Tinggi mendominasi dengan 17 provinsi (44,7%) dan kategori Sedang mencakup 16 provinsi (42,1%). Hal ini mengindikasikan bahwa sebagian besar wilayah di Indonesia memiliki sistem deteksi yang cukup aktif. Sementara itu, hanya terdapat sebagian kecil wilayah, yaitu 5 provinsi (13,2%), yang masih berada dalam kategori Rendah. Kondisi kategori rendah ini mencerminkan tantangan ketimpangan deteksi yang nyata, terutama pada wilayah-wilayah yang masih berjuang dalam pelacakan kasus.

# Pie Chart Angka Pengobatan TBC
# Membuat kategori berdasarkan angka pengobatan TBC
datapm <- datapm %>%
  mutate(Kategori_Pengobatan = case_when(
    TBC_Pengobatan < 80 ~ "Rendah",
    TBC_Pengobatan >= 80 & TBC_Pengobatan < 90 ~ "Sedang",
    TBC_Pengobatan >= 90 ~ "Tinggi"
  ))

# Menghitung jumlah dan persentase
data_pie_pengobatan <- datapm %>%
  count(Kategori_Pengobatan) %>%
  mutate(persen = n / sum(n) * 100,
         label = paste0(n, " (", round(persen,1), "%)"))

# Membuat pie chart
ggplot(data_pie_pengobatan, aes(x = "", y = n, fill = Kategori_Pengobatan)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar(theta = "y") +
  geom_text(aes(label = label),
            position = position_stack(vjust = 0.5)) +
  labs(title = "Distribusi Kategori Angka Pengobatan Kasus TBC di Indonesia",
       fill = "Kategori") +
  theme_void()

Interpretasi

Berdasarkan Pie Chart ini menunjukkan bahwa efektivitas pengobatan TBC di Indonesia sebagian besar berada pada tingkat menengah, dengan kategori Sedang mendominasi secara signifikan sebanyak 24 provinsi (63,2%). Kondisi ini menunjukkan adanya stabilitas dalam proses penyembuhan pasien di mayoritas wilayah, namun kategori Tinggi hanya mencakup 2 provinsi (5,3%). Di sisi lain, terdapat 12 provinsi (31,6%) yang masih berada dalam kategori Rendah, angka yang jauh lebih besar dibandingkan kategori rendah pada penemuan kasus, mengindikasikan bahwa meskipun deteksi kasus sudah cukup luas, ketuntasan pengobatan masih menghadapi tantangan besar terutama di wilayah yang memiliki akses kesehatan terbatas.

Needle Chart

Needle Chart adalah jenis diagram batang yang menampilkan data dalam bentuk garis vertikal tipis seperti jarum (needle) yang membentang dari sumbu horizontal ke titik data tertentu. Needle Chart sering digunakan untuk menggambarkan tren data diskrit, perubahan nilai dari waktu ke waktu, atau perbandingan antara kategori tertentu. distribusi suatu variabel pada wilayah tertentu, misalnya menampilkan sebaran kasus TBC di setiap provinsi melalui perbedaan warna pada peta.

# Needle Chart Penemuan Kasus TBC
ggplot(data = datapm,
mapping = aes(x = reorder(Provinsi, TBC_Penemuan), 
               y = TBC_Penemuan)) +
  geom_segment(aes(x = reorder(Provinsi, TBC_Penemuan),
                   xend = reorder(Provinsi, TBC_Penemuan),
                   y = 0, 
                   yend = TBC_Penemuan), 
               color = "skyblue") +
  geom_point(color = "navyblue", size = 4, alpha = 0.6) +
  geom_text(aes(label = TBC_Penemuan), vjust = -1) +
  coord_flip() +
  labs(y = "Jumlah Penemuan Kasus TBC",
       x = "Provinsi",
       title = "Needle Chart Penemuan Kasus TBC per Provinsi")

Interpretasi

Berdasarkan needle chart tersebut, terlihat bahwa angka penemuan kasus TBC antar provinsi di Indonesia cukup bervariasi. Provinsi dengan angka penemuan tertinggi adalah Banten dengan nilai sekitar 97, diikuti oleh Jawa Barat (88) dan Papua Barat (86). Sebaliknya, provinsi dengan angka penemuan terendah adalah Papua Pegunungan (41), diikuti Bengkulu (48) dan Kepulauan Riau (50). Sebagian besar provinsi berada pada kisaran 60–80, yang menunjukkan bahwa tingkat penemuan kasus TBC di banyak provinsi berada pada kategori sedang hingga cukup tinggi. Perbedaan nilai ini menunjukkan adanya variasi dalam kemampuan atau capaian setiap provinsi dalam menemukan kasus TBC.

# Needle Chart Pengobatan Kasus TBC
ggplot(data = datapm,
mapping = aes(x = reorder(Provinsi, TBC_Pengobatan), 
               y = TBC_Pengobatan)) +
  geom_segment(aes(x = reorder(Provinsi, TBC_Pengobatan),
                   xend = reorder(Provinsi, TBC_Pengobatan),
                   y = 0, 
                   yend = TBC_Pengobatan), 
               color = "skyblue") +
  geom_point(color = "navyblue", size = 4, alpha = 0.6) +
  geom_text(aes(label = TBC_Pengobatan), vjust = -1) +
  coord_flip() +
  labs(y = "Jumlah Pengobatan Kasus TBC",
       x = "Provinsi",
       title = "Needle Chart Pengobatan Kasus TBC per Provinsi")

Interpretasi

Berdasarkan needle chart pengobatan kasus TBC per provinsi, terlihat bahwa tingkat keberhasilan pengobatan TBC di Indonesia relatif tinggi di sebagian besar provinsi. Provinsi dengan angka pengobatan tertinggi adalah Lampung dengan nilai sekitar 91, diikuti oleh Banten (89) serta Sumatera Selatan dan Jawa Timur (sekitar 88). Sebaliknya, provinsi dengan angka pengobatan terendah adalah Papua Pegunungan (56), diikuti Papua Barat Daya (67) dan Kalimantan Utara (69). Secara umum, sebagian besar provinsi memiliki angka pengobatan pada kisaran 80–86, yang menunjukkan bahwa tingkat keberhasilan pengobatan kasus TBC di banyak provinsi sudah cukup baik, meskipun masih terdapat beberapa provinsi dengan capaian yang lebih rendah.

Pemetaan Data Spasial

Pemetaan spasial menggunakan geom_sf() pada R digunakan untuk menampilkan data spasial dalam bentuk peta berdasarkan objek simple features (sf). Fungsi ini memungkinkan visualisasi distribusi suatu variabel pada wilayah tertentu, misalnya menampilkan sebaran kasus TBC di setiap provinsi melalui perbedaan warna pada peta.

# ambil peta dari package geodata
indo <- gadm("IDN", level=1, path=".")

# ubah ke sf
indo <- st_as_sf(indo)
names(indo)
##  [1] "GID_1"     "GID_0"     "COUNTRY"   "NAME_1"    "VARNAME_1" "NL_NAME_1"
##  [7] "TYPE_1"    "ENGTYPE_1" "CC_1"      "HASC_1"    "ISO_1"     "geometry"
# Menggabungkan Data ke peta 
gabung.data <- left_join(indo, datapm, by = c("NAME_1" = "Provinsi"))

# Pemetaan Index Rate Kasus TBC
plot.tbc <- ggplot(data=gabung.data) +
  geom_sf(aes(fill = TBC_Penemuan)) +
  scale_fill_distiller("Index Rate Kasus TBC", 
                       palette = "YlOrRd", 
                       trans = "reverse")+
  labs(title = "Peta Kasus TBC Indonesia") +
  theme_minimal()

plot.tbc

Interpretasi

Berdasarkan peta sebaran kasus TBC di Indonesia, terlihat bahwa angka penemuan kasus TBC berbeda-beda di setiap provinsi. Beberapa provinsi seperti Banten, Jawa Barat, dan DKI Jakarta memiliki angka penemuan kasus yang lebih tinggi yang ditunjukkan dengan warna lebih gelap pada peta. Sementara itu, beberapa provinsi lain menunjukkan angka penemuan yang lebih rendah yang ditandai dengan warna lebih terang. Perbedaan ini menunjukkan bahwa penemuan kasus TBC di Indonesia tidak merata dan dapat dipengaruhi oleh faktor seperti kepadatan penduduk, akses layanan kesehatan, serta efektivitas program deteksi penyakit di masing-masing wilayah.

Kesimpulan

Analisis Exploratory Data Analysis (EDA) terhadap data TBC di Indonesia tahun 2025 menunjukkan bahwa terdapat variasi yang cukup besar pada angka penemuan kasus TBC antar provinsi, sedangkan angka keberhasilan pengobatan cenderung lebih stabil. Beberapa provinsi seperti Banten dan Jawa Barat memiliki angka penemuan kasus yang relatif tinggi, sementara beberapa wilayah di Papua menunjukkan nilai yang lebih rendah. Sebagian besar provinsi berada pada kategori penemuan kasus sedang hingga tinggi, namun pada indikator pengobatan masih terdapat beberapa provinsi dengan capaian yang relatif rendah. Hasil visualisasi data melalui berbagai grafik dan peta menunjukkan bahwa perbedaan wilayah, kepadatan penduduk, serta akses layanan kesehatan dapat memengaruhi variasi penemuan dan keberhasilan pengobatan TBC di Indonesia. Penerapan teknik EDA menggunakan bahasa pemrograman R membantu menggambarkan pola distribusi data secara lebih jelas dan informatif.