Tujuan Praktikum

Praktikum ini bertujuan untuk memahami konsep distribusi sampling dan penerapannya menggunakan perangkat lunak R. Secara khusus, praktikum bertujuan untuk:

  1. Memahami karakteristik data melalui statistik deskriptif dan visualisasi.
  2. Memahami pembentukan distribusi sampling rata-rata melalui simulasi pengambilan sampel.
  3. Menganalisis pengaruh ukuran sampel terhadap bentuk dan penyebaran (spread) distribusi sampling.
  4. Memahami distribusi sampling proporsi dan membandingkan hasil simulasi dengan perhitungan teoritis.
  5. Memahami penggunaan metode bootstrap untuk mengestimasi median dan interval kepercayaan.
  6. Menganalisis perbedaan rata-rata exam_score berdasarkan gender menggunakan uji-t serta mengukur ukuran efeknya menggunakan Cohen’s d.
# Membaca dataset
data <- read.csv("dataset_praktikum_sampling.csv")

# Melihat struktur data
str(data)
## 'data.frame':    500 obs. of  7 variables:
##  $ student_id   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ gender       : chr  "L" "P" "P" "L" ...
##  $ study_hours  : num  4.2 8.1 0.1 3.6 3.6 6.9 8.8 5.4 4.7 8.8 ...
##  $ attendance   : num  70 64.5 64.3 81.8 77.5 61.3 87.4 87.6 91.5 80.9 ...
##  $ family_income: num  50034 52111 91400 115892 81109 ...
##  $ exam_score   : num  74 76.1 60.6 63.5 55 78.4 98.6 61.4 86.3 86.6 ...
##  $ pass         : int  1 1 1 1 0 1 1 1 1 1 ...

#1. Eksplorasi Data

#a.
# menampilkan 6 baris pertama dataset 
head(data, 6)
##   student_id gender study_hours attendance family_income exam_score pass
## 1          1      L         4.2       70.0         50034       74.0    1
## 2          2      P         8.1       64.5         52111       76.1    1
## 3          3      P         0.1       64.3         91400       60.6    1
## 4          4      L         3.6       81.8        115892       63.5    1
## 5          5      L         3.6       77.5         81109       55.0    0
## 6          6      L         6.9       61.3         33905       78.4    1
# deskripsi statistik ringkas

# Statistik deskriptif
summary(data)
##    student_id       gender           study_hours       attendance   
##  Min.   :  1.0   Length:500         Min.   : 0.000   Min.   :60.10  
##  1st Qu.:125.8   Class :character   1st Qu.: 4.500   1st Qu.:70.67  
##  Median :250.5   Mode  :character   Median : 6.100   Median :81.20  
##  Mean   :250.5                      Mean   : 6.001   Mean   :80.47  
##  3rd Qu.:375.2                      3rd Qu.: 7.500   3rd Qu.:90.10  
##  Max.   :500.0                      Max.   :13.300   Max.   :99.90  
##  family_income      exam_score          pass      
##  Min.   :  3548   Min.   : 41.50   Min.   :0.000  
##  1st Qu.: 22873   1st Qu.: 68.80   1st Qu.:1.000  
##  Median : 37014   Median : 76.10   Median :1.000  
##  Mean   : 52631   Mean   : 76.17   Mean   :0.924  
##  3rd Qu.: 62783   3rd Qu.: 84.15   3rd Qu.:1.000  
##  Max.   :401401   Max.   :100.00   Max.   :1.000

Berdasarkan hasil statistik deskriptif, dataset terdiri dari 500 observasi. Variabel study_hours memiliki rata-rata 6,001 jam, dengan nilai minimum 0 jam dan maksimum 13,3 jam. Variabel attendance memiliki rata-rata 80,47, dengan rentang nilai 60,10 hingga 99,90. Sementara itu, family_income memiliki rata-rata sebesar 52.631, dengan nilai minimum 3.548 dan maksimum 401.401.

Variabel exam_score memiliki rata-rata 76,17, median 76,10, dengan nilai minimum 41,50 dan maksimum 100,00. Nilai rata-rata dan median yang relatif berdekatan menunjukkan bahwa pusat data exam_score berada di sekitar 76. Variabel pass memiliki rata-rata 0,924, yang menunjukkan bahwa sekitar 92,4% observasi memiliki status lulus (pass = 1).

#b.Buat histogram untuk variabel exam_score dan study_hours.
#histogram exam_score
hist(data$exam_score,
     main = "Histogram Nilai Ujian",
     xlab = "Exam Score",
     ylab = "Frekuensi")

Histogram menunjukkan bahwa nilai ujian paling banyak berada pada kisaran 70–85, dengan frekuensi tertinggi sekitar 75–80. Nilai yang lebih rendah dari 60 maupun lebih tinggi dari 90 memiliki frekuensi yang relatif lebih sedikit. Secara umum, distribusi nilai ujian cenderung berbentuk menyerupai distribusi normal, dengan sebagian besar data terkonsentrasi di sekitar nilai tengah.

#histogram study_hours.
hist(data$study_hours,
     main = "Histogram Jam Belajar",
     xlab = "Study Hours",
     ylab = "Frekuensi")

Histogram menunjukkan bahwa jam belajar paling banyak berada pada kisaran 4–8 jam, dengan frekuensi tertinggi sekitar 6–7 jam. Frekuensi mulai menurun pada jam belajar yang lebih rendah dari 4 jam maupun lebih tinggi dari 8 jam. Distribusi terlihat menyerupai pola normal, meskipun terdapat beberapa data dengan jam belajar yang cukup tinggi hingga sekitar 14 jam.

#2.Distribusi Sampling Rata-rata

#Distribusi Sampling Rata-rata 
#Dari populasi yang diberikan, lakukan simulasi pengambilan sampel acak (dengan pengembalian) sebanyak 1000 kali, ukuran sampel n = 30. Hitung rata-rata exam_score tiap sampel dan buat histogram distribusi sampling. 

# Menentukan seed
set.seed(123)

# Ukuran sampel dan jumlah simulasi
n <- 30
k <- 1000

# Simulasi distribusi sampling mean
mean_sample <- replicate(
  k,
  mean(sample(data$exam_score, n, replace = TRUE))
)
mean_sample
##    [1] 77.81667 74.30333 75.11667 75.34667 79.50000 75.84333 74.76667 77.81000
##    [9] 77.29000 75.76000 75.26667 75.39667 75.94333 77.93000 76.75333 76.60333
##   [17] 76.25667 74.08333 73.58000 74.04000 74.05000 77.54333 74.75333 76.22667
##   [25] 76.68667 76.23667 76.82667 74.94333 74.38000 74.01333 74.72000 72.94333
##   [33] 79.43000 75.58000 76.59000 75.34667 77.88667 76.15000 76.75333 76.70667
##   [41] 78.72333 75.22333 75.63667 75.55000 76.26333 75.84333 72.44333 74.99333
##   [49] 72.09667 75.42000 75.11333 75.57667 78.70667 73.23000 79.89333 75.74000
##   [57] 77.21000 74.86667 77.28000 74.17333 77.14333 76.61667 76.86667 76.96667
##   [65] 75.55667 74.65333 78.80000 76.65333 74.22667 74.77333 73.73000 71.78667
##   [73] 74.98667 75.84667 76.51000 73.64667 76.33000 75.77667 77.36000 74.65000
##   [81] 74.62667 74.26667 76.91333 75.41333 78.91667 78.10333 75.32000 75.72333
##   [89] 73.98667 73.44000 74.43000 77.39000 74.48667 72.56667 76.89000 75.74667
##   [97] 74.53000 77.19000 76.65333 81.14667 73.34667 76.46333 74.05000 74.55000
##  [105] 78.24667 79.21667 75.86667 76.21000 75.47333 77.68000 80.26000 75.06667
##  [113] 76.13333 75.41667 75.09333 76.12333 76.68000 73.57667 73.62333 75.74000
##  [121] 76.87000 77.72000 73.85333 77.72333 77.33000 72.08333 74.80333 75.52333
##  [129] 75.54667 80.43000 75.74667 74.89000 72.64667 74.74667 76.10667 77.73000
##  [137] 76.09000 74.74333 77.33333 73.43667 77.10000 73.35333 78.00667 78.63000
##  [145] 79.19000 77.31000 79.96000 76.36000 75.27000 72.77333 74.62333 76.29667
##  [153] 78.58333 77.35000 78.55000 73.43000 77.05000 79.50667 73.97667 73.23333
##  [161] 79.23333 75.98333 75.99667 78.86000 76.92000 73.92000 75.68000 79.41000
##  [169] 77.76000 77.49667 75.50000 73.41000 75.84000 72.79667 76.11000 76.43333
##  [177] 79.18000 75.41667 75.26667 77.74333 75.57000 75.48000 75.61000 77.02667
##  [185] 79.71667 76.79000 74.28000 77.02333 77.50667 74.63667 77.94333 77.44000
##  [193] 75.53000 74.92000 76.59000 75.77333 77.30000 77.12667 76.00667 76.71000
##  [201] 78.64333 72.85000 75.37000 78.72000 74.34000 78.10333 76.98000 80.33667
##  [209] 75.22333 75.37333 76.10667 77.67667 75.05000 76.63667 79.21667 75.37000
##  [217] 75.78333 81.37333 73.39333 77.27667 77.02333 73.81667 74.70000 72.94000
##  [225] 75.36667 77.58667 77.04000 75.53333 77.31667 78.52000 73.76667 80.59333
##  [233] 76.56667 74.59000 75.55000 77.73667 73.83667 75.92000 78.33333 71.64667
##  [241] 72.43333 74.31667 75.57333 74.18667 75.89667 76.67667 76.94333 71.98667
##  [249] 78.21000 75.31000 75.97333 74.06667 77.22667 73.76000 74.03000 75.85000
##  [257] 76.59000 77.52333 75.30667 74.47667 76.24333 76.91000 73.39667 75.18000
##  [265] 76.14667 76.72000 75.68333 76.12000 78.13667 74.46333 77.20000 74.77333
##  [273] 77.03667 76.21000 72.38667 73.37667 76.33333 76.83000 77.31000 76.84667
##  [281] 76.32667 78.71000 73.63333 78.81667 73.75333 76.02667 75.41000 76.04667
##  [289] 74.96667 75.32667 77.94667 76.32333 74.38667 78.17667 77.46000 73.33333
##  [297] 74.58000 73.76000 76.10333 73.90000 76.84333 74.51333 77.19000 76.97333
##  [305] 77.80000 76.32667 77.78333 75.41000 77.09667 76.00333 72.55000 75.11333
##  [313] 74.71667 75.74333 72.85667 79.22667 76.33333 79.59667 75.19667 73.52000
##  [321] 76.79667 75.35667 77.35667 78.23667 79.44333 74.74000 77.64333 77.78000
##  [329] 72.20667 78.12000 78.35333 74.50667 74.40333 74.26000 76.67667 78.68333
##  [337] 73.88000 78.63333 79.06667 75.86333 76.86667 75.71000 77.49000 73.02333
##  [345] 80.52000 78.53000 76.39667 73.54333 76.67000 74.62667 76.43333 75.89333
##  [353] 78.75667 76.38333 73.08000 76.70667 76.14667 79.51333 75.07333 75.33667
##  [361] 74.70000 78.16667 78.66000 78.00667 77.26000 77.63667 73.78333 79.77667
##  [369] 76.81333 74.95667 73.19333 76.57667 77.53333 75.98667 76.63667 77.75000
##  [377] 76.14000 77.60667 76.11333 76.31000 76.75333 75.39000 75.07667 76.82333
##  [385] 75.96333 73.86667 75.45333 77.43000 78.60000 76.99333 79.63333 75.78667
##  [393] 76.90333 78.99333 74.75667 75.98667 75.73000 75.91667 75.62667 69.58333
##  [401] 76.28333 76.01000 72.23667 80.31667 76.30000 79.29667 79.19667 74.11667
##  [409] 75.17000 76.03000 78.10333 77.77333 79.32333 74.14000 78.11333 76.36333
##  [417] 79.00333 77.48667 78.48667 78.19000 76.16333 77.81667 76.14000 74.84333
##  [425] 79.20667 79.28000 75.83333 73.92000 76.50333 76.60000 75.36667 76.60000
##  [433] 76.12333 76.63667 80.82333 76.05667 75.50333 75.97667 80.24000 74.91333
##  [441] 74.93333 73.34667 77.65667 75.37000 76.27000 75.83333 74.80333 74.67000
##  [449] 74.80667 77.21667 75.66667 74.20000 72.15000 73.89000 76.27667 74.10333
##  [457] 74.66333 76.32000 75.38333 75.60333 75.02667 75.85333 80.43333 75.42333
##  [465] 76.68333 74.05667 75.47000 73.95333 79.24000 76.18333 74.42333 78.04000
##  [473] 75.82333 74.12667 76.84333 75.96667 72.92667 77.48667 78.47333 78.71000
##  [481] 74.85667 74.88333 75.28333 76.86000 76.27000 76.32000 75.26000 77.03667
##  [489] 74.74667 77.40667 76.64000 78.66333 78.91667 74.90000 76.60000 75.10333
##  [497] 72.44667 73.85333 73.50333 74.90667 72.20000 72.52667 80.82667 76.05667
##  [505] 75.48000 78.17667 78.01333 73.16000 77.30667 79.59667 80.17667 78.78000
##  [513] 71.70667 77.12667 77.61333 74.77667 74.86667 77.10333 78.97000 73.69667
##  [521] 74.72000 74.54000 76.91333 75.15000 75.84667 74.64000 78.20000 75.03000
##  [529] 74.65667 71.59000 75.44000 74.03667 73.55667 76.85667 73.82000 76.92000
##  [537] 76.09667 73.93333 74.93333 71.23333 75.96667 77.80000 76.20667 74.45333
##  [545] 79.96333 77.97000 75.61000 72.73000 74.79000 76.11000 78.00667 77.80000
##  [553] 77.78333 72.03667 75.62000 75.50000 77.82333 77.42000 76.19667 78.62000
##  [561] 73.72333 78.08667 77.72667 76.64333 75.85333 75.23333 75.38333 75.77333
##  [569] 74.37333 76.68333 75.93667 76.96333 77.40667 75.30667 75.35000 77.89333
##  [577] 78.66333 75.33333 75.35667 75.52000 78.87000 74.42667 77.13333 76.49333
##  [585] 78.26000 76.50333 77.44667 77.12333 75.04000 76.00333 77.04000 74.84667
##  [593] 75.99667 77.85667 73.88000 76.65667 75.08000 75.80333 77.03667 78.93000
##  [601] 75.05333 79.27333 78.96667 77.39333 75.11667 79.42333 76.48667 74.76000
##  [609] 78.44000 75.55667 75.63667 76.87000 77.40000 77.83667 70.20000 75.27333
##  [617] 75.75000 75.71000 76.25667 76.27333 78.09000 78.84000 77.55667 72.26667
##  [625] 73.58000 76.71667 77.31000 74.75000 76.94000 77.04000 73.17000 76.68667
##  [633] 76.87333 75.41667 76.04000 75.53333 73.50000 76.63333 77.21667 77.23000
##  [641] 78.79333 76.69667 78.32667 75.18667 75.25333 74.55000 77.04000 76.93333
##  [649] 77.27000 79.38333 75.46667 75.80000 75.34000 78.39333 75.49667 78.34000
##  [657] 72.04333 74.68333 74.75333 73.04000 74.48667 77.69333 76.19667 78.41000
##  [665] 77.75000 78.54333 75.91000 76.10000 74.64667 76.40667 75.80000 78.05000
##  [673] 74.13333 71.72000 74.75667 75.32333 76.23333 74.38667 74.92000 73.65667
##  [681] 76.52000 75.05667 73.29333 79.22000 74.36000 74.59000 78.01333 74.78000
##  [689] 77.75333 74.45000 76.38000 78.32000 73.54667 79.03333 77.95667 76.04333
##  [697] 74.54000 75.22000 76.48667 74.66333 74.12000 73.36667 77.17000 76.88333
##  [705] 76.58667 77.38000 74.01667 74.26000 78.13000 78.70667 78.00667 78.09333
##  [713] 73.69000 75.78667 76.22000 75.40000 77.63333 76.11333 77.07000 76.71333
##  [721] 75.16333 77.33667 75.49333 73.84000 74.29667 74.39667 79.97333 75.39667
##  [729] 76.18333 74.17333 75.16333 76.54000 77.47667 75.50667 77.81000 74.73000
##  [737] 77.78667 78.61000 77.33333 75.05000 78.50667 77.60667 75.97667 77.09000
##  [745] 77.53000 76.75667 76.07667 77.27333 77.52000 75.36000 77.99333 76.96000
##  [753] 78.61333 77.46667 79.81000 78.39667 76.51667 74.34333 77.79333 75.82000
##  [761] 70.86333 79.09000 75.87667 77.74333 75.00667 74.05667 79.58000 76.25667
##  [769] 73.46667 73.26667 74.13000 73.73667 76.24667 75.71667 77.13000 78.91667
##  [777] 74.51333 75.58333 74.28000 76.46333 79.17000 78.24333 76.87000 75.99333
##  [785] 76.12667 78.53333 82.23667 76.88667 76.99000 77.28000 77.45667 76.89333
##  [793] 75.38333 74.67667 73.86000 76.93333 75.33333 75.16667 75.65333 74.23333
##  [801] 73.20333 79.01333 76.09333 80.96000 76.84000 77.12000 77.57333 76.17000
##  [809] 76.91333 76.76000 77.81667 77.16667 75.14667 75.07667 77.58000 78.00667
##  [817] 74.46667 77.47333 74.70000 77.24667 74.27000 74.77333 76.21333 76.00333
##  [825] 76.81333 75.98333 78.06000 75.92667 79.96000 77.60000 77.74000 74.59333
##  [833] 75.33000 78.89000 74.11667 77.18333 76.25667 76.68000 77.05333 74.73000
##  [841] 78.40667 77.41333 73.67667 71.92000 76.50000 75.55333 74.52333 75.60667
##  [849] 77.42667 77.69667 77.04667 72.15000 75.68333 76.64000 77.79667 76.85667
##  [857] 74.52000 75.69667 77.73333 70.86333 79.85000 73.90667 78.79333 73.85667
##  [865] 75.44333 76.70667 73.15667 74.64333 72.96667 73.96333 77.42000 76.16000
##  [873] 81.50333 75.43667 71.92000 74.76000 76.45667 77.34000 71.69000 77.19667
##  [881] 76.03333 78.54667 76.31000 72.80667 75.16000 75.74000 74.47667 77.95333
##  [889] 76.56000 75.50667 77.76000 76.65333 75.48333 79.10333 73.37333 73.13000
##  [897] 76.85667 76.09667 74.79333 78.34667 78.87333 74.50000 72.38333 76.86000
##  [905] 76.84667 76.11667 78.23667 76.51667 78.75667 75.61333 74.97333 77.78667
##  [913] 76.70333 75.01667 76.36000 72.43667 76.46000 73.68667 75.72000 75.76667
##  [921] 75.11667 76.20667 76.13000 75.40667 75.84667 74.26000 79.49333 75.48667
##  [929] 74.33667 75.59000 76.60000 75.23333 74.38333 72.64667 75.28000 74.23000
##  [937] 72.91000 78.78333 76.64667 77.27000 77.99000 75.12333 75.74667 76.52333
##  [945] 74.60333 74.97333 78.77667 76.80667 71.01667 78.67000 72.71333 74.67333
##  [953] 76.98333 76.48333 73.99000 73.79000 75.70333 75.01333 76.18667 75.44667
##  [961] 75.89000 76.06667 78.00000 77.44000 75.91667 78.08000 77.89000 74.97667
##  [969] 76.97333 74.98333 77.36000 77.68000 77.88000 76.54000 74.22333 73.89333
##  [977] 74.04667 73.28333 76.80667 72.35667 75.40667 77.70000 77.61667 75.40333
##  [985] 74.90000 75.09000 76.86333 77.51333 76.86333 75.47000 77.55667 74.81333
##  [993] 75.29667 79.28667 78.86333 76.61333 80.33000 73.76667 75.46333 76.12333
# Histogram distribusi sampling
hist(mean_sample,
     main = "Distribusi Sampling Rata-rata Exam Score (n = 30)",
     xlab = "Rata-rata Sampel",
     ylab = "Frekuensi")

Histogram menunjukkan distribusi rata-rata nilai ujian dari 1.000 sampel, dengan masing-masing sampel berukuran 30. Rata-rata sampel paling banyak berada di sekitar 75–77, sedangkan nilai rata-rata sampel yang semakin jauh dari rentang tersebut memiliki frekuensi yang lebih rendah. Bentuk histogram terlihat mendekati distribusi normal dan cukup simetris, sehingga rata-rata sampel cenderung terkonsentrasi di sekitar rata-rata populasi.

#b. Hitung mean empiris dan sd empiris dari distribusi sampling. Bandingkan sd empiris dengan standard error teoretis (sd_pop / sqrt(n)).
# Mean empiris
mean_empiris <- mean(mean_sample)

# SD empiris
sd_empiris <- sd(mean_sample)

mean_empiris
## [1] 76.10626
sd_empiris
## [1] 1.870663
# SD populasi
sd_pop <- sd(data$exam_score)

# Standard error teoritis
se_teoritis <- sd_pop / sqrt(n)

se_teoritis
## [1] 1.975043
hasil_sampling <- data.frame(
  Mean_Empiris = mean_empiris,
  SD_Empiris = sd_empiris,
  SE_Teoritis = se_teoritis
)

hasil_sampling
##   Mean_Empiris SD_Empiris SE_Teoritis
## 1     76.10626   1.870663    1.975043

Mean empiris distribusi sampling sebesar 76,1063, sedangkan SD empiris sebesar 1,8707. SE teoretis yang dihitung dari simpangan baku populasi dan ukuran sampel sebesar 1,9750. Mean empiris yang dekat dengan rata-rata populasi exam_score sebesar 76,17, serta SD empiris yang relatif dekat dengan SE teoretis, menunjukkan bahwa hasil simulasi distribusi sampling rata-rata sesuai dengan karakteristik teoretisnya.

#3.Pengaruh Ukuran Sampel pada Distribusi Sampling

# Pengaruh Ukuran Sampel pada Distribusi Sampling
#a. Ulangi soal (2) untuk n = 5, 30, 100. Tampilkan tiga histogram dalam satu baris.
# Menampilkan 3 grafik dalam satu baris
# Ukuran sampel
n_values <- c(5, 30, 100)

# Menampilkan 3 histogram dalam satu baris
par(mfrow = c(1, 3))

set.seed(123)

for (n in n_values) {
  
  # Simulasi mean
  means <- replicate(
    1000,
    mean(sample(data$exam_score, n, replace = TRUE))
  )
  
  # Histogram
  hist(means,
       main = paste("n =", n),
       xlab = "Rata-rata Exam Score",
       ylab = "Frekuensi")
}

# Mengembalikan tampilan grafik
par(mfrow = c(1, 1))

n = 5 Pada ukuran sampel 5, distribusi rata-rata sampel terlihat paling lebar dengan nilai rata-rata sampel tersebar sekitar 60–95. Frekuensinya lebih terkonsentrasi di sekitar 75–80, tetapi penyebarannya masih cukup besar.

n = 30 Pada ukuran sampel 30, distribusi menjadi lebih sempit dibandingkan n = 5. Sebagian besar rata-rata sampel berada sekitar 74–78 dan terkonsentrasi di sekitar 75–77. Hal ini menunjukkan bahwa rata-rata sampel menjadi lebih stabil.

n = 100 Pada ukuran sampel 100, distribusi terlihat paling sempit dan terkonsentrasi di sekitar 75–77. Penyebaran rata-rata sampel lebih kecil dibandingkan n = 5 dan n = 30, sehingga rata-rata sampel semakin stabil.

Berdasarkan ketiga histogram, peningkatan ukuran sampel dari 5 menjadi 30 dan 100 menyebabkan distribusi sampling rata-rata semakin sempit dan terkonsentrasi di sekitar rata-rata populasi. Dengan demikian, semakin besar ukuran sampel, penyebaran rata-rata sampel semakin kecil sehingga estimasi rata-rata populasi menjadi lebih stabil.

#b. Jelaskan bagaimana ukuran sampel mempengaruhi bentuk dan spread distribusi sampling.
set.seed(123)

hasil_n <- data.frame()

for (n in n_values) {
  
  means <- replicate(
    1000,
    mean(sample(data$exam_score, n, replace = TRUE))
  )
  
  hasil_n <- rbind(
    hasil_n,
    data.frame(
      Ukuran_Sampel = n,
      Mean_Empiris = mean(means),
      SD_Empiris = sd(means)
    )
  )
}

hasil_n
##   Ukuran_Sampel Mean_Empiris SD_Empiris
## 1             5     75.94834   4.695319
## 2            30     76.14018   1.941130
## 3           100     76.19678   1.093422

Semakin besar ukuran sampel, distribusi sampling rata-rata semakin sempit dan terkonsentrasi di sekitar rata-rata populasi. Spread atau penyebaran distribusi menjadi lebih kecil, yang ditunjukkan oleh penurunan simpangan baku dari 4,6953 pada n = 5 menjadi 1,9411 pada n = 30 dan 1,0934 pada n = 100. Selain itu, distribusi cenderung semakin stabil dan mendekati bentuk normal. Dengan demikian, peningkatan ukuran sampel menghasilkan rata-rata sampel yang lebih konsisten sebagai penduga rata-rata populasi.

#4.Distribusi Sampling untuk Proporsi

#a. Gunakan variabel pass (1 = lulus). Lakukan simulasi k = 1000, n = 100 untuk mendapatkan distribusi proporsi lulus tiap sampel. 
set.seed(123)

# Ukuran sampel
n <- 100

# Jumlah simulasi
k <- 1000

# Simulasi proporsi lulus
prop_sample <- replicate(
  k,
  mean(sample(data$pass, n, replace = TRUE))
)

# Histogram
hist(prop_sample,
     main = "Distribusi Sampling Proporsi Lulus",
     xlab = "Proporsi Lulus",
     ylab = "Frekuensi")

Histogram distribusi sampling proporsi lulus dengan ukuran sampel 100 menunjukkan bahwa sebagian besar proporsi lulus berada pada kisaran 0,90–0,95 dan terkonsentrasi di sekitar 0,92–0,94. Distribusi terlihat mendekati bentuk normal dengan penyebaran yang relatif kecil. Hal ini menunjukkan bahwa proporsi lulus dari berbagai sampel cenderung mendekati proporsi populasi sebesar 0,924 atau 92,4%.

#b. Bandingkan mean dan sd empiris dengan p dan sqrt(p*(1-p)/n)
# Mean empiris proporsi
mean_prop_empiris <- mean(prop_sample)

# SD empiris proporsi
sd_prop_empiris <- sd(prop_sample)

mean_prop_empiris
## [1] 0.92495
sd_prop_empiris
## [1] 0.02674533
# Proporsi populasi
p <- mean(data$pass)

p
## [1] 0.924
# Standard error teoritis proporsi
se_prop_teoritis <- sqrt(p * (1 - p) / n)

se_prop_teoritis
## [1] 0.02649981
hasil_proporsi <- data.frame(
  Mean_Empiris = mean_prop_empiris,
  Proporsi_Populasi = p,
  SD_Empiris = sd_prop_empiris,
  SE_Teoritis = se_prop_teoritis
)

hasil_proporsi
##   Mean_Empiris Proporsi_Populasi SD_Empiris SE_Teoritis
## 1      0.92495             0.924 0.02674533  0.02649981

Nilai mean empiris sebesar 0,92495 sangat dekat dengan proporsi populasi sebesar 0,924. Selisihnya hanya 0,00095, sehingga rata-rata proporsi lulus dari 1.000 sampel yang disimulasikan mendekati proporsi lulus pada populasi.

Selanjutnya, SD empiris sebesar 0,02674533 juga sangat dekat dengan SE teoritis sebesar 0,02649981. Selisih keduanya sekitar 0,00025. Hal ini menunjukkan bahwa penyebaran proporsi lulus yang diperoleh dari simulasi hampir sama dengan penyebaran yang diperkirakan secara teoritis.

Dengan demikian, hasil simulasi distribusi sampling proporsi sesuai dengan hasil teoritis. Proporsi lulus dari sampel-sampel yang diambil berpusat di sekitar 0,924 (92,4%), dengan variasi sekitar 0,0265–0,0267.

#5.Bootstrap untuk Median

#a. Gunakan metode bootstrap (B = 2000) untuk mengestimasi distribusi sampling dari median exam_score. Hitung 95% CI untuk median.
library(boot)
## Warning: package 'boot' was built under R version 4.5.3
median_fun <- function(data, indices) {
  median(data[indices])
}
set.seed(123)

boot_res <- boot(
  data = data$exam_score,
  statistic = median_fun,
  R = 2000
)

boot_res
## 
## ORDINARY NONPARAMETRIC BOOTSTRAP
## 
## 
## Call:
## boot(data = data$exam_score, statistic = median_fun, R = 2000)
## 
## 
## Bootstrap Statistics :
##     original  bias    std. error
## t1*     76.1 0.15645   0.6058337

Hasil bootstrap menunjukkan bahwa median (original) nilai ujian adalah 76,1. Nilai bias sebesar 0,15645 menunjukkan adanya perbedaan kecil antara estimasi median bootstrap dan median asli. Sementara itu, standard error sebesar 0,6058337 menunjukkan besarnya variasi estimasi median yang diperoleh dari proses bootstrap.

 #b. Bandingkan hasil bootstrap dengan estimasi analitik (jika ada) atau interpretasikan CI bootstrap.

hist(boot_res$t,
     main = "Distribusi Bootstrap Median Exam Score",
     xlab = "Median Exam Score",
     ylab = "Frekuensi")

Histogram distribusi bootstrap median exam_score menunjukkan bahwa hasil median dari 2.000 sampel bootstrap sebagian besar terkonsentrasi di sekitar nilai 76,1. Penyebaran hasil bootstrap berada sekitar 74–78, dengan frekuensi tertinggi pada kisaran 76–76,5. Hal ini menunjukkan bahwa estimasi median relatif terkonsentrasi di sekitar median asli.

median(data$exam_score)
## [1] 76.1
boot.ci(
  boot_res,
  type = "perc"
)
## BOOTSTRAP CONFIDENCE INTERVAL CALCULATIONS
## Based on 2000 bootstrap replicates
## 
## CALL : 
## boot.ci(boot.out = boot_res, type = "perc")
## 
## Intervals : 
## Level     Percentile     
## 95%   (75.2, 77.8 )  
## Calculations and Intervals on Original Scale

Berdasarkan 2.000 replikasi bootstrap, median exam_score sebesar 76,1 dengan bias 0,15645 dan standard error 0,6058337. Interval kepercayaan 95% menggunakan metode percentile diperoleh sebesar 75,2–77,8. Dengan demikian, hasil bootstrap memberikan estimasi bahwa median nilai ujian berada pada rentang 75,2 hingga 77,8.

#6.Uji Hipotesis

#Uji Hipotesis 
#a. Apakah rata-rata exam_score berbeda antara mahasiswa laki-laki dan perempuan?
#Uji t dengan varians berbeda

t.test(
  exam_score ~ gender,
  data = data,
  var.equal = FALSE
)
## 
##  Welch Two Sample t-test
## 
## data:  exam_score by gender
## t = -1.8865, df = 497.63, p-value = 0.05981
## alternative hypothesis: true difference in means between group L and group P is not equal to 0
## 95 percent confidence interval:
##  -3.71700835  0.07553213
## sample estimates:
## mean in group L mean in group P 
##        75.27520        77.09593

Berdasarkan Welch Two Sample t-test, rata-rata exam_score kelompok L sebesar 75,27520, sedangkan kelompok P sebesar 77,09593. Hasil pengujian menghasilkan p-value sebesar 0,05981. Karena p-value > 0,05, tidak terdapat bukti yang cukup pada taraf signifikansi 5% untuk menyatakan bahwa terdapat perbedaan rata-rata exam_score antara kelompok L dan P. Hal ini juga didukung oleh interval kepercayaan 95% yang mencakup nilai 0, yaitu −3,7170 hingga 0,0755.

#Uji t dengan varians sama
t.test(
  exam_score ~ gender,
  data = data,
  var.equal = TRUE
)
## 
##  Two Sample t-test
## 
## data:  exam_score by gender
## t = -1.8863, df = 498, p-value = 0.05983
## alternative hypothesis: true difference in means between group L and group P is not equal to 0
## 95 percent confidence interval:
##  -3.71714814  0.07567193
## sample estimates:
## mean in group L mean in group P 
##        75.27520        77.09593

Berdasarkan Two Sample t-test dengan asumsi varians sama, rata-rata exam_score kelompok L sebesar 75,27520 dan kelompok P sebesar 77,09593. Hasil pengujian memperoleh p-value sebesar 0,05983. Karena p-value > 0,05, tidak terdapat bukti yang cukup pada taraf signifikansi 5% untuk menyatakan bahwa terdapat perbedaan rata-rata exam_score antara kelompok L dan P. Interval kepercayaan 95% sebesar −3,7171 hingga 0,0757 juga mencakup nilai 0.

Jadi, baik dengan asumsi varians berbeda maupun sama, kesimpulannya tetap sama: pada taraf signifikansi 5%, hasil uji tidak memberikan bukti yang cukup untuk menyatakan adanya perbedaan rata-rata exam_score antara kelompok L dan P.

Perbedaan hasilnya sangat kecil karena p-value 0,05981 dan 0,05983 sama-sama lebih besar dari 0,05.

#b. Hitung effect size (Cohen's d).
library(effsize)
## Warning: package 'effsize' was built under R version 4.5.3
cohen.d(
  data$exam_score,
  data$gender
)
## 
## Cohen's d
## 
## d estimate: -0.168741 (negligible)
## 95 percent confidence interval:
##        lower        upper 
## -0.344807536  0.007325481

Berdasarkan hasil Cohen’s d, diperoleh nilai d = −0,168741 yang termasuk dalam kategori negligible, sehingga ukuran efek perbedaan rata-rata exam_score antara kelompok L dan P tergolong sangat kecil. Nilai negatif menunjukkan bahwa rata-rata exam_score kelompok L lebih rendah dibandingkan kelompok P. Interval kepercayaan 95% sebesar −0,3448 hingga 0,0073 mencakup nilai 0, sehingga ukuran efek yang diperoleh belum menunjukkan perbedaan yang kuat antara kedua kelompok.