A. Simulasi Distribusi Diskrit (Distribusi Poisson)
Distribusi Poisson digunakan untuk memodelkan jumlah kejadian yang terjadi dalam suatu interval waktu atau ruang yang tetap, umumnya digunakan untuk memodelkan jumlah kedatangan atau peristiwa acak.
# Simulasi 1000 variabel random dari distribusi Poisson
set.seed(123)
n <- 1000
lambda <- 15 # Parameter Lambda (rata-rata pelanggan per hari)
poisson_data <- rpois(n, lambda)
# Plot histogram
hist(poisson_data, breaks = 30, main = "Histogram Distribusi Poisson", xlab = "Jumlah Pelanggan per Hari", col = "lightyellow")
rpois(n, lambda) digunakan untuk menghasilkan n variabel random dari
distribusi poisson dengan rata-rata lambda. Histogram menunjukkan bahwa
nilai-nilai terpusat di sekitar nilai lambda = 15 dengan bentuk yang
relatif simetris karena nilai lambda yang cukup besar.
B. Simulasi Distribusi Kontinu (Distribusi Normal)
Distribusi normal adalah distribusi kontinu yang berbentuk lonceng, dengan nilai yang berpusat pada rata-rata (mean) mu dan penyebaran data ditentukan oleh standar deviasi sigma.
# Simulasi 1000 variabel random dari distribusi normal
mu <- 165 # Mean (rata-rata tinggi badan cm)
sigma <- 10
normal_data <- rnorm(n, mean = mu, sd = sigma)
# Plot histogram
hist(normal_data, breaks = 30, main = "Histogram Distribusi Normal", xlab = "Tinggi Badan (cm)", col = "lightpink")
rnorm(n, mean, sd) digunakan untuk menghasilkan n variabel random dari
distribusi normal dengan mean mu dan standar deviasi sigma. Histogram
menunjukkan distribusi berbentuk lonceng, yang khas untuk distribusi
normal di sekitar nilai tengah 165.
Deskripsi Studi Kasus: Kami memodelkan performa kasir swalayan pada jam sibuk menggunakan kombinasi dua variabel random yang saling berinteraksi: 1. Komponen Diskrit (Kedatangan Pelanggan): Mengikuti distribusi Poisson dengan rata-rata kedatangan (lambda = 25) pelanggan per jam. 2. Komponen Kontinu (Waktu Pelayanan): Mengikuti distribusi Eksponensial dengan rata-rata waktu pelayanan (beta = 2) menit per pelanggan (atau rate = 1/2).
# Simulasi operasional kasir untuk 500 hari jam sibuk
set.seed(42)
n_simulasi <- 500
# 1. Menghasilkan variabel acak diskrit (Jumlah Pelanggan per Jam)
pelanggan_per_jam <- rpois(n_simulasi, lambda = 25)
# 2. Menghasilkan variabel acak kontinu (Total Waktu Pelayanan per Hari Simulasi)
total_waktu_pelayanan <- sapply(pelanggan_per_jam, function(n_pelanggan) {
if (n_pelanggan == 0) {
return(0)
} else {
waktu_individu <- rexp(n_pelanggan, rate = 1/2) # Rata-rata 2 menit per orang
return(sum(waktu_individu))
}
})
# Menggabungkan hasil simulasi ke dalam suatu data frame
df_simulasi <- data.frame(
Hari = 1:n_simulasi,
Jumlah_Pelanggan = pelanggan_per_jam,
Total_Waktu_Menit = total_waktu_pelayanan
)
# Menampilkan statistik deskriptif dari hasil simulasi
summary(df_simulasi[, c("Jumlah_Pelanggan", "Total_Waktu_Menit")])
## Jumlah_Pelanggan Total_Waktu_Menit
## Min. :10.00 Min. :14.68
## 1st Qu.:21.00 1st Qu.:39.41
## Median :24.00 Median :48.86
## Mean :24.69 Mean :49.70
## 3rd Qu.:28.00 3rd Qu.:58.24
## Max. :43.00 Max. :91.39
# Plot histogram hasil total waktu pelayanan kontinu
hist(df_simulasi$Total_Waktu_Menit, breaks = 30, main = "Histogram Total Waktu Pelayanan Kasir", xlab = "Total Waktu (Menit)", col = "lightcoral")
Penjelasan:
summary() digunakan untuk melihat ringkasan statistik deskriptif dari data simulasi, sedangkan hist() digunakan untuk memvisualisasikan persebaran data kontinu total waktu pelayanan.
Analisis Hasil Diskrit: Dari hasil simulasi, rata-rata pelanggan yang datang adalah 24.69 orang per jam (mendekati parameter teoritis lambda = 25). Jumlah kedatangan paling sedikit dalam satu jam sibuk adalah 10 orang, dan paling banyak mencapai 43 orang.
Analisis Hasil Kontinu: Rata-rata total waktu pelayanan kasir berada pada angka 49.70 menit per jam. Hal ini menunjukkan tingkat kesibukan kasir yang cukup tinggi untuk melayani pelanggan.
Evaluasi Risiko: Pada kondisi ekstrem (nilai maksimum), total waktu pelayanan yang dibutuhkan kasir melonjak hingga 91.39 menit. Karena durasi riil satu jam sibuk hanya 60 menit, sistem dipastikan mengalami antrean panjang yang tidak terlayani tepat waktu pada hari padat tersebut. Manajemen swalayan direkomendasikan untuk membuka kasir tambahan ketika jumlah antrean mulai menumpuk.