Ada kalanya sesuatu idea untuk membina sistem tidak bermula daripada perancangan yang besar. Ia bermula apabila kita melihat seseorang sedang melakukan kerja yang sama berulang kali, kemudian terfikir, “Boleh tak aku mudahkan kerja dia?”
Begitulah sebenarnya bagaimana saya mula membina Sistem Rekod Kewangan YUM.
Dalam urusan Yayasan Ummi Malaysia (YUM), terdapat beberapa bentuk urusan kewangan. Sebahagiannya menggunakan sistem pendaftaran dan pembayaran yang memang sudah tersedia, tetapi ada juga bayaran yang masih diterima secara manual melalui WhatsApp. Untuk bayaran seperti ini, Aifa membantu menguruskan maklumat pembayaran yang diterima daripada peserta.
Setiap kali bayaran masuk, ada beberapa perkara yang perlu dibuat. Maklumat peserta perlu dilihat, jumlah bayaran perlu dikenal pasti, program perlu diketahui, kemudian resit perlu disimpan. Nampak seperti kerja yang mudah, tetapi apabila transaksi semakin banyak dan beberapa program berjalan serentak, kerja yang sama perlu dilakukan berkali-kali.
Lebih mencabar apabila setiap orang menghantar maklumat dengan cara yang berbeza. Ada yang memberikan maklumat lengkap seperti nama, email, nombor K/P, alamat dan pekerjaan. Ada yang hanya menghantar resit bersama nama dan jumlah. Ada pula yang menulis secara ringkas, contohnya “Noorsinah offline Sept”. 😄
Tidak ada yang salah dengan cara mereka menghantar maklumat. WhatsApp memang digunakan untuk komunikasi, bukannya sebagai borang rasmi. Tetapi dari sudut pengurusan rekod, saya mula nampak bahawa proses ini boleh dipermudahkan.
Daripada Aifa forward semua infomasi pembayaran ini ke dalam group WhatsApp payment, saya terfikir, kenapa tidak kita buat satu sistem yang boleh membantu melakukan kerja tersebut?
Jadi saya pun mula membinanya.
Bermula dengan database
Langkah pertama sebenarnya bukan terus membuat paparan borang yang cantik. Saya perlu fikir dahulu, maklumat apa yang YUM perlukan untuk disimpan?
Daripada situ, saya bina struktur database menggunakan Google Sheets. Setiap transaksi diberikan ID dan direkodkan bersama tarikh, program, nama, maklumat peserta, jenis bayaran, jumlah, tarikh bayaran, kaedah pembayaran, nombor rujukan, catatan dan pautan kepada resit.
Saya turut masukkan satu ruangan yang saya rasa penting, iaitu Raw Input. Maklumat asal yang dicopy dan dipaste oleh admin masih disimpan supaya apabila berlaku kesilapan atau maklumat tidak dapat dibaca dengan sempurna oleh sistem, kita masih boleh kembali melihat data asal.
Ideanya saya nak kalau boleh copy paste je dalam kotak tu, sistem terus susun secara sistematik dalam bentuk jadual dan admin boleh filter mengikut apa yang mereka nak.
Satu lagi perkara yang saya fikirkan ialah Direkod Oleh. Memandangkan sistem ini bukan untuk seorang admin sahaja, saya mahu setiap transaksi mempunyai maklumat siapa yang memasukkannya. Ini akan memudahkan semakan apabila lebih daripada seorang admin menggunakan sistem tersebut.
Selepas struktur database ditetapkan, barulah saya mula membina bahagian hadapan sistem menggunakan Google Apps Script.
Saya mahu admin hanya perlu copy dan paste
Konsep utama sistem ini memang sengaja dibuat sesimple mungkin. Saya tidak mahu admin perlu membuka spreadsheet dan memasukkan maklumat ke dalam banyak kolum secara manual.
Sebaliknya, mereka hanya perlu memilih program, memasukkan nama, jumlah bayaran dan nama mereka sebagai admin yang merekodkan transaksi. Maklumat yang diterima daripada WhatsApp pula boleh terus dicopy dan dipaste ke dalam satu ruang khas.
Di belakang tabir, Google Apps Script akan cuba mengenal pasti maklumat yang diberikan dan menyusunnya mengikut ruangan yang telah ditetapkan.
Di sinilah bahagian teknikal mula menjadi menarik.
Jadi saya perlu membina logik supaya sistem tidak terlalu bergantung kepada satu format sahaja.
Dalam proses mengujinya, ada masa nombor K/P tidak dikesan. Ada masa jumlah pula tidak dibaca. Kemudian kami tambah baik lagi. Bila ada contoh sebenar yang tidak berjaya diproses, kita tahu bahagian mana yang perlu diperbaiki.
Itulah sebenarnya proses membina sistem yang mungkin tidak kelihatan dari luar. Kita bukan sekadar menulis kod dan terus siap. Kita cuba, uji dengan data sebenar, jumpa masalah, baiki dan cuba semula.
Program juga perlu jelas dari awal
YUM mempunyai beberapa program dan urusan yang menggunakan bayaran manual. Antaranya melibatkan TOTIQ 5, TOTIQ 6, YWE 2, hotel untuk kelas offline, yuran kelas offline dan yuran penilaian TOTIQ.
Saya tidak mahu sistem meneka program berdasarkan teks WhatsApp semata-mata kerana kesilapan kecil boleh menyebabkan transaksi masuk ke kategori yang salah. Jadi saya asingkan Program sebagai satu ruangan yang perlu dipilih oleh admin ketika membuat rekod.
Ini nampak seperti satu langkah tambahan, tetapi sebenarnya ia membantu memastikan data yang masuk ke dalam database mempunyai konteks yang jelas.
Begitu juga dengan bayaran. Peserta mungkin membayar penuh, membuat bayaran sedikit dahulu atau membayar secara ansuran. Jadi jumlah yang direkodkan adalah jumlah transaksi yang benar-benar diterima pada ketika itu. Jika peserta membuat beberapa bayaran, setiap pembayaran boleh mempunyai rekodnya sendiri.
Dengan struktur seperti ini, rekod kewangan manual menjadi lebih mudah untuk disemak mengikut program dan sejarah pembayaran.
Resit pula tidak lagi bergantung kepada WhatsApp
Satu lagi perkara yang saya mahu selesaikan ialah penyimpanan resit.
Kalau resit hanya berada dalam WhatsApp, ia memang boleh dicari semula, tetapi apabila jumlah transaksi semakin banyak, proses pencarian itu sendiri boleh menjadi kerja yang memakan masa.
Jadi saya sediakan satu folder khas di Google Drive untuk menyimpan resit yang dimuat naik melalui sistem. Apabila resit dimasukkan, pautannya turut direkodkan bersama transaksi dalam database.
Dengan cara ini, rekod transaksi dan bukti pembayaran boleh dirujuk dari satu tempat yang lebih tersusun.
Secara ringkas, alirannya menjadi:
Maklumat WhatsApp → Sistem Rekod → Google Sheets
manakala
Resit → Sistem Rekod → Google Drive
Ia bukan sesuatu yang terlalu kompleks, tetapi cukup untuk menjadikan proses yang sebelum ini berselerak sedikit lebih teratur.
Kemudian saya fikir tentang telefon pula
Selepas fungsi asas selesai, ada satu perkara lagi yang saya tidak mahu abaikan.
Sistem ini perlu mobile friendly.
Kerja admin tidak semestinya dilakukan di hadapan komputer. Kadang-kadang telefon sahaja yang ada di tangan ketika bayaran masuk. Jadi paparan yang nampak elok di komputer belum tentu selesa digunakan pada telefon atau tablet.
Bahagian ini pun memerlukan beberapa kali percubaan kerana Google Apps Script mempunyai cara tersendiri dalam memaparkan web app melalui persekitarannya. Jadi saya perlu memastikan struktur paparan dan tetapan viewport dibuat dengan betul supaya borang tidak menjadi kecil apabila dibuka melalui telefon.
Dan selepas selesai bahagian teknikal itu, kami fikir pula tentang rupa.
Kalau dah buat, biarlah comel sikit. 😂
Kami semua yang terlibat dalam urusan ini pun gegurl — saya, Aifa, Umi Rita, Kak Tanti dan rakan-rakan admin yang lain. Jadi saya pilih paparan yang lebih lembut dengan sentuhan pink, kemas dan mesra digunakan.
Kerja admin sudah banyak. Sekurang-kurangnya bila buka sistem, janganlah rasa macam sedang mengisi borang pejabat kerajaan tahun 1998. 😂
Daripada membantu Aifa, sistem ini boleh digunakan oleh admin lain
Pada asalnya, saya membina sistem ini kerana mahu membantu Aifa menguruskan pembayaran manual dengan lebih mudah.
Tetapi selepas sistem itu siap dan mula diuji, saya nampak ia boleh digunakan dengan lebih luas. Jika ada admin lain yang menerima bayaran daripada peserta TOTIQ atau program-program YUM yang lain, mereka juga boleh menggunakan sistem yang sama.
Dan pada titik itu, sistem ini bukan lagi sekadar alat untuk membantu seorang rakan.
Ia menjadi satu usaha kecil untuk membantu pihak YUM menyusun rekod kewangan yang diterima secara manual dengan lebih baik.
Daripada maklumat yang asalnya berada dalam WhatsApp, kini ia boleh disimpan dalam database dengan struktur yang lebih jelas. Resit pula mempunyai tempat simpanannya sendiri, dan setiap rekod boleh diketahui siapa yang memasukkannya.
Bagi saya, itulah nilai sebenar sistem ini.
Sistem kecil, tetapi bermula daripada keperluan sebenar
Saya suka projek seperti ini kerana ia tidak bermula dengan idea untuk menghasilkan sesuatu yang hebat atau canggih.
Ia bermula dengan melihat kerja seorang kawan dan bertanya:
“Macam mana aku boleh bantu mudahkan kerja dia?”
Kemudian kita mula bina.
Kita cuba.
Kita jumpa masalah.
Kita baiki.
Kita cuba lagi.
Dan akhirnya, sesuatu yang pada awalnya dibina untuk membantu seorang admin boleh digunakan oleh rakan-rakan admin yang lain juga.
Mungkin bagi orang lain, ia cuma satu borang dengan beberapa kotak untuk diisi. Tetapi bagi kami, di belakang borang yang nampak simple itu ada proses memikirkan database, struktur data, logik membaca maklumat WhatsApp, penyimpanan resit, pengurusan pengguna, paparan mobile dan macam-macam lagi perkara kecil yang perlu diselesaikan satu demi satu.
Paling penting, kami dapat melakukannya bersama-sama dengan suasana yang menyeronokkan.
Ada masa serius.
Ada masa pening.
Ada masa ketawa sebab sistem tak detect benda yang sepatutnya detect. 😂
Tetapi itulah sebahagian daripada proses bekerja bersama.
Bina sesuatu, cuba sesuatu, bantu kawan dan akhirnya manfaatnya boleh dikongsi dengan lebih ramai.
Alhamdulillah, satu lagi tugasan kecil di belakang tabir YUM selesai.
Dan saya percaya, kerja-kerja kecil seperti inilah yang sedikit demi sedikit membantu menjadikan urusan kita lebih tersusun.
Sikit-sikit kita bina. Sikit-sikit kita mudahkan. Dan yang paling penting, kita buat bersama-sama dengan hati yang happy. 🌷
Alhamdulillah.





0 Ulasan