## Nomor 1 : Pendekatan Deret Maclaurin
### a. Pendekatan Nilai Eksponensial
# Fungsi Eksponensial
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
### b.
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
if (suku < 10^(-5)) {
break
}
sum <- sum + ((-1)^i*suku)
i <- i+1
}
return(sum)
}
sin_function(pi/6)
[1] 0.5000021
## Nomor 2: Fungsi rata-rata gerak dari suatu data
hitung_ma <- function(data_input, k=3){
n <- length(data_input)
hasil_ma <- rep(NA, n)
for (t in k:n){
kelompok_data <- data_input[(t-k+1):t]
hasil_ma[t] <- mean(kelompok_data)
}
return(hasil_ma)
}
#Input data berdasarkan tabel
t_index <- 1:12
data_y <- 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)
mt_3 <- hitung_ma(data_y, k=3)
tabel_ma <- data.frame(
t = t_index,
data = data_y,
mt_3 = round(mt_3, 2)
)
print(tabel_ma)
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
LS0tDQp0aXRsZTogIkFzc2lnbm1lbnQgMyINCmF1dGhvcjogIk5hYmlsYSBBZGluYSBaYWhyYSINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCmBgYHtyfQ0KIyMgTm9tb3IgMSA6IFBlbmRla2F0YW4gRGVyZXQgTWFjbGF1cmluDQojIyMgYS4gUGVuZGVrYXRhbiBOaWxhaSBFa3Nwb25lbnNpYWwNCg0KIyBGdW5nc2kgRWtzcG9uZW5zaWFsDQpla3Nwb25lbnNpYWwgPC0gZnVuY3Rpb24oeCwgbil7DQogIHN1bSA8LSAxDQogIA0KICBmb3IoaSBpbiAxOm4pIHsNCiAgICBzdW0gPC0gc3VtICsgeF5pL2ZhY3RvcmlhbChpKQ0KICB9DQogIHJldHVybihzdW0pDQp9DQoNCmVrc3BvbmVuc2lhbCgtMSwgNSkNCmBgYA0KYGBge3J9DQojIyMgYi4gDQpmYWt0b3JpYWwgPC0gZnVuY3Rpb24oeCl7DQogIGZha3QgPC0gMQ0KICBpZih4PD0gMCl7DQogICAgcmV0dXJuKDEpDQogIH0gZWxzZSB7DQogICAgZm9yKGkgaW4gMTp4KXsNCiAgICAgIGZha3QgPC0gZmFrdCppDQogIH0NCiAgcmV0dXJuKGZha3QpDQogIH0NCn0NCg0Kc2luX2Z1bmN0aW9uIDwtICBmdW5jdGlvbih4KXsNCiAgc3VtIDwtIHgNCiAgaSA8LSAgMQ0KICBzdWt1IDwtIDENCg0Kd2hpbGUoc3VrdSA+IDEwXigtNSkpew0KICBwZW1iaWxhbmcgPC0geF4oMippICsgMSkNCiAgcGVueWVidXQgPC0gZmFrdG9yaWFsICgyKmkgKyAxKQ0KICBzdWt1IDwtICBwZW1iaWxhbmcvcGVueWVidXQNCg0KaWYgKHN1a3UgPCAxMF4oLTUpKSB7DQogIGJyZWFrDQp9DQoNCnN1bSA8LSBzdW0gKyAoKC0xKV5pKnN1a3UpDQoNCmkgPC0gaSsxDQp9DQpyZXR1cm4oc3VtKQ0KfQ0KDQpzaW5fZnVuY3Rpb24ocGkvNikNCmBgYA0KYGBge3J9DQojIyBOb21vciAyOiBGdW5nc2kgcmF0YS1yYXRhIGdlcmFrIGRhcmkgc3VhdHUgZGF0YQ0KaGl0dW5nX21hIDwtIGZ1bmN0aW9uKGRhdGFfaW5wdXQsIGs9Myl7DQogIG4gPC0gbGVuZ3RoKGRhdGFfaW5wdXQpDQogIGhhc2lsX21hIDwtICByZXAoTkEsIG4pDQoNCiAgZm9yICh0IGluIGs6bil7DQogICAga2Vsb21wb2tfZGF0YSA8LSBkYXRhX2lucHV0Wyh0LWsrMSk6dF0NCiAgICBoYXNpbF9tYVt0XSA8LSBtZWFuKGtlbG9tcG9rX2RhdGEpDQogIH0NCiAgcmV0dXJuKGhhc2lsX21hKQ0KfQ0KDQojSW5wdXQgZGF0YSBiZXJkYXNhcmthbiB0YWJlbA0KdF9pbmRleCA8LSAxOjEyDQpkYXRhX3kgPC0gYyg0LjEsIDQuOSwgNi4yLCA2LjksIDYuOCwgNC40LCA1LjcsIDUuOCwgNi45LCA0LjcsIDYuMCwgNC45KQ0KDQptdF8zIDwtIGhpdHVuZ19tYShkYXRhX3ksIGs9MykNCg0KdGFiZWxfbWEgPC0gZGF0YS5mcmFtZSgNCnQgPSB0X2luZGV4LA0KZGF0YSA9IGRhdGFfeSwNCm10XzMgPSByb3VuZChtdF8zLCAyKQ0KKQ0KDQpwcmludCh0YWJlbF9tYSkNCmBgYA0K