# Simulasi 1000 variabel random dari distribusi uniform
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 = "lightblue")

# 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 = "lightgreen")

# 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 = "lightpink")

lambda <- 3  # Parameter lambda
poisson_data <- rpois(n, lambda)
hist(poisson_data, breaks = 30, main = "Histogram Distribusi Poisson", xlab = "Jumlah Kejadian", col = "lightyellow")

rate <- 1  # Parameter rate
exp_data <- rexp(n, rate)
hist(exp_data, breaks = 30, main = "Histogram Distribusi Eksponensial", xlab = "Nilai", col = "lightcoral")

# 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
# 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
# Simulasi jumlah pelanggan
set.seed(123)
n_days <- 30
lambda_customers <- 50
customers_data <- rpois(n_days, lambda_customers)

# 1. Rata-rata jumlah pelanggan simulasi
mean_customers <- mean(customers_data)
cat("Rata-rata jumlah pelanggan simulasi:", mean_customers, "\n")
## 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

TUGAS TAMBAHAN

# Pustaka yang diperlukan
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
# 1. Distribusi Diskrit (Binomial)
set.seed(123)
diskrit_data <- rbinom(n = 1000, size = 10, prob = 0.5) # 1000 sampel dari distribusi binomial
df_diskrit <- data.frame(x = diskrit_data)

# Plot Distribusi Binomial
ggplot(df_diskrit, aes(x = x)) +
  geom_bar(fill = "blue", color = "black") +
  ggtitle("Distribusi Binomial (n=10, p=0.5)") +
  xlab("Jumlah Keberhasilan") +
  ylab("Frekuensi")

# 2. Distribusi Kontinu (Normal)
set.seed(123)
kontinu_data <- rnorm(n = 1000, mean = 50, sd = 10) # 1000 sampel dari distribusi normal
df_kontinu <- data.frame(x = kontinu_data)

# Plot Distribusi Normal
ggplot(df_kontinu, aes(x = x)) +
  geom_histogram(aes(y = ..density..), bins = 30, fill = "red", color = "black", alpha = 0.7) +
  geom_density(color = "blue", size = 1) +
  ggtitle("Distribusi Normal (mean=50, sd=10)") +
  xlab("Nilai") +
  ylab("Densitas")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: The dot-dot notation (`..density..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(density)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

Studi Kasus: Simulasi Waktu Kedatangan Pelanggan Misalkan kita ingin mensimulasikan waktu kedatangan pelanggan dalam satu jam menggunakan distribusi Poisson.

# 3. Simulasi waktu kedatangan pelanggan (Distribusi Poisson)
set.seed(123)
lambda <- 5  # Rata-rata 5 pelanggan per menit
poisson_data <- rpois(n = 1000, lambda = lambda)
df_poisson <- data.frame(x = poisson_data)

# Plot Distribusi Poisson
ggplot(df_poisson, aes(x = x)) +
  geom_bar(fill = "yellow", color = "black") +
  ggtitle("Distribusi Poisson: Kedatangan Pelanggan") +
  xlab("Jumlah Pelanggan per Menit") +
  ylab("Frekuensi")