Kali ini, saya akan berbagi cara untuk membuat Live Score Lomba. Source code ini free dan bisa digunakan untuk berbagai macam lomba. Misalnya saja untuk MAPSI, FTBI, O2SN, dan lomba-lomba lain yang biasanya mempunyai beberapa cabang lomba.
Lomba-lomba tersebut tentunya salah satu unsur yang bisa mematahkan pendapat Kecerdasan itu Tidak Didapat dari Sekolah. Benarkah?. Berlatih dan berkompetisi untuk menentukan keunggulan, mulai dari keunggulan konsistensi, kompetensi, dan adaptasi terutama materi dan teori yang diajarkan tidak selalu sama dengan keadaan ketika perlombaan.
Untuk itu, agar lebih akuntabel, perlu perlu ada sistem penilaian yang transparan. Semua peserta bisa mengetahui peringkat masing-masing.
Dengan Live Score Lomba ini, para peserta bisa mengaksesnya secara online dan realtime. Cara membuatnya pun mudah, tinggal ikuti langkah-langkah berikut ini.
0. File yang dibutuhkan
Kebutuhan Source Code untuk membuat Live Score Lomba (Google Sheet + GAS) yaitu:
- Google Sheet
- Script:
Kalau sudah download kedua file di atas, masuk ke langkah pertama:
1. Buat Google Sheet
Buat spreadsheet baru, lalu buat sheet-sheet berikut:
Sheet “Settings”
Ketik seperti tabel biasa — baris pertama nama pengaturan, baris kedua isinya:
| nama_event | logo_url | refresh_interval | cabang_list | tampilkan_peringkat_live |
|---|---|---|---|---|
| O2SN Kecamatan 2026 | https://contoh.com/logo.png | 5000 | Pidato Bahasa Jawa, Catur, Kaligrafi | TRUE |
Catatan:
refresh_intervaldalam milidetik (5000 = 5 detik)cabang_list= daftar nama sheet cabang lomba, dipisah koma. Nama harus
persis sama dengan nama sheet cabangnya (termasuk spasi/kapitalisasi)tampilkan_peringkat_live= TRUE atau FALSE — mengatur apakah kolom
peringkat muncul di tab live score (di tab Kejuaraan selalu muncul)logo_urlboleh dikosongkan kalau tidak perlu logo
Sheet per cabang lomba
Buat 1 sheet untuk tiap cabang (nama sheet = nama yang didaftarkan dicabang_list). Contoh sheet “Pidato Bahasa Jawa”:
| No | Nama | Asal Sekolah | Kriteria 1 | Kriteria 2 | Total | Status |
|---|---|---|---|---|---|---|
| 1 | Budi Santoso | SDN 1 Purbalingga | 28 | 27 | 85 | Selesai |
| 2 | Ani Wulandari | SDN 2 Purbalingga | 30 | 28 | 90 | Selesai |
| 3 | Citra Dewi | SDN 3 Purbalingga | – | – | – | Live |
Aturan kolom (nama header harus persis, urutan bebas):
Nama— wajibAsal Sekolah— wajibTotal— wajib, ini yang dipakai untuk menghitung peringkat otomatis.
Boleh dikosongkan/diisi “-” kalau belum selesai dinilaiStatus— wajib, isi bebas teks (misal “Live”, “Selesai”, “Belum Mulai”).
Halaman web akan menampilkan badge khusus untuk teks yang mengandung
kata “live” (case-insensitive)- Kolom lain (kriteria penilaian juri) bebas — boleh berapa pun,
nama apa pun, sesuai kebutuhan tiap cabang. Kolom ini tidak ditampilkan
di live score/kejuaraan, hanya untuk kerja juri
Kolom No opsional, tidak dipakai oleh script.
Peringkat (Juara 1, Juara 2, …, Harapan 3) dihitung otomatis oleh
GAS berdasarkan Total, dari besar ke kecil. Tidak perlu diisi manual.
2. Pasang Google Apps Script (kode + halaman web, satu proyek)
Halaman live score di-host langsung dari Apps Script — tidak perlu hosting
terpisah, tidak ada file di luar Google.
- Di Google Sheet, buka Extensions > Apps Script
- Hapus isi default
Code.gs, tempel seluruh isi fileCode.gsyang disediakan - Di panel kiri, klik + > HTML, beri nama file persis
index
(jangan ganti nama lain — script memanggil file ini dengan nama itu) - Hapus isi default file
index.htmlyang baru dibuat, tempel seluruh isiindex.htmlyang disediakan - Klik Deploy > New deployment
- Pilih tipe Web app
- Isi:
- Execute as: Me
- Who has access: Anyone
- Klik Deploy, izinkan akses saat diminta
- Salin URL Web app yang muncul (bentuknya
https://script.google.com/macros/s/XXXXX/exec) — inilah alamat
live score-nya, langsung bisa dibuka di browser atau ditaruh di link bio,
tanpa hosting lain
Setiap kali mengubah isi Code.gs atau index.html (seharusnya tidak perlu
lagi setelah setup), deploy ulang dengan Manage deployments > Edit >
New version, karena Apps Script tidak otomatis update URL yang sudah
dibagikan.
3. Pemakaian sehari-hari
- Update nilai juri: edit langsung di sheet cabang masing-masing
(kolom Total, Status) - Tambah cabang baru: buat sheet baru dengan format yang sama,
tambahkan namanya kecabang_listdi Settings - Hapus cabang: hapus namanya dari
cabang_list(sheet-nya boleh
tetap ada, cukup dihapus dari daftar) - Ganti nama event/logo/kecepatan refresh: edit Sheet “Settings”
- Tampilkan/sembunyikan peringkat di live score: ubah
tampilkan_peringkat_livedi Settings
Tidak ada yang perlu diedit di Code.gs atau index.html untuk semua
kebutuhan di atas.
Mudah, kan? Kalau masih bingung, bisa tanyakan hal-hal yang berkaitan dengan Source Code Live Score Lomba (Google Sheet + GAS) melalui kolom komentar di bawah.
