#Latihan 1

# Menetapkan seed
set.seed(150)

# Menghasilkan 1000 data berdistribusi normal
data <- rnorm(1000, mean = 30, sd = 2.5)

# Menyimpan rata-rata dari 50 sampel berukuran 100
rata_rata <- numeric(50)

for(i in 1:50){
  sampel <- sample(data, 100)
  rata_rata[i] <- mean(sampel)
}

# Menampilkan hasil
rata_rata
##  [1] 29.74008 30.16381 29.62791 29.66137 30.08495 30.01583 29.70671 30.05079
##  [9] 30.02960 30.37672 29.76709 30.01157 29.60805 29.72241 30.06345 29.88738
## [17] 30.16121 30.36253 29.16989 30.14413 29.75741 29.38544 29.96614 29.75158
## [25] 29.82847 30.01795 30.19496 30.07933 30.04874 30.26879 29.52677 29.65463
## [33] 30.07876 29.82691 29.49381 29.89400 30.11327 29.70978 29.89127 29.93924
## [41] 29.61428 29.67813 30.21050 29.81615 29.92829 29.97847 29.80795 29.41516
## [49] 30.31301 29.93768

Hasil simulasi menghasilkan 50 nilai rata-rata sampel yang tersimpan pada vektor rata_rata. Nilai-nilai tersebut umumnya berada di sekitar 30, karena data dibangkitkan dari distribusi normal dengan rata-rata populasi 30. Perbedaan antar rata-rata sampel terjadi akibat variasi pengambilan sampel secara acak.

#Latihan 2

# Menampilkan dua histogram dalam satu jendela
par(mfrow = c(1,2))

# Histogram 1000 observasi
hist(data,
     main = "Histogram 1000 Observasi",
     xlab = "Nilai",
     col = "lightblue",
     border = "black")

# Histogram rata-rata sampel
hist(rata_rata,
     main = "Histogram 50 Rata-rata Sampel",
     xlab = "Rata-rata Sampel",
     col = "lightpink",
     border = "black")

Histogram 1000 observasi menunjukkan pola yang menyerupai distribusi normal dengan puncak di sekitar nilai 30, sesuai dengan rata-rata yang telah ditentukan. Sementara itu, histogram 50 rata-rata sampel juga berpusat di sekitar 30, tetapi memiliki rentang yang lebih sempit (sekitar 29,0 - 30,3). Hal ini menunjukkan bahwa rata-rata sampel memiliki variasi yang lebih kecil dibandingkan data asli, sehingga memberikan estimasi rata-rata populasi yang lebih stabil.