Pengantar Seri
Selamat datang di bagian pertama dari seri tiga bagian kami tentang Analisis Faktor. Di sini, kita akan meletakkan fondasi yang kokoh untuk proyek analisis survei Anda. Kita akan membahas konsep inti di balik EFA dan, yang terpenting, memastikan data Anda yang berisi 20 item benar-benar siap untuk dianalisis sebelum melangkah lebih jauh.
Landasan Teori: Apa Itu Analisis Faktor?
Secara intuitif, EFA bertujuan untuk mengidentifikasi faktor laten (struktur tersembunyi) di antara sekumpulan variabel yang teramati. Dasarnya adalah asumsi bahwa korelasi antar variabel disebabkan oleh adanya satu atau lebih “konstruk” yang tidak dapat kita ukur secara langsung. Menurut Kaiser (1974), asumsi ini mendasari model EFA.
Model EFA fundamental dapat direpresentasikan sebagai berikut:
$$X_i = \lambda_{i1}F_1 + \lambda_{i2}F_2 + \dots + \lambda_{ik}F_k + \epsilon_i$$
Di mana $X_i$ adalah variabel teramati (jawaban kuesioner), $F_k$ adalah faktor laten (misal: ‘Keandalan’), dan $\lambda_{ik}$ adalah beban faktor (factor loading) yang menunjukkan seberapa kuat hubungan antara keduanya.
Contoh Kasus
Studi Kasus & Data: Survei Pengalaman Pengguna ShopZenith
Pemilihan skala Likert ini umum dalam survei UX karena mencerminkan respons subyektif. Kita akan membuat dataset df_ux_survey
yang lebih realistis. Datanya akan berupa integer dalam skala 5 poin (1=Sangat Tidak Setuju, 5=Sangat Setuju), dan polanya tidak akan sempurna untuk meniru data di dunia nyata.
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from factor_analyzer import FactorAnalyzer
from factor_analyzer.factor_analyzer import calculate_bartlett_sphericity, calculate_kmo
np.random.seed(123)
n_samples = 500
# Membuat 4 faktor laten
keandalan = np.random.normal(0, 1, n_samples)
aplikasi = np.random.normal(0, 1, n_samples)
layanan = np.random.normal(0, 1, n_samples)
nilai = np.random.normal(0, 1, n_samples)
# Membuat 20 item survei dengan noise yang lebih acak
data = {}
item_names = []
# Faktor 1: Keandalan (5 item)
for i in range(1, 6):
name = f"q{i}_keandalan"
data[name] = keandalan + np.random.normal(0, 1.2, n_samples)
item_names.append(name)
# Faktor 2: Aplikasi (5 item)
for i in range(6, 11):
name = f"q{i}_aplikasi"
# q10 sedikit dipengaruhi faktor lain
if i == 10:
data[name] = aplikasi*0.8 + layanan*0.2 + np.random.normal(0, 1.2, n_samples)
else:
data[name] = aplikasi + np.random.normal(0, 1.2, n_samples)
item_names.append(name)
# Faktor 3: Layanan (6 item)
for i in range(11, 17):
name = f"q{i}_layanan"
data[name] = layanan + np.random.normal(0, 1.2, n_samples)
item_names.append(name)
# Faktor 4: Nilai (4 item)
for i in range(17, 21):
name = f"q{i}_nilai"
# q20 dibuat sengaja lemah
if i == 20:
data[name] = nilai*0.5 + np.random.normal(0, 2.0, n_samples)
else:
data[name] = nilai + np.random.normal(0, 1.2, n_samples)
item_names.append(name)
df_ux_survey = pd.DataFrame(data)
# Mengubah data float menjadi skala Likert 5 poin (integer)
for col in df_ux_survey.columns:
df_ux_survey[col] = pd.cut(df_ux_survey[col], bins=5, labels=range(1, 6), include_lowest=True)
df_ux_survey = df_ux_survey.astype(int)
df_ux_survey

Uji Kelayakan: Validasi Statistik Data Anda
Sebelum melangkah lebih jauh, kita harus memastikan data kita layak dianalisis.
# Uji Bartlett's
chi_square_value, p_value = calculate_bartlett_sphericity(df_ux_survey)
print(f"Bartlett's Test: Chi-Square={chi_square_value:.2f}, p-value={p_value:.3e}")
# Uji KMO
kmo_all, kmo_model = calculate_kmo(df_ux_survey)
print(f"KMO Test: Overall MSA={kmo_model:.2f}")
Bartlett's Test: Chi-Square=1660.07, p-value=8.520e-233
KMO Test: Overall MSA=0.76
Hasilnya: p-value Bartlett’s sangat kecil dan skor KMO di atas 0.7, memberi kita lampu hijau untuk melanjutkan. Secara standar, p-value <0.05 dan KMO >0.7 menunjukkan data cocok untuk EFA (menurut Hutcheson & Sofroniou, 1999).
Di bagian 2, kita akan menyelami ekstraksi faktor untuk menemukan pilar UX inti.
Praktik Langsung: Unduh Kode Lengkap
Ingin mencoba sendiri analisis ini? Unduh Jupyter Notebook yang berisi seluruh kode dari seri tiga bagian ini, mulai dari persiapan data hingga audit reliabilitas.
Ukuran file: 68,8 kB
Dalam konteks medis atau psikologi pendidikan, pendekatan ini bisa diterapkan untuk survei pasien atau analisis faktor dalam penelitian perilaku.
Dengan fondasi EFA yang kuat, dari pemahaman teori hingga validasi data, Anda kini siap menggali struktur tersembunyi dalam survei. Pendekatan ini tidak hanya meningkatkan akurasi analisis, tapi juga mendukung praktik evidence-based di berbagai bidang seperti psikologi pendidikan dan penelitian klinis.
Perdalam pemahaman Quantitative Anda di sini
Referensi
Kaiser, H.F.(1974). An index of factorial simplicity. Psychometrika
Hutcheson, G.D., & Sofroniou, N.(1999). The Multivariate Social Scientist. SAGE Publications