1 PENDAHULUAN

1.1 Latar Belakang

Dalam industri perbankan modern, kemampuan memahami karakteristik dan perilaku pelanggan menjadi kunci utama dalam meningkatkan loyalitas serta mengoptimalkan strategi pemasaran. Salah satu tantangan utama bagi Bank Thera adalah mengelompokkan nasabah berdasarkan kesamaan karakteristik, seperti usia, pendapatan, pengalaman kerja, atau tingkat penggunaan layanan agar strategi produk dan promosi dapat lebih tepat sasaran.

Metode clustering atau pengelompokan data merupakan salah satu teknik analisis data eksploratori yang digunakan untuk menemukan struktur alami dalam sekumpulan data tanpa menggunakan label kelas (Han, Kamber, & Pei, 2012). Salah satu algoritma yang paling populer karena sederhana, efisien, dan mudah diterapkan pada dataset berukuran besar adalah K-Means. Penerapan analisis clustering K-Means sangat relevan dalam segmentasi nasabah bank (bank customer segmentation).

Segmentasi nasabah menjadi salah satu strategi utama bagi Bank Thera untuk memperoleh pemahaman yang lebih komprehensif mengenai karakteristik serta kebutuhan setiap nasabah. Pihak Bank Thera dapat mengidentifikasi kelompok nasabah berdasarkan faktor-faktor, seperti demografi, pola transaksi, dan tingkat pendapatan sehingga strategi pemasaran dapat disusun secara lebih terarah dan efektif (Irawan dkk., 2025). Strategi ini berperan dalam optimalisasi alokasi sumber daya, memperkuat kepuasan dan loyalitas nasabah, serta meningkatkan daya saing bank di era transformasi digital.

1.2 Rumusan Masalah

Berdasarkan latar belakang, dapat dirumuskan permasalahan berikut.

  1. Bagaimana penerapan metode K-Means clustering pada data nasabah Bank Thera?

  2. Berapa jumlah klaster optimal yang dapat menggambarkan segmentasi nasabah Bank Thera secara efektif?

  3. Bagaimana karakteristik masing-masing klaster nasabah berdasarkan variabel usia, pengalaman kerja, dan pendapatan?

1.3 Tujuan

Berdasarkan rumusan masalah, tujuan dari laporan praktikum ini adalah

  1. Menerapkan metode K-Means clustering pada data nasabah Bank Thera untuk mengelompokkan nasabah berdasarkan karakteristik usia, pengalaman kerja, dan pendapatan.

  2. Menentukan jumlah klaster optimal dengan menggunakan Metode Elbow.

  3. Menganalisis dan menginterpretasikan profil tiap klaster sebagai dasar pengambilan keputusan Bank Thera.

2 TINJAUAN PUSTAKA

2.1 Analisis Multivariat

Analisis multivariat merupakan metode statistika yang digunakan untuk menganalisis data yang memiliki lebih dari satu variabel terikat secara simultan. Tujuan utama dari analisis multivariat adalah untuk memahami hubungan antarvariabel serta mengidentifikasi pola atau struktur dalam data yang kompleks (Johnson & Wichern, 2007). Analisis multivariat banyak digunakan dalam penelitian ekonomi, pemasaran, dan perbankan untuk membantu pengambilan keputusan berbasis data.

Menurut Hair dkk. (2016), analisis multivariat memiliki berbagai metode, seperti analisis faktor, analisis diskriminan, analisis regresi berganda, dan analisis klaster. Penggunaan teknik bergantung pada tujuan penelitian dan jenis data yang digunakan. Analisis multivariat dapat membantu memahami perilaku nasabah, mengelompokkan nasabah berdasarkan karakteristik tertentu, serta menilai faktor-faktor yang memengaruhi keputusan nasabah dalam menggunakan layanan bank.

2.2 Analisis Klaster K-Means

Analisis klaster atau pengelompokan merupakan salah satu teknik analisis multivariat yang digunakan untuk mengelompokkan objek ke dalam beberapa kelompok (klaster) berdasarkan kesamaan karakteristik di antara objek-objek tersebut (Han dkk., 2012). Tujuannya adalah agar objek dalam satu klaster memiliki kemiripan tinggi satu sama lain, sementara antarklaster memiliki perbedaan yang signifikan.

Metode K-Means merupakan salah satu algoritma clustering yang paling populer dan sederhana. Algoritma ini bekerja dengan cara membagi data ke dalam sejumlah k klaster yang telah ditentukan sebelumnya, lalu menghitung pusat klaster (centroid) berdasarkan rata-rata nilai dari anggota setiap klaster. Proses ini berlangsung secara iteratif hingga tidak ada lagi perubahan signifikan pada posisi centroid.

Dalam konteks perbankan, K-Means banyak diterapkan untuk segmentasi nasabah, di mana bank dapat mengelompokkan pelanggan berdasarkan variabel-variabel seperti usia, pendapatan, tingkat pendidikan, dan perilaku transaksi (Irawan dkk., 2025). Hasil pengelompokan ini dapat membantu bank, termasuk Bank Thera, dalam merancang strategi pemasaran yang lebih tepat sasaran, meningkatkan efisiensi operasional, serta mengidentifikasi peluang untuk memperkuat loyalitas nasabah di tengah persaingan industri perbankan yang semakin ketat.

3 SOURCE CODE

3.1 Impor Data

> data <- read.csv("D:/KULIAH/SEMESTER 5/ANALISIS MULTIVARIAT/Bank_Personal_Loan_Modelling.csv", header = TRUE)
> data <- data[1:350, ]

3.2 Menampilkan struktur data

> str(data)
'data.frame':   350 obs. of  14 variables:
 $ ID               : int  1 2 3 4 5 6 7 8 9 10 ...
 $ Age              : int  25 45 39 35 35 37 53 50 35 34 ...
 $ Experience       : int  1 19 15 9 8 13 27 24 10 9 ...
 $ Income           : int  49 34 11 100 45 29 72 22 81 180 ...
 $ ZIPCode          : int  91107 90089 94720 94112 91330 92121 91711 93943 90089 93023 ...
 $ Family           : int  4 3 1 1 4 4 2 1 3 1 ...
 $ CCAvg            : chr  "Jan-60" "Jan-50" "Jan-00" "Feb-70" ...
 $ Education        : int  1 1 1 2 2 2 2 3 2 3 ...
 $ Mortgage         : int  0 0 0 0 0 155 0 0 104 0 ...
 $ PersonalLoan     : int  0 0 0 0 0 0 0 0 0 1 ...
 $ SecuritiesAccount: int  1 1 0 0 0 0 0 0 0 0 ...
 $ CDAccount        : int  0 0 0 0 0 0 0 0 0 0 ...
 $ Online           : int  0 0 0 0 0 1 1 0 1 0 ...
 $ CreditCard       : int  0 0 0 0 1 0 0 1 0 0 ...

3.3 Pemilihan Variabel dan Scaling

> data_km <- data[, c("Age", "Experience", "Income")]
> data_km <- na.omit(data_km)
> data_scaled <- scale(data_km)
> library(DT)
> datatable(
+   data_km,
+   options = list(
+     pageLength = 10,  
+     lengthMenu = c(5, 10, 25, 50, 100) 
+   ),
+   caption = 'Tabel Data Nasabah Sebelum Standarisasi'
+ )
> datatable(
+   data_scaled,
+   options = list(
+     pageLength = 10,  
+     lengthMenu = c(5, 10, 25, 50, 100) 
+   ),
+   caption = 'Tabel Data Nasabah Sesudah Standarisasi'
+ )

3.4 Iterasi Metode Elbow

> set.seed(123)
> wcss <- numeric()
> for (k in 1:10) {
+   km <- kmeans(data_scaled, centers = k, nstart = 25)
+   wcss[k] <- km$tot.withinss
+ }

3.5 Plot Metode Elbow

> plot(1:10, wcss, type = "b", pch = 19,
+      xlab = "Jumlah Cluster (k)",
+      ylab = "Within-Cluster Sum of Squares (WCSS)",
+      main = "Metode Elbow untuk Menentukan k Optimal")

3.6 Analisis K-Means

> set.seed(123)
> kmeans_result <- kmeans(data_scaled, centers = 4, nstart = 25)
> data$Cluster <- as.factor(kmeans_result$cluster)
> hasil_cluster <- data.frame(Customer_ID = data$ID,
+                             Age = data$Age,
+                             Experience = data$Experience,
+                             Income = data$Income,
+                             Cluster = data$Cluster)
> library(DT)
> datatable(
+   hasil_cluster,
+   options = list(
+     pageLength = 10,  
+     lengthMenu = c(5, 10, 25, 50, 100) 
+   ),
+   caption = 'Tabel Hasil Analisis Klaster K-Means Nasabah Bank Thera'
+ )

3.7 Menyimpan Data Hasil Analisis Klaster K-Means dalam Bentuk Excel

> library(writexl)
> nama_file <- "D:/KULIAH/SEMESTER 5/ANALISIS MULTIVARIAT/Hasil_Klaster_Nasabah.xlsx"
> write_xlsx(hasil_cluster, path = nama_file)

3.8 Menampilkan Banyak Anggota dari Setiap Klaster

> cluster_counts <- table(hasil_cluster$Cluster)
> tabel_frekuensi <- as.data.frame(cluster_counts)
> colnames(tabel_frekuensi) <- c("Klaster", "Banyak Anggota")
> library(knitr)
> knitr::kable(
+   tabel_frekuensi, 
+   caption = "Tabel Banyak Anggota Nasabah per Klaster"
+ )
Tabel Banyak Anggota Nasabah per Klaster
Klaster Banyak Anggota
1 43
2 129
3 61
4 117

3.9 Menghitung Rata-rata dari Variabel (Age, Experience, Income) untuk Setiap Klaster

> cluster_mean <- aggregate(cbind(Age, Experience, Income) ~ Cluster, data = hasil_cluster, FUN = mean)
> tabel_rata2 <- as.data.frame(cluster_mean)
> colnames(tabel_rata2) <- c("Klaster", "Age", "Experience", "Income")
> library(knitr)
> knitr::kable(
+   tabel_rata2, 
+   caption = "Tabel Rata-rata dari Variabel (Age, Experience, Income) untuk Setiap Klaster"
+ )
Tabel Rata-rata dari Variabel (Age, Experience, Income) untuk Setiap Klaster
Klaster Age Experience Income
1 33.55814 8.441861 136.09302
2 35.86047 10.651163 53.20155
3 54.88525 29.983607 129.47541
4 54.86325 29.350427 47.24786

3.10 Plot Sebaran Klaster

> library(factoextra)
> fviz_cluster(kmeans_result, data = data_scaled,
+              geom = "point",
+              ellipse.type = "norm",
+              main = "Visualisasi K-Means Clustering Berdasarkan Age, Experience, Income")

4 HASIL DAN PEMBAHASAN

> plot(1:10, wcss, type = "b", pch = 19,
+      xlab = "Jumlah Cluster (k)",
+      ylab = "Within-Cluster Sum of Squares (WCSS)",
+      main = "Metode Elbow untuk Menentukan k Optimal")

Berdasarkan plot Metode Elbow, dapat dilihat penurunan WCSS yang sangat tajam dari k=1 ke k=2. Penurunan signifikan masih berlanjut hingga k=3 dan k=4. Setelah k=4, kurva mulai terlihat melandai secara substansial. Penurunan WCSS dari k=5 dan seterusnya tidak lagi memberikan peningkatan kekompakan klaster yang berarti. Oleh karena itu, k=4 adalah jumlah klaster optimal yang direkomendasikan untuk dataset yang digunakan.

> library(factoextra)
> fviz_cluster(kmeans_result, data = data_scaled,
+              geom = "point",
+              ellipse.type = "norm",
+              main = "Visualisasi K-Means Clustering Berdasarkan Age, Experience, Income")

Analisis Klaster K-Means berhasil membagi 350 nasabah bank ke dalam empat segmen utama yang secara signifikan berbeda berdasarkan usia (age), pengalaman (experience), dan pendapatan (income). Klaster 1 memiliki 43 anggota, klaster 2 berjumlah 129 anggota, klaster 3 beranggotakan 61 orang, dan klaster 4 memiliki 117 anggota. Klaster 1 dan 2 mewakili segmen nasabah muda dengan rata-rata usia 33-35 tahun dan pengalaman 8-10 tahun. Berdasarkan pendapatan, klaster 1 adalah segmen dengan pendapatan tertinggi sehingga klaster ini ideal untuk diberikan penawaran produk pinjaman pribadi dan pengelolaan kekayaan. Klaster 2 merupakan segmen nasabah yang memiliki anggota terbanyak dengan rata-rata pendapatan yang cenderung rendah hingga sedang sehingga cocok diberikan penawaran produk tabungan, kartu kredit, atau pinjaman KPR pertama.

Klaster 3 dan 4 mewakili segmen nasabah lansia dengan rata-rata usia 50-60 tahun dan pengalaman 30-40 tahun. Berdasarkan pendapatan, klaster 3 memiliki pendapatan yang tinggi sehingga klaster ini mewakili nasabah mapan dengan stabilitas finansial dan kemungkinan besar menjadi target untuk produk perencanaan warisan atau pensiun premium, serta investasi jangka panjang. Sementara klaster 4 memiliki anggota dengan pendapatan yang rendah sehingga bank perlu menargetkan produk tabungan berisiko rendah dan program pensiun yang stabil bagi nasabah di klaster ini.

5 KESIMPULAN

Analisis klaster K-Means terhadap nasabah Bank Thera berhasil mengidentifikasi empat segmen nasabah yang dikelompokkan berdasarkan usia, pengalaman, dan pendapatan. Klaster 1 dan klaster 3 mewakili segmen dengan pendapatan tinggi, sedangkan klaster 2 dan klaster 4 mewakili segmen dengan pendapatan rendah hingga sedang. Secara keseluruhan, Bank Thera harus menerapkan strategi diferensiasi produk yang jelas untuk memaksimalkan potensi nilai dari segmen berpendapatan tinggi dan memenuhi kebutuhan dasar finansial dari segmen berpendapatan lebih rendah.

6 DAFTAR PUSTAKA

Hair, J., Anderson, R., Black, B., & Babin, B. (2016). Multivariate Data Analysis. New Jersey: Pearson Education.

Han, J., Kamber, M., & Pei, J. (2012). Data mining: Concepts and techniques (3rd ed.). USA: Elsevier.

Johnson, R. A. & Wichern, D. W. (2007). Applied Multivariate Statistical Analysis. New Jersey: Pearson.

Irawan, D., Wijaya, G., & Warisaji, T. T. (2025). Penerapan Algoritma K-Means Clustering untuk Segmentasi Nasabah Bank. Jurnal Teknologi Informasi dan Rekayasa Komputer, 6(1), 47-53.