Alfarrel Mahendra L. | 5003251034

  1. a
faktorial <- function(x){
  fakt <- 1
  if(x <= 0){
    return(1)
  }else{
    for(i in 1:x){
      fakt <- fakt*i
    }
    return(fakt)
  }
}
eksponensial <- function(x, n){
  sum <- 1
  for(i in 1:n){
    sum <- sum + x^i/faktorial(i)
  }
  return(sum)
}
eksponensial(-1, 5)
[1] 0.3666667

1.b

sin_function <- function(x){
  sum <- x
  i <-  1
  suku  <- 1

  while(suku > 10^(-5)){
    pembilang <- x^(2*i + 1)
    penyebut <- faktorial(2*i + 1)
    suku <- pembilang/penyebut 
    sum <-  sum + (-1)^i * suku
    
    i = i+1
  }
  return(sum)
}
sin_function(pi/6)
[1] 0.5

2

mean_data <- function(x){
  n <- length(x)
  sumx <- 0
  for(i in 1:n){
    sumx = sumx + x[i]
  }
  return(sumx/n)
}

rata2_bergerak <- function(x, k = 3) {
  n <- length(x)
  Mt <- rep(NA, n)  
  for (t in k:n) {
    Mt[t] <- mean_data(x[(t-k+1):t])
  }
  return(Mt)
}

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)

Mt3 <- rata2_bergerak(data, 3)
LS0tDQp0aXRsZTogIlR1Z2FzIDMiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpBbGZhcnJlbCBNYWhlbmRyYSBMLiB8IDUwMDMyNTEwMzQNCg0KMS4gIGENCg0KYGBge3J9DQpmYWt0b3JpYWwgPC0gZnVuY3Rpb24oeCl7DQogIGZha3QgPC0gMQ0KICBpZih4IDw9IDApew0KICAgIHJldHVybigxKQ0KICB9ZWxzZXsNCiAgICBmb3IoaSBpbiAxOngpew0KICAgICAgZmFrdCA8LSBmYWt0KmkNCiAgICB9DQogICAgcmV0dXJuKGZha3QpDQogIH0NCn0NCmVrc3BvbmVuc2lhbCA8LSBmdW5jdGlvbih4LCBuKXsNCiAgc3VtIDwtIDENCiAgZm9yKGkgaW4gMTpuKXsNCiAgICBzdW0gPC0gc3VtICsgeF5pL2Zha3RvcmlhbChpKQ0KICB9DQogIHJldHVybihzdW0pDQp9DQpgYGANCg0KYGBge3J9DQpla3Nwb25lbnNpYWwoLTEsIDUpDQpgYGANCg0KMS5iDQoNCmBgYHtyfQ0Kc2luX2Z1bmN0aW9uIDwtIGZ1bmN0aW9uKHgpew0KICBzdW0gPC0geA0KICBpIDwtICAxDQogIHN1a3UgIDwtIDENCg0KICB3aGlsZShzdWt1ID4gMTBeKC01KSl7DQogICAgcGVtYmlsYW5nIDwtIHheKDIqaSArIDEpDQogICAgcGVueWVidXQgPC0gZmFrdG9yaWFsKDIqaSArIDEpDQogICAgc3VrdSA8LSBwZW1iaWxhbmcvcGVueWVidXQgDQogICAgc3VtIDwtICBzdW0gKyAoLTEpXmkgKiBzdWt1DQogICAgDQogICAgaSA9IGkrMQ0KICB9DQogIHJldHVybihzdW0pDQp9DQpgYGANCg0KYGBge3J9DQpzaW5fZnVuY3Rpb24ocGkvNikNCg0KYGBgDQoNCjINCg0KYGBge3J9DQptZWFuX2RhdGEgPC0gZnVuY3Rpb24oeCl7DQogIG4gPC0gbGVuZ3RoKHgpDQogIHN1bXggPC0gMA0KICBmb3IoaSBpbiAxOm4pew0KICAgIHN1bXggPSBzdW14ICsgeFtpXQ0KICB9DQogIHJldHVybihzdW14L24pDQp9DQoNCnJhdGEyX2JlcmdlcmFrIDwtIGZ1bmN0aW9uKHgsIGsgPSAzKSB7DQogIG4gPC0gbGVuZ3RoKHgpDQogIE10IDwtIHJlcChOQSwgbikgIA0KICBmb3IgKHQgaW4gazpuKSB7DQogICAgTXRbdF0gPC0gbWVhbl9kYXRhKHhbKHQtaysxKTp0XSkNCiAgfQ0KICByZXR1cm4oTXQpDQp9DQoNCmRhdGEgPC0gYyg0LjEsIDQuOSwgNi4yLCA2LjksIDYuOCwgNC40LCA1LjcsIDUuOCwgNi45LCA0LjcsIDYuMCwgNC45KQ0KDQpNdDMgPC0gcmF0YTJfYmVyZ2VyYWsoZGF0YSwgMykNCmBgYA0KDQpgYGB7cn0NCmRhdGEuZnJhbWUoDQogIHQgPSAxOmxlbmd0aChkYXRhKSwNCiAgRGF0YSA9IGRhdGEsDQogIE10MyA9IHJvdW5kKE10MywgMikNCikNCmBgYA0K