knitr::opts_chunk$set(echo = TRUE)

LATIHAN SOAL 1

# Data dari tabel
permintaan <- c(50, 60, 70, 80, 90)
frekuensi <- c(10, 20, 40, 20, 10)
probabilitas <- frekuensi / sum(frekuensi)
# Fungsi untuk simulasi
simulasi_teh <- function(hari) {
  set.seed(123) # Agar hasil konsisten saat dijalankan ulang
  hasil <- sample(permintaan, size = hari, replace = TRUE, prob = probabilitas)
  return(hasil)
}
# a. Prediksi 5 hari ke depan
prediksi_5 <- simulasi_teh(5)
print("Prediksi 5 hari (gelas):")
## [1] "Prediksi 5 hari (gelas):"
print(prediksi_5)
## [1] 70 80 60 90 50
cat("Total:", sum(prediksi_5), "\n\n")
## Total: 350
# b. Prediksi 20 hari ke depan
prediksi_20 <- simulasi_teh(20)
print("Prediksi 20 hari (gelas):")
## [1] "Prediksi 20 hari (gelas):"
print(prediksi_20)
##  [1] 70 80 60 90 50 70 60 90 60 60 50 60 80 60 70 90 70 70 70 50
cat("Total:", sum(prediksi_20), "\n")
## Total: 1360

LATIHAN SOAL 2

# Parameter asumsi (berdasarkan rata-rata data soal 1)
rata_rata_permintaan <- 70
lambda <- 1 / rata_rata_permintaan
mu_frekuensi <- 20 # rata-rata frekuensi
sigma_frekuensi <- 5 # standar deviasi frekuensi
# Fungsi simulasi distribusi kontinu
simulasi_distribusi <- function(n_hari) {
  set.seed(456)
  # Membangkitkan permintaan (Eksponensial)
  permintaan_eksp <- rexp(n_hari, rate = lambda)
  
  # Membangkitkan frekuensi (Normal)
  frekuensi_norm <- rnorm(n_hari, mean = mu_frekuensi, sd = sigma_frekuensi)
  
  return(data.frame(Hari = 1:n_hari, 
                    Permintaan = permintaan_eksp, 
                    Frekuensi = frekuensi_norm))
}
# Eksekusi untuk berbagai rentang waktu
hasil_a <- simulasi_distribusi(5)
hasil_b <- simulasi_distribusi(20)
hasil_c <- simulasi_distribusi(100)
hasil_d <- simulasi_distribusi(1000)
# Menampilkan contoh output (5 hari pertama)
print("Hasil Simulasi 5 Hari (Eksponensial & Normal):")
## [1] "Hasil Simulasi 5 Hari (Eksponensial & Normal):"
print(hasil_a)
##   Hari Permintaan Frekuensi
## 1    1  175.85870  17.16750
## 2    2  144.92750  18.54121
## 3    3   32.61374  16.10362
## 4    4   16.10680  24.60895
## 5    5  167.88557  21.94056
# Ringkasan hasil 1000 hari
print("Ringkasan Statistik Simulasi 1000 Hari:")
## [1] "Ringkasan Statistik Simulasi 1000 Hari:"
summary(hasil_d)
##       Hari          Permintaan          Frekuensi     
##  Min.   :   1.0   Min.   :  0.07358   Min.   : 3.744  
##  1st Qu.: 250.8   1st Qu.: 19.96113   1st Qu.:16.223  
##  Median : 500.5   Median : 47.36648   Median :19.628  
##  Mean   : 500.5   Mean   : 66.81793   Mean   :19.663  
##  3rd Qu.: 750.2   3rd Qu.: 90.62789   3rd Qu.:22.975  
##  Max.   :1000.0   Max.   :475.42555   Max.   :35.750