Rapid Application Development dengan Google Appsheets
Cahyati S. Sangaji, Solution Specialist IoT and AI — PT. Sinergi Wahana Gemilang with Joana Puteri, Solution Specialist Samsung Mobile — PT. Sinergi Wahana Gemilang
Dengan ada kondisi pandemi beberapa tahun terakhir perusahaan diminta dapat melakukan digitalisasi terkait sistem perusahaan karena masih ada kegiatan atau di suatu kondisi mengharuskan untuk work from home atau bekerja dari rumah. Akan ada keperluan internal perusahaan yang terhambat ketika ada proses manual kertas atau tanda tangan, terkait dokumen untuk proses administrasi perusahaan. Dari kondisi yang terjadi, maka diharapkan adanya perubahan sistem yang awalnya manual menjadi otomatis. Maka dibuatlah aplikasi yang diperuntukkan untuk kebutuhan koordinasi dan administrasi internal perusahaan. Aplikasi yang akan di bangun dapat dipilih dengan beberapa opsi, antara lain on-premise app atau cloud base app. Kemudian opsi aplikasi yang dipilih untuk aplikasi internal perusahaan adalah cloud base app dengan pertimbangan kemudahan dalam membangun aplikasi dan lebih cepat selesai untuk kebutuhan internal yang sederhana atau tidak kompleks. Selanjutnya akan dijabarkan bagaimana perbandingan On-Premise App dan Cloud Base App serta proses pembuatan aplikasi internal perusahaan menggunakan google appsheet.
On-premise App Developer vs Cloud Base App Developer
Dalam pembuatan sebuah aplikasi kita akan mengenal istilah on-premise app developer dan cloud based app developer. Dimana akan ada perbedaan pada bagian infrastruktur dan service yang digunakan. Antara on-premise dan cloud base juga memiliki keuntungan dan kekurangan masing-masing. Saat membangun On-premise App dibutuhkan infrastruktur dan tim IT yang akan mengelola dari sisi hardware dan software. Sedangkan membangun Cloud base App kita hanya perlu membuat service di cloud dan mengelola service aplikasi dan database yang disediakan. Kita tidak perlu memikirkan investasi yang cukup besar di awal untuk penyediaan infrastruktur hardware dan menambah tenaga ahli terkait aplikasi dan hardware. Tapi jika menggunakan on-premise perusahaan dapat kontrol penuh terhadap aplikasi dan database dari aplikasi, sedangkan jika menggunakan cloud base database akan berada di cloud. Namun jika ada kendala pada bagian infrastruktur saat menggunakan cloud base kita tidak perlu memikirkan bagaimana cara untuk menyelesaikan permasalahan tersebut, kita hanya perlu membuat permintaan penyelesaian masalah kepada tim service dari penyedia service aplikasi. Sedangkan jika terjadi kendala pada bagian infrastruktur saat menggunakan on-premise pastinya dibutuhkan tenaga ahli untuk menyelesaikan permasalahan tersebut. Dari sisi harga, jika menggunakan on-premise kita harus investasi besar di awal sedangkan saat menggunakan cloud base kita hanya perlu membayar service yang kita gunakan saja. Selain itu, penggunaan cloud base memudahkan kita dengan hanya mengakses lewat internet dan tidak perlu meng-install aplikasi dilokal environment seperti on-premise.
Google AppSheet — Cloud Based “low-code” Application Development
Google AppSheet merupakan service cloud base, yaitu platform pengembangan tanpa kode dari Google, yang memudahkan siapa saja untuk membuat aplikasi web dan seluler tanpa memerlukan keahlian coding. Anda dapat membuat aplikasi AppSheet dari berbagai sumber data, seperti Google Spreadsheet, Excel, Cloud SQL, Salesforce, dan konektor serupa lainnya. Aktivitas pengguna aplikasi disinkronkan ke sumber data yang terhubung.
Aplikasi bersifat dinamis dan dapat digunakan di seluruh perangkat atau browser seluler. Desain antarmuka aplikasi menggunakan template UX untuk membuat peta, kalender, dasbor, dan lainnya. Alur kerja otomatis juga dapat disertakan ke dalam aplikasi untuk melakukan berbagai hal, seperti mengirim notifikasi, membuat email, membuat laporan kustom, dan memodifikasi data di seluruh sumber yang terhubung.
Dengan menggunakan Appsheet kita dapat lebih mudah dan cepat membangun sebuah aplikasi. Fokus awal yang harus dipikirkan saat membuat aplikasi menggunakan platform Appsheet adalah menyusun tabel yang sesuai dan memikirkan integrasi antar tabel. Jadi langkah awal yang harus dilakukan sebenarnya terkait database. Jika kita sudah dengan baik memikirkan tabel yang sesuai dan integrasi antar tabel, maka akan dengan mudah dalam membangun aplikasi. Dari kemudahan Appsheet yang diberikan untuk dapat menggunakan template UX yang ada, kita tidak perlu lagi ada proses coding untuk membuat UX aplikasi.
Kita hanya butuh menentukan tabel yang terhubung dengan tab aplikasi, memilih tipe tampilan yang kita inginkan dan pengaturan lain yang kita bisa atur menyesuaikan tampilan yang kita inginkan. Database yang digunakan pada Appsheet dapat kita tambahkan di bagian “Data” dan berasal dari spreadsheet google, file pada google dengan format CSV atau bahkan membuat tabel baru lewat appsheet.
Dari tabel pokok yang sudah ada kita juga bisa membuat filter berdasarkan formula yang sesuai. Dalam proses mempersiapkan data untuk aplikasi kita tidak memerlukan proses coding, kita hanya perlu mengatur beberapa ketentuan yang dibutuhkan aplikasi atau yang kita inginkan. Dengan kemudahan ini proses kita dalam mengatur database dari aplikasi yang akan kita buat akan lebih mudah dan cepat.Selain itu kita juga dapat mengatur rule dari tabel, yaitu apakah bisa Add, Update, Delete atau Read Only.
Dengan kemudahan ini kita dapat mengatur database kita menjadi lebih cepat, bahkan ketika ada perubahan kolom pada data tabel di tengah aplikasi yang sudah dibuat kita juga dapat dengan mudah melakukan update terhadap aplikasi. Kemudian dapat ditambahkan formula dari masing-masing kolom, misalnya ada kondisi dimana kolom yang dimaksud terhubung dengan tabel lain. Formula yang digunakan pada Appsheet sama dengan formula yang digunakan pada excel dengan beberapa penyesuaian. Formula yang ada sudah diberikan contoh default format yang sesuai dan dapat dijalankan di Appsheet, sehingga walaupun ada coding dalam bentuk formula, kita masih dipermudah dalam bentuk sampel-sampel formula yang sesuai tinggal menyesuaikan nama kolom tabel yang kita miliki.
Jadi jika kita gambarkan langsung dengan database dalam bentuk file CSV atau spreadsheet maka tabel adalah sheet yang ada di dalam file CSV, kemudian nama tabel yang ada di Appsheet saat ditambahkan pertama kali adalah nama sheet. Kemudian untuk formula akan berlaku aturannya di aplikasi per kolom dari tabel/field pada satu sheet. Untuk koneksi antar tabel jika berdasarkan database adalah koneksi antar sheet.
Dengan Google Appsheet, kita akan lebih mudah dalam mengatur segala hal terkait aplikasi. Dari persiapan table, tampilan/UX, logo, info umum atau berhubungan dengan behavior dari aplikasi atau tabel. Dengan semua kemudahan yang ada pada Appsheet proses pembuatan aplikasi bisa lebih cepat karena kita tidak memulai dari scratch coding app seperti aplikasi yang di bangun menggunakan on-premise. Appsheet sudah menyediakan template UX awal yang mudah di atur atau modifikasi kembali, memudahkan dalam mengatur aplikasi dan data, serta aturan atau formula-formula yang sesuai tanpa harus direpotkan dengan mencari bagian baris coding dari banyak baris coding yang dibuat jika dengan proses coding biasa untuk membuat aplikasi.
Karena Appsheet merupakan service SaaS, maka bentuk penggunaannya dalam bentuk subscription per User per month. Dari harga yang di publish untuk license Starter di mulai dari harga 5 dollar USD, kemudian license Core 10 dollar USD dan untuk enterprise akan custom menyesuaikan fitur yang support pada license tersebut.
Dengan ini kita dapat memilih dan menyesuaikan kebutuhan kita berkaitan dengan license, yang artinya apa yang kita gunakan maka sebanding dengan apa yang dibayarkan. Untuk license Starter sudah ada fasilitas e-signature sehingga jika aplikasi yang dibuat memiliki proses persetujuan tetap dapat dilaksanakan tanpa tanda tangan basah. Kemudian untuk license Core memiliki fasilitas juga untuk dapat scan barcode dan salah satunya cocok untuk aplikasi inventory. Kemudian untuk license Enterprise akan ada fasilitas yang lebih upgrade salah satunya dapat terhubung dengan aplikasi third party lain lewat API.
Sinergi Wahana Gemilang Internal Application
Melihat kemudahan yang ada pada Appsheet untuk membangun sebuah aplikasi, secara internal PT Sinergi Wahana Gemilang telah melakukan beberapa deployment berbasiskan Appsheet ini. Hal ini bertujuan untuk memudahkan dalam koordinasi dan sistem internal, selain itu juga mengurangi proses menggunakan kertas. Secara sederhana melakukan digitalisasi, merubah proses yang awalnya manual menjadi mobile yang dapat meng-update data secara realtime. Beberapa aplikasi sudah dibuat dengan waktu yang singkat, yaitu aplikasi timesheet untuk proses pendataan aktifitas karyawan, aplikasi blue pages yang merupakan data seluruh karyawan, aplikasi cuti yang digunakan sebagai pengganti form cuti, aplikasi absensi untuk project dan aplikasi booking untuk aset internal yang digunakan oleh karyawan. Dengan adanya appsheet, proses digitalisasi perusahaan menjadi lebih cepat. Keuntungan lain penggunaan appsheet adalah untuk satu user account, dapat memiliki banyak akses aplikasi, karena license hanya berdasarkan jumlah user account bukan berdasarkan jumlah aplikasi juga. Selanjutnya akan dijabarkan salah satu sempel aplikasi yang dibuat untuk internal PT Sinergi Wahana Gemilang berupa aplikasi booking aset.
Langkah awal untuk mebangun sebuah aplikasi di Appsheet adalah mempersiapkan database yang akan digunakan. Pada contoh aplikasi kali ini, database yang digunakan berasal dari google sheets. Spreadsheet google yang dibuat terdapat beberapa sheet yang artinya pada Appsheet akan ada beberapa tabel. Tabel-tabel yang sudah dibuat nantinya akan dapat terhubung jika diperlukan, bahkan juga bisa saling terhubung dengan file spreadsheet yang lain dengan menambahkan formula yang sesuai.
Setelah kita selesai menyiapkan file database yang akan digunakan, kita tambahkan tabel yang sesuai yang akan digunakan pada aplikasi. Tabel yang ada di appsheet dapat di atur rule penggunaannya dengan opsi Add, Update, Delete atau Read Only. Selanjutnya kita atur masing-masing kolom dari tabel yang berkaitan dengan tipe input data, key, label, dapat juga menambahkan formula jika diperlukan, serta mengatur ketentuan-ketentuan lain dari masing-masing kolom.
Selain antar tabel dapat saling terhubung dengan menambahkan formula yang sesuai, dengan appsheet juga bisa langsung terhubung dengan menggunakan tipe tabel “Ref”. Tipe “Ref” akan menghubungkan tabel awal dengan seluruh tabel referensi yang dituju. Sehingga bentuk proses input nantinya tabel referensi akan menjadi part of dari tabel awal. Kita juga bisa menambahkan formula untuk spreadsheet dimana akan dibutuhkan jika aturan pada database sebaiknya berubah atau menyesuaikan aturan lain setelah proses input pada database selesai. Formula yang dibuat pada appsheet akan dijalankan selama atau saat proses input data, sedangkan formula spreadsheet akan berjalan setelah proses input dan terus berjalan di local database.
Pada appsheet juga terdapat fasilitas untuk slice tabel, dengan adanya slice kita dapat filter berkaitan dengan tampilan atau akses input dari form tabel yang digunakan. Misalnya ada bagian tab yang hanya bisa diperuntukkan kepada email user yang login, atau misalnya juga filter untuk melihat tim dari masing-masing divisi. Jadi gambarannya disini adalah kita menggunakan 1 tabel yang merupakan data seluruh input pada database, namun untuk tampilan di aplikasi dapat di filter sesuai kondisi yang diinginkan.
Langkah selanjutnya adalah mengatur UX dari aplikasi dan menentukan tabel yang digunakan pada aplikasi.
Walaupun design UX pada appsheet berdasarkan template yang ada, namun cukup banyak view type yang dapat dipilih untuk proses input atau menampilkan data di aplikasi. Dapat juga menampilkan data dalam bentuk chart, map atau kalender. Untuk bagian ini pada tampilan aplikasi yang dibuat tampilan berupa tab menu. Kemudian masing-masing tab menu mewakilkan UX per table dan view type yang dipilih. Kita dapat mengatur urutan tab yang sesuai, urutan data yang tampil, pengelompokkan data, dan beberapa pengaturan lain yang mudah diproses hanya dengan beberapa proses point and click. Untuk data atau kolom tabel, kita juga bisa atur secara custom kolom mana yang perlu tampil di tampilan aplikasi atau tidak. Dari proses pembuatan UX ini dapat dipastikan bahwa untuk membangun aplikasi dibutuhkan waktu yang tidak terlalu lama dibanding harus membuat aplikasi dari scratch coding awal.
Pada appsheet juga terdapat fitur behavior, yang merupakan action yang ada pada aplikasi. Bagian ini juga dapat dengan mudah untuk kita custom. Selain default action yang sudah ada di setting awal aplikasi seperti add dan edit, kita juga bisa menambahkan action lain di aplikasi. Bentuk action dapat di atur seperti button pada tampilan UX atau seperti link caption.
Kemudian pada bagian info kita juga dapat mengatur ketentuan lain dari aplikasi yang dibuat, misalnya mengganti logo aplikasi, caption, atau pengaturan lain yang diperlukan dengan menyesuaikan kebutuhan.
Fitur-fitur yang ada di appsheet juga menyesuaikan license yang kita subscribe. Jadi misalnya ada beberapa fitur yang support pada license Core sedangkan pada license Starter belum dapat digunakan. Dari semua aplikasi yang telah dibuat untuk kebutuhan internal, aplikasi dapat membantu perusahaan dalam mempercepat proses administrasi atau koordinasi antar karyawan. Selain itu dengan perubahan yang awalnya dari proses manual dengan kertas yang berubah dengan cara penggunaan mobile app atau web app, maka proses update administrasi atau koordinasi di dalam perusahaan menjadi lebih cepat dan mudah.
Apa pro-cons “low code” app development dibanding on-premise app development?
Seperti yang sudah diketahui “low code” app development memberikan beberapa kemudahan dan keuntungan jika dibandingkan dengan on-premise app development. Dengan “low code” app development kita dapat membangun aplikasi dengan mudah dan cepat karena tampilan dasar aplikasi sudah disediakan secara otomatis tanpa harus memulai stretch dari awal jika menggunakan bahasa pemrograman biasa, dan proses pengelolaan lebih mudah karena di bawah satu aplikasi penyedia dibandingkan ketika menggunakan on-premise app development. Fleksibel dalam akses ke platform dan aplikasi yang dibuat, kita hanya cukup menggunakan service yang disediakan. Sehingga aplikasi dapat diakses lewat web dan mobile. Dengan “low code” app development, kita tidak perlu menyiapkan requirement untuk aplikasi dan database dari aplikasi pun cukup dengan mengakses service yang disediakan atau support untuk terhubung ke aplikasi. Perusahaan juga tidak membutuhkan beberapa tim IT untuk membangun dan mengelola aplikasi, cukup dengan satu orang aplikasi dapat dibangun dengan waktu yang singkat.
Kemudian karena bentuk dari platform “low code” app ini dalam bentuk subscription, maka kita hanya akan membayar yang kita gunakan dan sesuai fitur yang kita butuhkan. Selain itu karena tidak perlu banyak proses coding saat membangun aplikasi, maka proses membangun aplikasi lebih cepat selesai dan hanya fokus ke bagian-bagian yang memerlukan coding khusus. Jadi sebenarnya walaupun seorang yang membangun aplikasi dengan “low code” app, dia harus tetap mengerti bahasa pemrograman.
Lalu apa saja kelemahan ketika menggunakan “low code” app dibanding dengan on-premise app, yang paling terlihat adalah bagian infrastruktur. Jika menggunakan “low code” app kita hanya menggunakan service yang ada mulai dari platform untuk membangun aplikasi dan database. Sedangkan ketika kita menggunakan on-premise kita akan memiliki akses penuh terhadap aplikasi atau program yang dibuat, serta database yang digunakan. Dari segi pengembangan dalam bentuk integrasi dengan aplikasi third party yang lain, untuk “low code” app akan memiliki keterbatasan dalam fitur penggunaannya jika dibandingkan dengan aplikasi on-premise yang menggunakan bahasa pemrograman seperti JAVA, python, C++ dan bahasa pemrograman lain.
Memang ada beberapa service dari “low code” app ini yang menyediakan fitur untuk dapat terhubung dengan aplikasi third party yang lain, namun pastinya harga servis yang ditawarkan akan lebih mahal. Dari sisi harga untuk service yang menyediakan “low code” app memang lebih murah di awal karena berdasarkan apa yang kita gunakan, namun jumlahnya akan berbeda jika dikalkulasikan, walau pendanaan terhadap service itu dapat dengan mudah di atur. Sedangkan untuk on-premise app kita harus melakukan investasi yang cukup besar diawal, mulai dari requirement, aplikasi-aplikasi pendukung, dan dibutuhkan beberapa tenaga ahli untuk membangun dan mengelola aplikasi dari sisi hardware dan software. Saat terjadi permasalahan dengan aplikasi jika menggunakan “low code” app, akan lebih mudah menganalisa per bagian dari kondisi yang tidak sesuai, namun jika sudah berkaitan dengan service untuk mendapatkan service kepada tim support membutuhkan waktu yang cukup lama dan terkadang di akhir kita belum pasti diberikan solusi dari permasalahan yang terjadi. Akhirnya akan ada proses sangat panjang lagi karena akan ada saling lempar personal tim service sampai didapatkan tim yang dapat membantu permasalahan kita. Berbeda dengan on-premise saat terjadi permasalahan terkait aplikasi proses untuk menyelesaikan masalah akan lebih cepat karena akan dilakukan solve dari tim lokal di perusahaan, baik dari tim hardware atau software. Jadi untuk menentukan “low code” app development dibanding on-premise app development yang sebaiknya digunakan adalah tergantung kebutuhan dan tujuan pembuatan aplikasi pada masing-masing perusahaan.
Secara garis besar, baik “low code” app development maupun on premise development memiliki kelebihan dan kekurangan masing-masing. Dalam implementasi pengembangan aplikasi internal perusahaan, penggunaan “low code” app development menjadi pilihan yang tepat dari efisiensi waktu dan biaya.
Referensi:
Google support, Mengelola Appsheet di Organisasi Anda.