Variabel Random adalah variabel yang nilainya ditentukan oleh hasil dari suatu percobaan acak. Variabel random dapat dibagi menjadi dua jenis: • Variabel Random Diskrit: Variabel yang hanya dapat mengambil nilai-nilai tertentu (biasanya bilangan bulat). Contoh: jumlah pelanggan yang datang ke restoran dalam sehari. • Variabel Random Kontinu: Variabel yang dapat mengambil nilai apa pun dalam suatu interval. Contoh: tinggi badan seseorang, pendapatan bulanan. Dalam pemodelan statistika dan simulasi, variabel random digunakan untuk memodelkan fenomena acak. Simulasi variabel random membantu kita memahami distribusi data, menghitung probabilitas, dan membuat prediksi berdasarkan model yang telah dibuat.
Simulasi Sederhana: Variabel Random Uniform Distribusi uniform adalah distribusi di mana semua nilai dalam interval tertentu memiliki probabilitas yang sama.
Simulasi 1000 variabel random dari distribusi uniform set.seed(123)
set.seed(123) # Set seed untuk reproducibility
n <- 1000
uniform_data <- runif(n, min = 0, max = 1)
# Plot histogram
hist(uniform_data, breaks = 30, main = "Histogram Distribusi Uniform", xlab = "Nilai", col = "darkblue")
Distribusi binomial menggambarkan jumlah sukses dalam n percobaan independen dengan probabilitas sukses p.
# Simulasi 1000 variabel random dari distribusi binomial
n_trials <- 10 # Jumlah percobaan
p_success <- 0.5 # Probabilitas sukses
binomial_data <- rbinom(n, size = n_trials, prob = p_success)
# Plot histogram
hist(binomial_data, breaks = 30, main = "Histogram Distribusi Binomial", xlab = "Jumlah Sukses", col = "lightblue")
# Simulasi Distribusi Kontinu: Distribusi Normal Distribusi normal
adalah distribusi kontinu yang berbentuk lonceng, dengan mean mu dan
standar deviasi sigma.
# Simulasi 1000 variabel random dari distribusi normal
mu <- 0 # Mean
sigma <- 1 # Standar deviasi
normal_data <- rnorm(n, mean = mu, sd = sigma)
# Plot histogram
hist(normal_data, breaks = 30, main = "Histogram Distribusi Normal", xlab = "Nilai", col = "yellow")
# Distribusi Poisson (Diskrit)
lambda <- 3 # Parameter lambda
poisson_data <- rpois(n, lambda)
hist(poisson_data, breaks = 30, main = "Histogram Distribusi Poisson", xlab = "Jumlah Kejadian", col = "lightblue")
#Studi Kasus 1: Simulasi Pendapatan Bulanan # Simulasi pendapatan bulanan
set.seed(123)
n_employees <- 500
mean_income <- 10000000
sd_income <- 2000000
income_data <- rnorm(n_employees, mean = mean_income, sd = sd_income)
`# 1. Rata-rata pendapatan simulasi
mean_simulated <- mean(income_data)
cat("Rata-rata pendapatan simulasi:", mean_simulated, "\n")
## Rata-rata pendapatan simulasi: 10069181
## Rata-rata pendapatan simulasi: 10069181
# 2. Probabilitas pendapatan di atas Rp 12.000.000
prob_above_12m <- sum(income_data > 12000000) / n_employees
cat("Probabilitas pendapatan di atas Rp 12.000.000:", prob_above_12m, "\n")
## Probabilitas pendapatan di atas Rp 12.000.000: 0.164
#Studi Kasus 2: Simulasi Jumlah Pelanggan
# Simulasi jumlah pelanggan
set.seed(123)
n_days <- 30
lambda_customers <- 50
customers_data <- rpois(n_days, lambda_customers)
mean_customers <- mean(customers_data)
cat("Rata-rata jumlah pelanggan simulasi:", mean_customers, "\n")
## Rata-rata jumlah pelanggan simulasi: 48.96667
## Rata-rata jumlah pelanggan simulasi: 48.96667
# 2. Probabilitas jumlah pelanggan lebih dari 60
prob_above_60 <- sum(customers_data > 60) / n_days
cat("Probabilitas jumlah pelanggan lebih dari 60:", prob_above_60, "\n")
## Probabilitas jumlah pelanggan lebih dari 60: 0.03333333
# Set seed untuk reprodusibilitas
set.seed(123)
poisson_data <- rpois(160, lambda = 5)
mean(poisson_data) # Rata-rata
## [1] 5
sd(poisson_data) # Standar deviasi
## [1] 2.142707
hist(poisson_data, main="Histogram Distribusi Poisson", col='cyan3', breaks=15)
# Simulasi Distribusi Normal
normal_data <- rnorm(200, mean = 45, sd = 10)
mean(normal_data) # Rata-rata
## [1] 45.04474
sd(normal_data) # Standar deviasi
## [1] 9.483405
hist(normal_data, main="Histogram Distribusi Normal", col="magenta", breaks=15)
##TUGAS 2.Buat studi kasus sendiri yang melibatkan simulasi variabel random dari distribusi yang telah dipelajari
Sebuah gerbang tol ingin mengetahui pola kedatangan kendaraan untuk membantu dalam perencanaan operasional. Berdasarkan data historis, diketahui bahwa rata-rata ada 1 kendaraan setiap 2 menit yang melewati tol tersebut.
Asumsi: - Waktu antar kedatangan kendaraan mengikuti distribusi Eksponensial dengan rata-rata 2 menit per kendaraan. - Rate parameter (λ) = 1/2 = 0.5 kendaraan per menit. Studi ini akan melakukan simulasi waktu antar kedatangan kendaraan selama 500 kendaraan dan menganalisis pola kedatangan.
# Set seed untuk hasil yang dapat direproduksi
set.seed(123)
# Jumlah kendaraan dalam simulasi
n_kendaraan <- 500
# Parameter distribusi Eksponensial (lambda = 1/mean = 1/2)
lambda <- 0.5
# Simulasi waktu antar kedatangan kendaraan
waktu_kedatangan <- rexp(n_kendaraan, rate = lambda)
# Statistik deskriptif
mean_waktu <- mean(waktu_kedatangan) # Rata-rata waktu antar kedatangan
sd_waktu <- sd(waktu_kedatangan) # Standar deviasi
# Visualisasi histogram
hist(waktu_kedatangan,
main="Histogram Waktu Antar Kedatangan Kendaraan",
xlab="Waktu (menit)",
col="ivory",
breaks=20,
probability=TRUE)
# Menambahkan kurva distribusi teoritis
curve(dexp(x, rate=lambda), add=TRUE, col="brown", lwd=2)
# Menghitung peluang bahwa waktu antar kedatangan lebih dari 3 menit
prob_diatas_3 <- 1 - pexp(3, rate=lambda)
# Output hasil
cat("Rata-rata waktu antar kedatangan kendaraan:", mean_waktu, "menit\n")
## Rata-rata waktu antar kedatangan kendaraan: 2.014203 menit
cat("Standar deviasi:", sd_waktu, "menit\n")
## Standar deviasi: 1.890631 menit
cat("Probabilitas waktu antar kedatangan lebih dari 3 menit:", prob_diatas_3, "\n")
## Probabilitas waktu antar kedatangan lebih dari 3 menit: 0.2231302