Library

# install.packages('psych')
# install.packages('GPArotation')
# install.packages('clValid')
# install.packages('ggplot2')
# install.packages('cluster')
# install.packages('factoextra')
# install.packages('tidyverse')
# install.packages('car')
# install.packages('readxl')

Pendahuluan

Data kependudukan merupakan dasar penting untuk memahami kondisi demografi suatu wilayah. Pada penelitian ini digunakan data kependudukan Indonesia tahun 2025 yang bersumber dari Badan Pusat Statistik (BPS). Data tersebut memuat beberapa indikator utama, yaitu:

  1. Jumlah Penduduk (ribuan jiwa): menggambarkan ukuran populasi tiap provinsi.
  2. Laju Pertumbuhan Penduduk per Tahun: menunjukkan tingkat perubahan jumlah penduduk dari tahun ke tahun.
  3. Rasio Jenis Kelamin: memperlihatkan perbandingan jumlah penduduk laki-laki dan perempuan di tiap provinsi.

Ketiga variabel tersebut digunakan sebagai dasar untuk melihat variasi dan pola demografis antarprovinsi. Untuk meninjau kemiripan karakteristik antarwilayah, penelitian ini menggunakan analisis klaster, yaitu metode statistik yang bertujuan mengelompokkan objek berdasarkan tingkat kesamaannya. Pendekatan ini banyak digunakan untuk menggambarkan struktur kelompok alami dalam data multivariat.

Penelitian ini bertujuan memberikan gambaran umum mengenai kelompok provinsi yang memiliki karakteristik demografi serupa sehingga dapat membantu memahami perbedaan dan pola distribusi penduduk di Indonesia. Sumber data dapat diakses melalui situs resmi BPS: https://www.bps.go.id/id/statistics-table/3/V1ZSbFRUY3lTbFpEYTNsVWNGcDZjek53YkhsNFFUMDkjMyMwMDAw/jumlah-penduduk--laju-pertumbuhan-penduduk--distribusi-persentase-penduduk--kepadatan-penduduk--rasio-jenis-kelamin-penduduk-menurut-provinsi.html?year=2025

Source Code dan Pembahasan

library(psych)
library(GPArotation)
library(clValid)
library(ggplot2)
library(cluster)
library(factoextra)
library(tidyverse)
library(car)
library(readxl)
library(DT)

Data

Dapat dilihat data yang dipakai adalah sebagai berikut

data <- read_excel("C:/Users/asus/Downloads/Data Laprak 2.xlsx")
datatable(data, options=list(pageLength=5,autowidth=TRUE))

Statistik Deskriptif

statdes <- summary(data)
statdes
   Provinsi         Jumlah Penduduk (Ribu) Laju Pertumbuhan Penduduk per Tahun
 Length:38          Min.   :  549.7        Min.   :0.230                      
 Class :character   1st Qu.: 1531.7        1st Qu.:1.135                      
 Mode  :character   Median : 3775.0        Median :1.340                      
                    Mean   : 7485.2        Mean   :1.289                      
                    3rd Qu.: 6587.0        3rd Qu.:1.448                      
                    Max.   :50759.0        Max.   :2.670                      
 Rasio Jenis Kelamin Penduduk
 Min.   : 97.8               
 1st Qu.:101.0               
 Median :103.2               
 Mean   :104.0               
 3rd Qu.:105.3               
 Max.   :114.0               

Gambar diatas adalah ringkasan statistika deskriptif untuk tiap variabel, dapat dilihat jumlah penduduk memiliki nilai minimum 549,7 ribu dan nilai maksimum 50759 ribu, sedangkan laju pertumbuhan penduduk memiliki rata-rata 1,289% per tahunnya.

Uji Asumsi

Uji Sampel Representatif

kmo <- KMO(data[,2:4])
kmo
Kaiser-Meyer-Olkin factor adequacy
Call: KMO(r = data[, 2:4])
Overall MSA =  0.65
MSA for each item = 
             Jumlah Penduduk (Ribu) Laju Pertumbuhan Penduduk per Tahun 
                               0.68                                0.65 
       Rasio Jenis Kelamin Penduduk 
                               0.63 

Hasil uji KMO terlihat bahwa tiap variabel memiliki nilai >0.5 yang menandakan bahwa sampel telah cukup untuk digunakan dalam analisis klaster.

Uji Non-Multikolinearitas

korelasi <- cor(data[,2:4], method = 'pearson')
korelasi
                                    Jumlah Penduduk (Ribu)
Jumlah Penduduk (Ribu)                           1.0000000
Laju Pertumbuhan Penduduk per Tahun             -0.3493323
Rasio Jenis Kelamin Penduduk                    -0.3727119
                                    Laju Pertumbuhan Penduduk per Tahun
Jumlah Penduduk (Ribu)                                       -0.3493323
Laju Pertumbuhan Penduduk per Tahun                           1.0000000
Rasio Jenis Kelamin Penduduk                                  0.4230262
                                    Rasio Jenis Kelamin Penduduk
Jumlah Penduduk (Ribu)                                -0.3727119
Laju Pertumbuhan Penduduk per Tahun                    0.4230262
Rasio Jenis Kelamin Penduduk                           1.0000000

Dari output yang diperoleh, dapat disimpulkan tidak terjadi multikolinieritas antar variabel, karena nilai korelasi yang didapat <0.8. Sehingga data yang digunakan dapat dilakukan analisis klaster

Standarisasi

Data distandarisasi agar setiap variabel memiliki skala yang sama, sehingga tidak ada variabel tertentu yang mendominasi perhitungan jarak pada analisis klaster

datastand <- scale(data[,2:4])
datastand
      Jumlah Penduduk (Ribu) Laju Pertumbuhan Penduduk per Tahun
 [1,]             -0.1628517                          0.21000599
 [2,]              0.7270563                          0.21000599
 [3,]             -0.1375992                          0.31432269
 [4,]             -0.0590387                          0.13176846
 [5,]             -0.3255521                         -0.02470659
 [6,]              0.1264179                         -0.44197339
 [7,]             -0.4683694                          0.02745176
 [8,]              0.1784821                         -0.28549834
 [9,]             -0.5198029                          0.13176846
[10,]             -0.4617563                          0.49687691
[11,]              0.2796585                         -2.76301997
[12,]              3.7903972                         -0.59844844
[13,]              2.6933100                         -0.83316101
[14,]             -0.3244134                         -1.69377379
[15,]              3.0310087                         -1.45906121
[16,]              0.4425254                         -0.49413174
[17,]             -0.2648690                         -1.56337791
[18,]             -0.1536458                          0.75766866
[19,]             -0.1526385                          0.80982701
[20,]             -0.1505889                          0.10568929
[21,]             -0.4064425                          0.15784764
[22,]             -0.2769566                         -0.07686494
[23,]             -0.2818354                          3.60029874
[24,]             -0.5899984                          0.26216434
[25,]             -0.4172688                         -1.30258616
[26,]             -0.3791929                         -0.28549834
[27,]              0.1820032                         -0.46805256
[28,]             -0.4071695                          0.94022289
[29,]             -0.5468335                         -0.12902329
[30,]             -0.5220365                          0.62727279
[31,]             -0.4830322                          0.15784764
[32,]             -0.5353065                          0.41863939
[33,]             -0.6041706                          1.01846041
[34,]             -0.5998962                          0.73158949
[35,]             -0.5616014                          0.13176846
[36,]             -0.6074903                          0.39256021
[37,]             -0.5249270                          0.52295609
[38,]             -0.5255752                          0.26216434
      Rasio Jenis Kelamin Penduduk
 [1,]                  -0.81783968
 [2,]                  -0.84382455
 [3,]                  -0.66193044
 [4,]                   0.06564599
 [5,]                  -0.22018761
 [6,]                  -0.11624811
 [7,]                   0.03966112
 [8,]                   0.01367625
 [9,]                   0.29950985
[10,]                  -0.24617248
[11,]                  -0.84382455
[12,]                  -0.42806659
[13,]                  -0.81783968
[14,]                  -1.62337073
[15,]                  -1.20761277
[16,]                  -0.19420273
[17,]                  -0.94776404
[18,]                  -0.81783968
[19,]                  -1.05170353
[20,]                   0.32549472
[21,]                   0.63731319
[22,]                  -0.48003633
[23,]                   0.71526781
[24,]                   1.65072323
[25,]                   0.01367625
[26,]                   0.27352498
[27,]                  -1.36352200
[28,]                  -0.37609684
[29,]                  -0.63594557
[30,]                  -0.35011197
[31,]                  -0.48003633
[32,]                   0.27352498
[33,]                   1.67670810
[34,]                   1.15701065
[35,]                   1.39087450
[36,]                   0.94913167
[37,]                   2.45625428
[38,]                   2.58617865
attr(,"scaled:center")
             Jumlah Penduduk (Ribu) Laju Pertumbuhan Penduduk per Tahun 
                        7485.226316                            1.289474 
       Rasio Jenis Kelamin Penduduk 
                         104.047368 
attr(,"scaled:scale")
             Jumlah Penduduk (Ribu) Laju Pertumbuhan Penduduk per Tahun 
                       1.141669e+04                        3.834477e-01 
       Rasio Jenis Kelamin Penduduk 
                       3.848393e+00 
rownames(datastand) <- 1:nrow(datastand)

Menghitung Jarak Euclidien

Dihitung jarak Euclidian antar masing-masing metode

jarak <- dist(datastand, method = "euclidean")
jarak
           1         2         3         4         5         6         7
2  0.8902873                                                            
3  0.1892811 0.8897171                                                  
4  0.8929979 1.2046590 0.7542316                                        
5  0.6623816 1.2457920 0.5877107 0.4209688                              
6  1.0004922 1.1468265 0.9692564 0.6298090 0.6238525                    
7  0.9284260 1.4976367 0.8270034 0.4232125 0.3010625 0.7735888          
8  1.0263781 1.1321510 0.9571505 0.4829374 0.6138038 0.2099416 0.7190479
9  1.1755872 1.6935149 1.0506061 0.5167165 0.5764575 0.9589764 0.2846906
10 0.7060044 1.3611607 0.5579055 0.6266709 0.5397000 1.1154681 0.5496404
11 3.0058899 3.0065010 3.1108242 3.0531381 2.8729015 2.4372335 3.0210636
12 4.0538498 3.1953890 4.0394305 3.9490664 4.1609413 3.6805515 4.3298514
13 3.0407001 2.2259888 3.0586064 3.0474677 3.1818729 2.6896456 3.3870605
14 2.0734898 2.3103373 2.2342154 2.5011609 2.1805296 2.0103909 2.3977105
15 3.6247003 2.8681568 3.6718845 3.7013943 3.7813863 3.2653012 4.0013823
16 1.1185770 0.9993880 1.0995055 0.8431127 0.9005433 0.3297292 1.0753934
17 1.7810610 2.0346031 1.9035908 1.9856705 1.7031029 1.4498525 1.8833905
18 0.5477400 1.0374227 0.4702349 1.0868526 0.9994252 1.4176768 1.1694337
19 0.6438803 1.0848327 0.6306138 1.3103413 1.1906990 1.5874362 1.3794469
20 1.1481489 1.4657594 1.0093092 0.2767362 0.5876941 0.7561772 0.4345186
21 1.4763221 1.8658267 1.3359623 0.6694572 0.8804413 1.1007180 0.6148382
22 0.4576308 1.1057481 0.4533583 0.6235265 0.2694501 0.6544899 0.5635657
23 3.7227222 3.8655810 3.5658264 3.5358661 3.7440154 4.1470536 3.6409442
24 2.5057888 2.8213689 2.3570644 1.6767203 1.9111604 2.0325477 1.6326067
25 1.7447297 2.0815193 1.7745573 1.4793251 1.3023365 1.0262212 1.3312728
26 1.2179511 1.6485697 1.1372026 0.5655298 0.5609294 0.6573050 0.4007275
27 0.9361931 1.0133764 1.0984022 1.5685687 1.3271705 1.2487842 1.6240172
28 0.8877188 1.4277444 0.7389994 0.9848504 0.9808455 1.5042285 1.0048638
29 0.5435700 1.3345223 0.6039070 0.8934130 0.4823921 0.9062509 0.6979151
30 0.7224227 1.4064482 0.5856284 0.7954534 0.6932269 1.2721921 0.7173482
31 0.4683451 1.2646646 0.4205875 0.6915344 0.3544677 0.9292774 0.5360070
32 1.1718905 1.6986930 1.0218268 0.5935820 0.6959200 1.1534542 0.4606524
33 2.6591596 2.9629122 2.4865094 1.9180492 2.1826679 2.4251430 1.9184533
34 2.0888013 2.4568667 1.9225964 1.3577146 1.5949682 1.8777566 1.3272450
35 2.2457829 2.5808215 2.1040704 1.4173214 1.6357643 1.7532737 1.3584373
36 1.8311792 2.2425505 1.6800119 1.0720814 1.2731490 1.5395135 0.9898462
37 3.3088862 3.5434334 3.1490676 2.4667970 2.7391652 2.8236692 2.4675181
38 3.4236865 3.6519485 3.2716141 2.5666601 2.8280728 2.8677544 2.5579511
           8         9        10        11        12        13        14
2                                                                       
3                                                                       
4                                                                       
5                                                                       
6                                                                       
7                                                                       
8                                                                       
9  0.8622148                                                            
10 1.0438091 0.6591227                                                  
11 2.6236726 3.2134331 3.3961466                                        
12 3.6522603 4.4317501 4.3947278 4.1452998                              
13 2.7047574 3.5360505 3.4713466 3.0904278 1.1876925                    
14 2.2172204 2.6586183 2.5912330 1.4546074 4.4226866 3.2397823          
15 3.3174847 4.1725796 4.1169732 3.0663623 1.3874500 0.8109960 3.3892186
16 0.3955508 1.2496315 1.3425812 2.3656686 3.3576509 2.3600625 2.0173888
17 1.6594890 2.1199539 2.1853250 1.3215350 4.2007569 3.0497410 0.6906468
18 1.3747455 1.3320255 0.6998198 3.5473478 4.1888486 3.2612722 2.5860418
19 1.5634617 1.5557476 0.9178082 3.6049036 4.2331659 3.2944689 2.5737768
20 0.5987873 0.3710449 0.7593789 3.1276050 4.0737006 3.2056847 2.6582624
21 0.9631280 0.3572699 0.9479174 3.3460381 4.3955070 3.5648329 2.9233410
22 0.7033522 0.8427304 0.6465469 2.7672353 4.1009898 3.0835983 1.9808735
23 3.9753669 3.5014548 3.2539155 6.5755509 5.9598465 5.5549504 5.7877670
24 1.8895554 1.3593043 1.9156590 4.0163182 4.9244175 4.2513121 3.8230774
25 1.1787225 1.4661471 1.8186720 1.8313607 4.2889859 3.2538406 1.6856965
26 0.6152420 0.4410873 0.9428750 2.7965458 4.2397701 3.3062494 2.3631449
27 1.3892492 1.9021020 1.6105853 2.3551003 3.7299581 2.5957148 1.3514332
28 1.4132598 1.0595892 0.4652050 3.7953273 4.4709928 3.5990277 2.9155581
29 0.9861925 0.9715039 0.7422346 2.7684366 4.3675101 3.3207567 1.8635781
30 1.2067391 0.8170300 0.1773139 3.5186009 4.4839217 3.5623151 2.6547128
31 0.9369679 0.7808486 0.4124146 3.0406425 4.3401478 3.3444519 2.1819430
32 1.0357729 0.2884623 0.5306752 3.4692354 4.4987122 3.6307087 2.8469244
33 2.2535591 1.6401267 1.9974486 4.6296688 5.1338774 4.5304138 4.2807708
34 1.7168442 1.0495274 1.4293689 4.1218022 4.8534675 4.1465269 3.6998376
35 1.6181811 1.0921648 1.6802369 3.7525189 4.7730132 4.0501797 3.5319311
36 1.3973521 0.7054856 1.2086655 3.7362296 4.7138295 3.9395258 3.3242579
37 2.6673152 2.1919399 2.7032908 4.7260466 5.3102616 4.7870444 4.6473043
38 2.7227559 2.2903909 2.8427761 4.6438199 5.3342241 4.8112680 4.6461238
          15        16        17        18        19        20        21
2                                                                       
3                                                                       
4                                                                       
5                                                                       
6                                                                       
7                                                                       
8                                                                       
9                                                                       
10                                                                      
11                                                                      
12                                                                      
13                                                                      
14                                                                      
15                                                                      
16 2.9425048                                                            
17 3.3077505 1.4871277                                                  
18 3.8997229 1.5203116 2.3273393                                        
19 3.9125147 1.6702803 2.3781297 0.2396118                              
20 3.8628262 0.9907852 2.1023875 1.3161687 1.5467673                    
21 4.2230578 1.3554491 2.3441694 1.5941020 1.8281879 0.4067091          
22 3.6582056 0.8794696 1.5584082 0.9087150 1.0622999 0.8355687 1.1490546
23 6.3458277 4.2563125 5.4248981 3.2322433 3.3053914 3.5187276 3.4455875
24 4.9238597 2.2454044 3.1922484 2.5553338 2.7918325 1.4049184 1.0351689
25 3.6615091 1.1983565 1.0077725 2.2373122 2.3806202 1.4668295 1.5880514
26 3.8987811 0.9682552 1.7713252 1.5264815 1.7341554 0.4560575 0.5741429
27 3.0204698 1.1982735 1.2539087 1.3830481 1.3572738 1.8145453 2.1774666
28 4.2742312 1.6770331 2.5719778 0.5410518 0.7336440 1.1200494 1.2802779
29 3.8596320 1.1433600 1.4946933 0.9868661 1.0998565 1.0660522 1.3127042
30 4.2085897 1.4873586 2.2852294 0.6094948 0.8136409 0.9308421 1.0994228
31 3.9360189 1.1676621 1.7969368 0.7631459 0.9279226 0.8729944 1.1199714
32 4.2939647 1.4170659 2.3437312 1.2048579 1.4337689 0.4986444 0.4657898
33 5.2604134 2.6237025 3.6971433 2.5482844 2.7733805 1.6925322 1.3638521
34 4.8552925 2.1011456 3.1319635 2.0248095 2.2549011 1.1335991 0.7979282
35 4.7105968 1.9780019 2.9035843 2.3316512 2.5677230 1.1422108 0.7698110
36 4.6172204 1.7877274 2.7461421 1.8605017 2.0938823 0.8246071 0.4390228
37 5.4769511 2.9992256 4.0009699 3.3034272 3.5393024 2.2032650 1.8590023
38 5.4776600 3.0396913 3.9861414 3.4599417 3.6977294 2.2969090 1.9552880
          22        23        24        25        26        27        28
2                                                                       
3                                                                       
4                                                                       
5                                                                       
6                                                                       
7                                                                       
8                                                                       
9                                                                       
10                                                                      
11                                                                      
12                                                                      
13                                                                      
14                                                                      
15                                                                      
16                                                                      
17                                                                      
18                                                                      
19                                                                      
20                                                                      
21                                                                      
22                                                                      
23 3.8665629                                                            
24 2.1801542 3.4803998                                                  
25 1.3288462 4.9546799 2.2711676                                        
26 0.7885650 3.9120371 1.4970132 1.0504469                              
27 1.0696816 4.5921668 3.1960722 1.7182108 1.7401695                    
28 1.0306437 2.8779835 2.1450383 2.2764484 1.3875099 1.8180684          
29 0.3160091 3.9754049 2.3202899 1.3476073 0.9379363 1.0842100 1.1091956
30 0.7568054 3.1672723 2.0350097 1.9666402 1.1146652 1.6499726 0.3343761
31 0.3123414 3.6496167 2.1359916 1.5430307 0.8804504 1.2706573 0.7928869
32 0.9381492 3.2221640 1.3871376 1.7447268 0.7212360 1.9951638 0.8428979
33 2.4409738 2.7738343 0.7568750 2.8614445 1.9286903 3.4743041 2.0637196
34 1.8541336 2.9198959 0.6813296 2.3406061 1.3651830 2.8988951 1.5591953
35 1.9039060 3.5447730 0.2921144 1.9937101 1.2065879 2.9153787 1.9492654
36 1.5401733 3.2326970 0.7138205 1.9454517 0.9840363 2.5908148 1.4478582
37 3.0071710 3.5440323 0.8491919 3.0512919 2.3321973 4.0090572 2.8653431
38 3.0949033 3.8344306 0.9376712 3.0129625 2.3811193 4.0784825 3.0411937
          29        30        31        32        33        34        35
2                                                                       
3                                                                       
4                                                                       
5                                                                       
6                                                                       
7                                                                       
8                                                                       
9                                                                       
10                                                                      
11                                                                      
12                                                                      
13                                                                      
14                                                                      
15                                                                      
16                                                                      
17                                                                      
18                                                                      
19                                                                      
20                                                                      
21                                                                      
22                                                                      
23                                                                      
24                                                                      
25                                                                      
26                                                                      
27                                                                      
28                                                                      
29                                                                      
30 0.8088878                                                            
31 0.3326759 0.4886324                                                  
32 1.0616986 0.6577439 0.7991243                                        
33 2.5823194 2.0658590 2.3252689 1.5275636                              
34 1.9895130 1.5127335 1.7386086 0.9394980 0.5936317                    
35 2.0435826 1.8105590 1.8727415 1.1538875 0.9325962 0.6449373          
36 1.6697899 1.3230368 1.4536509 0.6799522 0.9597549 0.3977590 0.5150290
37 3.1602622 2.8083059 2.9591995 2.1852453 0.9270903 1.3180221 1.1355205
38 3.2458534 2.9589051 3.0682839 2.3179616 1.1854525 1.5061224 1.2029351
          36        37
2                     
3                     
4                     
5                     
6                     
7                     
8                     
9                     
10                    
11                    
12                    
13                    
14                    
15                    
16                    
17                    
18                    
19                    
20                    
21                    
22                    
23                    
24                    
25                    
26                    
27                    
28                    
29                    
30                    
31                    
32                    
33                    
34                    
35                    
36                    
37 1.5150044          
38 1.6442737 0.2913642

Koefisien Korelasi Cophenetic

d1 <- dist(data[,2:4])
hiers <- hclust(dist(data[,2:4]), method = "single")
hc1 <- hclust(d1, "single")
d2 <- cophenetic(hc1)
cors <- cor(d1,d2)
cors
[1] 0.9690103
hierave <- hclust(dist(data[,2:4]), method = "ave")
hc2 <- hclust(d1, "ave")
d3 <- cophenetic(hc2)
corave <- cor(d1,d3)
corave
[1] 0.9742916
hiercomp <- hclust(dist(data[,2:4]), method = "complete")
hc3 <- hclust(d1, "complete")
d4 <- cophenetic(hc3)
corcomp <- cor(d1,d4)
corcomp
[1] 0.9704122
hiercen <- hclust(dist(data[,2:4]), method = "centroid")
hc4 <- hclust(d1, "centroid")
d5 <- cophenetic(hc4)
corcen <- cor(d1,d5)
corcen
[1] 0.973394
hierward <- hclust(dist(data[,2:4]), method = "ward.D")
hc5 <- hclust(d1,"ward.D")
d6 <- cophenetic(hc5)
corward <- cor(d1,d6)
corward
[1] 0.9369638

Setelah disatukan

KorCop<-data.frame(cors,corave,corcomp,corcen,corward)
KorCop

Dilakukan uji koefisien korelasi cophenetic untuk melihat metode terbaik yang akan digunakan untuk analisis klaster. Jika dilihat dari output yang didapat, dapat disimpukan bahwa metode terbaik yang akan digunakan adalah average linkage karena memiliki nilai yang paling mendekati 1

Indeks Validitas

inval <- clValid(datastand, 2:4, clMethods = "hierarchical", validation = "internal", metric = "euclidean", method = "average")
summary(inval)

Clustering Methods:
 hierarchical 

Cluster sizes:
 2 3 4 

Validation Measures:
                                 2       3       4
                                                  
hierarchical Connectivity   4.2869  7.2159 12.8901
             Dunn           0.3385  0.4710  0.2516
             Silhouette     0.5661  0.5168  0.4398

Optimal Scores:

             Score  Method       Clusters
Connectivity 4.2869 hierarchical 2       
Dunn         0.4710 hierarchical 3       
Silhouette   0.5661 hierarchical 2       
optimalScores(inval)

Dilihat dari indeks connectivity, indeks dunn, dan indeks silhouette, jumlah klaster yang akan dipakai yaitu 2 sebagai klaster optimal.

Metode Average Linkage

hirave <- hclust(dist(scale(data[,2:4])), method = "average")
hirave

Call:
hclust(d = dist(scale(data[, 2:4])), method = "average")

Cluster method   : average 
Distance         : euclidean 
Number of objects: 38 
anggotaave <- data.frame(id = data$Provinsi, cutree(hirave, k = 2))
anggotaave

Dapat dilihat pengelompokkan tiap provinsi ke dalam klaster.

clus_hier <- eclust(datastand, FUNcluster = "hclust", k = 2, hc_method = "average", graph = TRUE)
fviz_dend(clus_hier, rect = TRUE, cex = 0.5)

Berikut ditampilkan hasil dendogram yang didapat dengan bantuan R Studio.

Karakteristik Klaster

idclus = clus_hier$cluster
idclus
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 
 1  1  1  1  1  1  1  1  1  1  1  2  2  1  2  1  1  1  1  1  1  1  1  1  1  1 
27 28 29 30 31 32 33 34 35 36 37 38 
 1  1  1  1  1  1  1  1  1  1  1  1 
aggregate(data,list(idclus),mean)

Jika dilihat dari output diatas, klaster 1 memiliki persentase yang lebih tinggi dalam bidang laju pertumbuhan penduduk per tahun dan juga rasio jenis kelamin penduduk, yaitu yang termasuk dalam klaster 1 adalah Jawa Barat, Jawa Tengah, dan juga Jawa Timur, sedangkan klaster 2 memiliki persentase yang lebih tinggi dalam bidang jumlah penduduk yaitu 43694,067 dalam satuan ribu, yaitu 35 provinsi sisanya selain 3 provinsi diatas.

Kesimpulan dan Saran

Berdasarkan hasil analisis, dapat ditarik beberapa kesimpulan sebagai berikut: 1. Statistik deskriptif menunjukkan bahwa setiap variabel memiliki sebaran nilai yang cukup beragam, misalnya jumlah penduduk antar provinsi yang bervariasi sangat besar, dari sekitar 550 ribu hingga lebih dari 50 juta jiwa. Sementara itu, laju pertumbuhan penduduk memiliki rata-rata sekitar 1,289% per tahun, menunjukkan adanya perbedaan dinamika demografis antar wilayah.

  1. Uji KMO yang dilakukan menunjukkan bahwa seluruh variabel memiliki nilai di atas 0,5, sehingga data dinilai layak untuk digunakan dalam analisis klaster. Selain itu, uji korelasi Pearson memperlihatkan bahwa tidak terdapat multikolinieritas antar variabel, karena seluruh nilai korelasi berada di bawah batas kritis 0,8. Dengan demikian, ketiga variabel dapat dianalisis secara bersamaan tanpa perlu menghilangkan variabel tambahan.

  2. Pemilihan metode klaster dilakukan melalui evaluasi koefisien korelasi cophenetic, dan hasilnya menunjukkan bahwa metode average linkage memiliki nilai korelasi yang paling mendekati 1. Artinya, metode ini paling akurat dalam merepresentasikan struktur jarak asli antar observasi sehingga dipilih sebagai metode terbaik dalam penyusunan klaster.

  3. Berdasarkan indeks-validitas internal (connectivity, Dunn, dan silhouette), jumlah klaster optimal yang terbentuk adalah dua klaster. Hasil dendrogram dan pengelompokkan menunjukkan bahwa:

  • Klaster 1 terdiri dari Jawa Barat, Jawa Tengah, dan Jawa Timur. Provinsi dalam kelompok ini cenderung memiliki nilai yang lebih tinggi pada variabel laju pertumbuhan penduduk per tahun dan rasio jenis kelamin penduduk.
  • Klaster 2 mencakup 35 provinsi lainnya. Kelompok ini memiliki karakteristik dominan pada variabel jumlah penduduk dengan nilai agregat yang lebih tinggi secara keseluruhan. Secara umum, analisis klaster berhasil mengelompokkan provinsi di Indonesia berdasarkan kemiripan karakteristik demografis. Hasil pengelompokan ini dapat memberikan gambaran awal bagi perencanaan kebijakan yang mempertimbangkan dinamika pertumbuhan, komposisi gender, serta skala populasi di masing-masing wilayah. Saran untuk penelitian selanjutnya yaitu dapat menambahkan variabel demografis lain seperti urbanisasi atau kepadatan penduduk agar hasil klaster lebih komprehensif, serta mempertimbangkan metode klaster alternatif seperti K-Means untuk dibandingkan dengan pendekatan hierarchical. Selain itu, penggunaan data yang lebih mutakhir dan analisis lintas tahun juga disarankan agar pola pengelompokan yang muncul dapat mencerminkan dinamika demografis provinsi secara lebih akurat.

Daftar Pustaka

Badan Pusat Statistik. (2025). Jumlah penduduk, laju pertumbuhan penduduk, distribusi persentase penduduk, kepadatan penduduk, rasio jenis kelamin penduduk menurut provinsi [Statistik online]. https://www.bps.go.id/id/statistics-table/3/V1ZSbFRUY3lTbFpEYTNsVWNGcDZjek53YkhsNFFUMDkjMyMwMDAw/jumlah-penduduk--laju-pertumbuhan-penduduk--distribusi-persentase-penduduk--kepadatan-penduduk--rasio-jenis-kelamin-penduduk-menurut-provinsi.html?year=2025

DataCamp. (n.d.). Cluster analysis in R. Retrieved from https://www.datacamp.com/doc/r/cluster

Nurussadad, A. A. (n.d.). STA551 Pemodelan Klasifikasi – Analisis Cluster dengan R. RPubs. Retrieved from https://rpubs.com/nurussadad/cluster

LS0tDQp0aXRsZTogIlBlbmdlbG9tcG9rYW4gUHJvdmluc2kgZGkgSW5kb25lc2lhIEJlcmRhc2Fya2FuIEluZGlrYXRvciBLZXBlbmR1ZHVrYW4gVGFodW4NCiAgMjAyNSBNZW5nZ3VuYWthbiBBbmFsaXNpcyBLbGFzdGVyIg0KYXV0aG9yOiAiVG9uZ2dvIEsgU2ltYW51bmdrYWxpdCINCmRhdGU6ICIyMDI1LTExLTI5Ig0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0aGVtZToNCiAgICAgIHZlcnNpb246IDUNCiAgICAgIGJvb3Rzd2F0Y2g6IGxpdGVyYQ0KICAgICAgYmc6ICIjRkZGREVDIiAjIGJhY2tncm91bmQNCiAgICAgIGZnOiAiIzFBMkE0RiIgIyBodXJ1Zg0KICAgICAgcHJpbWFyeTogIiMxQTJBNEYiICMgeWcgYmVyZ2VyYWsNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6DQogICAgICBjb2xsYXBzZWQ6IHRydWUNCiAgICAgIHNtb290aF9zY3JvbGw6IHRydWUNCiAgICBjb2RlX2ZvbGRpbmc6IHNob3cNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgaGlnaGxpZ2h0OiB0YW5nbw0KICAgIGRmX3ByaW50OiBwYWdlZA0KLS0tDQoNCmBgYHs9aHRtbH0NCjxzdHlsZT4NCnAgew0KICB0ZXh0LWFsaWduOiBqdXN0aWZ5Ow0KICB0ZXh0LWp1c3RpZnk6IGludGVyLXdvcmQ7DQp9DQpib2R5IHsNCiAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgbW9ub3NwYWNlOw0KICBjb2xvcjogIzFBMkE0RjsNCiAgbGluZS1oZWlnaHQ6IDEuNjsNCiAgbWFyZ2luLWJvdHRvbTogMWVtDQp9DQo8L3N0eWxlPg0KYGBgDQoNCmBgYHtyIGluY2x1ZGU9RkFMU0V9DQpsaWJyYXJ5KGtuaXRyKQ0Kb3B0c19jaHVuayRzZXQoDQogIG1lc3NhZ2UgPSBGQUxTRSwNCiAgd2FybmluZyA9IEZBTFNFLA0KICBjb21tZW50ID0gIiIsDQogIGNvbGxhcHNlID0gVFJVRSwNCiAgZmlnLmFsaWduID0gImNlbnRlciINCikNCmBgYA0KDQpMaWJyYXJ5DQpgYGB7cn0NCiMgaW5zdGFsbC5wYWNrYWdlcygncHN5Y2gnKQ0KIyBpbnN0YWxsLnBhY2thZ2VzKCdHUEFyb3RhdGlvbicpDQojIGluc3RhbGwucGFja2FnZXMoJ2NsVmFsaWQnKQ0KIyBpbnN0YWxsLnBhY2thZ2VzKCdnZ3Bsb3QyJykNCiMgaW5zdGFsbC5wYWNrYWdlcygnY2x1c3RlcicpDQojIGluc3RhbGwucGFja2FnZXMoJ2ZhY3RvZXh0cmEnKQ0KIyBpbnN0YWxsLnBhY2thZ2VzKCd0aWR5dmVyc2UnKQ0KIyBpbnN0YWxsLnBhY2thZ2VzKCdjYXInKQ0KIyBpbnN0YWxsLnBhY2thZ2VzKCdyZWFkeGwnKQ0KYGBgDQoNCiMgUGVuZGFodWx1YW4NCiAgRGF0YSBrZXBlbmR1ZHVrYW4gbWVydXBha2FuIGRhc2FyIHBlbnRpbmcgdW50dWsgbWVtYWhhbWkga29uZGlzaSBkZW1vZ3JhZmkgc3VhdHUgd2lsYXlhaC4gUGFkYSBwZW5lbGl0aWFuIGluaSBkaWd1bmFrYW4gZGF0YSBrZXBlbmR1ZHVrYW4gSW5kb25lc2lhIHRhaHVuIDIwMjUgeWFuZyBiZXJzdW1iZXIgZGFyaSBCYWRhbiBQdXNhdCBTdGF0aXN0aWsgKEJQUykuIERhdGEgdGVyc2VidXQgbWVtdWF0IGJlYmVyYXBhIGluZGlrYXRvciB1dGFtYSwgeWFpdHU6DQoNCjEuCUp1bWxhaCBQZW5kdWR1ayAocmlidWFuIGppd2EpOiBtZW5nZ2FtYmFya2FuIHVrdXJhbiBwb3B1bGFzaSB0aWFwIHByb3ZpbnNpLg0KMi4JTGFqdSBQZXJ0dW1idWhhbiBQZW5kdWR1ayBwZXIgVGFodW46IG1lbnVuanVra2FuIHRpbmdrYXQgcGVydWJhaGFuIGp1bWxhaCBwZW5kdWR1ayBkYXJpIHRhaHVuIGtlIHRhaHVuLg0KMy4JUmFzaW8gSmVuaXMgS2VsYW1pbjogbWVtcGVybGloYXRrYW4gcGVyYmFuZGluZ2FuIGp1bWxhaCBwZW5kdWR1ayBsYWtpLWxha2kgZGFuIHBlcmVtcHVhbiBkaSB0aWFwIHByb3ZpbnNpLg0KDQogIEtldGlnYSB2YXJpYWJlbCB0ZXJzZWJ1dCBkaWd1bmFrYW4gc2ViYWdhaSBkYXNhciB1bnR1ayBtZWxpaGF0IHZhcmlhc2kgZGFuIHBvbGEgZGVtb2dyYWZpcyBhbnRhcnByb3ZpbnNpLiBVbnR1ayBtZW5pbmphdSBrZW1pcmlwYW4ga2FyYWt0ZXJpc3RpayBhbnRhcndpbGF5YWgsIHBlbmVsaXRpYW4gaW5pIG1lbmdndW5ha2FuIGFuYWxpc2lzIGtsYXN0ZXIsIHlhaXR1IG1ldG9kZSBzdGF0aXN0aWsgeWFuZyBiZXJ0dWp1YW4gbWVuZ2Vsb21wb2trYW4gb2JqZWsgYmVyZGFzYXJrYW4gdGluZ2thdCBrZXNhbWFhbm55YS4gUGVuZGVrYXRhbiBpbmkgYmFueWFrIGRpZ3VuYWthbiB1bnR1ayBtZW5nZ2FtYmFya2FuIHN0cnVrdHVyIGtlbG9tcG9rIGFsYW1pIGRhbGFtIGRhdGEgbXVsdGl2YXJpYXQuDQoNCiAgUGVuZWxpdGlhbiBpbmkgYmVydHVqdWFuIG1lbWJlcmlrYW4gZ2FtYmFyYW4gdW11bSBtZW5nZW5haSBrZWxvbXBvayBwcm92aW5zaSB5YW5nIG1lbWlsaWtpIGthcmFrdGVyaXN0aWsgZGVtb2dyYWZpIHNlcnVwYSBzZWhpbmdnYSBkYXBhdCBtZW1iYW50dSBtZW1haGFtaSBwZXJiZWRhYW4gZGFuIHBvbGEgZGlzdHJpYnVzaSBwZW5kdWR1ayBkaSBJbmRvbmVzaWEuIFN1bWJlciBkYXRhIGRhcGF0IGRpYWtzZXMgbWVsYWx1aSBzaXR1cyByZXNtaSBCUFM6DQpodHRwczovL3d3dy5icHMuZ28uaWQvaWQvc3RhdGlzdGljcy10YWJsZS8zL1YxWlNiRlJVWTNsVGJGcEVZVE5zVldOR2NEWmplazUzWWtoc05GRlVNRGtqTXlNd01EQXcvanVtbGFoLXBlbmR1ZHVrLS1sYWp1LXBlcnR1bWJ1aGFuLXBlbmR1ZHVrLS1kaXN0cmlidXNpLXBlcnNlbnRhc2UtcGVuZHVkdWstLWtlcGFkYXRhbi1wZW5kdWR1ay0tcmFzaW8tamVuaXMta2VsYW1pbi1wZW5kdWR1ay1tZW51cnV0LXByb3ZpbnNpLmh0bWw/eWVhcj0yMDI1DQoNCiMgU291cmNlIENvZGUgZGFuIFBlbWJhaGFzYW4gDQpgYGB7cn0NCmxpYnJhcnkocHN5Y2gpDQpsaWJyYXJ5KEdQQXJvdGF0aW9uKQ0KbGlicmFyeShjbFZhbGlkKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShjbHVzdGVyKQ0KbGlicmFyeShmYWN0b2V4dHJhKQ0KbGlicmFyeSh0aWR5dmVyc2UpDQpsaWJyYXJ5KGNhcikNCmxpYnJhcnkocmVhZHhsKQ0KbGlicmFyeShEVCkNCmBgYA0KDQojIyBEYXRhDQpEYXBhdCBkaWxpaGF0IGRhdGEgeWFuZyBkaXBha2FpIGFkYWxhaCBzZWJhZ2FpIGJlcmlrdXQNCmBgYHtyfQ0KZGF0YSA8LSByZWFkX2V4Y2VsKCJDOi9Vc2Vycy9hc3VzL0Rvd25sb2Fkcy9EYXRhIExhcHJhayAyLnhsc3giKQ0KZGF0YXRhYmxlKGRhdGEsIG9wdGlvbnM9bGlzdChwYWdlTGVuZ3RoPTUsYXV0b3dpZHRoPVRSVUUpKQ0KYGBgDQoNCiMjIFN0YXRpc3RpayBEZXNrcmlwdGlmDQpgYGB7cn0NCnN0YXRkZXMgPC0gc3VtbWFyeShkYXRhKQ0Kc3RhdGRlcw0KYGBgDQpHYW1iYXIgZGlhdGFzIGFkYWxhaCByaW5na2FzYW4gc3RhdGlzdGlrYSBkZXNrcmlwdGlmIHVudHVrIHRpYXAgdmFyaWFiZWwsIGRhcGF0IGRpbGloYXQganVtbGFoIHBlbmR1ZHVrIG1lbWlsaWtpIG5pbGFpIG1pbmltdW0gNTQ5LDcgcmlidSBkYW4gbmlsYWkgbWFrc2ltdW0gNTA3NTkgcmlidSwgc2VkYW5na2FuIGxhanUgcGVydHVtYnVoYW4gcGVuZHVkdWsgbWVtaWxpa2kgcmF0YS1yYXRhIDEsMjg5JSBwZXIgdGFodW5ueWEuDQoNCiMjIFVqaSBBc3Vtc2kNCiMjIyBVamkgU2FtcGVsIFJlcHJlc2VudGF0aWYNCmBgYHtyfQ0Ka21vIDwtIEtNTyhkYXRhWywyOjRdKQ0Ka21vDQpgYGANCkhhc2lsIHVqaSBLTU8gdGVybGloYXQgYmFod2EgdGlhcCB2YXJpYWJlbCBtZW1pbGlraSBuaWxhaSA+MC41IHlhbmcgbWVuYW5kYWthbiBiYWh3YSBzYW1wZWwgdGVsYWggY3VrdXAgdW50dWsgZGlndW5ha2FuIGRhbGFtIGFuYWxpc2lzIGtsYXN0ZXIuDQoNCiMjIyBVamkgTm9uLU11bHRpa29saW5lYXJpdGFzDQpgYGB7cn0NCmtvcmVsYXNpIDwtIGNvcihkYXRhWywyOjRdLCBtZXRob2QgPSAncGVhcnNvbicpDQprb3JlbGFzaQ0KYGBgDQpEYXJpIG91dHB1dCAgeWFuZyBkaXBlcm9sZWgsIGRhcGF0IGRpc2ltcHVsa2FuIHRpZGFrIHRlcmphZGkgbXVsdGlrb2xpbmllcml0YXMgYW50YXIgdmFyaWFiZWwsIGthcmVuYSBuaWxhaSBrb3JlbGFzaSB5YW5nIGRpZGFwYXQgPDAuOC4gU2VoaW5nZ2EgZGF0YSB5YW5nIGRpZ3VuYWthbiBkYXBhdCBkaWxha3VrYW4gIGFuYWxpc2lzIGtsYXN0ZXINCg0KIyMgU3RhbmRhcmlzYXNpDQpEYXRhIGRpc3RhbmRhcmlzYXNpIGFnYXIgc2V0aWFwIHZhcmlhYmVsIG1lbWlsaWtpIHNrYWxhIHlhbmcgc2FtYSwgc2VoaW5nZ2EgdGlkYWsgYWRhIHZhcmlhYmVsIHRlcnRlbnR1IHlhbmcgbWVuZG9taW5hc2kgcGVyaGl0dW5nYW4gamFyYWsgcGFkYSBhbmFsaXNpcyBrbGFzdGVyDQpgYGB7cn0NCmRhdGFzdGFuZCA8LSBzY2FsZShkYXRhWywyOjRdKQ0KZGF0YXN0YW5kDQpyb3duYW1lcyhkYXRhc3RhbmQpIDwtIDE6bnJvdyhkYXRhc3RhbmQpDQpgYGANCiMjIE1lbmdoaXR1bmcgSmFyYWsgRXVjbGlkaWVuDQpEaWhpdHVuZyBqYXJhayBFdWNsaWRpYW4gYW50YXIgbWFzaW5nLW1hc2luZyBtZXRvZGUNCmBgYHtyfQ0KamFyYWsgPC0gZGlzdChkYXRhc3RhbmQsIG1ldGhvZCA9ICJldWNsaWRlYW4iKQ0KamFyYWsNCmBgYA0KIyMgS29lZmlzaWVuIEtvcmVsYXNpIENvcGhlbmV0aWMNCmBgYHtyfQ0KZDEgPC0gZGlzdChkYXRhWywyOjRdKQ0KaGllcnMgPC0gaGNsdXN0KGRpc3QoZGF0YVssMjo0XSksIG1ldGhvZCA9ICJzaW5nbGUiKQ0KaGMxIDwtIGhjbHVzdChkMSwgInNpbmdsZSIpDQpkMiA8LSBjb3BoZW5ldGljKGhjMSkNCmNvcnMgPC0gY29yKGQxLGQyKQ0KY29ycw0KaGllcmF2ZSA8LSBoY2x1c3QoZGlzdChkYXRhWywyOjRdKSwgbWV0aG9kID0gImF2ZSIpDQpoYzIgPC0gaGNsdXN0KGQxLCAiYXZlIikNCmQzIDwtIGNvcGhlbmV0aWMoaGMyKQ0KY29yYXZlIDwtIGNvcihkMSxkMykNCmNvcmF2ZQ0KaGllcmNvbXAgPC0gaGNsdXN0KGRpc3QoZGF0YVssMjo0XSksIG1ldGhvZCA9ICJjb21wbGV0ZSIpDQpoYzMgPC0gaGNsdXN0KGQxLCAiY29tcGxldGUiKQ0KZDQgPC0gY29waGVuZXRpYyhoYzMpDQpjb3Jjb21wIDwtIGNvcihkMSxkNCkNCmNvcmNvbXANCmhpZXJjZW4gPC0gaGNsdXN0KGRpc3QoZGF0YVssMjo0XSksIG1ldGhvZCA9ICJjZW50cm9pZCIpDQpoYzQgPC0gaGNsdXN0KGQxLCAiY2VudHJvaWQiKQ0KZDUgPC0gY29waGVuZXRpYyhoYzQpDQpjb3JjZW4gPC0gY29yKGQxLGQ1KQ0KY29yY2VuDQpoaWVyd2FyZCA8LSBoY2x1c3QoZGlzdChkYXRhWywyOjRdKSwgbWV0aG9kID0gIndhcmQuRCIpDQpoYzUgPC0gaGNsdXN0KGQxLCJ3YXJkLkQiKQ0KZDYgPC0gY29waGVuZXRpYyhoYzUpDQpjb3J3YXJkIDwtIGNvcihkMSxkNikNCmNvcndhcmQNCmBgYA0KU2V0ZWxhaCBkaXNhdHVrYW4NCmBgYHtyfQ0KS29yQ29wPC1kYXRhLmZyYW1lKGNvcnMsY29yYXZlLGNvcmNvbXAsY29yY2VuLGNvcndhcmQpDQpLb3JDb3ANCmBgYA0KRGlsYWt1a2FuIHVqaSBrb2VmaXNpZW4ga29yZWxhc2kgY29waGVuZXRpYyB1bnR1ayBtZWxpaGF0IG1ldG9kZSB0ZXJiYWlrIHlhbmcgYWthbiBkaWd1bmFrYW4gdW50dWsgYW5hbGlzaXMga2xhc3Rlci4gSmlrYSBkaWxpaGF0IGRhcmkgb3V0cHV0IHlhbmcgZGlkYXBhdCwgZGFwYXQgZGlzaW1wdWthbiBiYWh3YSBtZXRvZGUgdGVyYmFpayB5YW5nIGFrYW4gZGlndW5ha2FuIGFkYWxhaCBhdmVyYWdlIGxpbmthZ2Uga2FyZW5hIG1lbWlsaWtpIG5pbGFpIHlhbmcgcGFsaW5nIG1lbmRla2F0aSAxDQoNCiMjIEluZGVrcyBWYWxpZGl0YXMNCmBgYHtyfQ0KaW52YWwgPC0gY2xWYWxpZChkYXRhc3RhbmQsIDI6NCwgY2xNZXRob2RzID0gImhpZXJhcmNoaWNhbCIsIHZhbGlkYXRpb24gPSAiaW50ZXJuYWwiLCBtZXRyaWMgPSAiZXVjbGlkZWFuIiwgbWV0aG9kID0gImF2ZXJhZ2UiKQ0Kc3VtbWFyeShpbnZhbCkNCm9wdGltYWxTY29yZXMoaW52YWwpDQpgYGANCkRpbGloYXQgZGFyaSBpbmRla3MgY29ubmVjdGl2aXR5LCBpbmRla3MgZHVubiwgIGRhbiBpbmRla3Mgc2lsaG91ZXR0ZSwganVtbGFoIGtsYXN0ZXIgeWFuZyBha2FuIGRpcGFrYWkgeWFpdHUgMiBzZWJhZ2FpIGtsYXN0ZXIgb3B0aW1hbC4NCg0KIyMgTWV0b2RlIEF2ZXJhZ2UgTGlua2FnZQ0KYGBge3J9DQpoaXJhdmUgPC0gaGNsdXN0KGRpc3Qoc2NhbGUoZGF0YVssMjo0XSkpLCBtZXRob2QgPSAiYXZlcmFnZSIpDQpoaXJhdmUNCmFuZ2dvdGFhdmUgPC0gZGF0YS5mcmFtZShpZCA9IGRhdGEkUHJvdmluc2ksIGN1dHJlZShoaXJhdmUsIGsgPSAyKSkNCmFuZ2dvdGFhdmUNCmBgYA0KRGFwYXQgZGlsaWhhdCBwZW5nZWxvbXBva2thbiB0aWFwIHByb3ZpbnNpIGtlIGRhbGFtIGtsYXN0ZXIuDQoNCmBgYHtyfQ0KY2x1c19oaWVyIDwtIGVjbHVzdChkYXRhc3RhbmQsIEZVTmNsdXN0ZXIgPSAiaGNsdXN0IiwgayA9IDIsIGhjX21ldGhvZCA9ICJhdmVyYWdlIiwgZ3JhcGggPSBUUlVFKQ0KZnZpel9kZW5kKGNsdXNfaGllciwgcmVjdCA9IFRSVUUsIGNleCA9IDAuNSkNCmBgYA0KQmVyaWt1dCBkaXRhbXBpbGthbiBoYXNpbCBkZW5kb2dyYW0geWFuZyBkaWRhcGF0IGRlbmdhbiBiYW50dWFuIFIgU3R1ZGlvLg0KDQojIyBLYXJha3RlcmlzdGlrIEtsYXN0ZXINCmBgYHtyfQ0KaWRjbHVzID0gY2x1c19oaWVyJGNsdXN0ZXINCmlkY2x1cw0KYWdncmVnYXRlKGRhdGEsbGlzdChpZGNsdXMpLG1lYW4pDQpgYGANCkppa2EgZGlsaWhhdCBkYXJpIG91dHB1dCBkaWF0YXMsIGtsYXN0ZXIgMSBtZW1pbGlraSBwZXJzZW50YXNlIHlhbmcgbGViaWggdGluZ2dpIGRhbGFtIGJpZGFuZyBsYWp1IHBlcnR1bWJ1aGFuIHBlbmR1ZHVrIHBlciB0YWh1biBkYW4ganVnYSByYXNpbyBqZW5pcyBrZWxhbWluIHBlbmR1ZHVrLCB5YWl0dSB5YW5nIHRlcm1hc3VrIGRhbGFtIGtsYXN0ZXIgMSBhZGFsYWggSmF3YSBCYXJhdCwgSmF3YSBUZW5nYWgsIGRhbiBqdWdhIEphd2EgVGltdXIsIHNlZGFuZ2thbiBrbGFzdGVyIDIgbWVtaWxpa2kgcGVyc2VudGFzZSB5YW5nIGxlYmloIHRpbmdnaSBkYWxhbSBiaWRhbmcganVtbGFoIHBlbmR1ZHVrIHlhaXR1IDQzNjk0LDA2NyBkYWxhbSBzYXR1YW4gcmlidSwgeWFpdHUgMzUgcHJvdmluc2kgc2lzYW55YSBzZWxhaW4gMyBwcm92aW5zaSBkaWF0YXMuDQoNCiMgS2VzaW1wdWxhbiBkYW4gU2FyYW4NCkJlcmRhc2Fya2FuIGhhc2lsIGFuYWxpc2lzLCBkYXBhdCBkaXRhcmlrIGJlYmVyYXBhIGtlc2ltcHVsYW4gc2ViYWdhaSBiZXJpa3V0Og0KMS4JU3RhdGlzdGlrIGRlc2tyaXB0aWYgbWVudW5qdWtrYW4gYmFod2Egc2V0aWFwIHZhcmlhYmVsIG1lbWlsaWtpIHNlYmFyYW4gbmlsYWkgeWFuZyBjdWt1cCBiZXJhZ2FtLCBtaXNhbG55YSBqdW1sYWggcGVuZHVkdWsgYW50YXIgcHJvdmluc2kgeWFuZyBiZXJ2YXJpYXNpIHNhbmdhdCBiZXNhciwgZGFyaSBzZWtpdGFyIDU1MCByaWJ1IGhpbmdnYSBsZWJpaCBkYXJpIDUwIGp1dGEgaml3YS4gU2VtZW50YXJhIGl0dSwgbGFqdSBwZXJ0dW1idWhhbiBwZW5kdWR1ayBtZW1pbGlraSByYXRhLXJhdGEgc2VraXRhciAxLDI4OSUgcGVyIHRhaHVuLCBtZW51bmp1a2thbiBhZGFueWEgcGVyYmVkYWFuIGRpbmFtaWthIGRlbW9ncmFmaXMgYW50YXIgd2lsYXlhaC4NCg0KMi4JVWppIEtNTyB5YW5nIGRpbGFrdWthbiBtZW51bmp1a2thbiBiYWh3YSBzZWx1cnVoIHZhcmlhYmVsIG1lbWlsaWtpIG5pbGFpIGRpIGF0YXMgMCw1LCBzZWhpbmdnYSBkYXRhIGRpbmlsYWkgbGF5YWsgdW50dWsgZGlndW5ha2FuIGRhbGFtIGFuYWxpc2lzIGtsYXN0ZXIuIFNlbGFpbiBpdHUsIHVqaSBrb3JlbGFzaSBQZWFyc29uIG1lbXBlcmxpaGF0a2FuIGJhaHdhIHRpZGFrIHRlcmRhcGF0IG11bHRpa29saW5pZXJpdGFzIGFudGFyIHZhcmlhYmVsLCBrYXJlbmEgc2VsdXJ1aCBuaWxhaSBrb3JlbGFzaSBiZXJhZGEgZGkgYmF3YWggYmF0YXMga3JpdGlzIDAsOC4gRGVuZ2FuIGRlbWlraWFuLCBrZXRpZ2EgdmFyaWFiZWwgZGFwYXQgZGlhbmFsaXNpcyBzZWNhcmEgYmVyc2FtYWFuIHRhbnBhIHBlcmx1IG1lbmdoaWxhbmdrYW4gdmFyaWFiZWwgdGFtYmFoYW4uDQoNCjMuCVBlbWlsaWhhbiBtZXRvZGUga2xhc3RlciBkaWxha3VrYW4gbWVsYWx1aSBldmFsdWFzaSBrb2VmaXNpZW4ga29yZWxhc2kgY29waGVuZXRpYywgZGFuIGhhc2lsbnlhIG1lbnVuanVra2FuIGJhaHdhIG1ldG9kZSBhdmVyYWdlIGxpbmthZ2UgbWVtaWxpa2kgbmlsYWkga29yZWxhc2kgeWFuZyBwYWxpbmcgbWVuZGVrYXRpIDEuIEFydGlueWEsIG1ldG9kZSBpbmkgcGFsaW5nIGFrdXJhdCBkYWxhbSBtZXJlcHJlc2VudGFzaWthbiBzdHJ1a3R1ciBqYXJhayBhc2xpIGFudGFyIG9ic2VydmFzaSBzZWhpbmdnYSBkaXBpbGloIHNlYmFnYWkgbWV0b2RlIHRlcmJhaWsgZGFsYW0gcGVueXVzdW5hbiBrbGFzdGVyLg0KDQo0LglCZXJkYXNhcmthbiBpbmRla3MtdmFsaWRpdGFzIGludGVybmFsIChjb25uZWN0aXZpdHksIER1bm4sIGRhbiBzaWxob3VldHRlKSwganVtbGFoIGtsYXN0ZXIgb3B0aW1hbCB5YW5nIHRlcmJlbnR1ayBhZGFsYWggZHVhIGtsYXN0ZXIuIEhhc2lsIGRlbmRyb2dyYW0gZGFuIHBlbmdlbG9tcG9ra2FuIG1lbnVuanVra2FuIGJhaHdhOg0KDQogICAtCUtsYXN0ZXIgMSB0ZXJkaXJpIGRhcmkgSmF3YSBCYXJhdCwgSmF3YSBUZW5nYWgsIGRhbiBKYXdhIFRpbXVyLiBQcm92aW5zaSBkYWxhbSBrZWxvbXBvayBpbmkgY2VuZGVydW5nIG1lbWlsaWtpIG5pbGFpIHlhbmcgbGViaWggdGluZ2dpIHBhZGEgdmFyaWFiZWwgbGFqdSBwZXJ0dW1idWhhbiBwZW5kdWR1ayBwZXIgdGFodW4gZGFuIHJhc2lvIGplbmlzIGtlbGFtaW4gcGVuZHVkdWsuDQogICAtCUtsYXN0ZXIgMiBtZW5jYWt1cCAzNSBwcm92aW5zaSBsYWlubnlhLiBLZWxvbXBvayBpbmkgbWVtaWxpa2kga2FyYWt0ZXJpc3RpayBkb21pbmFuIHBhZGEgdmFyaWFiZWwganVtbGFoIHBlbmR1ZHVrIGRlbmdhbiBuaWxhaSBhZ3JlZ2F0IHlhbmcgbGViaWggdGluZ2dpIHNlY2FyYSBrZXNlbHVydWhhbi4NClNlY2FyYSB1bXVtLCBhbmFsaXNpcyBrbGFzdGVyIGJlcmhhc2lsIG1lbmdlbG9tcG9ra2FuIHByb3ZpbnNpIGRpIEluZG9uZXNpYSBiZXJkYXNhcmthbiBrZW1pcmlwYW4ga2FyYWt0ZXJpc3RpayBkZW1vZ3JhZmlzLiBIYXNpbCBwZW5nZWxvbXBva2FuIGluaSBkYXBhdCBtZW1iZXJpa2FuIGdhbWJhcmFuIGF3YWwgYmFnaSBwZXJlbmNhbmFhbiBrZWJpamFrYW4geWFuZyBtZW1wZXJ0aW1iYW5na2FuIGRpbmFtaWthIHBlcnR1bWJ1aGFuLCBrb21wb3Npc2kgZ2VuZGVyLCBzZXJ0YSBza2FsYSBwb3B1bGFzaSBkaSBtYXNpbmctbWFzaW5nIHdpbGF5YWguDQpTYXJhbiB1bnR1ayBwZW5lbGl0aWFuIHNlbGFuanV0bnlhIHlhaXR1IGRhcGF0IG1lbmFtYmFoa2FuIHZhcmlhYmVsIGRlbW9ncmFmaXMgbGFpbiBzZXBlcnRpIHVyYmFuaXNhc2kgYXRhdSBrZXBhZGF0YW4gcGVuZHVkdWsgYWdhciBoYXNpbCBrbGFzdGVyIGxlYmloIGtvbXByZWhlbnNpZiwgc2VydGEgbWVtcGVydGltYmFuZ2thbiBtZXRvZGUga2xhc3RlciBhbHRlcm5hdGlmIHNlcGVydGkgSy1NZWFucyB1bnR1ayBkaWJhbmRpbmdrYW4gZGVuZ2FuIHBlbmRla2F0YW4gaGllcmFyY2hpY2FsLiBTZWxhaW4gaXR1LCBwZW5nZ3VuYWFuIGRhdGEgeWFuZyBsZWJpaCBtdXRha2hpciBkYW4gYW5hbGlzaXMgbGludGFzIHRhaHVuIGp1Z2EgZGlzYXJhbmthbiBhZ2FyIHBvbGEgcGVuZ2Vsb21wb2thbiB5YW5nIG11bmN1bCBkYXBhdCBtZW5jZXJtaW5rYW4gZGluYW1pa2EgZGVtb2dyYWZpcyBwcm92aW5zaSBzZWNhcmEgbGViaWggYWt1cmF0LiANCg0KIyBEYWZ0YXIgUHVzdGFrYQ0KQmFkYW4gUHVzYXQgU3RhdGlzdGlrLiAoMjAyNSkuIEp1bWxhaCBwZW5kdWR1aywgbGFqdSBwZXJ0dW1idWhhbiBwZW5kdWR1aywgZGlzdHJpYnVzaSBwZXJzZW50YXNlIHBlbmR1ZHVrLCBrZXBhZGF0YW4gcGVuZHVkdWssIHJhc2lvIGplbmlzIGtlbGFtaW4gcGVuZHVkdWsgbWVudXJ1dCBwcm92aW5zaSBbU3RhdGlzdGlrIG9ubGluZV0uIGh0dHBzOi8vd3d3LmJwcy5nby5pZC9pZC9zdGF0aXN0aWNzLXRhYmxlLzMvVjFaU2JGUlVZM2xUYkZwRVlUTnNWV05HY0RaamVrNTNZa2hzTkZGVU1Ea2pNeU13TURBdy9qdW1sYWgtcGVuZHVkdWstLWxhanUtcGVydHVtYnVoYW4tcGVuZHVkdWstLWRpc3RyaWJ1c2ktcGVyc2VudGFzZS1wZW5kdWR1ay0ta2VwYWRhdGFuLXBlbmR1ZHVrLS1yYXNpby1qZW5pcy1rZWxhbWluLXBlbmR1ZHVrLW1lbnVydXQtcHJvdmluc2kuaHRtbD95ZWFyPTIwMjUNCg0KRGF0YUNhbXAuIChuLmQuKS4gQ2x1c3RlciBhbmFseXNpcyBpbiBSLiBSZXRyaWV2ZWQgZnJvbSBodHRwczovL3d3dy5kYXRhY2FtcC5jb20vZG9jL3IvY2x1c3Rlcg0KDQpOdXJ1c3NhZGFkLCBBLiBBLiAobi5kLikuIFNUQTU1MSBQZW1vZGVsYW4gS2xhc2lmaWthc2kg4oCTIEFuYWxpc2lzIENsdXN0ZXIgZGVuZ2FuIFIuIFJQdWJzLiBSZXRyaWV2ZWQgZnJvbSBodHRwczovL3JwdWJzLmNvbS9udXJ1c3NhZGFkL2NsdXN0ZXINCg==