Soal Nomor 1: Buat simulasi untuk distribusi diskrit dan distribusi kontinu.

(a).Distribusi Diskrit:

Sebuah rumah sakit besar mencatat jumlah kasus penyakit jantung yang datang setiap hari. Dari data historis diketahui bahwa rata-rata jumlah pasien penyakit jantung yang datang per hari adalah 30 orang. Jumlah kasus penyakit jantung per hari diasumsikan mengikuti distribusi Poisson. Peneliti ingin melakukan simulasi jumlah kasus penyakit jantung selama 60 hari untuk melihat pola kemunculan kasus dan distribusinya. Selain itu, diketahui bahwa dari total pasien penyakit jantung yang dirawat terdapat 30000 pasien sembuh dan 50000 pasien meninggal.

set.seed(1)

days <- 60
lambda_Penyakit_Jantung <- 30

Pasien_Sembuh <- 30000
Pasien_Meninggal <- 50000

Data_Pasien <- rpois(days, lambda_Penyakit_Jantung)
head(Data_Pasien)
## [1] 26 37 36 32 21 32
# Histogram
hist(Data_Pasien,
     probability = TRUE,
     main = "Kasus Penyakit Jantung",
     xlab = "Jumlah Kasus per Hari",
     col = "skyblue")

# Data status pasien
status_pasien <- c(Pasien_Sembuh, Pasien_Meninggal)
nama_status <- c("Sembuh","Meninggal")

total <- sum(status_pasien)

proporsi <- status_pasien / total * 100

barplot(proporsi,
        names.arg = nama_status,
        col = c("skyblue", "salmon"),
        main = "Persentase Status Pasien",
        ylab = "Persentase (%)")

(b).Distribusi Kontinu:

Sebuah rumah sakit meneliti waktu penyembuhan luka pasien setelah operasi kecil. Berdasarkan penelitian sebelumnya, waktu penyembuhan mengikuti distribusi normal dengan: 1.Rata-rata waktu penyembuhan = 14 hari. 2.Standar deviasi = 3 hari.

Peneliti ingin mengetahui: 1.Probabilitas pasien sembuh kurang dari 10 hari. 2.Probabilitas pasien sembuh antara 12 sampai 18 hari. 3.Simulasi 100 pasien untuk melihat distribusi waktu penyembuhan.

# parameter distribusi
mean_heal <- 14
sd_heal <- 3

# 1. Probabilitas sembuh kurang dari 10 hari
prob_10 <- pnorm(10, mean = mean_heal, sd = sd_heal)
prob_10
## [1] 0.09121122
# 2. Probabilitas sembuh antara 12 sampai 18 hari
prob_range <- pnorm(18, mean = mean_heal, sd = sd_heal) - 
              pnorm(12, mean = mean_heal, sd = sd_heal)
prob_range
## [1] 0.6562962
# 3. Simulasi waktu penyembuhan 100 pasien
set.seed(123)
heal_time <- rnorm(100, mean = mean_heal, sd = sd_heal)

# lihat beberapa data
head(heal_time)
## [1] 12.31857 13.30947 18.67612 14.21153 14.38786 19.14519
# visualisasi
hist(heal_time, main="Distribusi Waktu Penyembuhan Pasien",
     xlab="Hari Penyembuhan", col="lightblue")

2.Simulasi Jumlah Pesanan Online per Hari

Sebuah unit gawat darurat (UGD) di rumah sakit ingin mempelajari jumlah pasien yang datang setiap hari. Berdasarkan data sebelumnya, rata-rata pasien yang datang ke UGD adalah 25 pasien per hari. Jumlah kedatangan pasien diasumsikan mengikuti distribusi Poisson. Peneliti ingin melakukan simulasi untuk melihat variasi jumlah pasien yang datang selama beberapa hari serta melihat distribusinya.

set.seed(10)

# parameter distribusi
days <- 50
lambda_pasien <- 25

# simulasi jumlah pasien per hari
pasien_ugd <- rpois(days, lambda_pasien)

# melihat beberapa data awal
head(pasien_ugd)
## [1] 25 24 18 21 26 18
# menghitung rata-rata hasil simulasi
mean(pasien_ugd)
## [1] 25.64
# histogram distribusi pasien
hist(pasien_ugd,
     main = "Distribusi Jumlah Pasien UGD per Hari",
     xlab = "Jumlah Pasien",
     col = "lightgreen")

# probabilitas pasien ≤ 30 dalam satu hari
prob_30 <- ppois(30, lambda = lambda_pasien)
prob_30
## [1] 0.8633089