Nama : Sabrina Ownya Priyandi Istiqomah

NRP : 5003251132

Kelas : D

SOAL 1

  1. Fungsi dengan input 𝑥 dan 𝑛 untuk mendapatkan nilai eksponensial suatu nilai 𝑥 dengan pendekatan deret Maclaurin dengan orde 𝑛.
exp_Maclaurin <- function(x, n) {
  nilai = 0 
  
  for(i in 0:n){
    suku <- x^i / factorial(i)
    nilai = nilai + suku
  }
  return(nilai)
}

exp_Maclaurin(-1, 5)
[1] 0.3666667
  1. Fungsi dengan input 𝑥 untuk mendapatkan nilai sin (𝑥) dengan pendekatan deret Maclaurin.
sin_Maclaurin <- function(x){
  nilai = 0 
  k = 0
  
  repeat{
    pangkat <- 2*k +1
    suku <- ((-1)^k) * x^pangkat / factorial(pangkat)
    
    if(abs(suku) < 10^-5){
      break
    }
    nilai <- nilai + suku
    k <- k+1
  }
  return(nilai)
}

sin_Maclaurin(pi/6)
[1] 0.5000021

SOAL 2

Fungsi untuk menghitung rata-rata bergerak dari suatu data.

moving_mean <- function(data){
  n <- length(data)
  nilai <- rep(NA, n)
  
  for (i in 3:n){
    nilai[i] <- (data[i] + data[i-1] + data[i-2]) / 3
  }
  
  t <- 1:n
  
  hasil <- cbind(t, Data = data, Mt_3 = round(nilai, 2))
  
  return(hasil)
}

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)

moving_mean(data)
       t Data Mt_3
 [1,]  1  4.1   NA
 [2,]  2  4.9   NA
 [3,]  3  6.2 5.07
 [4,]  4  6.9 6.00
 [5,]  5  6.8 6.63
 [6,]  6  4.4 6.03
 [7,]  7  5.7 5.63
 [8,]  8  5.8 5.30
 [9,]  9  6.9 6.13
[10,] 10  4.7 5.80
[11,] 11  6.0 5.87
[12,] 12  4.9 5.20
LS0tDQp0aXRsZTogIlRVR0FTIDMgU2FicmluYSBPd255YSBQcml5YW5kaSBJc3RpcW9tYWgiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQojIE5hbWEgIDogU2FicmluYSBPd255YSBQcml5YW5kaSBJc3RpcW9tYWgNCiMgTlJQICAgOiA1MDAzMjUxMTMyDQojIEtlbGFzIDogRA0KIyBTT0FMIDENCmEuIEZ1bmdzaSBkZW5nYW4gaW5wdXQg8J2RpSBkYW4g8J2RmyB1bnR1ayBtZW5kYXBhdGthbiBuaWxhaSBla3Nwb25lbnNpYWwgc3VhdHUgbmlsYWkg8J2RpSBkZW5nYW4gcGVuZGVrYXRhbiBkZXJldCBNYWNsYXVyaW4gZGVuZ2FuIG9yZGUg8J2Rmy4NCg0KYGBge3J9DQpleHBfTWFjbGF1cmluIDwtIGZ1bmN0aW9uKHgsIG4pIHsNCiAgbmlsYWkgPSAwIA0KICANCiAgZm9yKGkgaW4gMDpuKXsNCiAgICBzdWt1IDwtIHheaSAvIGZhY3RvcmlhbChpKQ0KICAgIG5pbGFpID0gbmlsYWkgKyBzdWt1DQogIH0NCiAgcmV0dXJuKG5pbGFpKQ0KfQ0KDQpleHBfTWFjbGF1cmluKC0xLCA1KQ0KDQpgYGANCmIuIEZ1bmdzaSBkZW5nYW4gaW5wdXQg8J2RpSB1bnR1ayBtZW5kYXBhdGthbiBuaWxhaSBzaW4gKPCdkaUpIGRlbmdhbiBwZW5kZWthdGFuIGRlcmV0IE1hY2xhdXJpbi4NCg0KYGBge3J9DQpzaW5fTWFjbGF1cmluIDwtIGZ1bmN0aW9uKHgpew0KICBuaWxhaSA9IDAgDQogIGsgPSAwDQogIA0KICByZXBlYXR7DQogICAgcGFuZ2thdCA8LSAyKmsgKzENCiAgICBzdWt1IDwtICgoLTEpXmspICogeF5wYW5na2F0IC8gZmFjdG9yaWFsKHBhbmdrYXQpDQogICAgDQogICAgaWYoYWJzKHN1a3UpIDwgMTBeLTUpew0KICAgICAgYnJlYWsNCiAgICB9DQogICAgbmlsYWkgPC0gbmlsYWkgKyBzdWt1DQogICAgayA8LSBrKzENCiAgfQ0KICByZXR1cm4obmlsYWkpDQp9DQoNCnNpbl9NYWNsYXVyaW4ocGkvNikNCg0KYGBgDQojIFNPQUwgMiANCkZ1bmdzaSB1bnR1ayBtZW5naGl0dW5nIHJhdGEtcmF0YSBiZXJnZXJhayBkYXJpIHN1YXR1IGRhdGEuDQoNCmBgYHtyfQ0KbW92aW5nX21lYW4gPC0gZnVuY3Rpb24oZGF0YSl7DQogIG4gPC0gbGVuZ3RoKGRhdGEpDQogIG5pbGFpIDwtIHJlcChOQSwgbikNCiAgDQogIGZvciAoaSBpbiAzOm4pew0KICAgIG5pbGFpW2ldIDwtIChkYXRhW2ldICsgZGF0YVtpLTFdICsgZGF0YVtpLTJdKSAvIDMNCiAgfQ0KICANCiAgdCA8LSAxOm4NCiAgDQogIGhhc2lsIDwtIGNiaW5kKHQsIERhdGEgPSBkYXRhLCBNdF8zID0gcm91bmQobmlsYWksIDIpKQ0KICANCiAgcmV0dXJuKGhhc2lsKQ0KfQ0KDQpkYXRhIDwtIGMoNC4xLCA0LjksIDYuMiwgNi45LCA2LjgsIDQuNCwgNS43LCA1LjgsIDYuOSwgNC43LCA2LjAsIDQuOSkNCg0KbW92aW5nX21lYW4oZGF0YSkNCmBgYA0KDQoNCg0K