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

Nama : Adelia Khairunnisa Putri

NRP : 5003251144

Kelas : D

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

# STUDY CASE 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
# STUDY CASE 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 <- faktorial(2*i + 1)
    suku <- pembilang/penyebut 
    sum <-  sum + (-1)^i * suku
    
    i = i+1
  }
  return(sum)
}

sin_function(pi/6)
[1] 0.5
#STUDY CASE 2
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)

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)
}

ma <- moving_average(data)

print(data.frame(
  t = 1:length(data),
  data = data,
  Mt3 = round(ma, 2)
),
row.names = FALSE)
  t data  Mt3
  1  4.1   NA
  2  4.9   NA
  3  6.2 5.07
  4  6.9 6.00
  5  6.8 6.63
  6  4.4 6.03
  7  5.7 5.63
  8  5.8 5.30
  9  6.9 6.13
 10  4.7 5.80
 11  6.0 5.87
 12  4.9 5.20
LS0tDQp0aXRsZTogIlRVR0FTIDMgQURFTElBIEtIQUlSVU5OSVNBIFBVVFJJICg1MDAzMjUxMTQ0KSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQojIE5hbWEgIDogQWRlbGlhIEtoYWlydW5uaXNhIFB1dHJpDQojIE5SUCAgIDogNTAwMzI1MTE0NA0KIyBLZWxhcyA6IEQNCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCmBgYHtyfQ0KIyBTVFVEWSBDQVNFIDFBDQoNCmVrc3BvbmVuc2lhbCA8LSBmdW5jdGlvbih4LCBuKXsNCiAgc3VtIDwtIDENCiAgZm9yKGkgaW4gMTpuKXsNCiAgICBzdW0gPC0gc3VtICsgeF5pL2ZhY3RvcmlhbChpKQ0KICB9DQogIHJldHVybihzdW0pDQp9DQoNCmVrc3BvbmVuc2lhbCgtMSwgNSkNCmBgYA0KDQpgYGB7cn0NCiMgU1RVRFkgQ0FTRSAxQg0KZmFrdG9yaWFsIDwtIGZ1bmN0aW9uKHgpew0KICBmYWt0IDwtIDENCiAgaWYoeCA8PSAwKXsNCiAgICByZXR1cm4oMSkNCiAgfWVsc2V7DQogICAgZm9yKGkgaW4gMTp4KXsNCiAgICAgIGZha3QgPC0gZmFrdCppDQogICAgfQ0KICAgIHJldHVybihmYWt0KQ0KICB9DQp9DQoNCnNpbl9mdW5jdGlvbiA8LSBmdW5jdGlvbih4KXsNCiAgc3VtIDwtIHgNCiAgDQogIGkgPC0gIDENCiAgc3VrdSAgPC0gMQ0KDQogIHdoaWxlKHN1a3UgPiAxMF4oLTUpKXsNCiAgICBwZW1iaWxhbmcgPC0geF4oMippICsgMSkNCiAgICBwZW55ZWJ1dCA8LSBmYWt0b3JpYWwoMippICsgMSkNCiAgICBzdWt1IDwtIHBlbWJpbGFuZy9wZW55ZWJ1dCANCiAgICBzdW0gPC0gIHN1bSArICgtMSleaSAqIHN1a3UNCiAgICANCiAgICBpID0gaSsxDQogIH0NCiAgcmV0dXJuKHN1bSkNCn0NCg0Kc2luX2Z1bmN0aW9uKHBpLzYpDQpgYGANCg0KYGBge3J9DQojU1RVRFkgQ0FTRSAyDQpkYXRhIDwtIGMoNC4xLDQuOSw2LjIsNi45LDYuOCw0LjQsNS43LDUuOCw2LjksNC43LDYsNC45KQ0KDQptb3ZpbmdfYXZlcmFnZSA8LSBmdW5jdGlvbihkYXRhKXsNCiAgbiA8LSBsZW5ndGgoZGF0YSkNCiAgaGFzaWwgPC0gcmVwKE5BLCBuKQ0KICANCiAgZm9yKGkgaW4gMzpuKXsNCiAgICBoYXNpbFtpXSA8LSAoZGF0YVtpXSArIGRhdGFbaS0xXSArIGRhdGFbaS0yXSkgLyAzDQogIH0NCiAgDQogIHJldHVybihoYXNpbCkNCn0NCg0KbWEgPC0gbW92aW5nX2F2ZXJhZ2UoZGF0YSkNCg0KcHJpbnQoZGF0YS5mcmFtZSgNCiAgdCA9IDE6bGVuZ3RoKGRhdGEpLA0KICBkYXRhID0gZGF0YSwNCiAgTXQzID0gcm91bmQobWEsIDIpDQopLA0Kcm93Lm5hbWVzID0gRkFMU0UpDQpgYGANCg0K