1 Pendahuluan

Dokumen ini menyajikan analisis Structural Equation Modeling (SEM) terhadap model Technology Acceptance Model (TAM) yang diperluas dengan tiga anteseden personal: Digital Literacy (DL), Self-Efficacy (SE), dan Personal Innovativeness (PI). Konstruk yang diuji:

DL, SE, PI → PEOU → PU → AT → BI → AU

Paket R yang digunakan: lavaan, semPlot, semTools, readxl, dplyr, psych, corrplot, ggplot2, knitr.

Catatan: Pastikan file TAM_Dataset.xlsx berada pada direktori kerja (working directory) yang sama dengan file .Rmd ini sebelum melakukan Knit.

2 Persiapan Paket

pkgs <- c("lavaan", "semPlot", "semTools", "readxl", "dplyr",
          "psych", "corrplot", "ggplot2", "knitr")

for (p in pkgs) {
  if (!requireNamespace(p, quietly = TRUE)) {
    install.packages(p, repos = "https://cloud.r-project.org")
  }
  library(p, character.only = TRUE)
}

3 Persiapan Data

3.1 Memuat Data

df_raw <- read_xlsx("TAM_Dataset.xlsx")

# Pilih hanya item indikator TAM
tam_items <- c(
  paste0("DL",   1:5),
  paste0("SE",   1:9),
  paste0("PI",   1:5),
  paste0("PU",   1:10),
  paste0("PEOU", 1:14),
  paste0("AT",   1:8),
  paste0("BI",   1:5),
  paste0("AU",   1:5)
)

df <- df_raw %>%
  select(all_of(tam_items)) %>%
  mutate(across(everything(), as.numeric)) %>%
  na.omit()

3.2 Gambaran Umum Data

cat("Jumlah responden  :", nrow(df), "\n")
## Jumlah responden  : 401
cat("Jumlah indikator  :", ncol(df), "\n")
## Jumlah indikator  : 61

4 Statistik Deskriptif

desc <- describe(df)[, c("n","mean","sd","min","max","skew","kurtosis")]
knitr::kable(round(desc, 3), caption = "Statistik Deskriptif Item Indikator")
Statistik Deskriptif Item Indikator
n mean sd min max skew kurtosis
DL1 401 4.299 0.781 1 5 -1.454 3.257
DL2 401 4.317 0.746 1 5 -1.196 2.061
DL3 401 4.352 0.751 1 5 -1.593 4.363
DL4 401 4.287 0.771 1 5 -1.419 3.300
DL5 401 4.284 0.780 1 5 -1.516 3.723
SE1 401 4.282 0.773 1 5 -1.533 3.745
SE2 401 4.282 0.841 1 5 -1.546 3.120
SE3 401 4.317 0.798 1 5 -1.392 2.564
SE4 401 4.195 0.808 1 5 -1.502 3.657
SE5 401 4.264 0.851 1 5 -1.597 3.437
SE6 401 4.264 0.800 1 5 -1.415 3.076
SE7 401 4.319 0.770 1 5 -1.334 2.510
SE8 401 4.304 0.811 1 5 -1.447 2.813
SE9 401 4.304 0.736 1 5 -1.294 2.890
PI1 401 4.329 0.819 1 5 -1.757 4.275
PI2 401 4.262 0.848 1 5 -1.482 2.841
PI3 401 4.175 0.854 1 5 -1.301 2.161
PI4 401 4.227 0.822 1 5 -1.489 3.374
PI5 401 4.292 0.817 1 5 -1.375 2.359
PU1 401 4.374 0.778 1 5 -1.837 5.057
PU2 401 4.319 0.786 1 5 -1.518 3.391
PU3 401 4.352 0.783 1 5 -1.574 3.554
PU4 401 4.362 0.753 1 5 -1.508 3.523
PU5 401 4.322 0.741 1 5 -1.510 4.099
PU6 401 4.312 0.775 1 5 -1.339 2.502
PU7 401 4.247 0.801 1 5 -1.462 3.274
PU8 401 4.224 0.860 1 5 -1.411 2.620
PU9 401 4.409 0.723 1 5 -1.624 4.360
PU10 401 4.242 0.836 1 5 -1.501 3.085
PEOU1 401 4.389 0.789 1 5 -1.868 4.934
PEOU2 401 4.274 0.839 1 5 -1.637 3.613
PEOU3 401 4.289 0.762 1 5 -1.517 4.017
PEOU4 401 4.314 0.846 1 5 -1.409 2.228
PEOU5 401 4.317 0.756 1 5 -1.598 4.397
PEOU6 401 4.299 0.809 1 5 -1.383 2.588
PEOU7 401 4.364 0.729 1 5 -1.451 3.435
PEOU8 401 4.249 0.832 1 5 -1.529 3.350
PEOU9 401 4.262 0.793 1 5 -1.399 3.123
PEOU10 401 4.322 0.774 1 5 -1.623 4.178
PEOU11 401 4.317 0.795 1 5 -1.608 3.939
PEOU12 401 4.334 0.805 1 5 -1.792 4.638
PEOU13 401 4.287 0.812 1 5 -1.514 3.236
PEOU14 401 4.297 0.777 1 5 -1.458 3.176
AT1 401 4.319 0.856 1 5 -1.923 4.746
AT2 401 4.289 0.819 1 5 -1.636 3.743
AT3 401 4.242 0.818 1 5 -1.481 3.255
AT4 401 4.309 0.824 1 5 -1.532 2.968
AT5 401 4.277 0.849 1 5 -1.585 3.178
AT6 401 4.269 0.835 1 5 -1.693 4.008
AT7 401 4.247 0.920 1 5 -1.581 2.700
AT8 401 4.304 0.808 1 5 -1.711 4.184
BI1 401 4.172 0.942 1 5 -1.670 3.205
BI2 401 4.160 0.959 1 5 -1.578 2.680
BI3 401 4.299 0.822 1 5 -1.570 3.431
BI4 401 4.229 0.808 1 5 -1.403 2.994
BI5 401 4.317 0.841 1 5 -1.781 4.198
AU1 401 4.322 0.802 1 5 -1.684 3.979
AU2 401 4.364 0.817 1 5 -1.688 3.533
AU3 401 4.142 0.986 1 5 -1.550 2.394
AU4 401 4.272 0.833 1 5 -1.681 3.997
AU5 401 4.294 0.874 1 5 -1.727 3.687

5 Uji Reliabilitas (Cronbach’s Alpha)

constructs_items <- list(
  DL   = paste0("DL",   1:5),
  SE   = paste0("SE",   1:9),
  PI   = paste0("PI",   1:5),
  PU   = paste0("PU",   1:10),
  PEOU = paste0("PEOU", 1:14),
  AT   = paste0("AT",   1:8),
  BI   = paste0("BI",   1:5),
  AU   = paste0("AU",   1:5)
)

alpha_results <- sapply(constructs_items, function(items) {
  psych::alpha(df[, items], check.keys = TRUE)$total$raw_alpha
})

alpha_df <- data.frame(
  Konstruk = names(alpha_results),
  Cronbach_Alpha = round(alpha_results, 4),
  Keterangan = ifelse(alpha_results >= 0.7, "Reliabel \u2713", "Tidak Reliabel \u2717")
)

knitr::kable(alpha_df, row.names = FALSE, caption = "Hasil Uji Reliabilitas")
Hasil Uji Reliabilitas
Konstruk Cronbach_Alpha Keterangan
DL 0.7717 Reliabel ✓
SE 0.8885 Reliabel ✓
PI 0.8044 Reliabel ✓
PU 0.8831 Reliabel ✓
PEOU 0.9214 Reliabel ✓
AT 0.8995 Reliabel ✓
BI 0.8139 Reliabel ✓
AU 0.8361 Reliabel ✓

6 Matriks Korelasi Antar Konstruk

# Buat composite score per konstruk
for (c_name in names(constructs_items)) {
  df[[c_name]] <- rowMeans(df[, constructs_items[[c_name]]])
}

cor_constructs <- cor(df[, names(constructs_items)], use = "complete.obs")
knitr::kable(round(cor_constructs, 3), caption = "Matriks Korelasi Antar Konstruk")
Matriks Korelasi Antar Konstruk
DL SE PI PU PEOU AT BI AU
DL 1.000 0.893 0.823 0.826 0.838 0.820 0.728 0.772
SE 0.893 1.000 0.868 0.876 0.890 0.860 0.782 0.834
PI 0.823 0.868 1.000 0.851 0.858 0.869 0.807 0.822
PU 0.826 0.876 0.851 1.000 0.894 0.879 0.782 0.849
PEOU 0.838 0.890 0.858 0.894 1.000 0.907 0.813 0.880
AT 0.820 0.860 0.869 0.879 0.907 1.000 0.825 0.894
BI 0.728 0.782 0.807 0.782 0.813 0.825 1.000 0.852
AU 0.772 0.834 0.822 0.849 0.880 0.894 0.852 1.000
corrplot(cor_constructs, method = "color", type = "upper",
         addCoef.col = "black", number.cex = 0.8,
         tl.cex = 0.9, col = colorRampPalette(c("#2166AC","white","#D6604D"))(200),
         title = "Matriks Korelasi Antar Konstruk TAM", mar = c(0,0,2,0))

7 Confirmatory Factor Analysis (CFA)

cfa_model <- "
  DL   =~ DL1 + DL2 + DL3 + DL4 + DL5
  SE   =~ SE1 + SE2 + SE3 + SE4 + SE5 + SE6 + SE7 + SE8 + SE9
  PI   =~ PI1 + PI2 + PI3 + PI4 + PI5
  PU   =~ PU1 + PU2 + PU3 + PU4 + PU5 + PU6 + PU7 + PU8 + PU9 + PU10
  PEOU =~ PEOU1 + PEOU2 + PEOU3 + PEOU4 + PEOU5 + PEOU6 + PEOU7 +
           PEOU8 + PEOU9 + PEOU10 + PEOU11 + PEOU12 + PEOU13 + PEOU14
  AT   =~ AT1 + AT2 + AT3 + AT4 + AT5 + AT6 + AT7 + AT8
  BI   =~ BI1 + BI2 + BI3 + BI4 + BI5
  AU   =~ AU1 + AU2 + AU3 + AU4 + AU5
"

fit_cfa <- cfa(cfa_model, data = df, estimator = "MLR",
               std.lv = FALSE, orthogonal = FALSE)

7.1 Goodness of Fit CFA

fit_indices_cfa <- fitMeasures(fit_cfa, c("chisq","df","pvalue","cfi","tli",
                                           "rmsea","rmsea.ci.lower","rmsea.ci.upper",
                                           "srmr","aic","bic"))
knitr::kable(t(round(fit_indices_cfa, 4)), caption = "Goodness of Fit - CFA")
Goodness of Fit - CFA
chisq df pvalue cfi tli rmsea rmsea.ci.lower rmsea.ci.upper srmr aic bic
3948.6426 1741.0000 0.0000 0.8623 0.8552 0.0562 0.0539 0.0586 0.0423 45479.8702 46078.9644
NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA

7.2 Factor Loadings (Standardized)

cfa_std <- standardizedSolution(fit_cfa)
loadings_cfa <- cfa_std[cfa_std$op == "=~", c("lhs","rhs","est.std","se","z","pvalue")]
names(loadings_cfa) <- c("Konstruk","Indikator","Loading","SE","Z","p_value")
num_cols <- sapply(loadings_cfa, is.numeric)
loadings_cfa[num_cols] <- lapply(loadings_cfa[num_cols], round, 4)

knitr::kable(loadings_cfa, row.names = FALSE, caption = "Factor Loadings CFA (Standardized)")
Factor Loadings CFA (Standardized)
Konstruk Indikator Loading SE Z p_value
DL DL1 0.6227 0.0555 11.2297 0
DL DL2 0.6400 0.0454 14.0822 0
DL DL3 0.6116 0.0549 11.1371 0
DL DL4 0.6476 0.0598 10.8341 0
DL DL5 0.6527 0.0530 12.3222 0
SE SE1 0.6707 0.0489 13.7185 0
SE SE2 0.6971 0.0411 16.9443 0
SE SE3 0.6626 0.0448 14.7911 0
SE SE4 0.7298 0.0411 17.7614 0
SE SE5 0.6997 0.0443 15.7769 0
SE SE6 0.6978 0.0420 16.5997 0
SE SE7 0.6310 0.0502 12.5780 0
SE SE8 0.6991 0.0496 14.0940 0
SE SE9 0.6870 0.0428 16.0663 0
PI PI1 0.7258 0.0421 17.2573 0
PI PI2 0.6900 0.0394 17.5092 0
PI PI3 0.5994 0.0499 12.0188 0
PI PI4 0.6748 0.0487 13.8512 0
PI PI5 0.6721 0.0447 15.0283 0
PU PU1 0.7201 0.0476 15.1114 0
PU PU2 0.7155 0.0425 16.8554 0
PU PU3 0.6358 0.0564 11.2774 0
PU PU4 0.6416 0.0566 11.3372 0
PU PU5 0.5952 0.0725 8.2066 0
PU PU6 0.6404 0.0581 11.0266 0
PU PU7 0.7046 0.0385 18.2892 0
PU PU8 0.6169 0.0539 11.4352 0
PU PU9 0.5578 0.0757 7.3737 0
PU PU10 0.7333 0.0404 18.1541 0
PEOU PEOU1 0.6946 0.0491 14.1474 0
PEOU PEOU2 0.6442 0.0555 11.6135 0
PEOU PEOU3 0.6042 0.0627 9.6414 0
PEOU PEOU4 0.5786 0.0610 9.4862 0
PEOU PEOU5 0.6311 0.0582 10.8456 0
PEOU PEOU6 0.6657 0.0480 13.8762 0
PEOU PEOU7 0.5909 0.0711 8.3105 0
PEOU PEOU8 0.7225 0.0376 19.2089 0
PEOU PEOU9 0.7109 0.0397 17.9162 0
PEOU PEOU10 0.6672 0.0489 13.6494 0
PEOU PEOU11 0.7470 0.0359 20.8167 0
PEOU PEOU12 0.7096 0.0398 17.8264 0
PEOU PEOU13 0.7303 0.0348 20.9880 0
PEOU PEOU14 0.7300 0.0385 18.9790 0
AT AT1 0.7389 0.0427 17.3054 0
AT AT2 0.7171 0.0412 17.4082 0
AT AT3 0.6971 0.0441 15.8150 0
AT AT4 0.7339 0.0387 18.9432 0
AT AT5 0.7538 0.0332 22.7276 0
AT AT6 0.7311 0.0441 16.5970 0
AT AT7 0.7130 0.0407 17.4971 0
AT AT8 0.7355 0.0413 17.8111 0
BI BI1 0.6791 0.0462 14.7054 0
BI BI2 0.6718 0.0463 14.5134 0
BI BI3 0.6546 0.0523 12.5207 0
BI BI4 0.6424 0.0515 12.4822 0
BI BI5 0.7600 0.0387 19.6504 0
AU AU1 0.6695 0.0520 12.8685 0
AU AU2 0.7265 0.0422 17.2106 0
AU AU3 0.7201 0.0349 20.6465 0
AU AU4 0.7370 0.0392 18.7868 0
AU AU5 0.7258 0.0419 17.3169 0

7.3 Validitas Konvergen (AVE) & Reliabilitas Komposit (CR)

tryCatch({
  rel_cfa <- semTools::reliability(fit_cfa)
  knitr::kable(round(rel_cfa, 4), caption = "AVE & Composite Reliability")
}, error = function(e) {
  cat("Catatan: semTools::reliability() tidak tersedia, gunakan compRelX().\n")
  rel_cfa <- semTools::compRelX(fit_cfa)
  print(round(rel_cfa, 4))
})
AVE & Composite Reliability
DL SE PI PU PEOU AT BI AU
alpha 0.7717 0.8885 0.8044 0.8831 0.9214 0.8995 0.8139 0.8361
omega 0.7717 0.8893 0.8048 0.8845 0.9212 0.8998 0.8124 0.8400
omega2 0.7717 0.8893 0.8048 0.8845 0.9212 0.8998 0.8124 0.8400
omega3 0.7713 0.8904 0.8044 0.8851 0.9162 0.9003 0.8064 0.8445
avevar 0.4036 0.4728 0.4526 0.4371 0.4574 0.5295 0.4663 0.5143

7.4 Discriminant Validity (HTMT)

htmt_result <- htmt(cfa_model, data = df)
knitr::kable(round(htmt_result, 3), caption = "Heterotrait-Monotrait Ratio (HTMT)")
Heterotrait-Monotrait Ratio (HTMT)
DL SE PI PU PEOU AT BI AU
DL 1.000 1.095 1.060 1.011 1.003 0.994 0.931 0.972
SE 1.095 1.000 1.034 0.997 0.990 0.968 0.932 0.975
PI 1.060 1.034 1.000 1.013 0.999 1.027 1.011 1.005
PU 1.011 0.997 1.013 1.000 0.994 0.988 0.925 0.986
PEOU 1.003 0.990 0.999 0.994 1.000 0.999 0.946 1.006
AT 0.994 0.968 1.027 0.988 0.999 1.000 0.971 1.031
BI 0.931 0.932 1.011 0.925 0.946 0.971 1.000 1.033
AU 0.972 0.975 1.005 0.986 1.006 1.031 1.033 1.000

8 Structural Equation Model (SEM) - TAM Lengkap

sem_model <- "

DL   =~ DL1 + DL2 + DL3 + DL4 + DL5
SE   =~ SE1 + SE2 + SE3 + SE4 + SE5 + SE6 + SE7 + SE8 + SE9
PI   =~ PI1 + PI2 + PI3 + PI4 + PI5
PU   =~ PU1 + PU2 + PU3 + PU4 + PU5 + PU6 + PU7 + PU8 + PU9 + PU10
PEOU =~ PEOU1 + PEOU2 + PEOU3 + PEOU4 + PEOU5 + PEOU6 + PEOU7 +
         PEOU8 + PEOU9 + PEOU10 + PEOU11 + PEOU12 + PEOU13 + PEOU14
AT   =~ AT1 + AT2 + AT3 + AT4 + AT5 + AT6 + AT7 + AT8
BI   =~ BI1 + BI2 + BI3 + BI4 + BI5
AU   =~ AU1 + AU2 + AU3 + AU4 + AU5

PEOU ~ DL + SE + PI
PU   ~ DL + SE + PI + PEOU

AT   ~ PU

BI   ~ AT

AU   ~ BI
"

fit_sem <- sem(sem_model, data = df, estimator = "MLR",
               std.lv = FALSE)

8.1 Goodness of Fit Indices SEM

fit_idx <- fitMeasures(fit_sem, c("chisq","df","pvalue","chisq.scaled",
                                   "cfi","cfi.robust","tli","tli.robust",
                                   "rmsea","rmsea.robust","rmsea.ci.lower",
                                   "rmsea.ci.upper","srmr","aic","bic"))
knitr::kable(t(round(fit_idx, 4)), caption = "Goodness of Fit - SEM")
Goodness of Fit - SEM
chisq df pvalue chisq.scaled cfi cfi.robust tli tli.robust rmsea rmsea.robust rmsea.ci.lower rmsea.ci.upper srmr aic bic
3987.4464 1756.0000 0.0000 3401.7386 0.8608 0.8773 0.8549 0.8721 0.0563 0.0523 0.0540 0.0586 0.0421 45488.6740 46027.8588
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

8.1.1 Interpretasi Fit Indices

cfi_val   <- fit_idx["cfi.robust"]
rmsea_val <- fit_idx["rmsea.robust"]
srmr_val  <- fit_idx["srmr"]

cat(sprintf("- **CFI**   = %.4f &rarr; %s (baik jika &ge; 0.90)\n", cfi_val,
            ifelse(cfi_val >= 0.95, "Sangat Baik",
                   ifelse(cfi_val >= 0.90, "Baik", "Perlu Revisi"))))
  • CFI = 0.8773 → Perlu Revisi (baik jika ≥ 0.90)
cat(sprintf("- **RMSEA** = %.4f &rarr; %s (baik jika &le; 0.08)\n", rmsea_val,
            ifelse(rmsea_val <= 0.05, "Sangat Baik",
                   ifelse(rmsea_val <= 0.08, "Baik", "Perlu Revisi"))))
  • RMSEA = 0.0523 → Baik (baik jika ≤ 0.08)
cat(sprintf("- **SRMR**  = %.4f &rarr; %s (baik jika &le; 0.08)\n", srmr_val,
            ifelse(srmr_val <= 0.05, "Sangat Baik",
                   ifelse(srmr_val <= 0.08, "Baik", "Perlu Revisi"))))
  • SRMR = 0.0421 → Sangat Baik (baik jika ≤ 0.08)

8.2 Koefisien Jalur (Path Coefficients, Standardized)

std_sol <- standardizedSolution(fit_sem, type = "std.all", se = TRUE, zstat = TRUE)
paths <- std_sol[std_sol$op == "~", c("lhs","op","rhs","est.std","se","z","pvalue","ci.lower","ci.upper")]
paths$Signifikansi <- ifelse(paths$pvalue < 0.001, "***",
                       ifelse(paths$pvalue < 0.01,  "**",
                         ifelse(paths$pvalue < 0.05, "*", "ns")))
paths$Hipotesis <- ifelse(paths$pvalue < 0.05, "Diterima H1", "Ditolak")
names(paths)[1:9] <- c("Dependen","Op","Independen","beta","SE","Z","p_value","CI_Low","CI_High")

hasil_paths <- paths[, c("Dependen","Independen","beta","SE","Z","p_value","Signifikansi","Hipotesis")]
num_cols <- sapply(hasil_paths, is.numeric)
hasil_paths[num_cols] <- lapply(hasil_paths[num_cols], round, 4)

knitr::kable(hasil_paths, row.names = FALSE, caption = "Koefisien Jalur Standardized")
Koefisien Jalur Standardized
Dependen Independen beta SE Z p_value Signifikansi Hipotesis
PEOU DL 0.5345 0.4527 1.1806 0.2377 ns Ditolak
PEOU SE 0.8279 0.5398 1.5336 0.1251 ns Ditolak
PEOU PI -0.4077 0.9593 -0.4250 0.6708 ns Ditolak
PU DL 0.0984 0.4840 0.2032 0.8389 ns Ditolak
PU SE 0.1413 0.8011 0.1764 0.8599 ns Ditolak
PU PI -0.5415 0.8143 -0.6649 0.5061 ns Ditolak
PU PEOU 1.3095 0.8901 1.4711 0.1413 ns Ditolak
AT PU 0.9855 0.0096 102.8314 0.0000 *** Diterima H1
BI AT 0.9693 0.0194 50.0158 0.0000 *** Diterima H1
AU BI 1.0390 0.0138 75.0595 0.0000 *** Diterima H1

8.3 R-Squared (Varians Terjelaskan)

r2 <- lavInspect(fit_sem, "r2")
r2_endogen <- r2[names(r2) %in% c("PEOU","PU","AT","BI","AU")]
r2_df <- data.frame(
  Konstruk = names(r2_endogen),
  R2       = round(r2_endogen, 4),
  Persen   = paste0(round(r2_endogen * 100, 1), "%"),
  Keterangan = ifelse(r2_endogen >= 0.26, "Substansial",
                 ifelse(r2_endogen >= 0.13, "Moderat", "Lemah"))
)

knitr::kable(r2_df, row.names = FALSE, caption = "R-Squared Konstruk Endogen")
R-Squared Konstruk Endogen
Konstruk R2 Persen Keterangan
PU 0.9984 99.8% Substansial
PEOU 0.9411 94.1% Substansial
AT 0.9712 97.1% Substansial
BI 0.9395 94% Substansial
AU NA NA% NA

9 Efek Tidak Langsung (Mediation Analysis)

sem_mediation <- "
  # MEASUREMENT
  DL   =~ DL1 + DL2 + DL3 + DL4 + DL5
  SE   =~ SE1 + SE2 + SE3 + SE4 + SE5 + SE6 + SE7 + SE8 + SE9
  PI   =~ PI1 + PI2 + PI3 + PI4 + PI5
  PU   =~ PU1 + PU2 + PU3 + PU4 + PU5 + PU6 + PU7 + PU8 + PU9 + PU10
  PEOU =~ PEOU1 + PEOU2 + PEOU3 + PEOU4 + PEOU5 + PEOU6 + PEOU7 +
           PEOU8 + PEOU9 + PEOU10 + PEOU11 + PEOU12 + PEOU13 + PEOU14
  AT   =~ AT1 + AT2 + AT3 + AT4 + AT5 + AT6 + AT7 + AT8
  BI   =~ BI1 + BI2 + BI3 + BI4 + BI5
  AU   =~ AU1 + AU2 + AU3 + AU4 + AU5

  # STRUCTURAL dengan label untuk indirect effects
  PEOU ~ a1*DL + a2*SE + a3*PI
  PU   ~ b1*DL + b2*SE + b3*PI + c1*PEOU
  AT   ~ d2*PU
  BI   ~ e1*AT
  AU   ~ f1*BI

  # Efek Tidak Langsung DL -> AU (melalui PEOU -> PU -> AT -> BI -> AU)
  ind_DL_AU   := a1*c1*d2*e1*f1
  ind_SE_AU   := a2*c1*d2*e1*f1
  ind_PI_AU   := a3*c1*d2*e1*f1
  ind_PEOU_AU := c1*d2*e1*f1
  ind_PU_AU   := d2*e1*f1
  ind_AT_AU   := e1*f1
"

fit_med <- sem(sem_mediation, data = df, estimator = "ML",
               se = "bootstrap", bootstrap = 500)  # bootstrap untuk CI
ind_effects <- parameterEstimates(fit_med, boot.ci.type = "bca.simple",
                                   level = 0.95, ci = TRUE)
ind_eff_only <- ind_effects[ind_effects$op == ":=",
                              c("lhs","est","se","z","pvalue","ci.lower","ci.upper")]
names(ind_eff_only) <- c("Efek","Beta","SE","Z","p_value","CI_95_Low","CI_95_High")
ind_eff_only$Signifikan <- ifelse(ind_eff_only$p_value < 0.05, "Ya", "Tidak")
num_cols <- sapply(ind_eff_only, is.numeric)
ind_eff_only[num_cols] <- lapply(ind_eff_only[num_cols], round, 4)

knitr::kable(ind_eff_only, row.names = FALSE,
             caption = "Efek Tidak Langsung (Bootstrap 500x)")
Efek Tidak Langsung (Bootstrap 500x)
Efek Beta SE Z p_value CI_95_Low CI_95_High Signifikan
ind_DL_AU 0.7798 0.6702 1.1636 0.2446 0.1976 4.5524 Tidak
ind_SE_AU 1.1381 0.8249 1.3796 0.1677 0.3326 6.5668 Tidak
ind_PI_AU -0.4830 0.7527 -0.6417 0.5211 -3.8448 0.1433 Tidak
ind_PEOU_AU 1.2946 0.8116 1.5951 0.1107 0.7511 8.4008 Tidak
ind_PU_AU 0.9810 0.0815 12.0304 0.0000 0.8368 1.1249 Ya
ind_AT_AU 0.8692 0.0926 9.3876 0.0000 0.7145 1.0614 Ya

10 Visualisasi Path Diagram

semPaths(fit_sem,
         what        = "std",
         layout      = "tree2",
         rotation    = 2,
         edge.label.cex = 0.6,
         node.label.cex = 0.7,
         sizeMan     = 3,
         sizeLat     = 8,
         color       = list(lat = "#4472C4", man = "#ED7D31"),
         edge.color  = "gray40",
         residuals   = FALSE,
         intercepts  = FALSE,
         title       = TRUE,
         title.position = "top",
         mar         = c(1, 5, 1.5, 5))
title("Path Diagram SEM - Technology Acceptance Model (TAM)\n(angka = standardized path coefficients)",
      cex.main = 0.9)

11 Modification Indices (Top 10)

mi <- modindices(fit_sem, sort = TRUE, maximum.number = 10)
knitr::kable(mi[, c("lhs","op","rhs","mi","epc","sepc.all")], row.names = FALSE,
             caption = "Modification Indices (Top 10)")
Modification Indices (Top 10)
lhs op rhs mi epc sepc.all
BI =~ PI4 2393.79706 76.265071 59.080451
PU =~ PI4 292.43042 9.578716 6.443416
AU =~ PI4 253.80991 9.218521 6.129889
DL =~ AT8 160.47872 -9.864053 -5.947608
BI =~ PI5 98.51487 2.220514 1.731372
AT =~ PI5 97.63593 2.443177 1.894466
DL =~ AT5 91.66733 24.285135 13.929880
AU =~ PI5 87.81718 2.244754 1.502376
DL =~ AT1 68.90948 6.874285 3.910197
DL =~ AT7 64.61567 -5.188931 -2.746440

12 Rangkuman Pengujian Hipotesis

hipotesis <- data.frame(
  H  = paste0("H", 1:10),
  Jalur = c(
    "DL -> PEOU",
    "SE -> PEOU",
    "PI -> PEOU",
    "DL -> PU",
    "SE -> PU",
    "PI -> PU",
    "PEOU -> PU",
    "PU -> AT",
    "AT -> BI",
    "BI -> AU"
  ),
  Deskripsi = c(
    "Digital Literacy berpengaruh signifikan terhadap Perceived Ease of Use",
    "Self-Efficacy berpengaruh signifikan terhadap Perceived Ease of Use",
    "Personal Innovativeness berpengaruh signifikan terhadap Perceived Ease of Use",
    "Digital Literacy berpengaruh signifikan terhadap Perceived Usefulness",
    "Self-Efficacy berpengaruh signifikan terhadap Perceived Usefulness",
    "Personal Innovativeness berpengaruh signifikan terhadap Perceived Usefulness",
    "PEOU berpengaruh signifikan terhadap PU",
    "PU berpengaruh signifikan terhadap Attitude",
    "Attitude berpengaruh signifikan terhadap Behavioral Intention",
    "Behavioral Intention berpengaruh signifikan terhadap Actual Use"
  )
)

knitr::kable(hipotesis, row.names = FALSE, caption = "Rangkuman Hipotesis")
Rangkuman Hipotesis
H Jalur Deskripsi
H1 DL -> PEOU Digital Literacy berpengaruh signifikan terhadap Perceived Ease of Use
H2 SE -> PEOU Self-Efficacy berpengaruh signifikan terhadap Perceived Ease of Use
H3 PI -> PEOU Personal Innovativeness berpengaruh signifikan terhadap Perceived Ease of Use
H4 DL -> PU Digital Literacy berpengaruh signifikan terhadap Perceived Usefulness
H5 SE -> PU Self-Efficacy berpengaruh signifikan terhadap Perceived Usefulness
H6 PI -> PU Personal Innovativeness berpengaruh signifikan terhadap Perceived Usefulness
H7 PEOU -> PU PEOU berpengaruh signifikan terhadap PU
H8 PU -> AT PU berpengaruh signifikan terhadap Attitude
H9 AT -> BI Attitude berpengaruh signifikan terhadap Behavioral Intention
H10 BI -> AU Behavioral Intention berpengaruh signifikan terhadap Actual Use

Status signifikansi setiap hipotesis dapat dilihat pada tabel koefisien jalur di bagian Koefisien Jalur (Path Coefficients, Standardized) di atas.

13 Ringkasan Lengkap Model (lavaan summary)

summary(fit_sem, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE)
## lavaan 0.6-21 ended normally after 141 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                       135
## 
##   Number of observations                           401
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                              3987.446    3401.739
##   Degrees of freedom                              1756        1756
##   P-value (Chi-square)                           0.000       0.000
##   Scaling correction factor                                  1.172
##     Yuan-Bentler correction (Mplus variant)                       
## 
## Model Test Baseline Model:
## 
##   Test statistic                             17857.660   15314.363
##   Degrees of freedom                              1830        1830
##   P-value                                        0.000       0.000
##   Scaling correction factor                                  1.166
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.861       0.878
##   Tucker-Lewis Index (TLI)                       0.855       0.873
##                                                                   
##   Robust Comparative Fit Index (CFI)                         0.877
##   Robust Tucker-Lewis Index (TLI)                            0.872
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -22609.337  -22609.337
##   Scaling correction factor                                  1.792
##       for the MLR correction                                      
##   Loglikelihood unrestricted model (H1)     -20615.614  -20615.614
##   Scaling correction factor                                  1.216
##       for the MLR correction                                      
##                                                                   
##   Akaike (AIC)                               45488.674   45488.674
##   Bayesian (BIC)                             46027.859   46027.859
##   Sample-size adjusted Bayesian (SABIC)      45599.493   45599.493
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.056       0.048
##   90 Percent confidence interval - lower         0.054       0.046
##   90 Percent confidence interval - upper         0.059       0.051
##   P-value H_0: RMSEA <= 0.050                    0.000       0.887
##   P-value H_0: RMSEA >= 0.080                    0.000       0.000
##                                                                   
##   Robust RMSEA                                               0.052
##   90 Percent confidence interval - lower                     0.050
##   90 Percent confidence interval - upper                     0.055
##   P-value H_0: Robust RMSEA <= 0.050                         0.071
##   P-value H_0: Robust RMSEA >= 0.080                         0.000
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.042       0.042
## 
## 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
##   DL =~                                                                 
##     DL1               1.000                               0.486    0.623
##     DL2               0.981    0.090   10.872    0.000    0.477    0.640
##     DL3               0.940    0.122    7.713    0.000    0.457    0.610
##     DL4               1.026    0.090   11.416    0.000    0.499    0.648
##     DL5               1.048    0.113    9.237    0.000    0.510    0.654
##   SE =~                                                                 
##     SE1               1.000                               0.516    0.668
##     SE2               1.134    0.069   16.391    0.000    0.585    0.697
##     SE3               1.024    0.110    9.272    0.000    0.529    0.663
##     SE4               1.145    0.093   12.358    0.000    0.591    0.733
##     SE5               1.149    0.107   10.742    0.000    0.593    0.697
##     SE6               1.080    0.081   13.279    0.000    0.558    0.698
##     SE7               0.937    0.079   11.907    0.000    0.484    0.629
##     SE8               1.101    0.133    8.254    0.000    0.568    0.702
##     SE9               0.978    0.101    9.678    0.000    0.505    0.686
##   PI =~                                                                 
##     PI1               1.000                               0.599    0.732
##     PI2               0.971    0.075   12.950    0.000    0.582    0.687
##     PI3               0.842    0.071   11.927    0.000    0.504    0.591
##     PI4               0.934    0.065   14.312    0.000    0.559    0.681
##     PI5               0.910    0.097    9.421    0.000    0.545    0.668
##   PU =~                                                                 
##     PU1               1.000                               0.552    0.711
##     PU2               1.003    0.071   14.160    0.000    0.554    0.705
##     PU3               0.889    0.083   10.674    0.000    0.491    0.628
##     PU4               0.857    0.086   10.018    0.000    0.473    0.630
##     PU5               0.792    0.120    6.587    0.000    0.438    0.591
##     PU6               0.893    0.115    7.760    0.000    0.493    0.638
##     PU7               1.019    0.099   10.245    0.000    0.563    0.704
##     PU8               0.976    0.133    7.325    0.000    0.539    0.628
##     PU9               0.719    0.107    6.705    0.000    0.397    0.550
##     PU10              1.108    0.068   16.368    0.000    0.612    0.733
##   PEOU =~                                                               
##     PEOU1             1.000                               0.548    0.695
##     PEOU2             0.991    0.088   11.207    0.000    0.543    0.648
##     PEOU3             0.840    0.093    9.079    0.000    0.461    0.605
##     PEOU4             0.889    0.118    7.513    0.000    0.487    0.577
##     PEOU5             0.870    0.088    9.860    0.000    0.477    0.631
##     PEOU6             0.981    0.095   10.314    0.000    0.538    0.665
##     PEOU7             0.787    0.111    7.070    0.000    0.431    0.592
##     PEOU8             1.093    0.101   10.799    0.000    0.599    0.721
##     PEOU9             1.025    0.085   12.007    0.000    0.562    0.709
##     PEOU10            0.943    0.099    9.521    0.000    0.517    0.669
##     PEOU11            1.084    0.121    8.941    0.000    0.594    0.748
##     PEOU12            1.040    0.088   11.833    0.000    0.570    0.709
##     PEOU13            1.078    0.107   10.037    0.000    0.591    0.728
##     PEOU14            1.034    0.114    9.073    0.000    0.567    0.730
##   AT =~                                                                 
##     AT1               1.000                               0.633    0.740
##     AT2               0.934    0.079   11.894    0.000    0.591    0.722
##     AT3               0.908    0.073   12.518    0.000    0.574    0.703
##     AT4               0.964    0.075   12.877    0.000    0.610    0.741
##     AT5               1.018    0.070   14.472    0.000    0.644    0.760
##     AT6               0.974    0.069   14.050    0.000    0.616    0.738
##     AT7               1.033    0.098   10.530    0.000    0.654    0.711
##     AT8               0.943    0.072   13.029    0.000    0.597    0.740
##   BI =~                                                                 
##     BI1               1.000                               0.636    0.676
##     BI2               1.001    0.060   16.797    0.000    0.637    0.665
##     BI3               0.845    0.086    9.821    0.000    0.537    0.655
##     BI4               0.813    0.085    9.607    0.000    0.517    0.641
##     BI5               0.998    0.098   10.153    0.000    0.635    0.756
##   AU =~                                                                 
##     AU1               1.000                               0.546    0.681
##     AU2               1.092    0.071   15.453    0.000    0.596    0.731
##     AU3               1.289    0.131    9.859    0.000    0.704    0.715
##     AU4               1.115    0.113    9.866    0.000    0.609    0.732
##     AU5               1.154    0.109   10.562    0.000    0.630    0.722
## 
## Regressions:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   PEOU ~                                                                
##     DL                0.602    0.499    1.206    0.228    0.534    0.534
##     SE                0.879    0.570    1.543    0.123    0.828    0.828
##     PI               -0.373    0.875   -0.426    0.670   -0.408   -0.408
##   PU ~                                                                  
##     DL                0.112    0.549    0.204    0.839    0.098    0.098
##     SE                0.151    0.856    0.177    0.860    0.141    0.141
##     PI               -0.499    0.745   -0.670    0.503   -0.541   -0.541
##     PEOU              1.320    0.929    1.420    0.156    1.309    1.309
##   AT ~                                                                  
##     PU                1.129    0.086   13.169    0.000    0.985    0.985
##   BI ~                                                                  
##     AT                0.975    0.118    8.295    0.000    0.969    0.969
##   AU ~                                                                  
##     BI                0.892    0.111    8.058    0.000    1.039    1.039
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   DL ~~                                                                 
##     SE                0.271    0.061    4.452    0.000    1.078    1.078
##     PI                0.305    0.069    4.434    0.000    1.046    1.046
##   SE ~~                                                                 
##     PI                0.318    0.072    4.444    0.000    1.029    1.029
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .DL1               0.372    0.025   15.154    0.000    0.372    0.611
##    .DL2               0.328    0.018   18.052    0.000    0.328    0.590
##    .DL3               0.353    0.022   16.423    0.000    0.353    0.628
##    .DL4               0.345    0.025   13.595    0.000    0.345    0.581
##    .DL5               0.348    0.020   17.479    0.000    0.348    0.572
##    .SE1               0.330    0.023   14.434    0.000    0.330    0.553
##    .SE2               0.363    0.022   16.251    0.000    0.363    0.515
##    .SE3               0.356    0.020   17.743    0.000    0.356    0.560
##    .SE4               0.301    0.021   14.571    0.000    0.301    0.463
##    .SE5               0.371    0.030   12.581    0.000    0.371    0.514
##    .SE6               0.327    0.027   12.013    0.000    0.327    0.513
##    .SE7               0.357    0.025   14.456    0.000    0.357    0.604
##    .SE8               0.333    0.029   11.417    0.000    0.333    0.508
##    .SE9               0.286    0.014   20.211    0.000    0.286    0.529
##    .PI1               0.311    0.017   17.794    0.000    0.311    0.464
##    .PI2               0.379    0.024   16.068    0.000    0.379    0.528
##    .PI3               0.473    0.040   11.821    0.000    0.473    0.651
##    .PI4               0.361    0.029   12.390    0.000    0.361    0.536
##    .PI5               0.369    0.031   11.721    0.000    0.369    0.554
##    .PU1               0.298    0.018   16.632    0.000    0.298    0.494
##    .PU2               0.310    0.020   15.450    0.000    0.310    0.502
##    .PU3               0.371    0.024   15.638    0.000    0.371    0.606
##    .PU4               0.341    0.027   12.850    0.000    0.341    0.604
##    .PU5               0.356    0.032   11.284    0.000    0.356    0.650
##    .PU6               0.355    0.033   10.922    0.000    0.355    0.594
##    .PU7               0.323    0.022   15.020    0.000    0.323    0.505
##    .PU8               0.447    0.044   10.165    0.000    0.447    0.606
##    .PU9               0.363    0.029   12.505    0.000    0.363    0.697
##    .PU10              0.323    0.024   13.583    0.000    0.323    0.463
##    .PEOU1             0.321    0.028   11.411    0.000    0.321    0.517
##    .PEOU2             0.408    0.036   11.320    0.000    0.408    0.580
##    .PEOU3             0.368    0.028   13.057    0.000    0.368    0.634
##    .PEOU4             0.477    0.040   11.876    0.000    0.477    0.667
##    .PEOU5             0.343    0.024   14.219    0.000    0.343    0.601
##    .PEOU6             0.364    0.027   13.287    0.000    0.364    0.557
##    .PEOU7             0.345    0.033   10.393    0.000    0.345    0.650
##    .PEOU8             0.332    0.024   13.833    0.000    0.332    0.481
##    .PEOU9             0.312    0.020   15.609    0.000    0.312    0.497
##    .PEOU10            0.330    0.027   12.059    0.000    0.330    0.553
##    .PEOU11            0.277    0.016   17.779    0.000    0.277    0.440
##    .PEOU12            0.321    0.023   13.776    0.000    0.321    0.497
##    .PEOU13            0.309    0.017   18.446    0.000    0.309    0.470
##    .PEOU14            0.282    0.018   15.462    0.000    0.282    0.467
##    .AT1               0.331    0.025   13.373    0.000    0.331    0.453
##    .AT2               0.321    0.019   16.588    0.000    0.321    0.479
##    .AT3               0.337    0.020   16.537    0.000    0.337    0.506
##    .AT4               0.305    0.018   17.357    0.000    0.305    0.451
##    .AT5               0.304    0.019   15.884    0.000    0.304    0.423
##    .AT6               0.316    0.026   12.090    0.000    0.316    0.455
##    .AT7               0.417    0.038   10.973    0.000    0.417    0.494
##    .AT8               0.295    0.023   12.860    0.000    0.295    0.453
##    .BI1               0.481    0.053    9.040    0.000    0.481    0.543
##    .BI2               0.512    0.058    8.868    0.000    0.512    0.558
##    .BI3               0.385    0.030   12.621    0.000    0.385    0.571
##    .BI4               0.383    0.031   12.260    0.000    0.383    0.589
##    .BI5               0.302    0.024   12.579    0.000    0.302    0.428
##    .AU1               0.344    0.023   14.653    0.000    0.344    0.536
##    .AU2               0.310    0.021   14.977    0.000    0.310    0.466
##    .AU3               0.474    0.046   10.328    0.000    0.474    0.489
##    .AU4               0.321    0.025   12.665    0.000    0.321    0.465
##    .AU5               0.364    0.035   10.319    0.000    0.364    0.478
##     DL                0.237    0.066    3.560    0.000    1.000    1.000
##     SE                0.266    0.068    3.894    0.000    1.000    1.000
##     PI                0.359    0.084    4.284    0.000    1.000    1.000
##    .PU                0.000    0.017    0.029    0.977    0.002    0.002
##    .PEOU              0.018    0.022    0.799    0.424    0.059    0.059
##    .AT                0.012    0.008    1.429    0.153    0.029    0.029
##    .BI                0.024    0.016    1.519    0.129    0.060    0.060
##    .AU               -0.024    0.008   -2.980    0.003   -0.079   -0.079
## 
## R-Square:
##                    Estimate
##     DL1               0.389
##     DL2               0.410
##     DL3               0.372
##     DL4               0.419
##     DL5               0.428
##     SE1               0.447
##     SE2               0.485
##     SE3               0.440
##     SE4               0.537
##     SE5               0.486
##     SE6               0.487
##     SE7               0.396
##     SE8               0.492
##     SE9               0.471
##     PI1               0.536
##     PI2               0.472
##     PI3               0.349
##     PI4               0.464
##     PI5               0.446
##     PU1               0.506
##     PU2               0.498
##     PU3               0.394
##     PU4               0.396
##     PU5               0.350
##     PU6               0.406
##     PU7               0.495
##     PU8               0.394
##     PU9               0.303
##     PU10              0.537
##     PEOU1             0.483
##     PEOU2             0.420
##     PEOU3             0.366
##     PEOU4             0.333
##     PEOU5             0.399
##     PEOU6             0.443
##     PEOU7             0.350
##     PEOU8             0.519
##     PEOU9             0.503
##     PEOU10            0.447
##     PEOU11            0.560
##     PEOU12            0.503
##     PEOU13            0.530
##     PEOU14            0.533
##     AT1               0.547
##     AT2               0.521
##     AT3               0.494
##     AT4               0.549
##     AT5               0.577
##     AT6               0.545
##     AT7               0.506
##     AT8               0.547
##     BI1               0.457
##     BI2               0.442
##     BI3               0.429
##     BI4               0.411
##     BI5               0.572
##     AU1               0.464
##     AU2               0.534
##     AU3               0.511
##     AU4               0.535
##     AU5               0.522
##     PU                0.998
##     PEOU              0.941
##     AT                0.971
##     BI                0.940
##     AU                   NA

14 Kesimpulan

Model SEM-TAM yang diperluas dengan anteseden Digital Literacy, Self-Efficacy, dan Personal Innovativeness menunjukkan kesesuaian model yang moderat (RMSEA dan SRMR berada dalam ambang baik, sementara CFI dan TLI sedikit di bawah 0.90). Jalur-jalur anteseden personal menuju PEOU dan PU secara individual tidak signifikan, yang diduga disebabkan oleh tingginya korelasi antar konstruk eksogen (multikolinearitas). Sebaliknya, jalur inti TAM (PU → AT → BI → AU) seluruhnya signifikan sangat kuat dengan R² yang substansial pada seluruh konstruk endogen, menegaskan bahwa persepsi kebermanfaatan (PU) tetap menjadi pendorong utama sikap, niat, dan penggunaan aktual AI dalam pembelajaran.


Dokumen ini dipublikasikan sebagai lampiran kode analisis untuk laporan “Implementasi Structural Equation Modeling (SEM) untuk Menganalisis Penerimaan Teknologi Artificial Intelligence (AI) dalam Proses Pembelajaran Berdasarkan Technology Acceptance Model (TAM)”.