Analisis Clustering Kedisiplinan Sholat Peserta Shollu

Author

Rahul Fikri Alamsyah

Published

December 27, 2025

PENDAHULUAN

Latar Belakang

Perkembangan teknologi digital telah menghadirkan berbagai platform yang mendukung pembinaan ibadah umat Muslim, salah satunya melalui pencatatan dan pemantauan kedisiplinan sholat secara daring. Platform Shollu – Sholat Champions menyediakan data partisipasi jamaah dalam pelaksanaan sholat wajib harian, yang memungkinkan evaluasi ibadah dilakukan secara lebih sistematis dan berbasis data.

Masjid Nurul Huda Tanjung Alam sebagai salah satu pusat kegiatan keagamaan masyarakat memiliki jumlah peserta yang aktif mengikuti program Sholat Champions. Meskipun demikian, tingkat kedisiplinan sholat antar peserta menunjukkan variasi yang cukup beragam. Sebagian peserta mampu menjaga konsistensi sholat lima waktu secara rutin, sementara sebagian lainnya masih menunjukkan pola pelaksanaan yang kurang stabil.

Perbedaan tingkat kedisiplinan ini menjadi tantangan dalam merancang strategi pembinaan ibadah yang efektif dan tepat sasaran. Pendekatan yang bersifat umum berpotensi kurang optimal karena tidak mempertimbangkan karakteristik individu atau kelompok jamaah yang berbeda. Oleh karena itu, diperlukan suatu pendekatan analitis berbasis data untuk mengelompokkan peserta berdasarkan pola kedisiplinan sholat yang dimilikinya.

METODOLOGI

1. Sumber dan Karakteristik Data

Data yang digunakan dalam analisis ini merupakan data kedisiplinan sholat peserta Shollu yang dikumpulkan selama 7 hari. Data diperoleh dalam bentuk file Microsoft Excel dan memuat informasi identitas peserta serta jumlah pelaksanaan sholat wajib, yang meliputi Subuh, Dzuhur, Ashar, Maghrib, dan Isya.

Variabel identitas peserta digunakan sebagai penanda observasi, sedangkan lima variabel sholat digunakan sebagai variabel numerik dalam proses analisis clustering.

2. Tahap Pra-pemrosesan Data

Tahap awal analisis dilakukan melalui eksplorasi data untuk memahami struktur dan karakteristik data. Proses ini meliputi pemeriksaan ringkasan statistik deskriptif pada setiap variabel sholat guna memastikan tidak terdapat nilai yang tidak wajar.

Selanjutnya, data numerik distandarisasi menggunakan metode standarisasi Z-score. Standarisasi dilakukan untuk menghilangkan perbedaan skala antar variabel sehingga setiap variabel memiliki kontribusi yang seimbang dalam perhitungan jarak pada proses clustering.

3. Deteksi Outlier

Untuk memastikan kualitas data, dilakukan deteksi outlier menggunakan visualisasi Boxplot jikalau ada pencilan maka bisa dilakukan pembersihan maka tidak akan terjadi ketimpangan pada cluster.

4. Penentuan Jumlah Klaster Optimal

Penentuan jumlah klaster dilakukan menggunakan metode Silhouette. Metode ini mengevaluasi kualitas pengelompokan dengan mengukur tingkat kemiripan suatu objek terhadap klasternya sendiri dibandingkan dengan klaster lain. Jumlah klaster yang memberikan nilai silhouette tertinggi dipilih sebagai jumlah klaster optimal dalam analisis ini.

5. Penerapan Metode K-Means Clustering

Setelah jumlah klaster optimal ditentukan, analisis dilanjutkan dengan penerapan metode K-Means Clustering. Algoritma K-Means digunakan untuk mengelompokkan peserta berdasarkan kemiripan pola kedisiplinan sholat dengan menggunakan data yang telah distandarisasi. Proses clustering dilakukan dengan beberapa inisialisasi awal (nstart) untuk memperoleh hasil klaster yang stabil.

6. Identifikasi dan Penyajian Hasil Klaster

Hasil clustering kemudian dikombinasikan dengan data identitas peserta untuk mengidentifikasi anggota masing-masing klaster. Setiap peserta diklasifikasikan ke dalam klaster tertentu, dan hasilnya disajikan dalam bentuk tabel guna memudahkan interpretasi.

Selain itu, dilakukan visualisasi hasil clustering menggunakan grafik dua dimensi untuk memperlihatkan pemisahan antar klaster secara visual.

7. Analisis Karakteristik Klaster

Tahap akhir analisis dilakukan dengan menghitung rata-rata nilai variabel sholat pada masing-masing klaster. Analisis ini bertujuan untuk menginterpretasikan karakteristik setiap klaster, sehingga dapat diketahui klaster mana yang menunjukkan tingkat kedisiplinan sholat yang lebih tinggi dan klaster yang masih memerlukan pembinaan lebih lanjut.

Analisis Clustering Kedisiplinan Sholat

Library

Lihat kode
knitr::opts_chunk$set(
  echo = TRUE,
  warning = FALSE,
  message = FALSE
)

library(readxl)      # Membaca data dari file Excel (.xls, .xlsx)
Warning: package 'readxl' was built under R version 4.4.3
Lihat kode
library(dplyr)       # Manipulasi dan pembersihan data (select, filter, mutate, summarise)
Warning: package 'dplyr' was built under R version 4.4.3

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
Lihat kode
library(factoextra)  # Visualisasi dan evaluasi analisis clustering (elbow, silhouette, plot klaster)
Warning: package 'factoextra' was built under R version 4.4.3
Loading required package: ggplot2
Warning: package 'ggplot2' was built under R version 4.4.3
Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
Lihat kode
library(knitr)       # Menyajikan tabel rapi di R Markdown / RPubs (kable)
Warning: package 'knitr' was built under R version 4.4.3
Lihat kode
library(cluster)     # Metode dan evaluasi clustering (silhouette, pam, daisy)
library(ggplot2)     # Visualisasi data berbasis grammar of graphics

Deskripsi Data

Lihat kode
data<-read_xlsx('C:/Users/62896/Documents/TUGAS SEMESTER 5/TEKNIK KONSULTAN/Data Sholu Selama 7 hari.xlsx')
Lihat kode
data1<-(data[,1:6])
summary(data1)
      ID                Psubuh           Pdzhur           Pashar      
 Length:126         Min.   :0.0000   Min.   :0.0000   Min.   :0.0000  
 Class :character   1st Qu.:0.1000   1st Qu.:0.1417   1st Qu.:0.2417  
 Mode  :character   Median :0.4000   Median :0.3000   Median :0.5333  
                    Mean   :0.4439   Mean   :0.3656   Mean   :0.5003  
                    3rd Qu.:0.7333   3rd Qu.:0.5917   3rd Qu.:0.7333  
                    Max.   :0.9000   Max.   :0.9000   Max.   :0.9333  
    Pmagrib           Pisya        
 Min.   :0.0000   Min.   :0.03333  
 1st Qu.:0.3333   1st Qu.:0.33333  
 Median :0.5000   Median :0.50000  
 Mean   :0.5193   Mean   :0.49656  
 3rd Qu.:0.7333   3rd Qu.:0.66667  
 Max.   :0.9333   Max.   :0.93333  

Dataset terdiri dari 126 peserta dengan ID bersifat karakter, serta lima variabel numerik yang merepresentasikan tingkat kedisiplinan shalat untuk masing-masing waktu shalat (Subuh, Dzuhur, Ashar, Maghrib, dan Isya). Nilai pada setiap variabel berada pada rentang 0 hingga mendekati 1, yang menunjukkan proporsi kehadiran shalat selama periode pengamatan.

Secara umum, rata-rata kedisiplinan tertinggi terdapat pada shalat Maghrib (mean = 0,519) dan Ashar (mean = 0,500), sementara rata-rata terendah terdapat pada shalat Dzuhur (mean = 0,366). Nilai median yang relatif mendekati nilai rata-rata pada seluruh waktu shalat menunjukkan distribusi data yang cukup seimbang, meskipun masih terdapat peserta dengan tingkat kedisiplinan sangat rendah (minimum mendekati 0).

Hasil ini mengindikasikan adanya variasi kedisiplinan yang cukup signifikan antar peserta, sehingga analisis lanjutan menggunakan clustering relevan untuk mengelompokkan peserta berdasarkan pola kedisiplinan shalat mereka.

Lihat kode
#Standarisasi Data
dataclean<-scale(data1[,2:6])

Standarisasi data digunakan untuk menyamakan skala antar variabel agar setiap variabel memiliki pengaruh yang seimbang dalam analisis, khususnya pada metode berbasis jarak seperti clustering (K-Means).

Boxplot

Lihat kode
#Boxplot
boxplot(dataclean)

Boxplot Deteksi Outlier Data Kedisiplinan Sholat

Tidak terlihat adanya outlier pada boxplot maka data ini setidaknya bagus dianalisis cluster.

Metode Silhoutte

Lihat kode
#Silhouette Method
fviz_nbclust(dataclean, kmeans, method = "silhouette")

Penentuan jumlah klaster optimal dilakukan menggunakan metode Silhouette. Berdasarkan hasil evaluasi, nilai average silhouette tertinggi diperoleh pada jumlah klaster sebanyak dua, yang menunjukkan bahwa pembagian data ke dalam dua klaster mampu memberikan pemisahan yang paling baik antar peserta. Oleh karena itu, analisis clustering selanjutnya dilakukan dengan menggunakan dua klaster untuk mengelompokkan peserta berdasarkan pola kedisiplinan sholat mereka.

Hasil Cluster

Lihat kode
data_shollu_km <- kmeans(dataclean, centers = 2, nstart = 25)

data1 <- data1 %>%
  mutate(
    Klaster = factor(data_shollu_km$cluster,
                     labels = c("Kedisiplinan Rendah", "Kedisiplinan Tinggi"))
  ) %>%
  arrange(Klaster)

kable(
  data1,
  caption = "Hasil Clustering Peserta Berdasarkan Kedisiplinan Sholat",
  align = "c"
)
Hasil Clustering Peserta Berdasarkan Kedisiplinan Sholat
ID Psubuh Pdzhur Pashar Pmagrib Pisya Klaster
P001 0.8666667 0.9000000 0.9333333 0.9333333 0.9333333 Kedisiplinan Rendah
P002 0.9000000 0.9000000 0.9333333 0.9000000 0.9000000 Kedisiplinan Rendah
P003 0.9000000 0.9000000 0.9333333 0.9000000 0.9000000 Kedisiplinan Rendah
P004 0.9000000 0.8000000 0.9333333 0.9333333 0.9000000 Kedisiplinan Rendah
P005 0.9000000 0.8000000 0.9000000 0.9333333 0.9333333 Kedisiplinan Rendah
P006 0.9000000 0.8000000 0.9333333 0.9000000 0.8333333 Kedisiplinan Rendah
P007 0.8666667 0.7333333 0.9333333 0.9333333 0.9000000 Kedisiplinan Rendah
P008 0.9000000 0.6333333 0.9000000 0.9333333 0.9333333 Kedisiplinan Rendah
P009 0.8666667 0.6666667 0.9000000 0.9333333 0.9000000 Kedisiplinan Rendah
P010 0.7333333 0.8000000 0.9000000 0.8666667 0.9000000 Kedisiplinan Rendah
P011 0.9000000 0.8333333 0.8333333 0.8333333 0.7666667 Kedisiplinan Rendah
P012 0.8666667 0.8000000 0.7666667 0.8333333 0.9000000 Kedisiplinan Rendah
P013 0.9000000 0.6333333 0.8666667 0.8000000 0.9000000 Kedisiplinan Rendah
P014 0.8666667 0.6666667 0.8666667 0.8333333 0.7666667 Kedisiplinan Rendah
P015 0.8333333 0.6666667 0.8000000 0.8333333 0.8666667 Kedisiplinan Rendah
P016 0.9000000 0.7000000 0.8666667 0.9000000 0.5333333 Kedisiplinan Rendah
P017 0.6333333 0.7333333 0.7666667 0.8333333 0.9000000 Kedisiplinan Rendah
P018 0.8333333 0.7666667 0.9000000 0.6000000 0.7333333 Kedisiplinan Rendah
P019 0.8666667 0.6333333 0.9000000 0.8333333 0.6000000 Kedisiplinan Rendah
P020 0.7333333 0.5000000 0.8666667 0.8666667 0.8000000 Kedisiplinan Rendah
P021 0.8666667 0.6333333 0.7333333 0.8000000 0.6666667 Kedisiplinan Rendah
P022 0.7000000 0.6000000 0.9333333 0.8666667 0.5666667 Kedisiplinan Rendah
P023 0.7333333 0.7000000 0.9000000 0.7000000 0.5333333 Kedisiplinan Rendah
P024 0.7333333 0.6666667 0.8666667 0.7333333 0.5333333 Kedisiplinan Rendah
P025 0.8333333 0.5666667 0.8333333 0.5666667 0.7333333 Kedisiplinan Rendah
P026 0.6666667 0.7000000 0.6666667 0.8333333 0.6000000 Kedisiplinan Rendah
P027 0.8333333 0.7000000 0.9333333 0.2000000 0.8000000 Kedisiplinan Rendah
P028 0.7333333 0.7000000 0.8333333 0.7000000 0.5000000 Kedisiplinan Rendah
P029 0.6666667 0.5333333 0.7666667 0.8000000 0.6666667 Kedisiplinan Rendah
P030 0.7000000 0.6666667 0.6333333 0.7333333 0.7000000 Kedisiplinan Rendah
P031 0.7333333 0.7333333 0.8666667 0.3333333 0.7666667 Kedisiplinan Rendah
P032 0.8000000 0.5000000 0.7333333 0.8000000 0.5666667 Kedisiplinan Rendah
P033 0.7333333 0.6000000 0.8333333 0.7000000 0.5000000 Kedisiplinan Rendah
P034 0.5666667 0.6000000 0.7000000 0.7000000 0.7333333 Kedisiplinan Rendah
P035 0.4000000 0.5000000 0.6333333 0.9000000 0.8666667 Kedisiplinan Rendah
P036 0.5000000 0.5333333 0.6333333 0.8333333 0.7000000 Kedisiplinan Rendah
P037 0.7333333 0.4333333 0.5666667 0.7000000 0.7333333 Kedisiplinan Rendah
P038 0.8000000 0.6000000 0.7666667 0.5000000 0.4666667 Kedisiplinan Rendah
P039 0.3333333 0.5666667 0.6000000 0.8000000 0.8000000 Kedisiplinan Rendah
P040 0.5666667 0.4333333 0.5666667 0.8000000 0.6666667 Kedisiplinan Rendah
P041 0.6333333 0.3666667 0.5333333 0.8000000 0.6666667 Kedisiplinan Rendah
P042 0.7000000 0.7000000 0.8000000 0.5000000 0.2666667 Kedisiplinan Rendah
P043 0.6000000 0.3000000 0.5666667 0.7000000 0.7333333 Kedisiplinan Rendah
P044 0.5666667 0.5666667 0.5000000 0.5333333 0.5666667 Kedisiplinan Rendah
P046 0.3000000 0.5333333 0.6333333 0.6000000 0.5333333 Kedisiplinan Rendah
P045 0.6000000 0.4666667 0.3666667 0.6333333 0.5333333 Kedisiplinan Tinggi
P047 0.4000000 0.1333333 0.7333333 0.7333333 0.5333333 Kedisiplinan Tinggi
P048 0.3666667 0.4333333 0.6000000 0.6000000 0.5333333 Kedisiplinan Tinggi
P049 0.2666667 0.5333333 0.5666667 0.5666667 0.5333333 Kedisiplinan Tinggi
P050 0.3000000 0.3333333 0.4666667 0.7333333 0.6333333 Kedisiplinan Tinggi
P051 0.7000000 0.3333333 0.6000000 0.5666667 0.2000000 Kedisiplinan Tinggi
P052 0.3666667 0.5000000 0.5000000 0.5333333 0.5000000 Kedisiplinan Tinggi
P053 0.3333333 0.4000000 0.5666667 0.6000000 0.5000000 Kedisiplinan Tinggi
P054 0.6333333 0.4666667 0.4666667 0.3666667 0.4000000 Kedisiplinan Tinggi
P055 0.0000000 0.2666667 0.7333333 0.7333333 0.5666667 Kedisiplinan Tinggi
P056 0.0666667 0.2333333 0.6333333 0.7666667 0.6000000 Kedisiplinan Tinggi
P057 0.8333333 0.3666667 0.5666667 0.2000000 0.3333333 Kedisiplinan Tinggi
P058 0.8000000 0.1000000 0.1666667 0.5333333 0.6333333 Kedisiplinan Tinggi
P059 0.0333333 0.2666667 0.4000000 0.8000000 0.7333333 Kedisiplinan Tinggi
P060 0.8333333 0.2000000 0.3666667 0.3333333 0.4333333 Kedisiplinan Tinggi
P061 0.7666667 0.1000000 0.1333333 0.6000000 0.5333333 Kedisiplinan Tinggi
P062 0.8000000 0.2666667 0.4333333 0.3000000 0.2666667 Kedisiplinan Tinggi
P063 0.1666667 0.5666667 0.6000000 0.4000000 0.2000000 Kedisiplinan Tinggi
P064 0.2666667 0.4000000 0.4000000 0.4666667 0.4000000 Kedisiplinan Tinggi
P065 0.2666667 0.4000000 0.4666667 0.4333333 0.3666667 Kedisiplinan Tinggi
P066 0.7333333 0.1666667 0.3333333 0.4000000 0.3000000 Kedisiplinan Tinggi
P067 0.7333333 0.1666667 0.2000000 0.4000000 0.4333333 Kedisiplinan Tinggi
P068 0.9000000 0.1333333 0.0000000 0.0333333 0.8333333 Kedisiplinan Tinggi
P069 0.1333333 0.4333333 0.6000000 0.4333333 0.2666667 Kedisiplinan Tinggi
P070 0.4000000 0.1666667 0.1000000 0.6666667 0.5333333 Kedisiplinan Tinggi
P071 0.2333333 0.3666667 0.4666667 0.4333333 0.3666667 Kedisiplinan Tinggi
P072 0.3000000 0.4666667 0.4666667 0.5000000 0.1000000 Kedisiplinan Tinggi
P073 0.1333333 0.1333333 0.3000000 0.6333333 0.6000000 Kedisiplinan Tinggi
P074 0.6333333 0.0333333 0.0333333 0.5666667 0.5333333 Kedisiplinan Tinggi
P075 0.0000000 0.5333333 0.2333333 0.4666667 0.5333333 Kedisiplinan Tinggi
P076 0.7666667 0.0666667 0.0666667 0.4333333 0.4333333 Kedisiplinan Tinggi
P077 0.0666667 0.2666667 0.1333333 0.6000000 0.6333333 Kedisiplinan Tinggi
P078 0.5333333 0.3333333 0.4000000 0.2333333 0.2000000 Kedisiplinan Tinggi
P079 0.1333333 0.1333333 0.4000000 0.5000000 0.5000000 Kedisiplinan Tinggi
P080 0.3333333 0.3333333 0.3333333 0.3333333 0.3000000 Kedisiplinan Tinggi
P081 0.0333333 0.2000000 0.2000000 0.6666667 0.5333333 Kedisiplinan Tinggi
P082 0.1666667 0.1666667 0.6000000 0.3333333 0.3333333 Kedisiplinan Tinggi
P083 0.7333333 0.1000000 0.1000000 0.3000000 0.3666667 Kedisiplinan Tinggi
P084 0.7333333 0.0333333 0.0000000 0.0000000 0.8333333 Kedisiplinan Tinggi
P085 0.0000000 0.2000000 0.5333333 0.4000000 0.4333333 Kedisiplinan Tinggi
P086 0.0333333 0.1666667 0.3000000 0.6333333 0.4333333 Kedisiplinan Tinggi
P087 0.0333333 0.1000000 0.5000000 0.4666667 0.4333333 Kedisiplinan Tinggi
P088 0.0666667 0.2333333 0.6333333 0.3000000 0.2666667 Kedisiplinan Tinggi
P089 0.1000000 0.3000000 0.2666667 0.4333333 0.4000000 Kedisiplinan Tinggi
P090 0.3333333 0.2666667 0.3000000 0.3000000 0.2666667 Kedisiplinan Tinggi
P091 0.3333333 0.3000000 0.4000000 0.2000000 0.2000000 Kedisiplinan Tinggi
P092 0.0000000 0.1000000 0.0333333 0.6333333 0.6333333 Kedisiplinan Tinggi
P093 0.0333333 0.1000000 0.4333333 0.5000000 0.3333333 Kedisiplinan Tinggi
P094 0.1666667 0.1666667 0.5333333 0.2666667 0.2666667 Kedisiplinan Tinggi
P095 0.1666667 0.2333333 0.1000000 0.4333333 0.4666667 Kedisiplinan Tinggi
P096 0.0000000 0.0666667 0.5666667 0.4000000 0.3666667 Kedisiplinan Tinggi
P097 0.0000000 0.0333333 0.5666667 0.4000000 0.3666667 Kedisiplinan Tinggi
P098 0.0666667 0.2333333 0.1333333 0.4333333 0.4333333 Kedisiplinan Tinggi
P099 0.0000000 0.0333333 0.5000000 0.3333333 0.3666667 Kedisiplinan Tinggi
P100 0.7000000 0.1333333 0.1666667 0.0666667 0.1333333 Kedisiplinan Tinggi
P101 0.0666667 0.2000000 0.2000000 0.4000000 0.3333333 Kedisiplinan Tinggi
P102 0.3000000 0.1666667 0.1333333 0.2000000 0.3333333 Kedisiplinan Tinggi
P103 0.1000000 0.0666667 0.0000000 0.4666667 0.5000000 Kedisiplinan Tinggi
P104 0.7000000 0.1333333 0.2000000 0.0666667 0.0333333 Kedisiplinan Tinggi
P105 0.0000000 0.0333333 0.0333333 0.5000000 0.5333333 Kedisiplinan Tinggi
P106 0.2000000 0.1000000 0.1333333 0.3333333 0.3333333 Kedisiplinan Tinggi
P107 0.0666667 0.1000000 0.0666667 0.4666667 0.4000000 Kedisiplinan Tinggi
P108 0.1666667 0.2000000 0.2333333 0.3333333 0.1666667 Kedisiplinan Tinggi
P109 0.1000000 0.0666667 0.2666667 0.3333333 0.3333333 Kedisiplinan Tinggi
P110 0.0000000 0.2333333 0.7333333 0.0666667 0.0666667 Kedisiplinan Tinggi
P111 0.3000000 0.1666667 0.2333333 0.2666667 0.1000000 Kedisiplinan Tinggi
P112 0.3333333 0.0333333 0.1333333 0.2666667 0.3000000 Kedisiplinan Tinggi
P113 0.0000000 0.1000000 0.0333333 0.4666667 0.4666667 Kedisiplinan Tinggi
P114 0.0000000 0.2666667 0.6000000 0.0666667 0.1000000 Kedisiplinan Tinggi
P115 0.0000000 0.0000000 0.5666667 0.2333333 0.2000000 Kedisiplinan Tinggi
P116 0.0000000 0.1666667 0.4000000 0.1666667 0.1666667 Kedisiplinan Tinggi
P117 0.0000000 0.0666667 0.3333333 0.2666667 0.2333333 Kedisiplinan Tinggi
P118 0.1333333 0.2000000 0.2000000 0.1333333 0.2000000 Kedisiplinan Tinggi
P119 0.0000000 0.2333333 0.4333333 0.1666667 0.0333333 Kedisiplinan Tinggi
P120 0.7000000 0.0333333 0.0000000 0.0000000 0.1000000 Kedisiplinan Tinggi
P121 0.1000000 0.0000000 0.1000000 0.1000000 0.5333333 Kedisiplinan Tinggi
P122 0.0000000 0.2333333 0.4666667 0.0666667 0.0333333 Kedisiplinan Tinggi
P123 0.0000000 0.1333333 0.2666667 0.2333333 0.1666667 Kedisiplinan Tinggi
P124 0.0666667 0.1666667 0.0666667 0.2333333 0.2666667 Kedisiplinan Tinggi
P125 0.5666667 0.0000000 0.1333333 0.0333333 0.0666667 Kedisiplinan Tinggi
P126 0.0000000 0.0000000 0.7000000 0.0666667 0.0333333 Kedisiplinan Tinggi

Berdasarkan hasil analisis dengan jumlah cluster 2 ,setiap klaster mempresentasikan kelompok peserta dengan karakteristik kedisplinan yang relatif homogen didalam klaster dan berbeda antar cluster

Lihat kode
klaster <- data1 %>%
  select(ID, Klaster) %>%
  group_by(Klaster) %>%
  summarise(
    Jumlah_Anggota = n(),
    Daftar_Anggota = paste(ID, collapse = ", "),
    .groups = "drop"
  )

kable(
  klaster,
  caption = "Ringkasan Anggota pada Setiap Klaster",
  align = "c"
)
Ringkasan Anggota pada Setiap Klaster
Klaster Jumlah_Anggota Daftar_Anggota
Kedisiplinan Rendah 45 P001, P002, P003, P004, P005, P006, P007, P008, P009, P010, P011, P012, P013, P014, P015, P016, P017, P018, P019, P020, P021, P022, P023, P024, P025, P026, P027, P028, P029, P030, P031, P032, P033, P034, P035, P036, P037, P038, P039, P040, P041, P042, P043, P044, P046
Kedisiplinan Tinggi 81 P045, P047, P048, P049, P050, P051, P052, P053, P054, P055, P056, P057, P058, P059, P060, P061, P062, P063, P064, P065, P066, P067, P068, P069, P070, P071, P072, P073, P074, P075, P076, P077, P078, P079, P080, P081, P082, P083, P084, P085, P086, P087, P088, P089, P090, P091, P092, P093, P094, P095, P096, P097, P098, P099, P100, P101, P102, P103, P104, P105, P106, P107, P108, P109, P110, P111, P112, P113, P114, P115, P116, P117, P118, P119, P120, P121, P122, P123, P124, P125, P126

Hasil K-Means Clustering membagi peserta ke dalam dua klaster dengan karakteristik kedisiplinan sholat yang berbeda. Klaster Kedisiplinan Rendah beranggotakan 45 peserta, sedangkan klaster Kedisiplinan Tinggi terdiri dari 81 peserta, yang menunjukkan bahwa sebagian besar peserta memiliki tingkat kedisiplinan sholat yang relatif baik. Perbedaan ukuran klaster ini mencerminkan adanya heterogenitas pola kedisiplinan, sehingga hasil clustering relevan untuk segmentasi peserta dalam pembinaan ibadah berbasis data.

Lihat kode
rownames(data1) <- data1$ID
dataclean_num <- data1[, c("Psubuh","Pdzhur","Pashar","Pmagrib","Pisya")]


fviz_cluster(
  data_shollu_km,
  data = dataclean_num,
  label = "blue",
  repel = TRUE,
  palette = c("#3D5300", "#AF1740")
)

Lihat kode
mean_cluster_km <- aggregate(dataclean, list(data_shollu_km$cluster),mean)
mean_cluster_km
Group.1 Psubuh Pdzhur Pashar Pmagrib Pisya
1 0.9042933 1.1168308 1.0173314 0.9384674 0.9306297
2 -0.5023852 -0.6204616 -0.5651841 -0.5213708 -0.5170165

Tabel menunjukkan rata-rata terstandarisasi (Z-score) dari masing-masing variabel sholat pada dua klaster. Klaster 1 memiliki nilai rata-rata positif pada seluruh waktu sholat, yang mengindikasikan tingkat kedisiplinan sholat di atas rata-rata populasi secara konsisten. Sebaliknya, Klaster 2 memiliki nilai rata-rata negatif pada semua variabel, yang menunjukkan tingkat kedisiplinan sholat di bawah rata-rata populasi.

Pola ini menegaskan bahwa hasil clustering mampu memisahkan peserta ke dalam dua kelompok dengan karakteristik yang kontras, yaitu klaster dengan kedisiplinan sholat tinggi dan klaster dengan kedisiplinan sholat rendah, serta menunjukkan konsistensi perbedaan kedisiplinan pada seluruh waktu sholat.