← Back to list

Optimalisasi Penempatan Kios Bike Sharing LLC dengan K-Means Clustering dan Strategi Anggaran…

K-Means Clustering merupakan salah satu metode non-hirarki yang mengelompokan data ke dalam beberapa cluster, di mana data dalam satu…

SHIFA QONITA - · 2024-11-09 08:05 · 166 claps · 13.9 min read
#k-means-clustering #busines-intelligence #budget-analysis
Open on Medium ↗

Optimalisasi Penempatan Kios Bike Sharing LLC dengan K-Means Clustering dan Strategi Anggaran Efektif

K-Means Clustering merupakan salah satu metode non-hirarki yang mengelompokan data ke dalam beberapa cluster, di mana data dalam satu cluster mempunyai karakteristik yang sama dan berbeda dengan data pada cluster lain. K-Means Clustering analysis banyak digunakan dalam penelitian karena memiliki ketelitian yang cukup tinggi terhadap ukuran objek, sehingga algoritma ini relatif terukur dan efisien. Selain itu algoritma k-means tidak terpengaruh dengan adanya urutan objek.

Strategic Placement of Customer Service Kiosks

Bike Sharing LLC telah berkembang pesat di wilayah metropolitan Washington, D.C. Untuk meningkatkan interaksi dengan pelanggan, manajemen berencana untuk mendirikan hingga lima kios layanan pelanggan di lokasi strategis. Kios-kios ini akan dikelola oleh staf sepanjang hari dan menyediakan berbagai produk seperti pita pelindung celana, peta kota, botol air, makanan ringan, serta barang lainnya. Selain itu, staf kios akan membantu pengguna dengan memberikan informasi, menjawab pertanyaan, dan mendorong pendaftaran pengguna untuk menciptakan pengalaman pelanggan yang lebih personal.

K-Means Clustering dapat diterapkan untuk menentukan lokasi strategis kios layanan pelanggan Bike Sharing LLC berdasarkan distribusi geografis stasiun sepeda yang ada. Dengan menggunakan algoritma K-Means, data lokasi stasiun sepeda yang tersebar di wilayah metropolitan Washington, D.C. dapat dikelompokkan menjadi beberapa klaster berdasarkan kedekatannya. Setiap klaster yang terbentuk akan mewakili area dengan konsentrasi stasiun sepeda yang tinggi, sehingga memudahkan penempatan kios di titik-titik yang memiliki potensi aksesibilitas terbaik bagi pengguna. Dengan analisis K-Means, manajemen dapat memastikan kios ditempatkan di lokasi yang optimal, mengurangi jarak yang harus ditempuh oleh pengguna untuk mencapai kios terdekat, dan meningkatkan efisiensi serta interaksi pelanggan.

Sumber data yang digunakan dalam analisis ini https://github.com/PacktPublishing/Introduction-To-R-For-Business-Intelligence dengan dataset Ch5_bike_station_locations.csv. Data ini berisi informasi mengenai lokasi stasiun sepeda yang tersebar di wilayah metropolitan Washington, D.C., dan digunakan untuk melakukan analisis penempatan kios layanan pelanggan menggunakan K-Means Clustering.

Exploratory Data Analysis

Tahap eksplorasi data stasiun sepeda dimulai dengan menganalisis set data yang mencakup informasi mengenai koordinat geografis setiap stasiun, yang terdiri dari nilai longitud dan latitud.

stations <- read.csv("C:\\Users\\HP\\OneDrive\\Documents\\Semester 5\\BI\\Introduction\\bike\\Ch5_bike_station_locations.csv")

Output di atas menampilkan dataset yang berisi koordinat geografis (latitude dan longitude) untuk sejumlah lokasi.

summary(stations)

Berdasarkan output diatas, tidak ada data yang hilang dan data hanya berisi daftar lokasi stasiun dengan koordinatnya (latitude dan longitude). Berdasarkan rangkuman data, latitude stasiun berada di antara 38.83 hingga 38.99, dengan rata-rata 38.91. Sedangkan longitude berkisar dari -77.11 hingga -76.92, dengan rata-rata -77.01.

Distribusi geografis stasiun sepeda dapat dilihat melalui histogram latitude dan longitude, yang menunjukkan sebaran stasiun dari utara ke selatan serta dari barat ke timur.

hist(stations$latitude, col = 'gray')
hist(stations$longitude, ylim = c(0, 60), col = 'gray')
plot(stations$longitude, stations$latitude, asp = 1)

Output di atas menunjukkan tiga visualisasi yang menggambarkan distribusi geografis stasiun sepeda berdasarkan koordinat latitude dan longitude. Grafik pertama adalah histogram latitude, yang menunjukkan bahwa sebagian besar stasiun sepeda berada di sekitar nilai latitude antara 38.88 hingga 38.94. Grafik kedua adalah histogram longitude, yang menunjukkan bahwa banyak stasiun berlokasi di sekitar nilai longitude antara -77.05 hingga -77.00. Grafik ketiga adalah scatter plot yang memetakan longitude di sumbu x dan latitude di sumbu y, menunjukkan distribusi spasial stasiun sepeda. Scatter plot ini memperliharkan area dengan konsentrasi stasiun tinggi, serta beberapa area yang lebih jarang atau kosong

Cluster Analysis

Untuk menganalisis persebaran stasiun sepeda, dibuat beberapa model pengelompokan menggunakan metode k-means dengan jumlah klaster yang berbeda, yaitu dua, tiga, empat, dan lima klaster. Setiap model akan menghasilkan pusat klaster (centroid) yang menggambarkan titik tengah dari setiap kelompok, serta ukuran relatif masing-masing klaster yang menunjukkan jumlah stasiun sepeda yang tergabung dalam setiap kelompok. Hasil dari berbagai model pengelompokan ini akan dibandingkan untuk menentukan jumlah klaster yang paling tepat dalam menggambarkan pola distribusi stasiun sepeda.

two = kmeans(stations, 2)
three = kmeans(stations, 3)
four = kmeans(stations, 4)
five = kmeans(stations, 5)

clus <- cbind(stations, clus2 = two$cluster,
              clus3 = three$cluster, clus4 = four$cluster, clus5 = five$clus )
head(clus)

Output di atas menunjukkan hasil pengelompokan lokasi stasiun sepeda berdasarkan koordinat latitude dan longitude menggunakan metode k-means dengan jumlah klaster yang berbeda, yaitu dua, tiga, empat, dan lima klaster. Kolom latitude dan longitude berisi koordinat setiap stasiun, sedangkan kolom clus2, clus3, clus4, dan clus5 menunjukkan hasil pengelompokan k-means dengan jumlah klaster berbeda. Misalnya, clus2 membagi stasiun menjadi dua klaster, clus3 menjadi tiga klaster, dan seterusnya.

Visualization and Analysis of Cluster Models

Visualisasi dilakukan untuk melihat distribusi dan pola pengelompokan kios berdasarkan jumlah klaster yang berbeda, serta untuk mengidentifikasi lokasi kios-kios potensial di setiap klaster.

# K-means 2 klaster
par(mfrow = c(2, 2))
plot(clus$longitude, clus$latitude, col = two$cluster, asp = 1,
     pch = two$cluster, main = "Sites for Two Kiosks",
     xlab = "Longitude", ylab = "Latitude")
points(two$centers[ ,2], two$centers[ ,1], pch = 23,
       col = 'maroon', bg = 'lightblue', cex = 3)
text(two$centers[ ,2], two$centers[ ,1], cex = 1.1,
     col = 'black', attributes(two$centers)$dimnames[[1]])

Output di atas menunjukkan hasil pengelompokan stasiun sepeda menjadi dua klaster menggunakan metode k-means. Lingkaran hitam dan segitiga merah merepresentasikan dua kelompok stasiun yang berbeda, dengan angka “1” dan “2” sebagai pusat klaster atau centroid dari masing-masing kelompok.

# K-means 3 klaster
plot(clus$longitude, clus$latitude, col = three$cluster, asp = 1,
     pch = three$cluster, main = "Sites for Three Kiosks",
     xlab = "Longitude", ylab = "Latitude")
points(three$centers[ ,2], three$centers[ ,1], pch = 23,
       col = 'maroon', bg = 'lightblue', cex = 3)
text(three$centers[ ,2], three$centers[ ,1], cex = 1.1,
     col = 'black', attributes(three$centers)$dimnames[[1]])

Output di atas menunjukkan hasil pengelompokan stasiun sepeda menjadi tiga klaster menggunakan metode k-means. Setiap kelompok ditandai dengan simbol yang berbeda yaitu lingkaran hitam, segitiga merah, dan tanda plus hijau. Angka “1,” “2,” dan “3” menunjukkan pusat klaster atau centroid untuk masing-masing kelompok.

# K-means 4 klaster
plot(clus$longitude, clus$latitude, col = four$cluster, asp = 1,
     pch = four$cluster, main = "Sites for Fourth kiosks",
     xlab = "Longitude", ylab = "Latitude")
points(four$centers[ ,2], four$centers[ ,1], pch = 23,
       col = 'maroon', bg = 'lightblue', cex = 3)
text(four$centers[ ,2], four$centers[ ,1], cex = 1.1,
     col = 'black', attributes(four$centers)$dimnames[[1]])

Output di atas menunjukkan hasil pengelompokan stasiun sepeda menjadi empat klaster menggunakan metode k-means. Setiap klaster ditandai dengan simbol yang berbeda yaitu lingkaran hitam, segitiga merah, tanda plus hijau, dan tanda silang biru. Angka “1,” “2,” “3,” dan “4” menunjukkan pusat klaster atau centroid untuk setiap kelompok.

# K-means 5 klaster
plot(clus$longitude, clus$latitude, col = five$cluster, asp = 1,
     pch = five$cluster, main = "Sites for Five kiosks",
     xlab = "Longitude", ylab = "Latitude")
points(five$centers[ ,2], five$centers[ ,1], pch = 23,
       col = 'maroon', bg = 'lightblue', cex = 3)
text(five$centers[ ,2], five$centers[ ,1], cex = 1.1,
     col = 'black', attributes(five$centers)$dimnames[[1]])

Output di atas menunjukkan hasil pengelompokan stasiun sepeda menjadi lima klaster menggunakan metode k-means. Setiap klaster ditandai dengan simbol yang berbeda yaitu lingkaran hitam, segitiga merah, tanda silang biru, tanda plus hijau, dan belah ketupat biru muda. Angka “1,” “2,” “3,” “4,” dan “5” menunjukkan pusat klaster atau centroid dari setiap kelompok.

Langkah selanjutnya adalah membuat daftar lokasi potensial untuk kios pada setiap model, dengan fokus pada penyebaran kios di area yang memiliki kepadatan tinggi.

two$centers

Output di atas menunjukkan pusat klaster (centroids) dari setiap model k-means yang telah dibuat. Setiap pusat klaster ini bisa dianggap sebagai lokasi potensial untuk mendirikan kios. Model dengan 2 kluster menghasilkan dua pusat yang luas, dengan titik-titik pusat pada koordinat (38.88838, -76.97846) dan (38.93855, -77.03975).

three$centers

Model dengan tiga kluster menghasilkan tiga pusat lokasi di koordinat (38.93765, -77.01089), (38.87904, -76.97566), dan (38.93327, -77.06502).

four$centers

Model dengan empat kluster menghasilkan empat titik pusat di koordinat (38.90008, -76.94203), (38.94085, -77.01424), (38.93235, -77.06589), dan (38.87545, -76.99288).

five$centers

Model dengan lima kluster menghasilkan lima titik pusat di koordinat (38.87047, -76.99240), (38.90581, -76.95184), (38.93295, -77.07737), (38.96106, -77.02143), dan (38.91917, -77.02334). Model dengan lebih banyak klaster, seperti model dengan dua, tiga, empat, dan lima klaster, lebih cocok untuk penempatan kios di area dengan kepadatan tinggi. Model tersebut memungkinkan kios tersebar lebih merata di area padat, sehingga kios dapat ditempatkan di lokasi strategis yang dapat menjangkau lebih banyak pelanggan.

Distance Impact Quantification

Hitung perbedaan antar model berdasarkan jarak rata-rata dan jarak maksimum yang harus ditempuh oleh pengendara dari setiap stasiun sepeda ke kios terdekat. Lokasi kios akan memengaruhi seberapa dekat jarak antara stasiun sepeda dan kios.

#Menghitung jarak rata-rata dan maksimum dari stasiun ke pusat kios terdekat
calculate_distances <- function(kmeans_result, stations) {
  centers <- kmeans_result$centers
  stations_with_cluster <- cbind(stations, cluster = kmeans_result$cluster)

  distances <- sapply(1:nrow(stations), function(i) {
    station_coords <- c(stations$longitude[i], stations$latitude[i])
    center_coords <- c(centers[stations_with_cluster$cluster[i], 2], 
                       centers[stations_with_cluster$cluster[i], 1])
    distGeo(station_coords, center_coords)
  })

  avg_distance <- mean(distances)/1000
  max_distance <- max(distances)/1000
  return(list(avg_distance = avg_distance, max_distance = max_distance))
}

Fungsi calculate_distancesdigunakan untuk menghitung jarak rata-rata dan jarak maksimum dari setiap stasiun ke pusat kios (centroid klaster) terdekat berdasarkan hasil k-means clustering.

#Menghitung jarak rata-rata dan maksimum dari stasiun ke pusat kios terdekat
calculate_distances <- function(kmeans_result, stations) {
  centers <- kmeans_result$centers
  stations_with_cluster <- cbind(stations, cluster = kmeans_result$cluster)

  distances <- sapply(1:nrow(stations), function(i) {
    station_coords <- c(stations$longitude[i], stations$latitude[i])
    center_coords <- c(centers[stations_with_cluster$cluster[i], 2], 
                       centers[stations_with_cluster$cluster[i], 1])
    distGeo(station_coords, center_coords)
  })

  avg_distance <- mean(distances)/1000
  max_distance <- max(distances)/1000
  return(list(avg_distance = avg_distance, max_distance = max_distance))
}

# Mengitung jarak untuk setiap model clustering
distance_2 <- calculate_distances(two, stations)
distance_3 <- calculate_distances(three, stations)
distance_4 <- calculate_distances(four, stations)
distance_5 <- calculate_distances(five, stations)

# Memasukkan hasil ke dalam data frame
results_df <- data.frame(
  k = 2:5,
  average_distances = c(distance_2$avg_distance, distance_3$avg_distance, distance_4$avg_distance, distance_5$avg_distance),
  max_distances = c(distance_2$max_distance, distance_3$max_distance, distance_4$max_distance, distance_5$max_distance)
)
results_df

Output tersebut menunjukkan hasil perhitungan jarak rata-rata dan jarak maksimum antara stasiun sepeda dan kios terdekat untuk berbagai nilai kr. Seiring meningkatnya nilai klaster (k), baik jarak rata-rata maupun jarak maksimum semakin kecil, menunjukkan bahwa stasiun sepeda menjadi lebih dekat ke kios terdekat.

Hybrid Recommendation Strategy

Strategi hibrida ini mengoptimalkan distribusi kios dengan membangun dua, tiga, atau empat kios dari lima lokasi klaster yang telah ditentukan. Pendekatan ini memungkinkan fleksibilitas dalam pemilihan lokasi kios untuk memastikan cakupan layanan yang luas sesuai kebutuhan dan anggaran.

# Menggabungkan dua komponen data
hybrid <- cbind(clus, hybrid_shape = rep(0, dim(clus)[1]))

# Visualisasi data lokasi kios
par(mfrow = c(1,3))

# Hybrida Two Kiosks
plot(hybrid$longitude, hybrid$latitude, col = five$cluster,
     main = "Hybrid: Sites for two kiosks in five cluster
locations", pch = hybrid$hybrid_shape, cex = 1.1,
     xlab = "Longitude", ylab = "Latitude", asp = 1)
points(two$centers[1:2, 2], two$centers[1:2, 1],
       pch = 23, col = 'maroon', bg = 'lightblue', cex = 3)
text(two$centers[1:2, 2], two$centers[1:2, 1], cex = 1.1,
     col = 'black', attributes(two$centers)$dimnames[[1]])

Output di atas menunjukkan dua lokasi kios yang dipilih dari lima klaster sebagai bagian dari strategi hibrida. Setiap warna kotak mewakili klaster yang berbeda, dengan angka “1” dan “2” menunjukkan lokasi kios terpilih.

# Hybrida Three Kiosks
plot(hybrid$longitude, hybrid$latitude, col = five$cluster,
     main = "Hybrid: Sites for three kiosks in five cluster
locations", pch = hybrid$hybrid_shape, cex = 1.1,
     xlab = "Longitude", ylab = "Latitude", asp = 1)
points(three$centers[1:3, 2], three$centers[1:3, 1],
       pch = 23, col = 'maroon', bg = 'lightblue', cex = 3)
text(three$centers[1:3, 2], three$centers[1:3, 1], 
     cex = 1.1, col = 'black', attributes(three$centers)$dimnames[[1]])

Output di atas menunjukkan tiga lokasi kios yang dipilih dari lima klaster sebagai bagian dari strategi hibrida. Setiap warna kotak mewakili klaster yang berbeda, dengan angka “1,” “2,” dan “3” menunjukkan lokasi kios terpilih.

# Hybrida Four Kiosks
plot(hybrid$longitude, hybrid$latitude, col = five$cluster,
     main = "Hybrid: Sites for four kiosks in five cluster
locations", pch = hybrid$hybrid_shape, cex = 1.1,
     xlab = "Longitude", ylab = "Latitude", asp = 1)
points(four$centers[1:4, 2], four$centers[1:4, 1],
       pch = 23, col = 'maroon', bg = 'lightblue', cex = 3)
text(four$centers[1:4, 2], four$centers[1:4, 1], 
     cex = 1.1, col = 'black', attributes(four$centers)$dimnames[[1]])

Output di atas menunjukkan empat lokasi kios yang dipilih dari lima klaster sebagai bagian dari strategi hibrida. Setiap warna kotak mewakili klaster yang berbeda, dan angka “1,” “2,” “3,” dan “4” menunjukkan empat lokasi kios terpilih.

Ketiga plot hibrida ini menunjukkan bahwa semakin banyak kios yang dipilih, distribusinya semakin merata dan jarak pengguna ke kios terdekat semakin pendek. Rekomendasi terbaik adalah memilih tiga atau empat kios. Tiga kios sudah cukup efisien dengan cakupan area yang baik, sedangkan empat kios memberikan aksesibilitas maksimal, menjamin jarak yang lebih dekat bagi pengguna di hampir semua area padat stasiun sepeda.

Future Growth and Impact Analysis

Evaluasi dampak strategi hibrida terhadap aksesibilitas pengendara dilakukan dengan membandingkannya dengan model lima kios. Evaluasi ini bertujuan untuk memahami sejauh mana strategi hibrida dapat meningkatkan akses pengguna dibandingkan dengan model lima kios, serta untuk mengidentifikasi kelebihan dan kekurangan masing-masing opsi dalam memberikan kemudahan akses ke kios di berbagai area.

# Menghitung rata-rata dan maksimum jarak untuk setiap kombinasi kios
calculate_combination_distances <- function(stations, centers_subset) {
  distances <- sapply(1:nrow(stations), function(i) {
    station_coords <- c(stations$longitude[i], stations$latitude[i])
    distances_to_centers <- sapply(1:nrow(centers_subset), function(j) {
      center_coords <- c(centers_subset[j, "longitude"], centers_subset[j, "latitude"])
      distGeo(station_coords, center_coords)
    })
    min(distances_to_centers)
  })

  avg_distance <- mean(distances) / 1000 
  max_distance <- max(distances) / 1000  
  return(c(avg_distance, max_distance))
}

Fungsi calculate_combination_distances digunakan untuk menghitung jarak rata-rata dan jarak maksimum antara setiap stasiun sepeda dengan kios terdekat dari subset lokasi kios yang dipilih.

# Ambil titik referensi dari model klaster 5 sebagai kandidat kios
reference_centers <- five$centers

# Buat kombinasi dari 2, 3, dan 4 kios berdasarkan titik referensi
comb_2 <- combn(1:5, 2, simplify = FALSE)
comb_3 <- combn(1:5, 3, simplify = FALSE)
comb_4 <- combn(1:5, 4, simplify = FALSE)

# Menghitung jarak rata-rata dan maksimum untuk setiap kombinasi
results <- data.frame()
for (k in list(comb_2, comb_3, comb_4)) {
  for (comb in k) {
    centers_subset <- reference_centers[comb, ]
    distances <- calculate_combination_distances(stations, centers_subset)
    results <- rbind(results, data.frame(
      num_kiosks = length(comb),
      kiosks_used = paste(comb, collapse = ","),
      avg_distance_km = distances[1],
      max_distance_km = distances[2]
    ))
  }
}

# Menampilkan hasil
print(results)

Output di atas menampilan hasil analisis untuk menentukan kombinasi kios yang optimal berdasarkan jarak rata-rata dan jarak maksimum dari pelanggan ke kios terdekat. Setiap kombinasi memiliki jumlah kios yang berbeda, di mana jarak rata-rata dan jarak maksimum menunjukkan seberapa dekat atau jauh pelanggan dari kios. Berdasarkan analisis ini, kombinasi yang paling optimal adalah kios 1, 3, 4, dan 5, karena menghasilkan jarak rata-rata 2,56 km dan jarak maksimum 7,76km, yang lebih kecil dibandingkan kombinasi lainnya. Artinya, kios-kios pada kombinasi ini berada lebih dekat dengan sebagian besar pelanggan, sehingga meningkatkan aksesibilitas dan kenyamanan pelanggan dalam menjangkau kios terdekat.

Strategi hibrida ini memberikan fleksibilitas dengan memilih empat kios dari lima lokasi yang tersedia. Dengan cara ini, kios bisa didistribusikan lebih efisien tanpa harus menempatkan kios di setiap lokasi, sehingga biaya bisa ditekan namun tetap memberikan akses yang baik bagi pelanggan. Selain itu, strategi ini juga membuka peluang untuk ekspansi di masa depan dengan menambahkan kios di lokasi yang tersisa jika diperlukan, agar aksesibilitas bisa ditingkatkan lebih jauh.

Budget Analysis

Cost Breakdown for Each Kiosk

  1. Biaya Konstruksi per Kios: $25,000 Biaya satu kali yang harus dikeluarkan di awal untuk membangun setiap kios yang mencakup pengeluaran konstruksi, termasuk bahan bangunan, tenaga kerja, dan pemasangan infrastruktur dasar seperti meja, rak, tempat duduk, dan utilitas dasar (misalnya, penerangan dan colokan listrik). Biaya ini tetap sama untuk semua kios, terlepas dari lokasinya.
  2. Biaya Operasional Bulanan per Kios: $4,000 Biaya berulang yang diperlukan untuk menjaga kios tetap beroperasi, mencakup: Staf: Gaji untuk pegawai yang bekerja di kios dengan asumsi jadwal kerja penuh. Umumnya, biaya ini mencakup setidaknya satu karyawan per kios dan dapat bervariasi tergantung pada jumlah shift dan jam kerja. Perawatan: Pemeliharaan rutin kios, termasuk pembersihan, perbaikan kecil, dan pengisian ulang persediaan. Persediaan: Biaya bulanan untuk barang yang dijual di kios, seperti peta, botol air, makanan ringan, dan barang-barang suvenir. Anggaran persediaan disesuaikan untuk memastikan kios selalu terisi berdasarkan perkiraan volume pengunjung. Total Biaya Operasional Tahunan per Kios: $4,000 (per bulan) × 12 = $48,000.
  3. Biaya Sewa Tahunan untuk Area dengan Permintaan Tinggi: Hingga $10,000 per Kios Beberapa kios mungkin ditempatkan di area dengan permintaan tinggi atau lalu lintas padat (misalnya, dekat stasiun sepeda populer, lokasi wisata, atau pusat kota), di mana biaya sewa ruang lebih tinggi. Biaya ini hanya berlaku untuk kios yang terletak di area tersebut, dengan maksimum $10,000 per tahun. Tidak semua kios akan dikenakan biaya ini; namun, penting untuk memasukkannya ke dalam anggaran untuk lokasi yang diidentifikasi sebagai area dengan permintaan tinggi.

Detailed Budget Calculation

Menghitung total biaya tahun pertama untuk setiap model, yaitu model dengan dua hingga lima kios. Perhitungan ini mencakup tiga komponen utama, yaitu biaya konstruksi awal per kios, biaya operasional tahunan untuk mempertahankan operasional setiap kios, dan biaya sewa tahunan bagi kios yang ditempatkan di area dengan permintaan tinggi.

jumlah_kios = c(2,3,4,5)
konstruksi = 25000
Pemeliharaan_tahunan = 48000
sewa_murah = 5000
sewa_mahal = 10000

biaya = data.frame(jumlah_kios, 
                   biaya_konstruksi = konstruksi*jumlah_kios,
                   total_Pemeliharaan_tahunan = Pemeliharaan_tahunan*jumlah_kios, 
                   total_sewa = (jumlah_kios-1)*sewa_murah + sewa_mahal)

biaya$total = rowSums(biaya[,-1])

biaya

Output di atas menunjukkan rincian biaya total tahun pertama untuk berbagai model dengan jumlah kios yang berbeda, yaitu dua hingga lima kios.

  1. Model dengan 2 kios, total biaya tahun pertama adalah $161.000. Biaya ini terdiri dari biaya konstruksi sebesar $50.000, total biaya pemeliharaan tahunan sebesar $96.000, dan total biaya sewa untuk area dengan permintaan tinggi sebesar $15.000.
  2. Model dengan 3 kios, total biaya tahun pertama adalah $239.000. Biaya ini terdiri dari biaya konstruksi sebesar $75.000, total biaya pemeliharaan tahunan sebesar $144.000, dan biaya sewa di area dengan permintaan tinggi sebesar $20.000.
  3. Model dengan 4 kios, total biaya tahun pertama adalah sebesar $317.000. Biaya ini terdiri dari biaya kontruksi sebesar $100.000, total biaya pemeliharaan tahunan sebesar $192.000 , dan biaya sewa di area dengan permintaan tinggi sebesar $25.000.
  4. Model dengan 5 kios, total biaya tahun pertama adalah sebesar $395.000. Biaya ini meliputi biaya konstruksi sebesar $125.000, total pemeliharaan tahunan sebesar $240.000, dan biaya sewa sebesar $30.000 untuk kios di area permintaan tinggi.

Setiap model menunjukkan bahwa semakin banyak kios yang dibangun, total biaya juga meningkat, sehingga penting untuk menyeimbangkan antara kebutuhan aksesibilitas pengguna dan anggaran yang tersedia.

Cost-Effectiveness Analysis

Menentukan biaya rata-rata per stasiun sepeda yang dilayani pada setiap model dilakukan dengan cara membagi total biaya tahun pertama dengan jumlah stasiun yang berada dalam jarak yang wajar dari masing-masing kios.

hitung_penjumlahan <- function(p) {
  max_val = max(p)
  normal = p[p!=max(p)]
  murah = ((konstruksi+Pemeliharaan_tahunan)+(sewa_murah))/normal
  mahal = ((konstruksi+Pemeliharaan_tahunan)+(sewa_mahal))/max_val
  (sum(murah)+mahal)/(length(murah)+1)
}
hitung_penjumlahan(two$size)
hitung_penjumlahan(three$size)
hitung_penjumlahan(four$size)
hitung_penjumlahan(five$size)

Output di atas menunjukkan rata-rata biaya per stasiun sepeda yang dilayani untuk berbagai model jumlah kios.

  1. Model dengan 2 Kios, rata-rata biaya per stasiun adalah 659.8736.
  2. Model dengan 3 Kios, rata-rata biaya per stasiun adalah 1030.036.
  3. Model dengan 4 Kios, rata-rata biaya per stasiun adalah 1457.904.
  4. Model dengan 5 Kios, Rata-rata biaya per stasiun adalah 1852.214.

Rata-rata biaya tersebut menunjukkan bahwa semakin banyak kios yang digunakan, rata-rata biaya per stasiun yang dilayani juga meningkat.

Optimal Budget Strategy

Dengan mempertimbangkan biaya dan aksesibilitas kios, model dengan 3 kios merupakan pilihan yang paling efektif. Model ini memberikan keseimbangan antara biaya yang lebih terjangkau dan aksesibilitas yang baik bagi pengguna. Rata-rata biaya per stasiun untuk model 3 kios lebih rendah dibandingkan model dengan 4 atau 5 kios, namun tetap mencakup sebagian besar stasiun dalam jarak yang wajar dari kios. Hal ini membuat model 3 kios efisien dari segi biaya sambil tetap memenuhi kebutuhan aksesibilitas pengguna.

Selain itu, model 3 kios menawarkan fleksibilitas untuk ekspansi di masa depan. Jika permintaan meningkat, perusahaan dapat menambah kios di titik-titik klaster yang belum tercakup, seperti pada model 4 atau 5 kios, untuk meningkatkan cakupan layanan. Dengan begitu, model 3 kios memungkinkan perusahaan untuk mulai dengan biaya yang lebih efisien sambil mempertahankan opsi untuk memperluas jaringan kios sesuai kebutuhan di masa mendatang.


메타데이터
post_id
72df6c31cd40
slug
optimalisasi-penempatan-kios-bike-sharing-llc-dengan-k-means-clustering-dan-strategi-anggaran-72df6c31cd40
url
https://medium.com/@22611028/optimalisasi-penempatan-kios-bike-sharing-llc-dengan-k-means-clustering-dan-strategi-anggaran-72df6c31cd40
canonical_url
https://medium.com/@22611028/optimalisasi-penempatan-kios-bike-sharing-llc-dengan-k-means-clustering-dan-strategi-anggaran-72df6c31cd40
author_url
https://medium.com/@22611028
status
ok
fetched_at
2026-06-23 03:48:11