Input Data

Data diinput dari file CSV dengan syntax sebagai berikut:

dataset <- read_csv("1739240888.csv")
## Rows: 242 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Provinsi
## dbl (6): No, Tahun, Kode_Provinsi, PoU, Jumlah_Penduduk, Penduduk_Undernourish
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
head(dataset)
## # A tibble: 6 × 7
##      No Tahun Kode_Provinsi Provinsi   PoU Jumlah_Penduduk Penduduk_Undernourish
##   <dbl> <dbl>         <dbl> <chr>    <dbl>           <dbl>                 <dbl>
## 1     1  2018            11 ACEH      8.66         5243400                454185
## 2     2  2018            12 SUMATER…  5.73        14476000                829915
## 3     3  2018            13 SUMATER…  5.45         5411800                294684
## 4     4  2018            14 RIAU      9.63         6717600                646660
## 5     5  2018            15 JAMBI    10.0          3527100                354285
## 6     6  2018            16 SUMATER… 10.8          8391500                909295

Menampilkan Struktur Data

Berikut syntax untuk melihat struktur dan ringkasan data.

str(dataset)
## spc_tbl_ [242 × 7] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ No                   : num [1:242] 1 2 3 4 5 6 7 8 9 10 ...
##  $ Tahun                : num [1:242] 2018 2018 2018 2018 2018 ...
##  $ Kode_Provinsi        : num [1:242] 11 12 13 14 15 16 17 18 19 21 ...
##  $ Provinsi             : chr [1:242] "ACEH" "SUMATERA UTARA" "SUMATERA BARAT" "RIAU" ...
##  $ PoU                  : num [1:242] 8.66 5.73 5.45 9.63 10.04 ...
##  $ Jumlah_Penduduk      : num [1:242] 5243400 14476000 5411800 6717600 3527100 ...
##  $ Penduduk_Undernourish: num [1:242] 454185 829915 294684 646660 354285 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   No = col_double(),
##   ..   Tahun = col_double(),
##   ..   Kode_Provinsi = col_double(),
##   ..   Provinsi = col_character(),
##   ..   PoU = col_double(),
##   ..   Jumlah_Penduduk = col_double(),
##   ..   Penduduk_Undernourish = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>
summary(dataset)
##        No             Tahun      Kode_Provinsi     Provinsi        
##  Min.   :  1.00   Min.   :2018   Min.   :11.00   Length:242        
##  1st Qu.: 61.25   1st Qu.:2019   1st Qu.:19.00   Class :character  
##  Median :121.50   Median :2021   Median :51.00   Mode  :character  
##  Mean   :121.50   Mean   :2021   Mean   :47.05                     
##  3rd Qu.:181.75   3rd Qu.:2023   3rd Qu.:72.00                     
##  Max.   :242.00   Max.   :2024   Max.   :96.00                     
##       PoU         Jumlah_Penduduk    Penduduk_Undernourish
##  Min.   : 1.450   Min.   :   68280   Min.   :     7534    
##  1st Qu.: 6.822   1st Qu.: 2077769   1st Qu.:   214239    
##  Median : 9.360   Median : 4139647   Median :   444275    
##  Mean   :11.610   Mean   : 7857869   Mean   :  9936395    
##  3rd Qu.:12.703   3rd Qu.: 8388050   3rd Qu.:  1321358    
##  Max.   :38.350   Max.   :51568693   Max.   :341549082

Memilih Data Tahun 2024

Dataset berisi data dari tahun 2018–2024, sehingga dilakukan penyaringan untuk tahun 2024.

data2024 <- subset(dataset, Tahun == 2024)
head(data2024)
## # A tibble: 6 × 7
##      No Tahun Kode_Provinsi Provinsi   PoU Jumlah_Penduduk Penduduk_Undernourish
##   <dbl> <dbl>         <dbl> <chr>    <dbl>           <dbl>                 <dbl>
## 1   205  2024            11 ACEH      9.1          5652120              51434292
## 2   206  2024            12 SUMATER…  7.54        15368583             115879116
## 3   207  2024            13 SUMATER…  8.88         5786360              51382877
## 4   208  2024            14 RIAU     10.9          7381474              80679511
## 5   209  2024            15 KOTA JA… 10.6          3739406              39562915
## 6   210  2024            16 SUMATER…  8.88         5786360              51382877

Pie Chart

data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish / 1000000
cex.names = 0.6
warna <- rainbow(length(nilai))

par(mar = c(5,4,4,2) + 0.1)   # margin standar

pie(
  nilai,
  col = warna,
  labels = NA,
  main = "Proporsi Penduduk Mengalami Ketidakcukupan Konsumsi\nPangan per Provinsi (2024)",
)

legend(
  "bottom",
  inset = -0.25,     # mendorong legend keluar ke bawah
  legend = data2024$Provinsi,
  fill = warna,
  ncol = 3,
  cex = 0.6,
  xpd = TRUE,        # mengizinkan legend di luar plot
  bty = "n"
)

Diagram Batang (Bar Plot)

Berikut syntax untuk menampilkan diagram batang jumlah penduduk yang mengalami ketidakcukupan konsumsi pangan per provinsi tahun 2024.

data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish / 1000000
cex.names = 0.6
par(mar = c(10, 4, 4, 2))

barplot(
  nilai,
  names.arg = data2024$Provinsi,
  col = "skyblue",
  main = "Jumlah Penduduk Mengalami Ketidakcukupan Konsumsi\nPangan per Provinsi (2024)",
  xlab = "Provinsi",
  ylab = "Jumlah Penduduk (Juta)",
  las = 2,
  cex.names = 0.7
)

Histogram

data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish / 1000000
cex.names = 0.6
par(mar = c(10, 4, 4, 2))

hist(
  nilai,
  col = "lightgreen",
  main = "Histogram Jumlah Penduduk Mengalami Ketidakcukupa\n Konsumsi Pangan (2024)",
  xlab = "Jumlah Penduduk (Juta)",
  ylab = "Frekuensi"
)

## Density Plot

data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish / 1000000
cex.names = 0.6
par(mar = c(10, 4, 4, 2))

plot(
  density(nilai),
  col = "blue",
  lwd = 2,
  main = "Density Plot Jumlah Penduduk Mengalami Ketidakcukupan\nKonsumsi Pangan (2024)",
  xlab = "Jumlah Penduduk (Juta)"
)

Boxplot

data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish / 1000000
cex.names = 0.6
par(mar = c(10, 4, 4, 2))

boxplot(
  nilai,
  col = "orange",
  main = "Box Plot Jumlah Penduduk Mengalami Ketidakcukupan\nKonsumsi Pangan (2024)",
  ylab = "Jumlah Penduduk (Juta)"
)

Statistik Deskriptif

data2024 <- subset(dataset, Tahun == 2024)
nilai <- data2024$Penduduk_Undernourish

# Mean
mean(nilai)
## [1] 59597761
# Median
median(nilai)
## [1] 34242879
# Modus
library(modeest)
mfv(nilai)
## [1] 51382877
# Kuartil
quantile(nilai)
##        0%       25%       50%       75%      100% 
##   9446187  17686828  34242879  56900823 341549082
# Q1
quantile(nilai, 0.25)
##      25% 
## 17686828
# Q3
quantile(nilai, 0.75)
##      75% 
## 56900823
# Range
range(nilai)
## [1]   9446187 341549082
# Varians
var(nilai)
## [1] 6.532793e+15
# Standar Deviasi
sd(nilai)
## [1] 80825693