Tujuan Praktikum
Setelah mengikuti praktikum ini, mahasiswa diharapkan mampu:
Memahami konsep dasar rancangan percobaan yang umum digunakan dalam penelitian kimia
Mengolah dan menganalisis data percobaan menggunakan R
Melakukan analisis ANOVA faktorial dan interpretasinya
Membuat interaction plot dan main effect plot
Mengenal rancangan Response Surface Methodology (RSM) dan Mixture Design secara praktis
Fokus praktikum ini adalah hands-on analysis menggunakan R .
1. Percobaan Satu Faktor
Percobaan satu faktor dilakukan ketika hanya satu faktor yang divariasikan, sementara faktor lain dikendalikan konstan.
Analisis di R
# contoh data
waktu <- factor (rep (c (30 ,45 ,60 ), each= 3 ))
respon <- c (7.1 ,7.3 ,7.6 , 5.2 ,5.4 ,4.5 , 4.7 ,5.4 ,5.3 )
data1 <- data.frame (waktu, respon)
# ANOVA satu arah
model1 <- aov (respon ~ waktu, data= data1)
summary (model1)
Df Sum Sq Mean Sq F value Pr(>F)
waktu 2 10.14 5.070 35.37 0.000478 ***
Residuals 6 0.86 0.143
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
2. Rancangan Faktorial
Rancangan faktorial memungkinkan semua kombinasi level faktor dicobakan secara simultan.
Contoh Kasus
Faktor A: Nisbah serat : semen (1:2, 1:3)
Faktor B: Konsentrasi katalis (0%, 2.5%, 5%)
Ulangan: 3 kali
Total unit percobaan = 2 × 3 × 3 = 18
Analisis ANOVA Faktorial di R
modelF <- aov (Respon ~ Nisbah * Katalis, data= dataF)
summary (modelF)
Df Sum Sq Mean Sq F value Pr(>F)
Nisbah 1 38.43 38.43 380.05 1.88e-10 ***
Katalis 2 42.90 21.45 212.13 4.33e-10 ***
Nisbah:Katalis 2 4.22 2.11 20.86 0.000124 ***
Residuals 12 1.21 0.10
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretasi:
Nisbah signifikan → faktor utama A berpengaruh
Katalis signifikan → faktor utama B berpengaruh
Interaksi signifikan → efek katalis bergantung pada nisbah
Interaction Plot
interaction.plot (dataF$ Katalis, dataF$ Nisbah, dataF$ Respon,
xlab= "Katalis (%)" ,
ylab= "Rata-rata Respon" ,
trace.label= "Nisbah" )
Jika garis tidak sejajar , maka terdapat indikasi interaksi.
Uji Lanjut (Post-hoc)
library (emmeans)
emm <- emmeans (modelF, ~ Nisbah * Katalis)
pairs (emm, adjust= "tukey" )
contrast estimate SE df t.ratio p.value
1:2 Katalis0 - 1:3 Katalis0 1.567 0.26 12 6.034 0.0006
1:2 Katalis0 - 1:2 Katalis2.5 2.300 0.26 12 8.859 <.0001
1:2 Katalis0 - 1:3 Katalis2.5 6.067 0.26 12 23.367 <.0001
1:2 Katalis0 - 1:2 Katalis5 2.200 0.26 12 8.474 <.0001
1:2 Katalis0 - 1:3 Katalis5 5.633 0.26 12 21.698 <.0001
1:3 Katalis0 - 1:2 Katalis2.5 0.733 0.26 12 2.825 0.1201
1:3 Katalis0 - 1:3 Katalis2.5 4.500 0.26 12 17.332 <.0001
1:3 Katalis0 - 1:2 Katalis5 0.633 0.26 12 2.439 0.2171
1:3 Katalis0 - 1:3 Katalis5 4.067 0.26 12 15.663 <.0001
1:2 Katalis2.5 - 1:3 Katalis2.5 3.767 0.26 12 14.508 <.0001
1:2 Katalis2.5 - 1:2 Katalis5 -0.100 0.26 12 -0.385 0.9986
1:2 Katalis2.5 - 1:3 Katalis5 3.333 0.26 12 12.839 <.0001
1:3 Katalis2.5 - 1:2 Katalis5 -3.867 0.26 12 -14.893 <.0001
1:3 Katalis2.5 - 1:3 Katalis5 -0.433 0.26 12 -1.669 0.5738
1:2 Katalis5 - 1:3 Katalis5 3.433 0.26 12 13.224 <.0001
P value adjustment: tukey method for comparing a family of 6 estimates
Untuk menampilkan pengelompokan huruf:
library (multcomp)
cld (emm, Letters= letters, adjust= "tukey" )
Nisbah Katalis emmean SE df lower.CL upper.CL .group
1:3 2.5 1.27 0.184 12 0.69 1.84 a
1:3 5 1.70 0.184 12 1.12 2.28 a
1:2 2.5 5.03 0.184 12 4.46 5.61 b
1:2 5 5.13 0.184 12 4.56 5.71 b
1:3 0 5.77 0.184 12 5.19 6.34 b
1:2 0 7.33 0.184 12 6.76 7.91 c
Confidence level used: 0.95
Conf-level adjustment: sidak method for 6 estimates
P value adjustment: tukey method for comparing a family of 6 estimates
significance level used: alpha = 0.05
NOTE: If two or more means share the same grouping symbol,
then we cannot show them to be different.
But we also did not show them to be the same.
3. Pengantar Response Surface Methodology (RSM)
RSM digunakan ketika:
Model yang umum digunakan adalah model kuadratik .
Central Composite Design (CCD) di R
library (rsm)
ccd <- rsm:: ccd (
~ x1 + x2,
n0 = 4
)
ccd
run.order std.order x1.as.is x2.as.is Block
1 1 8 0.000000 0.000000 1
2 2 6 0.000000 0.000000 1
3 3 3 -1.000000 1.000000 1
4 4 1 -1.000000 -1.000000 1
5 5 2 1.000000 -1.000000 1
6 6 5 0.000000 0.000000 1
7 7 4 1.000000 1.000000 1
8 8 7 0.000000 0.000000 1
9 1 2 1.414214 0.000000 2
10 2 4 0.000000 1.414214 2
11 3 1 -1.414214 0.000000 2
12 4 7 0.000000 0.000000 2
13 5 8 0.000000 0.000000 2
14 6 5 0.000000 0.000000 2
15 7 3 0.000000 -1.414214 2
16 8 6 0.000000 0.000000 2
Data are stored in coded form using these coding formulas ...
x1 ~ x1.as.is
x2 ~ x2.as.is
Contoh pemodelan:
# contoh respon simulasi
ccd$ Y <- with (ccd, 95 + 2 * x1 + 1.5 * x2 - 2 * x1^ 2 - 2.5 * x2^ 2 + rnorm (nrow (ccd)))
model_rsm <- rsm (Y ~ SO (x1, x2), data= ccd)
summary (model_rsm)
Call:
rsm(formula = Y ~ SO(x1, x2), data = ccd)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 95.15071 0.30619 310.7610 < 2.2e-16 ***
x1 1.65814 0.30619 5.4155 0.0002949 ***
x2 0.85372 0.30619 2.7882 0.0191777 *
x1:x2 -0.14265 0.43301 -0.3294 0.7486252
x1^2 -1.74440 0.30619 -5.6972 0.0001991 ***
x2^2 -2.55082 0.30619 -8.3309 8.242e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Multiple R-squared: 0.9329, Adjusted R-squared: 0.8994
F-statistic: 27.81 on 5 and 10 DF, p-value: 1.462e-05
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
FO(x1, x2) 2 27.826 13.913 18.5507 0.0004314
TWI(x1, x2) 1 0.081 0.081 0.1085 0.7486252
PQ(x1, x2) 2 76.397 38.198 50.9312 5.709e-06
Residuals 10 7.500 0.750
Lack of fit 3 2.611 0.870 1.2458 0.3633508
Pure error 7 4.889 0.698
Stationary point of response surface:
x1 x2
0.4689678 0.1542295
Stationary point in original units:
x1.as.is x2.as.is
0.4689678 0.1542295
Eigenanalysis:
eigen() decomposition
$values
[1] -1.738142 -2.557075
$vectors
[,1] [,2]
x1 -0.99617078 0.08742874
x2 0.08742874 0.99617078
Visualisasi Permukaan Respon
persp (model_rsm, ~ x1 + x2)
contour (model_rsm, ~ x1 + x2)
Box-Behnken Design
Box-Behnken digunakan sebagai alternatif CCD dengan jumlah run yang lebih sedikit.
library (rsm)
bbd <- rsm:: bbd (
~ x1 + x2 + x3,
n0 = 3
)
bbd
run.order std.order x1.as.is x2.as.is x3.as.is
1 1 3 -1 1 0
2 2 7 -1 0 1
3 3 13 0 0 0
4 4 11 0 -1 1
5 5 1 -1 -1 0
6 6 2 1 -1 0
7 7 14 0 0 0
8 8 8 1 0 1
9 9 4 1 1 0
10 10 9 0 -1 -1
11 11 12 0 1 1
12 12 10 0 1 -1
13 13 6 1 0 -1
14 14 15 0 0 0
15 15 5 -1 0 -1
Data are stored in coded form using these coding formulas ...
x1 ~ x1.as.is
x2 ~ x2.as.is
x3 ~ x3.as.is
4. Mixture Experiment
Digunakan ketika faktor berupa proporsi dan memenuhi kendala:
\[
x_1 + x_2 + \dots + x_q
= 1 \]
Contoh: formulasi campuran pelarut.
Simplex Lattice Design {3,2}
library (mixexp)
SLD <- SLD (3 ,2 )
SLD
x1 x2 x3
1 1.0 0.0 0.0
2 0.5 0.5 0.0
3 0.0 1.0 0.0
4 0.5 0.0 0.5
5 0.0 0.5 0.5
6 0.0 0.0 1.0