1 a

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

# contih
exp_maclaurin(-1, 4)
## [1] 0.375

1 b

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

# contoh
sin_maclaurin(pi/6)
## [1] 0.5000021

2

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


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)


moving_average(data)
##  [1]       NA       NA 5.066667 6.000000 6.633333 6.033333 5.633333 5.300000
##  [9] 6.133333 5.800000 5.866667 5.200000