# Atmariani Ardiningrum, 5003251197
# ASSIGNMENT 3 KOMSTAT WEEK 6
# NOMOR 1.a: Eksponensial Maclaurin
maclaurin_exp <- function(x, n) {
hasil <- 0
for (i in 0:n) {
suku <- (x^i) / factorial(i)
hasil <- hasil + suku
}
return(hasil)
}
hasil_1a <- maclaurin_exp(-1, 4)
print(paste("Hasil 1.a (exp -1, orde 4):", hasil_1a))
## [1] "Hasil 1.a (exp -1, orde 4): 0.375"
# NOMOR 1.b: Sinus Maclaurin
maclaurin_sin <- function(x) {
hasil <- 0
i <- 0
selesai <- FALSE
while (!selesai) {
pangkat <- 2 * i + 1
tanda <- (-1)^i
komponen <- tanda * (x^pangkat) / factorial(pangkat)
if (abs(komponen) < 1e-5) {
selesai <- TRUE
} else {
hasil <- hasil + komponen
i <- i + 1
}
}
return(hasil)
}
hasil_1b <- maclaurin_sin(pi/6)
print(paste("Hasil 1.b (sin pi/6):", hasil_1b))
## [1] "Hasil 1.b (sin pi/6): 0.500002132588792"
# NOMOR 2: Rata-Rata Bergerak (Mt(3))
moving_average_3 <- function(data_input) {
n <- length(data_input)
hasil_ma <- rep(NA, n)
for (t in 3:n) {
hasil_ma[t] <- (data_input[t] + data_input[t-1] + data_input[t-2]) / 3
}
return(hasil_ma)
}
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)
hasil_2 <- moving_average_3(data_y)
tabel_final <- data.frame(
t = 1:12,
Data = data_y,
Mt_3 = round(hasil_2, 2)
)
print("Hasil Nomor 2 (Tabel Rata-Rata Bergerak):")
## [1] "Hasil Nomor 2 (Tabel Rata-Rata Bergerak):"
print(tabel_final)
## 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