Penjelasan
kode Google Apps Script untuk aplikasi web sederhana (via doGet) + fungsi inisialisasi struktur Google Sheet (Users, DataSiswa, DataGuru) beserta data defaultnya.
1) Bagian Konfigurasi
-
SPREADSHEET_ID: ID file Google Spreadsheet yang jadi database utama.
-
FOLDER_ID: ID folder Google Drive untuk simpan foto (di potongan kode ini belum dipakai, tapi biasanya dipakai saat upload foto dan menghasilkan
fotoUrl).
2) Fungsi doGet(e) (Entry Point Web App)
Fungsi ini dijalankan saat URL Web App dibuka.
Yang dilakukan:
-
createHtmlOutputFromFile('index'): memuat file index.html dari project GAS. -
setTitle(...): judul tab browser. -
setXFrameOptionsMode(ALLOWALL): mengizinkan halaman ini di-embed (iframe) dari domain lain (kalau tidak, biasanya diblokir). -
addMetaTag("viewport", ...): supaya tampilan responsif di mobile. -
setFaviconUrl(...): ikon kecil (favicon) di tab.
Parameter e berisi query string / parameter URL (misal ?page=data), tapi di kode ini belum digunakan.
3) Fungsi initializeSheets() (Reset & Setup Database Sheet)
Fungsi ini:
-
Membuka spreadsheet berdasarkan
SPREADSHEET_ID -
Menghapus sheet lama jika ada
-
Membuat ulang 3 sheet: Users, DataSiswa, DataGuru
-
Menulis header + memberi style warna header
-
Mengisi data contoh (default)
3.1 Membuka Spreadsheet + Logging
-
openById: akses spreadsheet target. -
Logger.log: catatan log (lihat di Executions/Logs).
4) Setup Sheet Users
-
Kalau sheet “Users” sudah ada → dihapus total.
-
Lalu dibuat ulang.
Header Users
-
Header berisi 5 kolom:
-
username
-
password
-
role (Admin/Guru/Siswa)
-
nisn (untuk siswa/guru tertentu)
-
nama_lengkap (ini penambahan struktur baru)
-
Data Default Users
-
Mengisi data mulai baris 2 kolom 1, sebanyak
usersData.lengthbaris dan 5 kolom.
Catatan penting:
-
Password masih plain text (belum di-hash). Ini oke untuk demo, tapi untuk produksi sebaiknya hashing.
5) Setup Sheet DataSiswa
Header DataSiswa
Kolom:
-
timestamp (waktu input)
-
nama
-
nisn
-
kelas
-
jurusan
-
alamat
-
fotoUrl (link foto di Drive/hosting; saat ini diisi kosong)
Data Default Siswa + Format Tanggal
-
Mengisi 3 data siswa.
-
setNumberFormat(...)hanya untuk kolom timestamp (kolom 1), agar tampil rapi.
6) Setup Sheet DataGuru
Header
Kolom:
-
NIP (di contoh ini seperti kode guru: 101,102,…)
-
Nama Guru
-
Mata Pelajaran
-
Kelas Ajar
-
Jurusan Ajar
Data Default Guru
7) Return Sukses / Error Handling
Kalau berhasil, mengembalikan objek JSON-like (berguna jika dipanggil dari frontend via google.script.run).
Kalau error:
Tidak ada komentar:
Posting Komentar