Deskripsi data

# Membaca dataset
jenis_penyakit <- read_excel("C:/Users/Windows/Downloads/jenis penyakit.xlsx")
View(jenis_penyakit)
sarana_kesehatan <- read_excel("C:/Users/Windows/Downloads/sarana kesehatan.xlsx")
View(sarana_kesehatan)

# Menggabungkan data berdasarkan kolom Provinsi
df_merge <- inner_join(jenis_penyakit, sarana_kesehatan, by = "Provinsi")

# Menampilkan ringkasan statistik data
summary(df_merge)
##    Provinsi         Jumlah Kasus Penyakit - Angka Penemuan TBC
##  Length:41          Min.   : 41.00                            
##  Class :character   1st Qu.: 63.00                            
##  Mode  :character   Median : 72.00                            
##                     Mean   : 71.79                            
##                     3rd Qu.: 80.00                            
##                     Max.   :112.00                            
##                     NA's   :2                                 
##  Jumlah Kasus Penyakit - Angka Keberhasilan Pengobatan TBC
##  Min.   :56.00                                            
##  1st Qu.:78.00                                            
##  Median :83.00                                            
##  Mean   :81.46                                            
##  3rd Qu.:86.00                                            
##  Max.   :92.00                                            
##  NA's   :2                                                
##  Jumlah Kasus Penyakit - HIV/AIDS Kasus Baru
##  Min.   :  130                              
##  1st Qu.:  540                              
##  Median :  867                              
##  Mean   : 3246                              
##  3rd Qu.: 1989                              
##  Max.   :63297                              
##  NA's   :2                                  
##  Jumlah Kasus Penyakit - Penemuan Kasus Baru Kusta per 100.000 Penduduk
##  Min.   : 0.76                                                         
##  1st Qu.: 3.00                                                         
##  Median : 5.29                                                         
##  Mean   :12.53                                                         
##  3rd Qu.: 9.88                                                         
##  Max.   :86.89                                                         
##  NA's   :8                                                             
##  Jumlah Kasus Penyakit - Angka Kesakitan Malaria per 1.000 Penduduk
##  Min.   :  0.01                                                    
##  1st Qu.:  0.02                                                    
##  Median :  0.21                                                    
##  Mean   : 16.95                                                    
##  3rd Qu.:  0.75                                                    
##  Max.   :269.44                                                    
##  NA's   :4                                                         
##  Jumlah Kasus Penyakit - Angka Kesakitan DBD per 100.000 Penduduk
##  Min.   :  2.14                                                  
##  1st Qu.: 35.50                                                  
##  Median : 41.63                                                  
##  Mean   : 53.14                                                  
##  3rd Qu.: 57.95                                                  
##  Max.   :232.87                                                  
##  NA's   :4                                                       
##  Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Rumah Sakit
##  Min.   :   9.0                                             
##  1st Qu.:  23.5                                             
##  Median :  44.0                                             
##  Mean   : 143.7                                             
##  3rd Qu.:  71.5                                             
##  Max.   :2802.0                                             
##  NA's   :2                                                  
##  Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Puskesmas
##  Min.   :   42.0                                          
##  1st Qu.:  112.0                                          
##  Median :  209.0                                          
##  Mean   :  525.8                                          
##  3rd Qu.:  314.0                                          
##  Max.   :10254.0                                          
##  NA's   :2                                                
##  Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Puskesmas Pembantu
##  Min.   :  135                                                     
##  1st Qu.:  229                                                     
##  Median :  460                                                     
##  Mean   : 1273                                                     
##  3rd Qu.:  908                                                     
##  Max.   :24815                                                     
##  NA's   :2                                                         
##  Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Apotek
##  Min.   :   11.0                                       
##  1st Qu.:  119.0                                       
##  Median :  283.0                                       
##  Mean   :  974.3                                       
##  3rd Qu.:  496.0                                       
##  Max.   :18998.0                                       
##  NA's   :2                                             
##  Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Klinik Utama (Unit)
##  Min.   :   1.00                                                    
##  1st Qu.:   6.50                                                    
##  Median :  22.00                                                    
##  Mean   :  76.97                                                    
##  3rd Qu.:  43.50                                                    
##  Max.   :1501.00                                                    
##  NA's   :2                                                          
##  Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Balai Kesehatan
##  Min.   : 1.00                                                  
##  1st Qu.: 1.00                                                  
##  Median : 2.50                                                  
##  Mean   :10.33                                                  
##  3rd Qu.: 5.25                                                  
##  Max.   :93.00                                                  
##  NA's   :23                                                     
##  Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Klinik Pratama
##  Min.   :   9.0                                                
##  1st Qu.:  34.0                                                
##  Median : 109.0                                                
##  Mean   : 459.4                                                
##  3rd Qu.: 236.0                                                
##  Max.   :8958.0                                                
##  NA's   :2

Rata-rata Angka Keberhasilan Pengobatan TBC adalah NA persen.

Rata-rata Jumlah Rumah Sakit per Provinsi adalah NA unit.

Metode Analisis

Metode yang digunakan adalah K-Means Clustering. Pengelompokan ini dilakukan berdasarkan minimalisasi jarak Euclidean antar objek ke pusat kelompok (centroid): \[ d(x,y) = \sqrt{\sum_{i=1}^{n} (x_i - y_i)^2} \] Sebagai ilustrasi, jarak Euclidean antara Provinsi Aceh dan Sumatera Utara menggunakan data yang telah distandarisasi adalah: \[ d(1, 2) = 1.8629 \] # Analisis kelompok ## Persiapan data

# Mengambil kolom numerik saja
data_num <- df_merge[, -1] 

# Mengatasi nilai missing (NA) dengan angka 0
data_num[is.na(data_num)] <- 0

# Standarisasi data menggunakan scale()
data_std <- scale(data_num)

Penentuan jumlah kelompok

Menggunakan metode Elbow untuk menentukan jumlah cluster yang paling optimal.

set.seed(123)
wss <- sapply(1:10, function(k){kmeans(data_std, k, nstart=20)$tot.withinss})

# Plotting Elbow Method
plot(1:10, wss, type="b", pch=19, frame=FALSE, 
     xlab="Jumlah Kelompok (k)",
     ylab="Total Jarak Dalam Kelompok (WSS)",
     main="Metode Elbow untuk K Optimal")

Pembuatan cluster

Berdasarkan hasil plot metode elbow, dipilih jumlah kelompok sebanyak k = 3.

set.seed(123)
hasil_km <- kmeans(data_std, centers = 3, nstart = 25)

# Menampilkan hasil output model k-means
print(hasil_km)
## K-means clustering with 3 clusters of sizes 2, 1, 38
## 
## Cluster means:
##   Jumlah Kasus Penyakit - Angka Penemuan TBC
## 1                                 -3.3297178
## 2                                  0.5220522
## 3                                  0.1615101
##   Jumlah Kasus Penyakit - Angka Keberhasilan Pengobatan TBC
## 1                                                -4.0701054
## 2                                                 0.3945837
## 3                                                 0.2038323
##   Jumlah Kasus Penyakit - HIV/AIDS Kasus Baru
## 1                                  -0.3118996
## 2                                   6.0820419
## 3                                  -0.1436380
##   Jumlah Kasus Penyakit - Penemuan Kasus Baru Kusta per 100.000 Penduduk
## 1                                                            -0.55167104
## 2                                                            -0.15665952
## 3                                                             0.03315794
##   Jumlah Kasus Penyakit - Angka Kesakitan Malaria per 1.000 Penduduk
## 1                                                        -0.29948710
## 2                                                        -0.25111308
## 3                                                         0.02237072
##   Jumlah Kasus Penyakit - Angka Kesakitan DBD per 100.000 Penduduk
## 1                                                      -1.10809810
## 2                                                       0.20948207
## 3                                                       0.05280827
##   Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Rumah Sakit
## 1                                                  -0.3134321
## 2                                                   6.1119267
## 3                                                  -0.1443437
##   Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Puskesmas
## 1                                                -0.3164454
## 2                                                 6.1706861
## 3                                                -0.1457315
##   Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Puskesmas Pembantu
## 1                                                         -0.3172209
## 2                                                          6.1858070
## 3                                                         -0.1460886
##   Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Apotek
## 1                                             -0.3106598
## 2                                              6.0578661
## 3                                             -0.1430670
##   Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Klinik Utama (Unit)
## 1                                                          -0.3098382
## 2                                                           6.0418451
## 3                                                          -0.1426886
##   Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Balai Kesehatan
## 1                                                      -0.2909892
## 2                                                       5.6742900
## 3                                                      -0.1340082
##   Desa/Kelurahan Yang Memiliki Sarana Kesehatan - Klinik Pratama
## 1                                                     -0.3089033
## 2                                                      6.0236142
## 3                                                     -0.1422581
## 
## Clustering vector:
##  [1] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [39] 2 1 1
## 
## Within cluster sum of squares by cluster:
## [1]   0.000   0.000 158.048
##  (between_SS / total_SS =  69.6 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"

Visualisasi hasil

Visualisasi dilakukan dengan mereduksi dimensi data menggunakan Principal Component Analysis (PCA).

pca_res <- prcomp(data_std)

plot(pca_res$x[,1:2], col = hasil_km$cluster, pch = 19, 
     main = "Peta Klasterisasi Provinsi di Indonesia",
     xlab = "Komponen Utama 1", ylab = "Komponen Utama 2")

text(pca_res$x[,1:2], labels = df_merge$Provinsi, pos = 3, cex = 0.6)
abline(h=0, v=0, lty=2)

Kesimpulan

Berdasarkan analisis kelompok, provinsi-provinsi telah terbagi menjadi 3 kelompok.

Sebagai contoh, koordinat pusat kelompok (centroid) untuk Cluster 1 pada variabel pertama adalah -3.3297. Nilai ini menunjukkan posisi rata-rata anggota kelompok tersebut dalam ruang multidimensi.