1. Modelkan pendapatan bulanan dari 1000 pegawai yang berdistribusi normal dengan rata-rata pendapatan Rp10.000.000,- dan standar deviasi Rp200.000,-

Set seed untuk reprodusibilitas

set.seed(210)

Membuat model pendapatan bulanan 1000 pegawai

pendapatan_pegawai <- rnorm(n = 1000, mean = 10000000, sd = 200000)

Melihat statistik dasar

summary(pendapatan_pegawai)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  9259714  9852951  9995868  9993590 10126640 10618336

Menampilkan histogram pendapatan

hist(pendapatan_pegawai, 
     main = "Histogram Pendapatan Bulanan Pegawai",
     xlab = "Pendapatan (Rp)",
     ylab = "Frekuensi",
     col = "pink",
     breaks = 30)

Membuat QQ plot untuk mengecek normalitas

qqnorm(pendapatan_pegawai)
qqline(pendapatan_pegawai, col = "orange")

2. Modelkan jumlah pelanggan yang datang setiap hari ke suatu restoran yang mengikuti pola distribusi poisson dengan laju kedatangan pelanggan 35 per hari

Set seed untuk reprodusibilitas

set.seed(210)

Simulasi jumlah pelanggan untuk 30 hari

jumlah_hari <- 30
pelanggan_per_hari <- rpois(n = jumlah_hari, lambda = 35)

Melihat statistik dasar

summary(pelanggan_per_hari)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   23.00   29.25   33.00   33.90   37.75   52.00
mean(pelanggan_per_hari) # Rata-rata jumlah pelanggan per hari
## [1] 33.9
var(pelanggan_per_hari)  # Variansi
## [1] 51.88621

Menampilkan histogram jumlah pelanggan

hist(pelanggan_per_hari, 
     main = "Histogram Jumlah Pelanggan per Hari",
     xlab = "Jumlah Pelanggan",
     ylab = "Frekuensi",
     col = "pink",
     breaks = 10)

Menambahkan kurva poisson ke histogram

# Buat histogram terlebih dahulu
hist(pelanggan_per_hari, 
     main = "Histogram Jumlah Pelanggan per Hari",
     xlab = "Jumlah Pelanggan",
     ylab = "Frekuensi",
     col = "pink",
     breaks = 10)

# Menambahkan kurva eksponensial ke histogram yang sama
x_values <- seq(min(pelanggan_per_hari) - 5, max(pelanggan_per_hari) + 5, by = 1)
lines(x = x_values,
      y = dpois(x_values, lambda = 35) * jumlah_hari,
      col = "red", lwd = 2)

Membuat plot untuk melihat jumlah pelanggan per hari

barplot(pelanggan_per_hari, 
        main = "Jumlah Pelanggan per Hari",
        xlab = "Hari",
        ylab = "Jumlah Pelanggan",
        col = "pink",
        names.arg = 1:jumlah_hari)

3. Buatlah dua kasus dengan melibatkan distribusi variabel random

Kasus 1: Simulasi Waktu Tunggu Pelayanan Ganti Baterai Iphone (Distribusi Eksponensial)

Set seed untuk reprodusibilitas

set.seed(210)

Waktu tunggu rata-rata adalah 30 menit

waktu_tunggu <- rexp(n = 85, rate = 1/30)

Melihat statistik dasar

summary(waktu_tunggu)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##   0.4538   7.0427  21.9640  30.6228  43.5470 142.7078
mean(waktu_tunggu) # Rata-rata waktu tunggu
## [1] 30.62281

Menampilkan histogram waktu tunggu

hist(waktu_tunggu, 
     main = "Histogram Waktu Tunggu Pelayanan Ganti Baterai Iphone",
     xlab = "Waktu Tunggu (menit)",
     ylab = "Frekuensi",
     col = "pink",
     breaks = 10)

Menambahkan kurva eksponensial ke histogram

# Buat histogram terlebih dahulu
hist(waktu_tunggu, 
     main = "Histogram Waktu Tunggu Pelayanan Ganti Baterai Iphone",
     xlab = "Waktu Tunggu (menit)",
     ylab = "Frekuensi",
     col = "pink",
     breaks = 10)

# Menambahkan kurva eksponensial ke histogram yang sama
curve(dexp(x, rate = 1/30) * 85 * (max(waktu_tunggu) - min(waktu_tunggu))/10, 
      from = 0, 
      to = max(waktu_tunggu), 
      add = TRUE, col = "red", lwd = 2)

Kasus 2: Simulasi Jumlah Keberhasilan dalam 21 Percobaan (Distribusi Binomial)

Set seed untuk reprodusibilitas

set.seed(201)

Probabilitas keberhasilan adalah 0.7

jumlah_sukses <- rbinom(n = 200, size = 21, prob = 0.7)

Melihat statistik dasar

summary(jumlah_sukses)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   10.00   14.00   15.00   14.82   16.00   19.00
mean(jumlah_sukses) # Rata-rata jumlah sukses
## [1] 14.825
var(jumlah_sukses)  # Variansi
## [1] 3.74309

Menampilkan histogram jumlah sukses

hist(jumlah_sukses, 
     main = "Histogram Jumlah Keberhasilan dalam 21 Percobaan",
     xlab = "Jumlah Keberhasilan",
     ylab = "Frekuensi",
     col = "lightpink",
     breaks = 12)

Membuat plot batang untuk distribusi binomial

barplot(table(jumlah_sukses)/200, 
        main = "Distribusi Jumlah Keberhasilan",
        xlab = "Jumlah Keberhasilan",
        ylab = "Probabilitas",
        col = "lightpink")