Bagian ini menyajikan model pengukuran final (CFA) untuk ketiga konstruk: PEB (Bifaktor), OL (Second-Order), dan CCS (Bifaktor).

4.1 CFA PEB — Model Bifaktor

Model bifaktor: satu faktor umum (PEB) menjelaskan semua item, ditambah satu faktor spesifik (Factor2) untuk item PEB Privat. Faktor umum dan spesifik bersifat ortogonal.

Referensi: Brown, T. A. (2015). Confirmatory Factor Analysis for Applied Research (2nd ed.).

4.1.1 Spesifikasi & Estimasi

Kode
model_peb <- "
PEB     =~ P3 + P4 + P7 + P8 + P10 + P11 + P12 + P13 + P14 + P15 + P16 + P17 + P18 + P19
Factor2 =~ P3 + P4 + P7 + P8 + P10
P18 ~~ P19
"
fit_peb <- cfa(model_peb, data = data, estimator = "mlr",
               orthogonal = TRUE, std.lv = TRUE)
summary(fit_peb, fit.measures = TRUE, standardized = TRUE)
lavaan 0.6-21 ended normally after 25 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        34

  Number of observations                           538

Model Test User Model:
                                              Standard      Scaled
  Test Statistic                               281.854     225.397
  Degrees of freedom                                71          71
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.250
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              3620.037    2801.678
  Degrees of freedom                                91          91
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.292

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.940       0.943
  Tucker-Lewis Index (TLI)                       0.923       0.927
                                                                  
  Robust Comparative Fit Index (CFI)                         0.945
  Robust Tucker-Lewis Index (TLI)                            0.929

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -9219.578   -9219.578
  Scaling correction factor                                  1.163
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)      -9078.651   -9078.651
  Scaling correction factor                                  1.222
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               18507.156   18507.156
  Bayesian (BIC)                             18652.943   18652.943
  Sample-size adjusted Bayesian (SABIC)      18545.015   18545.015

Root Mean Square Error of Approximation:

  RMSEA                                          0.074       0.064
  90 Percent confidence interval - lower         0.065       0.055
  90 Percent confidence interval - upper         0.083       0.072
  P-value H_0: RMSEA <= 0.050                    0.000       0.004
  P-value H_0: RMSEA >= 0.080                    0.157       0.001
                                                                  
  Robust RMSEA                                               0.071
  90 Percent confidence interval - lower                     0.061
  90 Percent confidence interval - upper                     0.082
  P-value H_0: Robust RMSEA <= 0.050                         0.001
  P-value H_0: Robust RMSEA >= 0.080                         0.083

Standardized Root Mean Square Residual:

  SRMR                                           0.048       0.048

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  PEB =~                                                                
    P3                0.487    0.055    8.848    0.000    0.487    0.411
    P4                0.272    0.049    5.570    0.000    0.272    0.274
    P7                0.401    0.059    6.769    0.000    0.401    0.342
    P8                0.457    0.048    9.586    0.000    0.457    0.446
    P10               0.433    0.047    9.274    0.000    0.433    0.411
    P11               0.583    0.040   14.738    0.000    0.583    0.650
    P12               0.609    0.034   18.103    0.000    0.609    0.715
    P13               0.654    0.033   19.944    0.000    0.654    0.740
    P14               0.639    0.032   19.863    0.000    0.639    0.745
    P15               0.621    0.031   20.282    0.000    0.621    0.727
    P16               0.939    0.040   23.432    0.000    0.939    0.787
    P17               0.682    0.038   17.848    0.000    0.682    0.705
    P18               0.910    0.050   18.263    0.000    0.910    0.710
    P19               0.968    0.047   20.784    0.000    0.968    0.728
  Factor2 =~                                                            
    P3                0.696    0.063   11.127    0.000    0.696    0.587
    P4                0.538    0.057    9.418    0.000    0.538    0.541
    P7                0.671    0.064   10.454    0.000    0.671    0.572
    P8                0.536    0.055    9.728    0.000    0.536    0.523
    P10               0.321    0.060    5.361    0.000    0.321    0.305

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .P18 ~~                                                                
   .P19               0.458    0.057    7.986    0.000    0.458    0.556
  PEB ~~                                                                
    Factor2           0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .P3                0.684    0.071    9.665    0.000    0.684    0.486
   .P4                0.623    0.058   10.767    0.000    0.623    0.632
   .P7                0.766    0.074   10.343    0.000    0.766    0.556
   .P8                0.554    0.054   10.259    0.000    0.554    0.527
   .P10               0.818    0.067   12.226    0.000    0.818    0.738
   .P11               0.467    0.040   11.698    0.000    0.467    0.578
   .P12               0.354    0.033   10.590    0.000    0.354    0.489
   .P13               0.354    0.030   12.004    0.000    0.354    0.453
   .P14               0.326    0.027   12.110    0.000    0.326    0.444
   .P15               0.344    0.025   13.940    0.000    0.344    0.471
   .P16               0.542    0.050   10.771    0.000    0.542    0.380
   .P17               0.472    0.037   12.662    0.000    0.472    0.503
   .P18               0.817    0.058   14.130    0.000    0.817    0.497
   .P19               0.830    0.066   12.546    0.000    0.830    0.470
    PEB               1.000                               1.000    1.000
    Factor2           1.000                               1.000    1.000

4.1.2 Path Diagram PEB

Kode
semPaths(fit_peb, title = FALSE, whatLabels = "std.all", edge.label.cex = 0.6,
         color = "white", edge.color = "black", sizeMan = 3.5, sizeLat = 8,
         layout = "tree2", rotation = 2, bifactor = "PEB",
         style = "lisrel", curve = 2.5, asize = 2, residuals = FALSE, mar = c(3,5,3,5))
title("CFA Model PEB (Bifactor)", cex.main = 1.0, font.main = 2, adj = 0)
fit_idx <- fitMeasures(fit_peb, c("chisq.scaled","cfi.robust","tli.robust","rmsea.robust","srmr"))
op <- par(family = "mono")
legend("bottomright", inset = c(0.1, 0.15), legend = c(
    "Fit Indices:", sprintf("Chi-Square: %.2f", fit_idx["chisq.scaled"]),
    sprintf("CFI: %.3f", fit_idx["cfi.robust"]), sprintf("TLI: %.3f", fit_idx["tli.robust"]),
    sprintf("RMSEA: %.3f", fit_idx["rmsea.robust"]), sprintf("SRMR: %.3f", fit_idx["srmr"])
), bty = "n", cex = 0.8); par(op)

4.1.3 Reliabilitas PEB

Kode
cat("Cronbach's Alpha:\n"); compRelSEM(fit_peb, return.total = TRUE, tau.eq = TRUE)
Cronbach's Alpha:
    PEB Factor2   total 
  0.893   0.765   0.893 
Kode
cat("\nMcDonald's Omega:\n"); compRelSEM(fit_peb, return.total = TRUE, tau.eq = FALSE)

McDonald's Omega:
    PEB Factor2   total 
  0.828   0.500   0.913 
Kode
cat("\nAVE:\n"); AVE(fit_peb)

AVE:
    PEB Factor2 
     NA      NA 

4.2 CFA OL — Model Second-Order

Model second-order: faktor orde pertama (Behavior, Afektif, Kognitif) dan faktor orde kedua (OL) menjelaskan korelasi di antara ketiganya.

4.2.1 Spesifikasi & Estimasi

Kode
model_ol <- "
Behavior =~ O1 + O2 + O3 + O4 + O5
Afektif  =~ O6 + O7 + O8 + O9 + O10
Kognitif =~ O11 + O12 + O13 + O14 + O15
OL       =~ Behavior + Afektif + Kognitif
"
fit_ol <- cfa(model_ol, data = data, estimator = "mlr", orthogonal = FALSE, std.lv = TRUE)
summary(fit_ol, fit.measures = TRUE, standardized = TRUE)
lavaan 0.6-21 ended normally after 78 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        33

  Number of observations                           538

Model Test User Model:
                                              Standard      Scaled
  Test Statistic                               328.072     203.958
  Degrees of freedom                                87          87
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.609
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              5260.087    3224.146
  Degrees of freedom                               105         105
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.631

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.953       0.963
  Tucker-Lewis Index (TLI)                       0.944       0.955
                                                                  
  Robust Comparative Fit Index (CFI)                         0.963
  Robust Tucker-Lewis Index (TLI)                            0.955

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -7428.236   -7428.236
  Scaling correction factor                                  1.308
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)      -7264.200   -7264.200
  Scaling correction factor                                  1.526
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               14922.472   14922.472
  Bayesian (BIC)                             15063.972   15063.972
  Sample-size adjusted Bayesian (SABIC)      14959.218   14959.218

Root Mean Square Error of Approximation:

  RMSEA                                          0.072       0.050
  90 Percent confidence interval - lower         0.064       0.043
  90 Percent confidence interval - upper         0.080       0.057
  P-value H_0: RMSEA <= 0.050                    0.000       0.490
  P-value H_0: RMSEA >= 0.080                    0.052       0.000
                                                                  
  Robust RMSEA                                               0.063
  90 Percent confidence interval - lower                     0.052
  90 Percent confidence interval - upper                     0.075
  P-value H_0: Robust RMSEA <= 0.050                         0.026
  P-value H_0: Robust RMSEA >= 0.080                         0.007

Standardized Root Mean Square Residual:

  SRMR                                           0.033       0.033

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  Behavior =~                                                           
    O1                0.214    0.032    6.598    0.000    0.626    0.756
    O2                0.205    0.032    6.354    0.000    0.599    0.728
    O3                0.226    0.032    7.161    0.000    0.660    0.768
    O4                0.208    0.029    7.118    0.000    0.609    0.698
    O5                0.229    0.030    7.577    0.000    0.669    0.824
  Afektif =~                                                            
    O6                0.233    0.031    7.585    0.000    0.610    0.758
    O7                0.250    0.034    7.421    0.000    0.656    0.794
    O8                0.243    0.032    7.706    0.000    0.638    0.744
    O9                0.246    0.034    7.336    0.000    0.645    0.809
    O10               0.234    0.031    7.502    0.000    0.613    0.738
  Kognitif =~                                                           
    O11               0.157    0.040    3.938    0.000    0.638    0.780
    O12               0.160    0.041    3.944    0.000    0.649    0.776
    O13               0.150    0.038    3.965    0.000    0.608    0.754
    O14               0.162    0.040    4.002    0.000    0.656    0.788
    O15               0.147    0.037    3.925    0.000    0.596    0.772
  OL =~                                                                 
    Behavior          2.744    0.424    6.472    0.000    0.940    0.940
    Afektif           2.424    0.369    6.560    0.000    0.924    0.924
    Kognitif          3.927    1.057    3.715    0.000    0.969    0.969

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .O1                0.295    0.041    7.140    0.000    0.295    0.429
   .O2                0.317    0.039    8.181    0.000    0.317    0.469
   .O3                0.302    0.025   11.859    0.000    0.302    0.410
   .O4                0.390    0.032   12.099    0.000    0.390    0.513
   .O5                0.212    0.018   11.822    0.000    0.212    0.322
   .O6                0.274    0.022   12.343    0.000    0.274    0.425
   .O7                0.252    0.024   10.541    0.000    0.252    0.369
   .O8                0.329    0.027   12.174    0.000    0.329    0.447
   .O9                0.219    0.021   10.627    0.000    0.219    0.345
   .O10               0.314    0.026   12.093    0.000    0.314    0.456
   .O11               0.262    0.023   11.485    0.000    0.262    0.392
   .O12               0.279    0.023   12.110    0.000    0.279    0.399
   .O13               0.281    0.024   11.463    0.000    0.281    0.432
   .O14               0.263    0.024   11.034    0.000    0.263    0.379
   .O15               0.241    0.021   11.690    0.000    0.241    0.404
   .Behavior          1.000                               0.117    0.117
   .Afektif           1.000                               0.145    0.145
   .Kognitif          1.000                               0.061    0.061
    OL                1.000                               1.000    1.000

4.2.2 Path Diagram OL

Kode
semPaths(fit_ol, title = FALSE, whatLabels = "std.all", edge.label.cex = 0.6,
         color = "white", edge.color = "black", sizeMan = 3.5, sizeLat = 8,
         layout = "tree2", rotation = 2, style = "lisrel",
         curve = 2.5, asize = 2, residuals = FALSE, mar = c(3,5,3,5))
title("CFA Model OL (Second-Order)", cex.main = 1.0, font.main = 2, adj = 0)
fit_idx <- fitMeasures(fit_ol, c("chisq.scaled","cfi.robust","tli.robust","rmsea.robust","srmr"))
op <- par(family = "mono")
legend("bottomleft", inset = c(0.1, 0.15), legend = c(
    "Fit Indices:", sprintf("Chi-Square: %.2f", fit_idx["chisq.scaled"]),
    sprintf("CFI: %.3f", fit_idx["cfi.robust"]), sprintf("TLI: %.3f", fit_idx["tli.robust"]),
    sprintf("RMSEA: %.3f", fit_idx["rmsea.robust"]), sprintf("SRMR: %.3f", fit_idx["srmr"])
), bty = "n", cex = 0.8); par(op)

4.2.3 Reliabilitas OL

Kode
cat("Cronbach's Alpha:\n"); compRelSEM(fit_ol, return.total = TRUE, tau.eq = TRUE)
Cronbach's Alpha:
Behavior  Afektif Kognitif    total 
   0.869    0.877    0.882    0.946 
Kode
cat("\nMcDonald's Omega:\n"); compRelSEM(fit_ol, return.total = TRUE, tau.eq = FALSE)

McDonald's Omega:
Behavior  Afektif Kognitif    total 
   0.865    0.880    0.882    0.951 
Kode
cat("\nAVE:\n"); AVE(fit_ol)

AVE:
Behavior  Afektif Kognitif 
   0.569    0.590    0.599 

4.3 CFA CCS — Model Bifaktor

Model bifaktor CCS: general factor (GCCS) + specific factor (SCCS).

4.3.1 Spesifikasi & Estimasi

Kode
model_ccs <- "
GCCS =~ C2 + C3 + C4 + C5 + C6 + C7 + C8 + C9 + C10 + C11 + C12
SCCS =~ C3 + C7 + C6 + C12
"
fit_ccs <- cfa(model_ccs, data = data, estimator = "mlr", orthogonal = TRUE, std.lv = TRUE)
summary(fit_ccs, fit.measures = TRUE, standardized = TRUE)
lavaan 0.6-21 ended normally after 20 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        26

  Number of observations                           538

Model Test User Model:
                                              Standard      Scaled
  Test Statistic                               139.040     105.200
  Degrees of freedom                                40          40
  P-value (Chi-square)                           0.000       0.000
  Scaling correction factor                                  1.322
    Yuan-Bentler correction (Mplus variant)                       

Model Test Baseline Model:

  Test statistic                              2631.350    1681.995
  Degrees of freedom                                55          55
  P-value                                        0.000       0.000
  Scaling correction factor                                  1.564

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.962       0.960
  Tucker-Lewis Index (TLI)                       0.947       0.945
                                                                  
  Robust Comparative Fit Index (CFI)                         0.966
  Robust Tucker-Lewis Index (TLI)                            0.953

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -9148.050   -9148.050
  Scaling correction factor                                  1.642
      for the MLR correction                                      
  Loglikelihood unrestricted model (H1)      -9078.530   -9078.530
  Scaling correction factor                                  1.448
      for the MLR correction                                      
                                                                  
  Akaike (AIC)                               18348.100   18348.100
  Bayesian (BIC)                             18459.584   18459.584
  Sample-size adjusted Bayesian (SABIC)      18377.051   18377.051

Root Mean Square Error of Approximation:

  RMSEA                                          0.068       0.055
  90 Percent confidence interval - lower         0.056       0.044
  90 Percent confidence interval - upper         0.080       0.066
  P-value H_0: RMSEA <= 0.050                    0.008       0.217
  P-value H_0: RMSEA >= 0.080                    0.055       0.000
                                                                  
  Robust RMSEA                                               0.063
  90 Percent confidence interval - lower                     0.049
  90 Percent confidence interval - upper                     0.078
  P-value H_0: Robust RMSEA <= 0.050                         0.066
  P-value H_0: Robust RMSEA >= 0.080                         0.032

Standardized Root Mean Square Residual:

  SRMR                                           0.037       0.037

Parameter Estimates:

  Standard errors                             Sandwich
  Information bread                           Observed
  Observed information based on                Hessian

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  GCCS =~                                                               
    C2                0.607    0.074    8.238    0.000    0.607    0.379
    C3                0.532    0.055    9.602    0.000    0.532    0.425
    C4                1.149    0.055   20.867    0.000    1.149    0.799
    C5                0.994    0.060   16.447    0.000    0.994    0.636
    C6                0.581    0.057   10.217    0.000    0.581    0.457
    C7                0.370    0.059    6.287    0.000    0.370    0.323
    C8                1.218    0.057   21.342    0.000    1.218    0.815
    C9                1.130    0.059   19.240    0.000    1.130    0.711
    C10               1.163    0.060   19.247    0.000    1.163    0.753
    C11               1.177    0.065   18.005    0.000    1.177    0.761
    C12               0.665    0.049   13.566    0.000    0.665    0.605
  SCCS =~                                                               
    C3                0.728    0.060   12.203    0.000    0.728    0.581
    C7                0.630    0.055   11.395    0.000    0.630    0.551
    C6                0.627    0.070    8.988    0.000    0.627    0.494
    C12               0.638    0.054   11.771    0.000    0.638    0.581

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  GCCS ~~                                                               
    SCCS              0.000                               0.000    0.000

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .C2                2.205    0.133   16.602    0.000    2.205    0.857
   .C3                0.757    0.107    7.068    0.000    0.757    0.482
   .C4                0.747    0.075    9.987    0.000    0.747    0.362
   .C5                1.451    0.133   10.885    0.000    1.451    0.595
   .C6                0.882    0.110    7.990    0.000    0.882    0.547
   .C7                0.775    0.070   11.057    0.000    0.775    0.592
   .C8                0.748    0.078    9.595    0.000    0.748    0.335
   .C9                1.250    0.159    7.846    0.000    1.250    0.495
   .C10               1.036    0.146    7.091    0.000    1.036    0.433
   .C11               1.005    0.167    6.029    0.000    1.005    0.420
   .C12               0.358    0.048    7.540    0.000    0.358    0.297
    GCCS              1.000                               1.000    1.000
    SCCS              1.000                               1.000    1.000

4.3.2 Path Diagram CCS

Kode
semPaths(fit_ccs, title = FALSE, whatLabels = "std.all", edge.label.cex = 0.6,
         color = "white", edge.color = "black", sizeMan = 3.5, sizeLat = 8,
         layout = "tree2", rotation = 2, bifactor = "GCCS",
         style = "lisrel", curve = 2.5, asize = 2, residuals = FALSE, mar = c(3,5,3,5))
title("CFA Model CCS (Bifactor)", cex.main = 1.0, font.main = 2, adj = 0)
fit_idx <- fitMeasures(fit_ccs, c("chisq.scaled","cfi.robust","tli.robust","rmsea.robust","srmr"))
op <- par(family = "mono", xpd = NA)
legend("bottomright", inset = c(0.1, 0.1), legend = c(
    "Fit Indices:", sprintf("Chi-Square: %.2f", fit_idx["chisq.scaled"]),
    sprintf("CFI: %.3f", fit_idx["cfi.robust"]), sprintf("TLI: %.3f", fit_idx["tli.robust"]),
    sprintf("RMSEA: %.3f", fit_idx["rmsea.robust"]), sprintf("SRMR: %.3f", fit_idx["srmr"])
), bty = "n", cex = 0.8); par(op)

4.3.3 Reliabilitas CCS

Kode
cat("Cronbach's Alpha:\n"); compRelSEM(fit_ccs, return.total = TRUE, tau.eq = TRUE)
Cronbach's Alpha:
 GCCS  SCCS total 
0.879 0.802 0.879 
Kode
cat("\nMcDonald's Omega:\n"); compRelSEM(fit_ccs, return.total = TRUE, tau.eq = FALSE)

McDonald's Omega:
 GCCS  SCCS total 
0.828 0.482 0.890 
Kode
cat("\nAVE:\n"); AVE(fit_ccs)

AVE:
GCCS SCCS 
  NA   NA