Latihan 4.9.2

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:

  1. anuitas jiwa diskrit (awal dan akhir) seumur hidup;
  2. anuitas jiwa diskrit (awal dan akhir) berjangka 20 tahun;
  3. anuitas jiwa diskrit (awal dan akhir) berjangka 20 tahun yang tertunda 5 tahun;
  4. anuitas jiwa diskrit (awal dan akhir) awal dan pasti 10 tahun.

Jawab

Implementasi R

# 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

Penjelasan

  • 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\)).

    • Anuitas Awal: Pembayaran dilakukan di setiap awal tahun (sehingga di tahun pertama langsung bernilai \(1\), membuat hasilnya lebih besar).
    • Anuitas Akhir: Pembayaran dilakukan di setiap akhir tahun jika peserta masih hidup.
# 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

Penjelasan

  • Output: anuitas awal = 12.66734 | anuitas akhir = 12.43479
  • Penjelasan: Fungsi ini menghitung nilai sekarang dari pembayaran berkala yang dibatasi oleh jangka waktu tertentu, yaitu maksimal hanya 20 tahun (\(n=20\)). Pembayaran akan langsung terhenti jika peserta meninggal dunia sebelum 20 tahun, atau otomatis berhenti setelah mencapai tahun ke-20 meskipun peserta masih hidup. Hasilnya jauh lebih kecil daripada seumur hidup karena periode pembayarannya dibatasi.
# 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

Penjelasan

  • Output: anuitas awal = 10.72979 | anuitas akhir = 9.723377
  • Penjelasan: Fungsi ini memadukan konsep berjangka dan penundaan waktu (deferred). Di sini, pembayaran baru dimulai setelah masa tunggu 5 tahun selesai (\(m=5\)). Setelah melewati 5 tahun, pembayaran baru berjalan selama maksimal 20 tahun ke depan (\(n=20\)), dengan syarat peserta masih hidup. Nilai outputnya lebih kecil daripada anuitas berjangka biasa karena faktor diskonto (nilai uang) berkurang akibat masa penundaan 5 tahun tersebut.
# 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.

    • Selama \(n\) tahun pertama (dalam contoh pengujian menggunakan \(n=20\), sedangkan judul di soal tertulis 10 tahun), pembayaran pasti dilakukan tanpa memedulikan peserta masih hidup atau sudah meninggal dunia (awal.pasti dan akhir.pasti).
    • Setelah melewati masa jaminan \(n\) tahun tersebut, pembayaran baru berubah menjadi anuitas jiwa biasa (tergantung peluang hidup peserta hingga usia maksimal \(w=100\)). Nilai akhirnya menjadi cukup tinggi karena adanya jaminan pembayaran pasti di tahun-tahun awal.