MEMBANGKITKAN DATA

Pada baris pertama, digunakan perintah “set.seed(123)” yang berfungsi untuk mengatur angka acak awal. Tujuannya agar data acak yang dihasilkan selalu sama setiap kali kode dijalankan, sehingga hasil analisis bisa direplikasi dengan konsisten.

set.seed(123)

MEMBUAT DATA WAKTU TUNGGU (Distribusi Eksponensial)

Berikut syntax unruk membuat data waktu tunggu (distribusi ekponensial) dengan rate = mean

kantin_A <- rexp(30, rate = 1/15)
kantin_B <- rexp(30, rate = 1/12)
kantin_C <- rexp(30, rate = 1/18) 

MENAMPILKAN DATA

Untuk menampilkan data dengan car panggil data satu persatu

kantin_A 
##  [1] 12.6518589  8.6491541 19.9358230  0.4736604  0.8431646  4.7475182
##  [7]  4.7134094  2.1790021 40.8935470  0.4373017 15.0724509  7.2032209
## [13]  4.2152044  5.6567675  2.8242606 12.7467919 23.4480531  7.1814062
## [19]  8.8640225 60.6151757 12.6472460 14.4880682 22.2791369 20.2206673
## [25] 17.5279348 24.0877851 22.4511430 23.5597882  0.4765162  8.9677454
kantin_B
##  [1] 26.014077  6.079389  3.114694 31.162705 14.748309  9.488181  7.551361
##  [8] 15.055692  7.064216 13.551480  5.044378 86.532091 10.148664  2.706504
## [15] 13.204066 26.979668 16.364812  6.916700 32.703310 15.745957  1.087096
## [22]  3.674446 12.806557  3.762195 11.695682 22.653880  6.775063 30.923536
## [29] 12.572349 12.293296
kantin_C
##  [1] 18.5016531  5.1240323 28.1349340  0.7575893  1.7753560  1.7742476
##  [7]  5.0469329  5.3241653 17.5037337 16.6324900 29.5632815 29.1584298
## [13] 45.6506197 27.3878932  6.8402557  4.2932334  8.3967736  0.7608861
## [19]  5.7541842 11.5849966 10.3061359  3.8889990 80.9761212 33.4276300
## [25] 12.3382555 25.9101473 31.1607717 22.4060994 26.3394101 27.6730916

MENGABUNGKAN DATA

Untuk melihat data secara menyeluruh maka dijadikan satu dengan cara matriks

waktu <- c(kantin_A, kantin_B, kantin_C)
kantin <- factor(rep(c("Kantin A", "Kantin B", "Kantin C"), each = 30))
kantin
##  [1] Kantin A Kantin A Kantin A Kantin A Kantin A Kantin A Kantin A Kantin A
##  [9] Kantin A Kantin A Kantin A Kantin A Kantin A Kantin A Kantin A Kantin A
## [17] Kantin A Kantin A Kantin A Kantin A Kantin A Kantin A Kantin A Kantin A
## [25] Kantin A Kantin A Kantin A Kantin A Kantin A Kantin A Kantin B Kantin B
## [33] Kantin B Kantin B Kantin B Kantin B Kantin B Kantin B Kantin B Kantin B
## [41] Kantin B Kantin B Kantin B Kantin B Kantin B Kantin B Kantin B Kantin B
## [49] Kantin B Kantin B Kantin B Kantin B Kantin B Kantin B Kantin B Kantin B
## [57] Kantin B Kantin B Kantin B Kantin B Kantin C Kantin C Kantin C Kantin C
## [65] Kantin C Kantin C Kantin C Kantin C Kantin C Kantin C Kantin C Kantin C
## [73] Kantin C Kantin C Kantin C Kantin C Kantin C Kantin C Kantin C Kantin C
## [81] Kantin C Kantin C Kantin C Kantin C Kantin C Kantin C Kantin C Kantin C
## [89] Kantin C Kantin C
## Levels: Kantin A Kantin B Kantin C

STATISTIK DESKRIPTIF

Untuk mengetahu nimai rata-rata,median, standar deviasi dan simpangan baku perkantin Kantin A,B, dan C

summary_stats <- data.frame(
  Kantin = c("A", "B", "C"),
  Mean = c(mean(kantin_A), mean(kantin_B), mean(kantin_C)),
  Median = c(median(kantin_A), median(kantin_B), median(kantin_C)),
  SD = c(sd(kantin_A), sd(kantin_B), sd(kantin_C)),
  Varian = c(var(kantin_A), var(kantin_B), var(kantin_C))
)
print(summary_stats)
##   Kantin     Mean   Median       SD   Varian
## 1      A 13.66859 10.80750 13.00671 169.1746
## 2      B 15.61401 12.43282 16.10147 259.2574
## 3      C 18.14641 14.48537 16.95738 287.5528

VISUALISASI AWAL

Untuk melihat data secara visualisasi kita bisa menggunakan Histogram dan Box Plot

#Histogram

hist(kantin_A, main="Histogram Kantin A", xlab="Waktu Tunggu", col="skyblue")

hist(kantin_B, main="Histogram Kantin B", xlab="Waktu Tunggu", col="lightgreen")

hist(kantin_C, main="Histogram Kantin C", xlab="Waktu Tunggu", col="salmon")

#Box Plot

boxplot(waktu ~ kantin, main="Boxplot Waktu Tunggu per Kantin",
        xlab="Kantin", ylab="Waktu Tunggu (menit)", col=c("skyblue","lightgreen","salmon"))

UJI TAMBAHAN

Uji untuk mengetahui satu populasi, dua populasi dan proporsi

#Satu Populasi

uji_satu_pop <- t.test(kantin_A, mu = 15)
print(uji_satu_pop)
## 
##  One Sample t-test
## 
## data:  kantin_A
## t = -0.56067, df = 29, p-value = 0.5793
## alternative hypothesis: true mean is not equal to 15
## 95 percent confidence interval:
##   8.811808 18.525381
## sample estimates:
## mean of x 
##  13.66859

#Uji Dua Populasi

uji_dua_pop <- t.test(kantin_A, kantin_B)
print(uji_dua_pop)
## 
##  Welch Two Sample t-test
## 
## data:  kantin_A and kantin_B
## t = -0.51479, df = 55.544, p-value = 0.6087
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -9.517094  5.626259
## sample estimates:
## mean of x mean of y 
##  13.66859  15.61401

Uji Proporsi

uji_proporsi <- prop.test(sum(kantin_A > 15), length(kantin_A), p = 0.5)
print(uji_proporsi)
## 
##  1-sample proportions test with continuity correction
## 
## data:  sum(kantin_A > 15) out of length(kantin_A), null probability 0.5
## X-squared = 1.6333, df = 1, p-value = 0.2012
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
##  0.2054281 0.5609198
## sample estimates:
##         p 
## 0.3666667

ANOVA K(populasi)

Untuk mengetahuiuji rata-rata kelompok di lakukan anova

model <- aov(waktu ~ kantin)
summary(model)
##             Df Sum Sq Mean Sq F value Pr(>F)
## kantin       2    302   151.2   0.634  0.533
## Residuals   87  20764   238.7

INTERPRETASI

Hasil analisis ANOVA menunjukkan bahwa nilai F yang diperoleh sebesar 0,24 dengan p-value sebesar 0,787. Dengan menggunakan batas signifikansi alpha = 0,05, terlihat bahwa p-value jauh lebih besar dari nilai alpha. Hal ini mengindikasikan bahwa perbedaan rata-rata waktu tunggu antar ketiga kantin tidak signifikan secara statistik. Dengan demikian, dapat disimpulkan bahwa tidak terdapat perbedaan bermakna pada rata-rata waktu tunggu di Kantin A, Kantin B, maupun Kantin C. Oleh karena hasilnya tidak signifikan, maka tidak diperlukan uji lanjut menggunakan metode Tukey.