Soal 1

Dalam sebuah kelompok berisi 10 orang, terdapat 4 orang yang mahir dan 6 orang pemula. Sebuah tim dengan 5 anggota akan dipilih secara acak.

  1. Buat simulasi pemilihan tim sebanyak 1000 kali.
  2. Hitung rata-rata jumlah anggota mahir dalam tim berdasarkan simulasi tersebut.
  3. Gambarkan barchart hasil simulasi.

Buat simulasi pemilihan tim sebanyak 1000 kali.

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.

Hitung rata-rata jumlah anggota mahir dalam tim berdasarkan simulasi tersebut

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.

Gambarkan barchart hasil simulasi.

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.

Soal 2

  • 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

  1. Dalam satu kali percobaan, tiga tiket yang terambil adalah 31, 79, dan 51.

  2. 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.

  3. Dari 1000 kali simulasi, sekitar 26,3% percobaan menghasilkan minimal satu tiket pemenang

Soal 3

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:

1. Lakukan simulasi pengambilan dua kartu secara acak dari kumpulan kartu bernomor 1 sampai 12.

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.

2. Tentukan apakah kartu kedua runtuh berdasarkan hasil pengambilan kartu tersebut.

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.

3. Ulangi simulasi sebanyak 500 kali, hitung berapa kali kartu kedua runtuh, dan hitung peluang runtuhnya kartu kedua

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.