Fika Fadillah Muharam (22611044)
Novi Elva Wijayanti (22611168)
Revaya Rizqia Pasya (22611148)
Fitrianingsih (22611119)

Pendahuluan

Analisis kovarian adalah metode untuk membandingkan kumpulan data yang terdiri dari dua variabel (perlakuan dan efek, dengan variabel efek disebut variat) ketika variabel ketiga (disebut kovariat) ada. Kovariat ini dapat diukur, tetapi tidak dapat dikontrol, dan berpengaruh terhadap variabel yang diteliti. Dengan kata lain, analisis kovarian memberikan jenis kontrol statistik tidak langsung, yang memungkinkan kita meningkatkan ketepatan penelitian dan menghilangkan potensi sumber bias.

Dalam konteks penelitian ini, variabel utama yang dianalisis adalah kandungan kumarin (coumarin) pada kayu manis (cinnamon), yaitu senyawa aromatik alami yang memiliki potensi toksisitas jika dikonsumsi dalam jumlah besar. Kandungan kumarin ini dapat bervariasi tergantung pada jenis kayu manis, kualitas produk, serta proses pasca panen seperti pengeringan. Salah satu faktor yang diduga berpengaruh besar terhadap kadar kumarin adalah tingkat kekeringan (dryness) dari kayu manis itu sendiri. Proses pengeringan dapat menyebabkan konsentrasi senyawa aktif meningkat seiring berkurangnya kadar air, atau justru menyebabkan degradasi senyawa tertentu tergantung pada suhu dan metode pengeringan.

Model ANCOVA yang akan digunakan:

Definisi Operasional Variabel

1. Coumarin (Variabel Dependen / Variat)

2. Quality (Variabel Bebas / Faktor)

3. Dryness (Kovariat)

Packages yang Digunakan

     library(tidyverse)
     library(ggplot2)
     library(gridExtra)
     library(rstatix)

Input Data

cinnamon <- read.csv("C:/Users/FIKA/Downloads/Cinnamon_Ancova.csv")
head(cinnamon)
##   quality coumarin  dryness
## 1    high 42.40059 67.33408
## 2    high 56.98142 78.63092
## 3    high 51.98085 76.37375
## 4    high 39.45594 64.34663
## 5    high 45.94980 66.18535
## 6    high 61.56006 64.39580

Summary Data

# Coumarin per Quality
cinnamon %>%
  group_by(quality) %>%
  summarise(
    N = n(),
    Mean_coumarin = mean(coumarin, na.rm = TRUE),
    SD_coumarin = sd(coumarin, na.rm = TRUE),
    Min_coumarin = min(coumarin, na.rm = TRUE),
    Max_coumarin = max(coumarin, na.rm = TRUE)
  )
## # A tibble: 3 × 6
##   quality     N Mean_coumarin SD_coumarin Min_coumarin Max_coumarin
##   <chr>   <int>         <dbl>       <dbl>        <dbl>        <dbl>
## 1 high       30          50.3        8.31         33.0         65.4
## 2 low        30          49.4        7.44         35.1         64.6
## 3 medium     30          51.0        8.63         30.4         66.7

Secara umum, perbedaan rata-rata kandungan coumarin antar kelompok quality relatif kecil, tetapi kelompok quality sedang mencatatkan nilai rata-rata tertinggi. Nilai minimum dan maksimum yang tumpang tindih antar kelompok menunjukkan adanya variabilitas internal dalam masing-masing kategori quality.

# Dryness per Quality
cinnamon %>%
  group_by(quality) %>%
  summarise(
    N = n(),
    Mean_dryness = mean(dryness, na.rm = TRUE),
    SD_dryness = sd(dryness, na.rm = TRUE),
    Min_dryness = min(dryness, na.rm = TRUE),
    Max_dryness = max(dryness, na.rm = TRUE)
  )
## # A tibble: 3 × 6
##   quality     N Mean_dryness SD_dryness Min_dryness Max_dryness
##   <chr>   <int>        <dbl>      <dbl>       <dbl>       <dbl>
## 1 high       30         69.6       5.21        55.9        78.6
## 2 low        30         76.4       5.00        66.2        86.7
## 3 medium     30         72.7       4.88        63.0        79.8

Sedangkan untuk variabel dryness, rata-ratanya menunjukkan perbedaan yang relatif besar antar kelompok quality. Dengan nilai rentang dryness juga tumpang tindih, tetapi distribusinya tidak merata pada seluruh kategori quality, yang berarti tingkat kekeringan dapat menjadi sumber pengaruh terhadap kadar coumarin secara independen. Sehingga, meski terdapat perbedaan pada kadar coumarin dengan kelompok quality, tidak dapat menyimpulkan quality sebagai penyebab, karena dapat dipengaruhi oleh faktor lain seperti tingkat dryness. Oleh karena itu, meskipun ada indikasi perbedaan, diperlukan uji statistik lanjutan (seperti ANCOVA) untuk memastikan apakah perbedaan tersebut signifikan setelah mengontrol pengaruh variabel lain seperti tingkat dryness.

Visualisasi

# Scatterplot dryness vs coumarin
p1 <- ggplot(cinnamon, aes(x = dryness, y = coumarin, colour = quality)) +
  geom_point(size = 3) +
  theme(legend.position = "top")

# Boxplot coumarin
p2 <- ggplot(cinnamon, aes(x = quality, y = coumarin, col = quality)) +
  geom_boxplot(outlier.shape = NA) +
  geom_jitter(width = 0.2) +
  theme(legend.position = "top")

# Boxplot dryness
p3 <- ggplot(cinnamon, aes(x = quality, y = dryness, fill = quality)) +
  geom_boxplot(outlier.shape = NA) +
  geom_jitter(width = 0.2) +
  theme(legend.position = "top")

grid.arrange(p1, p2, p3, ncol = 3)

Visualisasi data menunjukkan adanya hubungan yang relevan antara kadar coumarin, tingkat kekeringan (dryness), dan kualitas kayu manis (quality). Scatterplot memperlihatkan hubungan positif antara dryness dan coumarin yang konsisten di semua tingkat kualitas, mendukung asumsi homogenitas regresi dalam ANCOVA. Boxplot menunjukkan adanya perbedaan distribusi coumarin antar kualitas, serta perbedaan distribusi dryness pada tiap kelompok quality. Hal ini menegaskan perlunya mengontrol dryness sebagai kovariat. Secara keseluruhan, visualisasi mendukung penggunaan analisis ANCOVA dengan dryness sebagai kovariat dan quality sebagai faktor, serta menunjukkan bahwa asumsi dasar ANCOVA telah terpenuhi.

One-Way ANCOVA

cinnamon_anc <- anova_test(data = cinnamon, formula = coumarin ~ quality + dryness, type = 3, detailed = TRUE)
cinnamon_anc
## ANOVA Table (type III tests)
## 
##        Effect      SSn      SSd DFn DFd      F        p p<.05   ges
## 1 (Intercept)  286.582 3332.532   1  86  7.396 8.00e-03     * 0.079
## 2     quality  759.065 3332.532   2  86  9.794 1.47e-04     * 0.186
## 3     dryness 2433.366 3332.532   1  86 62.796 7.52e-12     * 0.422

Uji hipotesis untuk variabel Quality (faktor Kategorik):

Uji hipotesis untuk variabel Dryness (kovariat Numerik):

Hasil ANCOVA menunjukkan bahwa baik kualitas (p = 0.0001, ges = 0.186) maupun tingkat kekeringan (p < 0.001, ges = 0.422) berpengaruh signifikan terhadap kadar kumarin. Ini menunjukkan bahwa kandungan kumarin pada cinnamon dipengaruhi oleh jenis kualitas dan tingkat kekeringannya.

Estimated Marginal Means (EMMs)

adj_means <- emmeans_test(
  data = cinnamon,
  formula = coumarin ~ quality,
  covariate = dryness
)
get_emmeans(adj_means)
## # A tibble: 3 × 8
##   dryness quality emmean    se    df conf.low conf.high method      
##     <dbl> <fct>    <dbl> <dbl> <dbl>    <dbl>     <dbl> <chr>       
## 1    72.9 high      53.8  1.22    86     51.3      56.2 Emmeans test
## 2    72.9 low       45.8  1.23    86     43.4      48.2 Emmeans test
## 3    72.9 medium    51.2  1.14    86     48.9      53.5 Emmeans test

Hasil estimated marginal means (EMMs) menunjukkan bahwa setelah mengontrol pengaruh dryness, kadar kumarin (coumarin) rata-rata tetap berbeda antar tingkat kualitas cinnamon. Pada tingkat dryness yang disesuaikan sebesar 72.9, kualitas high memiliki kadar kumarin tertinggi (mean = 53.8), diikuti oleh medium (mean = 51.2), dan low memiliki kadar terendah (mean = 45.8). Seluruh estimasi ini disertai dengan batas kepercayaan 95%, menunjukkan bahwa perbedaan kadar kumarin antar kelompok kualitas tetap konsisten meskipun variabel dryness telah dikontrol.

Uji Post-Hoc (Pairwise dengan Kovariat)

emmeans_test(
  data = cinnamon,
  formula = coumarin ~ quality,
  covariate = dryness,
  p.adjust.method = "fdr"
)
## # A tibble: 3 × 9
##   term          .y.   group1 group2    df statistic       p   p.adj p.adj.signif
## * <chr>         <chr> <chr>  <chr>  <dbl>     <dbl>   <dbl>   <dbl> <chr>       
## 1 dryness*qual… coum… high   low       86      4.32 4.15e-5 1.24e-4 ***         
## 2 dryness*qual… coum… high   medium    86      1.54 1.26e-1 1.26e-1 ns          
## 3 dryness*qual… coum… low    medium    86     -3.21 1.88e-3 2.82e-3 **

Uji Quality Pasangan 1:

Uji Quality Pasangan 2:

Uji Quality Pasangan 3:

Hasil uji post-hoc dengan penyesuaian kovariat dryness menunjukkan bahwa terdapat perbedaan signifikan kadar kumarin antara kelompok kualitas high dan low (p.adj = 0.000124) serta antara low dan medium (p.adj = 0.00282), sedangkan perbedaan antara high dan medium tidak signifikan (p.adj = 0.126). Ini menunjukkan bahwa setelah mengontrol tingkat kekeringan, kualitas cinnamon berpengaruh terhadap kadar kumarin, terutama antara kualitas rendah dengan yang lainnya, sementara kualitas tinggi dan sedang memiliki kadar kumarin yang tidak berbeda secara signifikan.

Uji Asumsi

Normalitas

shapiro.test(resid(aov(coumarin ~ quality + dryness, data = cinnamon)))
## 
##  Shapiro-Wilk normality test
## 
## data:  resid(aov(coumarin ~ quality + dryness, data = cinnamon))
## W = 0.98766, p-value = 0.5602

Hipotetis:

Hasil uji normalitas Shapiro-Wilk terhadap residual model menunjukkan nilai W = 0.98766 dan p-value = 0.5602. Karena p-value lebih besar dari 0.05, maka tidak terdapat cukup bukti untuk menolak hipotesis nol. Artinya, residual dari model ANCOVA terdistribusi normal, dan asumsi normalitas terpenuhi. Hal ini memperkuat validitas hasil analisis ANCOVA yang telah dilakukan.

Homogenitas Varians

bartlett.test(coumarin ~ quality, data = cinnamon)
## 
##  Bartlett test of homogeneity of variances
## 
## data:  coumarin by quality
## Bartlett's K-squared = 0.66589, df = 2, p-value = 0.7168

Hipotetis:

Hasil uji homogenitas varians menggunakan Bartlett’s test menunjukkan nilai K² = 0.66589 dengan p-value = 0.7168. Karena p-value jauh lebih besar dari 0.05, maka tidak ada cukup bukti untuk menolak hipotesis nol, yang berarti varians kadar kumarin antar kelompok kualitas (quality) adalah homogen. Dengan demikian, asumsi homogenitas varians pada analisis ANCOVA terpenuhi.

Homogenitas Efek Kovariat

anova(aov(coumarin ~ quality * dryness, data = cinnamon))
## Analysis of Variance Table
## 
## Response: coumarin
##                 Df Sum Sq Mean Sq F value    Pr(>F)    
## quality          2   35.9   17.93  0.4596    0.6331    
## dryness          1 2433.4 2433.37 62.3886 9.673e-12 ***
## quality:dryness  2   56.3   28.13  0.7211    0.4892    
## Residuals       84 3276.3   39.00                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Hipotetis:

Hasil uji interaksi antara kovariat (dryness) dan faktor (quality) menunjukkan bahwa efek interaksinya tidak signifikan (p-value = 0.4892). Ini berarti tidak ada perbedaan yang signifikan dalam kemiringan (slope) hubungan antara dryness dan coumarin di setiap tingkat kualitas. Dengan kata lain, asumsi homogenitas efek kovariat terpenuhi, yang merupakan syarat penting dalam analisis ANCOVA agar interpretasi terhadap efek utama quality tetap valid setelah mengontrol dryness.

Asumsi Linearitas (Visual)

ggplot(cinnamon, aes(dryness, coumarin, colour = quality)) +
  geom_smooth(method = "lm", aes(fill = quality), alpha = 0.1) +
  theme(legend.position = "top")
## `geom_smooth()` using formula = 'y ~ x'

Plot scatter dengan garis regresi linear menunjukkan bahwa hubungan antara dryness dan coumarin bersifat linear untuk setiap kategori quality (high, medium, low). Garis-garis regresi tampak membentuk pola lurus tanpa penyimpangan berarti, serta tidak menunjukkan pola lengkung atau non-linear. Area bayangan (confidence interval) yang mengikuti garis juga mendukung kestabilan hubungan tersebut. Oleh karena itu, asumsi linearitas dalam analisis ANCOVA telah terpenuhi.

Kesimpulan

Berdasarkan hasil analisis kovarian (ANCOVA) yang dilakukan terhadap kadar kumarin pada kayu manis, dengan mempertimbangkan variabel kualitas produk (quality) sebagai faktor dan tingkat kekeringan (dryness) sebagai kovariat, diperoleh beberapa temuan penting:

Implikasi

Penelitian ini menunjukkan bahwa baik kualitas kayu manis maupun tingkat kekeringannya memengaruhi kadar kumarin. Oleh karena itu, dalam pengawasan mutu dan keamanan pangan, penting untuk mempertimbangkan proses pengeringan selain hanya mengandalkan label kualitas produk. Produk dengan kualitas rendah, terutama jika tidak dikeringkan dengan optimal, cenderung memiliki kadar kumarin yang lebih rendah, tetapi tidak menjamin keamanan konsumsi jangka panjang.