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