# A. SIMULASI DISTRIBUSI DISKRIT (Binomial)
# Skenario: Quality Control di Pabrik Lampu.
# Peluang sebuah lampu cacat produksi adalah 5% (0.05).
# Kita mengecek sampel berisi 50 lampu.
# Simulasi dilakukan sebanyak 1000 kali pengambilan sampel.
set.seed(999)
n_lampu <- 50
p_cacat <- 0.05
simulasi_cacat <- rbinom(1000, size = n_lampu, prob = p_cacat)
hist(simulasi_cacat,
main = "Distribusi Binomial\n(Jumlah Lampu Cacat dari 50 Sampel)",
xlab = "Jumlah Lampu Cacat",
ylab = "Frekuensi",
col = "salmon",
breaks = seq(-0.5, max(simulasi_cacat)+0.5, 1))
# B. SIMULASI DISTRIBUSI KONTINU (Normal)
# Skenario: Volume Kopi dari Mesin Pembuat Kopi Otomatis.
# Rata-rata volume kopi yang keluar adalah 250 ml dengan standar deviasi 5 ml.
# Simulasi dilakukan untuk 1000 cangkir kopi.
set.seed(999)
simulasi_kopi <- rnorm(1000, mean = 250, sd = 5)
hist(simulasi_kopi,
main = "Distribusi Normal\n(Volume Kopi dalam Cangkir)",
xlab = "Volume (ml)",
ylab = "Frekuensi",
col = "burlywood",
breaks = 30)
Deskripsi Kasus: Sebuah toko online ingin menganalisis pesanan harian dan kinerja kurir pengiriman barang. 1. Jumlah pesanan yang masuk setiap harinya mengikuti Distribusi Poisson dengan rata-rata (\(\lambda\)) 40 pesanan per hari. 2. Waktu yang dihabiskan kurir untuk mengirim paket dari gudang ke alamat pelanggan (dalam kota) mengikuti Distribusi Uniform dengan rentang waktu 2 hingga 8 jam.
Tujuan Simulasi: - Menghitung peluang toko online tersebut kebanjiran pesanan (menerima lebih dari 50 pesanan dalam sehari) dari simulasi selama 100 hari. - Menghitung peluang sebuah paket memakan waktu pengiriman lebih dari 6 jam dari simulasi 500 paket.
set.seed(888)
pesanan_harian <- rpois(100, lambda = 40)
# Menghitung peluang pesanan harian lebih dari 50
prob_pesanan_tinggi <- sum(pesanan_harian > 50) / length(pesanan_harian)
cat("Peluang mendapat lebih dari 50 pesanan dalam sehari:", prob_pesanan_tinggi, "\n")
## Peluang mendapat lebih dari 50 pesanan dalam sehari: 0.07
# B. Simulasi Waktu Pengiriman (Uniform)
set.seed(888)
waktu_kirim <- runif(500, min = 2, max = 8)
# Menghitung peluang pengiriman memakan waktu lebih dari 6 jam
prob_kirim_lama <- sum(waktu_kirim > 6) / length(waktu_kirim)
cat("Peluang waktu pengiriman paket lebih dari 6 jam:", prob_kirim_lama, "\n")
## Peluang waktu pengiriman paket lebih dari 6 jam: 0.348
# C. Visualisasi Hasil Simulasi Studi Kasus
par(mfrow=c(1,2))
hist(pesanan_harian,
main="Pesanan Harian Toko\n(Poisson)",
col="thistle",
xlab="Jumlah Pesanan",
breaks=15)
hist(waktu_kirim,
main="Waktu Pengiriman Kurir\n(Uniform)",
col="paleturquoise",
xlab="Waktu (jam)",
breaks=20)
par(mfrow=c(1,1))