Perbaikan dari versi sebelumnya: 1. Indikator bermasalah (loading < 0.50) di-drop sebelum SEM 2. Ditambahkan HTMT untuk validitas diskriminan 3. Bootstrap dinaikkan dari 200x → 1000x untuk BCa CI yang stabil 4. Fit indices menggunakan Robust (dari MLR) sebagai acuan utama 5. Interpretasi path coefficient negatif yang tidak masuk akal ditandai
pkgs <- c("lavaan", "semTools", "semPlot", "tidyverse",
"psych", "corrplot", "kableExtra")
for (p in pkgs) {
if (!requireNamespace(p, quietly = TRUE)) install.packages(p)
}
suppressPackageStartupMessages({
library(lavaan); library(semTools); library(semPlot)
library(tidyverse); library(psych); library(corrplot)
library(kableExtra)
})
cat("✓ Semua package berhasil dimuat\n")✓ Semua package berhasil dimuat
lavaan versi: 0.6.21
# ── Sesuaikan path CSV dengan lokasi file kamu ──────────────────────────────
CSV_PATH <- "data/Data_SEM_Inggris.csv"
# Jika file ada di folder yang sama dengan Rmd, ganti menjadi:
# CSV_PATH <- "Data_SEM_Inggris.csv"
# ────────────────────────────────────────────────────────────────────────────
if (!file.exists(CSV_PATH)) {
stop(paste("File tidak ditemukan:", CSV_PATH,
"\nCek working directory dengan getwd()"))
}
data_raw <- read.csv(CSV_PATH,
stringsAsFactors = FALSE,
na.strings = c("", "NA", "N/A"))
cat("✓ Data dimuat:", nrow(data_raw), "baris ×", ncol(data_raw), "kolom\n")✓ Data dimuat: 276 baris × 233 kolom
Strategi parceling: 3 indikator variance tertinggi per konstruk (Little et al., 2002). Valid secara metodologi untuk model dengan banyak konstruk dan sampel sedang (n = 276).
⚠️ PERBAIKAN: Indikator I5A6 (Compliance, loading = 0.44) dan I13A10 (MarketPerf, loading = 0.44) di-drop karena di bawah threshold 0.50 pada versi sebelumnya.
# Definisi indikator per konstruk
# I5A6 dan I13A10 telah di-drop (loading < 0.50 di CFA awal)
cols_def <- list(
Importance = c("I2A13", "I2A8", "I2A12"), # Pentingnya Standar
Quality = c("I3A2", "I3A3", "I3A4"), # Peningkatan Kualitas
Efficiency = c("I4A1", "I4A4", "I4A2"), # Efisiensi Operasional
Compliance = c("I5A2", "I5A4"), # Kepatuhan (I5A6 DROP)
CustSat = c("I6A4", "I6A3", "I6A2"), # Kepuasan Pelanggan
RiskMgt = c("I7A4", "I7A3", "I7A7"), # Manajemen Risiko
Supplier = c("I8A5", "I8A4", "I8A1"), # Manajemen Pemasok
Employee = c("I9A1", "I9A4", "I9A2"), # Keterlibatan Karyawan
Cost = c("I10A1", "I10A4", "I10A2"), # Cost Effectiveness
Innovation = c("I11A8", "I11A5", "I11A7"), # Inovasi
StdImpl = c("I12A7", "I12A6", "I12A9"), # Implementasi Standar
MarketPerf = c("I13A9", "I13A3"), # Market Perf (I13A10 DROP)
FinancialPerf = c("I14A7", "I14A1", "I14A4"), # Financial Performance
EffPerf = c("I15A5", "I15A6", "I15A4"), # Efficiency Performance
QualComp = c("I16A10","I16A3", "I16A5"), # Quality Competition
GovProgram = c("I17A4", "I17A1", "I17A3") # Government Program
)
# Tampilkan ringkasan
tbl_cols <- tibble(
Konstruk = names(cols_def),
Indikator = sapply(cols_def, paste, collapse = ", "),
N_item = sapply(cols_def, length)
)
kable(tbl_cols, caption = "Indikator Final per Konstruk") %>%
kable_styling(bootstrap_options = c("striped","hover"), full_width = FALSE)| Konstruk | Indikator | N_item |
|---|---|---|
| Importance | I2A13, I2A8, I2A12 | 3 |
| Quality | I3A2, I3A3, I3A4 | 3 |
| Efficiency | I4A1, I4A4, I4A2 | 3 |
| Compliance | I5A2, I5A4 | 2 |
| CustSat | I6A4, I6A3, I6A2 | 3 |
| RiskMgt | I7A4, I7A3, I7A7 | 3 |
| Supplier | I8A5, I8A4, I8A1 | 3 |
| Employee | I9A1, I9A4, I9A2 | 3 |
| Cost | I10A1, I10A4, I10A2 | 3 |
| Innovation | I11A8, I11A5, I11A7 | 3 |
| StdImpl | I12A7, I12A6, I12A9 | 3 |
| MarketPerf | I13A9, I13A3 | 2 |
| FinancialPerf | I14A7, I14A1, I14A4 | 3 |
| EffPerf | I15A5, I15A6, I15A4 | 3 |
| QualComp | I16A10, I16A3, I16A5 | 3 |
| GovProgram | I17A4, I17A1, I17A3 | 3 |
all_cols <- unique(unlist(cols_def))
df <- data_raw[, all_cols, drop = FALSE]
df[] <- lapply(df, function(x) suppressWarnings(as.numeric(as.character(x))))
# Hapus baris dengan >30% missing
n_awal <- nrow(df)
df_clean <- df[rowMeans(is.na(df)) <= 0.30, ]
# Imputasi median untuk missing yang tersisa
df_imp <- df_clean
for (col in names(df_imp)) {
med <- median(df_imp[[col]], na.rm = TRUE)
if (!is.na(med)) df_imp[[col]][is.na(df_imp[[col]])] <- med
}
cat(sprintf("Baris awal : %d\n", n_awal))Baris awal : 276
Setelah clean : 276
Missing tersisa: 0
Total indikator: 46
desc <- psych::describe(df_imp)[, c("n","mean","sd","median","min","max","skew","kurtosis")]
kable(round(desc, 3), caption = "Statistik Deskriptif Semua Indikator") %>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),
full_width = FALSE, font_size = 11) %>%
scroll_box(height = "350px")| n | mean | sd | median | min | max | skew | kurtosis | |
|---|---|---|---|---|---|---|---|---|
| I2A13 | 276 | 6.072 | 1.049 | 6 | 1 | 7 | -1.312 | 2.052 |
| I2A8 | 276 | 6.051 | 1.019 | 6 | 2 | 7 | -1.109 | 0.956 |
| I2A12 | 276 | 6.127 | 0.939 | 6 | 1 | 7 | -1.276 | 2.586 |
| I3A2 | 276 | 6.029 | 0.983 | 6 | 2 | 7 | -1.110 | 1.416 |
| I3A3 | 276 | 6.091 | 0.920 | 6 | 3 | 7 | -0.905 | 0.308 |
| I3A4 | 276 | 6.098 | 0.915 | 6 | 1 | 7 | -1.214 | 2.743 |
| I4A1 | 276 | 5.975 | 1.063 | 6 | 1 | 7 | -1.307 | 2.144 |
| I4A4 | 276 | 6.043 | 0.968 | 6 | 1 | 7 | -1.166 | 2.182 |
| I4A2 | 276 | 5.971 | 0.949 | 6 | 3 | 7 | -0.731 | -0.113 |
| I5A2 | 276 | 6.109 | 0.871 | 6 | 3 | 7 | -0.835 | 0.392 |
| I5A4 | 276 | 6.130 | 0.868 | 6 | 3 | 7 | -0.917 | 0.451 |
| I6A4 | 276 | 6.022 | 0.930 | 6 | 3 | 7 | -0.800 | 0.084 |
| I6A3 | 276 | 6.047 | 0.927 | 6 | 3 | 7 | -0.829 | 0.139 |
| I6A2 | 276 | 6.087 | 0.844 | 6 | 3 | 7 | -0.743 | 0.369 |
| I7A4 | 276 | 6.000 | 0.950 | 6 | 3 | 7 | -0.787 | -0.024 |
| I7A3 | 276 | 6.101 | 0.921 | 6 | 3 | 7 | -0.925 | 0.339 |
| I7A7 | 276 | 6.051 | 0.909 | 6 | 3 | 7 | -0.794 | 0.150 |
| I8A5 | 276 | 6.062 | 0.914 | 6 | 3 | 7 | -0.889 | 0.461 |
| I8A4 | 276 | 6.112 | 0.910 | 6 | 1 | 7 | -1.175 | 2.841 |
| I8A1 | 276 | 6.105 | 0.882 | 6 | 4 | 7 | -0.743 | -0.211 |
| I9A1 | 276 | 5.978 | 0.976 | 6 | 3 | 7 | -0.752 | -0.105 |
| I9A4 | 276 | 6.004 | 0.868 | 6 | 3 | 7 | -0.573 | -0.209 |
| I9A2 | 276 | 6.054 | 0.857 | 6 | 4 | 7 | -0.621 | -0.299 |
| I10A1 | 276 | 5.808 | 1.126 | 6 | 3 | 7 | -0.731 | -0.297 |
| I10A4 | 276 | 5.942 | 1.064 | 6 | 2 | 7 | -1.005 | 0.569 |
| I10A2 | 276 | 5.899 | 1.022 | 6 | 3 | 7 | -0.673 | -0.409 |
| I11A8 | 276 | 6.014 | 1.044 | 6 | 1 | 7 | -1.212 | 2.000 |
| I11A5 | 276 | 6.014 | 1.020 | 6 | 2 | 7 | -1.115 | 1.117 |
| I11A7 | 276 | 6.014 | 0.980 | 6 | 3 | 7 | -0.930 | 0.405 |
| I12A7 | 276 | 4.522 | 2.051 | 5 | 1 | 7 | -0.384 | -1.132 |
| I12A6 | 276 | 4.743 | 2.006 | 5 | 1 | 7 | -0.554 | -0.992 |
| I12A9 | 276 | 4.696 | 1.986 | 5 | 1 | 7 | -0.538 | -0.930 |
| I13A9 | 276 | 5.819 | 1.133 | 6 | 1 | 7 | -1.676 | 4.173 |
| I13A3 | 276 | 5.844 | 1.076 | 6 | 2 | 7 | -1.295 | 2.130 |
| I14A7 | 276 | 5.732 | 1.122 | 6 | 2 | 7 | -0.832 | 0.127 |
| I14A1 | 276 | 5.920 | 1.013 | 6 | 2 | 7 | -0.845 | 0.481 |
| I14A4 | 276 | 5.888 | 0.997 | 6 | 2 | 7 | -1.046 | 1.335 |
| I15A5 | 276 | 5.681 | 1.154 | 6 | 1 | 7 | -1.357 | 2.693 |
| I15A6 | 276 | 5.656 | 1.138 | 6 | 1 | 7 | -0.850 | 0.738 |
| I15A4 | 276 | 5.638 | 1.112 | 6 | 1 | 7 | -0.885 | 0.905 |
| I16A10 | 276 | 5.837 | 1.078 | 6 | 1 | 7 | -1.617 | 4.162 |
| I16A3 | 276 | 5.808 | 1.028 | 6 | 2 | 7 | -0.711 | 0.072 |
| I16A5 | 276 | 5.931 | 1.016 | 6 | 1 | 7 | -1.419 | 3.074 |
| I17A4 | 276 | 5.522 | 1.266 | 6 | 1 | 7 | -1.055 | 1.045 |
| I17A1 | 276 | 5.275 | 1.229 | 5 | 1 | 7 | -0.720 | 0.708 |
| I17A3 | 276 | 5.471 | 1.243 | 6 | 1 | 7 | -0.829 | 0.302 |
Catatan interpretasi:
calc_alpha <- function(data, cols, nama) {
ok <- cols[cols %in% names(data)]
if (length(ok) < 2) {
return(data.frame(Konstruk = nama, Alpha = NA, N_item = length(ok),
Status = "⚠️ Perlu ≥2 indikator"))
}
a <- tryCatch(
psych::alpha(data[, ok, drop = FALSE], check.keys = TRUE, warnings = FALSE),
error = function(e) NULL
)
if (is.null(a)) return(data.frame(Konstruk = nama, Alpha = NA,
N_item = length(ok), Status = "Error"))
data.frame(
Konstruk = nama,
Alpha = round(a$total$raw_alpha, 3),
N_item = length(ok),
Status = ifelse(a$total$raw_alpha >= 0.70, "Reliabel ✓", "Perlu Review ✗")
)
}
alpha_tbl <- bind_rows(lapply(names(cols_def), function(k)
calc_alpha(df_imp, cols_def[[k]], k)))
kable(alpha_tbl, caption = "Cronbach Alpha per Konstruk (Threshold α ≥ 0.70)") %>%
kable_styling(bootstrap_options = c("striped","hover"), full_width = FALSE) %>%
row_spec(which(alpha_tbl$Status == "Perlu Review ✗"), background = "#ffe0e0")| Konstruk | Alpha | N_item | Status |
|---|---|---|---|
| Importance | 0.739 | 3 | Reliabel ✓ |
| Quality | 0.797 | 3 | Reliabel ✓ |
| Efficiency | 0.781 | 3 | Reliabel ✓ |
| Compliance | 0.769 | 2 | Reliabel ✓ |
| CustSat | 0.834 | 3 | Reliabel ✓ |
| RiskMgt | 0.830 | 3 | Reliabel ✓ |
| Supplier | 0.777 | 3 | Reliabel ✓ |
| Employee | 0.850 | 3 | Reliabel ✓ |
| Cost | 0.872 | 3 | Reliabel ✓ |
| Innovation | 0.829 | 3 | Reliabel ✓ |
| StdImpl | 0.953 | 3 | Reliabel ✓ |
| MarketPerf | 0.577 | 2 | Perlu Review ✗ |
| FinancialPerf | 0.816 | 3 | Reliabel ✓ |
| EffPerf | 0.851 | 3 | Reliabel ✓ |
| QualComp | 0.712 | 3 | Reliabel ✓ |
| GovProgram | 0.866 | 3 | Reliabel ✓ |
rmeans <- function(data, cols) rowMeans(data[, cols, drop=FALSE], na.rm=TRUE)
df_scores <- as.data.frame(lapply(cols_def, function(c) rmeans(df_imp, c)))
cor_mat <- cor(df_scores, use = "pairwise.complete.obs")
corrplot::corrplot(cor_mat,
method = "color",
type = "upper",
order = "hclust",
addCoef.col = "black",
number.cex = 0.50,
tl.cex = 0.70,
col = colorRampPalette(c("#E84855","white","#2E86AB"))(200),
title = "Korelasi Antar Konstruk (Skor Rata-rata)",
mar = c(0, 0, 2, 0))Perhatikan: Beberapa konstruk berkorelasi sangat tinggi (> 0.80), terutama CustSat–RiskMgt, Compliance–CustSat. Ini akan dikonfirmasi melalui HTMT pada tahap validitas diskriminan.
Estimator MLR (Maximum Likelihood Robust): valid untuk data Likert 7 poin dengan n > 200 (Rhemtulla et al., 2012). Menggunakan Yuan-Bentler correction untuk fit indices.
make_meas <- function(cd) {
paste(mapply(function(k, v) paste0(" ", k, " =~ ", paste(v, collapse = "+")),
names(cd), cd), collapse = "\n")
}
cfa_syntax <- paste0("# MEASUREMENT MODEL\n", make_meas(cols_def))
cat(cfa_syntax)# MEASUREMENT MODEL
Importance =~ I2A13+I2A8+I2A12
Quality =~ I3A2+I3A3+I3A4
Efficiency =~ I4A1+I4A4+I4A2
Compliance =~ I5A2+I5A4
CustSat =~ I6A4+I6A3+I6A2
RiskMgt =~ I7A4+I7A3+I7A7
Supplier =~ I8A5+I8A4+I8A1
Employee =~ I9A1+I9A4+I9A2
Cost =~ I10A1+I10A4+I10A2
Innovation =~ I11A8+I11A5+I11A7
StdImpl =~ I12A7+I12A6+I12A9
MarketPerf =~ I13A9+I13A3
FinancialPerf =~ I14A7+I14A1+I14A4
EffPerf =~ I15A5+I15A6+I15A4
QualComp =~ I16A10+I16A3+I16A5
GovProgram =~ I17A4+I17A1+I17A3
Menjalankan CFA (MLR)...
fit_cfa <- cfa(
model = cfa_syntax,
data = df_imp,
estimator = "MLR",
std.lv = FALSE
)
summary(fit_cfa, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)lavaan 0.6-21 ended normally after 216 iterations
Estimator ML
Optimization method NLMINB
Number of model parameters 212
Number of observations 276
Model Test User Model:
Standard Scaled
Test Statistic 1518.457 1240.823
Degrees of freedom 869 869
P-value (Chi-square) 0.000 0.000
Scaling correction factor 1.224
Yuan-Bentler correction (Mplus variant)
Model Test Baseline Model:
Test statistic 9938.384 7702.056
Degrees of freedom 1035 1035
P-value 0.000 0.000
Scaling correction factor 1.290
User Model versus Baseline Model:
Comparative Fit Index (CFI) 0.927 0.944
Tucker-Lewis Index (TLI) 0.913 0.934
Robust Comparative Fit Index (CFI) 0.947
Robust Tucker-Lewis Index (TLI) 0.937
Loglikelihood and Information Criteria:
Loglikelihood user model (H0) -14377.602 -14377.602
Scaling correction factor 1.600
for the MLR correction
Loglikelihood unrestricted model (H1) -13618.374 -13618.374
Scaling correction factor 1.298
for the MLR correction
Akaike (AIC) 29179.205 29179.205
Bayesian (BIC) 29946.730 29946.730
Sample-size adjusted Bayesian (SABIC) 29274.513 29274.513
Root Mean Square Error of Approximation:
RMSEA 0.052 0.039
90 Percent confidence interval - lower 0.048 0.035
90 Percent confidence interval - upper 0.056 0.044
P-value H_0: RMSEA <= 0.050 0.218 1.000
P-value H_0: RMSEA >= 0.080 0.000 0.000
Robust RMSEA 0.044
90 Percent confidence interval - lower 0.038
90 Percent confidence interval - upper 0.049
P-value H_0: Robust RMSEA <= 0.050 0.976
P-value H_0: Robust RMSEA >= 0.080 0.000
Standardized Root Mean Square Residual:
SRMR 0.044 0.044
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
Importance =~
I2A13 1.000 0.846 0.808
I2A8 0.933 0.078 12.029 0.000 0.790 0.777
I2A12 0.558 0.086 6.458 0.000 0.472 0.504
Quality =~
I3A2 1.000 0.746 0.760
I3A3 0.939 0.075 12.594 0.000 0.700 0.762
I3A4 0.904 0.079 11.404 0.000 0.674 0.738
Efficiency =~
I4A1 1.000 0.784 0.739
I4A4 0.873 0.089 9.784 0.000 0.685 0.709
I4A2 0.929 0.079 11.768 0.000 0.729 0.769
Compliance =~
I5A2 1.000 0.678 0.780
I5A4 1.025 0.070 14.548 0.000 0.695 0.802
CustSat =~
I6A4 1.000 0.752 0.810
I6A3 1.002 0.059 16.874 0.000 0.754 0.814
I6A2 0.841 0.064 13.034 0.000 0.632 0.750
RiskMgt =~
I7A4 1.000 0.724 0.764
I7A3 1.030 0.071 14.450 0.000 0.746 0.811
I7A7 0.988 0.067 14.784 0.000 0.716 0.789
Supplier =~
I8A5 1.000 0.662 0.725
I8A4 1.048 0.087 12.021 0.000 0.693 0.763
I8A1 0.950 0.091 10.391 0.000 0.628 0.714
Employee =~
I9A1 1.000 0.791 0.812
I9A4 0.914 0.057 16.047 0.000 0.723 0.835
I9A2 0.852 0.060 14.289 0.000 0.674 0.787
Cost =~
I10A1 1.000 0.938 0.835
I10A4 0.954 0.051 18.826 0.000 0.895 0.843
I10A2 0.897 0.058 15.537 0.000 0.841 0.825
Innovation =~
I11A8 1.000 0.836 0.802
I11A5 0.937 0.055 16.956 0.000 0.783 0.770
I11A7 0.921 0.062 14.738 0.000 0.770 0.787
StdImpl =~
I12A7 1.000 1.866 0.911
I12A6 1.008 0.038 26.779 0.000 1.881 0.940
I12A9 1.009 0.037 27.251 0.000 1.883 0.950
MarketPerf =~
I13A9 1.000 0.606 0.535
I13A3 1.346 0.199 6.755 0.000 0.815 0.759
FinancialPerf =~
I14A7 1.000 0.853 0.761
I14A1 0.926 0.077 12.028 0.000 0.790 0.781
I14A4 0.920 0.083 11.110 0.000 0.784 0.788
EffPerf =~
I15A5 1.000 0.897 0.779
I15A6 1.106 0.060 18.370 0.000 0.992 0.873
I15A4 0.958 0.093 10.288 0.000 0.860 0.775
QualComp =~
I16A10 1.000 0.635 0.590
I16A3 1.187 0.176 6.746 0.000 0.754 0.734
I16A5 1.116 0.137 8.134 0.000 0.709 0.699
GovProgram =~
I17A4 1.000 1.122 0.888
I17A1 0.822 0.063 13.042 0.000 0.922 0.752
I17A3 0.938 0.053 17.776 0.000 1.052 0.848
Covariances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
Importance ~~
Quality 0.519 0.073 7.102 0.000 0.822 0.822
Efficiency 0.577 0.092 6.252 0.000 0.869 0.869
Compliance 0.408 0.060 6.768 0.000 0.712 0.712
CustSat 0.503 0.068 7.410 0.000 0.790 0.790
RiskMgt 0.483 0.075 6.473 0.000 0.787 0.787
Supplier 0.422 0.065 6.549 0.000 0.755 0.755
Employee 0.457 0.066 6.964 0.000 0.683 0.683
Cost 0.567 0.095 5.970 0.000 0.714 0.714
Innovation 0.555 0.099 5.587 0.000 0.785 0.785
StdImpl 0.033 0.094 0.349 0.727 0.021 0.021
MarketPerf 0.341 0.070 4.875 0.000 0.666 0.666
FinancialPerf 0.471 0.086 5.489 0.000 0.653 0.653
EffPerf 0.402 0.073 5.478 0.000 0.529 0.529
QualComp 0.368 0.070 5.238 0.000 0.685 0.685
GovProgram 0.491 0.095 5.149 0.000 0.517 0.517
Quality ~~
Efficiency 0.504 0.061 8.249 0.000 0.863 0.863
Compliance 0.381 0.057 6.678 0.000 0.754 0.754
CustSat 0.466 0.062 7.550 0.000 0.831 0.831
RiskMgt 0.442 0.059 7.490 0.000 0.819 0.819
Supplier 0.376 0.056 6.688 0.000 0.762 0.762
Employee 0.456 0.056 8.123 0.000 0.773 0.773
Cost 0.519 0.066 7.864 0.000 0.742 0.742
Innovation 0.437 0.057 7.602 0.000 0.701 0.701
StdImpl 0.026 0.085 0.309 0.758 0.019 0.019
MarketPerf 0.351 0.066 5.302 0.000 0.777 0.777
FinancialPerf 0.448 0.072 6.232 0.000 0.705 0.705
EffPerf 0.369 0.066 5.617 0.000 0.551 0.551
QualComp 0.356 0.064 5.548 0.000 0.753 0.753
GovProgram 0.398 0.082 4.868 0.000 0.476 0.476
Efficiency ~~
Compliance 0.433 0.055 7.925 0.000 0.814 0.814
CustSat 0.487 0.057 8.588 0.000 0.826 0.826
RiskMgt 0.478 0.062 7.665 0.000 0.841 0.841
Supplier 0.426 0.054 7.859 0.000 0.821 0.821
Employee 0.505 0.059 8.630 0.000 0.814 0.814
Cost 0.643 0.092 7.011 0.000 0.873 0.873
Innovation 0.562 0.085 6.573 0.000 0.857 0.857
StdImpl 0.058 0.092 0.635 0.525 0.040 0.040
MarketPerf 0.272 0.048 5.654 0.000 0.573 0.573
FinancialPerf 0.458 0.080 5.728 0.000 0.686 0.686
EffPerf 0.433 0.073 5.946 0.000 0.615 0.615
QualComp 0.349 0.053 6.525 0.000 0.701 0.701
GovProgram 0.420 0.076 5.556 0.000 0.478 0.478
Compliance ~~
CustSat 0.468 0.055 8.513 0.000 0.917 0.917
RiskMgt 0.423 0.053 8.005 0.000 0.861 0.861
Supplier 0.376 0.054 6.959 0.000 0.839 0.839
Employee 0.410 0.051 7.984 0.000 0.764 0.764
Cost 0.443 0.054 8.240 0.000 0.696 0.696
Innovation 0.379 0.051 7.472 0.000 0.668 0.668
StdImpl 0.093 0.080 1.162 0.245 0.073 0.073
MarketPerf 0.323 0.052 6.233 0.000 0.786 0.786
FinancialPerf 0.369 0.060 6.131 0.000 0.639 0.639
EffPerf 0.319 0.058 5.537 0.000 0.524 0.524
QualComp 0.296 0.050 5.899 0.000 0.689 0.689
GovProgram 0.300 0.064 4.664 0.000 0.395 0.395
CustSat ~~
RiskMgt 0.517 0.064 8.114 0.000 0.948 0.948
Supplier 0.431 0.058 7.496 0.000 0.867 0.867
Employee 0.513 0.060 8.577 0.000 0.861 0.861
Cost 0.577 0.064 9.046 0.000 0.818 0.818
Innovation 0.510 0.058 8.846 0.000 0.811 0.811
StdImpl 0.158 0.084 1.869 0.062 0.112 0.112
MarketPerf 0.368 0.061 6.059 0.000 0.809 0.809
FinancialPerf 0.454 0.067 6.786 0.000 0.709 0.709
EffPerf 0.414 0.065 6.344 0.000 0.614 0.614
QualComp 0.361 0.057 6.340 0.000 0.757 0.757
GovProgram 0.425 0.075 5.652 0.000 0.504 0.504
RiskMgt ~~
Supplier 0.439 0.058 7.509 0.000 0.916 0.916
Employee 0.490 0.061 8.083 0.000 0.855 0.855
Cost 0.583 0.068 8.594 0.000 0.858 0.858
Innovation 0.488 0.063 7.758 0.000 0.806 0.806
StdImpl 0.111 0.085 1.302 0.193 0.082 0.082
MarketPerf 0.317 0.057 5.594 0.000 0.723 0.723
FinancialPerf 0.467 0.067 6.944 0.000 0.757 0.757
EffPerf 0.413 0.061 6.797 0.000 0.636 0.636
QualComp 0.379 0.058 6.521 0.000 0.824 0.824
GovProgram 0.403 0.073 5.520 0.000 0.496 0.496
Supplier ~~
Employee 0.466 0.057 8.122 0.000 0.889 0.889
Cost 0.478 0.063 7.563 0.000 0.770 0.770
Innovation 0.415 0.057 7.337 0.000 0.751 0.751
StdImpl 0.165 0.075 2.205 0.027 0.133 0.133
MarketPerf 0.299 0.058 5.180 0.000 0.746 0.746
FinancialPerf 0.400 0.067 5.974 0.000 0.709 0.709
EffPerf 0.369 0.061 6.081 0.000 0.621 0.621
QualComp 0.320 0.059 5.472 0.000 0.763 0.763
GovProgram 0.361 0.073 4.964 0.000 0.486 0.486
Employee ~~
Cost 0.623 0.070 8.918 0.000 0.839 0.839
Innovation 0.570 0.057 10.054 0.000 0.861 0.861
StdImpl 0.125 0.090 1.397 0.162 0.085 0.085
MarketPerf 0.339 0.055 6.143 0.000 0.707 0.707
FinancialPerf 0.486 0.069 7.084 0.000 0.720 0.720
EffPerf 0.400 0.061 6.550 0.000 0.563 0.563
QualComp 0.343 0.051 6.787 0.000 0.683 0.683
GovProgram 0.436 0.075 5.847 0.000 0.491 0.491
Cost ~~
Innovation 0.730 0.096 7.642 0.000 0.931 0.931
StdImpl 0.268 0.105 2.540 0.011 0.153 0.153
MarketPerf 0.364 0.056 6.447 0.000 0.641 0.641
FinancialPerf 0.652 0.092 7.062 0.000 0.815 0.815
EffPerf 0.569 0.078 7.324 0.000 0.675 0.675
QualComp 0.444 0.055 8.149 0.000 0.746 0.746
GovProgram 0.541 0.085 6.374 0.000 0.514 0.514
Innovation ~~
StdImpl 0.141 0.088 1.593 0.111 0.090 0.090
MarketPerf 0.300 0.051 5.880 0.000 0.593 0.593
FinancialPerf 0.541 0.085 6.368 0.000 0.759 0.759
EffPerf 0.505 0.073 6.879 0.000 0.673 0.673
QualComp 0.370 0.052 7.162 0.000 0.698 0.698
GovProgram 0.447 0.079 5.646 0.000 0.476 0.476
StdImpl ~~
MarketPerf 0.152 0.080 1.892 0.059 0.134 0.134
FinancialPerf 0.089 0.100 0.883 0.377 0.056 0.056
EffPerf 0.286 0.101 2.820 0.005 0.171 0.171
QualComp 0.121 0.080 1.517 0.129 0.102 0.102
GovProgram 0.595 0.119 4.988 0.000 0.284 0.284
MarketPerf ~~
FinancialPerf 0.454 0.068 6.709 0.000 0.880 0.880
EffPerf 0.437 0.092 4.741 0.000 0.804 0.804
QualComp 0.362 0.087 4.170 0.000 0.941 0.941
GovProgram 0.400 0.092 4.363 0.000 0.589 0.589
FinancialPerf ~~
EffPerf 0.629 0.085 7.390 0.000 0.822 0.822
QualComp 0.506 0.073 6.903 0.000 0.935 0.935
GovProgram 0.588 0.093 6.327 0.000 0.615 0.615
EffPerf ~~
QualComp 0.482 0.090 5.331 0.000 0.846 0.846
GovProgram 0.564 0.078 7.218 0.000 0.560 0.560
QualComp ~~
GovProgram 0.505 0.093 5.406 0.000 0.709 0.709
Variances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.I2A13 0.380 0.058 6.602 0.000 0.380 0.346
.I2A8 0.410 0.064 6.432 0.000 0.410 0.397
.I2A12 0.656 0.080 8.200 0.000 0.656 0.746
.I3A2 0.407 0.078 5.193 0.000 0.407 0.423
.I3A3 0.353 0.055 6.370 0.000 0.353 0.419
.I3A4 0.380 0.067 5.646 0.000 0.380 0.456
.I4A1 0.511 0.079 6.452 0.000 0.511 0.454
.I4A4 0.464 0.101 4.604 0.000 0.464 0.497
.I4A2 0.367 0.056 6.533 0.000 0.367 0.409
.I5A2 0.296 0.044 6.812 0.000 0.296 0.392
.I5A4 0.268 0.043 6.259 0.000 0.268 0.357
.I6A4 0.296 0.040 7.338 0.000 0.296 0.344
.I6A3 0.288 0.035 8.213 0.000 0.288 0.337
.I6A2 0.310 0.035 8.851 0.000 0.310 0.437
.I7A4 0.374 0.043 8.785 0.000 0.374 0.416
.I7A3 0.288 0.041 7.092 0.000 0.288 0.342
.I7A7 0.311 0.039 7.919 0.000 0.311 0.378
.I8A5 0.396 0.050 7.960 0.000 0.396 0.475
.I8A4 0.344 0.088 3.917 0.000 0.344 0.417
.I8A1 0.380 0.049 7.700 0.000 0.380 0.491
.I9A1 0.323 0.047 6.912 0.000 0.323 0.340
.I9A4 0.227 0.028 8.054 0.000 0.227 0.302
.I9A2 0.278 0.034 8.100 0.000 0.278 0.380
.I10A1 0.383 0.048 7.977 0.000 0.383 0.303
.I10A4 0.326 0.040 8.091 0.000 0.326 0.289
.I10A2 0.333 0.060 5.520 0.000 0.333 0.320
.I11A8 0.388 0.125 3.093 0.002 0.388 0.357
.I11A5 0.422 0.080 5.273 0.000 0.422 0.408
.I11A7 0.364 0.052 6.987 0.000 0.364 0.380
.I12A7 0.710 0.175 4.054 0.000 0.710 0.169
.I12A6 0.470 0.097 4.867 0.000 0.470 0.117
.I12A9 0.385 0.070 5.534 0.000 0.385 0.098
.I13A9 0.912 0.178 5.135 0.000 0.912 0.713
.I13A3 0.489 0.102 4.794 0.000 0.489 0.424
.I14A7 0.527 0.064 8.228 0.000 0.527 0.420
.I14A1 0.399 0.063 6.318 0.000 0.399 0.390
.I14A4 0.376 0.061 6.118 0.000 0.376 0.379
.I15A5 0.521 0.097 5.395 0.000 0.521 0.393
.I15A6 0.307 0.057 5.391 0.000 0.307 0.238
.I15A4 0.492 0.084 5.876 0.000 0.492 0.400
.I16A10 0.755 0.146 5.190 0.000 0.755 0.652
.I16A3 0.486 0.087 5.588 0.000 0.486 0.461
.I16A5 0.526 0.098 5.389 0.000 0.526 0.511
.I17A4 0.339 0.056 6.070 0.000 0.339 0.212
.I17A1 0.653 0.125 5.220 0.000 0.653 0.434
.I17A3 0.433 0.061 7.049 0.000 0.433 0.281
Importance 0.716 0.135 5.299 0.000 1.000 1.000
Quality 0.556 0.078 7.101 0.000 1.000 1.000
Efficiency 0.615 0.112 5.505 0.000 1.000 1.000
Compliance 0.460 0.065 7.070 0.000 1.000 1.000
CustSat 0.566 0.073 7.745 0.000 1.000 1.000
RiskMgt 0.525 0.074 7.073 0.000 1.000 1.000
Supplier 0.438 0.069 6.298 0.000 1.000 1.000
Employee 0.626 0.073 8.522 0.000 1.000 1.000
Cost 0.880 0.107 8.203 0.000 1.000 1.000
Innovation 0.699 0.104 6.725 0.000 1.000 1.000
StdImpl 3.482 0.289 12.032 0.000 1.000 1.000
MarketPerf 0.367 0.094 3.909 0.000 1.000 1.000
FinancialPerf 0.727 0.108 6.721 0.000 1.000 1.000
EffPerf 0.805 0.140 5.736 0.000 1.000 1.000
QualComp 0.403 0.091 4.445 0.000 1.000 1.000
GovProgram 1.259 0.171 7.363 0.000 1.000 1.000
R-Square:
Estimate
I2A13 0.654
I2A8 0.603
I2A12 0.254
I3A2 0.577
I3A3 0.581
I3A4 0.544
I4A1 0.546
I4A4 0.503
I4A2 0.591
I5A2 0.608
I5A4 0.643
I6A4 0.656
I6A3 0.663
I6A2 0.563
I7A4 0.584
I7A3 0.658
I7A7 0.622
I8A5 0.525
I8A4 0.583
I8A1 0.509
I9A1 0.660
I9A4 0.698
I9A2 0.620
I10A1 0.697
I10A4 0.711
I10A2 0.680
I11A8 0.643
I11A5 0.592
I11A7 0.620
I12A7 0.831
I12A6 0.883
I12A9 0.902
I13A9 0.287
I13A3 0.576
I14A7 0.580
I14A1 0.610
I14A4 0.621
I15A5 0.607
I15A6 0.762
I15A4 0.600
I16A10 0.348
I16A3 0.539
I16A5 0.489
I17A4 0.788
I17A1 0.566
I17A3 0.719
# Ambil standard DAN robust indices
fi_names <- c("chisq", "df", "pvalue",
"cfi", "tli",
"cfi.robust", "tli.robust",
"rmsea", "rmsea.ci.lower", "rmsea.ci.upper",
"rmsea.robust",
"srmr")
fi <- fitMeasures(fit_cfa, fi_names)
fi_df <- data.frame(
Indeks = c("Chi-Square", "df", "p-value",
"CFI (standard)", "TLI (standard)",
"CFI (Robust ✓)", "TLI (Robust ✓)",
"RMSEA (standard)", "RMSEA CI lower", "RMSEA CI upper",
"RMSEA (Robust ✓)",
"SRMR"),
Nilai = round(fi, 4),
Cutoff = c("", "", "> .05",
"> 0.90", "> 0.90",
"> 0.90", "> 0.90",
"< 0.08", "", "",
"< 0.08",
"< 0.08"),
Acuan = c("", "", "Hair et al.",
"Hair et al.", "Hair et al.",
"MLR preferred ★", "MLR preferred ★",
"Browne & Cudeck", "", "",
"MLR preferred ★",
"Hu & Bentler"),
Status = c("", "", ifelse(fi["pvalue"] > 0.05, "✓", "✗"),
ifelse(fi["cfi"] > 0.90, "✓", "✗"),
ifelse(fi["tli"] > 0.90, "✓", "✗"),
ifelse(fi["cfi.robust"] > 0.90, "✓", "✗"),
ifelse(fi["tli.robust"] > 0.90, "✓", "✗"),
ifelse(fi["rmsea"] < 0.08, "✓", "✗"),
"", "",
ifelse(fi["rmsea.robust"] < 0.08, "✓", "✗"),
ifelse(fi["srmr"] < 0.08, "✓", "✗"))
)
kable(fi_df, row.names = FALSE,
caption = "Fit Indices CFA (★ = Gunakan Robust untuk interpretasi utama)") %>%
kable_styling(bootstrap_options = c("striped","hover"), full_width = FALSE) %>%
row_spec(which(fi_df$Acuan == "MLR preferred ★"), background = "#e3f2fd")| Indeks | Nilai | Cutoff | Acuan | Status |
|---|---|---|---|---|
| Chi-Square | 1518.4574 | |||
| df | 869.0000 | |||
| p-value | 0.0000 | > .05 | Hair et al. | ✗ |
| CFI (standard) | 0.9271 | > 0.90 | Hair et al. | ✓ |
| TLI (standard) | 0.9131 | > 0.90 | Hair et al. | ✓ |
| CFI (Robust ✓) | 0.9471 | > 0.90 | MLR preferred ★ | ✓ |
| TLI (Robust ✓) | 0.9370 | > 0.90 | MLR preferred ★ | ✓ |
| RMSEA (standard) | 0.0520 | < 0.08 | Browne & Cudeck | ✓ |
| RMSEA CI lower | 0.0477 | |||
| RMSEA CI upper | 0.0564 | |||
| RMSEA (Robust ✓) | 0.0436 | < 0.08 | MLR preferred ★ | ✓ |
| SRMR | 0.0442 | < 0.08 | Hu & Bentler | ✓ |
load_df <- standardizedsolution(fit_cfa) %>%
filter(op == "=~") %>%
transmute(
Konstruk = lhs,
Indikator = rhs,
Loading = round(est.std, 3),
SE = round(se, 3),
z = round(z, 3),
p = round(pvalue, 4),
Valid = ifelse(abs(est.std) >= 0.50, "✓", "✗ Drop")
)
kable(load_df,
caption = "Standardized Factor Loadings (threshold ≥ 0.50)") %>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),
full_width = FALSE, font_size = 11) %>%
row_spec(which(load_df$Valid == "✗ Drop"), background = "#ffe0e0") %>%
scroll_box(height = "400px")| Konstruk | Indikator | Loading | SE | z | p | Valid |
|---|---|---|---|---|---|---|
| Importance | I2A13 | 0.808 | 0.038 | 21.443 | 0 | ✓ |
| Importance | I2A8 | 0.777 | 0.041 | 18.725 | 0 | ✓ |
| Importance | I2A12 | 0.504 | 0.055 | 9.180 | 0 | ✓ |
| Quality | I3A2 | 0.760 | 0.039 | 19.321 | 0 | ✓ |
| Quality | I3A3 | 0.762 | 0.039 | 19.356 | 0 | ✓ |
| Quality | I3A4 | 0.738 | 0.039 | 19.144 | 0 | ✓ |
| Efficiency | I4A1 | 0.739 | 0.040 | 18.687 | 0 | ✓ |
| Efficiency | I4A4 | 0.709 | 0.049 | 14.553 | 0 | ✓ |
| Efficiency | I4A2 | 0.769 | 0.040 | 19.137 | 0 | ✓ |
| Compliance | I5A2 | 0.780 | 0.034 | 22.881 | 0 | ✓ |
| Compliance | I5A4 | 0.802 | 0.034 | 23.327 | 0 | ✓ |
| CustSat | I6A4 | 0.810 | 0.029 | 28.069 | 0 | ✓ |
| CustSat | I6A3 | 0.814 | 0.027 | 30.088 | 0 | ✓ |
| CustSat | I6A2 | 0.750 | 0.031 | 24.015 | 0 | ✓ |
| RiskMgt | I7A4 | 0.764 | 0.032 | 23.901 | 0 | ✓ |
| RiskMgt | I7A3 | 0.811 | 0.031 | 26.092 | 0 | ✓ |
| RiskMgt | I7A7 | 0.789 | 0.033 | 23.667 | 0 | ✓ |
| Supplier | I8A5 | 0.725 | 0.037 | 19.427 | 0 | ✓ |
| Supplier | I8A4 | 0.763 | 0.045 | 16.911 | 0 | ✓ |
| Supplier | I8A1 | 0.714 | 0.041 | 17.302 | 0 | ✓ |
| Employee | I9A1 | 0.812 | 0.028 | 28.955 | 0 | ✓ |
| Employee | I9A4 | 0.835 | 0.024 | 35.540 | 0 | ✓ |
| Employee | I9A2 | 0.787 | 0.030 | 26.185 | 0 | ✓ |
| Cost | I10A1 | 0.835 | 0.026 | 32.162 | 0 | ✓ |
| Cost | I10A4 | 0.843 | 0.026 | 32.669 | 0 | ✓ |
| Cost | I10A2 | 0.825 | 0.032 | 26.159 | 0 | ✓ |
| Innovation | I11A8 | 0.802 | 0.057 | 13.974 | 0 | ✓ |
| Innovation | I11A5 | 0.770 | 0.042 | 18.423 | 0 | ✓ |
| Innovation | I11A7 | 0.787 | 0.032 | 24.965 | 0 | ✓ |
| StdImpl | I12A7 | 0.911 | 0.023 | 39.082 | 0 | ✓ |
| StdImpl | I12A6 | 0.940 | 0.014 | 68.569 | 0 | ✓ |
| StdImpl | I12A9 | 0.950 | 0.010 | 93.634 | 0 | ✓ |
| MarketPerf | I13A9 | 0.535 | 0.064 | 8.315 | 0 | ✓ |
| MarketPerf | I13A3 | 0.759 | 0.058 | 13.198 | 0 | ✓ |
| FinancialPerf | I14A7 | 0.761 | 0.034 | 22.138 | 0 | ✓ |
| FinancialPerf | I14A1 | 0.781 | 0.038 | 20.537 | 0 | ✓ |
| FinancialPerf | I14A4 | 0.788 | 0.039 | 20.437 | 0 | ✓ |
| EffPerf | I15A5 | 0.779 | 0.038 | 20.441 | 0 | ✓ |
| EffPerf | I15A6 | 0.873 | 0.030 | 28.723 | 0 | ✓ |
| EffPerf | I15A4 | 0.775 | 0.040 | 19.171 | 0 | ✓ |
| QualComp | I16A10 | 0.590 | 0.056 | 10.516 | 0 | ✓ |
| QualComp | I16A3 | 0.734 | 0.052 | 14.165 | 0 | ✓ |
| QualComp | I16A5 | 0.699 | 0.051 | 13.643 | 0 | ✓ |
| GovProgram | I17A4 | 0.888 | 0.022 | 40.303 | 0 | ✓ |
| GovProgram | I17A1 | 0.752 | 0.047 | 15.900 | 0 | ✓ |
| GovProgram | I17A3 | 0.848 | 0.027 | 31.528 | 0 | ✓ |
Ringkasan Loadings:
Total indikator : 46
Valid (≥ 0.50) : 46
Perlu drop : 0
cr_ave_fn <- function(fit, k) {
s <- standardizedsolution(fit) %>% filter(op == "=~", lhs == k)
if (!nrow(s)) return(NULL)
lam <- s$est.std
err <- 1 - lam^2
cr <- sum(lam)^2 / (sum(lam)^2 + sum(err))
ave <- mean(lam^2)
data.frame(
Konstruk = k,
N_item = length(lam),
AvgLoad = round(mean(lam), 3),
CR = round(cr, 3),
AVE = round(ave, 3),
sqrtAVE = round(sqrt(ave), 3),
CR_OK = ifelse(cr >= 0.70, "✓", "✗"),
AVE_OK = ifelse(ave >= 0.50, "✓", "✗")
)
}
cr_ave_tbl <- bind_rows(lapply(names(cols_def),
function(k) tryCatch(cr_ave_fn(fit_cfa, k), error = function(e) NULL)))
kable(cr_ave_tbl,
caption = "Composite Reliability & AVE (Fornell & Larcker, 1981)") %>%
kable_styling(bootstrap_options = c("striped","hover"), full_width = FALSE) %>%
row_spec(which(cr_ave_tbl$CR_OK == "✗"), background = "#ffe0e0") %>%
row_spec(which(cr_ave_tbl$AVE_OK == "✗"), background = "#fff3cd")| Konstruk | N_item | AvgLoad | CR | AVE | sqrtAVE | CR_OK | AVE_OK |
|---|---|---|---|---|---|---|---|
| Importance | 3 | 0.696 | 0.745 | 0.503 | 0.710 | ✓ | ✓ |
| Quality | 3 | 0.753 | 0.797 | 0.567 | 0.753 | ✓ | ✓ |
| Efficiency | 3 | 0.739 | 0.783 | 0.547 | 0.739 | ✓ | ✓ |
| Compliance | 2 | 0.791 | 0.770 | 0.626 | 0.791 | ✓ | ✓ |
| CustSat | 3 | 0.792 | 0.835 | 0.627 | 0.792 | ✓ | ✓ |
| RiskMgt | 3 | 0.788 | 0.831 | 0.621 | 0.788 | ✓ | ✓ |
| Supplier | 3 | 0.734 | 0.778 | 0.539 | 0.734 | ✓ | ✓ |
| Employee | 3 | 0.812 | 0.853 | 0.659 | 0.812 | ✓ | ✓ |
| Cost | 3 | 0.834 | 0.873 | 0.696 | 0.834 | ✓ | ✓ |
| Innovation | 3 | 0.786 | 0.829 | 0.618 | 0.786 | ✓ | ✓ |
| StdImpl | 3 | 0.934 | 0.953 | 0.872 | 0.934 | ✓ | ✓ |
| MarketPerf | 2 | 0.647 | 0.596 | 0.431 | 0.657 | ✗ | ✗ |
| FinancialPerf | 3 | 0.777 | 0.820 | 0.603 | 0.777 | ✓ | ✓ |
| EffPerf | 3 | 0.809 | 0.851 | 0.657 | 0.810 | ✓ | ✓ |
| QualComp | 3 | 0.674 | 0.716 | 0.458 | 0.677 | ✓ | ✗ |
| GovProgram | 3 | 0.829 | 0.870 | 0.691 | 0.831 | ✓ | ✓ |
Kriteria:
CR ≥ 0.70 = Reliabilitas konstruk terpenuhi
AVE ≥ 0.50 = Validitas konvergen terpenuhi
lv_cor <- lavInspect(fit_cfa, "cor.lv")
ave_vec <- setNames(cr_ave_tbl$AVE, cr_ave_tbl$Konstruk)
fl_mat <- abs(lv_cor)
for (nm in rownames(fl_mat)) {
if (!is.na(ave_vec[nm])) fl_mat[nm, nm] <- sqrt(ave_vec[nm])
}
kable(round(fl_mat, 3),
caption = "Fornell-Larcker Matrix (Diagonal = √AVE, Off-diagonal = Korelasi LV)") %>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),
full_width = TRUE, font_size = 9) %>%
scroll_box(width = "100%")| Importance | Quality | Efficiency | Compliance | CustSat | RiskMgt | Supplier | Employee | Cost | Innovation | StdImpl | MarketPerf | FinancialPerf | EffPerf | QualComp | GovProgram | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Importance | 0.709 | 0.822 | 0.869 | 0.712 | 0.790 | 0.787 | 0.755 | 0.683 | 0.714 | 0.785 | 0.021 | 0.666 | 0.653 | 0.529 | 0.685 | 0.517 |
| Quality | 0.822 | 0.753 | 0.863 | 0.754 | 0.831 | 0.819 | 0.762 | 0.773 | 0.742 | 0.701 | 0.019 | 0.777 | 0.705 | 0.551 | 0.753 | 0.476 |
| Efficiency | 0.869 | 0.863 | 0.740 | 0.814 | 0.826 | 0.841 | 0.821 | 0.814 | 0.873 | 0.857 | 0.040 | 0.573 | 0.686 | 0.615 | 0.701 | 0.478 |
| Compliance | 0.712 | 0.754 | 0.814 | 0.791 | 0.917 | 0.861 | 0.839 | 0.764 | 0.696 | 0.668 | 0.073 | 0.786 | 0.639 | 0.524 | 0.689 | 0.395 |
| CustSat | 0.790 | 0.831 | 0.826 | 0.917 | 0.792 | 0.948 | 0.867 | 0.861 | 0.818 | 0.811 | 0.112 | 0.809 | 0.709 | 0.614 | 0.757 | 0.504 |
| RiskMgt | 0.787 | 0.819 | 0.841 | 0.861 | 0.948 | 0.788 | 0.916 | 0.855 | 0.858 | 0.806 | 0.082 | 0.723 | 0.757 | 0.636 | 0.824 | 0.496 |
| Supplier | 0.755 | 0.762 | 0.821 | 0.839 | 0.867 | 0.916 | 0.734 | 0.889 | 0.770 | 0.751 | 0.133 | 0.746 | 0.709 | 0.621 | 0.763 | 0.486 |
| Employee | 0.683 | 0.773 | 0.814 | 0.764 | 0.861 | 0.855 | 0.889 | 0.812 | 0.839 | 0.861 | 0.085 | 0.707 | 0.720 | 0.563 | 0.683 | 0.491 |
| Cost | 0.714 | 0.742 | 0.873 | 0.696 | 0.818 | 0.858 | 0.770 | 0.839 | 0.834 | 0.931 | 0.153 | 0.641 | 0.815 | 0.675 | 0.746 | 0.514 |
| Innovation | 0.785 | 0.701 | 0.857 | 0.668 | 0.811 | 0.806 | 0.751 | 0.861 | 0.931 | 0.786 | 0.090 | 0.593 | 0.759 | 0.673 | 0.698 | 0.476 |
| StdImpl | 0.021 | 0.019 | 0.040 | 0.073 | 0.112 | 0.082 | 0.133 | 0.085 | 0.153 | 0.090 | 0.934 | 0.134 | 0.056 | 0.171 | 0.102 | 0.284 |
| MarketPerf | 0.666 | 0.777 | 0.573 | 0.786 | 0.809 | 0.723 | 0.746 | 0.707 | 0.641 | 0.593 | 0.134 | 0.657 | 0.880 | 0.804 | 0.941 | 0.589 |
| FinancialPerf | 0.653 | 0.705 | 0.686 | 0.639 | 0.709 | 0.757 | 0.709 | 0.720 | 0.815 | 0.759 | 0.056 | 0.880 | 0.777 | 0.822 | 0.935 | 0.615 |
| EffPerf | 0.529 | 0.551 | 0.615 | 0.524 | 0.614 | 0.636 | 0.621 | 0.563 | 0.675 | 0.673 | 0.171 | 0.804 | 0.822 | 0.811 | 0.846 | 0.560 |
| QualComp | 0.685 | 0.753 | 0.701 | 0.689 | 0.757 | 0.824 | 0.763 | 0.683 | 0.746 | 0.698 | 0.102 | 0.941 | 0.935 | 0.846 | 0.677 | 0.709 |
| GovProgram | 0.517 | 0.476 | 0.478 | 0.395 | 0.504 | 0.496 | 0.486 | 0.491 | 0.514 | 0.476 | 0.284 | 0.589 | 0.615 | 0.560 | 0.709 | 0.831 |
Validitas diskriminan terpenuhi jika:
√AVE setiap konstruk > korelasi dengan konstruk lain
PERBAIKAN: Ditambahkan HTMT (Heterotrait-Monotrait Ratio) sebagai kriteria validitas diskriminan yang lebih ketat dan direkomendasikan oleh Henseler et al. (2015). Threshold: HTMT < 0.85 (konservatif) atau < 0.90 (liberal).
# Hitung HTMT menggunakan semTools
htmt_result <- tryCatch({
semTools::htmt(fit_cfa)
}, error = function(e) {
cat("⚠️ HTMT tidak dapat dihitung:", conditionMessage(e), "\n")
NULL
})⚠️ HTMT tidak dapat dihitung: no method for coercing this S4 class to a vector
if (!is.null(htmt_result)) {
htmt_mat <- as.matrix(htmt_result)
# Highlight nilai > 0.85
kable(round(htmt_mat, 3),
caption = "HTMT Matrix (threshold < 0.85 = diskriminan valid)") %>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),
full_width = TRUE, font_size = 9) %>%
scroll_box(width = "100%")
# Tampilkan pasangan yang bermasalah
htmt_long <- as.data.frame(as.table(htmt_mat)) %>%
filter(Var1 != Var2, !is.na(Freq)) %>%
filter(Freq > 0.85) %>%
arrange(desc(Freq))
if (nrow(htmt_long) > 0) {
cat("\n⚠️ Pasangan konstruk dengan HTMT > 0.85 (perlu perhatian):\n")
print(htmt_long)
} else {
cat("\n✓ Semua nilai HTMT < 0.85 — validitas diskriminan terpenuhi\n")
}
}Catatan: Karena konstruk mediator sangat berkorelasi tinggi (beberapa > 0.85), path coefficient individual mungkin tidak stabil akibat multikolinearitas. Fokus interpretasi pada total effect dan R², bukan hanya path individual.
sem_syntax <- paste0(
"# MEASUREMENT\n", make_meas(cols_def), "
# STRUKTURAL
# H1 – Importance → Mediator Proses Bisnis
Quality ~ Importance
Efficiency ~ Importance
Compliance ~ Importance
CustSat ~ Importance
RiskMgt ~ Importance
Supplier ~ Importance
Employee ~ Importance
Cost ~ Importance
Innovation ~ Importance
StdImpl ~ Importance
# H2 – Mediator → Kinerja Organisasi
MarketPerf ~ Quality+Efficiency+Compliance+CustSat+RiskMgt+Supplier+Employee+Cost+Innovation+StdImpl
FinancialPerf ~ Quality+Efficiency+Compliance+CustSat+RiskMgt+Supplier+Employee+Cost+Innovation+StdImpl
EffPerf ~ Quality+Efficiency+Compliance+CustSat+RiskMgt+Supplier+Employee+Cost+Innovation+StdImpl
QualComp ~ Quality+Efficiency+Compliance+CustSat+RiskMgt+Supplier+Employee+Cost+Innovation+StdImpl
# H3 – GovProgram → Mediator
Quality ~ GovProgram
Efficiency ~ GovProgram
Compliance ~ GovProgram
CustSat ~ GovProgram
RiskMgt ~ GovProgram
Supplier ~ GovProgram
Employee ~ GovProgram
Cost ~ GovProgram
Innovation ~ GovProgram
StdImpl ~ GovProgram
# H4 – GovProgram → Kinerja Langsung
MarketPerf ~ GovProgram
FinancialPerf ~ GovProgram
EffPerf ~ GovProgram
QualComp ~ GovProgram
")
cat("Menjalankan SEM penuh (MLR)...\n")Menjalankan SEM penuh (MLR)...
fit_sem <- sem(
model = sem_syntax,
data = df_imp,
estimator = "MLR",
std.lv = FALSE
)
summary(fit_sem, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)lavaan 0.6-21 ended normally after 124 iterations
Estimator ML
Optimization method NLMINB
Number of model parameters 163
Number of observations 276
Model Test User Model:
Standard Scaled
Test Statistic 1749.236 1420.684
Degrees of freedom 918 918
P-value (Chi-square) 0.000 0.000
Scaling correction factor 1.231
Yuan-Bentler correction (Mplus variant)
Model Test Baseline Model:
Test statistic 9938.384 7702.056
Degrees of freedom 1035 1035
P-value 0.000 0.000
Scaling correction factor 1.290
User Model versus Baseline Model:
Comparative Fit Index (CFI) 0.907 0.925
Tucker-Lewis Index (TLI) 0.895 0.915
Robust Comparative Fit Index (CFI) 0.928
Robust Tucker-Lewis Index (TLI) 0.919
Loglikelihood and Information Criteria:
Loglikelihood user model (H0) -14492.991 -14492.991
Scaling correction factor 1.671
for the MLR correction
Loglikelihood unrestricted model (H1) -13618.374 -13618.374
Scaling correction factor 1.298
for the MLR correction
Akaike (AIC) 29311.983 29311.983
Bayesian (BIC) 29902.108 29902.108
Sample-size adjusted Bayesian (SABIC) 29385.262 29385.262
Root Mean Square Error of Approximation:
RMSEA 0.057 0.045
90 Percent confidence interval - lower 0.053 0.040
90 Percent confidence interval - upper 0.061 0.049
P-value H_0: RMSEA <= 0.050 0.002 0.988
P-value H_0: RMSEA >= 0.080 0.000 0.000
Robust RMSEA 0.049
90 Percent confidence interval - lower 0.044
90 Percent confidence interval - upper 0.054
P-value H_0: Robust RMSEA <= 0.050 0.570
P-value H_0: Robust RMSEA >= 0.080 0.000
Standardized Root Mean Square Residual:
SRMR 0.049 0.049
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
Importance =~
I2A13 1.000 0.722 0.689
I2A8 0.946 0.075 12.586 0.000 0.683 0.672
I2A12 0.578 0.082 7.058 0.000 0.417 0.445
Quality =~
I3A2 1.000 0.728 0.741
I3A3 0.969 0.077 12.630 0.000 0.705 0.767
I3A4 0.942 0.080 11.803 0.000 0.685 0.750
Efficiency =~
I4A1 1.000 0.781 0.736
I4A4 0.883 0.086 10.299 0.000 0.689 0.714
I4A2 0.935 0.077 12.110 0.000 0.730 0.770
Compliance =~
I5A2 1.000 0.673 0.774
I5A4 1.037 0.083 12.527 0.000 0.698 0.806
CustSat =~
I6A4 1.000 0.748 0.806
I6A3 1.018 0.059 17.372 0.000 0.762 0.823
I6A2 0.836 0.063 13.282 0.000 0.625 0.742
RiskMgt =~
I7A4 1.000 0.725 0.765
I7A3 1.034 0.072 14.414 0.000 0.750 0.816
I7A7 0.986 0.067 14.782 0.000 0.714 0.787
Supplier =~
I8A5 1.000 0.668 0.731
I8A4 1.049 0.086 12.164 0.000 0.700 0.771
I8A1 0.921 0.098 9.351 0.000 0.615 0.698
Employee =~
I9A1 1.000 0.806 0.827
I9A4 0.893 0.056 15.809 0.000 0.719 0.830
I9A2 0.825 0.060 13.642 0.000 0.664 0.776
Cost =~
I10A1 1.000 0.923 0.821
I10A4 0.963 0.052 18.706 0.000 0.889 0.837
I10A2 0.933 0.060 15.467 0.000 0.861 0.844
Innovation =~
I11A8 1.000 0.829 0.795
I11A5 0.941 0.063 14.953 0.000 0.780 0.766
I11A7 0.943 0.068 13.893 0.000 0.782 0.799
StdImpl =~
I12A7 1.000 1.865 0.911
I12A6 1.010 0.038 26.795 0.000 1.884 0.941
I12A9 1.008 0.036 27.699 0.000 1.881 0.949
MarketPerf =~
I13A9 1.000 0.603 0.534
I13A3 1.354 0.199 6.796 0.000 0.817 0.761
FinancialPerf =~
I14A7 1.000 0.856 0.762
I14A1 0.928 0.076 12.178 0.000 0.795 0.783
I14A4 0.922 0.082 11.252 0.000 0.789 0.790
EffPerf =~
I15A5 1.000 0.900 0.782
I15A6 1.096 0.059 18.502 0.000 0.987 0.869
I15A4 0.959 0.093 10.276 0.000 0.863 0.778
QualComp =~
I16A10 1.000 0.637 0.591
I16A3 1.187 0.180 6.595 0.000 0.756 0.735
I16A5 1.116 0.136 8.186 0.000 0.711 0.700
GovProgram =~
I17A4 1.000 1.124 0.889
I17A1 0.819 0.064 12.870 0.000 0.920 0.750
I17A3 0.936 0.054 17.406 0.000 1.052 0.848
Regressions:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
Quality ~
Importance 0.919 0.104 8.827 0.000 0.912 0.912
Efficiency ~
Importance 1.074 0.141 7.641 0.000 0.993 0.993
Compliance ~
Importance 0.913 0.141 6.463 0.000 0.979 0.979
CustSat ~
Importance 1.049 0.134 7.832 0.000 1.013 1.013
RiskMgt ~
Importance 1.026 0.135 7.590 0.000 1.021 1.021
Supplier ~
Importance 0.895 0.139 6.440 0.000 0.967 0.967
Employee ~
Importance 1.067 0.169 6.315 0.000 0.956 0.956
Cost ~
Importance 1.167 0.186 6.262 0.000 0.913 0.913
Innovation ~
Importance 1.066 0.148 7.181 0.000 0.928 0.928
StdImpl ~
Importance -0.221 0.181 -1.217 0.223 -0.085 -0.085
MarketPerf ~
Quality 0.446 0.162 2.749 0.006 0.538 0.538
Efficiency -0.720 0.295 -2.443 0.015 -0.932 -0.932
Compliance 0.485 0.207 2.336 0.020 0.541 0.541
CustSat 0.479 0.304 1.578 0.115 0.594 0.594
RiskMgt -0.277 0.275 -1.006 0.314 -0.333 -0.333
Supplier 0.248 0.242 1.022 0.307 0.274 0.274
Employee 0.063 0.148 0.424 0.672 0.084 0.084
Cost 0.068 0.165 0.412 0.680 0.104 0.104
Innovation -0.107 0.129 -0.825 0.409 -0.147 -0.147
StdImpl -0.003 0.019 -0.179 0.858 -0.011 -0.011
FinancialPerf ~
Quality 0.240 0.184 1.305 0.192 0.204 0.204
Efficiency -0.457 0.265 -1.724 0.085 -0.417 -0.417
Compliance 0.139 0.196 0.706 0.480 0.109 0.109
CustSat -0.291 0.306 -0.950 0.342 -0.254 -0.254
RiskMgt 0.207 0.298 0.695 0.487 0.175 0.175
Supplier 0.184 0.226 0.815 0.415 0.144 0.144
Employee -0.009 0.172 -0.052 0.959 -0.008 -0.008
Cost 0.553 0.159 3.481 0.000 0.596 0.596
Innovation 0.189 0.162 1.170 0.242 0.183 0.183
StdImpl -0.052 0.022 -2.351 0.019 -0.113 -0.113
EffPerf ~
Quality -0.019 0.200 -0.094 0.925 -0.015 -0.015
Efficiency -0.061 0.244 -0.251 0.802 -0.053 -0.053
Compliance -0.025 0.216 -0.116 0.907 -0.019 -0.019
CustSat -0.042 0.336 -0.124 0.901 -0.035 -0.035
RiskMgt 0.112 0.324 0.346 0.729 0.090 0.090
Supplier 0.355 0.330 1.076 0.282 0.263 0.263
Employee -0.362 0.243 -1.485 0.137 -0.324 -0.324
Cost 0.300 0.185 1.622 0.105 0.308 0.308
Innovation 0.392 0.192 2.045 0.041 0.361 0.361
StdImpl 0.012 0.024 0.513 0.608 0.025 0.025
QualComp ~
Quality 0.228 0.158 1.442 0.149 0.261 0.261
Efficiency -0.280 0.243 -1.153 0.249 -0.343 -0.343
Compliance 0.100 0.157 0.641 0.521 0.106 0.106
CustSat -0.153 0.303 -0.505 0.613 -0.179 -0.179
RiskMgt 0.544 0.306 1.780 0.075 0.619 0.619
Supplier 0.240 0.201 1.198 0.231 0.252 0.252
Employee -0.227 0.170 -1.336 0.182 -0.287 -0.287
Cost 0.117 0.147 0.794 0.427 0.169 0.169
Innovation 0.033 0.125 0.260 0.795 0.042 0.042
StdImpl -0.026 0.019 -1.418 0.156 -0.077 -0.077
Quality ~
GovProgram -0.049 0.052 -0.934 0.350 -0.075 -0.075
Efficiency ~
GovProgram -0.082 0.089 -0.923 0.356 -0.118 -0.118
Compliance ~
GovProgram -0.119 0.090 -1.321 0.186 -0.198 -0.198
CustSat ~
GovProgram -0.072 0.085 -0.841 0.400 -0.108 -0.108
RiskMgt ~
GovProgram -0.078 0.085 -0.928 0.353 -0.122 -0.122
Supplier ~
GovProgram -0.058 0.093 -0.620 0.535 -0.097 -0.097
Employee ~
GovProgram -0.064 0.113 -0.567 0.571 -0.089 -0.089
Cost ~
GovProgram -0.026 0.129 -0.199 0.843 -0.031 -0.031
Innovation ~
GovProgram -0.057 0.108 -0.526 0.599 -0.077 -0.077
StdImpl ~
GovProgram 0.554 0.130 4.264 0.000 0.334 0.334
MarketPerf ~
GovProgram 0.149 0.066 2.278 0.023 0.278 0.278
FinancialPerf ~
GovProgram 0.215 0.061 3.546 0.000 0.283 0.283
EffPerf ~
GovProgram 0.209 0.071 2.940 0.003 0.261 0.261
QualComp ~
GovProgram 0.239 0.072 3.306 0.001 0.421 0.421
Covariances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
Importance ~~
GovProgram 0.489 0.099 4.959 0.000 0.602 0.602
.MarketPerf ~~
.FinancialPerf 0.093 0.034 2.733 0.006 1.723 1.723
.EffPerf 0.146 0.050 2.946 0.003 1.819 1.819
.QualComp 0.074 0.030 2.511 0.012 2.234 2.234
.FinancialPerf ~~
.EffPerf 0.151 0.039 3.816 0.000 0.649 0.649
.QualComp 0.089 0.027 3.237 0.001 0.926 0.926
.EffPerf ~~
.QualComp 0.116 0.040 2.872 0.004 0.810 0.810
Variances:
Estimate Std.Err z-value P(>|z|) Std.lv Std.all
.I2A13 0.575 0.072 7.999 0.000 0.575 0.525
.I2A8 0.567 0.068 8.303 0.000 0.567 0.549
.I2A12 0.705 0.104 6.806 0.000 0.705 0.802
.I3A2 0.434 0.084 5.165 0.000 0.434 0.450
.I3A3 0.347 0.053 6.488 0.000 0.347 0.411
.I3A4 0.365 0.067 5.434 0.000 0.365 0.437
.I4A1 0.516 0.086 6.004 0.000 0.516 0.458
.I4A4 0.458 0.104 4.405 0.000 0.458 0.491
.I4A2 0.365 0.055 6.655 0.000 0.365 0.406
.I5A2 0.303 0.046 6.566 0.000 0.303 0.400
.I5A4 0.263 0.043 6.104 0.000 0.263 0.351
.I6A4 0.303 0.044 6.934 0.000 0.303 0.351
.I6A3 0.277 0.033 8.318 0.000 0.277 0.323
.I6A2 0.319 0.037 8.638 0.000 0.319 0.450
.I7A4 0.373 0.042 8.889 0.000 0.373 0.415
.I7A3 0.283 0.040 7.063 0.000 0.283 0.335
.I7A7 0.313 0.039 8.081 0.000 0.313 0.380
.I8A5 0.387 0.048 8.135 0.000 0.387 0.465
.I8A4 0.334 0.092 3.623 0.000 0.334 0.405
.I8A1 0.397 0.054 7.359 0.000 0.397 0.513
.I9A1 0.300 0.045 6.674 0.000 0.300 0.316
.I9A4 0.233 0.030 7.800 0.000 0.233 0.310
.I9A2 0.291 0.038 7.746 0.000 0.291 0.398
.I10A1 0.412 0.054 7.629 0.000 0.412 0.326
.I10A4 0.337 0.041 8.243 0.000 0.337 0.299
.I10A2 0.299 0.057 5.213 0.000 0.299 0.287
.I11A8 0.400 0.131 3.047 0.002 0.400 0.368
.I11A5 0.428 0.082 5.193 0.000 0.428 0.413
.I11A7 0.345 0.051 6.753 0.000 0.345 0.361
.I12A7 0.712 0.174 4.089 0.000 0.712 0.170
.I12A6 0.461 0.095 4.854 0.000 0.461 0.115
.I12A9 0.392 0.071 5.531 0.000 0.392 0.100
.I13A9 0.914 0.178 5.123 0.000 0.914 0.715
.I13A3 0.485 0.102 4.738 0.000 0.485 0.421
.I14A7 0.529 0.063 8.411 0.000 0.529 0.419
.I14A1 0.398 0.062 6.391 0.000 0.398 0.387
.I14A4 0.375 0.061 6.105 0.000 0.375 0.376
.I15A5 0.516 0.096 5.367 0.000 0.516 0.389
.I15A6 0.317 0.055 5.760 0.000 0.317 0.245
.I15A4 0.486 0.082 5.940 0.000 0.486 0.395
.I16A10 0.755 0.145 5.206 0.000 0.755 0.650
.I16A3 0.486 0.088 5.536 0.000 0.486 0.460
.I16A5 0.526 0.097 5.396 0.000 0.526 0.510
.I17A4 0.335 0.056 5.928 0.000 0.335 0.209
.I17A1 0.657 0.126 5.230 0.000 0.657 0.437
.I17A3 0.433 0.062 7.014 0.000 0.433 0.281
Importance 0.521 0.101 5.143 0.000 1.000 1.000
.Quality 0.130 0.037 3.561 0.000 0.246 0.246
.Efficiency 0.086 0.032 2.666 0.008 0.142 0.142
.Compliance 0.107 0.038 2.830 0.005 0.236 0.236
.CustSat 0.053 0.023 2.287 0.022 0.094 0.094
.RiskMgt 0.048 0.025 1.936 0.053 0.092 0.092
.Supplier 0.075 0.022 3.396 0.001 0.168 0.168
.Employee 0.117 0.033 3.586 0.000 0.181 0.181
.Cost 0.170 0.046 3.728 0.000 0.200 0.200
.Innovation 0.150 0.041 3.665 0.000 0.218 0.218
.StdImpl 3.186 0.315 10.099 0.000 0.916 0.916
.MarketPerf 0.019 0.050 0.374 0.708 0.051 0.051
.FinancialPerf 0.155 0.041 3.748 0.000 0.212 0.212
.EffPerf 0.346 0.111 3.111 0.002 0.427 0.427
.QualComp 0.059 0.034 1.740 0.082 0.145 0.145
GovProgram 1.263 0.171 7.399 0.000 1.000 1.000
R-Square:
Estimate
I2A13 0.475
I2A8 0.451
I2A12 0.198
I3A2 0.550
I3A3 0.589
I3A4 0.563
I4A1 0.542
I4A4 0.509
I4A2 0.594
I5A2 0.600
I5A4 0.649
I6A4 0.649
I6A3 0.677
I6A2 0.550
I7A4 0.585
I7A3 0.665
I7A7 0.620
I8A5 0.535
I8A4 0.595
I8A1 0.487
I9A1 0.684
I9A4 0.690
I9A2 0.602
I10A1 0.674
I10A4 0.701
I10A2 0.713
I11A8 0.632
I11A5 0.587
I11A7 0.639
I12A7 0.830
I12A6 0.885
I12A9 0.900
I13A9 0.285
I13A3 0.579
I14A7 0.581
I14A1 0.613
I14A4 0.624
I15A5 0.611
I15A6 0.755
I15A4 0.605
I16A10 0.350
I16A3 0.540
I16A5 0.490
I17A4 0.791
I17A1 0.563
I17A3 0.719
Quality 0.754
Efficiency 0.858
Compliance 0.764
CustSat 0.906
RiskMgt 0.908
Supplier 0.832
Employee 0.819
Cost 0.800
Innovation 0.782
StdImpl 0.084
MarketPerf 0.949
FinancialPerf 0.788
EffPerf 0.573
QualComp 0.855
sf_names <- c("chisq", "df", "pvalue",
"cfi", "tli",
"cfi.robust", "tli.robust",
"rmsea", "rmsea.ci.lower", "rmsea.ci.upper",
"rmsea.robust", "srmr")
sf <- fitMeasures(fit_sem, sf_names)
sf_df <- data.frame(
Indeks = c("Chi-Square", "df", "p-value",
"CFI (standard)", "TLI (standard)",
"CFI (Robust ★)", "TLI (Robust ★)",
"RMSEA (standard)", "RMSEA CI lower", "RMSEA CI upper",
"RMSEA (Robust ★)", "SRMR"),
Nilai = round(sf, 4),
Cutoff = c("", "", "> .05",
"> 0.90", "> 0.90",
"> 0.90", "> 0.90",
"< 0.08", "", "",
"< 0.08", "< 0.08"),
Status = c("", "",
ifelse(sf["pvalue"] > 0.05, "✓", "✗"),
ifelse(sf["cfi"] > 0.90, "✓", "✗"),
ifelse(sf["tli"] > 0.90, "✓", "✗"),
ifelse(sf["cfi.robust"] > 0.90, "✓", "✗"),
ifelse(sf["tli.robust"] > 0.90, "✓", "✗"),
ifelse(sf["rmsea"] < 0.08, "✓", "✗"),
"", "",
ifelse(sf["rmsea.robust"]< 0.08, "✓", "✗"),
ifelse(sf["srmr"] < 0.08, "✓", "✗"))
)
kable(sf_df, row.names = FALSE,
caption = "Fit Indices SEM Penuh (★ = Acuan utama untuk MLR)") %>%
kable_styling(bootstrap_options = c("striped","hover"), full_width = FALSE) %>%
row_spec(which(grepl("★", sf_df$Indeks)), background = "#e3f2fd")| Indeks | Nilai | Cutoff | Status |
|---|---|---|---|
| Chi-Square | 1749.2356 | ||
| df | 918.0000 | ||
| p-value | 0.0000 | > .05 | ✗ |
| CFI (standard) | 0.9066 | > 0.90 | ✓ |
| TLI (standard) | 0.8947 | > 0.90 | ✗ |
| CFI (Robust ★) | 0.9281 | > 0.90 | ✓ |
| TLI (Robust ★) | 0.9189 | > 0.90 | ✓ |
| RMSEA (standard) | 0.0573 | < 0.08 | ✓ |
| RMSEA CI lower | 0.0532 | ||
| RMSEA CI upper | 0.0613 | ||
| RMSEA (Robust ★) | 0.0494 | < 0.08 | ✓ |
| SRMR | 0.0491 | < 0.08 | ✓ |
paths <- standardizedsolution(fit_sem) %>%
filter(op == "~") %>%
transmute(
Endogen = lhs,
Eksogen = rhs,
Beta = round(est.std, 3),
SE = round(se, 3),
z = round(z, 3),
p = round(pvalue, 4),
Sig = case_when(
pvalue < 0.001 ~ "***",
pvalue < 0.01 ~ "**",
pvalue < 0.05 ~ "*",
pvalue < 0.10 ~ ".",
TRUE ~ "ns"
),
Arah = case_when(
abs(est.std) > 1.0 ~ "⚠️ > 1 (cek multikolinearitas)",
pvalue < 0.05 & est.std > 0 ~ "Didukung (+)",
pvalue < 0.05 & est.std < 0 ~ "Didukung (−) ⚠️",
TRUE ~ "Tidak Didukung"
)
) %>%
arrange(Endogen, p)
kable(paths, caption = "Path Coefficients Terstandarisasi") %>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),
full_width = FALSE, font_size = 11) %>%
row_spec(which(paths$p < 0.05 & paths$Beta > 0 & abs(paths$Beta) <= 1),
background = "#e8f5e9") %>%
row_spec(which(paths$p < 0.05 & paths$Beta < 0),
background = "#fff3cd") %>%
row_spec(which(abs(paths$Beta) > 1),
background = "#ffe0e0") %>%
scroll_box(height = "500px")| Endogen | Eksogen | Beta | SE | z | p | Sig | Arah |
|---|---|---|---|---|---|---|---|
| Compliance | Importance | 0.979 | 0.098 | 9.972 | 0.0000 | *** | Didukung (+) |
| Compliance | GovProgram | -0.198 | 0.148 | -1.339 | 0.1805 | ns | Tidak Didukung |
| Cost | Importance | 0.913 | 0.106 | 8.626 | 0.0000 | *** | Didukung (+) |
| Cost | GovProgram | -0.031 | 0.157 | -0.199 | 0.8425 | ns | Tidak Didukung |
| CustSat | Importance | 1.013 | 0.085 | 11.849 | 0.0000 | *** | ⚠️ > 1 (cek multikolinearitas) |
| CustSat | GovProgram | -0.108 | 0.129 | -0.837 | 0.4024 | ns | Tidak Didukung |
| EffPerf | GovProgram | 0.261 | 0.085 | 3.063 | 0.0022 | ** | Didukung (+) |
| EffPerf | Innovation | 0.361 | 0.176 | 2.048 | 0.0405 |
|
Didukung (+) |
| EffPerf | Cost | 0.308 | 0.189 | 1.630 | 0.1032 | ns | Tidak Didukung |
| EffPerf | Employee | -0.324 | 0.205 | -1.575 | 0.1152 | ns | Tidak Didukung |
| EffPerf | Supplier | 0.263 | 0.238 | 1.108 | 0.2677 | ns | Tidak Didukung |
| EffPerf | StdImpl | 0.025 | 0.050 | 0.506 | 0.6126 | ns | Tidak Didukung |
| EffPerf | RiskMgt | 0.090 | 0.261 | 0.346 | 0.7290 | ns | Tidak Didukung |
| EffPerf | Efficiency | -0.053 | 0.212 | -0.251 | 0.8018 | ns | Tidak Didukung |
| EffPerf | CustSat | -0.035 | 0.280 | -0.124 | 0.9017 | ns | Tidak Didukung |
| EffPerf | Compliance | -0.019 | 0.162 | -0.116 | 0.9074 | ns | Tidak Didukung |
| EffPerf | Quality | -0.015 | 0.161 | -0.094 | 0.9247 | ns | Tidak Didukung |
| Efficiency | Importance | 0.993 | 0.075 | 13.259 | 0.0000 | *** | Didukung (+) |
| Efficiency | GovProgram | -0.118 | 0.127 | -0.934 | 0.3505 | ns | Tidak Didukung |
| Employee | Importance | 0.956 | 0.101 | 9.425 | 0.0000 | *** | Didukung (+) |
| Employee | GovProgram | -0.089 | 0.156 | -0.572 | 0.5675 | ns | Tidak Didukung |
| FinancialPerf | GovProgram | 0.283 | 0.074 | 3.830 | 0.0001 | *** | Didukung (+) |
| FinancialPerf | Cost | 0.596 | 0.162 | 3.687 | 0.0002 | *** | Didukung (+) |
| FinancialPerf | StdImpl | -0.113 | 0.049 | -2.331 | 0.0198 |
|
Didukung (−) ⚠️ |
| FinancialPerf | Efficiency | -0.417 | 0.231 | -1.809 | 0.0705 | . | Tidak Didukung |
| FinancialPerf | Quality | 0.204 | 0.154 | 1.325 | 0.1851 | ns | Tidak Didukung |
| FinancialPerf | Innovation | 0.183 | 0.157 | 1.170 | 0.2420 | ns | Tidak Didukung |
| FinancialPerf | CustSat | -0.254 | 0.262 | -0.968 | 0.3333 | ns | Tidak Didukung |
| FinancialPerf | Supplier | 0.144 | 0.175 | 0.823 | 0.4103 | ns | Tidak Didukung |
| FinancialPerf | RiskMgt | 0.175 | 0.248 | 0.706 | 0.4801 | ns | Tidak Didukung |
| FinancialPerf | Compliance | 0.109 | 0.155 | 0.701 | 0.4832 | ns | Tidak Didukung |
| FinancialPerf | Employee | -0.008 | 0.161 | -0.052 | 0.9586 | ns | Tidak Didukung |
| Innovation | Importance | 0.928 | 0.094 | 9.824 | 0.0000 | *** | Didukung (+) |
| Innovation | GovProgram | -0.077 | 0.146 | -0.527 | 0.5981 | ns | Tidak Didukung |
| MarketPerf | Quality | 0.538 | 0.185 | 2.915 | 0.0036 | ** | Didukung (+) |
| MarketPerf | Efficiency | -0.932 | 0.329 | -2.835 | 0.0046 | ** | Didukung (−) ⚠️ |
| MarketPerf | GovProgram | 0.278 | 0.109 | 2.564 | 0.0103 |
|
Didukung (+) |
| MarketPerf | Compliance | 0.541 | 0.233 | 2.319 | 0.0204 |
|
Didukung (+) |
| MarketPerf | CustSat | 0.594 | 0.355 | 1.671 | 0.0947 | . | Tidak Didukung |
| MarketPerf | Supplier | 0.274 | 0.265 | 1.037 | 0.2998 | ns | Tidak Didukung |
| MarketPerf | RiskMgt | -0.333 | 0.334 | -0.998 | 0.3184 | ns | Tidak Didukung |
| MarketPerf | Innovation | -0.147 | 0.179 | -0.820 | 0.4123 | ns | Tidak Didukung |
| MarketPerf | Employee | 0.084 | 0.198 | 0.422 | 0.6727 | ns | Tidak Didukung |
| MarketPerf | Cost | 0.104 | 0.252 | 0.412 | 0.6804 | ns | Tidak Didukung |
| MarketPerf | StdImpl | -0.011 | 0.059 | -0.179 | 0.8580 | ns | Tidak Didukung |
| QualComp | GovProgram | 0.421 | 0.096 | 4.361 | 0.0000 | *** | Didukung (+) |
| QualComp | RiskMgt | 0.619 | 0.320 | 1.935 | 0.0531 | . | Tidak Didukung |
| QualComp | Quality | 0.261 | 0.175 | 1.492 | 0.1356 | ns | Tidak Didukung |
| QualComp | StdImpl | -0.077 | 0.052 | -1.479 | 0.1391 | ns | Tidak Didukung |
| QualComp | Employee | -0.287 | 0.207 | -1.389 | 0.1647 | ns | Tidak Didukung |
| QualComp | Supplier | 0.252 | 0.204 | 1.237 | 0.2162 | ns | Tidak Didukung |
| QualComp | Efficiency | -0.343 | 0.283 | -1.209 | 0.2267 | ns | Tidak Didukung |
| QualComp | Cost | 0.169 | 0.214 | 0.789 | 0.4302 | ns | Tidak Didukung |
| QualComp | Compliance | 0.106 | 0.165 | 0.645 | 0.5191 | ns | Tidak Didukung |
| QualComp | CustSat | -0.179 | 0.348 | -0.515 | 0.6063 | ns | Tidak Didukung |
| QualComp | Innovation | 0.042 | 0.161 | 0.262 | 0.7933 | ns | Tidak Didukung |
| Quality | Importance | 0.912 | 0.047 | 19.376 | 0.0000 | *** | Didukung (+) |
| Quality | GovProgram | -0.075 | 0.081 | -0.932 | 0.3513 | ns | Tidak Didukung |
| RiskMgt | Importance | 1.021 | 0.080 | 12.722 | 0.0000 | *** | ⚠️ > 1 (cek multikolinearitas) |
| RiskMgt | GovProgram | -0.122 | 0.130 | -0.937 | 0.3485 | ns | Tidak Didukung |
| StdImpl | GovProgram | 0.334 | 0.073 | 4.586 | 0.0000 | *** | Didukung (+) |
| StdImpl | Importance | -0.085 | 0.071 | -1.207 | 0.2276 | ns | Tidak Didukung |
| Supplier | Importance | 0.967 | 0.098 | 9.860 | 0.0000 | *** | Didukung (+) |
| Supplier | GovProgram | -0.097 | 0.155 | -0.626 | 0.5310 | ns | Tidak Didukung |
Legenda warna:
Hijau = Signifikan positif (hipotesis didukung)
Kuning = Signifikan negatif (perlu interpretasi hati-hati)
Merah = Beta > 1 (indikasi masalah multikolinearitas)
rsq <- lavInspect(fit_sem, "r2")
rsq_df <- data.frame(
Variabel = names(rsq),
R2 = round(rsq, 3),
Persen = paste0(round(rsq * 100, 1), "%"),
Kategori = case_when(
rsq >= 0.50 ~ "Kuat (> 50%)",
rsq >= 0.30 ~ "Moderate (30–50%)",
rsq >= 0.10 ~ "Lemah (10–30%)",
TRUE ~ "Sangat Lemah (< 10%)"
)
) %>%
filter(Variabel %in% c("Quality","Efficiency","Compliance","CustSat",
"RiskMgt","Supplier","Employee","Cost","Innovation",
"StdImpl","MarketPerf","FinancialPerf","EffPerf",
"QualComp")) %>%
arrange(desc(R2))
kable(rsq_df, caption = "R-Squared Variabel Laten (Endogen)") %>%
kable_styling(bootstrap_options = c("striped","hover"), full_width = FALSE) %>%
row_spec(which(rsq_df$R2 >= 0.50), background = "#e8f5e9") %>%
row_spec(which(rsq_df$R2 < 0.10), background = "#ffe0e0")| Variabel | R2 | Persen | Kategori | |
|---|---|---|---|---|
| MarketPerf | MarketPerf | 0.949 | 94.9% | Kuat (> 50%) |
| RiskMgt | RiskMgt | 0.908 | 90.8% | Kuat (> 50%) |
| CustSat | CustSat | 0.906 | 90.6% | Kuat (> 50%) |
| Efficiency | Efficiency | 0.858 | 85.8% | Kuat (> 50%) |
| QualComp | QualComp | 0.855 | 85.5% | Kuat (> 50%) |
| Supplier | Supplier | 0.832 | 83.2% | Kuat (> 50%) |
| Employee | Employee | 0.819 | 81.9% | Kuat (> 50%) |
| Cost | Cost | 0.800 | 80% | Kuat (> 50%) |
| FinancialPerf | FinancialPerf | 0.788 | 78.8% | Kuat (> 50%) |
| Innovation | Innovation | 0.782 | 78.2% | Kuat (> 50%) |
| Compliance | Compliance | 0.764 | 76.4% | Kuat (> 50%) |
| Quality | Quality | 0.754 | 75.4% | Kuat (> 50%) |
| EffPerf | EffPerf | 0.573 | 57.3% | Kuat (> 50%) |
| StdImpl | StdImpl | 0.084 | 8.4% | Sangat Lemah (< 10%) |
PERBAIKAN: Bootstrap dinaikkan dari 200x → 1000x untuk BCa CI yang lebih stabil dan terpercaya (Hayes, 2018). Menggunakan estimator ML (bukan MLR) karena bootstrap tidak kompatibel dengan sandwich SE dari MLR.
# Model mediasi: Importance → (Quality, Efficiency) → (MarketPerf, FinancialPerf)
sem_med_syntax <- paste0(
"# Measurement
Importance =~ ", paste(cols_def$Importance, collapse="+"), "
Quality =~ ", paste(cols_def$Quality, collapse="+"), "
Efficiency =~ ", paste(cols_def$Efficiency, collapse="+"), "
MarketPerf =~ ", paste(cols_def$MarketPerf, collapse="+"), "
FinancialPerf =~ ", paste(cols_def$FinancialPerf, collapse="+"), "
# Structural dengan label untuk mediasi
Quality ~ a1 * Importance
Efficiency ~ a2 * Importance
MarketPerf ~ b1*Quality + b2*Efficiency + c1*Importance
FinancialPerf ~ b3*Quality + b4*Efficiency + c2*Importance
# Efek tidak langsung (indirect effects)
ind_Qual_Mkt := a1 * b1 # Importance → Quality → MarketPerf
ind_Eff_Mkt := a2 * b2 # Importance → Efficiency → MarketPerf
ind_Qual_Fin := a1 * b3 # Importance → Quality → FinancialPerf
ind_Eff_Fin := a2 * b4 # Importance → Efficiency → FinancialPerf
# Total effect
total_Mkt := a1*b1 + a2*b2 + c1
total_Fin := a1*b3 + a2*b4 + c2
")
cat("Menjalankan Bootstrap 1000x (estimasi ~3-5 menit)...\n")Menjalankan Bootstrap 1000x (estimasi ~3-5 menit)...
set.seed(2025)
fit_med <- sem(
model = sem_med_syntax,
data = df_imp,
estimator = "ML", # ML untuk bootstrap (bukan MLR)
se = "bootstrap",
bootstrap = 1000 # DIPERBAIKI: dari 200 → 1000
)
indirect <- parameterEstimates(fit_med, boot.ci.type = "bca.simple") %>%
filter(op == ":=") %>%
transmute(
Label = label,
Jalur = case_when(
label == "ind_Qual_Mkt" ~ "Importance → Quality → MarketPerf",
label == "ind_Eff_Mkt" ~ "Importance → Efficiency → MarketPerf",
label == "ind_Qual_Fin" ~ "Importance → Quality → FinancialPerf",
label == "ind_Eff_Fin" ~ "Importance → Efficiency → FinancialPerf",
label == "total_Mkt" ~ "Total Effect → MarketPerf",
label == "total_Fin" ~ "Total Effect → FinancialPerf",
TRUE ~ label
),
Est = round(est, 3),
SE = round(se, 3),
CI_lower = round(ci.lower, 3),
CI_upper = round(ci.upper, 3),
p = round(pvalue, 4),
Mediasi = ifelse(
(ci.lower > 0 & ci.upper > 0) | (ci.lower < 0 & ci.upper < 0),
"Signifikan ✓", "Tidak Signifikan ✗"
)
)
kable(indirect,
caption = "Indirect & Total Effects – Bootstrap 1000x (95% BCa CI)") %>%
kable_styling(bootstrap_options = c("striped","hover"), full_width = FALSE) %>%
row_spec(which(indirect$Mediasi == "Signifikan ✓"), background = "#e8f5e9") %>%
column_spec(2, width = "25em")| Label | Jalur | Est | SE | CI_lower | CI_upper | p | Mediasi |
|---|---|---|---|---|---|---|---|
| ind_Qual_Mkt | Importance → Quality → MarketPerf | 0.461 | 0.242 | 0.196 | 1.320 | 0.0567 | Signifikan ✓ |
| ind_Eff_Mkt | Importance → Efficiency → MarketPerf | -0.339 | 0.962 | -5.842 | 0.034 | 0.7246 | Tidak Signifikan ✗ |
| ind_Qual_Fin | Importance → Quality → FinancialPerf | 0.419 | 0.324 | 0.033 | 1.284 | 0.1949 | Signifikan ✓ |
| ind_Eff_Fin | Importance → Efficiency → FinancialPerf | 0.281 | 1.460 | -1.945 | 1.061 | 0.8475 | Tidak Signifikan ✗ |
| total_Mkt | Total Effect → MarketPerf | 0.443 | 0.103 | 0.270 | 0.660 | 0.0000 | Signifikan ✓ |
| total_Fin | Total Effect → FinancialPerf | 0.655 | 0.103 | 0.460 | 0.873 | 0.0000 | Signifikan ✓ |
semPaths(fit_sem,
what = "std",
layout = "tree2",
rotation = 2,
edge.label.cex = 0.45,
node.label.cex = 0.60,
residuals = FALSE,
intercepts = FALSE,
nCharNodes = 0,
sizeLat = 9,
sizeMan = 3,
fade = FALSE,
edge.color = "#2E86AB",
mar = c(3, 3, 3, 3),
style = "ram"
)
title("SEM – Dampak Standarisasi terhadap Kinerja Perusahaan\n(Bappenas, 2025)",
cex.main = 1.0)# Filter jalur utama yang relevan dengan hipotesis penelitian
h_summary <- paths %>%
filter(
# H1: Importance → Mediator
(Eksogen == "Importance" & Endogen %in% c("Quality","Efficiency","Compliance",
"CustSat","RiskMgt","Supplier",
"Employee","Cost","Innovation","StdImpl")) |
# H3: GovProgram → StdImpl (jalur signifikan)
(Eksogen == "GovProgram") |
# Beberapa jalur mediator → kinerja yang signifikan
(Endogen %in% c("MarketPerf","FinancialPerf","EffPerf","QualComp") &
p < 0.10)
) %>%
select(Endogen, Eksogen, Beta, p, Sig, Arah)
kable(h_summary,
caption = "Ringkasan Jalur Utama (Hipotesis Penelitian)") %>%
kable_styling(bootstrap_options = c("striped","hover","condensed"),
full_width = FALSE, font_size = 11) %>%
row_spec(which(h_summary$p < 0.05 & h_summary$Beta > 0),
background = "#e8f5e9") %>%
row_spec(which(h_summary$p < 0.05 & h_summary$Beta < 0),
background = "#fff3cd")| Endogen | Eksogen | Beta | p | Sig | Arah |
|---|---|---|---|---|---|
| Compliance | Importance | 0.979 | 0.0000 | *** | Didukung (+) |
| Compliance | GovProgram | -0.198 | 0.1805 | ns | Tidak Didukung |
| Cost | Importance | 0.913 | 0.0000 | *** | Didukung (+) |
| Cost | GovProgram | -0.031 | 0.8425 | ns | Tidak Didukung |
| CustSat | Importance | 1.013 | 0.0000 | *** | ⚠️ > 1 (cek multikolinearitas) |
| CustSat | GovProgram | -0.108 | 0.4024 | ns | Tidak Didukung |
| EffPerf | GovProgram | 0.261 | 0.0022 | ** | Didukung (+) |
| EffPerf | Innovation | 0.361 | 0.0405 |
|
Didukung (+) |
| Efficiency | Importance | 0.993 | 0.0000 | *** | Didukung (+) |
| Efficiency | GovProgram | -0.118 | 0.3505 | ns | Tidak Didukung |
| Employee | Importance | 0.956 | 0.0000 | *** | Didukung (+) |
| Employee | GovProgram | -0.089 | 0.5675 | ns | Tidak Didukung |
| FinancialPerf | GovProgram | 0.283 | 0.0001 | *** | Didukung (+) |
| FinancialPerf | Cost | 0.596 | 0.0002 | *** | Didukung (+) |
| FinancialPerf | StdImpl | -0.113 | 0.0198 |
|
Didukung (−) ⚠️ |
| FinancialPerf | Efficiency | -0.417 | 0.0705 | . | Tidak Didukung |
| Innovation | Importance | 0.928 | 0.0000 | *** | Didukung (+) |
| Innovation | GovProgram | -0.077 | 0.5981 | ns | Tidak Didukung |
| MarketPerf | Quality | 0.538 | 0.0036 | ** | Didukung (+) |
| MarketPerf | Efficiency | -0.932 | 0.0046 | ** | Didukung (−) ⚠️ |
| MarketPerf | GovProgram | 0.278 | 0.0103 |
|
Didukung (+) |
| MarketPerf | Compliance | 0.541 | 0.0204 |
|
Didukung (+) |
| MarketPerf | CustSat | 0.594 | 0.0947 | . | Tidak Didukung |
| QualComp | GovProgram | 0.421 | 0.0000 | *** | Didukung (+) |
| QualComp | RiskMgt | 0.619 | 0.0531 | . | Tidak Didukung |
| Quality | Importance | 0.912 | 0.0000 | *** | Didukung (+) |
| Quality | GovProgram | -0.075 | 0.3513 | ns | Tidak Didukung |
| RiskMgt | Importance | 1.021 | 0.0000 | *** | ⚠️ > 1 (cek multikolinearitas) |
| RiskMgt | GovProgram | -0.122 | 0.3485 | ns | Tidak Didukung |
| StdImpl | GovProgram | 0.334 | 0.0000 | *** | Didukung (+) |
| StdImpl | Importance | -0.085 | 0.2276 | ns | Tidak Didukung |
| Supplier | Importance | 0.967 | 0.0000 | *** | Didukung (+) |
| Supplier | GovProgram | -0.097 | 0.5310 | ns | Tidak Didukung |
# Buat folder output jika belum ada
if (!dir.exists("output")) dir.create("output")
write.csv(paths, "output/hasil_jalur_sem.csv", row.names = FALSE)
write.csv(cr_ave_tbl, "output/hasil_cr_ave.csv", row.names = FALSE)
write.csv(alpha_tbl, "output/hasil_reliabilitas.csv", row.names = FALSE)
write.csv(indirect, "output/hasil_mediasi.csv", row.names = FALSE)
write.csv(rsq_df, "output/hasil_rsquared.csv", row.names = FALSE)
write.csv(load_df, "output/hasil_loadings.csv", row.names = FALSE)
cat("══════════════════════════════════════════════════\n")══════════════════════════════════════════════════
RINGKASAN HASIL SEM FINAL
══════════════════════════════════════════════════
Sampel : 276 responden
Konstruk : 16
Indikator total : 46
──────────────────────────────────────────────────
Fit Model (Robust / MLR):
CFI = 0.928 | TLI = 0.919
RMSEA = 0.049 | SRMR = 0.049
──────────────────────────────────────────────────
sig_paths <- paths %>% filter(p < 0.05)
cat(sprintf(" Jalur signifikan : %d dari %d\n", nrow(sig_paths), nrow(paths))) Jalur signifikan : 20 dari 64
Jalur positif sig : 18
Jalur negatif sig : 2 ⚠️
──────────────────────────────────────────────────
File output tersimpan di folder: output/
✓ hasil_jalur_sem.csv
✓ hasil_cr_ave.csv
✓ hasil_reliabilitas.csv
✓ hasil_mediasi.csv
✓ hasil_rsquared.csv
✓ hasil_loadings.csv
══════════════════════════════════════════════════
Kekuatan analisis ini:
Keterbatasan yang perlu dicatat:
Multikolinearitas mediator: Beberapa konstruk mediator berkorelasi sangat tinggi (> 0.85). Path coefficient individual mungkin tidak stabil — lebih aman menginterpretasikan total effect daripada path per-mediator.
Beta > 1: Beberapa jalur H1 (Importance → Mediator) menghasilkan standardized coefficient > 1.0, yang mengindikasikan Heywood case atau estimasi tidak stabil akibat multikolinearitas.
Validitas diskriminan: Beberapa pasangan konstruk (CustSat–RiskMgt, FinancialPerf–QualComp) memiliki korelasi yang sangat tinggi. Pertimbangkan menggabungkan konstruk yang konseptually overlapping untuk model yang lebih parsimonious.
StdImpl: Konstruk ini berdiri sendiri (korelasi dengan konstruk lain ≈ 0) dan R² = ~8%. Perlu evaluasi teoritis apakah StdImpl layak dipertahankan dalam model.
Referensi: Hair et al. (2014); Fornell & Larcker (1981); Rhemtulla et al. (2012); Little et al. (2002); Henseler et al. (2015); Hayes (2018)
Universitas Airlangga × Bappenas | 2025