# 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

#tugas 
#distribusi kontinu
set.seed(123)
n_customers <- 500
rate_service <- 1/5  # Rata-rata waktu pelayanan 5 menit
service_time <- rexp(n_customers, rate = rate_service)

# 1. Rata-rata waktu pelayanan
mean_service_time <- mean(service_time)
cat("Rata-rata waktu pelayanan pelanggan:", mean_service_time, "menit\n")
## Rata-rata waktu pelayanan pelanggan: 5.035506 menit
# 2. Probabilitas pelanggan dilayani dalam waktu kurang dari 3 menit
prob_less_than_3 <- sum(service_time < 3) / n_customers
cat("Probabilitas pelanggan dilayani dalam waktu kurang dari 3 menit:", prob_less_than_3, "\n")
## Probabilitas pelanggan dilayani dalam waktu kurang dari 3 menit: 0.418
# 3. Visualisasi Distribusi Waktu Pelayanan
hist(service_time, breaks = 30, col = "lightcoral",
     main = "Histogram Waktu Pelayanan Pelanggan",
     xlab = "Waktu Pelayanan (menit)", border = "black")

#distribusi binomial
# Set seed untuk hasil yang dapat direplikasi
set.seed(123)

# Parameter Distribusi Binomial
n_days <- 1000  # Jumlah hari yang disimulasikan
n_customers_per_day <- 10  # Jumlah pelanggan setiap hari
p_purchase <- 0.3  # Probabilitas pelanggan melakukan pembelian

# Simulasi Binomial: Berapa banyak pelanggan yang membeli per hari?
binomial_data <- rbinom(n_days, size = n_customers_per_day, prob = p_purchase)

# 1. Rata-rata jumlah pelanggan yang membeli per hari
mean_purchases <- mean(binomial_data)
cat("Rata-rata pelanggan yang membeli per hari:", mean_purchases, "\n")
## Rata-rata pelanggan yang membeli per hari: 2.989
# 2. Probabilitas ada lebih dari 5 pelanggan yang membeli
prob_more_than_5 <- sum(binomial_data > 5) / n_days
cat("Probabilitas lebih dari 5 pelanggan membeli:", prob_more_than_5, "\n")
## Probabilitas lebih dari 5 pelanggan membeli: 0.05
# 3. Histogram Distribusi Binomial
hist(binomial_data, breaks = 10, col = "lightblue",
     main = "Histogram Distribusi Binomial: Jumlah Pelanggan Membeli per Hari",
     xlab = "Jumlah Pelanggan yang Membeli", border = "black")