Mengapa Modularisasi#
Kode besar sulit dirawat. Pecah ke fungsi/folder kecil dengan tanggung jawab tunggal.
Modul dalam Satu Project#
Apps Script mendukung banyak file .gs. Pisahkan berdasar layanan.
Example (SheetsUtil.gs):
function bacaKolom(sheet, kolom) { return sheet.getRange(2, kolom, sheet.getLastRow() - 1).getValues().flat();}Example (MailUtil.gs):
function kirim(template, penerima) { GmailApp.sendEmail(penerima, template.subjek, template.isi);}Membuat Library#
- Buat project terpisah (mis.
UtilUmum). - Di Project Settings, salin Script ID.
- Di project lain: Libraries → + Add a library, tempel Script ID, beri alias (mis.
Util). - Panggil fungsi:
Util.bacaKolom(...).
Example (UtilUmum.gs):
function formatRupiah(n) { return 'Rp ' + n.toLocaleString('id-ID');}Example (project pemakai):
function laporan() { const total = 120000; Logger.log(Util.formatRupiah(total)); // Rp 120.000}Menyimpan Rahasia (PropertiesService)#
Jangan tulis token di script. Simpan di property.
Example:
function simpanToken() { PropertiesService.getScriptProperties().setProperty('API_KEY', 'rahasia');}
function bacaToken() { return PropertiesService.getScriptProperties().getProperty('API_KEY');}| Layanan | Kegunaan |
|---|---|
| Library | Pakai ulang antar project |
ScriptProperties | Rahasia level project |
UserProperties | Pengaturan per pengguna |
Note
Library butuh versi (
1,2,head). Gunakan versi tetap di produksi agar tidak terpengaruh perubahan library.
Next#
Pelajari Batas Kuota & Optimasi.