Google AppSheet Innovation With Minimum License

cahyati sangaji (cahya)
9 min readSep 7, 2023

Cahyati S. Sangaji, Senior Solution Specialist — PT. Sinergi Wahana Gemilang and Achmad Asrori, IBM Technical Solution — Hybrid Cloud With Billy Wang–Universitas Tarumanegara

Pada artikel sebelumnya “Rapid Application Development dengan Google Appsheets” telah dibahas bagaimana perusahaan melakukan digitalisasi sistem internal perusahaan yang awalnya masih dengan cara manual form menjadi via online yang dapat di akses lewat mobile apps atau web browser. Namun ada beberapa proses yang masih dilakukan manual karena terkendala fitur dari license yang perusahaan gunakan. Beberapa proses ini sebenarnya membantu kelancaran proses administrasi atau memberikan kemudahan terhadap user pengguna. Fasilitas yang diperlukan untuk menunjang proses dari aplikasi internal yang digunakan perusahaan antara lain memberikan notifikasi email terhadap update data dan info dari history proses request form cuti sampai approve.

Dengan perhitungan jumlah karyawan, maka perusahaan memilih untuk menggunakan license yang sesuai dengan kebutuhan. Namun dari proses yang berjalan ada beberapa yang masih dilakukan secara manual atau terjadi kendala karena keterbatasan fitur yang dimiliki dari license yang perusahaan gunakan. Namun tim developer Sinergi Wahana Gemilang melakukan beberapa inovasi untuk kebutuhan otomatisasi dari proses yang masih dilakukan secara manual karena keterbatasan fitur dari license yang digunakan perusahaan. Pada artikel ini akan dijabarkan beberapa inovasi yang dilakukan dengan tetap menggunakan license minimum dari Appsheet. Penjabaran akan diawali dengan beberapa proses yang masih manual hingga proses bagaimana perubahan yang terjadi sampai pada tahap pekerjaan yang dilakukan secara manual semakin berkurang.

Manual Proses Aplikasi dengan Minimum license

Manual Proses Send Notification

Perusahaan saat ini memiliki beberapa aplikasi yang juga terdapat beberapa proses persetujuan. Kemudian untuk memudahkan info kepada user yang sebaiknya memberikan persetujuan atau tidak terhadap request yang dibuat, dengan mendapatkan notifikasi dari request tersebut, seperti proses yang berjalan pada aplikasi cuti dan update data karyawan. Pada awal pembuatan aplikasi appsheet dengan license starter, memiliki fasilitas untuk mengirimkan notifikasi otomatis ketika ada perubahan di database. Fasilitas tersebut terdapat pada tab workflow pada menu Automation. Namun sejak 10 May 2021 fasilitas notifikasi otomatis sudah tidak ada fiturnya di license Starter, hanya bisa berjalan menggunakan license Core. Walaupun sebenarnya masih ada fasilitas untuk mengirim notifikasi, namun masih ada beberapa step manual yang harus dilakukan. Setiap user harus secara manual mengirimkan email kepada user yang akan merespon atau memberikan persetujuan tiap kali ada request baru. Maka cara ini kurang efektif untuk dapat digunakan terutama untuk tujuan mempermudah dan mempersingkat step untuk pengajuan cuti atau info update data karyawan. Sehingga dibutuhkan beberapa inovasi untuk proses tersebut tetap dapat berjalan, walau dengan license minimum.

Manual Proses Backup Data

Seperti yang telah diketahui Appsheet adalah platform yang berbasis cloud base. Suatu platform yang dapat membantu kita men-develop aplikasi lebih mudah dan membutuhkan waktu yang lebih singkat. Maka database dari Appsheet tentu saja berada pada satu email account. Kemudian ada kebutuhan dimana ada proses backup rutin data dari database aplikasi yang berjalan. Proses backup ini juga memudahkan untuk proses perubahan aplikasi yang masih diuji tanpa harus menggunakan data real yang sedang berjalan agar data yang ada tidak tercampur dengan data uji yang diinput. Namun karena tidak ada cara backup data secara otomatis maka minimal setiap minggu tim admin harus melakukan proses backup secara manual, baik database atau aplikasi. Hal ini mengakibatkan efisiensi waktu dari admin berkurang, yang sebaiknya fokus pada pengembangan yang sebaiknya dibuat, namun masih melakukan beberapa pekerjaan manual setiap hari atau minggunya. Maka untuk proses backup ini juga diperlukan inovasi agar pekerjaan dapat berjalan secara otomatis.

Manual Proses Reverse Location

Selain proses notifikasi dan backup data, proses reverse lokasi juga merupakan proses yang sangat penting ada untuk mendukung penggunaan aplikasi internal perusahaan. Fitur ini dibutuhkan untuk aplikasi yang merekam lokasi dari kegiatan yang dilakukan pada aplikasi timesheet. Hal ini bertujuan agar manager atau atasan masing-masing tim mengetahui activity yang dilakukan dan dimana lokasi kegiatan tersebut berjalan.

Ilustrasi-1: Location input di Appsheet

Namun kendala yang dihadapi adalah format input dari location pada appsheet dengan proses otomatis pembacaan GPS dari perangkat yang digunakan aplikasi adalah titik koordinat latitude dan longitude. Sedangkan informasi utama yang diperlukan adalah alamat dari lokasi titik koordinat tersebut. Sebenarnya hal ini dapat dilakukan lewat aplikasi appsheet dengan menggunakan fitur API dari appsheet, namun fitur ini hanya dapat digunakan ketika menggunakan license Enterprise. Jika menggunakan license Enterprise akan kurang sesuai untuk kebutuhan aplikasi internal.

Dari kebutuhan ini dilakukan beberapa cara untuk dapat tetap memberikan informasi kepada user sesuai dengan kebutuhan. Cara ini akan dilakukan rutin minimal per minggu seperti kegiatan backup data yang dilakukan sebelumnya. Berikut proses manual yang dilakukan untuk reverse data koordinat lokasi.

  1. Siapkan data yang akan diproses dalam bentuk CSV, data ini diambil dari kolom pada database aplikasi yang lakasi addressnya belum ter-update.
Ilustrasi-2: Data koordinat input

2. Proses menggunakan python programming yang menggunakan API untuk geocoding, pengolahan data menggunakan data frame dari library pandas.

3. Deklarasi library dan call API geocoding.

4. Siapkan dataframe yang akan diproses dari file CSV yang sudah disiapkan.

5. Proses untuk reverse data koordinat menjadi data alamat yang kemudian dirapikan kembali menjadi dalam bentuk tabel dataframe yang diperlukan.

6. Simpan data yang sudah diolah ke dalam CSV hasil.

7. Update kembali database dari aplikasi berdasarkan hasil data yang diperoleh setelah proses reverse yang dilakukan sebelumnya.

Ilustasi-3: Data hasil reverse koordinat location

Berdasarkan langkah-langkah yang dilakukan untuk mendapatkan informasi alamat dari lokasi yang didapatkan secara otomatis dari pembacaan GPS device. Maka dibutuhkan inovasi agar proses tersebut dapat dilakukan secara otomatis dan lebih cepat. Kemudian dari kendala-kendala yang terjadi dilakukan beberapa inovasi dari tim aplikasi untuk memberikan kemudahan dari sisi user maupun admin aplikasi. Berikut akan dijabarkan bagaimana proses perubahan yang dilakukan terhadap aplikasi dan fitur update yang dilakukan dengan tetap menggunakan license minimum dari platform Appsheet.

Transformasi Manual Proses ke Custom Aplikasi

Inovasi Custom Aplikasi

Dengan keterbatasan fitur yang dimiliki license yang ada, tim melakukan inovasi untuk menambahkan fungsi notifikasi ke email dari trigger proses pada Appsheet untuk aplikasi cuti/REQUEST FOR LEAVE. Cara yang digunakan adalah dengan mengakses langsung ke bagian database spreadsheets. Database tersebut akan diakses oleh custom aplikasi dari java yang dibuat dengan proses mengirimkan email notifikasi kepada manager approval masing-masing karyawan yang melakukan request. Email yang didapatkan dari email admin untuk memberikan info karyawan yang melakukan request dan permintaan untuk mengecek dan memberikan Approve dari Manager Approval yang mendapatkan email.

Transformasi Custom Aplikasi ke Apps Script

Beberapa inovasi lain dilakukan untuk memudahkan penggunaan aplikasi dari sisi user atau admin aplikasi, maka dibuat beberapa inovasi yang dikerjakan oleh tim developer menggunakan Apps Script.

Inovasi notifikasi otomatis

Seperti project notifikasi yang dikerjakan sebelumnya, proses yang dilakukan pada script yang digunakan pada Apps Script sama ketika menggunakan custom aplikasi. Perbedaan prosesnya adalah mendapatkan kemudahan untuk dapat mengakses ke database tanpa direct ke database lewat login username dan password. Hal ini dapat memberikan keamanan untuk account admin dalam proses share akses database, karena Apps Script merupakan salah satu fitur yang juga dimiliki oleh Google. Sehingga selain proses akses database lebih mudah, proses berjalannya aplikasi juga lebih mudah tanpa harus ada aplikasi tambahan di luar dari fitur yang disediakan Google.

Inovasi Backup Data Secara Otomatis

Berdasarkan kebutuhan yang diminta oleh perusahaan, diharapkan ada proses rutin untuk melakukan backup data untuk menghindari kemungkinan terjadi permasalahan pada data asli atau account asli dari tempat database tersebut diakses. Salah satu cara yang bisa dilakukan adalah dengan backup manual yang dilakukan oleh admin aplikasi. Namun hal ini cukup menyulitkan admin yang harus secara manual melakukan backup per minggu. Dengan permasalahan yang terjadi tersebut, maka dibuat suatu proses otomatis untuk melakukan backup data menggunakan Apps Script. Proses backup ini bahkan juga bisa di atur untuk dijalankan per hari atau ketika ada perubahan data, sehingga data backup akan selalu sama dengan data terakhir dari database asli.

Inovasi reverse lokasi secara otomatis

Inovasi lain yang dibuat untuk mempermudah admin aplikasi dalam melakukan Update data address dari info koordinat yang di dapat dari Appsheet. Inovasi tersebut adalah reverse info koordinat (latitude, longitude) menjadi sebuah alamat yang bantuan tools dari App Script dan juga beberapa command yang sudah ada dari Google Spreadsheet yang merupakan database dari Appsheet.

Ilustrasi- 4: Data koordinat location dari Appsheet

Seperti Ilustrasi-4 yang ditunjukan, memperlihatkan informasi titik koordinat yang diinput langsung dari aplikasi AppSheet. Bisa melakukan input dari Appsheet, maka secara default pada bagian data spreadsheet akan menampilkan koordinat latitude dan longitude yang terdapat dalam satu cell. Untuk kebutuhan reverse data dari koordinat menjadi sebuah alamat tidak dapat diproses dengan bentuk data latitude dan longitude yang ada dalam satu cell. Maka dibutuhkan proses untuk memisahkan data latitude dan longitude tersebut.

Ilustrasi-5: Data reverse data location

Proses dari kebutuhan reverse data tersebut kami memisahkan data latitude dan longitude pada sheet yang berbeda, karena ketika program dijalankan menggunakan sheet yang sama, proses reverse tidak dapat berjalan dengan baik, maka pada kasus ini kami menamakan sheet baru dengan nama sheet Reverse. Kemudian pada sheet Reverse ini kita melakukan split pada kolom Location yang dibuat pada cell dari kolom latitude. Setelah info latitude dan longitude berhasil dipisahkan pada cell yang berbeda, maka bisa dilanjutkan dengan memanggil string yang sudah dibuatkan script coding dari function reverse di AppScript untuk mengubah location/koordinat menjadi sebuah alamat/addres. Seperti contoh pada ilustrasi-5, kami menggunakan command function myreversFunction untuk memanggil function script yang sudah dibuat sebelumnya di Apps Script. Formula reverse tersebut dimasukkan pada cell di kolom Address. Setelah Apps Script berhasil memproses, maka address atau alamat akan muncul di kolom address pada sheet Reverse tersebut.

Ilustrasi-6: Sheet reverse

Selanjutnya pada sheet input, yang di sini adalah sheet Activity Records akan meng-copy atau sama dengan data dari kolom address pada sheet reverse. Formula untuk proses ini dapat di-input-kan pada formula spreadsheet lewat AppSheet, sehingga data akan langsung terupdate setelah data activity atau absen telah dimasukkan. Seperti yang ditunjukkan pada ilustrasi-7 dan ilustrasi-8, pada bagian field address di Appsheet, kita perlu memasukan command pada kolom address pada bagian autocompute -> spreadsheet formula. Maka ketika ada data koordinat yang diinputkan, secara otomatis bagian address akan melakukan proses mengambil data atau menyamakan data dengan sama dengan data address pada sheet Reverse.

Ilustrasi-7: Formula spreadsheet pada aplikasi Time Sheet
Ilustrasi-8: Formula spreadsheet pada aplikasi Absent App

Ilustrasi-9 menunjukkan bagaimana script function dari Apps Script yang digunakan sebagai formula function pada sheet Reverse. Proses yang berjalan di sini di awali dengan mendapat parameter input berupa data latitude dan longitude. Kemudian dimasukkan pada function fungsi untuk mendapatkan data address berdasarkan variabel latitude dan longitude yang di proses. Selanjutnya return hasil dari proses reverse yang dalam bentuk format address. Maka setelah formula function digunakan pada cell spreadsheet, akan tampil hasil reverse yang diperlukan.

Ilustrasi-9: Script function pada Apps Script

Pengengembangan Selanjutnya

Dari pengembangan yang telah dikerjakan sebelumnya AppSheet yang digunakan untuk membuat aplikasi yang berhubungan dengan internal kantor dapat dikombinasikan dengan aplikasi lain. Sehingga fitur-fitur yang belum tersedia dapat tetap dibuat untuk memenuhi kebutuhan user. Cara utama yang digunakan adalah dengan mengakses database dari Appsheet yang salah satunya bisa dihubungkan dengan google sheet. Akan lebih memudahkan jika terhubung dengan fitur yang juga berasal dari google yang salah satunya adalah Apps Script yang bisa digunakan langsung lewat menu Extensions.

Ilustrasi-10: Opsi Apps Script pada Google Sheet

Selain dapat terhubung dengan Apps Script database juga dapat terhubung aplikasi Add-ons dari google. Untuk aplikasi apa saja yang dapat digunakan, kita bisa mengecek pada Google Workspace, yang kemudian dapat kita pilih aplikasi mana yang akan kita instal dan gunakan untuk dapat terhubung ke database yang sama. Sehingga proses pengumpulan data pada database/Google Sheet dapat lebih mudah dan lebih cepat.

Ilustrasi-11: Opsi Add-ons pada Google Sheet

--

--