Distribusi titik secara spasial merupakan perwujudan fenomena dalam ruang. Pengetahuan tentang pola distribusi titik dalam ruang akan mempermudah mencari solusi penyebab pola-pola titik dalam ruang tersebut terwujud. Oleh karena itu deteksi pola sebaran titik spasial cukup penting diketahui. Untuk itu dilakukan deteksi pola titik spasial dengan metode kuadran dan tetangga terdekat. Pola titik spasial secara alamiah umumnya secara acak. Oleh karena itu pengetahuan tentang sebaran peluang yang melandasi pola titik spasial yang diakibatkan proses acak perlu diketahui. Hasil menunjukkan bahwa titik spasial yang menyebar secara acak ternyata mempunyai sebaran massa peluang poisson. Titik spasial menyebar secara acak akan mempunyai nilai vmr mendekati satu karena nilai rata-rata dan ragamnya sama yakni sebesar . Sebaran titik spasial yang dibangkitkan dengan mengikuti sebaran peluang poisson tetap merupakan sebaran titik yang acak dan tidak dipengaruhi oleh banyaknya sekatan yang diberikan pada metode kuadran. Hasil yang sama ditunjukkan dengan metode tetangga terdekat (Rusman, 2024).
Fenomena riil bidang spasial pada umumnya ditunjukkan oleh pola titik pada bidang spasial tersebut. Pola tersebut terbagi menjadi tiga yakni pola sangat regular (teratur), pola clustering (mengelompok) dan pola yang tidak beraturan (acak). Metode yang sering digunakan adalah metode Kuadran dan Nearest Neighbor (Tetangga Terdekat). Beberapa hal yang sangat menentukan dalam analisis Kuadran, yakni ukuran kuadran, jumlah kuadran dan bentuk kuadran .
Dalam analisis pola titik spasial ini, kita diharapkan bisa mengetahui jenis pola yang terbentuk, sehingga analisis yang tepat pada tahap selanjutnya dapat ditentukan. Pola spasial dapat menggambarkan adanya konsentrasi kejadian, keterkaitan antar lokasi, serta potensi faktor pemicu yang bersifat keruangan. Maka dari itu, pada praktikum kali ini kita akan belajar menentukan pola titik data spasial yang dimiliki dengan menggunakan program R (Saputri,2020).
Berikut library yang digunakan:
library(spatstat)
## Warning: package 'spatstat' was built under R version 4.4.3
## Loading required package: spatstat.data
## Warning: package 'spatstat.data' was built under R version 4.4.3
## Loading required package: spatstat.univar
## Warning: package 'spatstat.univar' was built under R version 4.4.3
## spatstat.univar 3.1-4
## Loading required package: spatstat.geom
## Warning: package 'spatstat.geom' was built under R version 4.4.3
## spatstat.geom 3.6-0
## Loading required package: spatstat.random
## Warning: package 'spatstat.random' was built under R version 4.4.3
## spatstat.random 3.4-2
## Loading required package: spatstat.explore
## Warning: package 'spatstat.explore' was built under R version 4.4.3
## Loading required package: nlme
## spatstat.explore 3.5-3
## Loading required package: spatstat.model
## Warning: package 'spatstat.model' was built under R version 4.4.3
## Loading required package: rpart
## Warning: package 'rpart' was built under R version 4.4.3
## spatstat.model 3.4-2
## Loading required package: spatstat.linnet
## Warning: package 'spatstat.linnet' was built under R version 4.4.3
## spatstat.linnet 3.3-2
##
## spatstat 3.4-1
## For an introduction to spatstat, type 'beginner'
library(spatstat.data)
Data ini berisi kumpulan koordinat titik yang merepresentasikan posisi sel-sel biologis yang diamati di bawah mikroskop.
data(cells)
X <- cells
plot(X, main = "Pola Sebaran Titik - Data Cells")
Penjelasan:
Plot Sebaran Titik menampilkan posisi setiap titik (sel) di dalam bidang persegi. Titik-titik tersebut tampak tersebar hampir merata di seluruh area, tanpa ada daerah yang terlihat sangat padat atau sangat kosong. Hal ini memberikan indikasi awal bahwa pola sebarannya mungkin tidak mengelompok.
plot(density(X, 10), main = "Kepadatan Titik - Data Cells")
Penjelasan:
Peta Kepadatan (Density Map) memperlihatkan tingkat kepadatan titik di berbagai area. Warna yang muncul hampir seragam di seluruh bidang menandakan bahwa kepadatan titik relatif merata, sehingga tidak ada area dengan konsentrasi titik yang jauh lebih tinggi dibandingkan area lain.
Q <- quadratcount(X, nx = 4, ny = 3)
plot(X, main = "Hasil Pembagian Kuadran")
plot(Q, add = TRUE, cex = 2, col = "red")
Penjelasan:
Plot Kuadran membagi bidang menjadi beberapa bagian (kuadran) untuk menghitung banyaknya titik di tiap bagian. Angka yang muncul di setiap kuadran menunjukkan jumlah titik pada area tersebut. Karena selisih jumlah titik antar-kuadran tidak jauh berbeda, maka secara umum dapat disimpulkan bahwa sebaran titik bersifat seragam atau merata.
mean_Q <- mean(Q)
var_Q <- sd(Q)^2
VMR <- var_Q / mean_Q
VMR
## [1] 0.3376623
uji_kuadran <- quadrat.test(X, nx = 4, ny = 3)
## Warning: Some expected counts are small; chi^2 approximation may be inaccurate
uji_kuadran
##
## Chi-squared test of CSR using quadrat counts
##
## data: X
## X2 = 3.7143, df = 11, p-value = 0.04492
## alternative hypothesis: two.sided
##
## Quadrats: 4 by 3 grid of tiles
Interpretasi:
Hipotesis:
Statistik Uji:
Keputusan (dengan alpha = 0.05):
Karena p-value = 0.04492 < 0.05, kita menolak H0
Kesimpulan:
Berikut library yang digunakan:
library(sp)
## Warning: package 'sp' was built under R version 4.4.3
library(spatstat.geom)
library(datasets)
data(quakes)
coordinates(quakes) <- ~long+lat
nni <- function(x, win = c("hull", "extent")) {
win <- match.arg(win)
W <- if (win == "hull") convexhull.xy(coordinates(x)) else {
e <- as.vector(bbox(x))
as.owin(c(e[1], e[3], e[2], e[4]))
}
p <- as.ppp(coordinates(x), W = W)
A <- area.owin(W)
o <- mean(nndist(p)) # jarak rata-rata aktual (observed)
e <- 0.5 * sqrt(A / p$n) # jarak rata-rata harapan (expected)
se <- 0.26136 * sqrt(A) / p$n # standar error
z <- (o - e) / se # nilai z
p2 <- 2 * pnorm(-abs(z)) # p-value (dua sisi)
list(
NNI = o / e,
z = z,
p.value = p2,
expected.mean.distance = e,
observed.mean.distance = o
)
}
nni(quakes)
## Warning: data contain duplicated points
## $NNI
## [1] 0.5470358
##
## $z
## [1] -27.40279
##
## $p.value
## [1] 2.540433e-165
##
## $expected.mean.distance
## [1] 0.2998562
##
## $observed.mean.distance
## [1] 0.1640321
Interpretasi:
Hipotesis:
Statistik Uji:
Kriteria Pengambilan Keputusan:
Tingkat signifikansi yang digunakan: α = 0.05
Kesimpulan:
Karena |Z-hitung| (27.40279) > Z-tabel (1.96) maka tolak H0. Sehingga terdapat bukti yang sangat signifikan bahwa pola sebaran titik tidak acak.
Nilai NNI = 0.547 (< 1) menunjukkan bahwa jarak rata-rata antar titik lebih kecil dibanding jarak yang diharapkan pada pola acak. Dengan demikian, pola sebaran titik bersifat mengelompok (clustered).
Berdasarkan hasil kedua analisis, baik menggunakan metode Variance Mean Ratio (VMR) maupun Nearest Neighbor Index (NNI), dapat disimpulkan bahwa pola sebaran titik tidak bersifat acak (tidak mengikuti pola CSR) pada taraf signifikansi 5%. Namun, arah penyimpangan pola berbeda pada masing-masing metode: hasil uji VMR menunjukkan nilai VMR < 1, yang mengindikasikan pola sebaran titik cenderung teratur (uniform) atau tersebar merata; sedangkan hasil uji NNI menghasilkan nilai NNI < 1, yang menunjukkan pola sebaran titik mengelompok (clustered). Perbedaan ini dapat terjadi karena pendekatan kedua metode berbeda—VMR lebih sensitif terhadap variasi jumlah titik dalam unit-area, sedangkan NNI lebih fokus pada jarak antar titik. Secara umum, kedua hasil tersebut sama-sama menunjukkan adanya keteraturan spasial yang nyata, menandakan bahwa sebaran titik tidak acak dan memiliki pola tertentu dalam ruang.
Rusman, A., & Saputra, I. A. (2024). Distribui Spasial Permukiman Kumuh Di Kecamatan Palu Selatan Kota Palu. Jurpis: Jurnal Pendidikan Ilmu Sosial, 21(1), 120-140.
Modul Statistika Spasial Pertemuan 2. (2025). Visualisasi data spasial dengan R. Program Studi Statistik.
Saputri, S. W., & Indrianawati, I. (2020). Analisis pola spasial dan tingkat kerawanan kecelakaan lalu lintas Kabupaten Sleman.