Uji Lanjut

Uiwang Nur Thoriq

2025-09-06

Akses Data di sini:
https://docs.google.com/spreadsheets/d/1Vy3fnvyHrovL_0IK2r17H9hOX232P7a2G8GA-0-3iA0/edit?usp=sharing

Uji Lanjut merupakan pengujian untuk mengetahui perlakuan mana saja yang berbeda signifikan setelah dinyatakan terdapat perbedaan signifikan pada hasil pengujian ANOVA dan semua asumsi telah terpenuhi. Berikut beberapa uji lanjut yang bisa digunakan:

Least Significance Difference (LSD) / Beda Nyata Terkecil

Uji BNT merupakan prosedur pengujian perbedaan di antara rata-rata perlakuan yang paling sederhana dan paling umum digunakan. Metode ini diperkenalkan oleh Fisher (1935). Prosedur uji tersebut adalah membandingkan \(\bar{y}_i-\bar{y}_j\) dengan nilai kritis.

Uji LSD membuat semua kemungkinan perbandingan rataan perlakuan -> jika terdapat k perlakuan makanya banyak perbandingan adalah \(g = k(k-1)/2\) , sehingga family error rate sebesar \(1-(1-\alpha)^g\). Oleh karena itu uji LSD cenderung digunakan ketika perlakuan cenderung sedikit.

Langkah-langkah Uji LSD secara Manual

  1. Cari nilai BNT
  2. Urutkan rataan data dari yang terbesar ke yang terkecil
  3. Cari nilai selisih 2 rataan
  4. Tarik kesimpulan

Hipotesis

\[ H_0 : \mu_i = \mu_j \\ H_1 : \mu_i \neq \mu_j \] Tolak \(H_0\) jika \(|\bar{y}_i-\bar{y}_j|>LSD\).

Nilai Kritis

\[ LSD = t_{\alpha/2,db_g}S_{\bar{y}_i-\bar{y}_j}\\ S_{\bar{y}_i-\bar{y}_j}=\sqrt{KTG(\frac{1}{r_i}+\frac{1}{r_j})}\\ atau\\ S_{\bar{y}_i-\bar{y}_j}=\sqrt{\frac{2KTG}{r}} \]

Import Data

library(readxl)
Kecambah<-read_xlsx("D:/Rancob/DataFull.xlsx",sheet="UjiLanjut1")
Kecambah
## # A tibble: 40 × 2
##    Dosis Perkecambahan
##    <dbl>         <dbl>
##  1     0           100
##  2     0           100
##  3     0           100
##  4     0           100
##  5     0           100
##  6     0           100
##  7     0           100
##  8     0           100
##  9    16           100
## 10    16           100
## # ℹ 30 more rows

ANOVA

Kecambah$Dosis<-as.factor(Kecambah$Dosis)
Anova1<-aov(Perkecambahan~Dosis,data=Kecambah)
summary(Anova1)
##             Df Sum Sq Mean Sq F value  Pr(>F)    
## Dosis        4 2556.4   639.1   51.36 3.6e-14 ***
## Residuals   35  435.5    12.4                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
qf(0.05,4,35,lower.tail = FALSE)
## [1] 2.641465

\(F_{hitung}>F_{tabel}\), sehingga terdapat cukup bukti untuk menyatakan bahwa terdapat perbedaan pengaruh dosis terhadap perkecambahan pada taraf nyata 5%. Karena terbukti ada perbedaan pada ANOVA, maka dapat dilanjutkan ke uji LSD.

Uji LSD dengan R

library(agricolae)
LSD<-LSD.test(Anova1,"Dosis")
LSD
## $statistics
##    MSerror Df  Mean       CV  t.value      LSD
##   12.44286 35 91.05 3.874183 2.030108 3.580545
## 
## $parameters
##         test p.ajusted name.t ntr alpha
##   Fisher-LSD      none  Dosis   5  0.05
## 
## $means
##    Perkecambahan      std r      se      LCL       UCL Min Max   Q25 Q50   Q75
## 0         100.00 0.000000 8 1.24714 97.46817 102.53183 100 100 100.0 100 100.0
## 16        100.00 0.000000 8 1.24714 97.46817 102.53183 100 100 100.0 100 100.0
## 32         90.25 2.915476 8 1.24714 87.71817  92.78183  86  94  88.0  90  92.5
## 48         80.00 2.618615 8 1.24714 77.46817  82.53183  76  84  78.0  80  82.0
## 64         85.00 6.845228 8 1.24714 82.46817  87.53183  76  94  79.5  85  90.5
## 
## $comparison
## NULL
## 
## $groups
##    Perkecambahan groups
## 0         100.00      a
## 16        100.00      a
## 32         90.25      b
## 64         85.00      c
## 48         80.00      d
## 
## attr(,"class")
## [1] "group"

Berdasarkan uji LSD, didapatkan nilai kritis LSD sebesar 3.58. Dari hasil pengujian dapat disimpulkan bahwa:
1. Rataan perkecambahan dosis 0 dan dosis 16 tidak berbeda signifikan pada taraf nyata 5%.
2. Rataan perkecambahan dosis 0 dan dosis 32 berbeda signifikan pada taraf nyata 5%.
3. Rataan perkecambahan dosis 16 dan dosis 48 berbeda signifikan pada taraf nyata 5%.
dst.

Uji Tukey / Beda Nyata Jujur (BNJ)

BNJ mengontrol kesalahan di t buah perlakuan sebesar \(\alpha\), sehingga di tiap pasangan akan menerima kesalahan sebesar \(\alpha/2g\) karena uji dua arah menggunakan \(\alpha/2\) dan ada \(g\) ulangan. Hal ini digunakan untuk mengontrol family error rate.

Uji Tukey dikenal tidak terlalu sensitif, sehingga baik untuk memisahkan perlakuan-perlakuan yang benar-benar berbeda.

Langkah-langkah Uji Tukey secara Manual

p = banyaknya perlakuan.
1. Urutkan rataan perlakuan dari terkecil ke terbesar atau sebaliknya.
2. Nilai awal i = 1 (dari kiri) dan j = 1 (dari kanan).
3. Hitung beda rataan antara perlakuan terkecil ke-i dengan terbesar ke-j, kemudian bandingkan dengan nilai BNJ, jika beda rataan perlakuan lebih kecil dari BNJ lanjutkan ke langkah 5 dan jika tidak lanjutkan ke langkah nomor 4.
4. Berikan j = j+1, jika j < p kembali ke langkah 3.
5. Buat garis dibawah dari rataan perlakuan ke-i sampai ke perlakuan ke-j.
6. Berikan i = i+1, jika i < p kembali ke langkah 3.
7. Berhenti.

Kesimpulan: Perlakuan-perlakuan pada garis yang sama berarti tidak berbeda nyata pada taraf nyata \(\alpha\).

Hipotesis

\[ H_0 : \mu_i = \mu_j \\ H_1 : \mu_i \neq \mu_j \]

Tolak \(H_0\) jika \(|\bar{y}_i-\bar{y}_j|>BNJ\).

Nilai Kritis

\[ BNJ=q_{\alpha;t;db_g}S_{\bar{y}}\\ S_{\bar{y}}=\sqrt{KTG/r}\\ atau\\ S_{\bar{y}}=\sqrt{KTG/r_h}\\ dengan\\ r_h = \frac{t}{\sum_{i=1}^{t}\frac{1}{r_i}} \] p = banyaknya perlakuan
r = banyaknya ulangan
t = banyaknya pasangan
q = nilai pada Tabel Tukey

Uji Tukey dengan R

tukey <- TukeyHSD(Anova1, "Dosis", conf.level = 0.95)
tukey
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = Perkecambahan ~ Dosis, data = Kecambah)
## 
## $Dosis
##                diff         lwr         upr     p adj
## 16-0   2.842171e-14  -5.0708064   5.0708064 1.0000000
## 32-0  -9.750000e+00 -14.8208064  -4.6791936 0.0000306
## 48-0  -2.000000e+01 -25.0708064 -14.9291936 0.0000000
## 64-0  -1.500000e+01 -20.0708064  -9.9291936 0.0000000
## 32-16 -9.750000e+00 -14.8208064  -4.6791936 0.0000306
## 48-16 -2.000000e+01 -25.0708064 -14.9291936 0.0000000
## 64-16 -1.500000e+01 -20.0708064  -9.9291936 0.0000000
## 48-32 -1.025000e+01 -15.3208064  -5.1791936 0.0000130
## 64-32 -5.250000e+00 -10.3208064  -0.1791936 0.0393966
## 64-48  5.000000e+00  -0.0708064  10.0708064 0.0548433

Cara membaca tabel tersebut adalah melihat apakah selang kepercayaan (lwr dan upper) memiliki tanda positif dan negatif. Jika ada dua tanda, berarti nol termasuk di selang kepercayaan, sehingga kita belum dapat menyatakan rataan perlakuan tersebut beda signifikan.

Plot

plot(tukey, las = 1, col = 'dark blue')

Uji Duncan / Duncan Multiple Range Test

Uji Duncan mirip dengan Uji Tukey, tetapi nilai pembanding uji Duncan meningkat tergantung jarak dari perlakuan yang dibandingkan.

Langkah-langkah Uji Duncan secara Manual

k = banyaknya perlakuan.
1. Urutkan rataan perlakuan dari terkecil ke terbesar atau sebaliknya.
2. Nilai awal i = 1 (dari kiri) dan j = 1 (dari kanan).
3. Hitung beda rataan antara perlakuan terkecil ke-i dengan terbesar ke-j, kemudian bandingkan dengan nilai R, jika beda rataan perlakuan lebih kecil dari R lanjutkan ke langkah 5 dan jika tidak lanjutkan ke langkah 4.
4. Berikan j = j+1, jika j < k kembali ke langkah 3.
5. Buat garis dibawah dari rataan perlakuan ke-i sampai ke perlakuan ke-j.
6. Berikan i = i+1, jika i < k kembali ke langkah 3.
7. Berhenti.

Kesimpulan: Perlakuan-perlakuan pada garis yang sama berarti tidak berbeda nyata pada taraf nyata \(\alpha\).

Hipotesis

\[ H_0 : \mu_i = \mu_j \\ H_1 : \mu_i \neq \mu_j \] Tolak \(H_0\) jika \(|\bar{y}_i-\bar{y}_j|>R_p\) dengan \(p\) adalah jarak peringkat dua perlakuan.

Nilai kritis

\[ R_p=r_{\alpha;p;db_g}S_{\bar{y}}\\ S_{\bar{y}}=\sqrt{KTG/r} \] Dimana \(r_{\alpha;p;db_g}\) adalah nilai tabel Duncan pada taraf \(\alpha\), jarakperingkat dua perlakuan p, dan derajat bebas galat sebesar dbg.

Uji Duncan di R

duncan <- duncan.test(Anova1, "Dosis", alpha = 0.05)
duncan
## $statistics
##    MSerror Df  Mean       CV
##   12.44286 35 91.05 3.874183
## 
## $parameters
##     test name.t ntr alpha
##   Duncan  Dosis   5  0.05
## 
## $duncan
##      Table CriticalRange
## 2 2.871006      3.580545
## 3 3.018061      3.763944
## 4 3.113890      3.883455
## 5 3.182680      3.969247
## 
## $means
##    Perkecambahan      std r      se Min Max   Q25 Q50   Q75
## 0         100.00 0.000000 8 1.24714 100 100 100.0 100 100.0
## 16        100.00 0.000000 8 1.24714 100 100 100.0 100 100.0
## 32         90.25 2.915476 8 1.24714  86  94  88.0  90  92.5
## 48         80.00 2.618615 8 1.24714  76  84  78.0  80  82.0
## 64         85.00 6.845228 8 1.24714  76  94  79.5  85  90.5
## 
## $comparison
## NULL
## 
## $groups
##    Perkecambahan groups
## 0         100.00      a
## 16        100.00      a
## 32         90.25      b
## 64         85.00      c
## 48         80.00      d
## 
## attr(,"class")
## [1] "group"

Uji Tukey menyatakan dosis 64 tak beda dengan dosis 48, padahal uji Duncan dan LSD menyatakan dosis tersebut beda. Hal tersebut menunjukkan kurang sensitifnya uji Tukey.

Kontras Orthogonal

Suatu kontras merupakan kombinasi linear dari rata-rata dimana jumlah koefisien sama dengan nol. Koefisien kontras disusun untuk menguji hipotesis spesifik yang terkait dengan perbandingan berstruktur perlakuan berdasarkan beberapa informasi mengenai kelompok-kelompok perlakuan.
Berbeda dengan uji LSD, Tukey, dan Duncan, pengujian menggunakan kontras orthogonal tidak hanya bisa membandingkan rataan antar perlakuan namun juga rataan suatu perlakuan dengan kelompok perlakuan atau kelompok perlakuan dengan kelompok perlakuan. Banyaknya kontras yang dapat dibentuk adalah banyaknya perlakuan - 1.

\[ \sum_{i=1}^{t}c_i=0 \]

Bentuk Umum Kontras

\[ H_0:c_1\mu_1+c_2\mu_2+...+c_t\mu_t=\sum_{i=1}^{t}c_i\mu_i=0\\ H_1:c_1\mu_1+c_2\mu_2+...+c_t\mu_t=\sum_{i=1}^{t}c_i\mu_i ≠ 0\\ \]

Keorthogonalan

Selain itu, kontras disebut ortogonal jika hasil suatu uji tidak memengaruhi hasil uji lain. Kontras akan orthogonal jika memenuhi:

\[ \sum_{i=1}^{t}c_id_i=0 \]

Keortogonalan kontras dapat dicek melalui matriks ragam peragam. Misal:

Ingin dibandingkan 5 populasi dari data. Sebelumnya, kita memiliki alasan untuk percaya bahwa populasi 2 dan 3 paling dekat. Populasi 4 dan 5 juga dekat, tetapi tidak sedekat populasi 2 dan 3. Populasi 1 lebih dekat ke populasi 2 dan 3 daripada populasi 4 dan 5.

Dari soal tersebut, muncul empat pertanyaan:
1. Apakah populasi 2 dan 3 (yang dianggap sekelompok) beda? (D)
2. Apakah populasi 4 dan 5 beda? (C)
3. Apakah populasi 1 beda dengan populasi 2, 3? (B)
4. Apakah populasi 1, 2, 3, beda dengan populasi 4 dan 5? (A)

Oleh karena itu, dibentuk kontras:

A<-c(2,2,2,-3,-3)
B<-c(2,-1,-1,0,0)
C<-c(0,0,0,1,-1)
D<-c(0,1,-1,0,0)

contrast<-cbind(A,B,C,D)
cov(contrast)
##     A   B   C   D
## A 7.5 0.0 0.0 0.0
## B 0.0 1.5 0.0 0.0
## C 0.0 0.0 0.5 0.0
## D 0.0 0.0 0.0 0.5

Jika matriks diagonal, ini berarti dan kontras saling orthogonal.

Perhitungan Kontras

\[ JKC_i=KTC_i=\frac{(\sum_{i=1}^{t}c_iY_{i.})^2}{r\sum_{i=1}^{t}c_i^2}\\ F=KTC_i/KTG \]

Contoh

Suatu percobaan dilakukan untuk mengetahui
bagaimana pengaruh penambahan nitrogen terhadap pertumbuhan rumput. Perlakuan yang dicobakan adalah:
(1) tidak ada penambahan nitrogen
(2) ditambahkan 100 kg di musim gugur
(3) ditambahkan 100 kg di musim semi
(4) ditambahkan 50 kg di musim gugur dan 50 kg di musim semi
Percobaan dilakukan pada tiga tipe tanah yang berbeda.

Hipotesis yang diuji

  1. Apakah terdapat perbedaan pertumbuhan rumput dari yang tidak diberi nitrogen dengan diberi nitrogen?
  2. Apakah ada perbedaan pertumbuhan rumput jika diberikan nitrogen pada saat musim gugur dengan musim semi?
  3. Apakah ada perbedaan pertumbuhan rumput jika diberikan pada saat musim gugur atau musim semi dengan diberikan pada kedua musim tersebut?

Import Data

Rumput<-read_xlsx("D:/Rancob/DataFull.xlsx",sheet="UjiLanjut2")
Rumput
## # A tibble: 12 × 3
##    Perlakuan Kelompok Pertumbuhan
##    <chr>        <dbl>       <dbl>
##  1 Kontrol          1         9.9
##  2 Kontrol          2        12.3
##  3 Kontrol          3        11.4
##  4 Fall             1        11.4
##  5 Fall             2        12.9
##  6 Fall             3        12.7
##  7 Spring           1        12.1
##  8 Spring           2        13.4
##  9 Spring           3        12.9
## 10 Split            1        10.1
## 11 Split            2        12.2
## 12 Split            3        11.9

Buat Kontras

Rumput$Perlakuan<-as.factor(Rumput$Perlakuan)
Rumput$Kelompok<-as.factor(Rumput$Kelompok)
levels(Rumput$Perlakuan)
## [1] "Fall"    "Kontrol" "Split"   "Spring"
contrasts(Rumput$Perlakuan) <- cbind(c(-1, 3, -1, -1), c(-1,0,0,1), c(-1, 0, 2, -1))
contrasts(Rumput$Perlakuan)
##         [,1] [,2] [,3]
## Fall      -1   -1   -1
## Kontrol    3    0    0
## Split     -1    0    2
## Spring    -1    1   -1

Anova dengan Kontras Orthogonal

aovKontras<-aov(Pertumbuhan~Perlakuan+Kelompok,Rumput)
summary.aov(aovKontras, split = list (Perlakuan = list('K vs FSpSpl' = 1, 'F vs Sp' = 2, 'FSp vs Spl' = 3)))
##                          Df Sum Sq Mean Sq F value   Pr(>F)    
## Perlakuan                 3  5.200   1.733  19.439 0.001713 ** 
##   Perlakuan: K vs FSpSpl  1  2.151   2.151  24.125 0.002679 ** 
##   Perlakuan: F vs Sp      1  0.327   0.327   3.664 0.104123    
##   Perlakuan: FSp vs Spl   1  2.722   2.722  30.530 0.001480 ** 
## Kelompok                  2  7.172   3.586  40.215 0.000335 ***
## Residuals                 6  0.535   0.089                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Dapat disimpulkan bahwa rata-rata rumput kontrol dengan rumput yang diberi nitrogen berbeda signifikan, begitu juga rata-rata rumput gugur atau semi dengan split. Namun, belum ditemukan bukti cukup untuk menyatakan rata-rata musim semi dan gugur berbeda signifikan pada taraf nyata 5%.

Polinomial Orthogonal

Polinomial orthogonal dilakukan untuk menguji tren pengaruh perlakuan terhadap respon jika perlakuan bersifat kuantitatif dan berjarak sama. Model polinomial orthogonal dapat berbentuk linear, kuadratik, kubik, kuartik, dan lain-lain.

\[ Linear:Y_i=\beta_0+\beta_1X_i+ε_i\\ Kuadratik:Y_i=\beta_0+\beta_1X_i+\beta_2X_i^2+ε_i\\ Kubik:Y_i=\beta_0+\beta_1X_i+\beta_2X_i^2+\beta_3X_i^3+ε_i \]

Dengan bentuk umum polinomial ordo ke-N:

\[ Y=\alpha_0P_0(X)+\alpha_1P_1(X)+\alpha_2P_2(X)+...+\alpha_nP_n(X) \]

Dengan:

\[ P_0=1\\ P_1=\lambda_1\left[\frac{X-\bar{X}}{d}\right]\\ P_2=\lambda_2\left[\left(\frac{X-\bar{X}}{d}\right)^2-\left(\frac{a^2-1}{12}\right)\right]\\ P_{n+1}(X)=\lambda_{n+1}\left[P_1(X)P_n(X)-\frac{n^2(a^2-n^2)}{4(4n^2-1)}P_{n-1}(X)\right] \]

Dengan:
\(a\) : banyaknya taraf faktor.
\(d\) : jarak antar faktor.
\(n\) : polinomial ordo ke-n. 

Contoh

Rancangan perlakuan terdiri dari lima kerapatan tanaman (10, 20, 30, 40, dan 50). Masing masing dari lima perlakuan di tempatkan secara acak pada tiga petak tanah dengan RAL. Hasil gandum yang dihasilkan ditunjukkan pada tabel dibawah ini. Buatlah model linear, tabel sidik ragam untuk menguji pengaruh perlakuan, dan susunlah polinomial ortogonal untuk memisahkan pengaruh perlakuan jika pengaruh perlakuan nyata (gunakan taraf nyata pengujian 5%).

kerapatan <- factor(rep(c(10, 20, 30, 40, 50), each = 3))
hasil <- c(12.2, 11.4, 12.4,
           16.0, 15.5, 16.5, 
           18.6, 20.2, 18.2,
           17.6, 19.3, 17.1,
           18.0, 16.4, 16.6)
Datakerapatan <- data.frame(kerapatan, hasil)
Datakerapatan
##    kerapatan hasil
## 1         10  12.2
## 2         10  11.4
## 3         10  12.4
## 4         20  16.0
## 5         20  15.5
## 6         20  16.5
## 7         30  18.6
## 8         30  20.2
## 9         30  18.2
## 10        40  17.6
## 11        40  19.3
## 12        40  17.1
## 13        50  18.0
## 14        50  16.4
## 15        50  16.6

Model Linier

\[ Y_{ij}=\mu+\tau_i+ε_{ij} \]

Keterangan:
i=1,2,3,4,5.
j = 1,2,3.
\(Y_{ij}\) = nilai pengamatan pada kerapatan tanaman ke-i dan ulangan ke-j.
\(\mu\) = rataan umum.
\(\tau_i\) = pengaruh kerapatan tanaman ke-i.
\(ε_{ij}\) = pengaruh acak kerapatan tanaman ke-i dan ulangan ke-j.

Plot

Sebelum menggunakan polinomial, tren pengaruh dapat dilihat secara eksploratif.

library(ggplot2)
ggplot(Datakerapatan,aes(x=kerapatan,y=hasil))+geom_point()+stat_summary(fun.y=mean, colour="darkblue", geom="line", aes(group = 1))+theme_bw()

Plot pengaruh kerapatan yang dihasilkan cenderung kuadratik.

Buat Kontras

contrasts(Datakerapatan$kerapatan) <- contr.poly(5)
contrasts(Datakerapatan$kerapatan)
##            .L         .Q            .C         ^4
## 10 -0.6324555  0.5345225 -3.162278e-01  0.1195229
## 20 -0.3162278 -0.2672612  6.324555e-01 -0.4780914
## 30  0.0000000 -0.5345225 -4.095972e-16  0.7171372
## 40  0.3162278 -0.2672612 -6.324555e-01 -0.4780914
## 50  0.6324555  0.5345225  3.162278e-01  0.1195229

Anova dengan Polinomial

Anovakerapatan <- aov(hasil ~ kerapatan, data = Datakerapatan)
summary.aov(Anovakerapatan, split = list (kerapatan = list('Linear' = 1, 'Kuadratik' = 2,'Kubik' = 3, 'Kuartik' = 4)))
##                        Df Sum Sq Mean Sq F value   Pr(>F)    
## kerapatan               4  87.60   21.90  29.278 1.69e-05 ***
##   kerapatan: Linear     1  43.20   43.20  57.754 1.84e-05 ***
##   kerapatan: Kuadratik  1  42.00   42.00  56.150 2.08e-05 ***
##   kerapatan: Kubik      1   0.30    0.30   0.401    0.541    
##   kerapatan: Kuartik    1   2.10    2.10   2.807    0.125    
## Residuals              10   7.48    0.75                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
qf(0.05,4,10,lower.tail = FALSE)
## [1] 3.47805
qf(0.05,1,10,lower.tail = FALSE)
## [1] 4.964603

Dari hasil di atas \(F_{hitung}=29.278 > F_{tabel} =3.478\) maka Tolak Ho, dapat disimpulkan bahwa ada perbedaan pengaruh kerapatan tanaman (perlakuan) terhadap hasil gandum pada taraf nyata 5%. Selain itu ,perlakuan mempunyai bentuk respon yang linear dan kuadratik karena Fhitung lebih besar dari Ftabel maka Tolak H0 pada taraf nyata 5%. Namun untuk hasil ahirnya dipilih model dengan ordo yang lebih tinggi yaitu kuadratik.