1. Import Data
library(lavaan)
library(semPlot)
library(psych)
library(car)
url <- "https://raw.githubusercontent.com/WalidKW/Divorce-Predictors-Dataset/master/divorce.csv"
data <- read.csv(url, sep = ";", header = TRUE)
cat("Dimensi data:", nrow(data), "baris x", ncol(data), "kolom\n")
## Dimensi data: 170 baris x 55 kolom
2. Visualisasi Data Per-Kolom
par(mfrow = c(2, 4), mar = c(4, 4, 2, 1))
for (col in colnames(data)[1:8]) {
hist(data[[col]], main = paste("Histogram of", col), xlab = col, col = "lightblue", border = "black")
}

3. Pre-Processing
Missing Value
cat("Total missing values:", sum(is.na(data)), "\n")
## Total missing values: 0
Data Duplikat
cat("Jumlah baris duplikat:", sum(duplicated(data)), "\n")
## Jumlah baris duplikat: 20
Ubah ke Numerik
data_numeric <- data
for (col in colnames(data_numeric)) {
if (!is.numeric(data_numeric[[col]])) {
data_numeric[[col]] <- as.numeric(as.factor(data_numeric[[col]]))
}
}
4. Normalisasi Z-Score
data_z <- as.data.frame(lapply(data_numeric, function(x) {
if (is.numeric(x)) (x - mean(x)) / sd(x) else x
}))
head(data_z[, 1:10])
## Atr1 Atr2 Atr3 Atr4 Atr5 Atr6 Atr7
## 1 0.1373658 0.2363108 1.5792180 -0.3206436 -0.9442507 -0.8263505 -0.5498152
## 2 1.3664283 1.5981022 1.5792180 1.6736034 1.5064763 -0.8263505 -0.5498152
## 3 0.1373658 0.2363108 0.1662335 0.3441054 -0.3315689 2.4920650 1.6756273
## 4 0.7518971 0.2363108 0.8727258 0.3441054 0.8937945 2.4920650 2.7883486
## 5 0.1373658 0.2363108 -0.5402588 -0.3206436 -0.3315689 0.2797880 -0.5498152
## 6 -1.0916967 -1.1254805 -0.5402588 -0.9853926 -0.9442507 1.3859265 -0.5498152
## Atr8 Atr9 Atr10
## 1 -0.9395812 -0.9363583 -1.1089964
## 2 1.6471201 1.6310757 1.7048750
## 3 -0.2929059 -0.2944998 0.2979393
## 4 1.0004448 0.9892172 1.0014072
## 5 -0.9395812 -0.9363583 -1.1089964
## 6 -0.9395812 -0.9363583 -0.4055285
5. Statistika Deskriptif
## vars n mean sd median trimmed mad min max range skew kurtosis se
## Atr1 1 170 1.78 1.63 2.0 1.72 2.97 0 4 4 0.05 -1.70 0.12
## Atr2 2 170 1.65 1.47 2.0 1.57 1.48 0 4 4 0.20 -1.44 0.11
## Atr3 3 170 1.76 1.42 2.0 1.71 1.48 0 4 4 -0.01 -1.46 0.11
## Atr4 4 170 1.48 1.50 1.0 1.35 1.48 0 4 4 0.36 -1.42 0.12
## Atr5 5 170 1.54 1.63 1.0 1.43 1.48 0 4 4 0.30 -1.66 0.13
## Atr6 6 170 0.75 0.90 0.0 0.62 0.00 0 4 4 1.09 0.75 0.07
## Atr7 7 170 0.49 0.90 0.0 0.29 0.00 0 4 4 2.33 5.55 0.07
## Atr8 8 170 1.45 1.55 1.0 1.32 1.48 0 4 4 0.38 -1.50 0.12
## Atr9 9 170 1.46 1.56 1.0 1.32 1.48 0 4 4 0.31 -1.63 0.12
## Atr10 10 170 1.58 1.42 2.0 1.47 1.48 0 4 4 0.23 -1.35 0.11
## Atr11 11 170 1.69 1.65 1.0 1.61 1.48 0 4 4 0.19 -1.70 0.13
## Atr12 12 170 1.65 1.47 1.5 1.57 2.22 0 4 4 0.20 -1.47 0.11
## Atr13 13 170 1.84 1.48 2.0 1.79 1.48 0 4 4 0.06 -1.49 0.11
## Atr14 14 170 1.57 1.50 1.0 1.46 1.48 0 4 4 0.29 -1.47 0.12
## Atr15 15 170 1.57 1.51 1.0 1.46 1.48 0 4 4 0.21 -1.60 0.12
## Atr16 16 170 1.48 1.50 1.0 1.35 1.48 0 4 4 0.36 -1.44 0.12
## Atr17 17 170 1.65 1.61 1.0 1.57 1.48 0 4 4 0.17 -1.70 0.12
## Atr18 18 170 1.52 1.57 1.0 1.40 1.48 0 4 4 0.29 -1.60 0.12
## Atr19 19 170 1.64 1.64 1.0 1.55 1.48 0 4 4 0.18 -1.73 0.13
## Atr20 20 170 1.46 1.55 1.0 1.32 1.48 0 4 4 0.38 -1.50 0.12
## Atr21 21 170 1.39 1.45 1.0 1.28 1.48 0 4 4 0.36 -1.52 0.11
## Atr22 22 170 1.25 1.45 0.0 1.07 0.00 0 4 4 0.61 -1.18 0.11
## Atr23 23 170 1.41 1.61 0.0 1.26 0.00 0 4 4 0.42 -1.59 0.12
## Atr24 24 170 1.51 1.50 1.0 1.39 1.48 0 4 4 0.33 -1.44 0.12
## Atr25 25 170 1.63 1.53 1.0 1.54 1.48 0 4 4 0.25 -1.54 0.12
## Atr26 26 170 1.49 1.50 1.0 1.36 1.48 0 4 4 0.36 -1.44 0.12
## Atr27 27 170 1.40 1.46 1.0 1.29 1.48 0 4 4 0.36 -1.50 0.11
## Atr28 28 170 1.31 1.47 0.5 1.13 0.74 0 4 4 0.54 -1.25 0.11
## Atr29 29 170 1.49 1.59 1.0 1.37 1.48 0 4 4 0.35 -1.60 0.12
## Atr30 30 170 1.49 1.50 1.0 1.37 1.48 0 4 4 0.36 -1.43 0.12
## Atr31 31 170 2.12 1.65 2.0 2.15 2.97 0 4 4 -0.07 -1.65 0.13
## Atr32 32 170 2.06 1.62 2.0 2.07 2.97 0 4 4 -0.06 -1.65 0.12
## Atr33 33 170 1.81 1.79 1.0 1.76 1.48 0 4 4 0.20 -1.79 0.14
## Atr34 34 170 1.90 1.63 1.0 1.88 1.48 0 4 4 0.14 -1.65 0.13
## Atr35 35 170 1.67 1.84 0.5 1.59 0.74 0 4 4 0.32 -1.79 0.14
## Atr36 36 170 1.61 1.80 0.0 1.51 0.00 0 4 4 0.35 -1.75 0.14
## Atr37 37 170 2.09 1.72 2.0 2.11 2.97 0 4 4 -0.03 -1.75 0.13
## Atr38 38 170 1.86 1.73 1.0 1.82 1.48 0 4 4 0.14 -1.76 0.13
## Atr39 39 170 2.09 1.72 2.0 2.11 2.97 0 4 4 -0.03 -1.74 0.13
## Atr40 40 170 1.87 1.80 1.5 1.84 2.22 0 4 4 0.10 -1.83 0.14
## Atr41 41 170 1.99 1.72 2.0 1.99 2.97 0 4 4 0.04 -1.74 0.13
## Atr42 42 170 2.16 1.57 2.0 2.20 2.97 0 4 4 -0.22 -1.50 0.12
## Atr43 43 170 2.71 1.35 3.0 2.88 1.48 0 4 4 -0.65 -0.83 0.10
## Atr44 44 170 1.94 1.68 2.0 1.93 2.97 0 4 4 0.01 -1.70 0.13
## Atr45 45 170 2.46 1.50 3.0 2.57 1.48 0 4 4 -0.46 -1.28 0.12
## Atr46 46 170 2.55 1.37 3.0 2.69 1.48 0 4 4 -0.62 -0.87 0.11
## Atr47 47 170 2.27 1.59 2.0 2.34 2.97 0 4 4 -0.18 -1.58 0.12
## Atr48 48 170 2.74 1.14 3.0 2.88 1.48 0 4 4 -0.68 -0.17 0.09
## Atr49 49 170 2.38 1.51 3.0 2.48 1.48 0 4 4 -0.32 -1.39 0.12
## Atr50 50 170 2.43 1.41 2.0 2.54 1.48 0 4 4 -0.29 -1.27 0.11
## Atr51 51 170 2.48 1.26 3.0 2.56 1.48 0 4 4 -0.31 -1.01 0.10
## Atr52 52 170 2.52 1.48 3.0 2.65 1.48 0 4 4 -0.46 -1.27 0.11
## Atr53 53 170 2.24 1.51 2.0 2.30 1.48 0 4 4 -0.19 -1.44 0.12
## Atr54 54 170 2.01 1.67 2.0 2.01 2.97 0 4 4 0.03 -1.67 0.13
## Class 55 170 0.49 0.50 0.0 0.49 0.00 0 1 1 0.02 -2.01 0.04
6. Uji Asumsi
Uji Normal Multivariat (Mardia)

## Call: mardia(x = data_z)
##
## Mardia tests of multivariate skew and kurtosis
## Use describe(x) the to get univariate tests
## n.obs = 170 num.vars = 55
## b1p = 2418.18 skew = 68515.13 with probability <= 0
## small sample skew = 69767.93 with probability <= 0
## b2p = 4348.72 kurtosis = 99.93 with probability <= 0
Uji Multikolinearitas
Determinan Matriks Kovarians
data_manifest <- data_z[, paste0("Atr", 1:30)]
data_manifest[] <- lapply(data_manifest, function(x) as.numeric(as.character(x)))
cov_matrix <- cov(data_manifest, use = "complete.obs")
det_cov <- det(cov_matrix)
cat("Determinan matriks kovarians:", det_cov, "\n")
## Determinan matriks kovarians: 7.212014e-30
VIF
data_manifest_clean <- na.omit(data_manifest)
model_vif <- lm(Atr21 ~ Atr1 + Atr2 + Atr3 + Atr4 + Atr5 + Atr6 + Atr7 + Atr8 + Atr9 + Atr10 +
Atr11 + Atr12 + Atr13 + Atr14 + Atr15 + Atr16 + Atr17 + Atr18 + Atr19 + Atr20,
data = data_manifest_clean)
vif_values <- vif(model_vif)
print(vif_values)
## Atr1 Atr2 Atr3 Atr4 Atr5 Atr6 Atr7 Atr8
## 9.033473 7.300298 5.431756 9.161967 18.519142 1.925889 2.818800 14.924296
## Atr9 Atr10 Atr11 Atr12 Atr13 Atr14 Atr15 Atr16
## 23.571981 9.229343 17.275935 16.027903 9.942210 11.855038 19.867236 14.430559
## Atr17 Atr18 Atr19 Atr20
## 28.603210 34.728098 24.410071 26.908480
Uji Kecukupan Sampel (KMO)
## Kaiser-Meyer-Olkin factor adequacy
## Call: KMO(r = r)
## Overall MSA = 0.96
## MSA for each item =
## Atr1 Atr2 Atr3 Atr4 Atr5 Atr6 Atr7 Atr8 Atr9 Atr10 Atr11 Atr12 Atr13
## 0.97 0.97 0.96 0.95 0.98 0.77 0.90 0.97 0.96 0.97 0.97 0.96 0.98
## Atr14 Atr15 Atr16 Atr17 Atr18 Atr19 Atr20 Atr21 Atr22 Atr23 Atr24 Atr25 Atr26
## 0.97 0.96 0.97 0.96 0.98 0.97 0.96 0.96 0.96 0.97 0.98 0.96 0.97
## Atr27 Atr28 Atr29 Atr30 Atr31 Atr32 Atr33 Atr34 Atr35 Atr36 Atr37 Atr38 Atr39
## 0.97 0.95 0.97 0.96 0.96 0.98 0.98 0.97 0.97 0.97 0.98 0.97 0.97
## Atr40 Atr41 Atr42 Atr43 Atr44 Atr45 Atr46 Atr47 Atr48 Atr49 Atr50 Atr51 Atr52
## 0.97 0.98 0.96 0.94 0.97 0.93 0.93 0.95 0.96 0.96 0.96 0.96 0.93
## Atr53 Atr54 Class
## 0.95 0.97 0.97
7. CFA (Confirmatory Factor Analysis)
CFA Konstruk Konflik (X1)
model_cfa_x1 <- '
Konflik =~ Atr1 + Atr2 + Atr3 + Atr4 + Atr5 + Atr6 + Atr7 + Atr8 + Atr9 + Atr10
'
fit_x1 <- cfa(model_cfa_x1, data = data_z, std.lv = TRUE)
summary(fit_x1, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 31 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 20
##
## Number of observations 170
##
## Model Test User Model:
##
## Test statistic 231.139
## Degrees of freedom 35
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 2098.068
## Degrees of freedom 45
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.904
## Tucker-Lewis Index (TLI) 0.877
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -1473.716
## Loglikelihood unrestricted model (H1) -1358.147
##
## Akaike (AIC) 2987.432
## Bayesian (BIC) 3050.148
## Sample-size adjusted Bayesian (SABIC) 2986.821
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.182
## 90 Percent confidence interval - lower 0.160
## 90 Percent confidence interval - upper 0.204
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.054
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Konflik =~
## Atr1 0.902 0.059 15.291 0.000 0.902 0.905
## Atr2 0.885 0.060 14.793 0.000 0.885 0.887
## Atr3 0.861 0.061 14.156 0.000 0.861 0.864
## Atr4 0.887 0.060 14.842 0.000 0.887 0.889
## Atr5 0.940 0.057 16.431 0.000 0.940 0.942
## Atr6 0.274 0.076 3.618 0.000 0.274 0.275
## Atr7 0.491 0.072 6.783 0.000 0.491 0.492
## Atr8 0.925 0.058 15.977 0.000 0.925 0.928
## Atr9 0.955 0.056 16.918 0.000 0.955 0.958
## Atr10 0.890 0.060 14.950 0.000 0.890 0.893
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Atr1 0.180 0.022 8.272 0.000 0.180 0.181
## .Atr2 0.211 0.025 8.444 0.000 0.211 0.213
## .Atr3 0.252 0.029 8.605 0.000 0.252 0.254
## .Atr4 0.208 0.025 8.430 0.000 0.208 0.209
## .Atr5 0.111 0.015 7.541 0.000 0.111 0.112
## .Atr6 0.919 0.100 9.203 0.000 0.919 0.924
## .Atr7 0.753 0.082 9.153 0.000 0.753 0.758
## .Atr8 0.138 0.017 7.916 0.000 0.138 0.139
## .Atr9 0.083 0.012 6.893 0.000 0.083 0.083
## .Atr10 0.201 0.024 8.395 0.000 0.201 0.203
## Konflik 1.000 1.000 1.000
semPaths(fit_x1, what = "path", whatLabels = "std", style = "ram", layout = "tree",
rotation = 2, sizeMan = 6, sizeLat = 7, edge.label.cex = 1.2, label.cex = 1.3,
color = list(lat = "lightblue", man = "lightgreen"))

CFA Konstruk Koneksi (X2)
model_cfa_x2 <- '
Koneksi =~ Atr11 + Atr12 + Atr13 + Atr14 + Atr15 + Atr16 + Atr17 + Atr18 + Atr19 + Atr20
'
fit_x2 <- cfa(model_cfa_x2, data = data_z, std.lv = TRUE)
summary(fit_x2, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 48 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 20
##
## Number of observations 170
##
## Model Test User Model:
##
## Test statistic 368.042
## Degrees of freedom 35
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 3515.359
## Degrees of freedom 45
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.904
## Tucker-Lewis Index (TLI) 0.877
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -833.522
## Loglikelihood unrestricted model (H1) -649.501
##
## Akaike (AIC) 1707.045
## Bayesian (BIC) 1769.761
## Sample-size adjusted Bayesian (SABIC) 1706.434
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.237
## 90 Percent confidence interval - lower 0.215
## 90 Percent confidence interval - upper 0.259
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.022
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Koneksi =~
## Atr11 0.951 0.057 16.812 0.000 0.951 0.953
## Atr12 0.939 0.057 16.435 0.000 0.939 0.942
## Atr13 0.914 0.058 15.659 0.000 0.914 0.916
## Atr14 0.921 0.058 15.870 0.000 0.921 0.923
## Atr15 0.936 0.057 16.358 0.000 0.936 0.939
## Atr16 0.923 0.058 15.940 0.000 0.923 0.926
## Atr17 0.961 0.056 17.152 0.000 0.961 0.964
## Atr18 0.969 0.056 17.445 0.000 0.969 0.972
## Atr19 0.960 0.056 17.120 0.000 0.960 0.963
## Atr20 0.957 0.056 17.020 0.000 0.957 0.960
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Atr11 0.091 0.011 8.264 0.000 0.091 0.091
## .Atr12 0.113 0.013 8.471 0.000 0.113 0.113
## .Atr13 0.160 0.018 8.720 0.000 0.160 0.160
## .Atr14 0.147 0.017 8.667 0.000 0.147 0.148
## .Atr15 0.117 0.014 8.504 0.000 0.117 0.118
## .Atr16 0.142 0.016 8.648 0.000 0.142 0.143
## .Atr17 0.071 0.009 7.970 0.000 0.071 0.071
## .Atr18 0.054 0.007 7.556 0.000 0.054 0.055
## .Atr19 0.073 0.009 8.004 0.000 0.073 0.073
## .Atr20 0.079 0.010 8.101 0.000 0.079 0.079
## Koneksi 1.000 1.000 1.000
semPaths(fit_x2, what = "path", whatLabels = "std", style = "ram", layout = "tree",
rotation = 2, sizeMan = 6, sizeLat = 7, edge.label.cex = 1.2, label.cex = 1.3,
color = list(lat = "lightcoral", man = "lightyellow"))

CFA Konstruk Makna (Y)
model_cfa_y <- '
Makna =~ Atr21 + Atr22 + Atr23 + Atr24 + Atr25 + Atr26 + Atr27 + Atr28 + Atr29 + Atr30
'
fit_y <- cfa(model_cfa_y, data = data_z, std.lv = TRUE)
summary(fit_y, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 39 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 20
##
## Number of observations 170
##
## Model Test User Model:
##
## Test statistic 415.852
## Degrees of freedom 35
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 3301.868
## Degrees of freedom 45
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.883
## Tucker-Lewis Index (TLI) 0.850
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -964.173
## Loglikelihood unrestricted model (H1) -756.247
##
## Akaike (AIC) 1968.345
## Bayesian (BIC) 2031.061
## Sample-size adjusted Bayesian (SABIC) 1967.734
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.253
## 90 Percent confidence interval - lower 0.232
## 90 Percent confidence interval - upper 0.275
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.025
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Makna =~
## Atr21 0.948 0.057 16.725 0.000 0.948 0.951
## Atr22 0.925 0.058 15.987 0.000 0.925 0.927
## Atr23 0.935 0.057 16.318 0.000 0.935 0.938
## Atr24 0.917 0.058 15.748 0.000 0.917 0.919
## Atr25 0.928 0.058 16.088 0.000 0.928 0.931
## Atr26 0.938 0.057 16.399 0.000 0.938 0.941
## Atr27 0.945 0.057 16.619 0.000 0.945 0.948
## Atr28 0.920 0.058 15.844 0.000 0.920 0.923
## Atr29 0.964 0.056 17.238 0.000 0.964 0.966
## Atr30 0.924 0.058 15.979 0.000 0.924 0.927
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Atr21 0.095 0.012 8.086 0.000 0.095 0.096
## .Atr22 0.139 0.016 8.483 0.000 0.139 0.140
## .Atr23 0.119 0.014 8.339 0.000 0.119 0.120
## .Atr24 0.154 0.018 8.564 0.000 0.154 0.155
## .Atr25 0.133 0.016 8.443 0.000 0.133 0.134
## .Atr26 0.114 0.014 8.297 0.000 0.114 0.115
## .Atr27 0.102 0.012 8.163 0.000 0.102 0.102
## .Atr28 0.148 0.017 8.533 0.000 0.148 0.149
## .Atr29 0.066 0.009 7.519 0.000 0.066 0.066
## .Atr30 0.140 0.016 8.486 0.000 0.140 0.140
## Makna 1.000 1.000 1.000
semPaths(fit_y, what = "path", whatLabels = "std", style = "ram", layout = "tree",
rotation = 2, sizeMan = 6, sizeLat = 7, edge.label.cex = 1.2, label.cex = 1.3,
color = list(lat = "lightpink", man = "lightcyan"))

Ringkasan Fit Indeks CFA
cfa_fits <- data.frame(
Konstruk = c("Konflik", "Koneksi", "Makna"),
CFI = c(fitMeasures(fit_x1, "cfi"), fitMeasures(fit_x2, "cfi"), fitMeasures(fit_y, "cfi")),
RMSEA = c(fitMeasures(fit_x1, "rmsea"), fitMeasures(fit_x2, "rmsea"), fitMeasures(fit_y, "rmsea")),
SRMR = c(fitMeasures(fit_x1, "srmr"), fitMeasures(fit_x2, "srmr"), fitMeasures(fit_y, "srmr")),
TLI = c(fitMeasures(fit_x1, "tli"), fitMeasures(fit_x2, "tli"), fitMeasures(fit_y, "tli"))
)
print(cfa_fits)
## Konstruk CFI RMSEA SRMR TLI
## 1 Konflik 0.9044653 0.1815615 0.05372031 0.8771697
## 2 Koneksi 0.9040323 0.2365872 0.02166788 0.8766130
## 3 Makna 0.8830620 0.2529993 0.02462423 0.8496512
8. Composite Reliability (CR)
hitung_CR <- function(fit) {
std <- standardizedSolution(fit)
lambda <- std$est.std[std$op == "=~"]
theta <- 1 - lambda^2
CR <- sum(lambda)^2 / (sum(lambda)^2 + sum(theta))
return(CR)
}
cr_df <- data.frame(
Konstruk = c("Konflik", "Koneksi", "Makna"),
CR = c(hitung_CR(fit_x1), hitung_CR(fit_x2), hitung_CR(fit_y))
)
print(cr_df)
## Konstruk CR
## 1 Konflik 0.9545285
## 2 Koneksi 0.9883778
## 3 Makna 0.9863319
9. Structural Equation Modeling (SEM)
model_sem <- '
Konflik =~ Atr1 + Atr2 + Atr3 + Atr4 + Atr5 + Atr6 + Atr7 + Atr8 + Atr9 + Atr10
Koneksi =~ Atr11 + Atr12 + Atr13 + Atr14 + Atr15 + Atr16 + Atr17 + Atr18 + Atr19 + Atr20
Makna =~ Atr21 + Atr22 + Atr23 + Atr24 + Atr25 + Atr26 + Atr27 + Atr28 + Atr29 + Atr30
Makna ~ Konflik + Koneksi
'
fit_sem <- sem(model_sem, data = data_z, std.lv = TRUE)
summary(fit_sem, fit.measures = TRUE, standardized = TRUE)
## lavaan 0.6-21 ended normally after 170 iterations
##
## Estimator ML
## Optimization method NLMINB
## Number of model parameters 63
##
## Number of observations 170
##
## Model Test User Model:
##
## Test statistic 2534.276
## Degrees of freedom 402
## P-value (Chi-square) 0.000
##
## Model Test Baseline Model:
##
## Test statistic 11407.307
## Degrees of freedom 435
## P-value 0.000
##
## User Model versus Baseline Model:
##
## Comparative Fit Index (CFI) 0.806
## Tucker-Lewis Index (TLI) 0.790
##
## Loglikelihood and Information Criteria:
##
## Loglikelihood user model (H0) -2785.027
## Loglikelihood unrestricted model (H1) -1517.889
##
## Akaike (AIC) 5696.054
## Bayesian (BIC) 5893.609
## Sample-size adjusted Bayesian (SABIC) 5694.129
##
## Root Mean Square Error of Approximation:
##
## RMSEA 0.177
## 90 Percent confidence interval - lower 0.170
## 90 Percent confidence interval - upper 0.183
## P-value H_0: RMSEA <= 0.050 0.000
## P-value H_0: RMSEA >= 0.080 1.000
##
## Standardized Root Mean Square Residual:
##
## SRMR 0.037
##
## Parameter Estimates:
##
## Standard errors Standard
## Information Expected
## Information saturated (h1) model Structured
##
## Latent Variables:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Konflik =~
## Atr1 0.902 0.059 15.321 0.000 0.902 0.905
## Atr2 0.884 0.060 14.819 0.000 0.884 0.887
## Atr3 0.843 0.061 13.712 0.000 0.843 0.845
## Atr4 0.865 0.061 14.298 0.000 0.865 0.868
## Atr5 0.947 0.057 16.700 0.000 0.947 0.950
## Atr6 0.298 0.075 3.968 0.000 0.298 0.299
## Atr7 0.500 0.072 6.964 0.000 0.500 0.501
## Atr8 0.934 0.057 16.286 0.000 0.934 0.937
## Atr9 0.955 0.056 16.953 0.000 0.955 0.958
## Atr10 0.890 0.059 14.992 0.000 0.890 0.893
## Koneksi =~
## Atr11 0.954 0.056 16.926 0.000 0.954 0.957
## Atr12 0.930 0.058 16.177 0.000 0.930 0.933
## Atr13 0.915 0.058 15.724 0.000 0.915 0.918
## Atr14 0.918 0.058 15.807 0.000 0.918 0.921
## Atr15 0.939 0.057 16.437 0.000 0.939 0.941
## Atr16 0.926 0.058 16.038 0.000 0.926 0.929
## Atr17 0.963 0.056 17.219 0.000 0.963 0.965
## Atr18 0.967 0.056 17.353 0.000 0.967 0.969
## Atr19 0.962 0.056 17.210 0.000 0.962 0.965
## Atr20 0.955 0.056 16.966 0.000 0.955 0.958
## Makna =~
## Atr21 0.243 0.021 11.732 0.000 0.947 0.950
## Atr22 0.237 0.021 11.455 0.000 0.923 0.925
## Atr23 0.239 0.021 11.557 0.000 0.932 0.934
## Atr24 0.237 0.021 11.440 0.000 0.921 0.924
## Atr25 0.238 0.021 11.504 0.000 0.927 0.930
## Atr26 0.242 0.021 11.657 0.000 0.941 0.943
## Atr27 0.243 0.021 11.713 0.000 0.946 0.948
## Atr28 0.236 0.021 11.389 0.000 0.917 0.919
## Atr29 0.247 0.021 11.903 0.000 0.963 0.965
## Atr30 0.239 0.021 11.525 0.000 0.929 0.931
##
## Regressions:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Makna ~
## Konflik -1.338 3.965 -0.338 0.736 -0.344 -0.344
## Koneksi 5.094 4.129 1.234 0.217 1.309 1.309
##
## Covariances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## Konflik ~~
## Koneksi 0.998 0.002 472.602 0.000 0.998 0.998
##
## Variances:
## Estimate Std.Err z-value P(>|z|) Std.lv Std.all
## .Atr1 0.181 0.020 8.838 0.000 0.181 0.182
## .Atr2 0.212 0.024 8.910 0.000 0.212 0.214
## .Atr3 0.284 0.032 9.012 0.000 0.284 0.286
## .Atr4 0.246 0.027 8.966 0.000 0.246 0.247
## .Atr5 0.097 0.012 8.398 0.000 0.097 0.098
## .Atr6 0.905 0.098 9.212 0.000 0.905 0.911
## .Atr7 0.744 0.081 9.192 0.000 0.744 0.749
## .Atr8 0.122 0.014 8.595 0.000 0.122 0.122
## .Atr9 0.082 0.010 8.215 0.000 0.082 0.083
## .Atr10 0.201 0.023 8.888 0.000 0.201 0.202
## .Atr11 0.084 0.010 8.534 0.000 0.084 0.085
## .Atr12 0.129 0.015 8.794 0.000 0.129 0.129
## .Atr13 0.156 0.018 8.881 0.000 0.156 0.157
## .Atr14 0.151 0.017 8.867 0.000 0.151 0.152
## .Atr15 0.113 0.013 8.726 0.000 0.113 0.114
## .Atr16 0.137 0.016 8.824 0.000 0.137 0.138
## .Atr17 0.067 0.008 8.344 0.000 0.067 0.068
## .Atr18 0.060 0.007 8.222 0.000 0.060 0.060
## .Atr19 0.068 0.008 8.352 0.000 0.068 0.068
## .Atr20 0.082 0.010 8.513 0.000 0.082 0.082
## .Atr21 0.097 0.012 8.259 0.000 0.097 0.097
## .Atr22 0.143 0.017 8.604 0.000 0.143 0.144
## .Atr23 0.126 0.015 8.508 0.000 0.126 0.127
## .Atr24 0.145 0.017 8.616 0.000 0.145 0.146
## .Atr25 0.135 0.016 8.561 0.000 0.135 0.136
## .Atr26 0.110 0.013 8.383 0.000 0.110 0.110
## .Atr27 0.100 0.012 8.294 0.000 0.100 0.101
## .Atr28 0.154 0.018 8.654 0.000 0.154 0.155
## .Atr29 0.067 0.009 7.793 0.000 0.067 0.068
## .Atr30 0.132 0.015 8.541 0.000 0.132 0.132
## Konflik 1.000 1.000 1.000
## Koneksi 1.000 1.000 1.000
## .Makna 1.000 0.066 0.066
Visualisasi SEM
semPaths(fit_sem, what = "path", whatLabels = "std", style = "ram", layout = "tree",
rotation = 2, sizeMan = 7, sizeLat = 7, color = "lightgray",
edge.label.cex = 1.2, label.cex = 1.3)

10. Kesimpulan
- KMO = 0.96 — data sangat layak untuk analisis
faktor.
- Reliabilitas sangat baik — semua CR > 0.95.
- Factor loadings tinggi (>0.84) kecuali Atr6
(0.28) dan Atr7 (0.49).
- Model fit SEM kurang memadai — hanya SRMR yang
memenuhi kriteria.
- Tidak ada pengaruh signifikan Konflik maupun
Koneksi terhadap Makna (p > 0.05).
- Korelasi antar faktor sangat tinggi (0.998) —
discriminant validity rendah.