1 PENDAHULUAN
1.1 Latar Belakang
Pola makan merupakan aspek yang paling berpengaruh terhadap kecukupan gizi, dan kecukupan gizi menjadi salah satu indikator yang dapat menunjukan tingkat kesejahteraan penduduk (Sari dan Pratiwi, 2020). Perbedaan pola makan tersebut dapat disebabkan oleh berbagai faktor, seperti kondisi geografis, budaya makan, akses terhadap bahan pangan, daya beli, pengetahuan tentang makanan yang bergizi, serta variasi dalam kondisi sosial ekonomi dan jenis lapangan usaha (BPS, 2015). Kota/kabupaten dengan karakteristik geografis seperti kedekatannya dengan laut, area pertanian yang luas, atau pusat urbanisasi cenderung memiliki pola konsumsi yang khas.
Provinsi Jawa Timur memiliki kondisi geografis yang sangat beragam, mulai dari wilayah pesisir yang kaya akan sumber daya laut hingga dataran tinggi yang cocok untuk aktivitas pertanian. Keberagaman ini secara langsung memengaruhi pola konsumsi pangan masyarakat di masing-masing kota/kabupaten. Melalui metode analisis cluster dengan pendekatan average linkage, kota/kabupaten di Jawa Timur dapat dikelompokkan dan diidentifikasi berdasarkan karakteristik pola konsumsinya.
1.2 Rumusan Masalah
Berdasarkan latar belakang masalah yang telah diuraikan, maka dapat dirumuskan permasalahan penelitian, yaitu:
- Bagaimana metode analisis cluster dapat digunakan untuk mengelompokan kota/kabupaten di Jawa Timur berdasarkan pola konsumsi kalori penduduk?
- Faktor-faktor apa saja yang membedakan setiap kelompok kota/kabupaten berdasarkan hasil pengelompokan tersebut?
1.3 Tujuan Penelitian
Dalam melakukan penelitian ini, tujuan penelitian yang ingin dicapi yaitu:
- Menganalisis dan mengelompokan kota/kabupaten di Jawa Timur berdasarkan pola konsumsi kalori penduduk menggunakan metode analisis cluster
- Mengidentifikasi karakteristik dan perbedaan pola konsumsi pada setiap kelompok kota/kabupaten yang terbentuk
1.4 Data
Data pada kasus ini menggunakan data sekunder yang diperoleh dari BPS mengenai rata-rata kalori perkapita sehari di Provinsi Jawa Timur dirinci menurut kota/kabupaten dan sub kelompok komoditi makanan pada tahun 2023. Data tersebut berisi tentang sub kelompok komoditi makanan (kalori/kapita/hari). Adapun data tersaji dalam tabel berikut:
| Kota/Kabupaten | Padi-padian | Umbi-umbian | Ikan | Daging | Telur dan Susu | Sayur-sayuran |
|---|---|---|---|---|---|---|
| Kediri | 663.49 | 33.28 | 20.92 | 86.07 | 60.79 | 40.09 |
| Blitar | 597.91 | 35.2 | 18.16 | 52.27 | 62.88 | 41.41 |
| Malang | 640.9 | 29.33 | 29.96 | 96.83 | 68.26 | 32.94 |
| Probolinggo | 804.24 | 26.72 | 42.59 | 52.34 | 44.9 | 23.46 |
| Pasuruan | 704.22 | 25.77 | 50.83 | 70.16 | 57.59 | 31.05 |
| Mojokerto | 663.2 | 24.3 | 36.88 | 96.72 | 65.18 | 31.48 |
| Madiun | 628 | 34.58 | 32.42 | 104.57 | 78.35 | 35.04 |
| Surabaya | 674.58 | 30.91 | 47.3 | 111.18 | 80.14 | 38.89 |
| Batu | 664.14 | 40.94 | 34.47 | 80.39 | 45.58 | 41.07 |
| Sidoarjo | 668.9 | 28.67 | 38.11 | 95.41 | 68.09 | 35.3 |
| Gresik | 679.67 | 26.59 | 55.92 | 81.32 | 55.5 | 32.99 |
| Banyuwangi | 884.9 | 38.25 | 38.97 | 63.66 | 41.63 | 49.63 |
2 TINJAUAN PUSTAKA
2.1 Statistika Deskriptif
Statistika deskriptif merupakan salah satu ilmu statistik yang bertujuan untuk mengumpulkan, mengolah, menyajikan, dan menganalisis data secara ringkas dan informatif (Maysani dan Pujiastuti, 2020). Statistika deskriptif digunakan untuk merangkum data sehingga informasi yang disajikan menjadi lebih mudah dipahami. Fokus utama statistika deskriptif adalah pada pengumpulan, penyederhanaan, dan penyajian data terhadap angka-angka yang diamati atau diperoleh. Statistika deskriptif juga mencakup pengukuran pemusatan dan penyebaran data untuk memberikan gambaran yang lebih jelas dan menarik, sehingga dapat mempermudah pemahaman terhadap informasi yang disajikan (Yuniarti, 2022).
2.2 Analisis Cluster
Analisis cluster atau analisis kelompok adalah salah satu metode analisis data yang bertujuan untuk mengelompokkan individu atau objek ke dalam beberapa kelompok dengan karakteristik yang berbeda antara satu kelompok dengan lainnya. Dalam satu kelompok, individu atau objek memiliki sifat yang relatif homogen (Talakua, dkk., 2017). Dengan kata lain, analisis cluster bertujuan untuk mengelompokkan objek-objek yang memiliki kemiripan tertentu, sehingga data dapat dibagi ke dalam beberapa kelompok berdasarkan kemiripan yang dimiliki.
Prosedur clustering dibagi menjadi dua jenis, yaitu hirarki dan nonhirarki. Pembentukan cluster hirarki mempunyai sifat sebagai pengembangan suatu hirarki atau struktur mirip pohon bercabang. Metode ini digunakan untuk pengelompokan saat jumlah cluster yang akan dihasilkan belum ditentukan sebelumnya. Teknik ini dilakukan melalui proses penggabungan bertahap (agglomerative) atau pembagian berurutan (divissive), (Sirojuddin, 2016).
Prosedur analisis cluster yaitu sebagai berikut (Muhartini, dkk,. 2022):
Melakukan standarisasi data
Standarisasi data dilakukan untuk memastikan bahwa data yang digunakan dalam penelitian memiliki satuan yang sama.
Menentukan ukuran kemiripan dan ketidakmiripan antar dua objek menggunakan rumus jarak euclidean.
Proses analisis cluster
Pembentukan cluster dapat dilakukan dengan dua cara, yaitu dengan metode hierarki dan non hierarki.
Menentukan jumlah anggota cluster
Penentuan keanggotaan cluster dilakukan berdasarkan hasil pengolahan data menggunakan RStudio.
Melakukan interpretasi analisis cluster sesuai metode yang ditentukan
2.2.1 Uji Asumsi Analisis Cluster
a. Uji Sampel Representatif
Pengujian sampel represntatif (sampel yang mewakili) dapat dilakukan dengan Uji Kaiser-Mayer Olkin (KMO). Pengujian ini dipakai untuk menilai kecukupan sampel secara keseluruhan maupun kecukupan masing-masing indikator. Nilai KMO berkisar antara 0 hingga 1, di mana nilai antara 0,5 hingga 1 menunjukkan bahwa sampel dianggap cukup mewakili populasi atau bersifat representatif (Ningrat, dkk., 2016).
b. Uji Non-Multikolinearitas
Menurut Gujarati (1978), multikolinearitas terjadi ketika terdapat hubungan linear yang sangat kuat atau sempurna antara beberapa atau bahkan seluruh variabel. Untuk mengetahui adanya multikolinearitas, salah satunya adalah dengan menghitung nilai Variance Inflation Factor (VIF) dengan rumus:
\[ VIF_j = \frac{1}{1-R_j^2} \]
Multikolinearitas terjadi apabila nilai \((VIF_j\)\() \geq 10\) (Widarjono, 2010). Apabila terindikasi terjadi multikolinearitas, maka tidakan perbaikan multikolinearitas harus dilakukan.
2.2.2 Standarisasi Variabel
Standarisasi variabel dilakukan untuk mengatasi perbedaan satuan yang signifikan antar variabel yang diteliti. Proses standarisasi dilakukan dengan mengenolkan rata-rata dan varian menjadi 1 (satu), atau mengubah data Z-Score yaitu mentransformasi data ke dalam distribusi normal baku N(0,1), yang dapat dihitung menggunakan rumus berikut:
\[ Z= \frac{X_i - \bar{x}}{\sigma} \]
Keterangan:
\({X_i}\) : data ke-\({i}\)
\(\bar{x}\) : rata-rata data
\(\sigma\) : simpangan baku
2.2.3 Jarak Analisis Cluster
a. Jarak Euclidean
Jarak euclidean merupakan metode pengukuran jarak yang paling umum dan sering diterapkan dalam analisis cluster. Jarak ini dapat didefinisikan secara jelas antara dua titik, dengan syarat bahwa variabel yang digunakan bersifat kontinu. Jarak euclidean dirumuskan sebagai berikut:
\[ d_{euc}(x,y) = \sqrt{\sum_{i=1}^n (x_i - y_i)^2} \] Keterangan :
\(d_{euc} (x,y)\) : kuadrat jarak euclidean antar obyek-\(y\) dan obyek-\(x\)
\(x_i\) : nilai dari obyek-\(x\) pada variabel ke-\(i\)
\(y_i\) : nilai dari obyek-\(y\) pada variabel ke-\(i\)
b. Jarak Mahalanobis
Jarak Mahalanobis digunakan ketika terjadi korelasi pada data. Jarak Mahalanobis antara dua sampel X dan Y dari suatu variabel acak dirumuskan sebagai berikut:
\[ d_{Mahalanobis}(x,y)=\sqrt{(x-y)^T+S^{-1}(x-y)} \]
Keterangan :
- \(S^{-1}\) : suatu matriks varians kovarians
2.2.4 Analisis Cluster Hierarki
Metode ini digunakan untuk mengelompokkan pengamatan secara terstruktur berdasarkan kesamaan karakteristik, dengan jumlah kelompok yang diinginkan belum diketahui sebelumnya. Secara umum, metode ini dibagi menjadi dua jenis, yaitu metode hierarki penggabungan (agglomerative) dan metode hierarki pembagian (divisive).
2.2.4.1 Metode Agglomerative
Metode agglomerative dimulai dengan dimulai dengan mengasumsikan setiap objek sebagai sebuah cluster tersendiri. Dalam metode ini, setiap penggabungan cluster selalu diikuti dengan pembaruan matriks jarak, dan hasilnya dapat disajikan dalam bentuk dendogram.
Metode agglomerative mempunyai beberapa prosedur pengelompokan yaitu:
Single Linkage
Proses pengklasteran ini didasarkan pada jarak terdekat antar objek (minimum distance). Metode ini cocok untuk kasus pengelompokan yang tidak bergantung pada bentuk (shape independent clustering) karena kemampuannya dalam membentuk pola tertentu pada cluster. Jika objek X dan Y memiliki jarak terdekat (dxy), maka harus dicari jarak minimum XZ dan XY, yang dapat dihitung dengan:
\[ {d_{(XY)Z}=Min(d_{XZ},d_{YZ})} \]Hasil pengelompokkan ini dapat digambarkan dalam bentuk dendogram atau diagram pohon, di mana cabang-cabang pada diagram tersebut menggambarkan kelompok-kelompok yang terbentuk.
Complete Linkage
Complete Linkage adalah salah satu metode clustering yang didasarkan pada jarak terbesar antar objek (maksimum distance). Metode ini kurang cocok untuk data yang mengandung outlier. Proses ini dimulai dengan mengelompokkan dua objek atau individu yang memiliki jarak terjauh. Jika objek X dan Y memiliki jarak terjauh (dxy), maka harus dicari jarak maksimum XZ dan XY, yang dapat dihitung dengan:
\[ d_{(XY)Z}=Max(d_{XZ},d_{YZ}) \]
Average Linkage
Average Linkage adalah salah satu metode clustering yang didasarkan pada jarak rata-rata antar objek (average distance). Metode ini memiliki waktu komputasi yang lebih lama dibandingkan dengan metode lainnya. Pada metode ini, langkah pertama yang dilakukan yaitu mencari jarak terkecil. Jika kelompok X dan Y mempunyai jarak dxy, maka jarak rata-rata antara XZ dan XY harus dicari, yang dapat dihitung dengan:
\[ d_{(ij)k} = \frac{1}{n_i \times n_j} \sum_{i=1}^{n_i} \sum_{j=1}^{n_j} \sqrt{\sum_{k=1}^p (x_{ik} - y_{jk})^2} \]
Ward’s Method
Pada metode ini, jarak antara dua cluster yang terbentuk diukur dengan menggunakan jumlah kuadrat (sum of squares) antara kedua cluster tersebut. Setiap pengamatan diukur dengan menggunakan jumlah total dari deviasi kuadrat pada mean cluster. Fungsi objektif yang digunakan dalam metode ini adalah Error sum of squares (SSE). Dua objek akan digabungkan jika mereka memiliki nilai fungsi objektif terkecil di antara semua kemungkinan yang ada
\[ESS = \sum_{j=1}^{k} \left( \sum_{i=1}^{n_j} x_{ij}^2 - \frac{1}{n_j} \left( \sum_{i=1}^{n_j} x_{ij}^2 \right) \right)\] Keterangan:
\(x_{ij}\) : nilai untuk objek ke-\(i\) dengan \(i\) = 1,2,…,n pada kelompook ke-\(j\)
\(K\) : jumlah kelompok setiap stage
\(n_j\) : jumlah kelompok ke-\(i\) pada kelompok ke-\(j\)
Centroid Linkage
Pada metode ini, jarak yang digunakan adalah jarak kuadrat euclidean antara titik pusat dua kelompok. Titik pusat kelompok ini merupakan nilai tengah objek setiap peubah dalam satu kelompok. Pada metode ini, setiap kali terbentuk kelompok baru maka titik pusatnya akan berubah. Metode ini memiliki kelebihan yaitu kecilnya pengaruh pencilan dalam pembentukan kelompok. Jarak antara dua cluster didefinisikan sebagai berikut:
\[ d_{ij} = d \left( \frac{1}{n_i} \sum_{k=1}^{n_i} x_{ik}, \frac{1}{n_j} \sum_{l=1}^{n_j} x_{jl} \right) \]
atau
\[ d_{(ij)k}=d(\bar{x}_{ik},\bar{x}_{jk}) \]
2.2.4.2 Metode Divissive
Metode divissive menggunakan pendekatan pemecahan (Top To Down), di mana proses dimulai dengan mengelompokkan seluruh objek ke dalam satu cluster, lalu cluster tersebut secara bertahap dipisahkan menjadi dua, dan seterusnya hingga terbentuk \(n\) cluster, di mana setiap cluster terdiri dari satu objek.
2.2.5 Indeks Validitas
Validitas cluster digunakan untuk menentukan jumlah cluster yang paling tepat atau optimal. Terdapat beberapa indeks validitas yaitu indeks connectivity, Dunn, dan Silhouette. Indeks connectivity memiliki nilai di antara 0 sampai tak hingga, semakin kecil nilainya maka semakin bagus cluster yang terbentuk. Indeks Dunn menghitung nilai minimum dari perbandingan antara nilai ketidaksamaan dua cluster dan nilai maksimum diameter cluster di mana semakin besar nilainya, maka semakin baik cluster yang terbentuk. Indeks Silhouette menghitung selisih antara jarak rata-rata objek di dalam cluster dengan jarak minimum antar cluster di mana semakin mendekati positif 1 maka semakin baik.
2.2.6 Koefisien Korelasi Cophenetic
Koefisien korelasi cophenetic adalah nilai korelasi antara elemen-elemen asli matriks ketidakmiripan (dissimilarity distance) dan elemen-elemen yang dihasilkan oleh dendogram. Nilai koefisien korelasi cophenetic memiliki nilai di antara -1 hingga 1, apabila nilai semakin mendekati 1 maka jarak yang digunakan dalam proses pembentukan cluster cukup baik.
2.2.7 Dendogram
Dendogram merupakan representatif visual dari langkah-langkah dalam analisis cluster yang menunjukkan bagaimana cluster terbentuk dan nilai koefisien jarak pada setiap langkah. Bentuk dendogram identik dengan diagram pohon. Pada dendogram, terdapat titik-titik yang mewakili cluster dan panjang batangnya mempresentasikan jarak dimana objek-objek digabung dalam cluster. Untuk mengetahui banyaknya cluster yang terbentuk, dendogram dipotong dari selisih terpanjang. Pemotongan dendogram dilakukan berdasarkan perbedaan jarak penggabungan yang paling besar atau pada kelompok yang dianggap lebih bermakna. Pemotongan juga dapat dilakukan dengan mempertimbangkan selisih jarak penggabungan terbesar.
3 SOURCE CODE
3.1 Library
> library("knitr")
> library("psych")
> library("GPArotation")
> library("ggplot2")
> library("cluster")
> library("factoextra")
> library("tidyverse")
> library("car")
> library("readxl")
> library("MVN")
> library("dendextend")
> library("DT")
> library("rmarkdown")
> library("prettydoc")
> library("clValid")
> library("fastcluster")Aktifkan packages yang dibutuhkan untuk melakukan analisis. Berikut merupakan library yang akan digunakan untuk membantu proses analisis agar lebih cepat dan efisien.
library("knitr")Untuk membuat laporan dinamis menggunakan R Markdownlibrary("psych")Untuk analisis psikometri dan statistik, menyediakan fitur seperti analisis faktor, reliabilitas, validitas, dan transformasi data.library("GPArotation")Untuk melakukan rotasi faktor dalam analisis faktor dengan berbagai metode rotasi.library("ggplot2")Untuk membuat visualisasi data yang berbasis grafik dengan tampilan yang menarik, fleksibel, informatif dan estesis dengan pendekatan sistematis.library("cluster")Untuk melakukan berbagi jenis analisis clustering atau pengelompokan data.library("factoextra")Untuk membantu dalam visualisasi dan analisis hasil teknik multivariat, seperti analisis faktor, PCA, clustering, serta menentukan jumlah cluster optimal.library("tidyverse")Untuk analisis data, pemrosesan data, visualisasi data, dan manipulasi data.library("car")Menyediakan metode statistik untuk analisis regresi dan metode lainnya, seperti regresi linear, logistik, dan poisson.library("readxl")Untuk membuka dan membaca file Excel dengan format.xlsxke dalam Rlibrary("MVN")Utuk menguji asumsi normalitas multivariat dan analisis statistik terkait, seperti analisis faktor dan PCA.library("dendextend")Memperluas kemampuan manipulasi dan visualisasi dendrogram, memungkinkan modifikasi dan peningkatan tampilannya.library("DT")Untuk membuat dan mengelola tabel interaktif menggunakan pustaka JavaScript DataTables.library("rmarkdown")Untuk membuat dokumen dinamis yang mengintegrasikan kode R dengan teks naratif.library("prettydoc")Untuk menghasilkan laporan dengan tampilan responsif dan tema menarik untuk output HTML dari R Markdown.library("clValid")Untuk mengevaluasi clustering dengan metode hierarki dan validasi internal.library("fastcluster")Untuk melakukan hierarchical clustering dengan cara yang lebih cepat dan efisien dibandingkan fungsi bawaan di R.
3.2 Impor Data
> data <- read_excel("C:/Users/Mailaneva/Downloads/data_anmul.xlsx")
> datatable(data,caption = "Sub Kelompok Komoditi Makanan (Kalori/Kapita/Hari)")> data
# A tibble: 12 × 7
`Kota atau Kabupaten` `Padi-Padian` `Umbi-Umbian` Ikan Daging
<chr> <dbl> <dbl> <dbl> <dbl>
1 Kediri 663. 33.3 20.9 86.1
2 Blitar 598. 35.2 18.2 52.3
3 Malang 641. 29.3 30.0 96.8
4 Probolinggo 804. 26.7 42.6 52.3
5 Pasuruan 704. 25.8 50.8 70.2
6 Mojokerto 663. 24.3 36.9 96.7
7 Madiun 628 34.6 32.4 105.
8 Surabaya 675. 30.9 47.3 111.
9 Batu 664. 40.9 34.5 80.4
10 Sidoarjo 669. 28.7 38.1 95.4
11 Gresik 680. 26.6 55.9 81.3
12 Banyuwangi 885. 38.2 39.0 63.7
# ℹ 2 more variables: `Telur dan Susu` <dbl>, `Sayur-Sayuran` <dbl>Untuk mengimport file data dari excel ke R, fungsi
read_excel dari library(readxl) digunakan,
kemudian disimpan dalam variabel data. Fungsi
datatabel( ) digunakan untuk melihat gambaran data secara
keseluruhan dalam bentuk tabel.
3.3 Statistika Deskriptif
> #Statistika Deskriptif
> statdesk <- summary(data)
> statdesk
Kota atau Kabupaten Padi-Padian Umbi-Umbian Ikan
Length:12 Min. :597.9 Min. :24.30 Min. :18.16
Class :character 1st Qu.:657.6 1st Qu.:26.69 1st Qu.:31.80
Mode :character Median :666.5 Median :30.12 Median :37.49
Mean :689.5 Mean :31.21 Mean :37.21
3rd Qu.:685.8 3rd Qu.:34.73 3rd Qu.:43.77
Max. :884.9 Max. :40.94 Max. :55.92
Daging Telur dan Susu Sayur-Sayuran
Min. : 52.27 Min. :41.63 Min. :23.46
1st Qu.: 68.53 1st Qu.:53.02 1st Qu.:32.58
Median : 83.69 Median :61.84 Median :35.17
Mean : 82.58 Mean :60.74 Mean :36.11
3rd Qu.: 96.75 3rd Qu.:68.13 3rd Qu.:40.34
Max. :111.18 Max. :80.14 Max. :49.63 Untuk menghitung statistika deskriptif, fungsi
summary( ) digunakan, kemudian disimpan dalam variabel
statdesk. Hasil dari perintah tersebut menunjukkan
rangkuman ukuran pemusatan dan pesebaran data pada masing-masing
variabel.
3.4 Analisis Cluster
3.4.1 Uji Asumsi Analisis Cluster
a. Uji Sampel Representatif
> #Uji Asumsi
> ##Uji Sampel Representatif
> kmo <- KMO(data[,2:7])
> kmo
Kaiser-Meyer-Olkin factor adequacy
Call: KMO(r = data[, 2:7])
Overall MSA = 0.55
MSA for each item =
Padi-Padian Umbi-Umbian Ikan Daging Telur dan Susu
0.64 0.52 0.54 0.55 0.55
Sayur-Sayuran
0.54 Uji sampel representatif menggunakan fungsi KMO( )
dengan argumen di dalamnya adalah data[,2:7] yang disimpan dalam
variabel kmo. Argumen dalam data[,2:7] menunjukkan data
yang dianalisis yaitu data pada kolom kedua sampai kelima.
b. Uji Non-Multikolinearitas
> ##Uji Non-Multikolinearitas
> korelasi <- cor(data[,2:7], method = 'pearson')
> korelasi
Padi-Padian Umbi-Umbian Ikan Daging Telur dan Susu
Padi-Padian 1.00000000 0.06164934 0.37959495 -0.45127343 -0.6798674
Umbi-Umbian 0.06164934 1.00000000 -0.48429437 -0.13261337 -0.2371158
Ikan 0.37959495 -0.48429437 1.00000000 0.09288873 -0.1288989
Daging -0.45127343 -0.13261337 0.09288873 1.00000000 0.7672905
Telur dan Susu -0.67986745 -0.23711583 -0.12889890 0.76729053 1.0000000
Sayur-Sayuran 0.12919491 0.79672229 -0.35814466 -0.02029157 -0.1147374
Sayur-Sayuran
Padi-Padian 0.12919491
Umbi-Umbian 0.79672229
Ikan -0.35814466
Daging -0.02029157
Telur dan Susu -0.11473741
Sayur-Sayuran 1.00000000Uji asumsi non-multikolinearitas menggunakan korelasi antar variabel
dengan fungsi cor( ), dengan data dan metode yang digunakan
(pearson) sebagai argumen di dalamnya, kemudian disimpan dalam variabel
korelasi.
3.4.2 Standarisasi
> #Standarisasi
> datastand <- scale(data[,2:7])
> datastand
Padi-Padian Umbi-Umbian Ikan Daging Telur dan Susu
[1,] -0.3289200 0.39297726 -1.45360232 0.17807731 0.003949574
[2,] -1.1578402 0.75777161 -1.69987225 -1.54492259 0.171839938
[3,] -0.6144538 -0.35751114 -0.64697907 0.72658260 0.604017046
[4,] 1.4501363 -0.85340347 0.47997355 -1.54135425 -1.272499172
[5,] 0.1859003 -1.03390068 1.21521421 -0.63295608 -0.253107442
[6,] -0.3325856 -1.31319636 -0.02951967 0.72097521 0.356599668
[7,] -0.7775076 0.63997344 -0.42747761 1.12113938 1.414549950
[8,] -0.1887443 -0.05731578 0.90023854 1.45809292 1.558341219
[9,] -0.3207041 1.84835475 -0.24455972 -0.11146824 -1.217874556
[10,] -0.2605385 -0.48290920 0.08023106 0.65419622 0.590360892
[11,] -0.1244075 -0.87810309 1.66938593 -0.06406025 -0.420997806
[12,] 2.4696651 1.33726265 0.15696734 -0.96430221 -1.535179310
Sayur-Sayuran
[1,] 0.5973530
[2,] 0.7955946
[3,] -0.4764556
[4,] -1.9001907
[5,] -0.7603016
[6,] -0.6957229
[7,] -0.1610713
[8,] 0.4171333
[9,] 0.7445323
[10,] -0.1220237
[11,] -0.4689465
[12,] 2.0300990
attr(,"scaled:center")
Padi-Padian Umbi-Umbian Ikan Daging Telur dan Susu
689.51250 31.21167 37.21083 82.57667 60.74083
Sayur-Sayuran
36.11250
attr(,"scaled:scale")
Padi-Padian Umbi-Umbian Ikan Daging Telur dan Susu
79.114978 5.263239 11.207215 19.616948 12.448600
Sayur-Sayuran
6.658542
> rownames(datastand) <- 1:nrow(datastand)
> hasildata <- mvn(data[,2:7], multivariateOutlierMethod = "adj", showNewData = TRUE)Fungsi scale( ) digunakan untuk standarisasi dengan data
awal dari kolom 2 hingga kolom 7 sebagai argumen, kemudian disimpan
dalam variabel datastand. Kemudian, nama baru
(rownames) dari suatu data frame (datastand) diatur. Kemudian,
analisis multivariat normal (Multivariate Normality Test) dilakukan pada
subset data yang disimpan pada variabel hasildata.
3.4.3 Menghitung Jarak
> #Menghitung Jarak Euclidien
> jarak <- dist(datastand, method = "euclidean")
> jarak
1 2 3 4 5 6 7
2 1.9791534
3 1.7633512 3.1003763
4 4.3909808 4.8479419 4.0583662
5 3.4627564 4.1166167 2.6887562 2.3097932
6 2.6514522 3.8926197 1.2179347 3.5877473 2.0261390
7 2.1839269 3.3682253 1.4077815 5.0348467 3.5560448 2.3950868
8 3.1384761 4.4099673 2.2157553 5.0869086 3.1989797 2.3850264 1.7504911
9 2.2755939 2.8278628 3.2598320 4.4724087 3.7632744 3.9099942 3.3123122
10 2.0524542 3.3714260 0.8949098 3.8309314 2.1369802 1.0463495 1.6385173
11 3.5758540 4.3862790 2.7481878 2.9749642 0.8738153 2.0955406 3.4636186
12 4.1284862 4.6602032 5.1718900 4.6681857 4.6365631 5.3629667 5.4058409
8 9 10 11
2
3
4
5
6
7
8
9 3.9035424
10 1.6530646 3.1860285
11 2.8791126 3.6393796 2.0878739
12 5.2539478 3.2694479 4.7478433 4.7139721Fungsi dist( ) digunakan untuk menghitung jarak
euclidean dengan datastand yang merupakan data
hasil standarisasi sebagai argumen di dalamnya, kemudian disimpan dalam
variabel jarak.
3.4.4 Koefisien Korelasi Cophenetic
Argumen data
> #Koefisien Korelasi Cophenetic
> d1 <- dist(data[,2:7])Menganalisis data dengan metode hierarki clustering dengan
argumen data pada fungsi dist( ) dan argumen
single, average, complete, centroid,
dan ward pada parameter method. Kemudian, jarak antar observasi
dihitung dengan fungsi dist( ), dengan argumen data yang
disimpan dalam variabel d1.
3.4.4.1 Single Linkage
> ##Single Linkage
> hiers <- hclust(dist(data[,2:7]), method = "single")
> #korelasi cophenetic
> hc1 <- hclust(d1, "single")
> d2 <- cophenetic(hc1)
> cors <- cor(d1,d2)
> cors
[1] 0.9019297Fungsi hclust( ) digunakan dengan argumen jarak antar
observasi berdasarkan kolom 2 sampai 7 dari dataset data dan
single yang kemudian disimpan dalam variabel hiers.
Kemudian, fungsi hclust( ) digunakan dengan argumen
d1 dan single yang kemudian disimpan
dalam variabel hc1.
Fungsi cophenetic( ) digunakan untuk menghasilkan
matriks jarak cophenetic dari hasil klasterisasi hc1,
kemudian disimpan dalam variabel d2.
Korelasi antara jarak awal d1 dan jarak
cophenetic (d2) dihitung dengan fungsi
cor( ), yang memberikan informasi tentang seberapa baik
model klasterisasi menggambarkan jarak antar objek asli. Hasil korelasi
tersebut disimpan dalam variabel cors.
3.4.4.2 Average Linkage
> ##Average Linkage
> hierave <- hclust(dist(data[,2:7]), method = "ave")
> #korelasi cophenetic
> hc2 <- hclust(d1, "ave")
> d3 <- cophenetic(hc2)
> corave <- cor(d1,d3)
> corave
[1] 0.9225779Fungsi hclust( ) digunakan dengan argumen jarak antar
observasi berdasarkan kolom 2 sampai 7 dari dataset data dan
ave yang kemudian disimpan dalam variabel hiers.
Kemudian, fungsi hclust( ) digunakan dengan argumen
d1 dan ave yang kemudian disimpan
dalam variabel hc2.
Fungsi cophenetic( ) digunakan untuk menghasilkan
matriks jarak cophenetic dari hasil klasterisasi hc2,
kemudian disimpan dalam variabel d3.
Korelasi antara jarak awal d1 dan jarak
cophenetic (d3) dihitung dengan fungsi
cor( ), yang memberikan informasi tentang seberapa baik
model klasterisasi menggambarkan jarak antar objek asli. Hasil korelasi
tersebut disimpan dalam variabel corave.
3.4.4.3 Complete Linkage
> ##Complete Linkage
> hiercomp <- hclust(dist(data[,2:7]), method = "complete")
> #korelasi cophenetic
> hc3 <- hclust(d1, "complete")
> d4 <- cophenetic(hc3)
> corcomp <- cor(d1,d4)
> corcomp
[1] 0.9115257Fungsi hclust( ) digunakan dengan argumen jarak antar
observasi berdasarkan kolom 2 sampai 7 dari dataset data dan
complete yang kemudian disimpan dalam variabel hiers.
Kemudian, fungsi hclust( ) digunakan dengan argumen
d1 dan complete yang kemudian disimpan
dalam variabel hc3.
Fungsi cophenetic( ) digunakan untuk menghasilkan
matriks jarak cophenetic dari hasil klasterisasi hc3,
kemudian disimpan dalam variabel d4.
Korelasi antara jarak awal d1 dan jarak
cophenetic (d4) dihitung dengan fungsi
cor( ), yang memberikan informasi tentang seberapa baik
model klasterisasi menggambarkan jarak antar objek asli. Hasil korelasi
tersebut disimpan dalam variabel corcomp.
3.4.4.4 Centroid Linkage
> ##Centorid Linkage
> hiercen <- hclust(dist(data[,2:7]), method = "centroid")
> #korelasi cophenetic
> hc4 <- hclust(d1, "centroid")
> d5 <- cophenetic(hc4)
> corcen <- cor(d1,d5)
> corcen
[1] 0.9209498Fungsi hclust( ) digunakan dengan argumen jarak antar
observasi berdasarkan kolom 2 sampai 7 dari dataset data dan
centroid yang kemudian disimpan dalam variabel hiers.
Kemudian, fungsi hclust( ) digunakan dengan argumen
d1 dan centroid yang kemudian disimpan
dalam variabel hc4.
Fungsi cophenetic( ) digunakan untuk menghasilkan
matriks jarak cophenetic dari hasil klasterisasi hc4,
kemudian disimpan dalam variabel d5.
Korelasi antara jarak awal d1 dan jarak
cophenetic (d5) dihitung dengan fungsi
cor( ), yang memberikan informasi tentang seberapa baik
model klasterisasi menggambarkan jarak antar objek asli. Hasil korelasi
tersebut disimpan dalam variabel corcen.
3.4.4.5 Ward
> ##Ward
> hierward <- hclust(dist(data[,2:7]), method = "ward.D")
> #korelasi cophenetic
> hc5 <- hclust(d1,"ward.D")
> d6 <- cophenetic(hc5)
> corward <- cor(d1,d6)
> corward
[1] 0.9128657Fungsi hclust( ) digunakan dengan argumen jarak antar
observasi berdasarkan kolom 2 sampai 7 dari dataset data dan
centroid yang kemudian disimpan dalam variabel hiers.
Kemudian, fungsi hclust( ) digunakan dengan argumen
d1 dan centroid yang kemudian disimpan
dalam variabel hc5.
Fungsi cophenetic( ) digunakan untuk menghasilkan
matriks jarak cophenetic dari hasil klasterisasi hc5,
kemudian disimpan dalam variabel d6.
Korelasi antara jarak awal d1 dan jarak
cophenetic (d6) dihitung dengan fungsi
cor( ), yang memberikan informasi tentang seberapa baik
model klasterisasi menggambarkan jarak antar objek asli. Hasil korelasi
tersebut disimpan dalam variabel corward.
3.4.4.6 Hasil Koefisien Korelasi Cophenetic
> KorCop<-data.frame(cors,corave,corcomp,corcen,corward)
> KorCop
cors corave corcomp corcen corward
1 0.9019297 0.9225779 0.9115257 0.9209498 0.9128657Menggabungkan hasil-hasil korelasi dalam bentuk yang terstruktur (data frame) yang memudahkan untuk dilihat atau dianalisis lebih lanjut.
3.4.5 Indeks Validitas
> inval <- clValid(datastand, 2:7, clMethods = "hierarchical", validation = "internal", metric = "euclidean", method = "average")
> summary(inval)
Clustering Methods:
hierarchical
Cluster sizes:
2 3 4 5 6 7
Validation Measures:
2 3 4 5 6 7
hierarchical Connectivity 3.4540 11.2774 17.4310 19.3476 21.5476 23.0476
Dunn 0.6427 0.4594 0.5927 0.6236 0.7362 0.7362
Silhouette 0.3275 0.2742 0.3238 0.3064 0.2794 0.2088
Optimal Scores:
Score Method Clusters
Connectivity 3.4540 hierarchical 2
Dunn 0.7362 hierarchical 6
Silhouette 0.3275 hierarchical 2
> optimalScores(inval)
Score Method Clusters
Connectivity 3.4539683 hierarchical 2
Dunn 0.7362369 hierarchical 6
Silhouette 0.3275384 hierarchical 2
> plot(inval)Melakukan evaluasi dan validasi cluster dengan metode
hierarchical clustering pada dataset datastand
menggunakan fungsi clValid( ). Evaluasi ini menggunakan
validasi internal, metrik jarak euclidean, dan metode
average linkage pada parameter method. Hasil evaluasi disimpan
dalam variabel inval. Kemudian, fungsi
summary( ) digunakan untuk menampilkan ringkasan hasil
evaluasi, optimalScores( ) untuk mendapatkan skor optimal,
dan plot( ) untuk memvisualisasikan hasil validasi
cluster.
3.4.6 Analisis Cluster Metode Average Linkage
3.4.6.1 Membuat Dendogram
> #Metode Average Linkage
> hirave <- hclust(dist(scale(data[,2:7])), method = "average")
> hirave
Call:
hclust(d = dist(scale(data[, 2:7])), method = "average")
Cluster method : average
Distance : euclidean
Number of objects: 12
> plot(hirave, labels = data$Kota.atau.Kabupaten,hang = -1, col = "black", main = "Cluster Dendrogram", sub = " ", xlab = "Kota/Kabupaten", ylab = "Jarak")Menggunakan fungsi hclust( ) untuk melakukan
clustering hirarki dengan argumen data jarak dan
average pada parameter method, kemudian disimpan dalam variabel
hc. Kemudian, fungsi plot( ) digunakan
untuk membuat dendogram dengan hc, hang, judul, sub, xlab, dan ylab
sebagai argumen di dalamnya.
3.4.6.2 Penentuan Jumlah Cluster
Memotong hasil clusterisasi menjadi 2 cluster
> anggotaave <- data.frame(id = rownames(data),cluster = cutree(hirave, k = 2)) > anggotaave id cluster 1 1 1 2 2 1 3 3 1 4 4 1 5 5 1 6 6 1 7 7 1 8 8 1 9 9 1 10 10 1 11 11 1 12 12 2> clus_hier <- eclust(datastand, FUNcluster = "hclust", k = 2, hc_method = "average", graph = TRUE) > fviz_dend(clus_hier, rect = TRUE, cex = 0.5)Fungsi
cutree()digunakan untuk memotong hasil klasterisasi hierarki yang disimpan dalam variabel hirave menjadi 2 klaster (dengan k = 2) dan hasilnya disimpan dalam data frame anggotaave, yang juga mencakup kolom id yang berisi nama kota atau kabupaten. Selanjutnya, fungsieclust()digunakan untuk melakukan klasterisasi hierarki pada data yang sudah distandarisasi (datastand) dengan metode average linkage, menghasilkan 2 klaster, dan visualisasi dendrogram klasterisasi ditampilkan denganfviz_dend(), yang menandai klaster menggunakan kotak dan mengatur ukuran teks pada dendrogram.Memotong hasil clusterisasi menjadi 6 cluster
> anggotaaverage <- data.frame(id = rownames(data),cluster = cutree(hirave, k = 6)) > anggotaaverage id cluster 1 1 1 2 2 1 3 3 2 4 4 3 5 5 4 6 6 2 7 7 2 8 8 2 9 9 5 10 10 2 11 11 4 12 12 6> clushier <- eclust(datastand, FUNcluster = "hclust", k = 6, hc_method = "average", graph = TRUE) > fviz_dend(clushier, rect = TRUE, cex = 0.5)Fungsi
cutree()digunakan untuk memotong hasil clusterisasi hierarki yang disimpan dalam variabel hirave menjadi 6 klaster (dengan k = 6) dan hasilnya disimpan dalam data frame anggotaaverage, yang juga mencakup kolom id yang berisi nama kota atau kabupaten. Selanjutnya, fungsieclust()digunakan untuk melakukan klasterisasi hierarki pada data yang sudah distandarisasi (datastand) dengan metode average linkage, menghasilkan 6 klaster, dan visualisasi dendrogram klasterisasi ditampilkan denganfviz_dend(), yang menandai klaster menggunakan kotak dan mengatur ukuran teks pada dendrogram.
3.4.7 Karakteristik Setiap Cluster
> ##Karakteristik Setiap Cluster
> idclus <- cutree(hirave,k=2)
> idclus
[1] 1 1 1 1 1 1 1 1 1 1 1 2
>
> result<-aggregate(data, list(idclus), mean)
> result
Group.1 Kota atau Kabupaten Padi-Padian Umbi-Umbian Ikan Daging
1 1 NA 671.75 30.57182 37.05091 84.29636
2 2 NA 884.90 38.25000 38.97000 63.66000
Telur dan Susu Sayur-Sayuran
1 62.47818 34.88364
2 41.63000 49.63000Fungsi cutree() digunakan untuk memotong hasil
klasterisasi hierarki yang disimpan dalam variabel hc
menjadi 2 klaster (dengan k = 2), dan hasilnya disimpan dalam variabel
clusters. Kemudian, fungsi aggregate()
digunakan untuk menghitung rata-rata dari setiap variabel dalam dataset
data, dikelompokkan berdasarkan klaster yang ada pada
clusters. Hasilnya disimpan dalam variabel
result, yang menampilkan karakteristik setiap klaster
dalam bentuk rata-rata nilai variabel.
4 HASIL DAN PEMBAHASAN
4.1 Statistika Deskriptif
> statdesk
Kota atau Kabupaten Padi-Padian Umbi-Umbian Ikan
Length:12 Min. :597.9 Min. :24.30 Min. :18.16
Class :character 1st Qu.:657.6 1st Qu.:26.69 1st Qu.:31.80
Mode :character Median :666.5 Median :30.12 Median :37.49
Mean :689.5 Mean :31.21 Mean :37.21
3rd Qu.:685.8 3rd Qu.:34.73 3rd Qu.:43.77
Max. :884.9 Max. :40.94 Max. :55.92
Daging Telur dan Susu Sayur-Sayuran
Min. : 52.27 Min. :41.63 Min. :23.46
1st Qu.: 68.53 1st Qu.:53.02 1st Qu.:32.58
Median : 83.69 Median :61.84 Median :35.17
Mean : 82.58 Mean :60.74 Mean :36.11
3rd Qu.: 96.75 3rd Qu.:68.13 3rd Qu.:40.34
Max. :111.18 Max. :80.14 Max. :49.63 Statistika deskriptif digunakan untuk memberikan gambaran umum serta menyajikan data mengenai rata-rata konsumsi kalori per kapita sehari pada 12 kota atau kabupaten di Provinsi Jawa Timur, yang dirinci berdasarkan subkelompok komoditas makanan. Informasi penting yang diperoleh, yaitu:
Kategori dengan rata-rata tertinggi adalah padi-padian (698.5) dan kategori dengan rata-rata terendah adalah umbi-umbian (31.21)
Rentang data tertinggi terdapat pada kategori padi-padian (287) dan rentang terendah adalah umbi-umbian (16.64)
Kategori daging memiliki rata-rata lebih tinggi (82.58) dibandingkan dengan kategori sumber protein lainnya seperti telur dan susu (60.74) dan ikan (37.21).
4.2 Analisis Cluster
4.2.1 Uji Asumsi Analisis Cluster
a. Uji Sampel Representatif
> kmo
Kaiser-Meyer-Olkin factor adequacy
Call: KMO(r = data[, 2:7])
Overall MSA = 0.55
MSA for each item =
Padi-Padian Umbi-Umbian Ikan Daging Telur dan Susu
0.64 0.52 0.54 0.55 0.55
Sayur-Sayuran
0.54 Berdasarkan hasil uji KMO di atas, dapat diketahui bahwa nilai Overall MSA = 0.55 (< 0.50) yang menunjukkan bahwa data secara umum bisa digunakan untuk analisis faktor, dan sampel dianggap telah representatif atau mewakili populasi.
b. Uji Non-Multikolinearitas
> korelasi
Padi-Padian Umbi-Umbian Ikan Daging Telur dan Susu
Padi-Padian 1.00000000 0.06164934 0.37959495 -0.45127343 -0.6798674
Umbi-Umbian 0.06164934 1.00000000 -0.48429437 -0.13261337 -0.2371158
Ikan 0.37959495 -0.48429437 1.00000000 0.09288873 -0.1288989
Daging -0.45127343 -0.13261337 0.09288873 1.00000000 0.7672905
Telur dan Susu -0.67986745 -0.23711583 -0.12889890 0.76729053 1.0000000
Sayur-Sayuran 0.12919491 0.79672229 -0.35814466 -0.02029157 -0.1147374
Sayur-Sayuran
Padi-Padian 0.12919491
Umbi-Umbian 0.79672229
Ikan -0.35814466
Daging -0.02029157
Telur dan Susu -0.11473741
Sayur-Sayuran 1.00000000Berdasarkan hasil nilai korelasi di atas, dapat diketahui bahwa tiap variabel memiliki nilai korelasi kurang dari 0.8, sehingga antar variabel dapat dikatan tidak terjadi multikolinieritas.
4.2.2 Standarisasi
Setelah dilakukan uji asumsi dan hasil yang diperoleh sudah memenuhi asumsi, langkah berikutnya adalah menstandarisasi variabel ke dalam bentuk Z-score. Kemudian hasil standarisasi digunakan untuk mengelompokkan kota/kabupaten berdasarkan rata-rata konsumsi kalori perkapita sehari.
4.2.3 Menghitung Jarak
Setelah dilakukan standarisasi data, langkah berikutnya adalah menghitung jarak nilai tengah objek setiap peubah dalam satu kelompok dengan menggunakan jarak Euclidean. Adapun hasil dari perhitungan jarak Euclidean dapat dilihat pada subab 3.4.3.
4.2.4 Koefisien Korelasi Cophenetic
Koefisien korelasi cophenetic digunakan sebagai dasar dalam menentukan metode terbaik yang akan digunakan pada analisis cluster. Metode terbaik dipilih berdarsakan metode dengan nilai korelasi yang mendekati 1. Berikut adalah hasil koefisien korelasi cophenetic.
> KorCop
cors corave corcomp corcen corward
1 0.9019297 0.9225779 0.9115257 0.9209498 0.9128657Berdasarkan hasil koefisien korelasi cophenetic di atas, dapat terlihat bahwa metode dengan nilai koefisien korelasi yang paling mendekati 1 dan tertinggi dibandingkan metode lain adalah metode Average Linkage, yaitu sebesar 0.9225779. Oleh karena itu, metode Average Linkage merupakan metode cluster terbaik yang akan digunakan.
4.2.5 Indeks Validitas
> optimalScores(inval)
Score Method Clusters
Connectivity 3.4539683 hierarchical 2
Dunn 0.7362369 hierarchical 6
Silhouette 0.3275384 hierarchical 2Berdasarkan hasil indeks validitas di atas, nilai Connectivity terbaik sebesar 3.45 dicapai pada 2 cluster (semakin kecil nilai ini, semakin baik), nilai Dunn tertinggi sebesar 0.736 tercapai pada 6 cluster (semakin besar, semakin baik), dan nilai Silhouette tertinggi sebesar 0.328 ditemukan pada 2 cluster (semakin mendekati 1, semakin baik). Dengan demikian, jumlah cluster yang optimal dapat dipertimbangkan berdasarkan indeks yang paling sesuai dengan tujuan analisis, yaitu 2 atau 6 cluster tergantung prioritas metrik yang digunakan.
4.2.6 Analisis Cluster Metode Average Linkage
> plot(hirave, labels = data$Kota.atau.Kabupaten,hang = -1, col = "black", main = "Cluster Dendrogram", sub = " ", xlab = "Kota/Kabupaten", ylab = "Jarak")Hasil analisis cluster divisualisasikan dalam bentuk dendogram di atas. Garis horizontal pada dendogram mewakili Kota/Kabupaten yang dikelompokkan, sedangkan garis vertikal menunjukkan jarak Euclidean antar Kota/Kabupaten.
- Memotong hasil clusterisasi menjadi 2 cluster
> anggotaave
id cluster
1 1 1
2 2 1
3 3 1
4 4 1
5 5 1
6 6 1
7 7 1
8 8 1
9 9 1
10 10 1
11 11 1
12 12 2> clus_hier <- eclust(datastand, FUNcluster = "hclust", k = 2, hc_method = "average", graph = TRUE)
> fviz_dend(clus_hier, rect = TRUE, cex = 0.5)Berdasarkan hasil indeks validitas nilai Connectivity dan nilai Silhouette, jumlah cluster yang optimal adalah 2 cluster. Cluster pertama, yang ditandai dengan warna biru, terdiri dari 11 Kota atau Kabupaten, yaitu Kota Kediri, Blitar, Malang, Probolinggo, Pasuruan, Mojokerto, Madiun, Surabaya, dan Batu, dan juga Kabupaten Sidoarjo, dan Gresik. Klaster kedua, yang ditandai dengan warna merah, terdiri dari satu Kabupaten, yaitu Banyuwangi.
- Memotong hasil clusterisasi menjadi 6 cluster
> anggotaaverage
id cluster
1 1 1
2 2 1
3 3 2
4 4 3
5 5 4
6 6 2
7 7 2
8 8 2
9 9 5
10 10 2
11 11 4
12 12 6> clushier <- eclust(datastand, FUNcluster = "hclust", k = 6, hc_method = "average", graph = TRUE)
> fviz_dend(clushier, rect = TRUE, cex = 0.5)Berdasarkan hasil indeks validitas nilai Dunn, jumlah cluster yang optimal adalah 6 cluster. Cluster pertama, yang ditandai dengan warna pink, terdiri dari dua Kota, yaitu Kediri dan Blitar. Cluster kedua, yang ditandai dengan warna biru tua, terdiri dari satu Kota, yaitu Surabaya. Cluster ketiga, yang ditandai dengan warna biru muda, terdiri dari 4 kota dan 1 kabupaten, yaitu Kota Mojokerto, Malang, Madiun, dan Surabaya, dan juga Kabupaten Sidoarjo. Cluster keempat, yang ditandai dengan warna hijau, terdiri dari dari 1 kota yaitu Pasuruan dan 1 kabupaten yaitu Gresik. Cluster kelima, yang ditandai dengan warna kuning, terdiri dari 1 kota yaitu Probolinggo. Cluster keenam, yang ditandai dengan warna merah, terdiri dari 1 kabupaten yaitu Banyuwangi.
4.2.7 Karakteristik Setiap Cluster
> idclus <- clus_hier$cluster
> idclus
1 2 3 4 5 6 7 8 9 10 11 12
1 1 1 1 1 1 1 1 1 1 1 2
> aggregate(data,list(idclus),mean)
Group.1 Kota atau Kabupaten Padi-Padian Umbi-Umbian Ikan Daging
1 1 NA 671.75 30.57182 37.05091 84.29636
2 2 NA 884.90 38.25000 38.97000 63.66000
Telur dan Susu Sayur-Sayuran
1 62.47818 34.88364
2 41.63000 49.63000Dari hasil tersebut, pada komoditi padi-padian cluster 1 memiliki rata-rata sebesar 671.75, yang menunjukkan bahwa rata-rata kalori harian komoditi padi-padian pada kota/kabupaten pada cluster 1 relatif lebih rendah dibandingkan dengan cluster 2, yang memiliki rata-rata 884.90. Artinya, kota/kabupaten dalam cluster 2 umumnya mengonsumsi komoditi padi-padian lebih banyak dibandingkan dengan cluster 1.
Pada komoditi umbi-umbian cluster 2 memiliki rata-rata sebesar 38.25, yang menunjukkan bahwa rata-rata kalori harian komoditi umbi-umbian pada kota/kabupaten pada cluster 1 relatif lebih rendah dibandingkan dengan cluster 2, yang memiliki rata-rata 30.57182. Artinya, kota/kabupaten dalam cluster 2 umumnya mengonsumsi komoditi umbi-umbian lebih banyak dibandingkan dengan cluster 1.
Pada komoditi ikan cluster 1 memiliki rata-rata sebesar 37.05091, yang menunjukkan bahwa rata-rata kalori harian komoditi ikan pada kota/kabupaten pada cluster 1 relatif lebih rendah dibandingkan dengan cluster 2, yang memiliki rata-rata 38.97. Artinya, kota/kabupaten dalam cluster 2 umumnya mengonsumsi komoditi ikan lebih banyak dibandingkan dengan cluster 1.
Pada komoditi daging cluster 1 memiliki rata-rata sebesar 84.29636, yang menunjukkan bahwa rata-rata kalori harian komoditi daging pada kota/kabupaten pada cluster 1 relatif lebih tinggi dibandingkan dengan cluster 2, yang memiliki rata-rata 63.66. Artinya, kota/kabupaten dalam cluster 1 umumnya mengonsumsi komoditi daging lebih banyak dibandingkan dengan cluster 2.
Pada komoditi telur dan susu cluster 1 memiliki rata-rata sebesar 62.47818, yang menunjukkan bahwa rata-rata kalori harian komoditi telur dan susu pada kota/kabupaten pada cluster 1 relatif lebih tinggi dibandingkan dengan cluster 2, yang memiliki rata-rata 41.63. Artinya, kota/kabupaten dalam cluster 1 umumnya mengonsumsi komoditi telur dan susu lebih banyak dibandingkan dengan cluster 2.
Pada komoditi sayur-sayuran cluster 1 memiliki rata-rata sebesar 34.88364, yang menunjukkan bahwa rata-rata kalori harian komoditi sayur-sayuran pada kota/kabupaten pada cluster 1 relatif lebih rendah dibandingkan dengan cluster 2, yang memiliki rata-rata 49.63. Artinya, kota/kabupaten dalam cluster 2 umumnya mengonsumsi komoditi sayur-sayuran lebih banyak dibandingkan dengan cluster 2.
5 KESIMPULAN
Berdasarkan hasil analisis cluster dengan metode average linkage, kota/kabupaten di Provinsi Jawa Timur berhasil dikelompokkan berdasarkan rata-rata kalori per kapita sehari dari berbagai sub kelompok komoditi makanan pada tahun 2023 ke dalam 2 cluster berdasarkan indeks validitas connectivity dan silhouette, dan 6 cluster berdasarkan indeks Dunn.
Kota/kabupaten yang tergabung dalam cluster 1 cenderung memiliki konsumsi lebih tinggi untuk komoditi seperti daging serta telur dan susu, yang mungkin mencerminkan tingkat kesejahteraan atau daya beli yang lebih tinggi. Sebaliknya, kota/kabupaten di cluster 2 memiliki konsumsi lebih tinggi untuk komoditi padi-padian, umbi-umbian, ikan, dan sayur-sayuran, yang dapat mengindikasikan pola konsumsi masyarakat yang lebih bergantung pada sumber pangan pokok atau akses yang lebih besar ke komoditi tersebut.
Perbedaan ini kemungkinan dipengaruhi oleh faktor geografis, seperti aksesibilitas terhadap sumber daya lokal (contohnya kota di wilayah pesisir seperti yang lebih banyak mengonsumsi ikan), serta faktor sosial-ekonomi, seperti pendapatan, tingkat pendidikan, dan preferensi konsumsi masyarakat di masing-masing cluster.
6 DAFTAR PUSTAKA
Badan Pusat Statistik. (2024). Rata-rata Kalori Perkapita Sehari di Provinsi Jawa Timur Dirinci Menurut Kabupaten/Kota dan Sub Kelompok Komoditi Makanan, 2023. Diakses pada 27 November 2024 di https://jatim.bps.go.id/id/statistics-table/1/MzExMCMx/rata-rata-kalori-perkapita-sehari-di-provinsi-jawa-timur-dirinci-menurut–kabupaten-kota-dan-sub-kelompok-komoditi-makanan–2023.html
Dani, A., T., R., Wahyuningsih, S., Rizki, N., A. Pengelompokkan Data Runtun Waktu menggunakan Analisis Cluster (Studi Kasus: Nilai Ekspor Komoditi Migas dan Nonmigas Provinsi Kalimantan Timur Periode Januari 2000-Desember 2016). Jurnal Eksponensial, 11(1), 29-28.
Gujarati, D. N. 1978. Ekonometrika Dasar. Jakarta: Erlangga.
Laraswati, T. F. (2015). Perbandingan Kinerja Metode Complete Linkage, Metode Average, dan Metode K-Means dalam Menentukan Hasil Analisis Cluster. (Skripsi, Universitas Negeri Yogyakarta, Yogyakarta).
Maysani, R., & Pujiastuti, H. (2020). Analisis Kesulitan Mahasiswa dalam Mata Kuliah Statistika Deskriptif. Al-Khawarizmi: Jurnal Pendidikan dan Pembelajaran Matematika, 4(1), 32-49.
Muhartini, A. A., Febriati, T., Sukmawati, S. (2022). Analisis Cluster untuk Mengelompokkan Penggunaan Kartu Perdana Seluler di Universitas Bina Bangsa. Jurnal Bayesian: Jurnal Ilmiah Statistika dan Ekonometrika, 2(1), 15-30.
Ningrat, D. R., Maruddani, D. A. I., Wuryandari, T. (2016). Analisis Cluster dengan Algoritma K-Means dan Fuzzy C-Means Clustering untuk Pengelompokkan Data Obligasi Korporasi. Jurnal Gaussian, 5(4), 641-650.
Novaldi, J., Wijayanto, A. W. (2023). Analisis Cluster Kualitas Pemuda di Indonesia pada Tahun 2022 dengan Agglomerative Hierarchical dan K-Means. Komputika: Jurnal Sistem Komputer, 12(2), 211-219.
Sirojuddin, A. (2016). Analisis Cluster pada Kabupaten/Kota di Provinsi Jawa Timur Berdasarkan Indikator Indeks Pembangunan Manusia. (Skripsi, Universitas Islam Negeri Maulana Malik Ibrahim, Malang).
Talakua, M. W., Leleury, Z. A., dan Talluta, A. W. (2017). Analisis Cluster dengan Menggunakan Metode K-Means untuk Pengelompokkan Kabupaten/Kota di Provinsi Maluku Berdasarkan Indikator Indeks Pembangunan Manusia Tahun 2014. Jurnal Ilmu Matematika dan Terapan, 11(2), 119-128.
Yuniarti, R. (2022). Kesalahan Mahasiswa Program Studi Administrasi Publik dalam Menyelesaikan Soal Statistika Deskriptif dan Statistika Inferensial. Jurnal Sains Matematika dan Statistika, 8(1), 46-58.