Simulasi Sederhana: Variabel Random Uniform

Studi Kasus: Pemilihan Nomor Antrean Digital Distribusi uniform adalah distribusi di mana semua nilai dalam interval tertentu memiliki probabilitas yang sama .

Simulasi 100 variabel random dari distribusi uniform
set.seed(123) # Set seed untuk reproducibility

n <- 100 # Angka acak antara 100 sampai 500

nomor_acak <- runif(n, min = 100, max = 500)
Plot histogram
hist(nomor_acak, breaks = 30, main = "Histogram Nomor Antrean Acak", xlab = "Nomor", col = "lightblue") 

runif(n, min = 100, max = 500)
##   [1] 339.9956 233.1294 295.4452 481.7895 293.1610 456.1401 465.7753 343.4940
##   [9] 264.2759 158.8379 474.1199 220.4916 124.2882 479.0908 388.2385 156.9177
##  [17] 319.7139 481.6365 334.1933 261.8041 359.1574 227.9282 223.0880 187.9071
##  [25] 247.7955 493.6877 161.6809 136.4176 156.7628 376.0028 347.7026 456.5576
##  [33] 369.1996 394.8311 308.4543 363.9354 428.7222 414.5126 491.9288 275.7726
##  [41] 224.6809 263.7900 104.1868 173.5398 437.0917 192.4647 195.6400 130.6765
##  [49] 198.2895 392.8541 438.9813 299.0109 255.1636 198.5796 144.4386 255.9978
##  [57] 328.7741 186.7571 277.9072 187.1963 300.9198 241.5618 359.9941 249.8856
##  [65] 242.1782 313.4752 396.1337 188.4412 265.0984 206.2747 351.9892 173.5314
##  [73] 445.4576 398.6272 367.3139 347.2071 248.8952 311.9343 449.8729 332.7000
##  [81] 435.9071 224.9793 383.3161 206.0071 337.7373 292.5159 206.0131 325.8362
##  [89] 465.2753 460.7498 209.6666 228.5931 494.2564 347.9973 474.9256 286.6131
##  [97] 262.7330 363.6921 160.9386 329.1468

digunakan untuk menghasilkan n variabel random dari distribusi uniform dengan rentang min hingga max . Histogram menunjukkan bahwa nilai-nilai tersebar merata, sesuai dengan sifat distribusi uniform .

Simulasi Distribusi Diskrit: Distribusi Binomial

Studi Kasus: Kontrol Kualitas Produksi Barang Distribusi binomial menggambarkan jumlah sukses dalam n percobaan independen dengan probabilitas sukses p.

Simulasi 1000 variabel random dari distribusi binomial
n_batch <- 1000 # Jumlah batch produksi

n_barang <- 50 # Jumlah barang per batch

p_layak <- 0.95 # Probabilitas barang layak jual (sukses)

kualitas_data <- rbinom(n_batch, size = n_barang, prob = p_layak)
Plot histogram
hist(kualitas_data, breaks = 30, main = "Histogram Kualitas Produksi", xlab = "Jumlah Barang Layak", col = "lightgreen") 

rbinom(n, size = n_barang, prob = p_layak)
##   [1] 46 46 48 47 48 43 50 49 46 47 48 42 49 48 49 46 48 46 49 45 48 48 49 46 45
##  [26] 50 48 49 46 48 50 49 48 47 49 50 49 47 45 48 49 48 47 48 46 49 47 50 49 47
##  [51] 46 48 47 50 49 46 49 49 44 47 49 47 50 49 47 50 47 45 49 44 50 47 48 47 46
##  [76] 47 47 47 48 48 49 46 47 47 47 49 47 47 48 48 46 48 49 46 48 48 46 47 46 47

digunakan untuk menghasilkan n variabel random dari distribusi binomial dengan size percobaan dan probabilitas sukses prob .

Simulasi Distribusi Kontinu: Distribusi Normal

Studi Kasus: Berat Roti di Toko Bakeri Distribusi normal adalah distribusi kontinu yang berbentuk lonceng, dengan mean mu dan standar deviasi sigma .

Simulasi 1000 variabel random dari distribusi normal
n <- 1000 
mu_roti <- 500 # Target rata-rata berat (gram)

sigma_roti <- 10 # Standar deviasi

berat_data <- rnorm(n, mean = mu_roti, sd = sigma_roti)
Plot histogram
hist(berat_data, breaks = 30, main = "Histogram Berat Roti", xlab ="Berat (Gram)", col = "lightpink")

rnorm(n, mean = mu_roti, sd = sigma_roti)
##    [1] 478.3739 498.1981 514.1024 506.4347 491.7874 484.5408 491.7345 500.3453
##    [9] 508.8807 480.6006 510.2320 500.0546 505.6978 483.4674 493.3335 495.5177
##   [17] 510.4389 510.2817 504.3509 516.0421 494.8459 510.1254 499.6406 493.3266
##   [25] 509.2338 513.8110 508.7825 494.9060 495.3021 513.7768 503.5283 508.2957
##   [33] 496.6130 512.6103 491.9124 506.2535 491.8283 475.3742 486.5704 501.3630
##   [41] 508.8292 482.4870 487.4858 517.6455 495.6610 505.0570 494.7306 497.0142
##   [49] 500.8724 500.1096 498.0744 495.3020 469.5214 518.6866 517.9042 488.9892
##   [57] 498.3189 513.7528 509.9829 512.7660 489.2825 525.7727 488.6654 507.5392
##   [65] 501.4128 495.9629 496.2058 490.0860 516.2266 500.8951 502.5922 502.0963
##   [73] 496.2483 488.6598 502.5373 479.0636 485.8143 489.2360 489.2132 501.0719
##   [81] 515.9849 484.8468 504.3368 508.9954 490.1047 499.4720 508.2361 497.4449
##   [89] 497.7932 503.0773 499.3999 494.4435 498.6138 518.8284 508.7367 490.8540
##   [97] 487.5508 496.4002 513.2877 502.9268 492.9849 508.8223 498.6663 488.7932
##  [105] 504.6119 515.2414 504.3447 501.9200 493.4376 505.6840 489.2943 483.4685
##  [113] 499.5665 499.6541 523.6506 487.8365 501.7091 508.0505 510.5059 499.8928
##  [121] 492.5674 499.3422 519.3976 504.8274 479.5552 514.2346 505.4050 499.6643
##  [129] 499.8214 498.5021 502.5656 494.9613 502.7701 490.6864 502.0015 511.0684
##  [137] 505.0921 510.3375 489.0913 500.5479 506.1725 489.3200 515.6581 489.6519
##  [145] 501.6452 501.5183 501.2167 497.8958 504.4994 489.6884 487.1064 493.4543
##  [153] 499.4268 512.5675 515.8745 503.1948 503.8159 497.5636 500.4805 485.9545
##  [161] 502.8993 494.6445 503.3468 496.5402 493.3838 497.8089 496.3310 510.9458
##  [169] 502.0921 504.3249 487.5915 514.9682 501.5937 491.4372 503.0905 508.7043
##  [177] 486.1632 516.9011 498.4197 511.2117 500.7226 496.6758 481.6508 488.9983
##  [185] 499.5866 508.2785 481.1832 513.7544 513.9899 488.5668 504.7230 489.6636
##  [193] 498.7480 509.2866 508.6834 491.5083 496.1336 490.2384 503.3954 484.4092
##  [201] 473.7067 514.6981 522.7347 495.4497 507.6110 499.9250 514.7431 505.5414
##  [209] 502.0366 482.0086 510.8296 496.4915 485.9651 497.9820 498.7322 510.5921
##  [217] 488.3260 494.4236 514.8812 513.5867 511.6321 516.6152 502.0403 494.1812
##  [225] 505.5520 510.5872 524.1363 480.3502 502.7324 506.5479 499.4540 484.4218
##  [233] 507.4150 492.2091 505.0586 509.0755 512.8396 484.4214 510.8174 492.4302
##  [241] 487.1098 513.1432 511.4626 497.5742 507.5954 491.3967 498.4897 499.0628
##  [249] 497.1926 507.3410 515.3733 495.4423 499.6734 516.3676 496.7096 473.9596
##  [257] 505.1398 491.1353 490.0146 514.2082 524.4800 489.6022 510.3103 499.0585
##  [265] 501.4181 512.2224 502.1367 491.4863 495.2959 506.8614 476.6405 510.9524
##  [273] 484.3285 500.2193 498.0964 512.9307 501.8885 501.0194 506.9814 491.7299
##  [281] 498.0410 511.7758 506.8347 487.2450 506.3796 486.2241 494.0169 512.1092
##  [289] 477.4895 482.2099 513.0137 491.8521 512.4371 498.3175 504.2778 508.1328
##  [297] 493.4879 496.9541 495.8490 528.1608 501.2615 504.7280 496.5925 497.5821
##  [305] 513.7875 496.6112 500.2014 503.7696 495.6828 519.5906 485.7154 520.1129
##  [313] 496.4841 513.5712 480.0082 509.5608 508.7643 487.2878 492.3168 501.9352
##  [321] 511.4384 492.3400 497.7587 515.7135 488.7265 509.4779 504.4877 488.9419
##  [329] 493.3213 507.8328 502.4896 514.2510 493.9822 482.8551 510.4783 493.9138
##  [337] 501.2034 517.1904 497.4959 515.4956 489.0286 509.2551 502.4680 492.6323
##  [345] 487.1999 500.7664 502.5516 502.7745 505.3686 495.3951 494.8840 502.3694
##  [353] 494.5841 512.1923 501.7414 493.8473 481.9311 493.5632 520.4602 494.3924
##  [361] 491.6400 506.5295 504.4129 507.5163 497.2202 511.2265 488.2739 499.5112
##  [369] 492.9586 506.8076 501.3001 511.0971 520.5850 501.4066 494.6538 491.7648
##  [377] 497.3697 499.3040 519.9180 488.7089 489.0678 495.9203 505.8756 508.2111
##  [385] 490.9207 501.2704 499.5711 511.9521 510.8919 496.8772 500.4599 506.5272
##  [393] 483.4651 496.8973 505.7487 494.7677 499.4008 499.7899 492.7635 490.0552
##  [401] 498.0013 496.5297 508.3410 515.2988 499.8808 503.9867 499.2958 506.0136
##  [409] 502.1850 502.3660 511.1292 490.1258 514.4786 503.4911 501.8082 494.3976
##  [417] 498.3612 503.7368 479.3629 493.9848 505.8599 497.0552 491.9947 493.6431
##  [425] 502.3575 483.6517 508.7123 478.3107 494.9666 492.1282 487.5140 489.2209
##  [433] 502.5008 498.8023 496.9915 476.7924 486.7568 498.6869 491.2196 492.0323
##  [441] 510.4954 501.7559 489.5616 495.3130 497.1510 493.1970 490.3595 499.4820
##  [449] 507.4119 502.2685 497.9985 503.8782 507.9392 498.5949 504.5581 488.5443
##  [457] 497.5035 495.7970 501.9566 503.5732 498.7638 492.3379 490.7029 502.7852
##  [465] 513.5684 492.1286 496.1520 503.3068 494.4538 501.2157 499.5240 492.2375
##  [473] 508.3144 508.4631 510.2414 512.6800 494.9364 495.3552 502.6122 506.3008
##  [481] 496.6037 495.7666 493.8173 514.8220 474.9183 498.3242 500.3821 489.4039
##  [489] 503.8543 480.3291 509.5497 483.3664 477.9727 492.3644 501.6208 493.4843
##  [497] 494.4071 503.3320 489.4110 499.1415 504.9793 516.3399 504.7945 517.1476
##  [505] 504.5316 499.9676 477.4347 487.7534 496.8104 507.1227 496.7749 505.4365
##  [513] 489.3619 497.2587 502.1701 496.4061 501.1283 493.2925 503.7435 499.1895
##  [521] 499.5295 480.5121 493.2633 485.1036 483.9428 495.0612 498.3920 502.8360
##  [529] 510.9126 504.4440 510.1207 494.7369 496.9216 510.8517 500.0121 483.1976
##  [537] 491.5344 510.0759 493.8926 503.3344 500.1422 495.0364 496.4921 503.9172
##  [545] 502.0958 512.3467 498.0018 490.7679 501.6590 507.0533 522.8197 495.3632
##  [553] 496.7365 508.8249 512.8129 493.4132 506.6457 494.3484 490.3782 506.2336
##  [561] 501.0650 503.8933 494.1950 517.9498 506.6529 496.2560 507.0275 487.8549
##  [569] 498.6225 514.0336 498.1116 509.1049 497.7808 477.0197 491.1979 502.2274
##  [577] 514.4655 494.0660 502.7598 490.3518 489.8354 492.2268 513.6906 509.4031
##  [585] 505.9367 511.1546 495.7558 507.5958 502.0963 489.5090 491.6894 500.5005
##  [593] 502.0563 496.7864 490.0351 479.0911 504.2524 497.0473 505.4916 484.5411
##  [601] 487.4666 498.8867 485.8719 480.1705 507.8360 509.0087 489.7004 497.2794
##  [609] 488.6603 503.1643 499.7032 491.3054 492.2578 489.3792 504.3637 505.7101
##  [617] 503.7647 491.5711 482.1383 505.3088 498.2294 499.6061 510.3213 491.0648
##  [625] 511.4402 495.8681 492.8681 497.9425 503.9002 497.9278 490.9949 497.1838
##  [633] 474.5807 494.9149 504.5597 498.3074 506.8833 504.8598 506.4565 506.5604
##  [641] 482.6142 500.0416 516.3007 495.1951 504.5280 501.4339 505.5701 497.2797
##  [649] 493.5170 500.7196 502.0781 498.1467 500.3144 504.1135 492.2382 511.3968
##  [657] 522.0076 514.7721 495.4558 481.7711 500.5420 508.8027 507.7811 487.7025
##  [665] 488.8685 501.3374 506.2608 508.7293 508.1639 490.3202 486.8739 479.8748
##  [673] 505.0493 508.2811 503.3585 489.4088 515.6772 496.2985 517.7904 505.5140
##  [681] 511.9031 503.3060 499.3535 489.8745 494.4149 499.5289 502.8207 499.6678
##  [689] 498.2203 501.8349 494.7563 494.6406 485.4430 508.4627 500.4693 499.1638
##  [697] 492.5908 497.5223 489.1322 489.5070 480.8105 509.8170 501.2596 488.8322
##  [705] 511.6379 506.2459 507.4238 497.7423 495.7713 499.0195 504.0469 507.9991
##  [713] 515.8947 494.9093 489.8444 501.0086 530.2210 495.7138 511.4568 497.5690
##  [721] 495.2146 492.8958 497.8876 516.4178 503.0185 504.8733 508.3874 520.7174
##  [729] 507.7562 485.7289 489.6649 484.1054 471.5145 512.9073 495.0628 503.9497
##  [737] 511.8162 494.8817 498.6503 503.5026 502.2588 492.2568 507.3082 505.4564
##  [745] 497.1155 487.7762 506.3333 514.2752 513.8052 508.7263 495.1686 494.6865
##  [753] 494.1232 495.8830 507.0919 502.5640 481.4364 481.3941 499.7717 501.4994
##  [761] 476.9253 491.8355 500.2756 514.6179 479.8713 487.4456 489.1969 501.7540
##  [769] 503.3084 496.7931 483.8767 493.6945 494.3951 497.9742 516.2289 493.2323
##  [777] 500.7626 492.9460 487.5977 506.3595 489.4937 527.3521 500.9256 500.6025
##  [785] 499.3345 518.4365 506.6393 497.4901 488.3381 489.6127 492.1501 512.1495
##  [793] 498.1102 492.4280 507.9206 513.4518 493.0547 495.5507 503.4528 499.9516
##  [801] 504.0637 517.1420 499.3961 497.1930 504.8541 499.5066 506.2777 497.7603
##  [809] 504.4352 484.3626 500.1390 494.8378 488.0946 495.8693 503.7199 500.9234
##  [817] 506.9348 509.4090 508.2846 496.7551 486.7184 497.1967 511.6966 498.7852
##  [825] 483.6271 504.9138 502.8182 495.9940 501.7336 513.6939 512.9920 495.4370
##  [833] 500.1066 485.4591 492.7225 520.0824 514.9801 497.7075 493.0753 486.3338
##  [841] 521.2605 501.1463 494.0605 510.7807 489.0041 507.2656 514.4087 497.8983
##  [849] 514.5128 506.4155 493.2119 505.7431 492.9549 494.6602 507.7438 495.2438
##  [857] 499.7557 510.1901 487.9442 515.9529 520.4196 506.1448 504.2193 495.0358
##  [865] 504.9096 494.9802 502.8817 493.1337 507.8840 506.9137 512.4300 519.8221
##  [873] 493.5356 509.6619 485.7273 495.4252 509.4547 492.6161 503.4564 490.9956
##  [881] 496.2965 499.5920 493.8768 480.5415 502.4310 504.7490 501.3671 495.1125
##  [889] 509.0020 510.7754 476.2633 511.2457 482.2045 496.5545 488.9083 493.6989
##  [897] 513.1688 505.3451 504.9390 479.2201 501.9633 506.2880 508.6095 490.2675
##  [905] 509.3754 486.0479 517.3874 492.0137 507.6502 503.1791 489.3640 511.4426
##  [913] 500.3338 508.1841 502.1819 508.6850 500.2168 511.1523 496.4782 505.2729
##  [921] 503.7857 508.4386 493.7896 501.7769 494.1983 509.0864 493.6331 517.3224
##  [929] 507.9037 499.8629 512.0620 499.1541 505.6326 505.2819 504.2304 494.0324
##  [937] 487.4916 483.1840 495.4370 506.8279 497.6096 487.9665 521.5648 507.0201
##  [945] 519.4662 512.1304 493.8862 495.8808 485.5932 507.4047 516.2366 490.7952
##  [953] 487.9780 508.8268 484.8352 519.2161 505.7214 482.8510 503.5492 501.0518
##  [961] 475.3159 499.5814 494.1274 491.1270 502.3872 508.5089 517.2701 473.6749
##  [969] 507.4361 490.4765 511.5633 503.4586 514.4496 485.1724 504.9463 502.9516
##  [977] 510.4786 497.6883 511.4402 495.5504 495.7076 500.2538 489.3075 495.4343
##  [985] 511.1000 516.5183 511.1425 495.7513 503.1848 500.9849 487.4097 502.5741
##  [993] 491.7571 489.3938 507.2551 492.9207 498.5595 490.2628 500.5594 504.9235

digunakan untuk menghasilkan n variabel random dari distribusi normal dengan mean mu dan standar deviasi sigma . Histogram menunjukkan distribusi berbentuk lonceng .

Distribusi Poisson (Diskrit)

Studi Kasus: Jumlah Kecelakaan di Persimpangan Jalan

Simulasi 60 bulan (5 tahun)
n_bulan <- 60

lambda_kecelakaan <- 3 # Rata-rata kecelakaan per bulan

kecelakaan_data <- rpois(n_bulan, lambda_kecelakaan)
Plot histogram
hist(kecelakaan_data, breaks = 30, main = "Histogram Kecelakaan Bulanan", xlab = "Jumlah Kejadian", col = "lightyellow")

rpois(n_bulan, lambda_kecelakaan)
##  [1] 2 4 2 5 2 4 1 5 5 5 0 0 2 2 1 4 0 5 3 4 6 3 6 2 2 7 2 4 2 4 4 2 0 2 3 3 2 3
## [39] 2 2 0 3 2 7 0 3 3 0 1 3 3 5 4 3 2 2 1 2 2 6

Distribusi Poisson digunakan untuk memodelkan jumlah kejadian langka dalam interval waktu atau ruang .

Distribusi Eksponensial (Kontinu)

Studi Kasus: Waktu Antar Kedatangan Email Masuk

Simulasi 200 email
n_email <- 200 

rate_email <- 2 # Rata-rata 2 email per jam

waktu_tunggu <- rexp(n_email, rate_email)
Plot histogram
hist(waktu_tunggu, breaks = 30, main = "Histogram Waktu Antar Email", xlab = "Waktu (Jam)", col = "lightcoral")

Distribusi eksponensial digunakan untuk memodelkan waktu antara kejadian dalam proses Poisson .

Latihan Studi Kasus

Studi Kasus : Simulasi Analisis Berat Roti

Simulasi berat roti
set.seed(123)

n_roti <- 1000

mean_berat <- 500

sd_berat <- 10

berat_roti_data <- rnorm(n_roti, mean = mean_berat, sd = sd_berat)
1. Rata-rata berat simulasi
mean_simulated <- mean(berat_roti_data) 
cat("Rata-rata berat simulasi:", mean_simulated, "gram\n")
## Rata-rata berat simulasi: 500.1613 gram
2. Probabilitas berat di bawah 480 gram
prob_below_480 <- sum(berat_roti_data < 480) / n_roti
cat("Probabilitas berat di bawah 480 gram:", prob_below_480, "\n")
## Probabilitas berat di bawah 480 gram: 0.019
summary(berat_roti_data)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   471.9   493.7   500.1   500.2   506.6   532.4

Simulasi ini memodelkan berat produk dengan distribusi normal. Rata-rata berat simulasi mendekati mean yang diberikan (500 gram). Probabilitas dihitung dengan menghitung proporsi data yang memenuhi kriteria tertentu.