Variabel Random adalah variabel yang nilainya ditentukan oleh hasil dari suatu percobaan acak. Variabel random dapat dibagi menjadi dua jenis:
Dalam pemodelan statistika dan simulasi, variabel random digunakan untuk memodelkan fenomena acak. Simulasi variabel random membantu kita memahami distribusi data, menghitung probabilitas, dan membuat prediksi berdasarkan model yang telah dibuat.
Distribusi uniform adalah distribusi di mana semua nilai dalam interval tertentu memiliki probabilitas yang sama.
set.seed(123)
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")
runif(n, min, max) digunakan untuk menghasilkan n variabel random dari distribusi uniform dengan rentang min hingga max. Histogram menunjukkan bahwa nilai-nilai tersebar merata antara 0 dan 1, sesuai dengan sifat distribusi uniform.
Distribusi binomial menggambarkan jumlah sukses dalam n percobaan independen dengan probabilitas sukses p.
# 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")
rbinom(n, size, prob) digunakan untuk menghasilkan n variabel random dari distribusi binomial dengan size percobaan dan probabilitas sukses prob. Histogram menunjukkan distribusi jumlah sukses, yang berbentuk simetris karena p = 0.5.
Distribusi normal adalah distribusi kontinu yang berbentuk lonceng, dengan mean mu dan standar deviasi sigma.
# 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")
rnorm(n, mean, sd) digunakan untuk menghasilkan n variabel random dari distribusi normal dengan mean mu dan standar deviasi sigma. Histogram menunjukkan distribusi berbentuk lonceng, yang khas untuk distribusi normal.
lambda <- 3 # Parameter lambda
poisson_data <- rpois(n, lambda)
hist(poisson_data, breaks = 30, main = "Histogram Distribusi Poisson", xlab = "Jumlah Kejadian", col = "lightyellow")
Distribusi Poisson digunakan untuk memodelkan jumlah kejadian langka dalam interval waktu atau ruang. Histogram menunjukkan distribusi yang miring ke kanan, yang khas untuk distribusi Poisson dengan lambda kecil.
rate <- 1 # Parameter rate
exp_data <- rexp(n, rate)
hist(exp_data, breaks = 30, main = "Histogram Distribusi Eksponensial", xlab = "Nilai", col = "lightcoral")
Distribusi eksponensial digunakan untuk memodelkan waktu antara kejadian dalam proses Poisson. Histogram menunjukkan distribusi yang miring ke kanan, dengan nilai-nilai yang semakin kecil semakin sering muncul.
# 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
# Rata-rata pendapatan simulasi
mean_simulated <- mean(income_data)
cat("Rata-rata pendapatan simulasi:", mean_simulated, "\n")
## Rata-rata pendapatan simulasi: 10017295
# 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
# 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
# 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
# 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
Simulasi ini memodelkan jumlah pelanggan yang datang ke restoran setiap hari dengan distribusi Poisson.