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

#Simulasi 1000 variabel random dari diatribusi binomial
n_trials <- 10 #jumlah Percobaan
p_succcess <- 0.5 #Probabilitas sukses
binomial_data <- rbinom(n, size = n_trials, prob = p_succcess)

#Plot histogram
hist(binomial_data, breaks = 30, main = "Histogram Distribusi Binomial", xlab = "Jumlah Sukses", col = "purple")

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

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

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

# 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
#Distribusi Diskrit
set.seed(123)
lambda <- 5 # Parameter lambda
n <- 125
poisson_data <- rpois(n, lambda)
hist(poisson_data, breaks = 30, main = "Histogram Distribusi POisson", xlab = " Jumlah Kejadian", col = "maroon")

#Distribusi Kontinu
n <- 1000 
mean <- 0
sd <- 1
normal_data <- rnorm(n, mean, sd)
hist(exp_data, breaks = 30, main = "Histogram Distribusi Eksponensial", xlab = "Nilai", col = "blue")

set.seed(123)

#Parameter distribusi poisson
lambda <- 10 #rata-rata jumlah pengunjung per jam
n_hours <- 24 #jumlah jam dalam sehari
pengunjung <- rpois(n_hours, lambda)

#Menampilkan data
cat("Jumlah Pengunjung per Jam:\n")
## Jumlah Pengunjung per Jam:
#menghitung rata-rata dan standar deviasi
mean <- mean(pengunjung)
sd <- sd(pengunjung)
cat("\nRata-rata jumlah pengunjung per jam:", mean, "\n")
## 
## Rata-rata jumlah pengunjung per jam: 8.875
cat("Standar deviasi jumlah pengunjung per jam:", sd, "\n")
## Standar deviasi jumlah pengunjung per jam: 3.417506
#memvisualisasi dengan histogram
hist(pengunjung, breaks = seq(min(pengunjung)-0.5, max(pengunjung)+0.5, by=1),
     main = "Histogram Jumlah Pengunjung per Jam",
     xlab = "Jumlah Pengunjung",
     col = "red",
     )

# Parameter distribusi Eksponensial
mu <- 5  # Rata-rata waktu tunggu (menit)
n_pelanggan <- 100  # Jumlah pelanggan

# Simulasi data waktu tunggu
waktu_tunggu <- rexp(n_pelanggan, rate = 1/mu)

# Tampilkan data
cat("\nWaktu Tunggu Pelanggan (menit):\n")
## 
## Waktu Tunggu Pelanggan (menit):
print(waktu_tunggu)
##   [1]  7.03273782  2.53307864  1.29778909 12.98446058  6.14512866  3.95340879
##   [7]  3.14640039  6.27320501  2.94342321  5.64645017  2.10182401 36.05503788
##  [13]  4.22860983  1.12771003  5.50169409 11.24152846  6.81867150  2.88195834
##  [19] 13.62637925  6.56081521  0.45295675  1.53101925  5.33606535  1.56758128
##  [25]  4.87320075  9.43911658  2.82294301 12.88480665  5.23847874  5.12220671
##  [31]  5.13934808  1.42334230  7.81525944  0.21044146  0.49315445  0.49284656
##  [37]  1.40192581  1.47893479  4.86214824  4.62013612  8.21202263  8.09956384
##  [43] 12.68072770  7.60774812  1.90007102  1.19256483  2.33243712  0.21135726
##  [49]  1.59838450  3.21805460  2.86281552  1.08027751 22.49336699  9.28545277
##  [55]  3.42729319  7.19726313  8.65576992  6.22391650  7.31650280  7.68696989
##  [61]  0.02299563  5.54382734  1.49985159  5.96001504  5.57464352  0.33687945
##  [67]  2.40334360  7.85227170  1.29973053  9.28461144  2.31609810  1.18017873
##  [73]  5.91049711  0.29835686  2.01619221  4.71469920  2.08290322  3.76609202
##  [79]  0.94343194  4.38426936  0.95018910  4.89539103  1.61687914  6.60238777
##  [85]  1.59230324  8.02533648  0.72867058  9.01564659  0.15029727  6.51720275
##  [91]  0.99896122  8.75728121  8.81834166  4.21521789  1.74376388 16.48912400
##  [97]  2.00853087  5.50350867  6.64461586  3.20951324
# Hitung rata-rata dan standar deviasi
mean <- mean(waktu_tunggu)
sd <- sd(waktu_tunggu)
cat("\nRata-rata waktu tunggu:", mean, "menit\n")
## 
## Rata-rata waktu tunggu: 5.084628 menit
cat("Standar deviasi waktu tunggu:", sd, "menit\n")
## Standar deviasi waktu tunggu: 5.013486 menit
# Visualisasi dengan histogram
hist(waktu_tunggu, breaks = 20,
     main = "Histogram Waktu Tunggu Pelanggan",
     xlab = "Waktu Tunggu (menit)",
     col = "maroon",
     )