library(lifecontingencies)
## Warning: package 'lifecontingencies' was built under R version 4.5.2
## Package: lifecontingencies
## Authors: Giorgio Alfredo Spedicato [aut, cre] (ORCID:
## <https://orcid.org/0000-0002-0315-8888>),
## Christophe Dutang [ctb] (ORCID:
## <https://orcid.org/0000-0001-6732-1501>),
## Reinhold Kainhofer [ctb] (ORCID:
## <https://orcid.org/0000-0002-7895-1311>),
## Kevin J Owens [ctb],
## Ernesto Schirmacher [ctb],
## Gian Paolo Clemente [ctb] (ORCID:
## <https://orcid.org/0000-0001-6795-4595>),
## Ivan Williams [ctb]
## Version: 1.4.4
## Date: 2025-11-27 22:40:02 UTC
## BugReport: https://github.com/spedygiorgio/lifecontingencies/issues
library(knitr)
## Warning: package 'knitr' was built under R version 4.5.2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
library(tidyr)
# Input Data
usia_korban_meninggal <- c(27, 31, 52, 19, 23, 48, 20, 29, 25, 32, 63, 39, 35, 25, 26, 37)
jumlah_korban_meninggal <- length(usia_korban_meninggal)
jumlah_korban_meninggal
## [1] 16
# Asumsi 12 dari 16 korban adalah pekerja (mendapat BPJS TK), 4 non-pekerja (pelajar/mahasiswa/ibu rumah tangga/lansia), sebelum insiden terjadi
status_pekerja <- c(TRUE, TRUE, FALSE, FALSE, TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE)
status_pekerja
## [1] TRUE TRUE FALSE FALSE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE
## [13] TRUE TRUE TRUE TRUE
# Parameter Aktuaria (Asumsi)
pendapatan_tahunan_rata2 <- 72000000 # Misal 6 jt/bulan = 72 jt/tahun
pendapatan_tahunan_rata2
## [1] 7.2e+07
usia_pensiun <- 59
usia_pensiun
## [1] 59
bunga <- 0.05 # 5%
bunga
## [1] 0.05
usia_tmi <- 0:111
qx_tmi_perempuan <- c(
0.00184, 0.00039, 0.00030, 0.00024, 0.00021, 0.00018, 0.00017, 0.00016, 0.00015, 0.00014,
0.00015, 0.00018, 0.00022, 0.00027, 0.00031, 0.00035, 0.00038, 0.00041, 0.00043, 0.00045,
0.00047, 0.00049, 0.00051, 0.00053, 0.00055, 0.00058, 0.00061, 0.00065, 0.00070, 0.00075,
0.00081, 0.00088, 0.00096, 0.00105, 0.00116, 0.00128, 0.00141, 0.00156, 0.00173, 0.00192,
0.00213, 0.00237, 0.00264, 0.00295, 0.00330, 0.00369, 0.00413, 0.00462, 0.00517, 0.00578,
0.00645, 0.00719, 0.00801, 0.00892, 0.00994, 0.01108, 0.01235, 0.01377, 0.01535, 0.01711,
0.01908, 0.02128, 0.02374, 0.02650, 0.02960, 0.03308, 0.03700, 0.04140, 0.04633, 0.05187,
0.05809, 0.06505, 0.07283, 0.08154, 0.09126, 0.10210, 0.11414, 0.12749, 0.14224, 0.15849,
0.17631, 0.19580, 0.21699, 0.23992, 0.26461, 0.29107, 0.31929, 0.34925, 0.38087, 0.41405,
0.44865, 0.48450, 0.52139, 0.55910, 0.59734, 0.63584, 0.67429, 0.71235, 0.74972, 0.78604,
0.82100, 0.85429, 0.88561, 1.00000
)
if(length(qx_tmi_perempuan) < length(usia_tmi)) {
sisa <- length(usia_tmi) - length(qx_tmi_perempuan)
qx_tmi_perempuan <- c(qx_tmi_perempuan, rep(1.00000, sisa))
}
lx_tmi_perempuan <- numeric(length(usia_tmi))
lx_tmi_perempuan[1] <- 100000
for(i in 1:(length(usia_tmi)-1)) {
lx_tmi_perempuan[i+1] <- lx_tmi_perempuan[i] * (1 - qx_tmi_perempuan[i])
}
# Membuat objek tabel_aktuaria baru tanpa mengubah penamaan objek agar sintaks mengalir di bawahnya
tabel_aktuaria <- new("actuarialtable", x=usia_tmi, lx=lx_tmi_perempuan, interest=bunga)
tabel_aktuaria
## Actuarial table Generic life table interest rate 5 %
##
## x lx Dx Nx Cx Mx
## 1 0 1.000000e+05 1.000000e+05 2.012688e+06 1.752381e+02 4.157720e+03
## 2 1 9.981600e+04 9.506286e+04 1.912688e+06 3.530906e+01 3.982482e+03
## 3 2 9.977707e+04 9.050075e+04 1.817625e+06 2.585736e+01 3.947172e+03
## 4 3 9.974714e+04 8.616533e+04 1.727124e+06 1.969493e+01 3.921315e+03
## 5 4 9.972320e+04 8.204252e+04 1.640959e+06 1.640850e+01 3.901620e+03
## 6 5 9.970226e+04 7.811933e+04 1.558916e+06 1.339188e+01 3.885212e+03
## 7 6 9.968431e+04 7.438597e+04 1.480797e+06 1.204344e+01 3.871820e+03
## 8 7 9.966736e+04 7.083174e+04 1.406411e+06 1.079341e+01 3.859776e+03
## 9 8 9.965142e+04 6.744800e+04 1.335579e+06 9.635429e+00 3.848983e+03
## 10 9 9.963647e+04 6.422656e+04 1.268131e+06 8.563541e+00 3.839347e+03
## 11 10 9.962252e+04 6.115959e+04 1.203905e+06 8.737084e+00 3.830784e+03
## 12 11 9.960758e+04 5.823849e+04 1.142745e+06 9.983741e+00 3.822047e+03
## 13 12 9.958965e+04 5.545524e+04 1.084507e+06 1.161919e+01 3.812063e+03
## 14 13 9.956774e+04 5.280290e+04 1.029052e+06 1.357789e+01 3.800444e+03
## 15 14 9.954086e+04 5.027490e+04 9.762486e+05 1.484306e+01 3.786866e+03
## 16 15 9.951000e+04 4.786601e+04 9.259737e+05 1.595534e+01 3.772023e+03
## 17 16 9.947517e+04 4.557072e+04 8.781077e+05 1.649226e+01 3.756068e+03
## 18 17 9.943737e+04 4.338419e+04 8.325370e+05 1.694050e+01 3.739575e+03
## 19 18 9.939660e+04 4.130134e+04 7.891528e+05 1.691388e+01 3.722635e+03
## 20 19 9.935386e+04 3.931770e+04 7.478515e+05 1.685044e+01 3.705721e+03
## 21 20 9.930915e+04 3.742857e+04 7.085338e+05 1.675374e+01 3.688871e+03
## 22 21 9.926247e+04 3.562951e+04 6.711052e+05 1.662710e+01 3.672117e+03
## 23 22 9.921384e+04 3.391624e+04 6.354757e+05 1.647360e+01 3.655490e+03
## 24 23 9.916324e+04 3.228470e+04 6.015595e+05 1.629609e+01 3.639016e+03
## 25 24 9.911068e+04 3.073104e+04 5.692747e+05 1.609721e+01 3.622720e+03
## 26 25 9.905617e+04 2.925156e+04 5.385437e+05 1.615801e+01 3.606623e+03
## 27 26 9.899872e+04 2.784247e+04 5.092921e+05 1.617515e+01 3.590465e+03
## 28 27 9.893833e+04 2.650046e+04 4.814497e+05 1.640505e+01 3.574290e+03
## 29 28 9.887402e+04 2.522213e+04 4.549492e+05 1.681476e+01 3.557885e+03
## 30 29 9.880481e+04 2.400426e+04 4.297271e+05 1.714590e+01 3.541070e+03
## 31 30 9.873070e+04 2.284406e+04 4.057228e+05 1.762256e+01 3.523924e+03
## 32 31 9.865073e+04 2.173862e+04 3.828788e+05 1.821904e+01 3.506301e+03
## 33 32 9.856392e+04 2.068523e+04 3.611401e+05 1.891221e+01 3.488082e+03
## 34 33 9.846930e+04 1.968131e+04 3.404549e+05 1.968131e+01 3.469170e+03
## 35 34 9.836590e+04 1.872442e+04 3.207736e+05 2.068603e+01 3.449489e+03
## 36 35 9.825180e+04 1.781210e+04 3.020492e+05 2.171379e+01 3.428803e+03
## 37 36 9.812604e+04 1.694219e+04 2.842371e+05 2.275094e+01 3.407089e+03
## 38 37 9.798768e+04 1.611267e+04 2.672949e+05 2.393882e+01 3.384338e+03
## 39 38 9.783482e+04 1.532146e+04 2.511822e+05 2.524393e+01 3.360399e+03
## 40 39 9.766556e+04 1.456662e+04 2.358608e+05 2.663611e+01 3.335155e+03
## 41 40 9.747805e+04 1.384634e+04 2.212941e+05 2.808828e+01 3.308519e+03
## 42 41 9.727042e+04 1.315890e+04 2.074478e+05 2.970151e+01 3.280431e+03
## 43 42 9.703989e+04 1.250258e+04 1.942889e+05 3.143506e+01 3.250729e+03
## 44 43 9.678370e+04 1.187579e+04 1.817863e+05 3.336530e+01 3.219294e+03
## 45 44 9.649819e+04 1.127691e+04 1.699105e+05 3.544171e+01 3.185929e+03
## 46 45 9.617975e+04 1.070447e+04 1.586336e+05 3.761857e+01 3.150487e+03
## 47 46 9.582484e+04 1.015711e+04 1.479292e+05 3.995132e+01 3.112869e+03
## 48 47 9.542909e+04 9.633491e+03 1.377720e+05 4.238736e+01 3.072917e+03
## 49 48 9.498820e+04 9.132366e+03 1.281386e+05 4.496603e+01 3.030530e+03
## 50 49 9.449711e+04 8.652526e+03 1.190062e+05 4.763009e+01 2.985564e+03
## 51 50 9.395092e+04 8.192870e+03 1.103537e+05 5.032763e+01 2.937934e+03
## 52 51 9.334494e+04 7.752406e+03 1.021608e+05 5.308552e+01 2.887606e+03
## 53 52 9.267379e+04 7.330158e+03 9.440839e+04 5.591864e+01 2.834521e+03
## 54 53 9.193147e+04 6.925185e+03 8.707823e+04 5.883109e+01 2.778602e+03
## 55 54 9.111144e+04 6.536583e+03 8.015305e+04 6.187965e+01 2.719771e+03
## 56 55 9.020579e+04 6.163437e+03 7.361646e+04 6.503894e+01 2.657891e+03
## 57 56 8.920631e+04 5.804901e+03 6.745303e+04 6.827670e+01 2.592853e+03
## 58 57 8.810462e+04 5.460201e+03 6.164812e+04 7.160663e+01 2.524576e+03
## 59 58 8.689142e+04 5.128585e+03 5.618792e+04 7.497502e+01 2.452969e+03
## 60 59 8.555763e+04 4.809391e+03 5.105934e+04 7.837018e+01 2.377994e+03
## 61 60 8.409374e+04 4.502002e+03 4.624995e+04 8.180782e+01 2.299624e+03
## 62 61 8.248923e+04 4.205814e+03 4.174795e+04 8.523782e+01 2.217816e+03
## 63 62 8.073386e+04 3.920299e+03 3.754213e+04 8.863609e+01 2.132578e+03
## 64 63 7.881724e+04 3.644982e+03 3.362183e+04 9.199240e+01 2.043942e+03
## 65 64 7.672858e+04 3.379419e+03 2.997685e+04 9.526743e+01 1.951950e+03
## 66 65 7.445742e+04 3.123227e+03 2.659743e+04 9.839652e+01 1.856682e+03
## 67 66 7.199437e+04 2.876105e+03 2.347421e+04 1.013485e+02 1.758286e+03
## 68 67 6.933057e+04 2.637799e+03 2.059810e+04 1.040047e+02 1.656937e+03
## 69 68 6.646029e+04 2.408185e+03 1.796030e+04 1.062583e+02 1.552933e+03
## 70 69 6.338118e+04 2.187251e+03 1.555212e+04 1.080502e+02 1.446674e+03
## 71 70 6.009360e+04 1.975046e+03 1.336486e+04 1.092671e+02 1.338624e+03
## 72 71 5.660276e+04 1.771729e+03 1.138982e+04 1.097629e+02 1.229357e+03
## 73 72 5.292075e+04 1.577599e+03 9.618089e+03 1.094252e+02 1.119594e+03
## 74 73 4.906654e+04 1.393050e+03 8.040490e+03 1.081802e+02 1.010169e+03
## 75 74 4.506565e+04 1.218534e+03 6.647440e+03 1.059080e+02 9.019888e+02
## 76 75 4.095296e+04 1.054600e+03 5.428907e+03 1.025473e+02 7.960808e+02
## 77 76 3.677166e+04 9.018338e+02 4.374307e+03 9.803363e+01 6.935335e+02
## 78 77 3.257454e+04 7.608557e+02 3.472473e+03 9.238238e+01 5.954999e+02
## 79 78 2.842162e+04 6.322421e+02 2.711617e+03 8.564773e+01 5.031175e+02
## 80 79 2.437893e+04 5.164876e+02 2.079375e+03 7.796012e+01 4.174698e+02
## 81 80 2.051511e+04 4.139329e+02 1.562887e+03 6.950524e+01 3.395097e+02
## 82 81 1.689809e+04 3.247165e+02 1.148954e+03 6.055190e+01 2.700044e+02
## 83 82 1.358944e+04 2.487019e+02 8.242379e+02 5.139603e+01 2.094525e+02
## 84 83 1.064067e+04 1.854630e+02 5.755359e+02 4.237740e+01 1.580565e+02
## 85 84 8.087761e+03 1.342540e+02 3.900730e+02 3.383328e+01 1.156791e+02
## 86 85 5.947659e+03 9.402766e+01 2.558190e+02 2.606536e+01 8.184580e+01
## 87 86 4.216474e+03 6.348479e+01 1.617913e+02 1.930482e+01 5.578044e+01
## 88 87 2.870196e+03 4.115688e+01 9.830655e+01 1.368956e+01 3.647562e+01
## 89 88 1.867780e+03 2.550747e+01 5.714966e+01 9.252409e+00 2.278606e+01
## 90 89 1.156399e+03 1.504042e+01 3.164219e+01 5.930938e+00 1.353365e+01
## 91 90 6.775917e+02 8.393270e+00 1.660177e+01 3.586324e+00 7.602709e+00
## 92 91 3.735902e+02 4.407266e+00 8.208505e+00 2.033638e+00 4.016385e+00
## 93 92 1.925857e+02 2.163758e+00 3.801239e+00 1.074440e+00 1.982746e+00
## 94 93 9.217347e+01 9.862820e-01 1.637481e+00 5.251717e-01 9.083067e-01
## 95 94 4.063928e+01 4.141445e-01 6.511991e-01 2.356048e-01 3.831350e-01
## 96 95 1.636381e+01 1.588185e-01 2.370546e-01 9.617443e-02 1.475302e-01
## 97 96 5.959046e+00 5.508128e-02 7.823611e-02 3.537215e-02 5.135575e-02
## 98 97 1.940921e+00 1.708621e-02 2.315482e-02 1.159178e-02 1.598360e-02
## 99 98 5.583059e-01 4.680809e-03 6.068611e-03 3.342187e-03 4.391827e-03
## 100 99 1.397328e-01 1.115727e-03 1.387803e-03 8.352435e-04 1.049641e-03
## 101 100 2.989723e-02 2.273532e-04 2.720760e-04 1.777685e-04 2.143972e-04
## 102 101 5.351604e-03 3.875830e-05 4.472280e-05 3.153413e-05 3.662865e-05
## 103 102 7.797822e-04 5.378545e-06 5.964499e-06 4.536470e-06 5.094522e-06
## 104 103 8.919929e-05 5.859541e-07 5.859541e-07 5.580515e-07 5.580515e-07
## Rx
## 1 2.346681e+05
## 2 2.305103e+05
## 3 2.265279e+05
## 4 2.225807e+05
## 5 2.186594e+05
## 6 2.147577e+05
## 7 2.108725e+05
## 8 2.070007e+05
## 9 2.031409e+05
## 10 1.992920e+05
## 11 1.954526e+05
## 12 1.916218e+05
## 13 1.877998e+05
## 14 1.839877e+05
## 15 1.801873e+05
## 16 1.764004e+05
## 17 1.726284e+05
## 18 1.688723e+05
## 19 1.651327e+05
## 20 1.614101e+05
## 21 1.577044e+05
## 22 1.540155e+05
## 23 1.503434e+05
## 24 1.466879e+05
## 25 1.430489e+05
## 26 1.394262e+05
## 27 1.358195e+05
## 28 1.322291e+05
## 29 1.286548e+05
## 30 1.250969e+05
## 31 1.215558e+05
## 32 1.180319e+05
## 33 1.145256e+05
## 34 1.110375e+05
## 35 1.075684e+05
## 36 1.041189e+05
## 37 1.006901e+05
## 38 9.728298e+04
## 39 9.389864e+04
## 40 9.053824e+04
## 41 8.720308e+04
## 42 8.389457e+04
## 43 8.061413e+04
## 44 7.736341e+04
## 45 7.414411e+04
## 46 7.095818e+04
## 47 6.780769e+04
## 48 6.469483e+04
## 49 6.162191e+04
## 50 5.859138e+04
## 51 5.560581e+04
## 52 5.266788e+04
## 53 4.978027e+04
## 54 4.694575e+04
## 55 4.416715e+04
## 56 4.144738e+04
## 57 3.878949e+04
## 58 3.619664e+04
## 59 3.367206e+04
## 60 3.121909e+04
## 61 2.884110e+04
## 62 2.654147e+04
## 63 2.432366e+04
## 64 2.219108e+04
## 65 2.014714e+04
## 66 1.819519e+04
## 67 1.633850e+04
## 68 1.458022e+04
## 69 1.292328e+04
## 70 1.137035e+04
## 71 9.923673e+03
## 72 8.585048e+03
## 73 7.355691e+03
## 74 6.236097e+03
## 75 5.225928e+03
## 76 4.323939e+03
## 77 3.527858e+03
## 78 2.834325e+03
## 79 2.238825e+03
## 80 1.735707e+03
## 81 1.318238e+03
## 82 9.787279e+02
## 83 7.087235e+02
## 84 4.992710e+02
## 85 3.412145e+02
## 86 2.255354e+02
## 87 1.436896e+02
## 88 8.790917e+01
## 89 5.143355e+01
## 90 2.864750e+01
## 91 1.511385e+01
## 92 7.511141e+00
## 93 3.494756e+00
## 94 1.512009e+00
## 95 6.037027e-01
## 96 2.205677e-01
## 97 7.303750e-02
## 98 2.168175e-02
## 99 5.698146e-03
## 100 1.306319e-03
## 101 2.566784e-04
## 102 4.228122e-05
## 103 5.652573e-06
## 104 5.580515e-07
df_aktuaria <- data.frame(
Usia = tabel_aktuaria@x,
Populasi_Hidup_lx = tabel_aktuaria@lx
)
knitr::kable(
head(df_aktuaria, 71),
col.names = c("Usia (x)", "Jumlah Individu Hidup (lx)"),
caption = "Tabel Mortalitas Perempuan Indonesia (Sampel Usia 0-70 Tahun)",
format = "pipe",
align = "c"
)
Tabel Mortalitas Perempuan Indonesia (Sampel Usia 0-70
Tahun)
| 0 |
100000.00 |
| 1 |
99816.00 |
| 2 |
99777.07 |
| 3 |
99747.14 |
| 4 |
99723.20 |
| 5 |
99702.26 |
| 6 |
99684.31 |
| 7 |
99667.36 |
| 8 |
99651.42 |
| 9 |
99636.47 |
| 10 |
99622.52 |
| 11 |
99607.58 |
| 12 |
99589.65 |
| 13 |
99567.74 |
| 14 |
99540.86 |
| 15 |
99510.00 |
| 16 |
99475.17 |
| 17 |
99437.37 |
| 18 |
99396.60 |
| 19 |
99353.86 |
| 20 |
99309.15 |
| 21 |
99262.47 |
| 22 |
99213.84 |
| 23 |
99163.24 |
| 24 |
99110.68 |
| 25 |
99056.17 |
| 26 |
98998.72 |
| 27 |
98938.33 |
| 28 |
98874.02 |
| 29 |
98804.81 |
| 30 |
98730.70 |
| 31 |
98650.73 |
| 32 |
98563.92 |
| 33 |
98469.30 |
| 34 |
98365.90 |
| 35 |
98251.80 |
| 36 |
98126.04 |
| 37 |
97987.68 |
| 38 |
97834.82 |
| 39 |
97665.56 |
| 40 |
97478.05 |
| 41 |
97270.42 |
| 42 |
97039.89 |
| 43 |
96783.70 |
| 44 |
96498.19 |
| 45 |
96179.75 |
| 46 |
95824.84 |
| 47 |
95429.09 |
| 48 |
94988.20 |
| 49 |
94497.11 |
| 50 |
93950.92 |
| 51 |
93344.94 |
| 52 |
92673.79 |
| 53 |
91931.47 |
| 54 |
91111.44 |
| 55 |
90205.79 |
| 56 |
89206.31 |
| 57 |
88104.62 |
| 58 |
86891.42 |
| 59 |
85557.63 |
| 60 |
84093.74 |
| 61 |
82489.23 |
| 62 |
80733.86 |
| 63 |
78817.24 |
| 64 |
76728.58 |
| 65 |
74457.42 |
| 66 |
71994.37 |
| 67 |
69330.57 |
| 68 |
66460.29 |
| 69 |
63381.18 |
| 70 |
60093.60 |
# Fungsi HLV Aktuaria
hitung_hlv_aktuaria <- function(usia, R, w, act_table) {
n <- w - usia
if (n <= 0) return(0) # Jika sudah melewati usia pensiun, HLV otomatis 0
apv <- lifecontingencies::axn(act_table, x = usia, n = n, payment = "due")
return(R * apv)
}
# Fungsi Total Santunan
hitung_santunan <- function(pekerja) {
santunan_dasar <- 140000000 # JR 50jt + JR Putera/KAI 40jt + Pemprov 50jt
jkk_beasiswa <- 310000000 + 174000000 # Estimasi tambahan BPJS Ketenagakerjaan
if(pekerja) {
return(santunan_dasar + jkk_beasiswa)
} else {
return(santunan_dasar)
}
}
# Perhitungan nilai untuk setiap individu
pendapatan_individu <- ifelse(status_pekerja, pendapatan_tahunan_rata2, 0)
set.seed(123)
hlv_akt <- mapply(
FUN = hitung_hlv_aktuaria,
usia = usia_korban_meninggal,
R = pendapatan_individu,
MoreArgs = list(w = usia_pensiun, act_table = tabel_aktuaria)
)
# Menghitung santunan berdasarkan status kerja
santunan <- sapply(status_pekerja, hitung_santunan)
# Menghitung Protection Gap
gap_kerugian <- pmax(0, hlv_akt - santunan)
# Menyusun Data Frame (dalam Juta Rupiah)
df_hasil <- data.frame(
No = 1:16,
Usia = usia_korban_meninggal,
Status = ifelse(status_pekerja, "Pekerja", "Non-Pekerja"),
HLV_Aktuaria = round(hlv_akt / 1000000, 1),
Total_Santunan = round(santunan / 1000000, 1),
Protection_Gap = round(gap_kerugian / 1000000, 1)
)
total_gap <- sum(gap_kerugian) / 1000000
knitr::kable(df_hasil,
caption = "Tabel 1. Valuasi HLV vs Kompensasi (Juta Rp)",
format = "pipe")
Tabel 1. Valuasi HLV vs Kompensasi (Juta Rp)
| 1 |
27 |
Pekerja |
1169.3 |
624 |
545.3 |
| 2 |
31 |
Pekerja |
1099.0 |
624 |
475.0 |
| 3 |
52 |
Non-Pekerja |
0.0 |
140 |
0.0 |
| 4 |
19 |
Non-Pekerja |
0.0 |
140 |
0.0 |
| 5 |
23 |
Pekerja |
1227.7 |
624 |
603.7 |
| 6 |
48 |
Pekerja |
607.7 |
624 |
0.0 |
| 7 |
20 |
Non-Pekerja |
0.0 |
140 |
0.0 |
| 8 |
29 |
Pekerja |
1135.8 |
624 |
511.8 |
| 9 |
25 |
Pekerja |
1199.9 |
624 |
575.9 |
| 10 |
32 |
Pekerja |
1079.3 |
624 |
455.3 |
| 11 |
63 |
Non-Pekerja |
0.0 |
140 |
0.0 |
| 12 |
39 |
Pekerja |
913.4 |
624 |
289.4 |
| 13 |
35 |
Pekerja |
1014.6 |
624 |
390.6 |
| 14 |
25 |
Pekerja |
1199.9 |
624 |
575.9 |
| 15 |
26 |
Pekerja |
1185.0 |
624 |
561.0 |
| 16 |
37 |
Pekerja |
966.3 |
624 |
342.3 |
total_hlv_idr <- sum(hlv_akt)
total_santunan_idr <- sum(santunan)
total_gap_idr <- sum(gap_kerugian)
cat("\n--- RINGKASAN KERUGIAN EKONOMI & SANTUNAN ---\n")
##
## --- RINGKASAN KERUGIAN EKONOMI & SANTUNAN ---
cat("Total Korban Jiwa : ", length(usia_korban_meninggal), " orang\n")
## Total Korban Jiwa : 16 orang
cat("Rata-rata Usia Korban : ", round(mean(usia_korban_meninggal), 1), " tahun\n")
## Rata-rata Usia Korban : 33.2 tahun
cat("Total HLV (Kerugian Ekonomi) : Rp ", formatC(total_hlv_idr, format="f", big.mark=".", decimal.mark=",", digits=0), "\n")
## Total HLV (Kerugian Ekonomi) : Rp 12.797.884.031
cat("Total Santunan Disalurkan : Rp ", formatC(total_santunan_idr, format="f", big.mark=".", decimal.mark=",", digits=0), "\n")
## Total Santunan Disalurkan : Rp 8.048.000.000
cat("Total Protection Gap : Rp ", formatC(total_gap_idr, format="f", big.mark=".", decimal.mark=",", digits=0), "\n")
## Total Protection Gap : Rp 5.326.187.887
cat("----------------------------------------------\n")
## ----------------------------------------------
df_long <- data.frame(
No = rep(1:16, 2),
Kategori = rep(c("HLV Aktuaria", "Total Santunan"), each = 16),
Nilai = c(df_hasil$HLV_Aktuaria, df_hasil$Total_Santunan)
)
ggplot2::ggplot(df_long, ggplot2::aes(x = factor(No), y = Nilai, fill = Kategori)) +
ggplot2::geom_bar(stat = "identity", position = "dodge", width = 0.7) +
ggplot2::scale_fill_manual(values = c("#E41A1C", "#377EB8")) +
ggplot2::labs(
title = "Perbandingan HLV Aktuaria vs Total Santunan per Korban",
subtitle = "Kereta Commuter Line vs KA Argo Bromo Anggrek (Dalam Juta Rupiah)",
x = "Nomor Urut Korban",
y = "Nilai (Juta Rp)",
fill = "Keterangan"
) +
ggplot2::theme_minimal() +
ggplot2::theme(plot.title = ggplot2::element_text(face = "bold", size = 14))

df_grafik_usia <- df_hasil[order(df_hasil$Usia), ]
ggplot2::ggplot(df_grafik_usia, ggplot2::aes(x = Usia, y = HLV_Aktuaria)) +
ggplot2::geom_line(color = "red", linewidth = 1) +
ggplot2::geom_point(color = "blue", size = 3) +
ggplot2::labs(
title = "Dampak Usia terhadap Nilai Ekonomi yang Hilang (HLV)",
subtitle = "Semakin muda usia korban, semakin besar potensi pendapatan yang hilang (PV)",
x = "Usia Korban saat Insiden (Tahun)",
y = "Nilai HLV (Juta Rupiah)"
) +
ggplot2::theme_minimal() +
ggplot2::theme(
plot.title = ggplot2::element_text(face = "bold", size = 13),
plot.subtitle = ggplot2::element_text(size = 10, color = "dimgray")
)
