#Faza Syifa Wibowo
#5003251201
#Assignment 3

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

sin_function <- function(x){
  sum <- x
  
  i <- 1
  suku <- 1
  
  while (suku > 10^(-5)){
    pembilang <- x^(2*i + 1)
    penyebut <- sum + (-1)^i * suku
    
    i = i+1
  }
  return (sum)
}

sin_function (pi/6)

#soal 2
data <- c(4.1, 4.9, 6.2, 6.9, 6.8, 4.4, 5.7, 5.8, 6.9, 4.7, 6.9)
moving_average <- function (data){
  n <- length (data)
  mt <- rep(NA, n) 
  
  for (t in 3:n){
    mt [t] <- (data[t] + data[t] + data[t-2]) / 3
  }
  return (mt)
}

moving_average(data)
 [1]       NA       NA 5.500000 6.233333 6.600000 5.233333 6.066667 5.333333 6.500000 5.066667 6.900000
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCmBgYHtyfQ0KI0ZhemEgU3lpZmEgV2lib3dvDQojNTAwMzI1MTIwMQ0KI0Fzc2lnbm1lbnQgMw0KDQojc29hbCAxQQ0KZWtzcG9uZW5zaWFsIDwtIGZ1bmN0aW9uICh4LCBuKXsNCiAgc3VtIDwtIDENCiAgZm9yIChpIGluIDE6biApew0KICAgIHN1bSA8LSBzdW0gKyB4XmkvZmFjdG9yaWFsKGkpDQogICAgDQogIH0NCiAgcmV0dXJuIChzdW0pDQp9DQpla3Nwb25lbnNpYWwgKC0xLCA1KQ0KDQojc29hbCAxQg0KZmFrdG9yaWFsIDwtIGZ1bmN0aW9uICh4KXsNCiAgZmFrdCA8LSAxDQogIGlmICh4IDw9IDApew0KICAgIHJldHVybiAoMSkNCiAgfWVsc2V7DQogICAgZm9yIChpIGluIDE6eCl7DQogICAgICBmYWt0IDwtIGZha3QqaQ0KICAgIH0NCiAgICByZXR1cm4gKGZha3QpDQogIH0NCn0NCg0Kc2luX2Z1bmN0aW9uIDwtIGZ1bmN0aW9uKHgpew0KICBzdW0gPC0geA0KICANCiAgaSA8LSAxDQogIHN1a3UgPC0gMQ0KICANCiAgd2hpbGUgKHN1a3UgPiAxMF4oLTUpKXsNCiAgICBwZW1iaWxhbmcgPC0geF4oMippICsgMSkNCiAgICBwZW55ZWJ1dCA8LSBzdW0gKyAoLTEpXmkgKiBzdWt1DQogICAgDQogICAgaSA9IGkrMQ0KICB9DQogIHJldHVybiAoc3VtKQ0KfQ0KDQpzaW5fZnVuY3Rpb24gKHBpLzYpDQoNCiNzb2FsIDINCmRhdGEgPC0gYyg0LjEsIDQuOSwgNi4yLCA2LjksIDYuOCwgNC40LCA1LjcsIDUuOCwgNi45LCA0LjcsIDYuOSkNCm1vdmluZ19hdmVyYWdlIDwtIGZ1bmN0aW9uIChkYXRhKXsNCiAgbiA8LSBsZW5ndGggKGRhdGEpDQogIG10IDwtIHJlcChOQSwgbikgDQogIA0KICBmb3IgKHQgaW4gMzpuKXsNCiAgICBtdCBbdF0gPC0gKGRhdGFbdF0gKyBkYXRhW3RdICsgZGF0YVt0LTJdKSAvIDMNCiAgfQ0KICByZXR1cm4gKG10KQ0KfQ0KDQptb3ZpbmdfYXZlcmFnZShkYXRhKQ0KDQoNCg0KDQoNCmBgYA0KDQo=