Tugas Praktikum 3

1. Simulasi Distribusi Diskrit dan Kontinu

# 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)


2. Studi Kasus Mandiri: Analisis Logistik Toko Online

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))