1. Buatlah simulasi untuk distribusi diskrit dan distribusi kontinu Simulasi Harian Produksi Home Industri dengan distribusi Poisson
data_produksi <- c(18, 7, 25, 15, 20, 11, 30)
lambda <- mean(data_produksi)
lambda
## [1] 18
set.seed(123)
simulasi <- rpois(300, lambda)
simulasi
##   [1] 15 23 10 18 25 19 12 10 23 19 19 18 15 23 21 17 14 13 16 13 15 17 13 13 16
##  [26] 12 21 21 21 20 20 17 16 16 15 21 17 23 14 16 16 21 17 19 17 17 23 17 24 11
##  [51] 13 18 19 15 27 12 19 19 18 21 26 15 14 14 20 17 15 18 17 18 19 16 20 17 19
##  [76] 22 19 16 22 22 20 19 15 23 16 19 17 19 18 25 18 22 15 17 14 20 17 23 25 20
## [101] 16 18 23 17 11 14 21 19 19 20 25 20 14 18 13 22 23 24 18 16 18 27 26 11 13
## [126] 28  8 19 13 17 17 11 22 16 22 13 24 20 15 19 26 13 17 27 14 25 13 19 16 13
## [151] 15 14 17 16 17 25 14 18 16 18 14 14 20 12 12 27 23 16 20 16 15 17 14 17 18
## [176] 19 23 15 22 18 29 19 17 13 20 22 21 16 18 15 23 20 13 17 18 14 21 21 20 17
## [201] 32 24 13 22 11 12 11 16 15 14 24 17 22 20 17 11 16 10 23 27 24 17 10 22 15
## [226] 22 20 12 16 14 18 19 18 10 14 16 18 18 18 24 17 18 22 22 22 15 18 25 23 14
## [251] 15 13 16 12 18 23 26 23 21 10 22 15 17 12 20 17 21 16 19 12 20 17 20 23 18
## [276] 22 12 24 22 18 14 20 22 25 18 17 10 13 13 16 15 16 18 14 18 20 16 31 20 19
mean(simulasi)
## [1] 18.01333
hist(simulasi,
     main = "Histogram Produksi Harian Home Industri",
     xlab = "Jumlah Produksi per Hari",
     ylab = "Frekuensi",
     col = "lightblue",
     border = "black")

# Varians
var_simulasi <- var(simulasi)
cat("Varians produksi simulasi:", var_simulasi, "\n")
## Varians produksi simulasi: 17.66537
# Probabilitas produksi > 25
prob_above_25 <- sum(simulasi > 25) / length(simulasi)
cat("Probabilitas produksi lebih dari 25 unit:", prob_above_25,
    "\n")
## Probabilitas produksi lebih dari 25 unit: 0.04333333
summary(simulasi)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.00   15.00   18.00   18.01   21.00   32.00

Simulasi Distribusi Normal pada Data Curah Hujan Harian Maksimum Tahun 2008–2019

rainfall <- c (82, 80, 88, 76, 92, 113, 80, 97, 99, 95, 79, 85)
mean_rain <- mean(rainfall)
sd_rain <- sd(rainfall)
set.seed(123)
n_years <- 30
rain_simulation <- rnorm(n_years, mean_rain, sd_rain)
rain_simulation
##  [1]  82.78344  86.34875 105.65837  89.59442  90.22889 107.34612  93.80856
##  [8]  75.17799  81.41929  84.02276 102.04634  92.71724  93.15935  90.02807
## [15]  82.83346 108.12166  94.20724  67.60524  96.40392  83.72992  77.30701
## [22]  86.48046  77.75842  80.96552  82.08652  70.62680  97.87659  90.48888
## [29]  76.54803 102.36729
mean_sim <- mean(rain_simulation)
cat ("rata-rata curah hujan simulasi:", mean_sim, "\n")
## rata-rata curah hujan simulasi: 88.32489
prob_above_150 <- sum(rain_simulation > 150) / n_years
cat("Probabilitas curah hujan lebih dari 150 mm:", prob_above_150, "\n")
## Probabilitas curah hujan lebih dari 150 mm: 0
hist(rainfall,
     main="Histogram Curah Hujan Harian Maksimum",
     xlab="Curah Hujan (mm/hari)",
     ylab="Frekuensi",
     col="lightblue",
     border="red")

shapiro.test(rainfall)
## 
##  Shapiro-Wilk normality test
## 
## data:  rainfall
## W = 0.91751, p-value = 0.2659

dari uji normalitas walapun bentuk histogramnya tidak berbentuk lonceng sempurana dan terkesan tidak berdistribusi normal tapi Berdasarkan uji Shapiro-Wilk diperoleh p-value sebesar 0,2659 (> 0,05), sehingga tidak terdapat cukup bukti untuk menolak hipotesis bahwa data berdistribusi normal. Dengan demikian, data curah hujan harian maksimum dapat diasumsikan mengikuti distribusi normal.

  1. Buat studi kasus sendiri yang melibatkan simulasi variabel random dari distribusi yang telah dipelajari.

Sebuah toko online di platform seperti Shopee mengadakan program flash sale. Berdasarkan data sebelumnya, rata-rata jumlah order yang masuk dalam 1 jam adalah λ = 40 order.

Karena kita menghitung jumlah kejadian dalam interval waktu tertentu, maka digunakan distribusi poisson

# Simulasi jumlah order saat flash sale
set.seed(123)

n_hours <- 500
lambda_order <- 40

order_data <- rpois(n_hours, lambda = lambda_order)

# 1. Rata-rata order simulasi
mean_simulated <- mean(order_data)
cat("Rata-rata order simulasi:", mean_simulated, "\n")
## Rata-rata order simulasi: 39.952
# 2. Probabilitas order di atas 55
prob_above_55 <- sum(order_data > 55) / n_hours
cat("Probabilitas order di atas 55:", prob_above_55, "\n")
## Probabilitas order di atas 55: 0.01
summary(order_data)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   24.00   36.00   40.00   39.95   44.00   61.00
hist(order_data,
     main = "Histogram Jumlah Order Flash Sale",
     xlab = "Jumlah Order per Jam",
     ylab = "Frekuensi",
     col = "lightblue",
     border = "red")

```