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

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

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

#studi kasus
# 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
## Probabilitas pendapatan di atas Rp 12.000.000: 0.164
#studi kasus2
# 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
## 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
## Probabilitas jumlah pelanggan lebih dari 60: 0.03333333
# Parameter distribusi binomial
n <- 100 # jumlah lemparan koin
p <- 0.5 # probabilitas mendapatkan 'head'
size <- 1000 # jumlah simulasi
# Simulasi distribusi binomial
results <- rbinom(size, n, p)
# Visualisasi histogram dari hasil simulasi
hist(results, breaks=20, col="lightblue", border="black", main="Simulasi Distribusi Binomial (100 Lemparan Koin)",
xlab="Jumlah Head", ylab="Frekuensi")

# Statistik deskriptif
cat("Rata-rata jumlah head: ", mean(results), "\n")
## Rata-rata jumlah head: 50.022
cat("Standar deviasi jumlah head: ", sd(results), "\n")
## Standar deviasi jumlah head: 5.028399
# Parameter distribusi normal
mu <- 170 # rata-rata tinggi badan (cm)
sigma <- 10 # standar deviasi tinggi badan (cm)
size <- 1000 # jumlah simulasi
# Simulasi distribusi normal
heights <- rnorm(size, mean=mu, sd=sigma)
# Visualisasi histogram dari hasil simulasi
hist(heights, breaks=30, col="lightgreen", border="black", main="Simulasi Distribusi Normal (Tinggi Badan)",
xlab="Tinggi Badan (cm)", ylab="Frekuensi")

# Statistik deskriptif
cat("Rata-rata tinggi badan: ", mean(heights), "\n")
## Rata-rata tinggi badan: 169.7145
cat("Standar deviasi tinggi badan: ", sd(heights), "\n")
## Standar deviasi tinggi badan: 10.13275