Rabu, 27 Mei 2026

Standalone Script

 




Bertindaklah sebagai apps script expert. Buatkan study kasus sistem inventari dengan front end dan backend terpisah. Gunakan model standalone script. File kode terpisah . Tambahkan pula landing page dengan hero

Halo! Sebagai seorang Apps Script Expert, saya sangat merekomendasikan pendekatan Front-End dan Back-End terpisah (Decoupled Architecture) untuk Google Apps Script (GAS). Pendekatan ini membuat aplikasi jauh lebih cepat, rapi, mudah di-maintain, dan menghindari masalah klasik GAS seperti script timeout atau callback hell.

Kita akan menggunakan model Standalone Script (tidak menempel pada Sheet tertentu) dengan struktur file yang terpisah.

Berikut adalah studi kasus Sistem Inventaris Barang Rumah Sakit / Kantor beserta seluruh kode yang kamu butuhkan.

🏛️ Arsitektur Sistem

  • Database (Back-End): Google Sheets untuk menyimpan data barang.

  • Logika Bisnis (Back-End): Google Apps Script (Standalone) sebagai REST API mikro menggunakan fungsi doGet() dan doPost().

  • Front-End: HTML5, CSS (Tailwind CSS via CDN), dan JavaScript modern (Fetch API) untuk interaksi data.


MATERI GOOGLE APPS SCRIPT: STANDALONE SCRIPT

Pendahuluan

Dalam pengembangan aplikasi berbasis Google Workspace, Google Apps Script dapat digunakan untuk membuat otomatisasi, dashboard, integrasi sistem, hingga web application berbasis cloud.

Selain Bound Script, terdapat jenis script lain yang sangat penting yaitu Standalone Script.

Standalone Script sering digunakan untuk:

  • Sistem skala besar

  • Integrasi multi spreadsheet

  • Dashboard enterprise

  • Integrasi API

  • Sistem monitoring

  • Automation service

  • Multi-user web app

  • Integrasi database cloud

Materi ini membahas:

  • Pengertian Standalone Script

  • Cara kerja

  • Perbedaan dengan Bound Script

  • Struktur project

  • Contoh implementasi

  • Studi kasus

  • Integrasi web app

  • Best practice


1. Apa Itu Standalone Script?

Standalone Script adalah project Google Apps Script yang berdiri sendiri dan tidak terikat langsung pada file Google Workspace tertentu.

Artinya:

Script dibuat secara independen dan dapat mengakses banyak file Google Workspace.


2. Analogi Standalone Script

Bayangkan:

  • Spreadsheet = rumah

  • Apps Script = robot otomatis

Pada Standalone Script:

Robot tidak tinggal di satu rumah.
Robot dapat berpindah-pindah dan bekerja di banyak rumah.


3. Karakteristik Standalone Script

1. Berdiri Sendiri

Script tidak terikat pada spreadsheet tertentu.

2. Menggunakan ID File

Karena tidak terikat file aktif.

3. Lebih Fleksibel

Bisa mengakses:

  • Banyak spreadsheet

  • Banyak docs

  • Banyak forms

4. Cocok untuk Sistem Besar

Digunakan pada aplikasi enterprise.


4. Cara Membuat Standalone Script

Langkah-langkah

  1. Buka:

https://script.google.com

  1. Klik:

New Project

  1. Project Apps Script akan dibuat secara independen.


5. Struktur Standalone Script

Standalone Apps Script
│
├── Code.gs
├── Config.gs
├── API.gs
├── Database.gs
├── Index.html
├── css.html
└── JavaScript.html

6. Cara Kerja Standalone Script

Alur kerja:

  1. Script dijalankan

  2. Script membaca ID file

  3. Script membuka spreadsheet tertentu

  4. Data diproses

  5. Hasil dikirim ke user


7. Mengakses Spreadsheet pada Standalone Script

Karena tidak menggunakan file aktif, maka menggunakan:

SpreadsheetApp.openById()

Contoh

function getData(){

  const spreadsheet = SpreadsheetApp
    .openById('SPREADSHEET_ID');

  const sheet = spreadsheet
    .getSheetByName('Sales');

  const data = sheet
    .getDataRange()
    .getValues();

  Logger.log(data);
}

8. Penjelasan Kode

KodeFungsi
openById()Membuka spreadsheet tertentu
getSheetByName()Mengambil sheet
getValues()Mengambil data

9. Perbedaan Bound Script dan Standalone Script

Bound ScriptStandalone Script
Terikat fileBerdiri sendiri
Menggunakan file aktifMenggunakan ID file
Cocok project kecilCocok project besar
Mudah dibuatLebih fleksibel
Tidak reusableReusable

10. Kelebihan Standalone Script

KelebihanPenjelasan
FleksibelBisa akses banyak file
ReusableBisa digunakan ulang
Cocok enterpriseUntuk sistem besar
Integrasi mudahDengan API dan cloud
ModularMudah maintenance

11. Kekurangan Standalone Script

KekuranganPenjelasan
Lebih kompleksPerlu konfigurasi
Harus pakai ID fileTidak otomatis
Setup lebih lamaUntuk pemula lebih sulit

12. Mengambil ID Spreadsheet

Contoh URL spreadsheet:

https://docs.google.com/spreadsheets/d/1ABC123XYZ/edit

ID Spreadsheet:

1ABC123XYZ

13. Standalone Script untuk Web App

Standalone Script sangat populer untuk membangun web app.


Struktur Web App

Apps Script
│
├── Code.gs
├── Index.html
├── css.html
└── JavaScript.html

14. Fungsi doGet()

function doGet(){

  return HtmlService
    .createTemplateFromFile('Index')
    .evaluate();
}

15. Fungsi include()

function include(filename){

  return HtmlService
    .createHtmlOutputFromFile(filename)
    .getContent();
}

16. Contoh Index.html

<!DOCTYPE html>
<html>
<head>
  <?!= include('css'); ?>
</head>
<body>

<h1>Dashboard Monitoring</h1>

<?!= include('JavaScript'); ?>

</body>
</html>

17. Contoh css.html

<style>
body{
  font-family:Arial;
  background:#f5f5f5;
}

.card{
  background:white;
  padding:20px;
  border-radius:10px;
}
</style>

18. Contoh JavaScript.html

<script>

google.script.run
  .withSuccessHandler(showData)
  .getData();

function showData(data){
  console.log(data);
}

</script>

19. Studi Kasus 1: Dashboard Multi Sekolah

Kebutuhan

Sistem harus:

  • Mengambil data dari banyak spreadsheet sekolah

  • Menampilkan dashboard pusat

  • Menampilkan grafik

  • Monitoring real-time


Solusi

Menggunakan Standalone Script.


Arsitektur

Sekolah A Spreadsheet
Sekolah B Spreadsheet
Sekolah C Spreadsheet
        │
        ▼
Standalone Script
        │
        ▼
Dashboard Monitoring

Contoh Script

function getAllSchoolData(){

  const files = [
    'ID_FILE_1',
    'ID_FILE_2',
    'ID_FILE_3'
  ];

  let allData = [];

  files.forEach(id => {

    const ss = SpreadsheetApp.openById(id);

    const sheet = ss.getSheetByName('Data');

    const data = sheet
      .getDataRange()
      .getValues();

    allData.push(data);
  });

  return allData;
}

20. Studi Kasus 2: Dashboard UMKM

Kebutuhan

  • Data penjualan cabang

  • Grafik revenue

  • Monitoring stok

  • Dashboard pusat


Solusi

Standalone Script mengambil data dari berbagai spreadsheet cabang.


Teknologi

Frontend:

  • HTML

  • Bootstrap

  • Google Charts

Backend:

  • Apps Script

Database:

  • Google Sheets


21. Studi Kasus 3: Sistem Generate Sertifikat

Kebutuhan

  • Ambil data peserta

  • Generate PDF sertifikat

  • Kirim email otomatis


Contoh Script

function sendCertificate(){

  const ss = SpreadsheetApp
    .openById('SPREADSHEET_ID');

  const sheet = ss
    .getSheetByName('Peserta');

  const data = sheet
    .getDataRange()
    .getValues();

  data.forEach(row => {

    const email = row[1];

    MailApp.sendEmail(
      email,
      'Sertifikat',
      'Sertifikat Anda telah tersedia'
    );
  });
}

22. Studi Kasus 4: Integrasi API

Standalone Script dapat digunakan untuk mengambil data API.


Contoh API Request

function getAPI(){

  const response = UrlFetchApp.fetch(
    'https://api.example.com/data'
  );

  const data = JSON.parse(
    response.getContentText()
  );

  Logger.log(data);
}

23. Trigger pada Standalone Script

Trigger digunakan untuk otomatisasi.


Jenis Trigger

TriggerFungsi
Time-drivenBerdasarkan waktu
onOpenSaat file dibuka
onEditSaat data berubah
API triggerBerdasarkan request

Contoh Time Trigger

function autoBackup(){
  Logger.log('Backup berjalan');
}

Trigger:

  • Setiap jam

  • Setiap hari

  • Setiap minggu


24. Integrasi Database

Standalone Script dapat terhubung dengan:

  • Google Sheets

  • Firebase

  • MySQL

  • PostgreSQL

  • REST API


25. Integrasi Google Charts

Contoh

<script>
google.charts.load('current', {
  packages:['corechart']
});
</script>

26. Best Practice Standalone Script

1. Gunakan Modular Code

Pisahkan:

  • API

  • Database

  • Frontend

  • Config


2. Gunakan Config File

Contoh:

const CONFIG = {
  spreadsheetId:'ID_FILE'
}

3. Gunakan Error Handling

try{

}catch(error){
  Logger.log(error);
}

4. Gunakan include()

Agar code lebih rapi.


5. Hindari Hardcode

Gunakan variabel.


27. Arsitektur Standalone Script

User Browser
      │
      ▼
Frontend HTML/CSS/JS
      │
      ▼
Standalone Apps Script
      │
      ├── Spreadsheet A
      ├── Spreadsheet B
      ├── Spreadsheet C
      │
      ▼
Dashboard Monitoring

28. Kapan Menggunakan Standalone Script?

Gunakan jika:

  • Sistem multi spreadsheet

  • Dashboard enterprise

  • Integrasi API

  • Sistem besar

  • Monitoring pusat

  • Multi-user app

  • Integrasi cloud


29. Kapan Tidak Menggunakan Standalone Script?

Hindari jika:

  • Sistem sederhana

  • Satu spreadsheet saja

  • Dashboard kecil

  • Automation ringan


30. Perbandingan Bound dan Standalone

AspekBound ScriptStandalone Script
StrukturTerikat fileIndependen
Akses fileFile aktifBanyak file
KompleksitasSederhanaKompleks
ReusableTidakYa
Cocok untukDashboard kecilEnterprise

31. Kesimpulan

Standalone Script adalah Google Apps Script yang berdiri sendiri dan tidak terikat pada file tertentu.

Standalone Script sangat cocok digunakan untuk:

  • Dashboard enterprise

  • Sistem monitoring pusat

  • Integrasi API

  • Multi spreadsheet system

  • Automation skala besar

  • Web app profesional

Kelebihan utama Standalone Script:

  • Fleksibel

  • Reusable

  • Scalable

  • Cocok untuk aplikasi besar

Dengan memahami Standalone Script, developer dapat membangun sistem cloud modern berbasis Google Workspace yang lebih kompleks dan profesional.

Tidak ada komentar:

Posting Komentar

MPA - Bukti Pendaftaran

  https://script.google.com/macros/s/AKfycbw1NyiOCuf1kvPEHau3viii_943iUX5CTQJ3hQRM97ng_BMNLsAITQzjUKmp25TYBvx/exec https://drive.google.com/...