#  ==========================================================================
#  Nama  : Rasta Zelvino Zulkarnain
#  NRP   : 5003251081
#  Kelas : Komputasi Statistika D
#  ==========================================================================

NO 1

#1a - fungsi mendapatkan nilai ekponensian x dengan Maclaurin orde n

exp_mcl <- function(x,n){
  
  deret <- 1
  total <- 0
  
  for(i in 0:n){
    deret <-(x^i)/factorial(i)
    total <-  total+ deret
  }
  
  return(total)

}

#contoh nilai eksponensial dari -1 dengan orde 5
exp_mcl(-1,5)
[1] 0.3666667
#1b - Mendapatkan sin(x) dengan pendekatan Maclaurin

sin_mcl <- function(x){
  total <- 0
  i     <- 0
  deret <- x

  while(abs(deret)>= 1e-5){
    total <- total + deret
    i     <- i+1
    deret <- (-1)^i * x^(2*i+1) / factorial(2*i+1)
    
  }
    return(total)
}  

#contoh dapatkan nilai sin(pi/6) dengan deret Maclaurin
sin_mcl(pi/6)
[1] 0.5000021

NO 2

#2 Menghitung rata-rata bergerak dari suatu data 

avg_gerak<- function(data,k){
  
  n <- length(data)
  hasil <- rep(NA, n)

  for( t in k:n){
  total <- 0
  
  
  for(i in (t-k+1):t){
  total <-  total + data[i]
  }
 
  hasil[t] <- total/k
  
  }
  
  return(hasil)
}

  
#contoh 
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)
hasilmt <- avg_gerak(data, 3)


data.frame(
  t= 1:length(data),
  Data = data,
  Mt3= round(hasilmt,2)
)
LS0tDQp0aXRsZTogIlRVR0FTIDMiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNCmBgYHtyfQ0KIyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiMgIE5hbWEgIDogUmFzdGEgWmVsdmlubyBadWxrYXJuYWluDQojICBOUlAgICA6IDUwMDMyNTEwODENCiMgIEtlbGFzIDogS29tcHV0YXNpIFN0YXRpc3Rpa2EgRA0KIyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KYGBgDQoNCk5PIDENCmBgYHtyfQ0KIzFhIC0gZnVuZ3NpIG1lbmRhcGF0a2FuIG5pbGFpIGVrcG9uZW5zaWFuIHggZGVuZ2FuIE1hY2xhdXJpbiBvcmRlIG4NCg0KZXhwX21jbCA8LSBmdW5jdGlvbih4LG4pew0KICANCiAgZGVyZXQgPC0gMQ0KICB0b3RhbCA8LSAwDQogIA0KICBmb3IoaSBpbiAwOm4pew0KICAgIGRlcmV0IDwtKHheaSkvZmFjdG9yaWFsKGkpDQogICAgdG90YWwgPC0gIHRvdGFsKyBkZXJldA0KICB9DQogIA0KICByZXR1cm4odG90YWwpDQoNCn0NCg0KI2NvbnRvaCBuaWxhaSBla3Nwb25lbnNpYWwgZGFyaSAtMSBkZW5nYW4gb3JkZSA1DQpleHBfbWNsKC0xLDUpDQpgYGANCg0KDQpgYGB7cn0NCiMxYiAtIE1lbmRhcGF0a2FuIHNpbih4KSBkZW5nYW4gcGVuZGVrYXRhbiBNYWNsYXVyaW4NCg0Kc2luX21jbCA8LSBmdW5jdGlvbih4KXsNCiAgdG90YWwgPC0gMA0KICBpICAgICA8LSAwDQogIGRlcmV0IDwtIHgNCg0KICB3aGlsZShhYnMoZGVyZXQpPj0gMWUtNSl7DQogICAgdG90YWwgPC0gdG90YWwgKyBkZXJldA0KICAgIGkgICAgIDwtIGkrMQ0KICAgIGRlcmV0IDwtICgtMSleaSAqIHheKDIqaSsxKSAvIGZhY3RvcmlhbCgyKmkrMSkNCiAgICANCiAgfQ0KICAgIHJldHVybih0b3RhbCkNCn0gIA0KDQojY29udG9oIGRhcGF0a2FuIG5pbGFpIHNpbihwaS82KSBkZW5nYW4gZGVyZXQgTWFjbGF1cmluDQpzaW5fbWNsKHBpLzYpDQpgYGANCg0KTk8gMg0KYGBge3J9DQojMiBNZW5naGl0dW5nIHJhdGEtcmF0YSBiZXJnZXJhayBkYXJpIHN1YXR1IGRhdGEgDQoNCmF2Z19nZXJhazwtIGZ1bmN0aW9uKGRhdGEsayl7DQogIA0KICBuIDwtIGxlbmd0aChkYXRhKQ0KICBoYXNpbCA8LSByZXAoTkEsIG4pDQoNCiAgZm9yKCB0IGluIGs6bil7DQogIHRvdGFsIDwtIDANCiAgDQogIA0KICBmb3IoaSBpbiAodC1rKzEpOnQpew0KICB0b3RhbCA8LSAgdG90YWwgKyBkYXRhW2ldDQogIH0NCiANCiAgaGFzaWxbdF0gPC0gdG90YWwvaw0KICANCiAgfQ0KICANCiAgcmV0dXJuKGhhc2lsKQ0KfQ0KDQogIA0KI2NvbnRvaCANCmRhdGEgPC0gYyg0LjEsIDQuOSwgNi4yLCA2LjksIDYuOCwgNC40LCA1LjcsIDUuOCwgNi45LCA0LjcsIDYsIDQuOSkNCmhhc2lsbXQgPC0gYXZnX2dlcmFrKGRhdGEsIDMpDQoNCg0KZGF0YS5mcmFtZSgNCiAgdD0gMTpsZW5ndGgoZGF0YSksDQogIERhdGEgPSBkYXRhLA0KICBNdDM9IHJvdW5kKGhhc2lsbXQsMikNCikNCmBgYA0K