#=========================================================
# LATIHAN PREDIKSI PERMINTAAN ES TEH
# METODE DISTRIBUSI FREKUENSI / EXPECTED VALUE
#=========================================================
#-----------------------------
# 1. INPUT DATA
#-----------------------------
permintaan <- c(50, 60, 70, 80, 90)
frekuensi <- c(10, 20, 40, 20, 10)
# Total hari observasi
total_hari <- sum(frekuensi)
#-----------------------------
# 2. HITUNG PROBABILITAS
#-----------------------------
probabilitas <- frekuensi / total_hari
# Tampilkan tabel probabilitas
data.frame(
Permintaan = permintaan,
Frekuensi = frekuensi,
Probabilitas = probabilitas
)
## Permintaan Frekuensi Probabilitas
## 1 50 10 0.1
## 2 60 20 0.2
## 3 70 40 0.4
## 4 80 20 0.2
## 5 90 10 0.1
#-----------------------------
# 3. HITUNG NILAI HARAPAN
# E(X) = Σ x * p(x)
#-----------------------------
rata_harian <- sum(permintaan * probabilitas)
cat("Rata-rata permintaan per hari =", rata_harian, "gelas\n")
## Rata-rata permintaan per hari = 70 gelas
#-----------------------------
# 4. PREDIKSI 5 HARI KE DEPAN
#-----------------------------
prediksi_5 <- rata_harian * 5
cat("Prediksi 5 hari ke depan =", prediksi_5, "gelas\n")
## Prediksi 5 hari ke depan = 350 gelas
#-----------------------------
# 5. PREDIKSI 20 HARI KE DEPAN
#-----------------------------
prediksi_20 <- rata_harian * 20
cat("Prediksi 20 hari ke depan =", prediksi_20, "gelas\n")
## Prediksi 20 hari ke depan = 1400 gelas
#-----------------------------
# 6. VISUALISASI DATA
#-----------------------------
barplot(frekuensi,
names.arg = permintaan,
col = "skyblue",
main = "Frekuensi Permintaan Es Teh",
xlab = "Permintaan (gelas)",
ylab = "Frekuensi")

#=========================================================
# SELESAI
#=========================================================
#====================================================
# LATIHAN 2
# Simulasi Data Distribusi Eksponensial dan Normal
#====================================================
# Agar hasil random selalu sama
set.seed(123)
#----------------------------------------------------
# 1. BANGKITKAN DATA
#----------------------------------------------------
# Variabel permintaan (10 data) distribusi eksponensial
permintaan <- rexp(10, rate = 1/70)
# Dibulatkan agar realistis (gelas)
permintaan <- round(permintaan)
# Variabel frekuensi distribusi normal
frekuensi <- rnorm(10, mean = 20, sd = 5)
# Dibulatkan
frekuensi <- round(frekuensi)
# Jika ada nilai negatif, ubah jadi positif
frekuensi[frekuensi < 0] <- 1
# Tampilkan data
data.frame(permintaan, frekuensi)
## permintaan frekuensi
## 1 59 18
## 2 40 26
## 3 93 22
## 4 2 22
## 5 4 21
## 6 22 17
## 7 22 29
## 8 10 22
## 9 191 10
## 10 2 24
#----------------------------------------------------
# 2. HITUNG RATA-RATA PERMINTAAN
#----------------------------------------------------
rata_permintaan <- mean(permintaan)
cat("Rata-rata permintaan per hari =", rata_permintaan, "\n")
## Rata-rata permintaan per hari = 44.5
#----------------------------------------------------
# 3. PREDIKSI
#----------------------------------------------------
prediksi_5 <- rata_permintaan * 5
prediksi_20 <- rata_permintaan * 20
prediksi_100 <- rata_permintaan * 100
prediksi_1000 <- rata_permintaan * 1000
cat("Prediksi 5 hari =", prediksi_5, "\n")
## Prediksi 5 hari = 222.5
cat("Prediksi 20 hari =", prediksi_20, "\n")
## Prediksi 20 hari = 890
cat("Prediksi 100 hari =", prediksi_100, "\n")
## Prediksi 100 hari = 4450
cat("Prediksi 1000 hari =", prediksi_1000, "\n")
## Prediksi 1000 hari = 44500
#----------------------------------------------------
# 4. VISUALISASI
#----------------------------------------------------
hist(permintaan,
col="skyblue",
main="Histogram Permintaan",
xlab="Jumlah Permintaan")

hist(frekuensi,
col="pink",
main="Histogram Frekuensi",
xlab="Frekuensi")
