Dalam sebuah kelompok berisi 10 orang, terdapat 4 orang yang mahir dan 6 orang pemula. Sebuah tim dengan 5 anggota akan dipilih secara acak.
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.3
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
set.seed(123) # Mengunci bilangan acak agar hasil simulasi selalu sama
populasi = c(rep(1,4), rep(0,6)) # Membuat populasi berisi 10 orang, 1 = mahir (4 orang) dan 0 = pemula (6 orang)
jumlah_simulasi = 1000 # Banyaknya simulasi
hasil_mahir = numeric(jumlah_simulasi) # Menyiapkan tempat menyimpan hasil simulasi
# Perulangan dari simulasi ke-1 sampai ke-1000
for(i in 1:jumlah_simulasi){
tim = sample(populasi, 5, replace = FALSE) # Memilih 5 orang, replace = false (tanpa pengembalian)
hasil_mahir[i] = sum(tim) # Karena mahir = 1, maka jumlah 1 = jumlah anggota mahir
}
hasil_mahir_table = table(hasil_mahir) # Menghitung frekuensi kemunculan jumlah anggota mahir dalam tim
tabel_hasil = data.frame(
"Jumlah Anggota Mahir" = names(hasil_mahir_table),
"Frekuensi" = as.vector(hasil_mahir_table) # Mengubah tabel hasil simulasi menjadi data frame
)
print(tabel_hasil)
## Jumlah.Anggota.Mahir Frekuensi
## 1 0 22
## 2 1 231
## 3 2 487
## 4 3 236
## 5 4 24
Kasus paling sering terjadi adalah tim berisi 2 orang mahir. Tim dengan 1 atau 3 orang mahir juga cukup sering muncul. Sedangkan, tim dengan 0 atau 4 orang mahir sangat jarang terjadi.
rata_rata_mahir = mean(hasil_mahir) # Menghitung rata-rata jumlah anggota mahir dalam tim
rata_rata_mahir
## [1] 2.009
Berdasarkan hasil simulasi pemilihan tim sebanyak 1000 kali, diperoleh rata-rata jumlah anggota mahir sebesar 2.009. Dalam satu tim yang terdiri dari 5 orang, secara rata-rata terdapat sekitar 2 orang anggota mahir.
barplot(hasil_mahir_table,
main = "Distribusi Jumlah Anggota Mahir dalam Tim",
xlab = "Jumlah Anggota Mahir",
ylab = "Frekuensi",
col = "lightblue") # Menampilkan barchart
Grafik menunjukkan bahwa jumlah anggota mahir yang paling sering muncul dalam tim adalah 2 orang. Distribusi ini berpusat di sekitar nilai 2 dan sesuai dengan hasil rata-rata simulasi.
Simulasikan pengambilan tiket secara acak sebanyak 3 kali tanpa pengembalian
Tentukan apakah salah satu tiket yang diambil adalah tiket pemenang
Ulangi simulasi sebanyak 1000 kali. hitung peluang mendapatkan setidaknya 1 tiket pemenang
# Atur setseed agar random yang dihasilkan sama
set.seed(123)
# Pengambilan tiket secara acak sebanyak 3 kali tanpa pengembalian
tiket <- 1:100
ambil_tiket = sample(tiket, 3, replace = FALSE)
ambil_tiket
## [1] 31 79 51
# Menentukan apakah tiket yang terambil adalah tiket pemenang
tiket_pemenang <- sample(tiket,10)
any(ambil_tiket %in% tiket_pemenang)
## [1] FALSE
# Ulangi sebanyak 1000 kali dan hitung setidaknya 1 tiket pemenang
n_sim <- 1000
hasil <- logical(n_sim)
for (i in 1:n_sim) {
ambil_tiket <- sample(1:100, 3, replace = FALSE)
hasil[i] <- any(ambil_tiket %in% tiket_pemenang)
}
peluang <- mean(hasil)
peluang
## [1] 0.263
Interpretasi
Dalam satu kali percobaan, tiga tiket yang terambil adalah 31, 79, dan 51.
False artinya dari tiga tiket itu, tidak ada yang termasuk tiket pemenang dengan kata lain kejadian “mendapat setidaknya satu tiket pemenang” idak terjadi pada percobaan ini.
Dari 1000 kali simulasi, sekitar 26,3% percobaan menghasilkan minimal satu tiket pemenang
Diberikan sebuah permainan domino dengan ketentuan sebagai berikut: Terdapat 12 kartu domino yang masing-masing diberi nomor 1 sampai 12. Dua kartu diambil secara acak tanpa pengembalian. Kartu kedua akan runtuh apabila nomor pada kartu pertama merupakan kelipatan dari nomor pada kartu kedua.
Berdasarkan aturan tersebut, lakukan hal-hal berikut:
set.seed(123) # Mengunci bilangan acak agar hasil pengambilan kartu selalu sama
kartu <- 1:12 # Membuat vektor kartu bernomor 1 sampai 12 sebagai populasi kartu
ambil <- sample(kartu, # Mengambil sampel secara acak dari objek 'kartu'
size = 2, # Menentukan jumlah kartu yang diambil sebanyak 2 kartu
replace = FALSE) # Tanpa pengembalian, sehingga satu kartu tidak bisa terambil dua kali
ambil # Menampilkan dua kartu hasil pengambilan acak
## [1] 3 12
Pada simulasi pengambilan dua kartu secara acak dari kartu bernomor 1 sampai 12, diperoleh kartu pertama bernomor 3 dan kartu kedua bernomor 12.
kartu1 <- ambil[1] # Mengambil elemen pertama dari vektor 'ambil' sebagai kartu pertama
kartu2 <- ambil[2] # Mengambil elemen kedua dari vektor 'ambil' sebagai kartu kedua
runtuh <- (kartu1 %% kartu2 == 0) # Mengecek apakah kartu pertama merupakan kelipatan kartu kedua
# Operator %% menghitung sisa pembagian
# Jika sisa = 0 maka kartu kedua runtuh (TRUE), jika tidak (FALSE)
runtuh # Menampilkan hasil logika runtuh atau tidak
## [1] FALSE
Pada simulasi pengambilan dua kartu secara acak dari kartu bernomor 1 sampai 12, diperoleh kartu pertama bernomor 3 dan kartu kedua bernomor 12. Berdasarkan aturan permainan, kartu kedua akan runtuh apabila nomor pada kartu pertama merupakan kelipatan dari nomor pada kartu kedua. Karena 3 bukan merupakan kelipatan dari 12 (3 ÷ 12 menghasilkan sisa, tidak habis dibagi), maka syarat runtuh tidak terpenuhi. Oleh karena itu, kartu kedua tidak runtuh, yang ditunjukkan oleh hasil logika FALSE.
set.seed(123)
hasil <- logical(500)
for (i in 1:500) {
ambil <- sample(1:12, 2, replace = FALSE)
kartu1 <- ambil[1]
kartu2 <- ambil[2]
hasil[i] <- (kartu1 %% kartu2 == 0)
}
jumlah_runtuh <- sum(hasil)
peluang_runtuh <- mean(hasil)
jumlah_runtuh
## [1] 83
peluang_runtuh
## [1] 0.166
Berdasarkan hasil simulasi yang telah dilakukan, diperoleh bahwa dari seluruh percobaan yang dijalankan, kejadian kartu kedua runtuh terjadi sebanyak 83 kali dan diperoleh nilai peluang sebesar 0,166.
Hal ini menunjukkan bahwa peluang kartu kedua runtuh pada permainan pengambilan dua kartu secara acak dari kartu bernomor 1 sampai 12 adalah sekitar 16,6%. Artinya, dari setiap 100 percobaan pengambilan dua kartu, secara rata-rata kartu kedua akan runtuh sekitar 16 hingga 17 kali.