Judul: Kenapa Hanya Jakarta?

Pendahuluan

Pertumbuhan ekonomi merupakan kegiatan dalam mengembangkan perekonomian dengan memperluas barang dan jasa yang diproduksi sehingga hal tersebut dapat meningkatkan kemakmuran masyarakat menurut Sukirno (2011:331). Pertumbuhan ekonomi merupakan indikator penting dalam melihat kemajuan suatu negara.

Beberapa faktor yang mempengaruhi pertumbuhan ekonomi diantaranya investasi, Tingkat Partisipasi Angkatan Kerja (TPAK), Upah Minimum Provinsi (UMP), Indeks Pembangunan Manusia (IPM), dan Produk Domestik Regional Bruto (PDRB). Persebaran pertumbuhan ekonomi di setiap wilayah Indonesia memiliki karakteristik yang berbeda-beda, sehingga perlu adanya pengelompokkan wilayah agar strategi yang dilaksanakan tepat sesuai dengan karakteristik wilayah yang ada.

Berdasarkan pernyataan tersebut kami ingin mengetahui persebaran pertumbuhan ekonomi di Indonesia dengan menggunakan analisis klaster non-hierarchical k-means, yang mempartisipasi objek dan variabel kedalam satu klaster yang mempunyai karakteristik yang sama.

Memanggil Library

library (psych)
## Warning: package 'psych' was built under R version 4.3.2
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.3.2
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.3.2
## 
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
## 
##     %+%, alpha
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
library(FactoMineR)
## Warning: package 'FactoMineR' was built under R version 4.3.2
library(sp)
## Warning: package 'sp' was built under R version 4.3.2
library(ggplot2)
library(raster)
## Warning: package 'raster' was built under R version 4.3.2
library(prettymapr)
## Warning: package 'prettymapr' was built under R version 4.3.2

Memanggil Dataset

dat <- read.table("D:/lomba/IC unisba/ekonomi.txt", header = TRUE)
str(dat)
## 'data.frame':    34 obs. of  5 variables:
##  $ Investasi: num  8241 18190 3106 34118 3512 ...
##  $ TPAK     : num  65.1 68.7 69 65.2 67.8 ...
##  $ UMP      : int  3165031 2499423 2484041 2888564 2630162 3043111 2213604 2432002 3230024 3005460 ...
##  $ IPM      : num  72 71.8 72.4 72.7 71.3 ...
##  $ PDRB     : int  166377 811283 242119 729167 206846 458430 73337 354632 75534 254253 ...
summary(dat)
##    Investasi            TPAK            UMP               IPM       
##  Min.   :  252.9   Min.   :63.40   Min.   :1704608   Min.   :60.44  
##  1st Qu.: 2758.1   1st Qu.:65.31   1st Qu.:2407775   1st Qu.:69.50  
##  Median : 5330.2   Median :68.66   Median :2654512   Median :71.42  
##  Mean   :12114.6   Mean   :68.04   Mean   :2672371   Mean   :71.08  
##  3rd Qu.:15430.6   3rd Qu.:70.08   3rd Qu.:3004296   3rd Qu.:72.31  
##  Max.   :55660.6   Max.   :74.32   Max.   :4276350   Max.   :80.77  
##       PDRB        
##  Min.   :  41726  
##  1st Qu.: 112426  
##  Median : 198185  
##  Mean   : 464285  
##  3rd Qu.: 492967  
##  Max.   :2772381
describe(dat)
##           vars  n       mean        sd     median    trimmed       mad
## Investasi    1 34   12114.64  15220.90    5330.25    9309.98   5395.33
## TPAK         2 34      68.04      2.91      68.66      67.97      3.22
## UMP          3 34 2672370.82 551025.32 2654512.50 2662194.11 516755.04
## IPM          4 34      71.08      3.90      71.43      71.04      2.16
## PDRB         5 34  464284.68 672108.69  198185.00  303429.18 175888.25
##                  min        max      range skew kurtosis        se
## Investasi     252.90   55660.60   55407.70 1.52     1.15   2610.36
## TPAK           63.40      74.32      10.92 0.08    -0.98      0.50
## UMP       1704608.00 4276350.00 2571742.00 0.33     0.46  94500.06
## IPM            60.44      80.77      20.33 0.05     1.16      0.67
## PDRB        41726.00 2772381.00 2730655.00 2.19     3.87 115265.69

Analisis Pricipal Component

fit.pca <- PCA(dat, scale.unit = TRUE, ncp = 5, graph = TRUE)
## Warning: ggrepel: 1 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps

eig.val <- get_eigenvalue(fit.pca)
eig.val
##       eigenvalue variance.percent cumulative.variance.percent
## Dim.1 2.35802102        47.160420                    47.16042
## Dim.2 1.40780100        28.156020                    75.31644
## Dim.3 0.69729362        13.945872                    89.26231
## Dim.4 0.47166456         9.433291                    98.69560
## Dim.5 0.06521979         1.304396                   100.00000

Berdasarkan kolom eigen value pada Dim.3 nilai eigen yang diperoleh kurang dari 1, sehingga kluster yang dapat dibentuk adalah sebesar 3. Namun pada penelitian ini klaster yang akan dibentuk adalah sebesar 4 klaster.

Analisis Non-Hierarchical Clustering K-Means

set.seed(2021)
clust.4means<-kmeans(x = dat, centers = 4, nstart=50)
clust.4means
## K-means clustering with 4 clusters of sizes 3, 1, 16, 14
## 
## Cluster means:
##   Investasi     TPAK     UMP      IPM      PDRB
## 1 45889.067 68.09667 1773714 71.89000 1912034.7
## 2 42954.700 63.81000 4276350 80.77000 2772381.0
## 3  6549.113 69.28000 2394594 70.66500  224576.7
## 4  9034.993 66.92071 3067830 70.69071  263140.5
## 
## Clustering vector:
##               ACEH      SUMATERAUTARA      SUMATERABARAT               RIAU 
##                  4                  3                  3                  4 
##              JAMBI    SUMATERASELATAN           BENGKULU            LAMPUNG 
##                  3                  4                  3                  3 
## KEP.BANGKABELITUNG           KEP.RIAU         DKIJAKARTA          JAWABARAT 
##                  4                  4                  2                  1 
##         JAWATENGAH       DIYOGYAKARTA          JAWATIMUR             BANTEN 
##                  1                  3                  1                  3 
##               BALI  NUSATENGGARABARAT  NUSATENGGARATIMUR    KALIMANTANBARAT 
##                  3                  3                  3                  3 
##   KALIMANTANTENGAH  KALIMANTANSELATAN    KALIMANTANTIMUR    KALIMANTANUTARA 
##                  4                  4                  4                  4 
##      SULAWESIUTARA     SULAWESITENGAH    SULAWESISELATAN   SULAWESITENGGARA 
##                  4                  3                  4                  3 
##          GORONTALO      SULAWESIBARAT             MALUKU        MALUKUUTARA 
##                  4                  3                  3                  3 
##         PAPUABARAT              PAPUA 
##                  4                  4 
## 
## Within cluster sum of squares by cluster:
## [1] 5.012693e+11 0.000000e+00 1.789563e+12 1.118135e+12
##  (between_SS / total_SS =  86.3 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"

Berdasarkan output yang diperoleh yaitu sebagai berikut:

  • Cluster means merupakan rata-rata variabel pada tiap klaster dan dapat dilihat klaster tertinggi hingga terendah berturut-turut klaster 2, klaster 1, klaster 4, klaster 3.

  • Clustering vector menunjukkan tiap provinsi masuk kedalam klaster mana (klaster 1/2/3/4)

  • Within cluster sum of squares by cluster biasa digunakan untuk mengevaluasi kualitas prediksi, pada model ini kualitas prediksi cukup tinggi sebesar 86,3%

Melihat Rata-Rata Tiap Klaster

aggregate(dat, by=list(cluster=clust.4means$cluster), mean)
##   cluster Investasi     TPAK     UMP      IPM      PDRB
## 1       1 45889.067 68.09667 1773714 71.89000 1912034.7
## 2       2 42954.700 63.81000 4276350 80.77000 2772381.0
## 3       3  6549.113 69.28000 2394594 70.66500  224576.7
## 4       4  9034.993 66.92071 3067830 70.69071  263140.5

Membuat Peta Indonesia Cluster

IND <- readRDS("D:/peta/gadm/gadm36_IDN_1_sp.rds")
provinsi <- IND$NAME_1
provinsi
##  [1] "Aceh"                "Bali"                "Bangka Belitung"    
##  [4] "Banten"              "Bengkulu"            "Gorontalo"          
##  [7] "Jakarta Raya"        "Jambi"               "Jawa Barat"         
## [10] "Jawa Tengah"         "Jawa Timur"          "Kalimantan Barat"   
## [13] "Kalimantan Selatan"  "Kalimantan Tengah"   "Kalimantan Timur"   
## [16] "Kepulauan Riau"      "Lampung"             "Maluku"             
## [19] "Maluku Utara"        "Nusa Tenggara Barat" "Nusa Tenggara Timur"
## [22] "Papua"               "Papua Barat"         "Riau"               
## [25] "Sulawesi Barat"      "Sulawesi Selatan"    "Sulawesi Tengah"    
## [28] "Sulawesi Tenggara"   "Sulawesi Utara"      "Sumatera Barat"     
## [31] "Sumatera Selatan"    "Sumatera Utara"      "Yogyakarta"
# Ekspor data
write.csv(provinsi, file="D:/lomba/IC unisba/provinsieko.csv",row.names = FALSE)
# Memanggil data
datprov <- read.csv(file="D:/lomba/IC unisba/provinsi.eko.csv")
plot(IND, col = c("#FFAB76","#D9534F","#EEEEEE","#FFFDA2")[datprov$cluster], axes = TRUE, 
       cex = 0.25,border = "black")
text(IND, datprov$prov.eng, cex = 0.6)
legend("bottomright", legend = c("Cluster 1", "Cluster 2", "Cluster 3", "Cluster 4"), 
         col = c("#FFAB76","#D9534F","#EEEEEE","#FFFDA2"),
         inset=.02, fill= c("#FFAB76","#D9534F","#EEEEEE","#FFFDA2"), cex = 0.9, bty = "n")
addnortharrow(pos = "topright",scale = 0.5,padin=c(0.55,0.15))
addscalebar()
## Autodetect projection: assuming lat/lon (epsg 4326)

Dari hasil analisis tersebut, diperoleh bahwa hanya DKI Jakarta yang berada pada kluster tertinggi yaitu berada pada klaster pertama selanjutnya diikuti dengan klaster kedua (tinggi), klaster ketiga (rendah), dan klaster keempat (terendah). Hal tersebut menunjukkan bahwa wilayah DKI Jakarta memiliki pertumbuhan ekonomi yang paling pesat dibandingkan dengan wilayah provinsi yang lainnya. Pertumbuhan ekonomi yang hanya cenderung berkembang pada beberapa daerah saja menunjukkan bahwa di Indonesia memiliki pembangunan ekonomi yang kurang merata.

Plot Perbandingan Antar Klaster

# Ekspor rata-rata tiap klaster
write.csv(aggregate(dat, by=list(cluster=clust.4means$cluster), mean), file = "D:/lomba/IC unisba/mean.cl.csv")
mean.cluster <- read.csv(file="D:/lomba/IC unisba/meancl.csv")
str(mean.cluster)
## 'data.frame':    20 obs. of  3 variables:
##  $ eko    : chr  "Investasi" "Investasi" "Investasi" "Investasi" ...
##  $ cluster: int  1 2 3 4 1 2 3 4 1 2 ...
##  $ y      : num  45.9 43 65.5 90.3 68.1 ...
ggplot(data=mean.cluster, aes(x=cluster, y=y, fill=eko)) +
geom_bar(stat="identity", 
position=position_dodge())

Diagram Pembangunan Ekonomi

x <- c("Klaster 1","Klaster 2","Klaster 3","Klaster 4")
y <- c(3731778,7091830,2625859,3340142)
PE <- data.frame(x,y)
PE
##           x       y
## 1 Klaster 1 3731778
## 2 Klaster 2 7091830
## 3 Klaster 3 2625859
## 4 Klaster 4 3340142
ggplot(data=PE, aes(x="", y=y, fill = x)) + coord_polar("x", start=0) + geom_bar(width = 1, stat = "identity") + coord_polar("y", start=0)
## Coordinate system already present. Adding new coordinate system, which will
## replace the existing one.

link infographic: https://tinyurl.com/mv4tmf47