1 PENDAHULUAN

1.1 Latar Belakang

Investasi asing langsung atau Foreign Direct Investment (FDI) adalah arus modal internasional yang dilakukan oleh perusahaan dari suatu negara untuk mendirikan atau memperluas perusahaannya di negara lain. FDI juga dapat diartikan sebagai dukungan jangka panjang suatu negara pada negara lain. Investasi asing memegang peran penting dalam perekonomian suatu negara, terutama di kawasan yang sedang berkembang seperti Association of Southeast Asian Nations (ASEAN). FDI tidak hanya berfungsi sebagai sumber pembiayaan, tetapi juga sebagai alat untuk transfer teknologi, peningkatan keterampilan tenaga kerja, dan memperkuat daya saing pasar global.

Negara-negara ASEAN, yang terdiri dari sebelas negara dengan latar belakang sosial, politik, dan ekonomi yang berbeda, memengaruhi keputusan investasi asing yang sangat beragam. Mengingat peran penting FDI dalam mendorong pertumbuhan ekonomi, menciptakan lapangan kerja, dan meningkatkan daya saing negara-negara ASEAN di pasar global, sangat penting untuk memahami posisi negara-negara ASEAN berdasarkan berbagai faktor yang memengaruhi keputusan investasi, seperti iklim bisnis, stabilitas politik dan ekonomi, serta kualitas sumber daya manusia untuk mengambil langkah yang tepat dalam hal merencanakan strategi investasi dan pengembangan kerja sama internasional.

1.2 Data

Data yang digunakan pada kasus ini adalah data yang bersumber dari portal data databooks.co.id yang dipublikasikan oleh PT. Katadata Indonesia. Katadata adalah perusahaan media digital dan riset data yang berfokus pada penyediaan informasi dan analisis data seputar isu-isu ekonomi, bisnis, keuangan, dan kebijakan publik. Sampel yang digunakan dalam penelitian ini adalah 11 negara di wilayah Asia Tenggara yang tergabung dalam ASEAN. Variabel yang digunakan adalah Skor Indeks Demokrasi Liberal, Nilai Investasi Asing Langsung, Indeks Persepsi Korupsi, Indeks Kemudahan Berbisnis, Indeks Pembangunan Manusia, dan Pendapatan Per Kapita, keenam variabel tersebut diukur pada tahun 2022.

1.3 Cuplikan Data

Berikut adalah cuplikan data yang digunakan pada kasus ini:

Negara Skor Indeks Demokrasi Liberal Nilai Investasi Asing Langsung/FDI Indeks Persepsi Korupsi Indeks Kemudahan Berbisnis Indeks Pembangunan Manusia Pendapatan Per Kapita
Singapura 0,34 141,21 83 86,2 0,949 467,46
Indonesia 0,43 21,97 34 69,6 0,713 1390
Vietnam 0,12 17,9 42 69,8 0,726 447,16
Malaysia 0,31 16,94 47 81,5 0,807 469,62
Thailand 0,18 10,03 36 80,1 0,803 580,69
Filipina 0,29 9,2 33 62,8 0,71 425,66
Kamboja 0,06 3,58 24 53,8 0,6 30,71
Myanmar 0,05 1,24 23 46,8 0,608 63,56
Laos 0,11 0,52822 31 50,8 0,62 17,94
Timor Leste 0,51 0,26246 42 39,4 0,566 3,205
Brunei Darussalam 0 -0,29242 58 70,1 0,823 15,04

1.4 Latar Belakang Metode

Multidimensional Scaling (MDS) adalah metode yang menyajikan ukuran kedekatan (proximities) antar sejumlah obyek dalam ruang dimensi rendah (Rankin, 1983). Data yang digunakan pada kasus ini terdiri dari beberapa variabel yang menciptakan dimensi tinggi. MDS dapat digunakan untuk mereduksi data berdimensi tinggi menjadi 2 atau 3 dimensi. Dibandingkan dengan metode lain, MDS lebih unggul dalam hal memberikan kemudahan visualisasi untuk melihat klasifikasi obyek berdasarkan kesamaan atau perbedaan multidimensi.

1.5 Tujuan

  1. Memetakan dan mengelompokkan negara-negara ASEAN berdasarkan indikator-indikator yang ada untuk menggambarkan seberapa besar ketertarikan investor asing terhadap negara-negara tersebut.

  2. Mengidentifikasi pola atau hubungan antar-indikator yang memengaruhi keputusan investasi asing, serta mengetahui negara-negara ASEAN yang memiliki kesamaan karakteristik dalam hal ketertarikan investor.

  3. Menghasilkan visualisasi dalam bentuk pemetaan, yang dapat memudahkan para pemangku kepentingan, seperti pemerintah, investor, dan lembaga penelitian, dalam membuat keputusan berdasarkan analisis kesamaan dan jarak antar negara-negara ASEAN dalam hal ketertarikan investasi.

1.6 Tinjauan Pustaka

1.6.1 Definisi MDS

Multidimensional Scaling (MDS) adalah istilah yang digunakan untuk menggambarkan suatu metode yang dimulai dengan menghitung jarak diantara sejumlah obyek dan mencari konfigurasi dari obyek tersebut. Upaya yang dilakukan untuk mendapatkan konfigurasi obyek dalam ruang dimensi rendah adalah dengan cara mentransformasi ukuran jarak yang telah diketahui menjadi suatu bentuk koordinat-koordinat yang menunjukkan posisi masing-masing obyek (Chatfield dan Collins, 1984).

1.6.2 Kegunaan MDS

  1. Melakukan pengelompokan dan pemetaan hubungan yang kompleks antar objek dalam ruang berdimensi rendah, sehingga membuat data yang sulit dipahami menjadi lebih mudah diinterpretasikan dan dianalisis.

  2. Mengidentifikasi pola-pola hubungan yang mungkin tersembunyi dalam data yang besar atau kompleks.

  3. Mendapatkan posisi relatif suatu objek dibandingkan objek lain.

1.6.3 Urgensi MDS

Berbagai metode dapat digunakan untuk menganalisis plot dan perilaku data, salah satunya adalah dengan penggambaran diagram. Metode ini terbatas pada data berdimensi rendah. Untuk data berdimensi tinggi, penggambaran dapat dilakukan menggunakan Multidimensional Scaling (MDS).

1.6.4 Jenis MDS

Berdasarkan skala data, Multidimensional Scaling (MDS) dapat dibedakan menjadi dua jenis, yaitu:

  1. MDS metrik (compositional)

MDS metrik digunakan ketika data yang dimiliki berbentuk jarak atau dissimilarity yang bersifat numerik, artinya jarak antar objek dapat diukur secara langsung.

  1. MDS non-metrik (decompositional)

MDS non-metrik digunakan ketika data yang tersedia tidak berupa jarak atau dissimilarity numerik yang pasti, tetapi hanya berupa ranking atau urutan tingkat kesamaan antar objek.

1.6.5 Ukuran Kebaikan

Multidimensional Scaling (MDS) menyediakan ukuran kebaikan (Goodness of fit), di antaranya pada Alternating Least Square Scaling (ALSCAL), ukuran kebaikannya berupa STRESS. Dalam Program ALSCAL proses yang dilakukan terdiri dari dua langkah yaitu :

  1. Penskalaan optimal adalah mengubah data yang berupa jarak antara pasangan objek menjadi ukuran baru yang disebut disparaties.

  2. Pendugaan model adalah menduga koordinat masing-masing objek berdasarkan jarak dan disparaties.

Berikut adalah kriteria Goodness of fit:

Nilai Stress Kriteria
> 20% Buruk
10% - 20% Cukup
5,1% - 10% Baik
2,5% - 5% Sangat Baik
< 2,5% Sempurna

Semakin kecil nilai STRESS memberi indikasi, bahwa semakin kecil error antara jarak pada ruang yang dihasilkan dengan ukuran ketidaksamaannya.

2 SOURCE CODE

2.1 Library

> library(MASS)
  1. Library MASS (Modern Applied Statistics with S) adalah sebuah package dalam bahasa pemrograman R yang dikembangkan oleh Venables dan Ripley. Library MASS menyediakan fungsi dan kumpulan data untuk statistik matematika termasuk fungsi untuk regresi linear dan nonlinear, menganalisis multivariat, analisis deret waktu, dan banyak fungsi statistik lainnya. Salah satu fungsi yang ada dalam MASS adalah cmdscale(), yang digunakan untuk melakukan Classical Multidimensional Scaling (MDS), yaitu teknik untuk merepresentasikan data jarak atau dissimilaritas dalam ruang berdimensi rendah (misalnya 2D atau 3D). Di dalam kode untuk kasus ini, cmdscale() digunakan untuk menghitung koordinat objek dalam ruang 2 dimensi (2D) berdasarkan matriks jarak yang dihitung sebelumnya. Fungsi cmdscale() mengembalikan koordinat (fit) yang kemudian digunakan untuk visualisasi dengan plot.

  2. Library stats adalah pustaka dasar yang otomatis terpasang di R dan tidak memerlukan instalasi tambahan. Pustaka ini sudah termasuk dalam instalasi R standar dan menyediakan banyak fungsi statistik dasar, termasuk fungsi untuk analisis regresi, distribusi probabilitas, pengujian hipotesis, serta fungsi untuk menghitung jarak misalnya, fungsi dist() yang digunakan dalam kode untuk kasus ini.

2.2 Code

Code di bawah ini merupakan code yang digunakan untuk memetakan dan mengelompokkan negara-negara ASEAN berdasarkan indikator-indikator yang ada untuk menggambarkan seberapa besar ketertarikan investor asing terhadap negara-negara tersebut berdasarkan matriks jarak menggunakan metode Multidimensional Scaling (MDS).

> library(MASS)
> 
> # Membuat dataframe
> data <- data.frame(
+   Negara = c("Singapura", "Indonesia", "Vietnam", "Malasyia", "Thailand", "Filipina", 
+               "Kamboja", "Myanmar", "Laos", "Timor Leste", "Brunei Darussalam"),
+   Skor_Indeks_Demokrasi_Liberal = c(0.34, 0.43, 0.12, 0.31, 0.18, 0.29, 0.06, 0.05, 0.11, 0.51, 0),
+   Nilai_Investasi_Asing_Langsung = c(141.21, 21.97, 17.9, 16.94, 10.03, 9.2, 3.58, 1.24, 0.52822, 0.26246, -0.29242),
+   Indeks_Persepsi_Korupsi = c(83, 34, 42, 47, 36, 33, 24, 23, 31, 42, 58),
+   Indeks_Kemudahan_Berbisnis = c(86.2, 69.6, 69.8, 81.5, 80.1, 62.8, 53.8, 46.8, 50.8, 39.4, 70.1),
+   Indeks_Pembangunan_Manusia = c(0.949, 0.713, 0.726, 0.807, 0.803, 0.71, 0.6, 0.608, 0.62, 0.566, 0.823),
+   Pendapatan_Per_Kapita = c(467.46, 1390, 447.16, 469.62, 580.69, 425.66, 30.71, 63.56, 17.94, 3.205, 15.04)
+ )
> 
> # Menghapus kolom 'Negara' dan hanya menyisakan data numerik
> data_numeric <- data[, -1]
> 
> # Matriks Jarak: Menghitung matriks jarak
> dist_matrix <- as.matrix(dist(data_numeric))
> 
> # Output: Menampilkan matriks jarak
> cat("Matriks Jarak (Distance Matrix):\n")
Matriks Jarak (Distance Matrix):
> print(dist_matrix)
          1         2         3         4        5         6          7
1    0.0000  931.6517 132.54246 129.48285 179.6538 149.06878  462.84289
2  931.6517    0.0000 942.88280 920.56248 809.4687 964.44905 1359.54304
3  132.5425  942.8828   0.00000  25.83226 134.2918  25.84510  417.39152
4  129.4829  920.5625  25.83226   0.00000 111.8359  50.37945  440.58696
5  179.6538  809.4687 134.29184 111.83591   0.0000 156.02340  550.77704
6  149.0688  964.4490  25.84510  50.37945 156.0234   0.00000  395.19508
7  462.8429 1359.5430 417.39152 440.58696 550.7770 395.19508    0.00000
8  433.4505 1326.8435 385.11886 408.54793 518.4387 362.67870   33.68380
9  475.2020 1372.3596 430.13207 453.30203 563.6146 407.99367   15.17858
10 489.1527 1387.3167 445.34421 468.63483 579.0311 423.29273   36.04296
11 474.9643 1375.3498 432.79877 455.18237 566.2601 411.55471   41.01570
            8          9         10         11
1   433.45054  475.20197  489.15266  474.96435
2  1326.84355 1372.35963 1387.31671 1375.34980
3   385.11886  430.13207  445.34421  432.79877
4   408.54793  453.30203  468.63483  455.18237
5   518.43866  563.61456  579.03107  566.26011
6   362.67870  407.99367  423.29273  411.55471
7    33.68380   15.17858   36.04296   41.01570
8     0.00000   46.49403   63.71542   64.22209
9    46.49403    0.00000   21.64056   33.32607
10   63.71542   21.64056    0.00000   36.59496
11   64.22209   33.32607   36.59496    0.00000
> 
> # Mencari nilai eigen dan vektor eigen
> A <- dist_matrix^2
> I <- diag(nrow(dist_matrix))
> J <- matrix(rep(1, nrow(dist_matrix)^2), nrow = nrow(dist_matrix), ncol = nrow(dist_matrix))
> V <- I - (1 / nrow(dist_matrix)) * J
> 
> aa <- V %*% A
> BB <- aa %*% V
> B <- (-1/2) * BB
> eigen_result <- eigen(B)
> eigenvalues <- eigen_result$values
> eigenvectors <- eigen_result$vectors
> 
> # Output: Menampilkan nilai eigen dan vektor eigen
> cat("\nNilai Eigen (Eigenvalues):\n")

Nilai Eigen (Eigenvalues):
> print(eigenvalues)
 [1]  1.706267e+06  1.825913e+04  1.459929e+03  4.920784e+02  1.225689e-01
 [6]  3.292278e-03  1.352845e-10  4.580054e-11 -1.127066e-11 -3.564960e-11
[11] -1.088099e-10
> cat("\nVektor Eigen (Eigenvectors):\n")

Vektor Eigen (Eigenvectors):
> print(eigenvectors)
             [,1]         [,2]        [,3]          [,4]        [,5]
 [1,] -0.08842246  0.936304666  0.13296227 -0.0001935326  0.02100043
 [2,] -0.79160332 -0.215916470  0.22252919  0.2690028195  0.20712437
 [3,] -0.07013010 -0.025849070 -0.11905691 -0.0360403562  0.24782193
 [4,] -0.08748488 -0.008262437 -0.42878678 -0.1605617223 -0.48507746
 [5,] -0.17228949 -0.108742262 -0.29046224 -0.3805151409 -0.17984356
 [6,] -0.05338296 -0.113255021  0.06150956 -0.1042395683 -0.24367949
 [7,]  0.24907907 -0.104496794  0.23611847 -0.3833795189  0.04363414
 [8,]  0.22409836 -0.139341604  0.37612691 -0.1867284038  0.28918600
 [9,]  0.25894066 -0.108555157  0.16906969 -0.0412824134  0.12129857
[10,]  0.27037004 -0.094326016  0.24189883  0.6482129545 -0.49433510
[11,]  0.26082509 -0.017559835 -0.60190898  0.3757248824  0.47287018
             [,6]        [,7]       [,8]          [,9]       [,10]       [,11]
 [1,]  0.05676552 -0.20557792  0.0000000  0.000000e+00  0.00000000  0.22783858
 [2,] -0.04302610 -0.33310783 -0.1115676 -9.365840e-02 -0.08888698  0.14152671
 [3,] -0.53918446  0.20127062  0.2838394  5.386222e-01  0.14367249  0.44155886
 [4,] -0.19342153 -0.29648285 -0.1310325  1.908612e-01 -0.60227114  0.07548371
 [5,]  0.25250332 -0.16898355  0.5138942 -3.569223e-01  0.30069887  0.35039074
 [6,]  0.48385880  0.04025967 -0.4895564  4.659946e-01  0.31202612  0.34695488
 [7,] -0.41256969 -0.60990823 -0.2562560 -5.164643e-02  0.32836950 -0.06357260
 [8,]  0.38448122 -0.28764893  0.3772827  3.224472e-01 -0.43606945  0.05794507
 [9,] -0.09493572  0.21099138 -0.2910649 -4.618381e-01 -0.31803260  0.65074981
[10,] -0.08195188 -0.23498267  0.2719003  1.441567e-02  0.12834958  0.20590344
[11,]  0.18748050 -0.36568360 -0.1393115  3.167967e-05  0.07311116  0.10471745
> 
> # Menghitung tingkat kumulatif variasi 
> cumulative_variance <- cumsum(eigenvalues) / sum(eigenvalues)
> cat("\nTingkat Kumulatif Variasi (Cumulative Variance):\n")

Tingkat Kumulatif Variasi (Cumulative Variance):
> print(cumulative_variance)
 [1] 0.9882934 0.9988693 0.9997149 0.9999999 1.0000000 1.0000000 1.0000000
 [8] 1.0000000 1.0000000 1.0000000 1.0000000
> 
> # Menghitung titik koordinat objek
> fit <- cmdscale(dist_matrix, k=2)
> 
> # Output: Titik koordinat objek
> cat("\nTitik Koordinat (Coordinates from MDS):\n")

Titik Koordinat (Coordinates from MDS):
> print(fit)
          [,1]       [,2]
1   -115.50109 126.519433
2  -1034.02513 -29.176005
3    -91.60685  -3.492890
4   -114.27638  -1.116473
5   -225.05169 -14.693945
6    -69.73103 -15.303738
7    325.35742 -14.120270
8    292.72658 -18.828722
9    338.23904 -14.668662
10   353.16857 -12.745930
11   340.70056  -2.372796
> 
> # Menghitung disparitas (jarak Euclidean) dari koordinat MDS
> disparities <- matrix(0, nrow = nrow(dist_matrix), ncol = nrow(dist_matrix))
> for (i in 1:nrow(dist_matrix)) {
+   for (j in 1:nrow(dist_matrix)) {
+     disparities[i, j] <- sqrt(sum((fit[i, ] - fit[j, ])^2))
+   }
+ }
> 
> # Output: Menampilkan matriks disparitas
> cat("\nMatriks Disparitas (Disparities Matrix - Euclidean distances):\n")

Matriks Disparitas (Disparities Matrix - Euclidean distances):
> print(disparities)
          [,1]      [,2]      [,3]      [,4]     [,5]      [,6]       [,7]
 [1,]   0.0000  931.6263 132.18978 127.64178 178.7248 149.02587  462.74804
 [2,] 931.6263    0.0000 942.76817 920.17667 809.1031 964.39387 1359.46592
 [3,] 132.1898  942.7682   0.00000  22.79375 133.9141  24.86056  417.09968
 [4,] 127.6418  920.1767  22.79375   0.00000 111.6043  46.75004  439.82607
 [5,] 178.7248  809.1031 133.91411 111.60429   0.0000 155.32185  550.40941
 [6,] 149.0259  964.3939  24.86056  46.75004 155.3219   0.00000  395.09023
 [7,] 462.7480 1359.4659 417.09968 439.82607 550.4094 395.09023    0.00000
 [8,] 433.3312 1326.7921 384.63928 407.38818 517.7948 362.47475   32.96879
 [9,] 475.1991 1372.3408 429.99114 452.71830 563.2907 407.97056   12.89328
[10,] 488.9234 1387.2910 444.87165 467.58958 578.2235 422.90733   27.84508
[11,] 474.0603 1374.9870 432.30887 454.97868 565.8864 410.63525   19.32396
            [,8]       [,9]      [,10]      [,11]
 [1,]  433.33118  475.19909  488.92340  474.06029
 [2,] 1326.79206 1372.34085 1387.29099 1374.98696
 [3,]  384.63928  429.99114  444.87165  432.30887
 [4,]  407.38818  452.71830  467.58958  454.97868
 [5,]  517.79478  563.29073  578.22354  565.88641
 [6,]  362.47475  407.97056  422.90733  410.63525
 [7,]   32.96879   12.89328   27.84508   19.32396
 [8,]    0.00000   45.70219   60.74730   50.71785
 [9,]   45.70219    0.00000   15.05283   12.53983
[10,]   60.74730   15.05283    0.00000   16.21891
[11,]   50.71785   12.53983   16.21891    0.00000
> 
> # Menghitung nilai stress 
> stress <- sqrt(sum((dist_matrix - disparities)^2) / sum(dist_matrix^2))
> cat("\nNilai Stress (Stress Value):", stress, "\n")

Nilai Stress (Stress Value): 0.009355979 
> 
> # Visualisasi: Plot hasil MDS
> plot(fit, type='n', xlab = "Dimensi 1", ylab = "Dimensi 2")
> text(fit, labels = data$Negara, cex = 0.8, pos = 3)  # Menambahkan nama negara dengan kolom yang benar

3 HASIL DAN PEMBAHASAN

3.1 Prosedur Multidimensional Scaling (MDS)

Berikut adalah Prosedur Multidimensional Scaling (MDS):

3.1.1 Menghitung matriks jarak

Pertama, menentukan matriks D berukuran n x n yakni 11x11 dengan elemen matriks dij, yaitu jarak Euclidean antar objek. Output yang diperoleh sebagai berikut:

> # Matriks Jarak: Menghitung matriks jarak
> dist_matrix <- as.matrix(dist(data_numeric))
> 
> # Output: Menampilkan matriks jarak
> cat("Matriks Jarak (Distance Matrix):\n")
Matriks Jarak (Distance Matrix):
> print(dist_matrix)
          1         2         3         4        5         6          7
1    0.0000  931.6517 132.54246 129.48285 179.6538 149.06878  462.84289
2  931.6517    0.0000 942.88280 920.56248 809.4687 964.44905 1359.54304
3  132.5425  942.8828   0.00000  25.83226 134.2918  25.84510  417.39152
4  129.4829  920.5625  25.83226   0.00000 111.8359  50.37945  440.58696
5  179.6538  809.4687 134.29184 111.83591   0.0000 156.02340  550.77704
6  149.0688  964.4490  25.84510  50.37945 156.0234   0.00000  395.19508
7  462.8429 1359.5430 417.39152 440.58696 550.7770 395.19508    0.00000
8  433.4505 1326.8435 385.11886 408.54793 518.4387 362.67870   33.68380
9  475.2020 1372.3596 430.13207 453.30203 563.6146 407.99367   15.17858
10 489.1527 1387.3167 445.34421 468.63483 579.0311 423.29273   36.04296
11 474.9643 1375.3498 432.79877 455.18237 566.2601 411.55471   41.01570
            8          9         10         11
1   433.45054  475.20197  489.15266  474.96435
2  1326.84355 1372.35963 1387.31671 1375.34980
3   385.11886  430.13207  445.34421  432.79877
4   408.54793  453.30203  468.63483  455.18237
5   518.43866  563.61456  579.03107  566.26011
6   362.67870  407.99367  423.29273  411.55471
7    33.68380   15.17858   36.04296   41.01570
8     0.00000   46.49403   63.71542   64.22209
9    46.49403    0.00000   21.64056   33.32607
10   63.71542   21.64056    0.00000   36.59496
11   64.22209   33.32607   36.59496    0.00000

3.1.2 Mencari nilai eigen dan vektor eigen

Selanjutnya, mendapatkan nilai eigen dan vektor eigen. Output yang diperoleh sebagai berikut:

> # Mencari nilai eigen dan vektor eigen
> A <- dist_matrix^2
> I <- diag(nrow(dist_matrix))
> J <- matrix(rep(1, nrow(dist_matrix)^2), nrow = nrow(dist_matrix), ncol = nrow(dist_matrix))
> V <- I - (1 / nrow(dist_matrix)) * J
> 
> aa <- V %*% A
> BB <- aa %*% V
> B <- (-1/2) * BB
> eigen_result <- eigen(B)
> eigenvalues <- eigen_result$values
> eigenvectors <- eigen_result$vectors
> 
> # Output: Menampilkan nilai eigen dan vektor eigen
> cat("\nNilai Eigen (Eigenvalues):\n")

Nilai Eigen (Eigenvalues):
> print(eigenvalues)
 [1]  1.706267e+06  1.825913e+04  1.459929e+03  4.920784e+02  1.225689e-01
 [6]  3.292278e-03  1.352845e-10  4.580054e-11 -1.127066e-11 -3.564960e-11
[11] -1.088099e-10
> cat("\nVektor Eigen (Eigenvectors):\n")

Vektor Eigen (Eigenvectors):
> print(eigenvectors)
             [,1]         [,2]        [,3]          [,4]        [,5]
 [1,] -0.08842246  0.936304666  0.13296227 -0.0001935326  0.02100043
 [2,] -0.79160332 -0.215916470  0.22252919  0.2690028195  0.20712437
 [3,] -0.07013010 -0.025849070 -0.11905691 -0.0360403562  0.24782193
 [4,] -0.08748488 -0.008262437 -0.42878678 -0.1605617223 -0.48507746
 [5,] -0.17228949 -0.108742262 -0.29046224 -0.3805151409 -0.17984356
 [6,] -0.05338296 -0.113255021  0.06150956 -0.1042395683 -0.24367949
 [7,]  0.24907907 -0.104496794  0.23611847 -0.3833795189  0.04363414
 [8,]  0.22409836 -0.139341604  0.37612691 -0.1867284038  0.28918600
 [9,]  0.25894066 -0.108555157  0.16906969 -0.0412824134  0.12129857
[10,]  0.27037004 -0.094326016  0.24189883  0.6482129545 -0.49433510
[11,]  0.26082509 -0.017559835 -0.60190898  0.3757248824  0.47287018
             [,6]        [,7]       [,8]          [,9]       [,10]       [,11]
 [1,]  0.05676552 -0.20557792  0.0000000  0.000000e+00  0.00000000  0.22783858
 [2,] -0.04302610 -0.33310783 -0.1115676 -9.365840e-02 -0.08888698  0.14152671
 [3,] -0.53918446  0.20127062  0.2838394  5.386222e-01  0.14367249  0.44155886
 [4,] -0.19342153 -0.29648285 -0.1310325  1.908612e-01 -0.60227114  0.07548371
 [5,]  0.25250332 -0.16898355  0.5138942 -3.569223e-01  0.30069887  0.35039074
 [6,]  0.48385880  0.04025967 -0.4895564  4.659946e-01  0.31202612  0.34695488
 [7,] -0.41256969 -0.60990823 -0.2562560 -5.164643e-02  0.32836950 -0.06357260
 [8,]  0.38448122 -0.28764893  0.3772827  3.224472e-01 -0.43606945  0.05794507
 [9,] -0.09493572  0.21099138 -0.2910649 -4.618381e-01 -0.31803260  0.65074981
[10,] -0.08195188 -0.23498267  0.2719003  1.441567e-02  0.12834958  0.20590344
[11,]  0.18748050 -0.36568360 -0.1393115  3.167967e-05  0.07311116  0.10471745

3.1.3 Menentukan jumlah dimensi

Setelah nilai eigen dan vektor eigen diperoleh, dapat ditentukan jumlah dimensi yang akan digunakan dengan menghitung tingkat kumulatif variasi. Dua nilai pertama bernilai 0,988 dan 0,998 sudah memenuhi kriteria kesesuaian yang baik, yaitu 0,8, sehingga solusi menggunakan 2 dimensi sudah sesuai untuk digunakan.

> # Menghitung tingkat kumulatif variasi 
> cumulative_variance <- cumsum(eigenvalues) / sum(eigenvalues)
> cat("\nTingkat Kumulatif Variasi (Cumulative Variance):\n")

Tingkat Kumulatif Variasi (Cumulative Variance):
> print(cumulative_variance)
 [1] 0.9882934 0.9988693 0.9997149 0.9999999 1.0000000 1.0000000 1.0000000
 [8] 1.0000000 1.0000000 1.0000000 1.0000000

3.1.4 Menghitung titik koordinat objek

Langkah selanjutnya adalah mencari titik koordinat. Output yang diperoleh sebagai berikut:

> # Menghitung titik koordinat objek
> fit <- cmdscale(dist_matrix, k=2)
> 
> # Output: Titik koordinat objek
> cat("\nTitik Koordinat (Coordinates from MDS):\n")

Titik Koordinat (Coordinates from MDS):
> print(fit)
          [,1]       [,2]
1   -115.50109 126.519433
2  -1034.02513 -29.176005
3    -91.60685  -3.492890
4   -114.27638  -1.116473
5   -225.05169 -14.693945
6    -69.73103 -15.303738
7    325.35742 -14.120270
8    292.72658 -18.828722
9    338.23904 -14.668662
10   353.16857 -12.745930
11   340.70056  -2.372796

3.1.5 Menghitung disparitas (jarak Euclidean) dari koordinat MDS

Langkah selanjutnya adalah menghitung disparaties D yang merupakan jarak Euclidean dari koordinat yang terbentuk. Diperoleh output sebagai berikut:

> # Menghitung disparitas (jarak Euclidean) dari koordinat MDS
> disparities <- matrix(0, nrow = nrow(dist_matrix), ncol = nrow(dist_matrix))
> for (i in 1:nrow(dist_matrix)) {
+   for (j in 1:nrow(dist_matrix)) {
+     disparities[i, j] <- sqrt(sum((fit[i, ] - fit[j, ])^2))
+   }
+ }
> 
> # Output: Menampilkan matriks disparitas
> cat("\nMatriks Disparitas (Disparities Matrix - Euclidean distances):\n")

Matriks Disparitas (Disparities Matrix - Euclidean distances):
> print(disparities)
          [,1]      [,2]      [,3]      [,4]     [,5]      [,6]       [,7]
 [1,]   0.0000  931.6263 132.18978 127.64178 178.7248 149.02587  462.74804
 [2,] 931.6263    0.0000 942.76817 920.17667 809.1031 964.39387 1359.46592
 [3,] 132.1898  942.7682   0.00000  22.79375 133.9141  24.86056  417.09968
 [4,] 127.6418  920.1767  22.79375   0.00000 111.6043  46.75004  439.82607
 [5,] 178.7248  809.1031 133.91411 111.60429   0.0000 155.32185  550.40941
 [6,] 149.0259  964.3939  24.86056  46.75004 155.3219   0.00000  395.09023
 [7,] 462.7480 1359.4659 417.09968 439.82607 550.4094 395.09023    0.00000
 [8,] 433.3312 1326.7921 384.63928 407.38818 517.7948 362.47475   32.96879
 [9,] 475.1991 1372.3408 429.99114 452.71830 563.2907 407.97056   12.89328
[10,] 488.9234 1387.2910 444.87165 467.58958 578.2235 422.90733   27.84508
[11,] 474.0603 1374.9870 432.30887 454.97868 565.8864 410.63525   19.32396
            [,8]       [,9]      [,10]      [,11]
 [1,]  433.33118  475.19909  488.92340  474.06029
 [2,] 1326.79206 1372.34085 1387.29099 1374.98696
 [3,]  384.63928  429.99114  444.87165  432.30887
 [4,]  407.38818  452.71830  467.58958  454.97868
 [5,]  517.79478  563.29073  578.22354  565.88641
 [6,]  362.47475  407.97056  422.90733  410.63525
 [7,]   32.96879   12.89328   27.84508   19.32396
 [8,]    0.00000   45.70219   60.74730   50.71785
 [9,]   45.70219    0.00000   15.05283   12.53983
[10,]   60.74730   15.05283    0.00000   16.21891
[11,]   50.71785   12.53983   16.21891    0.00000

3.1.6 Visualisasi: Plot hasil MDS

Titik koordinat yang telah diperoleh digunakan untuk menggambarkan posisi 11 objek tersebut menggunakan peta persepsi. Dimensi 1 adalah koordinat X sedangkan dimensi 2 adalah koordinat Y. Diperoleh pemetaan sebagai berikut:

> # Visualisasi: Plot hasil MDS
> plot(fit, type='n', xlab = "Dimensi 1", ylab = "Dimensi 2")
> text(fit, labels = data$Negara, cex = 0.8, pos = 3)  # Menambahkan nama negara dengan kolom yang benar

3.1.7 Menghitung nilai stress

Langkah terakhir adalah menghitung nilai STRESS. Diperoleh nilai STRESS sebesar 0,009355979 atau 0,936%. Berdasarkan kriteria nilai STRESS, maka nilai yang diperoleh tergolong sempurna. Hal ini menunjukkan bahwa representasi data dalam ruang berdimensi rendah sangat mirip dengan jarak-jarak dalam data asli, yang berarti model MDS tersebut mampu merepresentasikan hubungan antar objek dengan sangat baik.

> # Menghitung nilai stress 
> stress <- sqrt(sum((dist_matrix - disparities)^2) / sum(dist_matrix^2))
> cat("\nNilai Stress (Stress Value):", stress, "\n")

Nilai Stress (Stress Value): 0.009355979 

3.2 Interpretasi Hasil

Dimensi 1: Pembangunan Ekonomi dan Kualitas Pemerintahan

Dimensi pertama mencerminkan level pembangunan ekonomi dan kualitas pemerintahan di suatu negara, yang berkaitan dengan variabel-variabel seperti Pendapatan Per Kapita, Indeks Kemudahan Berbisnis, Indeks Pembangunan Manusia (HDI), dan Indeks Persepsi Korupsi.

• Negara-negara yang berada di ujung kanan (seperti Singapura) memiliki tingkat pembangunan ekonomi yang sangat tinggi, dengan Pendapatan Per Kapita yang tinggi, Indeks Kemudahan Berbisnis yang sangat baik, serta rendahnya tingkat korupsi dan tingkat pembangunan manusia yang tinggi. Singapura yang sangat maju ini cenderung berada di ujung kanan dimensi pertama.

• Thailand, Malaysia, Vietnam, dan Filipina, yang lebih dekat dengan satu sama lain, berada di posisi tengah dimensi ini, dengan tingkat pembangunan ekonomi yang lebih rendah daripada Singapura, namun masih cukup baik dalam hal Kemudahan Berbisnis dan Indeks Pembangunan Manusia yang moderat.

• Di sisi kiri dimensi ini, negara-negara seperti Timor Leste, Kamboja, Myanmar, Laos, dan Brunei (meskipun Brunei memiliki pendapatan per kapita tinggi, tetapi dengan skor rendah dalam Indeks Demokrasi Liberal dan partisipasi dalam pasar global), cenderung memiliki Pendapatan Per Kapita yang rendah, Indeks Kemudahan Berbisnis yang buruk, dan Indeks Pembangunan Manusia yang lebih rendah. Negara-negara ini juga lebih terpengaruh oleh korupsi yang lebih tinggi.

Dimensi 2: Kebebasan Demokrasi dan Partisipasi Politik

Dimensi kedua (Dimensi 2) lebih mencerminkan kebebasan demokrasi dan partisipasi politik, yang berkaitan dengan Indeks Demokrasi Liberal dan Indeks Persepsi Korupsi.

• Negara-negara seperti Singapura (yang memiliki skor tinggi dalam banyak aspek ekonomi dan pembangunan) kemungkinan akan berada pada titik yang lebih jauh pada Dimensi 1, tetapi di sisi Dimensi 2, Singapura mungkin sedikit lebih rendah, meskipun masih lebih baik daripada negara-negara dengan demokrasi yang lebih lemah, karena meskipun negara ini cenderung memiliki kontrol ketat terhadap kebebasan sipil, ia tetap lebih stabil dan terorganisir.

• Negara-negara dengan Indeks Demokrasi Liberal yang lebih tinggi, seperti Indonesia (skor 0,43), cenderung berada lebih ke kanan pada Dimensi 2, yang menunjukkan tingkat kebebasan politik dan demokrasi yang lebih tinggi dibandingkan negara-negara dengan Indeks Demokrasi Liberal rendah seperti Myanmar dan Kamboja (skor rendah: 0,05 dan 0,06).

• Negara seperti Vietnam, Thailand, dan Malaysia, yang memiliki Indeks Demokrasi Liberal sedang, cenderung berada di posisi tengah pada Dimensi 2, yang menunjukkan adanya pembatasan kebebasan politik meskipun ada kemajuan dalam ekonomi dan pembangunan.

Pemetaan Indonesia dalam Hubungannya dengan Negara Lain:

• Posisi Indonesia di Dimensi 1: Indonesia, meskipun memiliki ekonomi yang besar di Asia Tenggara, berada di posisi yang lebih rendah dibandingkan dengan negara-negara seperti Singapura, Malaysia, atau Thailand dalam hal pendapatan per kapita dan kemudahan berbisnis. Negara ini masih menghadapi tantangan dalam hal birokrasi, korupsi, dan kesenjangan sosial yang mempengaruhi kualitas pembangunan ekonomi.

• Posisi Indonesia di Dimensi 2: Dalam hal demokrasi dan kebebasan politik, Indonesia berada lebih tinggi daripada negara-negara seperti Myanmar, Laos, dan Vietnam, yang memiliki indeks demokrasi lebih rendah. Indonesia memiliki kebebasan politik yang lebih besar, meskipun masih ada tantangan dalam hal keterbukaan pemerintahan dan masalah korupsi yang mengurangi kualitas demokrasi.

4 PENUTUP

4.1 Kesimpulan

  1. Singapura adalah outlier yang sangat berbeda dari negara-negara lainnya dalam kawasan Asia Tenggara, dikarenakan skor tinggi dalam hampir semua variabel yang menunjukkan stabilitas ekonomi, rendahnya korupsi, dan kualitas hidup yang tinggi.

  2. Kelompok negara seperti Thailand, Malaysia, Filipina, dan Vietnam cenderung lebih dekat satu sama lain karena memiliki karakteristik ekonomi dan kebijakan yang lebih serupa, meskipun ada perbedaan dalam hal Indeks Demokrasi Liberal dan Indeks Persepsi Korupsi.

  3. Indonesia berada agak terpisah karena memiliki posisi yang unik dalam hal Indeks Demokrasi Liberal yang lebih tinggi, tetapi tantangan besar dalam hal Indeks Kemudahan Berbisnis dan Pendapatan Per Kapita.

  4. Timor Leste, Kamboja, Myanmar, Laos, dan Brunei berada dalam kelompok yang serupa karena skor dalam berbagai indeks menunjukkan tantangan besar dalam hal demokrasi, transparansi pemerintahan, dan pembangunan ekonomi.

4.2 Saran

  1. Untuk menghasilkan informasi yang lebih lengkap, peneliti selanjutnya dapat mempertimbangkan untuk memasukkan variabel-variabel lain (misalnya, kualitas pendidikan, ketimpangan ekonomi, atau faktor-faktor lainnya) untuk memperkaya analisis MDS.

  2. Dalam dataset ini, ada beberapa nilai yang tampak sebagai outlier, misalnya, Timor Leste yang memiliki pendapatan per kapita yang jauh lebih rendah dibandingkan negara lainnya, atau Brunei Darussalam dengan skor FDI negatif. Peneliti selanjutnya dapat melakukan pendekatan untuk mengatasi outlier seperti menentukan apakah outlier ini merupakan kesalahan data atau fenomena yang sah. Jika outlier dianggap sah, maka outlier harus tetap ada dalam analisis. Jika dianggap error, maka data tersebut dapat disaring.

4.3 Daftar Pustaka

Rankin, J. H. (1983). Multidimensional Scaling: A Review of the Literature. In Psychological Bulletin, 94(3), 491-501.

Chatfield, C., & Collins, A. J. (1984). Introduction to Multidimensional Scaling. London: Heinemann Educational Books.