1 Pendahuluan

Kepadatan penduduk menggambarkan seberapa banyak jiwa yang tinggal dalam setiap kilometer persegi wilayah. Indikator ini penting untuk perencanaan tata ruang, penyediaan layanan publik (kesehatan, pendidikan, transportasi), dan pengelolaan lingkungan.

Provinsi Banten terdiri atas 4 kabupaten (Pandeglang, Lebak, Tangerang, Serang) dan 4 kota (Tangerang, Cilegon, Serang, Tangerang Selatan). Wilayah yang berbatasan langsung dengan DKI Jakarta cenderung jauh lebih padat dibandingkan wilayah selatan Banten. Laporan ini memvisualisasikan pola tersebut dengan R dan R Markdown.

2 Sumber Data dan Alasan Pemilihan

# ====== ISI BAGIAN INI SEBELUM PUBLISH ======
link_sumber <- "https://banten.bps.go.id/"   # GANTI dengan link tabel BPS yang tepat (Kepadatan Penduduk menurut Kab/Kota)
link_excel  <- "https://drive.google.com/..."  # GANTI dengan link download file Excel (Google Drive / GitHub)

Sumber data: Badan Pusat Statistik (BPS) Provinsi Banten, tabel Kepadatan Penduduk Menurut Kabupaten/Kota di Provinsi Banten (jiwa/km²), 2026.

Alasan pemilihan data (review singkat):

  1. Data bersumber dari lembaga resmi pemerintah (BPS) sehingga dapat diverifikasi.
  2. Kepadatan penduduk berkaitan langsung dengan bidang kependudukan, ekonomi, kesehatan, dan lingkungan, sehingga lebih mudah untuk dianalisis.
  3. Terdapat perbedaan yang mencolok antar kabupaten/kota di Banten, sehingga menarik untuk dibandingkan secara visual.
  4. Data berbentuk tabel sederhana (kategorik: nama wilayah; numerik: jiwa/km²) yang cocok untuk latihan visualisasi data kategorik dan numerik.

3 Persiapan Data

3.1 Membaca Data

File Excel diberi nama data_kepadatan_banten_2026.xlsx dan diletakkan di folder yang sama dengan file .Rmd ini. Format kolom: Kabupaten_Kota, Jenis_Wilayah, Kepadatan.

file_data <- "data_kepadatan_banten_2026.xlsx"

if (file.exists(file_data)) {
  data_banten <- read_excel(file_data)
  data_contoh <- FALSE
} else {
  # ------------------------------------------------------------------
  # DATA CONTOH (PLACEHOLDER) - hanya agar kode bisa dijalankan.
  # WAJIB diganti dengan angka asli dari BPS, lalu simpan di file Excel.
  # ------------------------------------------------------------------
  data_banten <- data.frame(
    Kabupaten_Kota = c("Pandeglang", "Lebak", "Tangerang", "Serang",
                       "Kota Tangerang", "Kota Cilegon", "Kota Serang",
                       "Kota Tangerang Selatan"),
    Jenis_Wilayah  = c(rep("Kabupaten", 4), rep("Kota", 4)),
    Kepadatan      = c(420, 400, 3900, 850, 12000, 2200, 2400, 9300)
  )
  write_xlsx(data_banten, file_data)   # membuat template Excel otomatis
  data_contoh <- TRUE
}

3.2 Membersihkan dan Menyusun Variabel

Variabel kategorik dibuat dari kolom Jenis_Wilayah dan pengelompokan Kategori_Kepadatan. Variabel numerik adalah Kepadatan.

data_banten <- data_banten %>%
  mutate(
    Kepadatan     = as.numeric(Kepadatan),
    Jenis_Wilayah = factor(Jenis_Wilayah, levels = c("Kabupaten", "Kota")),
    Kategori_Kepadatan = cut(
      Kepadatan,
      breaks = c(-Inf, 1000, 3000, 8000, Inf),
      labels = c("Rendah (<1.000)", "Sedang (1.000-3.000)",
                 "Tinggi (3.000-8.000)", "Sangat Tinggi (>8.000)"),
      right = FALSE
    )
  )

kable(data_banten, caption = "Data Kepadatan Penduduk Kabupaten/Kota di Provinsi Banten (jiwa/km²)",
      format.args = list(big.mark = ".", decimal.mark = ","))
Data Kepadatan Penduduk Kabupaten/Kota di Provinsi Banten (jiwa/km²)
Kabupaten_Kota Jenis_Wilayah Kepadatan Kategori_Kepadatan
Pandeglang Kabupaten 420 Rendah (<1.000)
Lebak Kabupaten 400 Rendah (<1.000)
Tangerang Kabupaten 3.900 Tinggi (3.000-8.000)
Serang Kabupaten 850 Rendah (<1.000)
Kota Tangerang Kota 12.000 Sangat Tinggi (>8.000)
Kota Cilegon Kota 2.200 Sedang (1.000-3.000)
Kota Serang Kota 2.400 Sedang (1.000-3.000)
Kota Tangerang Selatan Kota 9.300 Sangat Tinggi (>8.000)
str(data_banten)
## tibble [8 × 4] (S3: tbl_df/tbl/data.frame)
##  $ Kabupaten_Kota    : chr [1:8] "Pandeglang" "Lebak" "Tangerang" "Serang" ...
##  $ Jenis_Wilayah     : Factor w/ 2 levels "Kabupaten","Kota": 1 1 1 1 2 2 2 2
##  $ Kepadatan         : num [1:8] 420 400 3900 850 12000 2200 2400 9300
##  $ Kategori_Kepadatan: Factor w/ 4 levels "Rendah (<1.000)",..: 1 1 3 1 4 2 2 4

3.3 Statistik Deskriptif

ringkasan <- data_banten %>%
  summarise(
    Jumlah_Wilayah = n(),
    Minimum   = min(Kepadatan),
    Kuartil_1 = quantile(Kepadatan, 0.25),
    Median    = median(Kepadatan),
    Rata_rata = mean(Kepadatan),
    Kuartil_3 = quantile(Kepadatan, 0.75),
    Maksimum  = max(Kepadatan),
    Simpangan_Baku = sd(Kepadatan)
  )
kable(ringkasan, digits = 1, caption = "Ringkasan Statistik Kepadatan Penduduk",
      format.args = list(big.mark = ".", decimal.mark = ","))
Ringkasan Statistik Kepadatan Penduduk
Jumlah_Wilayah Minimum Kuartil_1 Median Rata_rata Kuartil_3 Maksimum Simpangan_Baku
8 400 742,5 2.300 3.933,8 5.250 12.000 4.368,1
ringkasan_jenis <- data_banten %>%
  group_by(Jenis_Wilayah) %>%
  summarise(Jumlah = n(), Rata_rata = mean(Kepadatan), Median = median(Kepadatan),
            Minimum = min(Kepadatan), Maksimum = max(Kepadatan), .groups = "drop")
kable(ringkasan_jenis, digits = 1, caption = "Ringkasan Menurut Jenis Wilayah",
      format.args = list(big.mark = ".", decimal.mark = ","))
Ringkasan Menurut Jenis Wilayah
Jenis_Wilayah Jumlah Rata_rata Median Minimum Maksimum
Kabupaten 4 1.392,5 635 400 3.900
Kota 4 6.475,0 5.850 2.200 12.000

4 Tema dan Palet Warna

Palet warna dibuat senada dengan identitas UNTIRTA: maroon, biru navy, dan emas, dengan krem lembut sebagai latar.

maroon <- "#7B2D2F"
navy   <- "#0F2A80"
emas   <- "#F2B705"
krem   <- "#F8ECEC"

# Kategori kepadatan: gradasi emas -> maroon (makin padat makin gelap)
warna_kategori <- c("Rendah (<1.000)"        = "#F6C945",
                    "Sedang (1.000-3.000)"   = "#E08E45",
                    "Tinggi (3.000-8.000)"   = "#B4483F",
                    "Sangat Tinggi (>8.000)" = "#7B2D2F")

# Jenis wilayah
warna_jenis <- c("Kabupaten" = navy, "Kota" = maroon)

tema_untirta <- theme_minimal(base_size = 13) +
  theme(
    plot.title       = element_text(face = "bold", color = navy, size = 16),
    plot.subtitle    = element_text(color = maroon, size = 11),
    plot.caption     = element_text(color = "grey40", size = 9),
    axis.title       = element_text(color = navy, face = "bold"),
    axis.text        = element_text(color = "grey20"),
    panel.grid.minor = element_blank(),
    panel.grid.major = element_line(color = "#E6D5D5"),
    plot.background  = element_rect(fill = "white", color = NA),
    legend.position  = "bottom",
    legend.title     = element_text(color = navy, face = "bold")
  )

sumber_bps <- "Sumber: BPS Provinsi Banten (2026)"

5 Visualisasi Data Kategorik

5.1 Diagram Batang: Jumlah Wilayah per Kategori Kepadatan

ggplot(data_banten, aes(x = Kategori_Kepadatan, fill = Kategori_Kepadatan)) +
  geom_bar(width = 0.65, show.legend = FALSE) +
  geom_text(stat = "count", aes(label = after_stat(count)),
            vjust = -0.5, fontface = "bold", color = navy, size = 5) +
  scale_fill_manual(values = warna_kategori, drop = FALSE) +
  scale_x_discrete(drop = FALSE) +
  scale_y_continuous(breaks = pretty_breaks(), expand = expansion(mult = c(0, 0.15))) +
  labs(title = "Jumlah Kabupaten/Kota menurut Kategori Kepadatan",
       subtitle = "Provinsi Banten, 2026",
       x = "Kategori Kepadatan (jiwa/km²)", y = "Jumlah Kabupaten/Kota",
       caption = sumber_bps) +
  tema_untirta

Interpretasi: Dari 8 kabupaten/kota di Banten, kategori kepadatan yang paling banyak muncul adalah Rendah (<1.000) dengan 3 wilayah. Sebaran antar kategori menunjukkan bahwa tingkat kepadatan penduduk di Banten tidak merata, ada wilayah yang tergolong jarang penduduk dan ada yang sangat padat.

5.2 Diagram Lingkaran (Pie/Donut): Proporsi Kategori Kepadatan

pie_data <- data_banten %>%
  count(Kategori_Kepadatan, .drop = FALSE) %>%
  filter(n > 0) %>%
  mutate(persen = n / sum(n),
         label  = paste0(n, " wilayah\n(", percent(persen, accuracy = 0.1), ")"))

ggplot(pie_data, aes(x = 2, y = n, fill = Kategori_Kepadatan)) +
  geom_col(width = 1, color = "white", linewidth = 1.2) +
  geom_text(aes(label = label), position = position_stack(vjust = 0.5),
            color = "white", fontface = "bold", size = 4) +
  coord_polar(theta = "y") +
  xlim(0.5, 2.5) +
  scale_fill_manual(values = warna_kategori, name = "Kategori Kepadatan") +
  labs(title = "Proporsi Kabupaten/Kota menurut Kategori Kepadatan",
       subtitle = "Provinsi Banten, 2026", caption = sumber_bps) +
  theme_void(base_size = 13) +
  theme(plot.title = element_text(face = "bold", color = navy, size = 16, hjust = 0.5),
        plot.subtitle = element_text(color = maroon, hjust = 0.5),
        plot.caption = element_text(color = "grey40", hjust = 0.5),
        legend.position = "bottom",
        legend.title = element_text(color = navy, face = "bold"))

Interpretasi: Diagram lingkaran memperlihatkan porsi tiap kategori terhadap seluruh wilayah. Kategori Rendah (<1.000) memiliki porsi terbesar, yaitu 37.5% dari seluruh kabupaten/kota. Warna yang makin gelap menandakan wilayah yang makin padat.

5.3 Diagram Batang Bertumpuk: Jenis Wilayah dan Kategori Kepadatan

ggplot(data_banten, aes(x = Jenis_Wilayah, fill = Kategori_Kepadatan)) +
  geom_bar(width = 0.6, color = "white") +
  geom_text(stat = "count", aes(label = after_stat(count)),
            position = position_stack(vjust = 0.5), color = "white",
            fontface = "bold", size = 5) +
  scale_fill_manual(values = warna_kategori, name = "Kategori Kepadatan", drop = FALSE) +
  scale_y_continuous(breaks = pretty_breaks()) +
  labs(title = "Kategori Kepadatan menurut Jenis Wilayah",
       subtitle = "Kabupaten vs Kota di Provinsi Banten, 2026",
       x = "Jenis Wilayah", y = "Jumlah Wilayah", caption = sumber_bps) +
  tema_untirta

Interpretasi: Grafik ini membandingkan komposisi kategori kepadatan antara kabupaten dan kota. Wilayah berstatus kota umumnya berada pada kategori kepadatan yang lebih tinggi dibandingkan kabupaten, karena kota memiliki wilayah yang lebih sempit dan menjadi pusat aktivitas ekonomi dan permukiman.

6 Visualisasi Data Numerik

6.1 Diagram Batang Horizontal: Kepadatan per Kabupaten/Kota

ggplot(data_banten, aes(x = fct_reorder(Kabupaten_Kota, Kepadatan), y = Kepadatan,
                        fill = Jenis_Wilayah)) +
  geom_col(width = 0.7) +
  geom_text(aes(label = format(Kepadatan, big.mark = ".", decimal.mark = ",")),
            hjust = -0.15, color = navy, fontface = "bold", size = 4) +
  geom_hline(yintercept = rata2, linetype = "dashed", color = emas, linewidth = 1) +
  annotate("text", x = 1, y = rata2, label = paste("Rata-rata:", fmt(rata2)),
           hjust = -0.1, vjust = -1, color = "#8a6a00", fontface = "bold", size = 3.8) +
  coord_flip() +
  scale_fill_manual(values = warna_jenis, name = "Jenis Wilayah") +
  scale_y_continuous(labels = label_number(big.mark = ".", decimal.mark = ","),
                     expand = expansion(mult = c(0, 0.15))) +
  labs(title = "Kepadatan Penduduk menurut Kabupaten/Kota",
       subtitle = "Provinsi Banten, 2026 (jiwa/km²)",
       x = NULL, y = "Kepadatan Penduduk (jiwa/km²)", caption = sumber_bps) +
  tema_untirta

Interpretasi: Kepadatan tertinggi berada di Kota Tangerang sebesar 12.000 jiwa/km², sedangkan terendah di Lebak sebesar 400 jiwa/km². Selisihnya sekitar 30 kali lipat, yang menunjukkan kesenjangan persebaran penduduk yang sangat besar. Rata-rata kepadatan adalah 3.934 jiwa/km², dan hanya 2 dari 8 wilayah yang berada di atas rata-rata.

6.2 Diagram Lollipop: Peringkat Kepadatan

ggplot(data_banten, aes(x = fct_reorder(Kabupaten_Kota, Kepadatan), y = Kepadatan,
                        color = Kategori_Kepadatan)) +
  geom_segment(aes(xend = Kabupaten_Kota, y = 0, yend = Kepadatan), linewidth = 1.6) +
  geom_point(size = 6) +
  coord_flip() +
  scale_color_manual(values = warna_kategori, name = "Kategori Kepadatan", drop = FALSE) +
  scale_y_continuous(labels = label_number(big.mark = ".", decimal.mark = ",")) +
  labs(title = "Peringkat Kepadatan Penduduk Kabupaten/Kota",
       subtitle = "Warna menunjukkan kategori kepadatan", x = NULL,
       y = "Kepadatan Penduduk (jiwa/km²)", caption = sumber_bps) +
  tema_untirta

Interpretasi: Grafik lollipop mempertegas urutan wilayah dari yang paling jarang hingga paling padat. Warna titik memperlihatkan bahwa wilayah dengan kepadatan tinggi terkonsentrasi pada kelompok kota dan kabupaten yang berdekatan dengan Jakarta.

6.3 Histogram: Distribusi Kepadatan Penduduk

ggplot(data_banten, aes(x = Kepadatan)) +
  geom_histogram(bins = 5, fill = navy, color = "white", alpha = 0.9) +
  geom_vline(xintercept = rata2, color = emas, linewidth = 1.2, linetype = "dashed") +
  geom_vline(xintercept = med, color = maroon, linewidth = 1.2) +
  annotate("text", x = rata2, y = Inf, label = "Rata-rata", color = "#8a6a00",
           vjust = 2, hjust = -0.1, fontface = "bold") +
  annotate("text", x = med, y = Inf, label = "Median", color = maroon,
           vjust = 4, hjust = 1.1, fontface = "bold") +
  scale_x_continuous(labels = label_number(big.mark = ".", decimal.mark = ",")) +
  scale_y_continuous(breaks = pretty_breaks()) +
  labs(title = "Distribusi Kepadatan Penduduk Kabupaten/Kota",
       subtitle = "Garis putus-putus emas = rata-rata, garis maroon = median",
       x = "Kepadatan Penduduk (jiwa/km²)", y = "Frekuensi", caption = sumber_bps) +
  tema_untirta

Interpretasi: Rata-rata kepadatan (3.934) lebih besar daripada median (2.300). Kondisi ini menandakan distribusi yang menjulur ke kanan (right-skewed), yaitu sebagian besar wilayah berkepadatan relatif rendah, sementara sedikit wilayah memiliki kepadatan sangat tinggi yang menarik nilai rata-rata ke atas.

6.4 Boxplot: Kepadatan menurut Jenis Wilayah

ggplot(data_banten, aes(x = Jenis_Wilayah, y = Kepadatan, fill = Jenis_Wilayah)) +
  geom_boxplot(width = 0.5, alpha = 0.85, outlier.shape = NA, color = "grey25") +
  geom_jitter(width = 0.08, size = 3.5, color = emas, shape = 18) +
  stat_summary(fun = mean, geom = "point", shape = 23, size = 4, fill = "white", color = "black") +
  scale_fill_manual(values = warna_jenis, guide = "none") +
  scale_y_continuous(labels = label_number(big.mark = ".", decimal.mark = ",")) +
  labs(title = "Sebaran Kepadatan Penduduk: Kabupaten vs Kota",
       subtitle = "Titik emas = data tiap wilayah, berlian putih = rata-rata",
       x = "Jenis Wilayah", y = "Kepadatan Penduduk (jiwa/km²)", caption = sumber_bps) +
  tema_untirta

Interpretasi: Rata-rata kepadatan kota (6.475 jiwa/km²) jauh lebih tinggi dibandingkan kabupaten (1.392 jiwa/km²). Kotak yang lebih lebar menunjukkan sebaran nilai yang lebih beragam antar wilayah dalam kelompok tersebut.

6.5 Diagram Batang: Rata-rata Kepadatan menurut Jenis Wilayah

rata_jenis <- data_banten %>%
  group_by(Jenis_Wilayah) %>%
  summarise(Rata_rata = mean(Kepadatan), .groups = "drop")

ggplot(rata_jenis, aes(x = Jenis_Wilayah, y = Rata_rata, fill = Jenis_Wilayah)) +
  geom_col(width = 0.5) +
  geom_text(aes(label = paste(format(round(Rata_rata), big.mark = ".", decimal.mark = ","), "jiwa/km²")),
            vjust = -0.5, fontface = "bold", color = navy, size = 5) +
  scale_fill_manual(values = warna_jenis, guide = "none") +
  scale_y_continuous(labels = label_number(big.mark = ".", decimal.mark = ","),
                     expand = expansion(mult = c(0, 0.15))) +
  labs(title = "Rata-rata Kepadatan Penduduk menurut Jenis Wilayah",
       subtitle = "Provinsi Banten, 2026", x = "Jenis Wilayah",
       y = "Rata-rata Kepadatan (jiwa/km²)", caption = sumber_bps) +
  tema_untirta

Interpretasi: Rata-rata kepadatan kota adalah 4.6 kali rata-rata kepadatan kabupaten. Perbedaan ini mencerminkan karakter wilayah perkotaan yang lebih terpusat dalam hal permukiman, ekonomi, dan infrastruktur.

6.6 Line Chart: Profil Kepadatan Penduduk Antar Wilayah

Data 2026 adalah data satu tahun (cross-section), sehingga sumbu-x diurutkan berdasarkan peringkat kepadatan (dari terendah ke tertinggi). Garis dipakai untuk melihat pola kenaikan dari satu wilayah ke wilayah berikutnya.

data_urut <- data_banten %>% arrange(Kepadatan) %>%
  mutate(Kabupaten_Kota = factor(Kabupaten_Kota, levels = Kabupaten_Kota))

ggplot(data_urut, aes(x = Kabupaten_Kota, y = Kepadatan, group = 1)) +
  geom_area(fill = emas, alpha = 0.25) +
  geom_line(color = navy, linewidth = 1.4) +
  geom_point(aes(color = Jenis_Wilayah), size = 5) +
  geom_text(aes(label = format(Kepadatan, big.mark = ".", decimal.mark = ",")),
            vjust = -1.2, color = maroon, fontface = "bold", size = 3.8) +
  geom_hline(yintercept = rata2, linetype = "dashed", color = maroon) +
  annotate("text", x = 1, y = rata2, label = paste("Rata-rata:", fmt(rata2)),
           hjust = 0, vjust = -0.8, color = maroon, fontface = "bold", size = 3.8) +
  scale_color_manual(values = warna_jenis, name = "Jenis Wilayah") +
  scale_y_continuous(labels = label_number(big.mark = ".", decimal.mark = ","),
                     expand = expansion(mult = c(0.02, 0.15))) +
  labs(title = "Profil Kepadatan Penduduk Kabupaten/Kota (Terurut)",
       subtitle = "Provinsi Banten, 2026 (jiwa/km²)",
       x = NULL, y = "Kepadatan Penduduk (jiwa/km²)", caption = sumber_bps) +
  tema_untirta +
  theme(axis.text.x = element_text(angle = 30, hjust = 1))

Interpretasi: Garis naik dari Lebak (400 jiwa/km²) hingga Kota Tangerang (12.000 jiwa/km²). Kenaikan tidak berjalan landai: terdapat lonjakan tajam pada wilayah-wilayah teratas, sementara wilayah di bagian bawah relatif berdekatan nilainya. Warna titik menunjukkan bahwa wilayah kota banyak menempati sisi kanan (paling padat).

6.7 Line Chart: Tren Kepadatan dari Tahun ke Tahun (Opsional)

Bagian ini akan tampil otomatis jika file Excel memiliki sheet kedua bernama Tren dengan kolom Kabupaten_Kota, Tahun, dan Kepadatan (data beberapa tahun, misalnya 2020-2026, dari BPS). Jika sheet tidak ada, bagian ini dilewati.

data_tren <- read_excel(file_data, sheet = "Tren") %>%
  mutate(Tahun = as.integer(Tahun), Kepadatan = as.numeric(Kepadatan))

# Palet 8 warna senada tema (maroon - emas - navy)
palet_8 <- colorRampPalette(c(navy, "#5B6FB5", emas, "#E08E45", "#B4483F", maroon))(
  n_distinct(data_tren$Kabupaten_Kota))

ggplot(data_tren, aes(x = Tahun, y = Kepadatan, color = Kabupaten_Kota, group = Kabupaten_Kota)) +
  geom_line(linewidth = 1.2) +
  geom_point(size = 3) +
  scale_color_manual(values = palet_8, name = "Kabupaten/Kota") +
  scale_x_continuous(breaks = unique(data_tren$Tahun)) +
  scale_y_continuous(labels = label_number(big.mark = ".", decimal.mark = ",")) +
  labs(title = "Tren Kepadatan Penduduk Kabupaten/Kota di Provinsi Banten",
       x = "Tahun", y = "Kepadatan Penduduk (jiwa/km²)", caption = sumber_bps) +
  tema_untirta +
  theme(legend.position = "right")

Interpretasi (tren): Jika bagian ini tampil, bandingkan kemiringan garis tiap wilayah. Garis yang lebih curam menandakan pertumbuhan kepadatan yang lebih cepat, dan garis yang berjauhan menandakan kesenjangan kepadatan yang menetap antar wilayah dari tahun ke tahun.

7 Kesimpulan

  1. Kepadatan penduduk di Provinsi Banten tidak merata. Kepadatan tertinggi ada di Kota Tangerang (12.000 jiwa/km²) dan terendah di Lebak (400 jiwa/km²).
  2. Wilayah kota memiliki rata-rata kepadatan yang jauh lebih tinggi daripada kabupaten.
  3. Distribusi kepadatan condong ke kanan: mayoritas wilayah berkepadatan rendah-sedang, dan beberapa wilayah sangat padat.
  4. Temuan ini dapat menjadi dasar pertimbangan pemerataan pembangunan, penyediaan layanan publik, serta pengendalian pertumbuhan penduduk di wilayah padat.

8 Referensi

  • Badan Pusat Statistik Provinsi Banten. Kepadatan Penduduk Menurut Kabupaten/Kota di Provinsi Banten (jiwa/km²), 2026. https://banten.bps.go.id/
  • Wickham, H. ggplot2: Elegant Graphics for Data Analysis. Springer.
  • R Core Team. R: A Language and Environment for Statistical Computing.