==============================================================================

TUGAS 3 KOMPUTASI STATISTIKA

==============================================================================

Nama : Bagoes Nugroho Dwi Ariyanto

NRP : 5003251017

Kelas : D

==============================================================================

1a. Buatlah sebuah fungsi dengan input π‘₯ dan 𝑛 untuk mendapatkan nilai eksponensial suatu nilai π‘₯ dengan pendekatan deret Maclaurin dengan orde 𝑛

Fungsi exp_maclaurin

exp_maclaurin <- function(x, n){
  hasil <- 0
  for(i in 0:n){
    hasil <- hasil + (x^i) / factorial(i)
  }
  return (hasil)
}

Pemanggilan fungsi exp_maclaurin dengan nilai eksponensial -1 dan orde 5

exp_maclaurin(-1, 5)
## [1] 0.3666667

1b. Buatlah sebuah fungsi dengan input π‘₯ untuk mendapatkan nilai sin⁑(π‘₯) dengan pendekatan deret Maclaurin

Fungsi sin_maclaurin

sin_maclaurin <- function(x, nilai_akhir = 1e-5){
  hasil <- 0
  i <- 0
  suku <- x
  
  while(abs(suku) >= nilai_akhir){
    suku <- ((-1)^i) * (x^(2*i + 1))/ factorial(2*i + 1)
    hasil <- hasil + suku
    i <- i + 1
  }
  return(hasil)
}

Pemanggilan fungsi sin_maclaurin untuk sin(pi/6)

sin_maclaurin(pi/6)
## [1] 0.5

2. Buat sebuah fungsi untuk menghitung rata-rata bergerak dari suatu data

Data dari soal

data <- c(4.1, 4.9, 6.2, 6.9, 6.8, 4.4, 5.7, 5.8, 6.9, 4.7, 6.0, 4.9)

Fungsi moving_average

moving_average <- function(data, k = 3){
  n <- length(data)
  hasil <- rep(NA, n)
  
  for(i in k:n){
    hasil[i] <- mean(data[(i-k+1):i])
  }
  return(hasil)
}

Pemanggilan fungsi moving_average

mt3 <- moving_average(data, 3)

Menampilkan hasil moving_average dalam bentuk tabel

hasil <- data.frame(
  t = 1:length(data),
  Data = data,
  Mt3 = round(mt3, 2)
)
hasil
##     t Data  Mt3
## 1   1  4.1   NA
## 2   2  4.9   NA
## 3   3  6.2 5.07
## 4   4  6.9 6.00
## 5   5  6.8 6.63
## 6   6  4.4 6.03
## 7   7  5.7 5.63
## 8   8  5.8 5.30
## 9   9  6.9 6.13
## 10 10  4.7 5.80
## 11 11  6.0 5.87
## 12 12  4.9 5.20