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()dandoPost().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
Buka:
Klik:
New Project
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:
Script dijalankan
Script membaca ID file
Script membuka spreadsheet tertentu
Data diproses
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
| Kode | Fungsi |
|---|---|
| openById() | Membuka spreadsheet tertentu |
| getSheetByName() | Mengambil sheet |
| getValues() | Mengambil data |
9. Perbedaan Bound Script dan Standalone Script
| Bound Script | Standalone Script |
|---|---|
| Terikat file | Berdiri sendiri |
| Menggunakan file aktif | Menggunakan ID file |
| Cocok project kecil | Cocok project besar |
| Mudah dibuat | Lebih fleksibel |
| Tidak reusable | Reusable |
10. Kelebihan Standalone Script
| Kelebihan | Penjelasan |
|---|---|
| Fleksibel | Bisa akses banyak file |
| Reusable | Bisa digunakan ulang |
| Cocok enterprise | Untuk sistem besar |
| Integrasi mudah | Dengan API dan cloud |
| Modular | Mudah maintenance |
11. Kekurangan Standalone Script
| Kekurangan | Penjelasan |
|---|---|
| Lebih kompleks | Perlu konfigurasi |
| Harus pakai ID file | Tidak otomatis |
| Setup lebih lama | Untuk 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
| Trigger | Fungsi |
|---|---|
| Time-driven | Berdasarkan waktu |
| onOpen | Saat file dibuka |
| onEdit | Saat data berubah |
| API trigger | Berdasarkan 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
| Aspek | Bound Script | Standalone Script |
|---|---|---|
| Struktur | Terikat file | Independen |
| Akses file | File aktif | Banyak file |
| Kompleksitas | Sederhana | Kompleks |
| Reusable | Tidak | Ya |
| Cocok untuk | Dashboard kecil | Enterprise |
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