Pernyiapan Data

jarak_kota <- matrix(ncol=21,nrow=21)

colnames(jarak_kota) <- c("Jakarta","Serang","Pandeglang","Lebak","Tangerang","Bekasi","Karawang","Purwakarta","Subang","Bogor","Sukabumi",
                            "Cianjur","Bandung","Sumedang","Garut","Tasikmalaya","Ciamis","Kuningan","Majalengka","Cirebon","Indramayu")

rownames(jarak_kota) <- c("Jakarta","Serang","Pandeglang","Lebak","Tangerang","Bekasi","Karawang","Purwakarta","Subang","Bogor","Sukabumi",
                            "Cianjur","Bandung","Sumedang","Garut","Tasikmalaya","Ciamis","Kuningan","Majalengka","Cirebon","Indramayu")

jarak_kota[lower.tri(jarak_kota)] <- c(90,111,131,25,29,71,113,161,58,119,122,187,232,250,293,308,293,278,258,205,21,41,65,119,161,203,251,148,209,212,277,322,340,383,398,383,368,348,295,20,86,140,182,224,272,118,179,182,298,343,361,404,419,404,389,369,316,106,160,202,244,292,98,159,172,227,272,290,333,348,392,318,357,336,54,96,138,186,83,144,147,212,257,275,318,333,318,303,283,230,42,84,132,87,148,151,154,199,217,260,279,261,239,229,176,42,90,96,172,147,112,157,175,218,233,219,203,184,134,48,163,136,99,70,115,133,176,191,235,161,200,130,186,42,39,58,61,121,164,179,191,149,156,102,61,74,129,174,192,235,250,194,220,259,313,32,96,141,159,202,217,261,187,226,260,65,110,128,171,186,230,156,195,249,45,63,106,121,165,91,180,184,72,115,130,120,46,85,139,57,74,192,118,157,211,17,185,101,120,174,68,84,103,157,51,35,89,61,82,54)

diag(jarak_kota) <- 0
jarak_kota <- as.dist(jarak_kota, diag = TRUE) # membuat data matriks menjadi kelas dist
class(jarak_kota)
## [1] "dist"
jarak_kota
##             Jakarta Serang Pandeglang Lebak Tangerang Bekasi Karawang
## Jakarta           0                                                  
## Serang           90      0                                           
## Pandeglang      111     21          0                                
## Lebak           131     41         20     0                          
## Tangerang        25     65         86   106         0                
## Bekasi           29    119        140   160        54      0         
## Karawang         71    161        182   202        96     42        0
## Purwakarta      113    203        224   244       138     84       42
## Subang          161    251        272   292       186    132       90
## Bogor            58    148        118    98        83     87       96
## Sukabumi        119    209        179   159       144    148      172
## Cianjur         122    212        182   172       147    151      147
## Bandung         187    277        298   227       212    154      112
## Sumedang        232    322        343   272       257    199      157
## Garut           250    340        361   290       275    217      175
## Tasikmalaya     293    383        404   333       318    260      218
## Ciamis          308    398        419   348       333    279      233
## Kuningan        293    383        404   392       318    261      219
## Majalengka      278    368        389   318       303    239      203
## Cirebon         258    348        369   357       283    229      184
## Indramayu       205    295        316   336       230    176      134
##             Purwakarta Subang Bogor Sukabumi Cianjur Bandung Sumedang Garut
## Jakarta                                                                    
## Serang                                                                     
## Pandeglang                                                                 
## Lebak                                                                      
## Tangerang                                                                  
## Bekasi                                                                     
## Karawang                                                                   
## Purwakarta           0                                                     
## Subang              48      0                                              
## Bogor              163    186     0                                        
## Sukabumi           136     42    61        0                               
## Cianjur             99     39    74       32       0                       
## Bandung             70     58   129       96      65       0               
## Sumedang           115     61   174      141     110      45        0      
## Garut              133    121   192      159     128      63       72     0
## Tasikmalaya        176    164   235      202     171     106      115    57
## Ciamis             191    179   250      217     186     121      130    74
## Kuningan           235    191   194      261     230     165      120   192
## Majalengka         161    149   220      187     156      91       46   118
## Cirebon            200    156   259      226     195     180       85   157
## Indramayu          130    102   313      260     249     184      139   211
##             Tasikmalaya Ciamis Kuningan Majalengka Cirebon Indramayu
## Jakarta                                                             
## Serang                                                              
## Pandeglang                                                          
## Lebak                                                               
## Tangerang                                                           
## Bekasi                                                              
## Karawang                                                            
## Purwakarta                                                          
## Subang                                                              
## Bogor                                                               
## Sukabumi                                                            
## Cianjur                                                             
## Bandung                                                             
## Sumedang                                                            
## Garut                                                               
## Tasikmalaya           0                                             
## Ciamis               17      0                                      
## Kuningan            185     68        0                             
## Majalengka          101     84       51          0                  
## Cirebon             120    103       35         61       0          
## Indramayu           174    157       89         82      54         0

Menghitung koordinat MMDS

dengan fungsi cmdscale()

mmds_coord <- cmdscale(jarak_kota, k = 2, eig = T)
coords <- mmds_coord$points
coords
##                   [,1]       [,2]
## Jakarta     -118.87509  35.283137
## Serang      -213.71877  42.295507
## Pandeglang  -239.39338  16.656026
## Lebak       -182.91709 -81.086426
## Tangerang   -145.22055  37.231018
## Bekasi       -83.83125  47.809112
## Karawang     -38.61738  55.243033
## Purwakarta    -4.71526  26.194977
## Subang        37.26853  23.389224
## Bogor        -80.66635 -74.111595
## Sukabumi     -40.36758 -79.253502
## Cianjur      -20.41052 -71.519515
## Bandung       51.32532 -51.869971
## Sumedang      98.54920 -24.289506
## Garut        105.05671 -72.718716
## Tasikmalaya  153.96119 -54.154497
## Ciamis       179.02328 -36.410670
## Kuningan     165.42197  51.036463
## Majalengka   148.81046  -7.326521
## Cirebon      139.10840  63.826139
## Indramayu     90.20817 153.776284

Plot MMDS

plot(coords[,1], coords[,2], type = "n", xlab = "", ylab = "", axes = FALSE,
     main = "Jarak antar Kota/Kabupaten di Jawa Barat - MMDS")
text(coords[,1], coords[,2], labels(jarak_kota), cex = 0.9, xpd = TRUE)

Grafik hasil menunjukkan bahwa Jakarta dan Tangerang adalah kota yang berdekatan. Kedua, kita dapat melihat bahwa Purwakarta dan Subang berdekatan satu sama lain. Di sisi lain, Ciamis dan Pandeglang adalah kota yang paling jauh satu sama lain. Juga, Lebak dan Indramayu terisolasi sendiri, tidak terlalu dekat dengan Kota/Kab lain.

Evaluasi Kebaikan MMDS

#install.packages("seqhandbook")
library(seqhandbook)
## Warning: package 'seqhandbook' was built under R version 4.3.3
## Loading required package: TraMineR
## Warning: package 'TraMineR' was built under R version 4.3.3
## 
## TraMineR stable version 2.2-10 (Built: 2024-11-22)
## Website: http://traminer.unige.ch
## Please type 'citation("TraMineR")' for citation information.
stress <- seqmds.stress(jarak_kota, mmds_coord)
stress
## [1] 0.2367879 0.1294367
plot(stress, type='l', xlab='number of dimensions', ylab='stress')