Tugas 1 MSR

Latihan Mandiri 1 MSR

Adriano Excel Putra - G1401221020

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.

Fungsi yang akan digunakan akan fokus pada jumlah anggota Mahir yang terpilih , sehingga fungsinya akan fokus ke jumlah anggota mahir, Dengan demikian fungsinya adalah sebagai

Fungsi

# Fungsi untuk simulasi pemilihan tim
SimTim = function() {
  anggota = c(rep("Mahir", 4), rep("Pemula", 6)) # Mahir = 4, Pemula = 6
  tim = sample(anggota, 5, replace = FALSE)
  return(sum(tim == "Mahir")) # Jumlah anggota mahir dalam tim
}

# Jalankan simulasi 1000 kali
set.seed(123)
hasil = replicate(1000, SimTim())
rata_rata_mahir = mean(hasil)

cat("Rata-rata jumlah anggota mahir dalam tim:", rata_rata_mahir, "\n")
## Rata-rata jumlah anggota mahir dalam tim: 2.009

Sehingga dapat dikatakan dengan 1000 kali pengulangan, jumlah orang yang mahir disuatu tim adalah ~~ 2 orang

Visualiasiasi

# Membuat Barplot
barplot(table(hasil), main = "Histogram Jumlah Anggota Mahir pada Tim", xlab = "Jumlah Anggota Mahir", ylab = "Frekuensi", col = "cyan")

Dari 1000 Simulasi yang dilakukan , Dapat dinyatakan bahwa jumlah anggota Mahir dalam TIm menyebar normal.

Soal 2

Dalam sebuah lotere, terdapat 100 tiket dengan nomor dari 1 hingga 100. Dari total tiket, hanya 10 tiket yang merupakan tiket pemenang.

  1. Simulasikan pengambilan tiket secara acak sebanyak 3 kali tanpa pengembalian.

  2. Tentukan apakah salah satu tiket yang diambil adalah tiket pemenang.

  3. Ulangi simulasi sebanyak 1000 kali, hitung peluang mendapatkan setidaknya 1 tiket pemenang.

Fungsi

set.seed(123)
SimLotre= function(){
  #Pengambilan 3 tiket tanpa pengembelaian dari 100 tiket
  Tiket=sample(1:100,3,replace=FALSE)
  #Misal 1-10 adalah Tiket Pemenang, Cek apakah salah satu tiket yang diambil adalah tiket pemenang
  pemenang= any(Tiket %in% 1:10)
  return (pemenang)
}

# Simulasi Pengambilan 1000 kali

n=1000
Hasillotre= replicate(n, SimLotre())

# Peluang mendapatkan 1 tiket 

Peluang= mean(Hasillotre)

# Menampilkan hasil
cat("Peluang mendapatkan setidaknya 1 tiket pemenang adalah :", Peluang, "\n")
## Peluang mendapatkan setidaknya 1 tiket pemenang adalah : 0.261

Fungsi juga dapat dibuat dengan memisahkan terlebih dahulu 90 tiket biasa dan 10 tiket jacpot

# Fungsi untuk simulasi lotere
SimulasiLotere = function() {
  tiket = c(rep("Biasa", 90),rep("Jackpot", 10)) # 10 tiket Jackpot, 90 tiket biasa
  pilihan = sample(tiket, 3, replace = FALSE)
  return(any(pilihan == "Jackpot")) # Apakah ada tiket pemenang
}

# Jalankan simulasi 1000 kali
set.seed(123)
hasiljackpot = replicate(1000, SimulasiLotere())
peluang_menang = mean(hasiljackpot)

cat("Peluang mendapatkan setidaknya 1 tiket pemenang:", peluang_menang, "\n")
## Peluang mendapatkan setidaknya 1 tiket pemenang: 0.279

Soal 3

Sebuah permainan domino menggunakan kartu bernomor 1 hingga 12. Saat kartu pertama diambil, kartu kedua runtuh jika nomor kartu pertama adalah kelipatan dari nomor kartu kedua.

  1. Buat simulasi mengambil 2 kartu acak dari tumpukan (tanpa pengembalian).
  2. Tentukan apakah kartu kedua akan runtuh.
  3. Ulangi simulasi sebanyak 500 kali, hitung berapa kali kartu kedua runtuh, dan hitung peluang runtuhnya kartu kedua.

Fungsi

simdom= function(){
  domino= sample(1:12,2,replace=FALSE)
  #Tambahkan logika untuk melihat kondisi kartu kedua
  if (domino[1] %% domino[2]==0 ){
    return(1) # Kartu kedua akan runtuh 
      
  } else {
    return (0) # Kartu kedua stay 
  }
  
}

set.seed(100)
# Lakukan simulasi sebanyak 500 kali
Simulasi = replicate(500,simdom())
peluangdom= mean(Simulasi)

cat("Jumlah runtuhnya kartu kedua:", sum(Simulasi), "\n")
## Jumlah runtuhnya kartu kedua: 92
cat("Peluang kartu kedua runtuh:", peluangdom, "\n")
## Peluang kartu kedua runtuh: 0.184