# ==============================================================================
# 1. PERHITUNGAN ANALITIS MODEL ANTRIAN M/M/5
# ==============================================================================
# Input Parameter
total_pelanggan_normal <- 205
total_waktu_detik <- 45100
durasi_observasi_menit <- 120
c <- 5 # Jumlah kasir aktif
# A. Menghitung Parameter Dasar (Laju Kedatangan & Pelayanan)
lambda <- (total_pelanggan_normal + 15) / durasi_observasi_menit # Total pelanggan (normal + insiden) / waktu
W_s_nyata <- total_waktu_detik / total_pelanggan_normal / 60 # Waktu di sistem nyata (menit)
S <- 0.60 * W_s_nyata # Estimasi waktu pelayanan (menit)
mu <- 1 / S # Laju pelayanan per kasir (pelanggan/menit)
cat("--- PARAMETER SISTEM M/M/5 ---\n")
## --- PARAMETER SISTEM M/M/5 ---
cat(sprintf("Laju Kedatangan (lambda) : %.4f pelanggan/menit\n", lambda))
## Laju Kedatangan (lambda) : 1.8333 pelanggan/menit
cat(sprintf("Laju Pelayanan (mu) : %.4f pelanggan/menit\n", mu))
## Laju Pelayanan (mu) : 0.4545 pelanggan/menit
cat(sprintf("Waktu Pelayanan (S) : %.4f menit\n\n", S))
## Waktu Pelayanan (S) : 2.2000 menit
# B. Perhitungan Kinerja Antrean M/M/5
# 1. Utilisasi Sistem (rho)
rho <- lambda / (c * mu)
# 2. Probabilitas Semua Server Kosong (P0)
# Bagian Penjumlahan (Sigma) untuk n = 0 hingga c-1 (0 sampai 4)
ratio <- lambda / mu
sum_terms <- 0
for (n in 0:(c - 1)) {
sum_terms <- sum_terms + (ratio^n / factorial(n))
}
# Bagian batas limit server
limit_term <- (ratio^c) / (factorial(c) * (1 - rho))
# Nilai P0
P0 <- 1 / (sum_terms + limit_term)
# 3. Rata-rata Panjang Antrean (Lq)
Lq <- (P0 * (ratio^c) * rho) / (factorial(c) * (1 - rho)^2)
# 4. Rata-rata Waktu Tunggu dalam Antrean (Wq)
Wq <- Lq / lambda
# 5. Rata-rata Waktu Total dalam Sistem (W)
W <- Wq + S
# 6. Rata-rata Jumlah Pelanggan dalam Sistem (L)
L <- lambda * W
# Cetak Hasil Analisis Keefektifan
cat("--- METRIK UKURAN KEEFEKTIFAN ---\n")
## --- METRIK UKURAN KEEFEKTIFAN ---
cat(sprintf("Utilisasi Server (rho) : %.4f (%.2f%%)\n", rho, rho * 100))
## Utilisasi Server (rho) : 0.8067 (80.67%)
cat(sprintf("Probabilitas Sistem Kosong (P0) : %.4f (%.2f%%)\n", P0, P0 * 100))
## Probabilitas Sistem Kosong (P0) : 0.0123 (1.23%)
cat(sprintf("Rata-rata Panjang Antrean (Lq) : %.4f pelanggan\n", Lq))
## Rata-rata Panjang Antrean (Lq) : 2.3659 pelanggan
cat(sprintf("Rata-rata Waktu Tunggu (Wq) : %.4f menit (%.2f detik)\n", Wq, Wq * 60))
## Rata-rata Waktu Tunggu (Wq) : 1.2905 menit (77.43 detik)
cat(sprintf("Rata-rata Waktu di Sistem (W) : %.4f menit (%.2f detik)\n", W, W * 60))
## Rata-rata Waktu di Sistem (W) : 3.4905 menit (209.43 detik)
cat(sprintf("Rata-rata Jumlah di Sistem (L) : %.4f pelanggan\n", L))
## Rata-rata Jumlah di Sistem (L) : 6.3992 pelanggan