#ANAVA 2 ARAH TANPA INTERAKSI
#PACKAGES
library(car)
## Loading required package: carData
library(agricolae)

#Memanggil Data
data=read.table(file.choose(), header=T)
data
##   merek pelarut  Data
## 1     1       1 46.18
## 2     1       2 54.54
## 3     1       3 56.63
## 4     2       1 57.69
## 5     2       2 71.57
## 6     2       3 81.51
## 7     3       1 48.61
## 8     3       2 51.01
## 9     3       3 80.02
#Pendefinisian Variabel
data$merek=factor(data$merek,levels=1:3,labels=c("cdr","redoxon","enervon-c"))
data$pelarut=factor(data$pelarut,levels=1:3,labels=c("air biasa","air soda","air kelapa"))
data
##       merek    pelarut  Data
## 1       cdr  air biasa 46.18
## 2       cdr   air soda 54.54
## 3       cdr air kelapa 56.63
## 4   redoxon  air biasa 57.69
## 5   redoxon   air soda 71.57
## 6   redoxon air kelapa 81.51
## 7 enervon-c  air biasa 48.61
## 8 enervon-c   air soda 51.01
## 9 enervon-c air kelapa 80.02
# Normalitas per Merek Tablet
for(i in levels(data$merek)){
  cat("\nUji Normalitas untuk Merek Tablet:", i, "\n")
  print(shapiro.test(data$Data[data$merek==i]))
}
## 
## Uji Normalitas untuk Merek Tablet: cdr 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$Data[data$merek == i]
## W = 0.89286, p-value = 0.3631
## 
## 
## Uji Normalitas untuk Merek Tablet: redoxon 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$Data[data$merek == i]
## W = 0.99096, p-value = 0.8182
## 
## 
## Uji Normalitas untuk Merek Tablet: enervon-c 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$Data[data$merek == i]
## W = 0.80695, p-value = 0.1312
# Normalitas per Jenis Pelarut
for(j in levels(data$pelarut)){
  cat("\nUji Normalitas untuk Jenis Pelarut:", j, "\n")
  print(shapiro.test(data$Data[data$pelarut==j]))
}
## 
## Uji Normalitas untuk Jenis Pelarut: air biasa 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$Data[data$pelarut == j]
## W = 0.89987, p-value = 0.3851
## 
## 
## Uji Normalitas untuk Jenis Pelarut: air soda 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$Data[data$pelarut == j]
## W = 0.87434, p-value = 0.3079
## 
## 
## Uji Normalitas untuk Jenis Pelarut: air kelapa 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$Data[data$pelarut == j]
## W = 0.79474, p-value = 0.102
#Homogenitas variansi#
leveneTest(Data~merek, center=mean, data=data)
## Levene's Test for Homogeneity of Variance (center = mean)
##       Df F value Pr(>F)
## group  2  2.4902 0.1632
##        6
leveneTest(Data~pelarut, center=mean, data=data)
## Levene's Test for Homogeneity of Variance (center = mean)
##       Df F value Pr(>F)
## group  2  1.9806 0.2185
##        6
# ANAVA DUA ARAH TANPA INTERAKSI
anava2arah <- function(y, A, B){
  a <- nlevels(A)
  b <- nlevels(B)
  N <- length(y)
  n <- N/(a*b)

  FK <- sum(y)^2/N
  JKT <- sum(y^2) - FK
  JK_A <- sum(tapply(y, A, sum)^2)/(b*n) - FK
  JK_B <- sum(tapply(y, B, sum)^2)/(a*n) - FK
  JKG <- JKT - JK_A - JK_B
  db <- c(a-1, b-1, N-a-b+1, N-1)
  JK <- c(JK_A, JK_B, JKG, JKT)
  KT <- JK/db

  F <- c(KT[1]/KT[3],
         KT[2]/KT[3],
         NA, NA)

  p <- c(
    pf(F[1], db[1], db[3], lower.tail = FALSE),
    pf(F[2], db[2], db[3], lower.tail = FALSE),
    NA, NA
  )

  data.frame(
    Sumber = c("Merek", "Pelarut", "Galat", "Total"),
    db, JK, KT, F, p
  )
}
anava2arah(data$Data, data$merek, data$pelarut)
##    Sumber db        JK        KT        F          p
## 1   Merek  2  479.9575 239.97874 4.269572 0.10176166
## 2 Pelarut  2  733.9193 366.95964 6.528748 0.05499073
## 3   Galat  4  224.8270  56.20674       NA         NA
## 4   Total  8 1438.7038 179.83797       NA         NA
uji_anava <- aov(Data ~ merek + pelarut, data = data)
anova(uji_anava)
## Analysis of Variance Table
## 
## Response: Data
##           Df Sum Sq Mean Sq F value  Pr(>F)  
## merek      2 479.96  239.98  4.2696 0.10176  
## pelarut    2 733.92  366.96  6.5287 0.05499 .
## Residuals  4 224.83   56.21                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1