1.Simulasi Distribusi Diskrit: Distribusi Poisson

Studi Kasus: Sebuah pusat layanan pelanggan menerima panggilan telepon dengan rata-rata 10 panggilan per jam. Kita ingin mensimulasikan jumlah panggilan yang diterima dalam 24 jam.

# Parameter distribusi Poisson
lambda <- 10 # Rata-rata panggilan per jam
jam <- 24    # Jumlah jam

# Simulasi jumlah panggilan per jam
set.seed(123) # Untuk hasil yang reproducible
panggilan_per_jam <- rpois(jam, lambda)

# Menampilkan hasil simulasi
cat("Jumlah panggilan per jam:\n", panggilan_per_jam, "\n")
## Jumlah panggilan per jam:
##  8 9 14 10 10 15 11 5 4 13 11 11 10 8 15 11 3 7 6 8 6 8 4 6
# Visualisasi hasil simulasi
library(ggplot2)
data <- data.frame(Jam = 1:jam, Panggilan = panggilan_per_jam)
ggplot(data, aes(x = Jam, y = Panggilan)) +
  geom_bar(stat = "identity", fill = "lightblue") +
  labs(title = "Simulasi Jumlah Panggilan per Jam",
       x = "Jam",
       y = "Jumlah Panggilan") +
  theme_minimal()

Penjelasan: 1.Distribusi Poisson:

rpois(jam, lambda) menghasilkan data acak dari distribusi Poisson.

lambda adalah rata-rata panggilan per jam.

2.Visualisasi: Menggunakan ggplot2 untuk membuat grafik batang (bar plot) jumlah panggilan per jam.

Output: Vektor dengan 24 nilai, masing-masing mewakili jumlah panggilan per jam.

Grafik batang yang menunjukkan distribusi jumlah panggilan.

2. Simulasi Distribusi Kontinu: Distribusi Eksponensial

Studi Kasus: Waktu antara kedatangan pelanggan di sebuah restoran mengikuti distribusi eksponensial dengan rata-rata 5 menit. Kita ingin mensimulasikan waktu kedatangan pelanggan selama 1 hari (1440 menit).

# Parameter distribusi eksponensial
lambda <- 1/5 # Rata-rata waktu antara kedatangan (5 menit)
total_waktu <- 1440 # Total waktu simulasi (1 hari)

# Simulasi waktu antara kedatangan
set.seed(123) # Untuk hasil yang reproducible
waktu_kedatangan <- rexp(1000, lambda) # Simulasi 1000 kedatangan

# Menghitung waktu kedatangan kumulatif
waktu_kumulatif <- cumsum(waktu_kedatangan)
waktu_kumulatif <- waktu_kumulatif[waktu_kumulatif <= total_waktu] # Batasi hingga 1 hari

# Menampilkan hasil simulasi
cat("Waktu kedatangan pelanggan (5 contoh):\n", waktu_kumulatif[1:5], "\n")
## Waktu kedatangan pelanggan (5 contoh):
##  4.217286 7.100338 13.74561 13.9035 14.18455
# Visualisasi hasil simulasi
library(ggplot2)
data <- data.frame(Waktu_Kedatangan = waktu_kumulatif)
ggplot(data, aes(x = Waktu_Kedatangan)) +
  geom_histogram(binwidth = 30, fill = "lightgreen", color = "black") +
  labs(title = "Distribusi Waktu Kedatangan Pelanggan",
       x = "Waktu Kedatangan (menit)",
       y = "Frekuensi") +
  theme_minimal()

Penjelasan: 1.Distribusi Eksponensial: rexp(1000, lambda) menghasilkan data acak dari distribusi eksponensial. lambda adalah rata-rata waktu antara kedatangan.

2.Waktu Kumulatif: cumsum(waktu_kedatangan) menghitung waktu kedatangan kumulatif. Data dibatasi hingga 1440 menit (1 hari).

Visualisasi: Menggunakan ggplot2 untuk membuat histogram distribusi waktu kedatangan.

Output : Vektor waktu kedatangan pelanggan dalam 1 hari. Histogram yang menunjukkan distribusi waktu kedatangan.

Gabungan Distribusi Diskrit dan Kontinu

Studi Kasus: Sebuah toko online menerima pesanan dengan jumlah item yang berdistribusi Poisson (diskrit) dan waktu pengiriman yang berdistribusi eksponensial (kontinu). Simulasikan 100 pesanan dan analisis hasilnya.

# Parameter distribusi Poisson dan Eksponensial
lambda_item <- 5 # Rata-rata jumlah item per pesanan
lambda_waktu <- 1/2 # Rata-rata waktu pengiriman (2 hari)
n_pesanan <- 100 # Jumlah pesanan

# Simulasi jumlah item dan waktu pengiriman
set.seed(123) # Untuk hasil yang reproducible
jumlah_item <- rpois(n_pesanan, lambda_item)
waktu_pengiriman <- rexp(n_pesanan, lambda_waktu)

# Menampilkan hasil simulasi
cat("Jumlah item (5 contoh):\n", jumlah_item[1:5], "\n")
## Jumlah item (5 contoh):
##  4 7 4 8 9
cat("Waktu pengiriman (5 contoh):\n", waktu_pengiriman[1:5], "\n")
## Waktu pengiriman (5 contoh):
##  0.3999558 2.048883 2.055739 0.5693369 3.126104
# Visualisasi hasil simulasi
library(ggplot2)
data <- data.frame(Jumlah_Item = jumlah_item, Waktu_Pengiriman = waktu_pengiriman)

# Grafik jumlah item
ggplot(data, aes(x = Jumlah_Item)) +
  geom_bar(fill = "lightblue") +
  labs(title = "Distribusi Jumlah Item per Pesanan",
       x = "Jumlah Item",
       y = "Frekuensi") +
  theme_minimal()

# Grafik waktu pengiriman
ggplot(data, aes(x = Waktu_Pengiriman)) +
  geom_histogram(binwidth = 0.5, fill = "lightgreen", color = "black") +
  labs(title = "Distribusi Waktu Pengiriman",
       x = "Waktu Pengiriman (hari)",
       y = "Frekuensi") +
  theme_minimal()

Penjelasan: 1.Distribusi Poisson: rpois(n_pesanan, lambda_item) menghasilkan data acak dari distribusi Poisson. lambda_item adalah rata-rata jumlah item per pesanan.

2.Distribusi Eksponensial: rexp(n_pesanan, lambda_waktu) menghasilkan data acak dari distribusi eksponensial. lambda_waktu adalah rata-rata waktu pengiriman.

Visualisasi: Grafik batang untuk distribusi jumlah item. Histogram untuk distribusi waktu pengiriman.

Output yang Diharapkan: Vektor jumlah item dan waktu pengiriman untuk 100 pesanan.

Grafik batang dan histogram yang menunjukkan distribusi jumlah item dan waktu pengiriman.