Library:
> # install.packages("tidyverse")
> # install.packages("cluster")
> # install.packages("factoextra")
> # install.packages("ggpubr")
> # install.packages("ggplot2")
> # install.packages("tibble")
> # install.packages("psych")
> # install.packages("gridExtra")
> # install.packages("readxl")
> # install.packages("DT")1 PENDAHULUAN
1.1 Latar Belakang Kasus
Pemerintah melakukan berbagai upaya untuk meningkatkan kesejahteraan masyarakat melalui kegiatan pembangunan. Pembangunan memiliki arti khusus, yaitu tindakan yang bertujuan untuk meningkatkan kualitas hidup masyarakat sesuai dengan sumber daya yang tersedia di suatu wilayah. Salah satu parameter yang digunakan untuk menilai hasil pembangunan suatu daerah adalah Indeks Pembangunan Manusia, yang sering disebut IPM.
Pada tahun 1990, United Nations Development Programme (UNDP) memperkenalkan Indeks Pembangunan Manusia (IPM) yang secara berkala disajikan dalam Human Development Report (HDR) di mana IPM menjadi ukuran penting dalam menilai kemajuan suatu negara atau wilayah dalam aspek kesehatan, pendidikan, dan pendapatan. Indeks Pembangunan Manusia (IPM) atau yang dikenal sebagai Human Development Index (HDI) merupakan alat perbandingan yang digunakan untuk mengevaluasi harapan hidup, tingkat melek huruf, pendidikan, dan standar hidup di seluruh negara di dunia. IPM memberikan gambaran tentang sejauh mana penduduk suatu wilayah dapat mengakses manfaat pembangunan, termasuk pendapatan, kesehatan, pendidikan, dan aspek-aspek lainnya yang mencakup tiga dimensi utama, yaitu umur panjang dan hidup sehat, pengetahuan, serta standar hidup yang layak.
Semakin tinggi angka IPM di suatu wilayah, maka dapat dikatakan bahwa wilayah tersebut mengalami keberhasilan dalam proses pembangunannya. Untuk mencapai keberhasilan pembangunan di wilayah tersebut, perlu dilakukan identifikasi wilayah-wilayah yang memerlukan perbaikan dalam proses pembangunan. Upaya yang bisa dilakukan adalah mengelompokkan wilayah yang belum mencapai kesuksesan dalam proses pembangunan. Dengan melakukan ini, pemerintah dapat lebih baik menyesuaikan program pembangunan dengan situasi di masing-masing wilayah. Oleh karena itu, penting untuk melakukan pengelompokkan berdasarkan karakteristik wilayah agar pemerintah dapat lebih efektif dalam mencapai keberhasilan pembangunan.
1.2 Latar Belakang Metode
Salah satu bidang ilmu yang digunakan untuk mengelompokkan wilayah-wilayah berdasarkan ciri-ciri tertentu adalah analisis cluster. Analisis cluster adalah cabang ilmu statistika yang memfokuskan pada pengelompokkan objek berdasarkan kesamaan karakteristik yang ada pada objek tersebut. Tujuan utama dari analisis cluster adalah untuk menyederhanakan jumlah objek dengan mengelompokkannya menjadi beberapa cluster. Objek-objek yang berada dalam satu cluster memiliki tingkat kesamaan karakteristik yang lebih tinggi dibandingkan dengan objek yang berada dalam cluster lainnya. Salah satu metode yang digunakan dalam analisis cluster adalah metode K-Means. K-Means Clustering adalah salah satu algoritma dalam data mining yang digunakan secara luas dalam berbagai konteks seperti bisnis, akademik, dan industri. Algoritma ini bekerja dengan membagi data ke dalam beberapa kelompok (cluster) berdasarkan tingkat kesamaan atau perbedaan yang ada dalam kumpulan data tersebut.
Penelitian yang dilakukan Rahman et al. pada tahun 2017 dengan judul “Coal Trade Data Clustering Using K-means (Case Study PT Global Bangkit Umum)” bertujuan membuat visualisasi cluster optimal dengan menggunakan metode elbow pada data penjualan batubara PT Global Bangkit Utama yang menghasilkan cluster optimal sebanyak 8 cluster. Selanjutnya, penelitian sebelumnya terkait pengelompokkan wilayah berdasarkan indikator Indeks Pembangunan Manusia, salah satunya dilakukan oleh M.W. Talakua et al. pada tahun 2017 dengan judul “Analisis Cluster Dengan Menggunakan Metode K-Means Untuk Pengelompokkan Kabupaten/Kota Di Provinsi Maluku Berdasarkan Indikator Indeks Pembangunan Manusia Tahun 2014”. Hasil penelitian tersebut menunjukkan bahwa terbentuk 3 cluster di mana variabel yang digunakan adalah Angka Harapan Hidup (AHH), Angka Melek Huruf (AMH), Rata-rata Lama Sekolah (RLS), dan Pengeluaran Per Kapita (PPK).
1.3 Rumusan Masalah
Berdasarkan latar belakang kasus dan metode yang telah diuraikan, dapat ditentukan rumusan masalahnya yakni:
Berapa kelompok atau cluster yang terbentuk dari 38 Kabupaten/Kota di Jawa Timur berdasarkan sejumlah indikator Indeks Pembangunan Manusia (IPM) yang meliputi variabel Angka Harapan Hidup (AHH), Harapan Lama Sekolah (HLS), Pengeluaran per Kapita (PK), Angka Melek Huruf (AMH), dan Produk Domestik Regional Bruto (PDRB) menggunakan K-Means Clustering?
Kelompok atau cluster mana yang memiliki IPM lebih tinggi ataupun lebih rendah?
1.4 Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah:
Mengidentifikasi bentuk kelompok atau cluster dari 38 Kabupaten/Kota di Jawa Timur berdasarkan sejumlah indikator Indeks Pembangunan Manusia (IPM) yang meliputi variabel Angka Harapan Hidup (AHH), Harapan Lama Sekolah (HLS), Pengeluaran per Kapita (PK), Angka Melek Huruf (AMH), dan Produk Domestik Regional Bruto (PDRB).
Mengetahui cluster mana yang memiliki IPM lebih tinggi ataupun lebih rendah.
1.5 Batasan Masalah
Permasalahan pada penelitian ini dibatasi pada:
Data yang digunakan adalah dataset indikator Indeks Pembangunan Manusia (IPM) pada Kabupaten/Kota di Jawa Timur tahun 2016 yang didapatkan dari situs resmi Badan Pusat Statistik (BPS) Jawa Timur.
Indikator yang digunakan adalah Angka Harapan Hidup/AHH (tahun), Harapan Lama Sekolah/HLS (tahun), Pengeluaran per Kapita/PK (Rp), Angka Melek Huruf/AMH (%), dan Produk Domestik Regional Bruto/PDRB (Rp).
Analisis yang digunakan untuk mengelompokkan Kabupaten/Kota di Jawa Timur pada tahun 2016 berdasarkan indikator Indeks Pembangunan Manusia adalah K-Means Clustering.
1.6 Data
Data yang digunakan berasal dari data 38 Kabupaten/Kota di Jawa Timur pada tahun 2016 yang diperoleh dari situs resmi Badan Pusat Statistik (BPS) Jawa Timur yang meliputi sejumlah indikator Indeks Pembangunan Manusia (IPM), yakni Angka Harapan Hidup (AHH), Harapan Lama Sekolah (HLS), Pengeluaran per Kapita (PK), Angka Melek Huruf (AMH), dan Produk Domestik Regional Bruto (PDRB).
Adapun data tersebut dapat dilihat pada tabel berikut:
Indikator Indeks Pembangunan Manusia (IPM) terdiri dari 5 variabel, yaitu:
\(X_{1}\) = Angka Harapan Hidup (tahun)
\(X_{2}\) = Harapan Lama Sekolah (tahun)
\(X_{3}\) = Pengeluaran per Kapita Riil Disesuaikan
\(X_{4}\) = Angka Melek Huruf (%)
\(X_{5}\) = Produk Domestik Regional Bruto per Kapita Atas Dasar Harga Berlaku (Rp)
2 TINJAUAN PUSTAKA
2.1 Statistika Deskriptif
Statistika deskriptif adalah suatu metode statistik yang fokus pada pengumpulan, pengorganisasian, dan pengolahan data dengan tujuan memberikan gambaran yang jelas tentang suatu situasi atau peristiwa yang sedang diteliti. Dengan kata lain, statistika deskriptif bertujuan untuk menyajikan data secara terperinci agar informasi dan makna tertentu dapat diperoleh melalui representasi visual yang disajikan (Sholikhah, 2016). Statistik deskriptif ini berkaitan dengan proses menjelaskan atau memberikan informasi tentang data, situasi, atau fenomena yang sedang diamati.
2.2 Analisis Multivariat
Analisis multivariat adalah jenis analisis statistik yang digunakan untuk mengkaji data yang melibatkan banyak variabel independen dan variabel dependen. Secara umum, analisis multivariat dapat dibagi menjadi dua metode, yaitu metode dependen (dependent method) dan metode independen (independent method). Metode dependen digunakan untuk memahami ketergantungan antara variabel dependen dengan dua atau lebih variabel independen, seringkali digunakan untuk menjelaskan atau memprediksi variabel dependen. Sedangkan, metode independen digunakan untuk menganalisis sekelompok variabel dengan tujuan pengelompokkan berdasarkan karakteristik tertentu. Metode independen ini dibagi menjadi tiga jenis, yakni analisis faktor, analisis cluster, dan skala multidimensional.
2.3 Analisis Cluster
Analisis cluster adalah teknik multivariat yang digunakan untuk mengelompokkan objek-objek ke dalam kelompok-kelompok yang berbeda berdasarkan tingkat kesamaan mereka. Objek-objek yang dikelompokkan dalam satu cluster adalah objek-objek yang memiliki jarak relatif yang serupa dengan objek-objek lainnya. Adapun ciri-ciri cluster adalah homogenitas (kesamaan) yang tinggi antara anggota dalam satu cluster (within cluster) dan heterogenitas (perbedaan) yang tinggi antara cluster yang satu dengan cluster lain (between-cluster).
Keunggulan dari analisis cluster adalah:
Kemampuannya dalam mengelompokkan sejumlah besar data observasi dengan banyak variabel.
Dapat digunakan dengan data dalam berbagai skala, seperti ordinal, interval, dan rasio.
Sedangkan, kelemahannya yakni:
Pengelompokkan bersifat subjektifitas peneliti karena hanya melihat dari gambar dendogram.
Kesulitan dalam menentukan jumlah kelompok yang tepat ketika data objek penelitian heterogen.
Variasi signifikan dalam metode yang digunakan, sehingga perlu perbandingan metode.
Tingkat kesalahan cenderung meningkat seiring dengan bertambahnya jumlah observasi.
Proses inti dari clustering adalah pengelompokkan data yang biasa dilakukan dengan dua metode yaitu:
Metode Hierarki adalah pendekatan di mana pengelompokkan dimulai dengan dua atau lebih objek yang memiliki kemiripan yang paling dekat dan kemudian langkah-langkah ini diulang dengan objek lain yang memiliki kedekatan kedua terbesar. Proses ini berlanjut sehingga terbentuk kelompok-kelompok yang membentuk struktur hirarkis dengan tingkatan yang jelas antara objek. Dendogram sering digunakan untuk menggambarkan dan memvisualisasikan hierarki ini.
Metode Nonhierarki adalah pendekatan di mana penentuan jumlah cluster yang diinginkan dilakukan terlebih dahulu. Pusat cluster awal ditentukan, dan mereka terus diperbaharui melalui iterasi sampai kriteria tertentu terpenuhi. Selama proses ini, objek dapat beralih dari satu cluster ke cluster lain jika memenuhi kondisi tertentu. Salah satu metode nonhierarki yang terkenal adalah K-Means Clustering.
2.3.1 Uji Asumsi Analisis Cluster
a. Uji Sampel Representatif
Sampel representatif merupakan keadaan saat sampel yang diambil dapat merepresentasikan atau mewakili populasi yang ada. Asumsi sampel representatif ini dapat dilakukan menggunakan uji KMO (Kaiser-Meyer-Olkin). Range besaran nilai KMO adalah 0 < nilai KMO < 1. Jika nilai KMO < 0.5, maka tidak dapat ditentukan analisis selanjutnya. Sebaliknya, jika nilai uji KMO menunjukkan sebesar 0.5 sampai 1, maka sampel dikatakan telah representatif atau mewakili populasi.
b. Uji Non-Multikolinieritas
Menurut Gujarati (1995), apabila nilai mutlak koefisien korelasi antar variabel independen menunjukkan nilai lebih dari 0.8, maka dikatakan telah terjadi masalah multikolinieritas. Sebaliknya, apabila koefisien korelasi menunjukkan nilai kurang dari 0.8, maka model tidak mengalami masalah multikolinieritas atau telah memenuhi asumsi non-multikolinieritas.
2.3.2 K-Means Clustering
K-Means Clustering merupakan metode yang digunakan untuk mengelompokkan item atau objek ke dalam cluster yang telah ditentukan sejumlahnya sejak awal, bukan mengelompokkan variabel. Algoritma ini hanya berlaku untuk data yang bersifat numerik. Terdapat berbagai pendekatan untuk membentuk cluster, seperti membuat aturan yang mengatur keanggotaan dalam kelompok yang sama berdasarkan tingkat kesamaan antar anggota. Pendekatan lainnya adalah dengan mengembangkan sejumlah fungsi yang mengukur berbagai karakteristik pengelompokkan sebagai fungsi dari beberapa parameter pengelompokkan.
Algoritma K-Means Clustering adalah metode nonhierarki yang memulai dengan memilih sebagian dari populasi data sebagai pusat cluster awal. Pada tahap awal, pusat-pusat cluster dipilih secara acak dari kumpulan data populasi. Selanjutnya, K-Means Clustering menguji setiap komponen data dalam populasi dan mengaitkan komponen tersebut dengan salah satu pusat cluster yang telah ditentukan berdasarkan jarak minimum antara komponen tersebut dan setiap cluster. Posisi pusat cluster kemudian dihitung ulang sampai seluruh komponen data telah dikelompokkan ke dalam pusat-pusat cluster, dan akhirnya terbentuklah posisi pusat cluster yang baru. Dalam penerapan K-Means Clustering, peneliti menggunakan metode elbow untuk menentukan cluster optimal. Metode elbow merupakan teknik yang dapat digunakan untuk mengidentifikasi jumlah cluster yang paling sesuai. Tujuannya adalah untuk menemukan jumlah cluster optimal dengan memeriksa perbandingan antara berbagai jumlah cluster yang dapat menghasilkan “siku” pada grafik. Informasi ini diekstraksi melalui analisis persentase perbedaan antara berbagai nilai cluster yang terwakili dalam grafik.
Diberikan sekumpulan observasi (\(x_1\),\(x_2\),…,\(x_n\)), dimana setiap observasi merupakan vektor real berdimensi d, K-Means Clustering bertujuan untuk mempartisi n observasi menjadi (k ≤ n) \(S\) = {\(S_1\),\(S_2\),…,\(S_k\)} untuk meminimalkan jumlah kuadrat dalam cluster (WCSS). Dengan kata lain, tujuannya adalah untuk menemukan:
K-Means Clustering
di mana \(\mu_i\) adalah rata-rata titik-titik di \(S_i\). Masalah optimasi clustering diselesaikan dengan fungsi kmeans di R.
Menurut Santosa (2007), langkah-langkah analisis cluster dengan menggunakan algoritma K-Means adalah sebagai berikut:
Memilih jumlah kelompok (k).
Melakukan inisialisasi k pusat cluster (centroid) biasanya dilakukan dengan menggunakan bilangan acak.
Mengelompokkan semua data ke centroid terdekat dengan jarak metrik yang telah ditetapkan. Jarak metrik bisa ditetapkan dengan teori Euclidean.
Menghitung ulang centroid berdasarkan data pada setiap cluster.
Realokasikan setiap objek ke centroid yang baru, proses analisis cluster selesai jika nilai centroid tidak lagi berubah.
3 SOURCE CODE
3.1 Library yang Dibutuhkan
> library(tidyverse) #data manipulation
> library(cluster) #clustering algorithms
> library(factoextra) #clustering algorithms & visualization
> library(ggpubr) #data visualization
> library(ggplot2) #data visualization
> library(tibble) #mengelola data dalam bentuk tibble
> library(psych) #analisis faktor, analisis reliabilitas, visualisasi data, dan statistik deskriptif
> library(gridExtra) #menggabungkan dan mengatur beberapa plot (grafik) ke dalam satu tampilan grafis
> library(readxl) #membaca file dalam bentuk Excel
> library(DT) #digunakan untuk menampilkan tabel agar mudah dilihat di browser3.2 Persiapan Data dengan Melakukan Input Data
> ##Input Data
> data <- read_excel("C:/Users/Yunan/Desktop/Analisis Multivariat I/Praktikum/Data Cluster Indikator IPM 2016.xlsx")
> dataIPM <- data.frame(data)
> datatable(dataIPM)Pada tahapan ini akan dilakukan proses input data dari file excel dan menggunakan fungsi read_excel() dari library(readxl) yang kemudian disimpan dalam variabel data. Lalu, membuat data frame dari data dan diberi nama dataIPM. Terakhir, data akan ditampilkan dengan fungsi datatable().
3.3 Mengambil Variabel Numerik
> index <- dataIPM[,2:6]
> rownames(index) <- dataIPM$Kab.Kota[1:38]
> str(index)Pada tahapan ini akan dilakukan pengambilan variabel numerik bernama index. Kemudian, akan ditampilkan struktur objek index menggunakan fungsi str(). Fungsi tersebut memberikan informasi tentang tipe data, dimensi, dan konten objek index.
3.4 Mengecek Ada atau Tidaknya NA
> index %>%
+ anyNA()Pada tahap ini akan diuji apakah ada setidaknya satu nilai yang hilang (NA) dalam objek index. Operator %>% digunakan untuk memasukkan index ke dalam fungsi anyNA(), yang akan mengembalikan TRUE jika ada NA dalam objek index, dan FALSE jika tidak ada NA.
3.5 Mengecek Jumlah NA pada Masing-masing Kolom
> index %>%
+ is.na() %>%
+ colSums()Pada tahap ini akan dilakukan perhitungan jumlah nilai NA dalam setiap kolom dari objek index.
3.6 Statistika Deskriptif
> statdes <- summary(data)
> statdesPada tahapan ini akan dihasilkan ringkasan statistik dari objek data, seperti statistik deskriptif, quartile, dan informasi lainnya sesuai dengan tipe data objek tersebut.
3.7 Membuat Histogram untuk Visualisasi Data (Statistika Deskriptif)
> ##Membuat Histrogram Variabel AHH (Angka Harapan Hidup)
> hist_plot1 <- ggplot(dataIPM, aes(x = Kab.Kota, y = dataIPM[,2])) +
+ geom_bar(stat = "identity", fill = "blue") +
+ labs(title = "Histogram Angka Harapan Hidup Kabupaten/Kota di Jawa Timur (2016)", x = "Kabupaten/Kota", y = "Angka Harapan Hidup (tahun)") +
+ theme(axis.text.x = element_text(angle = 45, hjust = 1))
> print(hist_plot1)
>
> ##Membuat Histrogram Variabel HLS (Harapan Lama Sekolah)
> hist_plot2 <- ggplot(dataIPM, aes(x = Kab.Kota, y = dataIPM[,3])) +
+ geom_bar(stat = "identity", fill = "blue") +
+ labs(title = "Histogram Harapan Lama Sekolah Kabupaten/Kota di Jawa Timur (2016)", x = "Kabupaten/Kota", y = "Harapan Lama Sekolah (tahun)") +
+ theme(axis.text.x = element_text(angle = 45, hjust = 1))
> print(hist_plot2)
>
> ##Membuat Histrogram Variabel PK (Pengeluaran per Kapita)
> hist_plot3 <- ggplot(dataIPM, aes(x = Kab.Kota, y = dataIPM[,4])) +
+ geom_bar(stat = "identity", fill = "blue") +
+ labs(title = "Histogram Pengeluaran per Kapita Kabupaten/Kota di Jawa Timur (2016)", x = "Kabupaten/Kota", y = "Pengeluaran per Kapita (Rp)") +
+ theme(axis.text.x = element_text(angle = 45, hjust = 1))
> print(hist_plot3)
>
> ##Membuat Histrogram Variabel AMH (Angka Melek Huruf)
> hist_plot4 <- ggplot(dataIPM, aes(x = Kab.Kota, y = dataIPM[,5])) +
+ geom_bar(stat = "identity", fill = "blue") +
+ labs(title = "Histogram Angka Melek Huruf Kabupaten/Kota di Jawa Timur (2016)", x = "Kabupaten/Kota", y = "Angka Melek Huruf (%)") +
+ theme(axis.text.x = element_text(angle = 45, hjust = 1))
> print(hist_plot4)
>
> ##Membuat Histrogram Variabel PDRB (Produk Domestik Regional Bruto)
> hist_plot5 <- ggplot(dataIPM, aes(x = Kab.Kota, y = dataIPM[,6])) +
+ geom_bar(stat = "identity", fill = "blue") +
+ labs(title = "Histogram Produk Domestik Regional Bruto Kabupaten/Kota di Jawa Timur (2016)", x = "Kabupaten/Kota", y = "Produk Domestik Regional Bruto (Rp)") +
+ theme(axis.text.x = element_text(angle = 45, hjust = 1))
> print(hist_plot5)Pada tahap ini akan membuat dan mencetak histogram dari masing-masing variabel menggunakan package “ggplot2”.
3.8 Uji Asumsi Analisis Cluster
> ###Uji Sampel Representatif
> kmo <- KMO(data[,2:6])
> kmo
>
> ###Uji Non-Multikolinieritas
> korelasi <- cor(data[,2:6], method = 'pearson')
> korelasiPada tahap ini akan dilakukan dua pengujian asumsi yakni uji sampel representatif menggunakan fungsi KMO() di mana KMO adalah ukuran yang digunakan untuk menilai apakah data cocok untuk analisis faktor. Selanjutnya, uji non-multikolinieritas menggunakan fungsi cor() yakni menghitung matriks korelasi antara variabel-variabel yang terdapat dalam subset data yang dipilih. Dalam contoh ini, korelasi dihitung menggunakan metode Pearson, yang mengukur hubungan linier antara variabel-variabel.
3.9 Melakukan Standarisasi Data
> data_standar <- scale(index)
> kluster <- data_standarPada tahap ini akan dilakukan standarisasi data menggunakan fungsi scale() di mana standarisasi adalah proses mengubah data, sehingga memiliki rata-rata 0 dan deviasi standar 1. Dalam kasus ini, data yang di-standarisasi adalah data yang tersimpan dalam variabel index. Hasil standarisasi disimpan dalam variabel baru yang dinamakan data_standar. Kemudian, membentuk variabel baru yakni kluster yang berisikan nilai-nilai dari data_standar.
3.10 Clustering Distance Measures
> jarak <- get_dist(kluster)
> fviz_dist(jarak, gradient = list(low="#BF00FF",
+ mid="white", high="#FFC0CB"))Pada tahap ini akan menghitung jarak antara observasi atau titik-titik dalam data yang telah di-standarisasi dan kemudian membuat visualisasi dari matriks jarak tersebut. Fungsi get_dist() digunakan untuk menghasilkan matriks jarak yang berisi jarak antara semua pasangan observasi dalam data. Hasilnya akan disimpan dalam variabel jarak. Fungsi fviz_dist() digunakan untuk menghasilkan plot visual yang menampilkan jarak antara observasi. Parameter jarak digunakan untuk menyediakan matriks jarak yang akan diplotkan. Parameter gradient digunakan untuk menyesuaikan skema warna yang digunakan dalam visualisasi jarak. Pada contoh ini, skema warna gradient terdiri dari warna ungu tua (low), putih (mid), dan merah muda (high) yang digunakan untuk menggambarkan tingkat jarak. Jarak yang lebih besar akan diberi warna merah muda, sementara jarak yang lebih kecil akan diberi warna ungu tua.
3.11 Menghitung K-Means Clustering
> ##Menghitung K-Means dengan 3 cluster
> set.seed(100)
> k3 <- kmeans(x = kluster, centers = 3, nstart = 25)
>
> ##Visualiasi K-Means dengan 3 cluster
> fviz_cluster(k3, data = kluster)
>
> ##Menghitung K-Means dengan 2 cluster
> k2 <- kmeans(kluster, centers = 2, nstart = 25)
>
> ##Visualiasi K-Means dengan 2 cluster
> fviz_cluster(k2, data = kluster)Pada tahap ini akan dilakukan perhitungan K-Means Clustering dengan 2 cluster dan 3 cluster. Seperti contoh pada pembentukan 3 cluster, mengatur biji acak (random seed) ke nilai tertentu (dalam hal ini, 100) terlebih dahulu menggunakan fungsi set.seed(100). Lalu, lakukan perhitungan K-Means Clustering dengan fungsi kmeans().
x = kluster artinya data yang akan digunakan untuk analisis cluster. Dalam hal ini, data yang telah di-standarisasi dan tersimpan dalam variabel kluster.
centers = 3 artinya melakukan klasterisasi menjadi tiga cluster.
nstart = 25 artinya algoritma K-Means akan dijalankan sebanyak 25 kali dengan inisialisasi acak yang berbeda dan hasil terbaik akan dipilih.
fviz_cluster() digunakan untuk menghasilkan plot yang menampilkan cluster dan pusatnya. Hal yang sama dilakukan untuk klasterisasi dua cluster.
3.12 Membuat Plot untuk Membandingkan k2 dan k3
> p1 <- fviz_cluster(k2, geom = "point", data = kluster) + ggtitle("k = 2")
> p2 <- fviz_cluster(k3, geom = "point", data = kluster) + ggtitle("k = 3")
> grid.arrange(p1, p2, nrow = 2) #menggabungkan plot menjadi satu layout gridPada tahap ini akan dilakukan perbandingan plot antara klasterisasi dua cluster dan tiga cluster.
3.13 Menentukan Cluster Optimal
> ##Elbow
> set.seed(100)
> fviz_nbclust(kluster, kmeans, method = "wss")Pada tahap ini akan dilakukan penentuan jumlah cluster optimal dengan menggunakan metode elbow yakni metode Within-Cluster Sum of Squares (WCSS) dimana metode WCSS mengukur sejauh mana data dalam setiap cluster tersebar dari pusat clusternya. Pada dasarnya, metode ini mencoba untuk mengidentifikasi jumlah cluster yang dapat mengurangi jumlah variasi dalam data dengan cara yang signifikan. Sebelumnya, lakukan pengaturan biji acak (random seed) ke nilai tertentu (dalam hal ini, 100) menggunakan fungsi set.seed(100). Kemudian, fungsi fviz_nbclust() digunakan untuk menghasilkan plot yang memungkinkan kita untuk menentukan jumlah cluster yang tepat.
3.14 Menentukan Jumlah Cluster Akhir yakni dengan Dua Cluster
> set.seed(123)
> fixcluster <- kmeans(kluster, 2, nstart = 25)
> print(fixcluster)Pada tahap ini akan melakukan klasterisasi akhir dengan jumlah cluster sebanyak dua. Pertama, mengatur biji acak (random seed) ke nilai tertentu (dalam hal ini, 123) terdahulu menggunakan fungsi set.seed(123). Lalu, dilanjutkan menghitung K-Means Clustering dengan dua cluster menggunakan fungsi kmeans().
3.15 Mengembalikan Nilai Mean
> ###Inisiasi Variabel
> AHH <- dataIPM[,2]
> HLS <- dataIPM[,3]
> PK <- dataIPM[,4]
> AMH <- dataIPM[,5]
> PDRB <- dataIPM[,6]
>
> mean.cluster <- dataIPM %>%
+ mutate(Cluster = fixcluster$cluster) %>%
+ group_by(Cluster) %>%
+ summarise(Mean_AHH = mean(AHH), Mean_HLS = mean(HLS), Mean_PK = mean(PK), Mean_AMH = mean(AMH), Mean_PDRB = mean(PDRB)) %>%
+ mutate(Total_Mean = Mean_AHH + Mean_HLS + Mean_PK + Mean_AMH + Mean_PDRB) %>%
+ arrange(Cluster)
> mean.clusterPada tahap ini akan dilakukan inisiasi variabel terlebih dahulu. Kemudian, menghitung rata-rata (mean) dari beberapa variabel dalam data berdasarkan kelompok cluster yang telah ditentukan sebelumnya dengan algoritma K-Means.
mean.cluster <- dataIPM %>% artinya memulai rangkaian pipa (%>%) yang digunakan untuk melakukan serangkaian transformasi pada data yang disimpan dalam objek dataIPM.
mutate(Cluster = fixcluster$cluster) artinya menambahkan kolom “Cluster” ke dalam data dataIPM. Kolom “Cluster” akan berisi informasi tentang cluster ke mana setiap observasi dataIPM telah ditempatkan berdasarkan hasil analisis cluster sebelumnya yang disimpan dalam variabel fixcluster.
group_by(Cluster) artinya mengelompokkan data berdasarkan kolom “Cluster” yang telah ditambahkan sebelumnya. Dengan kata lain, data akan dikelompokkan berdasarkan cluster ke mana setiap observasi termasuk.
summarise() artinya menghitung rata-rata (mean) dari beberapa variabel dalam setiap kelompok cluster. Variabel-variabel yang dihitung adalah “AHH”, “HLS”, “PK”, “AMH”, dan “PDRB”.
mutate(Total_Mean = Mean_AHH + Mean_HLS + Mean_PK + Mean_AMH + Mean_PDRB) artinya menambahkan kolom “Total_Mean” ke dalam data hasil sebelumnya. Kolom ini berisi total rata-rata dari variabel-variabel yang telah dihitung sebelumnya.
arrange(Cluster) artinya mengurutkan data berdasarkan kolom “Cluster”, sehingga hasilnya akan terurut sesuai dengan nomor cluster.
mean.cluster artinya objek yang akan menyimpan hasil dari seluruh rangkaian transformasi yang telah dijalankan pada data dataIPM.
3.16 Plot Cluster Akhir
> fviz_cluster(fixcluster, data = kluster)Pada tahap ini akan dilakukan pembuatan plot atau visualisasi cluster yang telah dibentuk sebelumnya dengan algoritma K-Means menggunakan fungsi fviz_cluster().
3.17 Tabel Akhir K-Means Clustering
> df1 <- data.frame(round(mean.cluster))
> df2 <- data.frame(Kab.Kota = c("Kab Pacitan, Kab Ponorogo, Kab Trenggalek, Kab Blitar, Kab Kediri,
+ Kab Malang, Kab Lumajang, Kab Jember, Kab Banyuwangi, Kab Bondowoso,
+ Kab Situbondo, Kab Probolinggo, Kab Pasuruan, Kab Jombang, Kab Nganjuk,
+ Kab Madiun, Kab Ngawi, Kab Bojonegoro, Kab Tuban, Kab Lamongan,
+ Kab Bangkalan, Kab Sampang, Kab Pamekasan, Kab Sumenep, Kota Probolinggo",
+ "Kab Tulungagung, Kab Sidoarjo, Kab Mojokerto, Kab Magetan, Kab Gresik,
+ Kota Kediri, Kota Blitar, Kota Malang, Kota Pasuruan, Kota Mojokerto,
+ Kota Madiun, Kota Surabaya, Kota Batu"
+ ))
> combined_df <- cbind(df1, df2)
> datatable(combined_df)Pada tahap ini akan dilakukan pembuatan tabel akhir sebagai kesimpulan dari perhitungan K-Means Clustering sebelumnya. Pertama, membuat dua data frame dahulu. Lalu, menggabungkannya menjadi satu data frame. Terakhir, menampilkannya dalam format tabel interaktif menggunakan package “DT” untuk visualisasi dengan fungsi datatable(combined_df).
4 HASIL DAN PEMBAHASAN
4.1 Pengujian Asumsi
4.1.1 Uji Sampel Representatif
Kaiser-Meyer-Olkin factor adequacy
Call: KMO(r = data[, 2:6])
Overall MSA = 0.76
MSA for each item =
AHH HLS PK AMH PDRB
0.73 0.77 0.76 0.73 0.88
Berdasarkan output dari uji KMO, terlihat bahwa semua variabel, yakni variabel Angka Harapan Hidup, Harapan Lama Sekolah, Pengeluaran per Kapita, Angka Melek Huruf, dan Produk Domestik Regional Bruto bernilai lebih dari 0.5, sehingga dapat disimpulkan bahwa sampel telah representatif.
4.1.2 Uji Non-Multikolinieritas
AHH HLS PK AMH PDRB
AHH 1.0000000 0.4956013 0.5141179 0.7880445 0.3738518
HLS 0.4956013 1.0000000 0.7485083 0.6115295 0.4482895
PK 0.5141179 0.7485083 1.0000000 0.6758581 0.3472442
AMH 0.7880445 0.6115295 0.6758581 1.0000000 0.3946971
PDRB 0.3738518 0.4482895 0.3472442 0.3946971 1.0000000
Berdasarkan output dari uji non-multikolinieritas, terlihat bahwa nilai korelasi antar variabel independen kurang dari 0.8, sehingga dapat disimpulkan bahwa tidak terjadi multikolinieritas antar variabel independen.
4.2 Mengecek Ada atau Tidaknya NA
'data.frame': 38 obs. of 5 variables:
$ AHH : num 71.2 72.2 73 73.4 72.9 ...
$ HLS : num 12.2 13.7 12.1 13 12.4 ...
$ PK : num 8048 8908 8829 9881 9467 ...
$ AMH : num 91.5 89.7 94.3 96.9 93.6 ...
$ PDRB: num 23115 18900 21577 30336 25516 ...
[1] FALSE
Setelah dilakukan pengecekan terhadap nilai yang hilang (NA) dalam objek index didapatkan bahwa tidak terdapat nilai kosong (NA) pada objek index tersebut.
4.3 Mengecek Jumlah NA pada Masing-masing Kolom
AHH HLS PK AMH PDRB
0 0 0 0 0
Setelah dilakukan perhitungan jumlah nilai NA dalam setiap kolom dari objek index didapatkan bahwa tidak terdapat nilai kosong (NA) pada seluruh variabel yang diteliti sehingga data sudah aman untuk digunakan dalam analisis.
4.4 Statistika Deskriptif
Kab.Kota AHH HLS PK
Length:38 Min. :65.89 Min. :11.37 Min. : 7846
Class :character 1st Qu.:69.92 1st Qu.:12.29 1st Qu.: 9040
Mode :character Median :71.70 Median :12.85 Median :10204
Mean :71.05 Mean :12.98 Mean :10561
3rd Qu.:72.41 3rd Qu.:13.67 3rd Qu.:11692
Max. :73.87 Max. :15.38 Max. :16295
AMH PDRB
Min. :75.49 Min. : 15834
1st Qu.:88.14 1st Qu.: 22623
Median :92.72 Median : 26795
Mean :91.66 Mean : 47879
3rd Qu.:96.40 3rd Qu.: 45071
Max. :98.80 Max. :379191
Statistika deskriptif pada penelitian ini digunakan untuk memberikan gambaran umum dari 38 Kabupaten/Kota di Jawa Timur berdasarkan indikator Indeks Pembangunan Manusia pada tahun 2016 meliputi Angka Harapan Hidup (\(X_1\)), Harapan Lama Sekolah (\(X_2\)), Pengeluaran per Kapita (\(X_3\)), Angka Melek Huruf (\(X_4\)), dan Produk Domestik Regional Bruto (\(X_5\)). Adapun informasi penting yang didapatkan, yaitu:
Kabupaten/Kota yang memiliki angka harapan hidup terendah adalah Kabupaten Bondowoso yaitu sebesar 65.89 tahun. Sedangkan, Kabupaten/Kota yang memiliki angka harapan hidup tertinggi adalah Kota Surabaya yaitu sebesar 73.87 tahun. Adapun rata-rata angka harapan hidup Kabupaten/Kota di Jawa Timur yakni sebesar 71.05 tahun.
Kabupaten/Kota yang memiliki harapan lama sekolah terendah adalah Kabupaten Sampang yaitu sebesar 11.37 tahun. Sedangkan, Kabupaten/Kota yang memiliki harapan lama sekolah tertinggi adalah Kota Malang yaitu sebesar 15.38 tahun. Adapun rata-rata harapan lama sekolah Kabupaten/Kota di Jawa Timur yakni sebesar 12.98 tahun.
Kabupaten/Kota yang memiliki pengeluaran per kapita riil disesuaikan terendah adalah Kabupaten Sumenep yaitu sebesar Rp7846. Sedangkan, Kabupaten/Kota yang memiliki pengeluaran per kapita riil disesuaikan tertinggi adalah Kota Surabaya yaitu sebesar Rp16295. Adapun rata-rata pengeluaran per kapita riil disesuaikan Kabupaten/Kota di Jawa Timur yakni sebesar Rp10561.
Kabupaten/Kota yang memiliki angka melek huruf terendah adalah Kabupaten Sampang yaitu sebesar 75.49%. Sedangkan, Kabupaten/Kota yang memiliki angka melek huruf tertinggi adalah Kabupaten Sidoarjo yaitu sebesar 98.8%. Adapun rata-rata angka melek huruf Kabupaten/Kota di Jawa Timur yakni sebesar 91.66%.
Kabupaten/Kota yang memiliki PDRB per kapita atas harga berlaku terendah adalah Kabupaten Pamekasan yaitu sebesar Rp15834. Sedangkan, Kabupaten/Kota yang memiliki PDRB per kapita atas harga berlaku tertinggi adalah Kota Kediri yaitu sebesar Rp379191. Adapun rata-rata PDRB per kapita atas harga berlaku Kabupaten/Kota di Jawa Timur yakni sebesar Rp47879.
4.5 Membuat Histrogram Variabel AHH (Angka Harapan Hidup)
Berdasarkan histogram di atas, dapat diketahui bahwa angka harapan hidup di Jawa Timur pada Kota Surabaya di tahun 2016 mencapai 73.87 tahun yang merupakan tingkat angka harapan hidup tertinggi. Sedangkan, angka harapan hidup terendah di Jawa Timur terjadi pada Kabupaten Bondowoso mencapai 65.89 tahun.
4.6 Membuat Histrogram Variabel HLS (Harapan Lama Sekolah)
Berdasarkan histogram di atas, dapat diketahui bahwa harapan lama sekolah di Jawa Timur pada Kota Malang di tahun 2016 mencapai 15.38 tahun yang merupakan tingkat harapan lama sekolah tertinggi. Sedangkan, harapan lama sekolah terendah di Jawa Timur terjadi pada Kabupaten Sampang mencapai 11.37 tahun.
4.7 Membuat Histrogram Variabel PK (Pengeluaran per Kapita)
Berdasarkan histogram di atas, dapat diketahui bahwa pengeluaran per kapita riil disesuaikan di Jawa Timur pada Kota Surabaya di tahun 2016 mencapai Rp16295 yang merupakan pengeluaran per kapita riil disesuaikan yang tertinggi. Sedangkan, pengeluaran per kapita riil disesuaikan yang terendah di Jawa Timur terjadi pada Kabupaten Sumenep mencapai Rp7846.
4.8 Membuat Histrogram Variabel AMH (Angka Melek Huruf)
Berdasarkan histogram di atas, dapat diketahui bahwa angka melek huruf di Jawa Timur pada Kabupaten Sidoarjo di tahun 2016 mencapai 98.8% yang merupakan tingkat angka melek huruf tertinggi. Sedangkan, angka melek huruf terendah di Jawa Timur terjadi pada Kabupaten Sampang mencapai 75.49%.
4.9 Membuat Histrogram Variabel PDRB (Produk Domestik Regional Bruto)
Berdasarkan histogram di atas, dapat diketahui bahwa PDRB per Kapita Atas Harga Berlaku di Jawa Timur pada Kota Kediri di tahun 2016 mencapai Rp379190,7 yang merupakan tingkat PDRB per Kapita Atas Harga Berlaku tertinggi. Sedangkan, PDRB per Kapita Atas Harga Berlaku terendah di Jawa Timur terjadi pada Kabupaten Pamekasan mencapai Rp15833,6.
4.10 Clustering Distance Measures
Pada penelitian ini, skema warna gradient terdiri dari warna ungu tua (low), putih (mid), dan merah muda (high) yang digunakan untuk menggambarkan tingkat jarak. Jarak Kabupaten/Kota yang lebih besar akan diberi warna merah muda, sementara jarak Kabupaten/Kota yang lebih kecil akan diberi warna ungu tua.
4.11 Membuat Plot untuk Membandingkan k2 dan k3
Pada gambar di atas terlihat perbandingan antara klasterisasi dengan dua cluster dan tiga cluster. Diketahui bahwa tidak ada wilayah atau daerah yang beririsan. Wilayah-wilayah yang ada sudah dikelompokkan sesuai dengan jarak terdekat atau kesamaan karakteristik yang telah dihitung sebelumnya. Walaupun visualisasi ini dapat memberikan gambaran tentang sejauh mana kelompok cluster yang berbeda terpisah atau tercampur dalam data, itu tidak memberikan informasi tentang jumlah cluster yang optimal. Dalam arti lain, melihat visualisasi tersebut tidak akan memberi petunjuk jelas tentang berapa banyak cluster yang sebaiknya digunakan dalam analisis, dan kita masih perlu melakukan evaluasi lebih lanjut untuk menentukan jumlah cluster yang paling sesuai untuk data tersebut.
4.12 Menentukan Cluster Optimal
Penentuan jumlah cluster yang optimal dilakukan menggunakan metode elbow. Dari plot di atas, terlihat bahwa ketika titik cluster di angka index 2 menunjukkan pergerakan yang mulai landai, maka didapatkan jumlah cluster optimum yaitu 2 kelompok.
4.13 Jumlah Cluster Akhir dengan Dua Cluster
K-means clustering with 2 clusters of sizes 25, 13
Cluster means:
AHH HLS PK AMH PDRB
1 -0.4181933 -0.5045058 -0.5289738 -0.4826367 -0.3231416
2 0.8042180 0.9702035 1.0172574 0.9281475 0.6214261
Clustering vector:
Kabupaten Pacitan Kabupaten Ponorogo Kabupaten Trenggalek
1 1 1
Kabupaten Tulungagung Kabupaten Blitar Kabupaten Kediri
2 1 1
Kabupaten Malang Kabupaten Lumajang Kabupaten Jember
1 1 1
Kabupaten Banyuwangi Kabupaten Bondowoso Kabupaten Situbondo
1 1 1
Kabupaten Probolinggo Kabupaten Pasuruan Kabupaten Sidoarjo
1 1 2
Kabupaten Mojokerto Kabupaten Jombang Kabupaten Nganjuk
2 1 1
Kabupaten Madiun Kabupaten Magetan Kabupaten Ngawi
1 2 1
Kabupaten Bojonegoro Kabupaten Tuban Kabupaten Lamongan
1 1 1
Kabupaten Gresik Kabupaten Bangkalan Kabupaten Sampang
2 1 1
Kabupaten Pamekasan Kabupaten Sumenep Kota Kediri
1 1 2
Kota Blitar Kota Malang Kota Probolinggo
2 2 1
Kota Pasuruan Kota Mojokerto Kota Madiun
2 2 2
Kota Surabaya Kota Batu
2 2
Within cluster sum of squares by cluster:
[1] 59.88996 48.62892
(between_SS / total_SS = 41.3 %)
Available components:
[1] "cluster" "centers" "totss" "withinss" "tot.withinss"
[6] "betweenss" "size" "iter" "ifault"
Berdasarkan perhitungan di atas, dapat diketahui bahwa dari 38 Kabupaten/Kota di Jawa Timur berdasarkan indikator Indeks Pembangunan Manusia pada tahun 2016 diperoleh 2 cluster atau kelompok yakni cluster 1 yang terdiri dari 25 Kabupaten/Kota dan cluster 2 terdiri dari 13 Kabupaten/Kota.
4.14 Mengembalikan Nilai Mean
# A tibble: 2 x 7
Cluster Mean_AHH Mean_HLS Mean_PK Mean_AMH Mean_PDRB Total_Mean
<int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1 70.2 12.5 9438. 88.9 28034. 37644.
2 2 72.7 13.9 12720 96.9 86042. 98945.
Output di atas menunjukkan hasil pengembalian nilai mean ke nilai awal. Nilai mean atau centroid yang termuat masih dalam nilai yang distandarisasi, maka nilainya perlu dikembalikan ke nilai awal guna diketahui karakteristik sebenarnya dari tiap cluster. Berdasarkan perhitungan di atas, diketahui bahwa nilai rata-rata pada setiap variabel di cluster 2 lebih besar dibandingkan cluster 1, sehingga didapatkan bahwa cluster 2 merupakan kelompok dengan Indeks Pembangunan Manusia yang lebih tinggi dibandingkan cluster 1.
4.15 Plot Cluster Akhir dengan Dua Cluster
Berdasarkan plot di atas, terlihat bentuk penyebaran wilayah Kabupaten/Kota berdasarkan indikator Indeks Pembangunan Manusia pada tahun 2016 di Jawa Timur dengan dua cluster. Terlihat juga tidak terdapat irisan antar cluster.
4.16 Tabel Akhir K-Means Clustering
Berdasarkan tabel di atas, diketahui bahwa nilai rata-rata pada setiap variabel di cluster 2 lebih besar dibandingkan cluster 1, sehingga didapatkan bahwa cluster 2 merupakan kelompok dengan Indeks Pembangunan Manusia yang lebih tinggi dibandingkan cluster 1.
5 PENUTUP
5.1 Kesimpulan Atas Hasil yang Diperoleh
- Cluster 1 terdapat 25 Kabupaten/Kota, yaitu Kab Pacitan, Kab Ponorogo, Kab Trenggalek, Kab Blitar, Kab Kediri, Kab Malang, Kab Lumajang, Kab Jember, Kab Banyuwangi, Kab Bondowoso, Kab Situbondo, Kab Probolinggo, Kab Pasuruan, Kab Jombang, Kab Nganjuk, Kab Madiun, Kab Ngawi, Kab Bojonegoro, Kab Tuban, Kab Lamongan, Kab Bangkalan, Kab Sampang, Kab Pamekasan, Kab Sumenep, Kota Probolinggo. Sementara, cluster 2 terdapat 13 Kabupaten/Kota, yaitu Kab Tulungagung, Kab Sidoarjo, Kab Mojokerto, Kab Magetan, Kab Gresik, Kota Kediri, Kota Blitar, Kota Malang, Kota Pasuruan, Kota Mojokerto,Kota Madiun, Kota Surabaya, Kota Batu.
- Cluster 2 merupakan kelompok dengan Indeks Pembangunan Manusia yang lebih tinggi. Hal ini dibuktikan dengan rata-rata yang tinggi dari setiap variabel dibandingkan dengan cluster 1. Oleh karena itu, pemerintah dapat lebih memperhatikan dan meningkatkan kualitas pendidikan, kesehatan, dan ekonomi pada wilayah-wilayah yang tercakup dalam cluster 1, sehingga dapat terbentuk keseimbangan pembangunan di seluruh Kabupaten/Kota di Jawa Timur.
5.2 Saran untuk Penelitian Selanjutnya
Pada penelitian ini, peneliti hanya mengkaji metode nonhierarki, yaitu metode K-Means Clustering dan diaplikasikan untuk data Indeks Pembangunan Manusia (IPM). Oleh karena itu, bagi pembaca yang juga ingin melakukan clustering dapat menggunakan metode yang lainnya pada metode nonhierarki maupun hierarki mengingat metode untuk clustering sangatlah beragam. Kemudian, pembaca dapat mengaplikasikan metode yang sama, namun pada data Indeks Pembangunan Manusia yang lebih terbaru agar nantinya bisa lebih membantu pemerintah dalam membuat kebijakan dalam rangka pengembangan pembangunan kualitas hidup masyarakat menjadi lebih baik di wilayah dengan Indeks Pembangunan Manusia yang kurang baik.
6 DAFTAR PUSTAKA
Anggraini, L., & Arum, P. R. (2022). Analisis Cluster Menggunakan Algoritma K-Means Pada Provinsi Sumatera Barat Berdasarkan Indeks Pembangunan Manusia Tahun 2021. Prosiding Seminar Nasional UNIMUS, 5(1), 636–646.
BPS. (2016). Angka Harapan Hidup (Tahun), 2014-2016. https://jatim.bps.go.id/indicator/26/29/3/angka-harapan-hidup.html
BPS. (2016). Angka Melek Huruf Jawa Timur, 2001-2016. https://jatim.bps.go.id/statictable/2017/10/31/731/angka-melek-huruf-jawa-timur-2001-2016.html
BPS. (2016). Harapan Lama Sekolah (Tahun), 2014-2016. https://jatim.bps.go.id/indicator/26/468/3/harapan-lama-sekolah.html
BPS. (2016). Pengeluaran Per Kapita Riil Disesuaikan (Ribu Rupiah), 2014-2016. https://jatim.bps.go.id/indicator/26/34/3/pengeluaran-per-kapita-riil-disesuaikan.html
BPS. (2016). [Seri 2010] PDRB Perkapita Atas Dasar Harga Berlaku Menurut Kabupaten/Kota (Ribu Rupiah), 2014-2016. https://jatim.bps.go.id/indicator/162/327/3/-seri-2010-pdrb-perkapita-atas-dasar-harga-berlaku-menurut-kabupaten-kota.html
Gujarati, D. N. (1995). Ekonometrika Dasar. Jakarta: Erlangga.
Mayangsari, Y. D. (2022). Analisis K-means pada Pengelompokan Kabupaten-Kota Provinsi Jawa Timur Berdasarkan Kasus Kesembuhan dan Kasus Kematian Covid-19.
Metisen, B. M., & Sari, H. L. (2015). Analisis Clustering Menggunakan Metode K-Means Dalam Pengelompokkan Penjualan Produk Pada Swalayan Fadhila. Jurnal Media Infotama, 11(2), 110–118. https://core.ac.uk/download/pdf/287160954.pdf
Rahman, A. T., Wiranto, & Anggrainingsih, R. (2017). Coal Trade Data Clustering Using K-Means. Jurnal Ilmiah Teknologi dan Informasi, VI(1), 24-31.
Salsabila, N. (2019). Klasifikasi Barang Menggunakan Metode Clustering K-Means Dalam Penentuan Prediksi Stok Barang. In Central Library Of Maulana Malik Ibrahim State Islamic University Of Malang. http://etheses.uin-malang.ac.id/16985/1/14650031.pdf
Santosa, B. (2007). Data Mining: Teknik Pemanfaatan Data untuk Keperluan Bisnis. Yogyakarta: Graha Ilmu.
Sapaat, T. M., Lapian, A. L. C. P., & Tumangkeng, S. Y. L. (2020). Analisis Faktor-Faktor Yang Mempengaruhi Indeks Pembangunan Manusia Di Provinsi Sulawesi Utara Tahun (2005-2019). Jurnal Berkala Ilmiah Efisiensi, 20(03), 45–56.
Sartika, E., Murniati, S., Binarto, A., & Habinuddin, E. (2022). Penerapan K-Means Cluster dan Evaluasi Clustering pada Pesebaran Kasus Covid-19. STATISTIKA Journal of Theoretical Statistics and Its Applications, 22(2), 147–156. https://doi.org/10.29313/statistika.v22i2.1229
Sholikhah, A., (2016).Statistik deskriptif dalam penelitian kualitatif. KOMUNIKA: Jurnal Dakwah Dan Komunikasi, 10(2), 342-362.
Sibarani, H., Solikhun, Saputra, W., Gunawan, I., & Nasution, Z. M. (2022). Penerapan Metode K-Means Untuk Pengelompokkan Kabupaten/Kota Di Provinsi Sumatera Utara Berdasarkan Indikator Indeks Pembangunan Manusia. JATI (Jurnal Mahasiswa Teknik Informatika), 6(1), 154–161. https://doi.org/10.36040/jati.v6i1.4590
Sirojuddin, A. (2016). Analisis Cluster Pada Kabupaten/Kota Di Provinsi Jawa Timur Berdasarkan Indikator Indeks Pembangunan Manusia.
Talakua, M. W., Leleury, Z. A., & Talluta, A. W. (2017). Analisis Cluster Dengan Menggunakan Metode K-Means Untuk Pengelompokkan Kabupaten/Kota Di Provinsi Maluku Berdasarkan Indikator Indeks Pembangunan Manusia Tahun 2014. Jurnal Ilmu Matematika Dan Terapan, 11(2), 119–128.
Yulaeli, E. F. (2022). Analisis Cluster Indeks Pembangunan Manusia di Provinsi Jawa Timur.