Simulasi Sederhana: Variabel Random Uniform

# 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 Distribusi Diskrit: Distribusi Binomial

# 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 Distribusi Kontinu: Distribusi Normal

# 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 (Diskrit)

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 (Kontinu)

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

# Latihan Studi Kasus # Studi Kasus 1: Simulasi Pendapatan Bulanan

# Simulasi pendapatan bulanan
set.seed(123)
n_employees <- 500
mean_income <- 10000000
sd_income <- 500000
income_data <- rnorm(n_employees, mean = mean_income, sd = sd_income)
income_data
##   [1]  9719762  9884911 10779354 10035254 10064644 10857532 10230458  9367469
##   [9]  9656574  9777169 10612041 10179907 10200386 10055341  9722079 10893457
##  [17] 10248925  9016691 10350678  9763604  9466088  9891013  9486998  9635554
##  [25]  9687480  9156653 10418894 10076687  9430932 10626907 10213232  9852464
##  [33] 10447563 10439067 10410791 10344320 10276959  9969044  9847019  9809764
##  [41]  9652647  9896041  9367302 11084478 10603981  9438446  9798558  9766672
##  [49] 10389983  9958315 10126659  9985727  9978565 10684301  9887115 10758235
##  [57]  9225624 10292307 10061927 10107971 10189820  9748838  9833396  9490712
##  [65]  9464104 10151764 10224105 10026502 10461134 11025042  9754484  8845416
##  [73] 10502869  9645400  9655996 10512786  9857613  9389641 10090652  9930554
##  [81] 10002882 10192640  9814670 10322188  9889757 10165891 10548420 10217591
##  [89]  9837034 10574404 10496752 10274198 10119366  9686047 10680326  9699870
##  [97] 11093666 10766305  9882150  9486790  9644797 10128442  9876654  9826229
## [105]  9524191  9977486  9607548  9166029  9809887 10459498  9712327 10303982
## [113]  9191059  9972219 10259704 10150577 10052838  9679647  9575148  9487936
## [121] 10058823  9526263  9754721  9871954 10921931  9674025 10117693 10038980
## [129]  9519072  9964346 10722275 10225752 10020616  9788752  8973376 10565669
## [137]  9269680 10369974 10954552  9278053 10350892  9868901  9213928  9242666
## [145]  9199232  9734547  9269122 10343958 11050054  9356485 10393869 10384521
## [153] 10166101  9495812  9940274  9859802 10281495  9813781 10488487  9812710
## [161] 10526356  9475411  9369922 11620520  9791571 10149114 10318285  9758110
## [169] 10258431 10184482  9892310 10032647  9982966 11064226  9629332  9452002
## [177] 10018894 10155240 10218262  9770817  9468337 10631593  9825175  9567244
## [185]  9881860  9901412 10554960 10042369 10377027  9750354 10107223  9837657
## [193] 10047292  9552318  9344599 10998607 10300354  9374364  9694417  9407260
## [201] 11099405 10656206  9867427 10271597  9792830  9761877  9605699  9702691
## [209] 10825454  9972986 10059623 10121844 10616238  9741968  9503746 10837848
## [217]  9779418  9638467  9381863  9357642  9713013 10308993 10554924 10353794
## [225]  9818171 10029875  9647702  9641391 10442325  9492204 10977647  9954840
## [233] 10107269  9630736  9712806  9341492  9908537 10209491 10162152  9609232
## [241]  9605689  9748901 10748030  9431348  9910474 10951181  9949513  9320080
## [249]  9667615 10242730  9812199  9719062  9828041 10045248 10799254  9955717
## [257] 10540400 10315377  9943180  9233549  9739441  9755065 10023577 10650099
## [265] 11146539 10773791  9933425  9121736  9805610 10044604 10422507 10481264
## [273] 10342155  9302363 10424822  9776721 10087401 10037276 10214083 10012337
## [281]  9166262 10368248 10193013  9867174 10059072 10067019 10110510 10820423
## [289]  9890475 10084033 10584192 10527091 10572632  9711266 11001241 10033350
## [297] 10933426  9324549 10010492 10624957  9642379  9623656  9530731  9473743
## [305]  9781420 10165590  8992895 10105990 10618338 11018787 10650588 10378387
## [313]  9136635  9699247  9823977 10351762  9947164  9370676 10842218 10455696
## [321] 10118715 10609054  9330613 10330410  9738544 10341873  9969589 10316480
## [329] 10667759 10003645 10508779  9405783  9639198 10759609 10188694  8973889
## [337]  9317981  9899609 10432890  9949058 10312094 10479503 10835527 10028008
## [345]  9974009  9123381 10049664  9714075  9512995  9910047 10507472  9003626
## [353]  9786360 10058319  9553396 10166951 10205715  9983482  8767051 11285729
## [361]  9897350 10325597 10136883 10512337 10408830  9895103 10189084  9527296
## [369] 10428462  9769481 11208387  9174476  9768006 10412690 10255066  9705259
## [377]  9501610 10072238  9992846  9104859 10017276 10095115 10087363  9472491
## [385] 10238067 10689285 10228118  9432206  9782177 10173052  9676477  8921177
## [393] 10442125  9585261  9713220 10751950  9612928 10422866  9369659  9822729
## [401]  9963222  9415674  9682626  9985579 10335348  9174727  9825123 10378203
## [409]  9730595 10113646 10246114 10133918 10326629  9938646  9793162  8678426
## [417]  9953529 10215142 10267699  9722361 10889751 10143212 10063158 10636133
## [425]  9640767  9774831 11198726 10005565 10816784  9280747  9904742 10189212
## [433] 10150019  9497182 10009630  9461290 10356352 10542388  8887506 10617847
## [441]  9379478 10227385 10329951  9900055  9677443 10082661 10219409 10441651
## [449]  8973832  9181810 10715201 10523314 10217644 10357589 10458587  8669539
## [457] 10555139  9757506 10115308  9852421 10435982  9825764 10259252  9804658
## [465]  9453606 10605005 10370450 10862131 10032577 10562501 10987710  9859259
## [473]  9338524  9880324  9892979 10075840 10856152  9836928 10186502  9886158
## [481] 10010225 10157029 10664107 10060659 10356421 10389430 10457387  9712803
## [489] 10813441  9809522  9947108 10702025 10647042  9455004  9563464  9320960
## [497] 10090924 10082420 10182057 10276079
# 1. Rata-rata pendapatan simulasi
mean_simulated <- mean(income_data)
cat("Rata-rata pendapatan simulasi:", mean_simulated, "\n")
## Rata-rata pendapatan simulasi: 10017295
# 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
summary(income_data)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  8669539  9712684 10010359 10017295 10342606 11620520

Studi Kasus 2: Simulasi Jumlah Pelanggan

# Simulasi jumlah pelanggan
set.seed(123)
n_days <- 30
lambda_customers <- 50
customers_data <- rpois(n_days, lambda_customers)
customers_data
##  [1] 46 58 38 50 62 53 41 37 58 52 52 50 46 59 55 49 44 42 47 44 57 48 41 41 47
## [26] 47 49 56 48 52
# 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 Praktikum 3

1. Buat simulasi untuk distribusi diskrit dan distribusi kontinu.

Diskrit - Geometrik

# Simulasi distribusi geometrik
set.seed(123)
n <- 1000
p <- 0.3  # probabilitas sukses
geo_data <- rgeom(n, prob = p)
# Histogram
hist(geo_data,
     breaks = 30,
     main = "Histogram Distribusi Geometrik",
     xlab = "Jumlah Percobaan hingga Sukses",
     col = "lightblue")

# Kontinu - Gamma

# Simulasi distribusi gamma
set.seed(123)
shape <- 2
rate <- 0.5
gamma_data <- rgamma(n, shape = shape, rate = rate)
# Histogram
hist(gamma_data,
     breaks = 30,
     main = "Histogram Distribusi Gamma",
     xlab = "Waktu Tunggu",
     col = "lightgreen")

2. Buat studi kasus sendiri yang melibatkan simulasi variabel random dari distribusi yang telah dipelajari.

Studi Kasus: Simulasi Waktu Tunggu Mahasiswa di Kantin

# Simulasi Data
set.seed(123)
n_students <- 200
rate_wait <- 1/5  # rata-rata 5 menit
waiting_time <- rexp(n_students, rate = rate_wait)
# Tampilkan ringkasan
summary(waiting_time)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  0.02184  1.58985  3.85975  5.03617  7.12369 36.05504
# Rata-rata waktu tunggu
mean_wait <- mean(waiting_time)
cat("Rata-rata waktu tunggu:", mean_wait, "menit\n")
## Rata-rata waktu tunggu: 5.036166 menit
# Probabilitas menunggu lebih dari 10 menit
prob_wait_10 <- sum(waiting_time > 10) / n_students
cat("Probabilitas menunggu > 10 menit:", prob_wait_10, "\n")
## Probabilitas menunggu > 10 menit: 0.1
# Visualisasi
hist(waiting_time,
     breaks = 30,
     main = "Histogram Waktu Tunggu Mahasiswa",
     xlab = "Menit",
     col = "lightcoral")