# PACKAGES
library(car)
## Warning: package 'car' was built under R version 4.5.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.5.3
library(agricolae)
## Warning: package 'agricolae' was built under R version 4.5.3
# Memanggil Data
data=read.table(file.choose(), header=T)
data
##   Merek_tablet jenis_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_tablet=factor(data$Merek_tablet,levels=1:3,labels=c("CDR","Redoxon","Enervon-C"))

data$jenis_pelarut=factor(data$jenis_pelarut,levels=1:3,labels=c("Air biasa","Air soda","Air kelapa"))

# Normalitas per jenis pelarut
for(j in levels(data$jenis_pelarut)){
  cat("\nUji Normalitas untuk Jenis Pelarut:", j, "\n")
  print(shapiro.test(data$data[data$jenis_pelarut==j]))
}
## 
## Uji Normalitas untuk Jenis Pelarut: Air biasa 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$data[data$jenis_pelarut == j]
## W = 0.89987, p-value = 0.3851
## 
## 
## Uji Normalitas untuk Jenis Pelarut: Air soda 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$data[data$jenis_pelarut == j]
## W = 0.87434, p-value = 0.3079
## 
## 
## Uji Normalitas untuk Jenis Pelarut: Air kelapa 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$data[data$jenis_pelarut == j]
## W = 0.79474, p-value = 0.102
# Normalitas per Merek Tablet
for(i in levels(data$Merek_tablet)){
  cat("\nUji Normalitas untuk Merek Tablet:", i, "\n")
  print(shapiro.test(data$data[data$Merek_tablet==i]))
}
## 
## Uji Normalitas untuk Merek Tablet: CDR 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$data[data$Merek_tablet == i]
## W = 0.89286, p-value = 0.3631
## 
## 
## Uji Normalitas untuk Merek Tablet: Redoxon 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$data[data$Merek_tablet == i]
## W = 0.99096, p-value = 0.8182
## 
## 
## Uji Normalitas untuk Merek Tablet: Enervon-C 
## 
##  Shapiro-Wilk normality test
## 
## data:  data$data[data$Merek_tablet == i]
## W = 0.80695, p-value = 0.1312
# Homogenitas Variansi
leveneTest(data ~ jenis_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
leveneTest(data ~ Merek_tablet, 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
# ANOVA 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("A","B","Galat","Total"),
    db,JK,KT,F,p
  )
}

# Memanggil Fungsi
anava2arah(y=data$data,A=data$Merek_tablet,B=data$jenis_pelarut)
##   Sumber db        JK        KT        F          p
## 1      A  2  479.9575 239.97874 4.269572 0.10176166
## 2      B  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