Alfamart dan Indomaret Sering Sebelahan?: Yuk Buktikan dengan Data

Ilham Mukti
10 min readJun 16, 2022

--

Source: https://awsimages.detik.net.id/visual/2022/01/27/alfamart-dan-indomaret-3.jpeg
Anna: Joy, lo tau Alfamart/Indomaret ga?
Joy: Tau lah gilaa
Anna: Wkwkw, lo sering merhatiin ga sii Alfamart dan Indomaret itu sering sebelah-sebelahan.
Joy: Iya banyak yang sebelah2an gitu Ann, deket rumah gue juga ada yg kyk gitu.
Anna: Kira-kira kenapa ya mereka sebelah2an gitu Joy?
Joy: Gue juga kurang tauu si Ann, tapi kalo menurut artikel ini deket2an kyk gitu bisa menarik pasar lebih luas Ann, hemat budget riset, dan juga bisa bangun persepsi konsumen. Lebih lengkapnya lo baca itu dehh.
Anna: Okee joy, nanti gue baca-baca dehh
Joy: Hmmm, gara-gara lo gue jadi penasaran Ann
Anna: Penasaran kenapa Joy?
Joy: Gue penasaran emangnya sebanyak apa Alfamart dan Indomaret yang deketan gitu, jangan-jangan cuma perasaan kita doang?
Anna: Iya juga ya, jangan-jangan cuma perasaan kita doang? wkwk

Hola, apa kabar? semoga selalu dalam keadaan sehat. Tulisan kali ini persis akan menjawab keresahan dari Joy, yaitu mencari tahu sebanyak apa Alfamart dan Indomaret yang memang beneran deketan gitu.

Alfamart dan Indomaret adalah minimarket yang sering kita jumpai sehari-hari. Kedua minimarket tersebut tak jarang berdiri layaknya biji, yaitu berdekatan, dimana ada Alfamart disitu ada Indomaret, begitu sebaliknya.

Hal semacam itu sering kita jumpai di jalan atau bahkan dekat rumah kita sendiri. Namun pertanyaannya, sebanyak apa? apakah dominan berdekatan atau cuma perasaan kita aja?

So, langsung aja, cekicrot!

What?

Source: https://www.vecteezy.com/members/naki-sama

Secara garis besar problem yang mau dijawab ialah soal eksplorasi Alfamart-Indomaret yang memang berdekatan, khususnya di Jakarta Selatan (tempat saya tinggal hehee).

Sebelahan atau deketan disini saya definisikan sebagai kurang dari 30 meter.

Kenapa 30 Meter?

Sebetulnya tidak ada alasan khusus kenapa saya menentapkan 30 meter sebagai “dekatan”. Dengan kata lain, definisi dekatan nantinya bisa kita atur semau kita tergantung apa yang kita anggap sebagai “dekat”. Tapi tentunya kalau dalam konteks yang lebih serius tidak bisa seperti itu.

How?

Source: https://www.vecteezy.com/members/naki-sama

Alurnya sebetulnya sederhana, cari semua Alfamart-Indomaret di Jakarta Selatan, kemudian identifikasi Alfamart-Indomaret yang berdekatan. Metodenya persis seperti artikel saya sebelumnya, yaitu dengan menggunakan Google Maps API.

Kenapa saya menggunakan Google Maps API?

  1. Saya belum menemukan data resmi titik dimana saja Alfamart-Indomaret membuka gerainya di Indonesia, entah karena belum menemukan atau mungkin memang tidak ada.
  2. Mudah, dan efisien. Ga mungkin kita keliling Jaksel untuk sekadar nandain mana Alfamart-Indomaret yang deketan, mungkin sii, tapi ga efektif.
  3. Alfamart-Indomaret mestinya sudah terdaftar di Google Maps, terutama di Jakarta, jadi bisa diandalkan. Walaupun mungkin ada juga yang belum terdaftar.

Problem ketika kita menggunakan Google Maps API ialah Google maksimal hanya memberikan 60 data, sedangkan jumlah Alfamart-Indomaret di Jaksel pasti lebih daripada itu.

Gimana caranya kita bisa mencari semua Alfamart-Indomaret di Jaksel jika Google maksimal hanya memberikan kita 60 data?

Dari problem tersebut, saya menemukan salah satu solusi dari framework berpikir yang entah dapat darimana.

Framework berpikir tersebut kurang lebih seperti ini:"Jika ada masalah besar, coba pecah menjadi kecil. Kemudian, selesaikan semua masalah kecil tersebut. Ketika semua masalah kecil diselesaikan, otomatis masalah besar akan teratasi."

Jika diterjemahkan ke bahasa yang lebih teknis dalam konteks ini ialah:

  1. Mencari Alfamart-Indomaret di Jaksel adalah masalah besar
  2. Perkecil masalah besar tersebut dengan memecah Jaksel menjadi kelurahan, sehingga tugas kita ialah mencari Alfamart-Indomaret pada masing-masing kelurahan di Jaksel.
    Kenapa kelurahan? karena kelurahan tersebar di seluruh Jaksel, dan ideal dalam konteks ini. Kenapa tidak RT, RW? terlalu kecil. Kenapa tidak kecamatan? terlalu besar, ingat, Google maksimal hanya memberikan 60 data.
  3. Dengan mencari semua Alfamart-Indomaret pada masing-masing kelurahan di Jaksel, otomatis masalah besar akan teratasi.

Penjelasan Alur Lebih Teknis

Source: https://www.vecteezy.com/members/naki-sama

Kalau mau skip part ini boleh yaa, karena penjelasannya akan teknis banget, tapi penting.

Layaknya banyak hal, hasil tidak bisa dilepaskan dari proses. Dalam proses biasanya ada berbagai macam asumsi/variabel yang diset sedemikian rupa, sehingga selain hasil, kita juga mesti tau dibalik itu apa saja asumsi-asumsi yang didefinisikan, dan dipakai untuk mencapai hasil.

Berikut langkah-langkah teknis yang saya lakukan untuk menjawab keresahan Joy ini.

1. Cari nama-nama kelurahan-kecamatan di Jakarta Selatan menggunakan API ini.

Hasil dari ini nantinya ada list nama-nama kelurahan-kecamatan di Jakarta Selatan

Pict 1: Cuplikan kodingan cari nama-nama kelurahan-kecamatan di Jaksel

2. Cari latitude, dan longitude masing-masing kelurahan menggunakan fitur Geocode pada Google Maps API.

Pict 2: Hasil mencari Latitude dan Longitude Kelurahan

3. Dari masing-masing kelurahan, cari Alfamart-Indomaret terdekat (radius 2000 meter) dengan memanfaatkan fitur Nearby Search pada Google Maps API.

Pict 3: Parameter nearby search yang dipakai

Masing-masing titik koordinat kelurahan sudah diketahui, kemudian Alfamart-Indomaret akan dicari pada setiap titik kelurahan dengan radius 2000 meter.

Parameter yang disetting seperti pada Pict 3.

Location diisi dengan latitude longitude kelurahan
Radius 2000 meter
Keyword diisi dengan Alfamart atau Indomaret
Type diisi dengan Store supaya data yang keambil lebih akurat
Rankby diisi dengan Promience, default dari Google karena ada parameter keyword, type, dan radius yang diisi.
Untuk dokumentasi lebih lengkap bisa baca-baca disini ya https://developers.google.com/maps/documentation/places/web-service/search-nearby?hl=en

Jadi semua data pada tulisan ini berbasis pada settingan di atas.

Pict 4: Hasil pencarian

Hasil dari melakukan poin ketiga ialah seperti pada Pict 4, ada banyak kolom disitu, dan salah satunya ialah distance.

Distance ialah jarak (satuan meter) antara latitude longitude kelurahan dengan latitude longitude Alfamart-Indomaret yang didapat. Perhitungan distance ini bukan by Google, tapi saya tambahkan sendiri menggunakan Haversine.

Haversine dipilih karena cukup terkenal akurat dalam menghitung jarak antar 2 titik pada maps.

Kenapa ada kolom distance?

Google maksimal hanya memberikan 60 data, bisa jadi dalam radius 2000 meter terdapat lebih dari 60 Alfamart-Indomaret.

Maka itu, 2 Alfamart-Indomaret terjauh juga akan dijadikan titik untuk mencari Alfamart-Indomaret terdekat (lagi) dengan radius 500 meter.

Contohnya, Alfamart-Indomaret terjauh dari kelurahan Jagakarsa ialah X dan Y. Masing-masing dari Alfamart-Indomaret terjauh itu mencari Alfamart-Indomaret terdekat lagi dengan radius 500 meter. Harapannya, semua Alfamart-Indomaret bisa kita deteksi dan keambil datanya.

Namun permasalahannya beralih, jika radius yang kita pakai terlalu besar, nantinya akan ada overlapping (tumpang tindih) data antar kelurahan.

Misal, ada dua kelurahan yang berdekatan, yaitu A dan B. Kemudian kita mencari Alfamart-Indomaret di masing-masing kelurahan tersebut dengan radius 2000 meter, 2 Alfamart-Indomaret terjauh juga akan dijadikan titik untuk mencari Alfamart-Indomaret terdekat (lagi) dengan radius 500 meter.

Maka ada potensi besar kelurahan A dan kelurahan B dapat data yang sama, sehingga kita kesulitan mengidentifikasi bahwa data tersebut masuk ke kelurahan apa.

Solusinya seperti apa?

4. Semua data disatukan, dan dibersihkan

Pict 5: Hasil semua data digabung

Solusi untuk mengatasi problem pada poin 3 ialah gabungkan semua data -> hapus data yang duplicates -> kemudian menggunakan fitur Place Details pada Google Maps API untuk menentukan suatu Alfamart-Indomaret berada di kelurahan dan kecamatan apa.

Jadi penentuan suatu Alfamart-Indomaret berada di kelurahan dan kecamatan apa berdasarkan data Google, bukan berdasarkan jarak ke kelurahan.

Meskipun begitu, ternyata data Google juga masih banyak yang ngaco hehe, jadi ada beberapa yang saya benarkan secara manual.

5. Cari jarak antar Alfamart-Indomaret.

Pict 6: Cuplikan kodingan mencari jarak

Setelah semua data terkumpul, dan sudah dibersihkan, selanjutnya ialah mencari Alfamart-Indomaret yang berdekatan.

Nomor 1, saya memisahkan data Indomaret dan Alfamart.

Nomor 2, hitung distance antar data Indomaret-Alfamart. Jadi masing-masing Latitude-Longitude data Indomaret-Alfamart akan bertemu, dan dihitung jaraknya (satuan meter) dengan menggunakan Haversine.

Nomor 3, hasilnya ada banyak kolom baru (Pict 6 nomor 3) dimana itu adalah Latitude dari setiap data Alfamart, isi dari masing-masing kolom itu ialah jarak (satuan meter).

Nomor 4, baris adalah data Indomaret, dan kolom ialah data Alfamart. Jadi Pict 6 nomor 4 ialah hasil jarak yang terhitung dari masing-masing data tersebut.

Pict 7: Mencari data jarak terdekat

Nomor 5, buat kolom baru bernama “jarak_terkecil_lat”, isinya adalah Latitude data Alfamart yang jaraknya paling dekat dengan data Indomaret baris tersebut.

Latitude data Alfamart dipilih hanya sebagai identitas unik untuk menandakan bahwa data tersebut paling dekat dengan data Indomaret baris ke-X.

Cara bacanya ialah:
Data Indomaret baris pertama paling dekat dengan data Alfamart yang punya latitude -6.305075.
Data Indomaret baris kedua paling dekat dengan data Alfamart yang punya latitude -6.305075.
Kenapa sama?
Bisa jadi kedua Indomaret tersebut memang paling dekat dengan Alfamart tsb.
Ingat, ini cuma menandakan paling dekat dibanding Alfamart lainnya. Bukan menentukan secara exact bahwa kedua Indomaret tersebut memang dekat (dalam radius 30 meter) dengan Alfamart tsb.
Pict 8: Cari informasi lain dari kolom jarak_terkecil_lat

Pada kolom “jarak_terkecil_lat” (yang mana ini adalah latitude data Alfamart) dicari informasi lainnya seperti longitude, alamat, nama tempat, dan juga distances-nya(jarak dalam satuan meter)

Kemudian jika jaraknya lebih kecil sama dengan 30 meter, maka itu dianggap berdekatan.

6. Hasil dari semua proses yang sudah dilakukan

Pict 9: Hasil akhir

Cara bacanya, Indomaret pada baris ke-2 berdekatan dengan Alfamart yang punya Latitude -6.3274385, Longitude 106.8165763.

Jarak antar keduanya ialah 24 meter. Alhasil ini masuk dalam kategori “berdekatan”, karena kurang dari 30 meter. Begitu seterusnya.

Visualisasi Data

1. Alfamart-Indomaret Secara Umum di Jakarta Selatan

Pict 10: Jumlah Alfamart-Indomaret di Jaksel

Setelah melalui proses yang panjang, data kemudian divisualisasi menggunakan Tableau. Seperti pada Pict 10, jumlah Indomaret di Jakarta Selatan lebih banyak dibanding Alfamart, yaitu 372 berbanding 303.

Persebaran Indomaret terbanyak yaitu di kecamatan Kebayoran Lama, dan Jagakarsa. Sementara Alfamart terbanyak di kecamatan Jagakarsa dan Tebet.

Pict 11: Peta Persebaran Alfamart-Indomaret di Jaksel

Pict 11 menunjukkan peta persebaran Alfamart-Indomaret di Jaksel. Warna Biru ialah Indomaret, merah ialah Alfamart.

Terlihat kedua minimarket ini cukup merata persebarannya di Jaksel.

2. Alfamart-Indomaret Yang Berdekatan

Pict 12: Jumlah Alfamart-Indomaret Yang Berdekatan

Here we go!

Lihat pict 12, ternyata jumlah Alfamart-Indomaret yang beneran berdekatan (Jarak ≤ 30 Meter) cukup sedikit, yaitu hanya 34 gerai. Ini termasuk sedikit jika dibandingkan dengan gerai yang tidak berdekatan

Sedangkan kalau kita set jarak radiusnya 50 Meter, maka Alfamart-Indomaret yang berdekatan yaitu 59 Alfamart, dan 62 Indomaret.

Bayangkan, nambah 20 meter peningkatannya udah hampir 2x lipat.

Kenapa pada radius 50 meter jumlah Alfamart-Indomaretnya tidak sama

Karena bisa jadi ada 2 Indomaret yang berdekatan dengan 1 Alfamart yang sama.

Pict 12–2: Ada 2 Indomaret yang berdekatan dengan 1 Alfamart yang sama

Hal ini dibuktikan dari Pict 12–2, dimana ada 2 Indomaret yang berdekatan dengan Alfamart yang sama.

Titik yang paling atas ialah Alfamart, sedangkan yang tengah, dan bawah ialah Indomaret.

Kembali lagi pada jarak radius 30 meter dimana ada 34 gerai Alfamart-Indomaret yang berdekatan.

Jika kita bayangkan ada 34 titik di Jaksel yang Alfamart-Indomaretnya berdekatan dengan jarak dibawah 30 Meter, bisa dibilang cukup banyak juga hehe. 

Kenapa?

Pertama, ini baru Jaksel, belum daerah lainnya, bisa jadi daerah lainnya punya pola yang berbeda. Kedua, Alfamart tidak selalu membangun gerai dengan ngikutin Indomaret, begitu pun sebaliknya, masing-masing dari mereka tentu punya banyak strategi, ga cuma bangun gerai yang berdekatan.

Ketiga, harga tanah atau bangunan di Jaksel tidak murah. Keempat, saya mendefinisikan dekat dengan 30 meter, bisa jadi banyak yang lebih daripada itu, bahkan tadi kita sudah set ke jarak 50 meter, dan ada peningkatan yang cukup banyak.

Kelima, data yang diolah didapat dari kata kunci “Alfamart”, dan “Indomaret”. Bisa jadi ada Indomaret yang berdekatan dengan “Alfamidi” yang masih satu naungan dengan Alfamart, who knows? wkwk

Jadi jika dibilang sedikit ya memang sedikit jika dibandingkan dengan gerai yang tidak berdekatan, khususnya di Jaksel ini.

Pict 12–3: Alfamart-Indomaret yang berdekatan berdasarkan kecamatan

Yang menariknya adalah Alfamart-Indomaret yang berdekatan ini kebanyakan ada di Kecamatan Jagakarsa

Saya lahir, dan besar di Jagakarsa, entah keunikan apa lagi yang ada di sini, kemarin Warteg terbanyak di Jaksel ada di Jagakarsa, rata-rata harga rumah termurah di Jaksel ada di Jagakarsa, dan sekarang Alfamart-Indomaret yang berdeketan kebanyakan ada di Jagakarsa juga. Hmmm :)

Pict 13: Peta persebaran Alfamart-Indomaret yang berdekatan

Peta persebaran Alfamart-Indomaret yang berdekatan bisa dilihat pada Pict 13. Tidak banyak yang bisa dijelaskan, warna orens berarti berdekatan, abu-abu berarti tidak.

Pict 14: Alfamart-Indomaret yang berdekatan

Jika salah satu titik orens pada Pict 13 di zoom, maka hasilnya kurang lebih seperti Pict 14. Ada 2 titik yang berdekatan, dimana 1 titik ialah Alfamart, dan 1 titik ialah Indomaret.

Ingat, ini dalam radius 30 meter yaa, jadi jika ada Alfamart, dan Indomaret dalam radius 31 meter, itu tidak dihitung dekat.

Pict 15: Google Maps

Dan jika kita melihat 2 titik pada Pict 14 tersebut di Google Maps, hasilnya seperti pada Pict 15.

Indomaret Desa Putera berdekatan dengan Alfamart disebelahnya, jaraknya 23 meter.

Pict 16: Data Indomaret Desa Putera

Kenapa saya bisa bilang jaraknya 23 meter? Karena data berkata demikian, lihat Pict 16.

Perhitungan jarak tersebut menggunakan Haversine Formula. Kalau di Python bisa diakses pada library Haversine.

Pict 17: Alfamart-Indomaret yang paling banyak diulas netizen

Pict 17 menunjukan 10 besar Alfamart-Indomaret yang paling banyak mendapat rating/ulasan dari netizen. Dari 10 besar tersebut, tidak ada satu pun ada Alfamart-Indomaret yang berdekatan, bahkan dari 40 besar juga tidak ada.

Penutup

Ada 34 gerai (total 68 gerai) Alfamart-Indomaret yang berdekatan di Jakarta Selatan. Berdekatan disini dalam artian jarak keduanya ≤ 30 meter.

Tidak cukup banyak memang, namun tergantung cara memandangnya seperti apa.

Sebetulnya ada macam-macam kolom lagi yang bisa saya eksplorasi, namun karena tulisan ini hanya berkaitan dengan “Alfamart-Indomaret yang berdekatan”, maka bagian visualisasi data tadi sangat sedikit.

Bahkan part “how” lebih panjang dibanding part “hasil ” hehe. Namun dengan begitu, rasa penasaran Joy, saya, dan banyak orang kini terobati.

Koreksi jika ada yang salah!
Semua data + code ada di
Github!

--

--