← Back to list

Rapid No-Code Prototyping 24 Jam: Sistem Pendukung Keputusan

Untuk Memotong Waktu Leader di Teritori Mengambil Keputusan dan Data Driven

Haidlir Naqvi · 2020-11-14 15:52 · 16 claps · 4.3 min read
#rapid-prototyping #decision-support-systems #grafana #mariadb #no-code
Open on Medium ↗

Rapid No-Code Prototyping 24 Jam: Sistem Pendukung Keputusan

Untuk Memotong Waktu Leader di Teritori Mengambil Keputusan dan Data Driven

Latar Belakang

Pada Oktober 2020, saya ditugaskan untuk membantu tim dadakan dengan anggota cross-function atau berasal dari berbagai tim asal untuk membuat sebuah alat bantu yang bertujuan meningkatkan kinerja salah satu produk dari perusahaan di mana saya bekerja. Idenya adalah alat bantu tersebut akan memberikan rekomendasi kepada leader di setiap teritori sehingga lebih cepat dalam mengambil keputusan terkait strategi yang akan diterapkan setiap harinya. Alat bantu tersebut disepakati berbentuk perangkat lunak (software) berbasis web yang dapat diakses melalui browser.

Target untuk bulan November adalah satu teritori setingkat kota/kabupaten mau menggunakan alat bantu ini (early adopter). Sebelum tutup tahun, harus terdapat 4 teritori setingkat provinsi di salah satu pulau juga mengadopsi alat bantu ini. Melihat target tersebut artinya requirement gathering, analisis dan desain, serta pembuatan purwarupa untuk divalidasi harus dilakukan dalam tempo yang sesingkat-singkatnya. Mempertimbangkan hal tersebut kami harus meminimalkan effort yang membutuhkan coding dan bahkan memilih untuk tidak perlu coding atau no-code.

Karena sifatnya adalah purwarupa yang dibuat dalam waktu singkat, ada beberapa aspek yang menjadi catatan.

  • Belum mempertimbangkan aspek security dan privacy
  • Skalabilitas sistem skala kecil dengan total data di angka 100 ribu baris dengan kolom skala puluhan yang tersebar di beberapa tabel.
  • Fokus pada insight yang dapat dipaparkan kepada pengguna

Proses Perjalanan

Proses Perjalanan Rapid Prototyping

Proses Perjalanan Rapid Prototyping

Aktivitas pertama yang harus dilakukan adalah pengumpulan requirement untuk menangkap sudut pandang dan pain problem dari pengguna. Dari informasi yang didapat dari kegiatan tersebut disepakati objektif dari pembuatan solusi yang dibuat. Kami sepakat untuk memilih empat (4) use-cases sebagai quick win atau low hanging fruit.

Berdasarkan requirement dan objektif yang telah ditentukan, kami memulai pengumpulan data dari sumber-sumber yang terpisah. Data-data tersebut sebelum dapat diolah harus dibersihkan dan disiapkan terlebih dahulu agar siap digunakan. Beberapa cara yang digunakan antara lain transformasi data dari kolom existing ke kolom baru serta Indexing kolom. Tahapan ini memakan waktu yang paling lama yaitu 70% dari waktu pengerjaan dengan komposisi 40% proses import data dan 30% untuk kegiatan pembersihan dan penyiapan data.

Selanjutnya kami melakukan perancangan model pengolahan untuk data-data yang siap dimanfaatkan. Pada awalnya terdapat beberapa opsi metode dalam melakukan perangkingan untuk memberikan rekomendasi, antara lain.

  1. Multi Column Sorting/Ordering, paling sederhana serupa dengan pengolahan data di spreadsheet.
  2. Multi Criteria Decision Making/Analysis, membutuhkan uji validitas untuk himpunan nilai bobot kriteria dari subject matter expert (SME). Dalam case ini SME adalah para leader teritori yang telah berpengalaman.
  3. Neural Network, membutuhkan dataset yang telah dilabel. Proses labeling setiap data dilakukan oleh para SME.
  4. Clustering dapat digunakan untuk mempermudah proses labeling pada metode neural network. Namun terlalu beresiko untuk dikerjakan dalam waktu singkat.

Pada akhirnya dipilih metode Multi Column Sorting/Ordering dalam pembuatan purwarupa secara cepat ini. Bilamana ketika validasi purwarupa ke pengguna menyimpulkan bahwa solusi yang dibuat layak untuk diseriusi, maka sangat terbuka peluang untuk mencoba tiga (3) metode lainnya.

Alokasi waktu yang dibutuhkan di tahapan perancangan model pengolahan data adalah 10% dari proses pengerjaan. Sesuai dengan metode yang dipilih maka pengolahan data dapat sepenuhya dilakukan di database dengan mengimplementasikan nested query, multi join, grouping, dan ordering.

Sisa alokasi waktu sebesar 20% digunakan untuk pembuatan visualisasi. Terdapat dua (2) jenis presentasi data yang kami gunakan yaitu tabel dan peta. Selain itu kami juga melakukan linking antar dashboard agar memberikan kesempatan bagi pengguna untuk melakukan penggalian data lebih lanjut bila diperlukan.

Dalam pengerjaan tahapan-tahapan yang kami ceritakan sebelumnya, digunakan perangkat lunak sumber terbuka (open source) yaitu DBeaver sebagai alat bantu pengembangan basis data, MariaDB sebagai basis data, dan Grafana sebagai visualisasi.

Hasil Pengembangan

Berikut merupakan beberapa tangkapan gambar dari layar dashboard purwarupa yang telah dikerjakan yaitu halaman tabel rekomendasi dan peta.

Halaman Rekomendasi

Halaman Rekomendasi

Halaman Peta

Halaman Peta

Performa dapat diukur dengan melihat waktu response serta processing. Untuk halaman rekomendasi membutuhkan request time 1.3 detik. Sedangkan untuk peta membutuhkan request time 242 ms. Bila merujuk ke bab 5 dari buku usability engineering, menurut saya catatan waktu ini masih dapat diterima. Apalagi prosesnya masih mengimpementasikan nested query, joining, grouping, serta ordering dengan volume data seperti yang disampaikan di awal artikel ini.

Hasil Inspeksi Halaman Rekomendasi

Hasil Inspeksi Halaman Rekomendasi

Hasil Inspeksi Halaman Peta

Hasil Inspeksi Halaman Peta

Evaluasi dan Pembelajaran

  • Pengumpulan Data: Exporting dan Importing

Hingga saat ini saya masih belum menemukan cara yang lebih baik dari export CSV dari tabel basis data yang lain lalu import data. Agar berlaku periodik, maka dibuatkan cronjob. Saya kira pasti ada cara yang lebih baik namun saya belum menemukannya. Mungkin rekan-rekan ada yang berpengalaman di aktivitas ini dan ingin berbagi saran pengalaman, silahkan isi kolom komentar.

  • Indexing

Aspek yang penting dan harus dilakukan untuk mengoptimasi proses query. Untuk menentukan algoritma yang tepat, dapat merujuk ke sini.

  • Producing New Column dari Existing Column

Ini hal yang paling sering dilakukan pada tahap penyiapan data agar siap digunakan. Statement yang sering saya gunakan adalah

alter table table_name add new_col_name new_col_type;
update table_name
       set new_col_name = function(col-1, col-2, col-3, etc);
  • Teknik Query

Cermat dalam melakukan query agar tidak boros sumber daya komputasi dan tidak menghasilkan response time yang lama. Dikombinasikan dengan indexing dan desain kolom yang tepat akan jadi perpaduan resep yang mantap.

  • Visualisasi Peta Grafana

Pada jenis panel worldmap di Grafana memungkinkan untuk membuat tooltip sesuai dengan format yang kita inginkan. Trik-nya adalah dengan menuliskan kode HTML di query SQL-nya.

Tooltip Worldmap Grafana

Tooltip Worldmap Grafana

Trik Tooltip Worldmap Grafana

Trik Tooltip Worldmap Grafana


메타데이터
post_id
7dac8f6fe352
slug
rapid-prototyping-24-jam-sistem-pendukung-keputusan-7dac8f6fe352
url
https://medium.com/@haidlir/rapid-prototyping-24-jam-sistem-pendukung-keputusan-7dac8f6fe352
canonical_url
https://medium.com/@haidlir/rapid-prototyping-24-jam-sistem-pendukung-keputusan-7dac8f6fe352
author_url
https://medium.com/@haidlir
status
ok
fetched_at
2026-07-28 17:41:00