Salah satu model bisnis yang terbantu dengan adanya teknik pendistribusian aplikasi
melalui internet adalah Software as a Service (SaaS). Model Software as a Service
(SaaS) memiliki kekurangan dalam aspek customizability, karena semua pengguna
menggunakan aplikasi yang sama. Aspek customizability ini dapat memberikan nilai
yang lebih tinggi bagi aplikasi karena dapat menjawab kebutuhan-kebutuhan yang
lebih spesifik dari pengguna. Namun, saat client-side dari Software as a Service
(SaaS) dikembangkan sebagai aplikasi yang customizable, maka perlu suatu sistem
pendistribusian yang dapat menangani permasalahan tersebut.
Tugas Akhir ini membahas mengenai pengembangan sistem pembaruan otomatis untuk
aplikasi client-side terkustomisasi pada Software as a Service (SaaS). Tantangan
yang perlu diperhatikan dalam mengembangkan sistem ini adalah bagaimana cara
untuk mendistribusikan aplikasi, memastikan versi aplikasi yang terpasang, serta
memastikan bahwa modul pada aplikasi dalam keadaan yang predictable. Tugas
Akhir ini memberikan solusi bagaimana menjawab permasalahan tersebut dengan
cara mengembangkan berbagai entitas sistem yang saling berinteraksi untuk meraih
hal tersebut. Ada empat komponen yang dibangun, yaitu Server Pembaruan untuk
menyimpan informasi mengenai pembaruan terbaru, Server Repositori untuk menyimpan
isi pembaruan, Developer Tool untuk membantu dalam membuat pembaruan,
serta Agent untuk mengaplikasikan pembaruan pada perangkat pengguna.
Pengujian dan implementasi dari Tugas Akhir ini dilakukan pada lingkungan React
Native. Hasil pengujian dari Tugas Akhir ini menunjukkan bahwa sistem pembaruan
aplikasi yang diusulkan pada Tugas Akhir ini menjawab persoalan yang telah
dirumuskan sebelumnya. Sistem pembaruan dapat mendistribusikan aplikasi dengan
memanfaatkan Server Repositori dan Agent. Pengembang aplikasi dapat menetapkan
versi aplikasi dari kelompok aplikasi tertentu dengan menggunakan channel. Solusi
ini juga memastikan modul-modul yang terpasang dalam keadaan yang predictable
dengan memanfaatkan struktur data Merkle Tree.