Seseorang (30) mengikuti polis asuransi jiwa dengan fungsi survival:
\[s(x) = \exp(-\frac b {log(C)}(C^x - 1) \quad \text{untuk } x = 0, 1, 2, \dots, 100\] \((B = 10^{-5} , \quad C = 1.09)\) dan tingkat suku bunga \(i = 5\)%. Hitunglah:
# a) Anuitas Jiwa Seumur Hidup
ax.diskrit <- function(i, age, B, C, w) {
v <- 1 / (1 + i)
# Anuitas Awal
ax.awal <- NULL
for(k in 1:(w - age - 1)) {
ax.awal[k] <- v^(k - 1) * (exp((-B / log(C)) * (C^(age + k - 1) - 1))) /
(exp((-B / log(C)) * (C^(age) - 1)))
}
# Anuitas Akhir
ax.akhir <- NULL
for(k in 1:(w - age)) {
ax.akhir[k] <- v^(k) * (exp((-B / log(C)) * (C^(age + k) - 1))) /
(exp((-B / log(C)) * (C^(age) - 1)))
}
cat("anuitas awal =", sum(ax.awal), "\n")
cat("anuitas akhir =", sum(ax.akhir), "\n")
}
ax.diskrit(i=0.05, age=30, B=1e-5, C=1.09, w=100)
## anuitas awal = 19.85393
## anuitas akhir = 18.89044
Output: anuitas awal = 19.85393 | anuitas akhir = 18.89044
Penjelasan: Fungsi ini menghitung nilai sekarang (present value) dari pembayaran kontingen yang diberikan kepada seseorang berusia 30 tahun seumur hidupnya (dibatasi sampai usia maksimal \(\omega = 100\)).
# b) Anuitas Jiwa Berjangka n Tahun
axn.diskrit <- function(i, age, B, C, n) {
v <- 1 / (1 + i)
# Anuitas Awal
ax.awal <- NULL
for(k in 1:(n - 1)) {
ax.awal[k] <- v^(k - 1) * (exp((-B / log(C)) * (C^(age + k - 1) - 1))) /
(exp((-B / log(C)) * (C^(age) - 1)))
}
# Anuitas Akhir
ax.akhir <- NULL
for(k in 1:n) {
ax.akhir[k] <- v^(k) * (exp((-B / log(C)) * (C^(age + k) - 1))) /
(exp((-B / log(C)) * (C^(age) - 1)))
}
cat("anuitas awal =", sum(ax.awal), "\n")
cat("anuitas akhir =", sum(ax.akhir), "\n")
}
axn.diskrit(i=0.05, age=30, B=1e-5, C=1.09, n=20)
## anuitas awal = 12.66734
## anuitas akhir = 12.43479
# c) Anuitas Jiwa Berjangka n Tahun Tertunda m-Tahun
maxn.diskrit <- function(i, age, B, C, n, m) {
v <- 1 / (1 + i)
# Anuitas Awal
ax.awal <- NULL
for(k in m:(m + n - 1)) {
ax.awal[1:(m - 1)] <- 0
ax.awal[k] <- v^(k - 1) * (exp((-B / log(C)) * (C^(age + k - 1) - 1))) /
(exp((-B / log(C)) * (C^(age) - 1)))
}
# Anuitas Akhir
ax.akhir <- NULL
for(k in (m + 1):(m + n)) {
ax.akhir[1:m] <- 0
ax.akhir[k] <- v^(k) * (exp((-B / log(C)) * (C^(age + k) - 1))) /
(exp((-B / log(C)) * (C^(age) - 1)))
}
cat("anuitas awal =", sum(ax.awal), "\n")
cat("anuitas akhir =", sum(ax.akhir), "\n")
}
maxn.diskrit(i=0.05, age=30, B=1e-5, C=1.09, n=20, m=5)
## anuitas awal = 10.72979
## anuitas akhir = 9.723377
# d) Anuitas Jiwa Awal dan Pasti n Tahun
axp.diskrit <- function(i, age, B, C, w, n) {
v <- 1 / (1 + i)
# Bagian Anuitas Jiwa (Awal)
ax.awal <- NULL
for(k in n:(w - age - n - 1)) {
ax.awal[1:(n - 1)] <- 0
ax.awal[k] <- v^(k - 1) * (exp((-B / log(C)) * (C^(age + k - 1) - 1))) /
(exp((-B / log(C)) * (C^(age) - 1)))
}
# Bagian Anuitas Jiwa (Akhir)
ax.akhir <- NULL
for(k in (n + 1):(w - age - n)) {
ax.akhir[1:n] <- 0
ax.akhir[k] <- v^(k) * (exp((-B / log(C)) * (C^(age + k) - 1))) /
(exp((-B / log(C)) * (C^(age) - 1)))
}
# Komponen Anuitas Pasti
awal.pasti <- (1 - v^n) / (1 - v)
akhir.pasti <- (1 - v^n) / i
cat("anuitas awal =", awal.pasti + sum(ax.awal), "\n")
cat("anuitas akhir =", akhir.pasti + sum(ax.akhir), "\n")
}
axp.diskrit(i=0.05, age=30, B=1e-5, C=1.09, w=100, n=20)
## anuitas awal = 19.31594
## anuitas akhir = 18.08584
Output: anuitas awal = 19.31594 | anuitas akhir = 18.08584
Penjelasan: Fungsi ini menghitung jenis anuitas yang memberikan jaminan kepastian.