#No. 1.a.
exp_maclaurin <- function (x, n){
  hasil <- 0
  for ( k in 0:n){
    hasil <- hasil + (x^k)/factorial(k)
  }
  return (hasil)
}

exp_maclaurin(-1, 5)
## [1] 0.3666667
#No. 1.b.
sin_maclaurin <- function (x){
  hasil <- 0
  k <- 0
  repeat{
    suku <- ((-1)^k*x^(2*k+1))/factorial(2*k+1)
    hasil <- hasil + suku
    
    if(abs(suku)<10^(-5)){
      break
    }
    k<-k+1
  }
  return(hasil)
}

sin_maclaurin(pi/6)
## [1] 0.5
#No. 2
rata_bergerak <- function (data, k=3){
  n <- length(data)
  hasil <- rep(NA,n)
  
  for(t in k:n){
    hasil[t]<- mean (data[(t-k+1):t])
  }
  return (hasil)
}
#Data
data<- c(4.1, 4.9, 6.2, 6.9, 6.8, 4.4, 5.7, 5.8, 6.9, 4.7, 6, 4.9)

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