A. Latar Belakang

Uji Tukey, atau dikenal juga sebagai Uji Beda Nyata Jujur (BNJ) atau Honest Significant Difference (HSD) test, adalah metode statistik yang digunakan untuk melakukan perbandingan berpasangan antara rata-rata kelompok setelah melakukan analisis varian (ANOVA). ANOVA hanya memberi tahu kita apakah ada perbedaan yang signifikan antara setidaknya dua perlakuan, tetapi tidak memberi tahu kita pasangan perlakuan mana yang berbeda secara spesifik. Di sinilah uji Tukey berperan. Uji ini dikembangkan oleh John Tukey dan dirancang untuk mengidentifikasi pasangan perlakuan yang berbeda secara signifikan satu sama lain dan mengontrol tingkat kesalahan tipe I (false positives) dalam pengujian banyak perbandingan.

B. Kegunaan

  1. Mengidentifikasi Perbedaan Spesifik: Menyediakan informasi detail tentang perbedaan rata-rata antara setiap pasangan kelompok.
  2. Kontrol Kesalahan Tipe I: Mengontrol risiko kesalahan tipe I (menyatakan ada perbedaan signifikan padahal tidak ada) ketika melakukan banyak perbandingan, ini dilakukan dengan melihat nilai-p untuk setiap perbandingan.
  3. Sederhana dan Efisien: Uji Tukey relatif mudah diterapkan dan diinterpretasikan dengan hasil yang jelas tentang pasangan kelompok yang berbeda secara signifikan.

C. langkah - langkah Uji Tukey

1. Hitung rata-rata per perlakuan

Misalkan terdapat \(k\) perlakuan dengan ulangan \(r_i\) untuk grup \(i\), dan \(\bar{Y}_i\) adalah rata-rata perlakuan \(i\).

\(\bar{Y}_i=\frac{\sum Y_{i}}{k}\)

2. Hitung MSE (Mean Squared Error)

Varians dalam grup dihitung dari ANOVA sebagai MSE (Mean Squared Error), yaitu:

\(MSE=\frac{SSE}{N-k}\)

di mana \(SSE\) adalah jumlah kuadrat kesalahan, dan \(N\) adalah total jumlah observasi.

3. Hitung BNJ/HSD/Tukey

Untuk setiap pasangan grup \((i,j)\), hitung perbedaan rata-rata:

\(PerbedaanRataan_{ij}=\bar{Y}_i-\bar{Y}_j\)

Hitung nilai BNJ/HSD/Tukey

\(BNJ=q_{\alpha,k,db_{erorr}} \sqrt{\frac{MSE}{r}}\)

dimana \(q_{\alpha,k,db_{erorr}}\) dalah kuantil distribusi Tukey dengan k grup dan derajat kebebasan kesalahan \(db_{erorr}\), sera \(r\) perlakuan

4. Bandingkan Perbedaan Rataan dengan BNJ

Untuk setiap pasangan grup, bandingkan nilai mutlak dari perbedaan rata-rata dengan nilai HSD. Jika

\(|PerbedaanRataan_{ij}|>BNJ\)

maka perbedaan rata-rata tersebut signifikan.

D. Contoh Soal Uji Tukey untuk RAK

Suatu percobaan dibidang peternakan tentang pengaruh berbagai campuran makanan (A, B, C, D) terhadap pertambahan bobot badan domba jantan umurnya berbeda. Karena umurnya berbeda maka dilakukan pengelompokan, misal 4 kelompok umur (1,2,3,4).
##  Blok A B  C D
##     1 2 5  8 6
##     2 3 4  7 5
##     3 3 5 10 5
##     4 5 5  9 2
# Mengubah data ke format long agar dapat dianalisis ANOVA
library(tidyr)
data_RAK <- pivot_longer(data_RAK1, 
                              cols = A:D, 
                              names_to = "Perlakuan", 
                              values_to = "Nilai")

# Menampilkan data frame
data_RAK
## # A tibble: 16 × 3
##     Blok Perlakuan Nilai
##    <int> <chr>     <dbl>
##  1     1 A             2
##  2     1 B             5
##  3     1 C             8
##  4     1 D             6
##  5     2 A             3
##  6     2 B             4
##  7     2 C             7
##  8     2 D             5
##  9     3 A             3
## 10     3 B             5
## 11     3 C            10
## 12     3 D             5
## 13     4 A             5
## 14     4 B             5
## 15     4 C             9
## 16     4 D             2
# Langkah 1: Hitung rata-rata grup per perlakuan
mean_perlakuan <- aggregate(Nilai ~ Perlakuan, data = data_RAK, FUN = mean)
names(mean_perlakuan)[2] <- "mean_Yi"
mean_perlakuan
##   Perlakuan mean_Yi
## 1         A    3.25
## 2         B    4.75
## 3         C    8.50
## 4         D    4.50
#Langkah 2: Hitung MSE (Mean Squared Error) dari hasil ANOVA
anova_result <- aov(Nilai ~ Perlakuan + factor(Blok), data = data_RAK)
mse <- summary(anova_result)[[1]]["Residuals", "Mean Sq"]
cat("mse=",mse,"\n")
## mse= 1.944444
# Langkah 3: Hitung perbedaan rataan dari setiap pasangan perlakuan dan Nilai BNJ/HSD/Tukey
perbedaan_antar_pasangan <- combn(mean_perlakuan$mean_Yi, 2, function(x) abs(diff(x)))
pasangan <- combn(mean_perlakuan$Perlakuan, 2, paste, collapse = "-")

# Jumlah perlakuan (k) dan derajat kebebasan residual
k <- length(unique(data_RAK$Perlakuan))  # jumlah perlakuan
df_error <- summary(anova_result)[[1]]["Residuals", "Df"]  # df residuals
cat("k=",k,"\n")
## k= 4
cat("df=",df_error,"\n")
## df= 9
# Nilai q-tabel
alpha <- 0.05
q <- qtukey(1-alpha, k, df_error)
cat("q=",q,"\n")
## q= 4.41489
# Hitung BNJ/HSD/Tukey
n <- length(unique(data_RAK$Blok))
BNJ <- q * sqrt(mse / n)
cat("BNJ=",BNJ,"\n")
## BNJ= 3.078135
# Langkah 4: Bandingkan perbedaan rata-rata dengan HSD dan buat kesimpulan
kesimpulan <- ifelse(perbedaan_antar_pasangan > BNJ, "Berbeda Signifikan", "Berbeda Tidak Signifikan")

# Membuat data frame dengan format long, kali ini dengan nama kolom yang benar
hasil_tukey <- data.frame(
  Pasangan = pasangan,
  PerbedaanRataan = perbedaan_antar_pasangan,
  BNJ = BNJ,
  Kesimpulan = kesimpulan
)

# Menampilkan hasil
print(hasil_tukey)
##   Pasangan PerbedaanRataan      BNJ               Kesimpulan
## 1      A-B            1.50 3.078135 Berbeda Tidak Signifikan
## 2      A-C            5.25 3.078135       Berbeda Signifikan
## 3      A-D            1.25 3.078135 Berbeda Tidak Signifikan
## 4      B-C            3.75 3.078135       Berbeda Signifikan
## 5      B-D            0.25 3.078135 Berbeda Tidak Signifikan
## 6      C-D            4.00 3.078135       Berbeda Signifikan

Interpretasi hasil Uji Tukey

Setelah analisis ANOVA didapatkan kesimpulan bahwa

  1. Terdapat perbedaan yang signifikan atara campuran makanan (A,B,C,D) terhadap pertambahan bobot domba jantan.

  2. Tidak cukup bukti untuk menunjukan bahwa terdapat perbedaan yang signifikan antara 4 kelompok umur terhadap pertambahan bobot domba jantan.

ANOVA hanya memberi tahu kita apakah ada perbedaan yang signifikan antara setidaknya dua perlakuan, tetapi tidak memberi tahu kita pasangan perlakuan mana yang berbeda secara spesifik.Dengan Uji Tukey akan dilihat pasangan mana yang berbeda signifikan. jika \(|PerbedaanRataan|>BNJ\) maka pasangan campuran makanan tersebut berbeda signifikan terhadap pertambahan bobot domba jantan.Pasangan campuran makanan yang berbeda signifikan terhadap pertambahan bobot domba jantan adalah A-C, B-C, C-D.

Kode R diatas adalah perhitungan manual untuk melihat signifikansi perbedaan pasangan campuran makanan terhadap pertambahan bobot domba jantan. berikut jika menggunakan fungsi yang tersedia di R dan informasinya lebih lengkap.

summary(anova_result)
##              Df Sum Sq Mean Sq F value  Pr(>F)   
## Perlakuan     3   61.5  20.500  10.543 0.00265 **
## factor(Blok)  3    2.0   0.667   0.343 0.79516   
## Residuals     9   17.5   1.944                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(anova_result)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Nilai ~ Perlakuan + factor(Blok), data = data_RAK)
## 
## $Perlakuan
##      diff        lwr        upr     p adj
## B-A  1.50 -1.5781351  4.5781351 0.4647911
## C-A  5.25  2.1718649  8.3281351 0.0021982
## D-A  1.25 -1.8281351  4.3281351 0.6034593
## C-B  3.75  0.6718649  6.8281351 0.0180901
## D-B -0.25 -3.3281351  2.8281351 0.9938719
## D-C -4.00 -7.0781351 -0.9218649 0.0125000
## 
## $`factor(Blok)`
##              diff       lwr      upr     p adj
## 2-1 -5.000000e-01 -3.578135 2.578135 0.9553419
## 3-1  5.000000e-01 -2.578135 3.578135 0.9553419
## 4-1  8.881784e-16 -3.078135 3.078135 1.0000000
## 3-2  1.000000e+00 -2.078135 4.078135 0.7456835
## 4-2  5.000000e-01 -2.578135 3.578135 0.9553419
## 4-3 -5.000000e-01 -3.578135 2.578135 0.9553419

Interpretasi dari kolom P adj

nilai p tersebut digunakan untuk melihat pasangan campuran makanan mana yang berbeda secara signifikan, jika \(p<0.05\) maka berbeda signifikan. dari ouput tersebut didapatkan pasangan campuran makanan yang berbeda signifikan adalah

  1. C-A dengan \(p_{adj}=0.0022\), Campuran makanan C dan A rata-rata pertambahan bobot badan domba jantan berbeda secara signifikan

  2. C-B dengan \(p_{adj}=0.018\), Campuran makanan C dan B rata-rata pertambahan bobot badan domba jantan berbeda secara signifikan

  3. D-C dengan \(p_{adj}=0.013\), Campuran makanan D dan C rata-rata pertambahan bobot badan domba jantan berbeda secara signifikan

Interpretasi dari kolom diff:

  1. C-A: campuran makanan C memberikan rata-rata pertambahan bobot badan domba jantan lebih banyak sebesar 5.25 kg dibandingkan jika diberikan campuran makanan A

  2. C-B: campuran makanan C memberikan rata-rata pertambahan bobot badan domba jantan lebih banyak sebesar 3.75 kg dibandingkan jika diberikan campuran makanan B

  3. D-C: campuran makanan D memberikan rata-rata pertambahan bobot badan domba jantan lebih kecil sebesar 4 kg dibandingkan jika diberikan campuran makanan C

  4. B-A: campuran makanan B memberikan rata-rata pertambahan bobot badan domba jantan lebih banyak sebesar 1.50 kg dibandingkan jika diberikan campuran makanan A

  5. D-A: campuran makanan D memberikan rata-rata pertambahan bobot badan domba jantan lebih banyak sebesar 1.25 kg dibandingkan jika diberikan campuran makanan A

  6. D-B: campuran makanan D memberikan rata-rata pertambahan bobot badan domba jantan lebih kecil sebesar 0.25 kg dibandingkan jika diberikan campuran makanan B

Berdasarkan hal tersebut urutan yang memberikan rata-rata pertambahan bobot badan domba jantan paling besar adalah C>B>D>A (ini bisa dilihat dari rata-rata pada masing - masing campuran makanan terhadap semua kelompok umur)

Interpretasi dari kolom lwr dan upr:

  1. C-A: bahwa perbedaan rata-rata antara kelompok C dan A berada di antara 2.17 dan 8.33

  2. C-B: bahwa perbedaan rata-rata antara kelompok C dan B berada di antara 0.67 dan 6.83

  3. D-C: bahwa perbedaan rata-rata antara kelompok D dan C berada di antara -7.07 dan -0.92

  4. B-A: bahwa perbedaan rata-rata antara kelompok B dan A berada di antara -1.58 dan 4.58

  5. D-A: bahwa perbedaan rata-rata antara kelompok D dan A berada di antara -1.83 dan 4.33

  6. D-B: bahwa perbedaan rata-rata antara kelompok D dan B berada di antara -3.33 dan 2.83

E. Contoh Soal Uji Tukey untuk RAL

Suatu percobaan dilakukan untuk mengetahui pengaruh jenis pupuk terhadap hasil tanaman jagung perminggu. Terdapat 5 jenis pupuk yaitu, pupuk A, B, C, D, dan E, sedangkan Hasil jagung dihitung per kilogram. Rancangan yang digunakan adalah Rancangan Acak Lengkap. Setelah dilakukan percobaan didapatkan data sebagai berikut:

##   Pupuk Minggu1 Minggu2 Minggu3 Minggu4 Minggu5
## 1     A      33      34      35      34      33
## 2     B      17      18      19      20      17
## 3     C      19      24      22      23      30
## 4     D      20      25      25      28      24
## 5     E      25      26      24      28      22
library(tidyr)
# Mengubah data ke format long agar dapat dianalisis ANOVA
data_RAL <- pivot_longer(data_RAL1, 
                          cols = starts_with("Minggu"), 
                          names_to = "Minggu", 
                          values_to = "Nilai")
# Pastikan variabel Dosis menjadi faktor
#data_RAL$Pupuk <- as.factor(data_RAL$Pupuk)
data_RAL
## # A tibble: 25 × 3
##    Pupuk Minggu  Nilai
##    <chr> <chr>   <dbl>
##  1 A     Minggu1    33
##  2 A     Minggu2    34
##  3 A     Minggu3    35
##  4 A     Minggu4    34
##  5 A     Minggu5    33
##  6 B     Minggu1    17
##  7 B     Minggu2    18
##  8 B     Minggu3    19
##  9 B     Minggu4    20
## 10 B     Minggu5    17
## # ℹ 15 more rows
# Langkah 1: Hitung rata-rata grup per perlakuan
mean_perlakuan <- aggregate(Nilai ~ Pupuk, data = data_RAL, FUN = mean)
names(mean_perlakuan)[2] <- "mean_Yi"
mean_perlakuan
##   Pupuk mean_Yi
## 1     A    33.8
## 2     B    18.2
## 3     C    23.6
## 4     D    24.4
## 5     E    25.0
#Langkah 2: Hitung MSE (Mean Squared Error) dari hasil ANOVA
anova_result <- aov(Nilai ~ Pupuk, data = data_RAL)
mse <- summary(anova_result)[[1]]["Residuals", "Mean Sq"]
cat("mse=",mse,"\n")
## mse= 6.4
# Langkah 3: Hitung perbedaan rataan dari setiap pasangan perlakuan dan Nilai BNJ/HSD/Tukey
perbedaan_antar_pasangan <- combn(mean_perlakuan$mean_Yi, 2, function(x) abs(diff(x)))
pasangan <- combn(mean_perlakuan$Pupuk, 2, paste, collapse = "-")

# Jumlah perlakuan (k) dan derajat kebebasan residual
k <- length(unique(data_RAL$Pupuk))  # jumlah perlakuan
df_error <- summary(anova_result)[[1]]["Residuals", "Df"]  # df residuals
cat("k=",k,"\n")
## k= 5
cat("df=",df_error,"\n")
## df= 20
# Nilai q-tabel
alpha <- 0.05
q <- qtukey(1-alpha, k, df_error)
cat("q=",q,"\n")
## q= 4.231857
# Hitung BNJ/HSD/Tukey
n <- length(unique(data_RAL$Minggu))
BNJ <- q * sqrt(mse / n)
cat("BNJ=",BNJ,"\n")
## BNJ= 4.787799
# Langkah 4: Bandingkan perbedaan rata-rata dengan HSD dan buat kesimpulan
kesimpulan <- ifelse(perbedaan_antar_pasangan > BNJ, "Berbeda Signifikan", "Berbeda Tidak Signifikan")

# Membuat data frame dengan format long, kali ini dengan nama kolom yang benar
hasil_tukey <- data.frame(
  Pasangan = pasangan,
  PerbedaanRataan = perbedaan_antar_pasangan,
  BNJ = BNJ,
  Kesimpulan = kesimpulan
)

# Menampilkan hasil
print(hasil_tukey)
##    Pasangan PerbedaanRataan      BNJ               Kesimpulan
## 1       A-B            15.6 4.787799       Berbeda Signifikan
## 2       A-C            10.2 4.787799       Berbeda Signifikan
## 3       A-D             9.4 4.787799       Berbeda Signifikan
## 4       A-E             8.8 4.787799       Berbeda Signifikan
## 5       B-C             5.4 4.787799       Berbeda Signifikan
## 6       B-D             6.2 4.787799       Berbeda Signifikan
## 7       B-E             6.8 4.787799       Berbeda Signifikan
## 8       C-D             0.8 4.787799 Berbeda Tidak Signifikan
## 9       C-E             1.4 4.787799 Berbeda Tidak Signifikan
## 10      D-E             0.6 4.787799 Berbeda Tidak Signifikan

Interpretasi hasil Uji Tukey

Setelah analisis ANOVA didapatkan kesimpulan bahwa

Terdapat perbedaan yang signifikan atara jenis pupuk (A,B,C,D,E) terhadap hasil panen jagung per minggu.

ANOVA hanya memberi tahu kita apakah ada perbedaan yang signifikan antara setidaknya dua perlakuan, tetapi tidak memberi tahu kita pasangan perlakuan mana yang berbeda secara spesifik.Dengan Uji Tukey akan dilihat pasangan mana yang berbeda signifikan. jika \(|PerbedaanRataan|>BNJ\) maka pasangan jenis pupuk tersebut berbeda signifikan terhadap hasil panen jagung per minggu.Pasangan jenis pupuk yang berbeda signifikan terhadap hasil panen jagung per minggu adalah A-B, A-C, A-D, A-E, B-C, B-D, B-E.

Kode R diatas adalah perhitungan manual untuk melihat signifikansi perbedaan pasangan jenis pupuk terhadap hasil panen jagung per minggu. berikut jika menggunakan fungsi yang tersedia di R dan informasinya lebih lengkap.

summary(anova_result)
##             Df Sum Sq Mean Sq F value   Pr(>F)    
## Pupuk        4    630   157.5   24.61 1.76e-07 ***
## Residuals   20    128     6.4                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
TukeyHSD(anova_result)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Nilai ~ Pupuk, data = data_RAL)
## 
## $Pupuk
##      diff         lwr        upr     p adj
## B-A -15.6 -20.3877993 -10.812201 0.0000000
## C-A -10.2 -14.9877993  -5.412201 0.0000288
## D-A  -9.4 -14.1877993  -4.612201 0.0000846
## E-A  -8.8 -13.5877993  -4.012201 0.0001929
## C-B   5.4   0.6122007  10.187799 0.0223615
## D-B   6.2   1.4122007  10.987799 0.0074535
## E-B   6.8   2.0122007  11.587799 0.0032093
## D-C   0.8  -3.9877993   5.587799 0.9864257
## E-C   1.4  -3.3877993   6.187799 0.9027243
## E-D   0.6  -4.1877993   5.387799 0.9954413