,

Source Code Live Score Lomba (Google Sheet + GAS)

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:
Nama ScriptDownload
Code.gsDownload
index.htmlDownload

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_eventlogo_urlrefresh_intervalcabang_listtampilkan_peringkat_live
O2SN Kecamatan 2026https://contoh.com/logo.png5000Pidato Bahasa Jawa, Catur, KaligrafiTRUE

Catatan:

  • refresh_interval dalam 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_url boleh dikosongkan kalau tidak perlu logo

Sheet per cabang lomba

Buat 1 sheet untuk tiap cabang (nama sheet = nama yang didaftarkan di
cabang_list). Contoh sheet “Pidato Bahasa Jawa”:

NoNamaAsal SekolahKriteria 1Kriteria 2TotalStatus
1Budi SantosoSDN 1 Purbalingga282785Selesai
2Ani WulandariSDN 2 Purbalingga302890Selesai
3Citra DewiSDN 3 Purbalingga–––Live

Aturan kolom (nama header harus persis, urutan bebas):

  • Nama — wajib
  • Asal Sekolah — wajib
  • Total — wajib, ini yang dipakai untuk menghitung peringkat otomatis.
    Boleh dikosongkan/diisi “-” kalau belum selesai dinilai
  • Status — 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.

  1. Di Google Sheet, buka Extensions > Apps Script
  2. Hapus isi default Code.gs, tempel seluruh isi file Code.gs yang disediakan
  3. Di panel kiri, klik + > HTML, beri nama file persis index
    (jangan ganti nama lain — script memanggil file ini dengan nama itu)
  4. Hapus isi default file index.html yang baru dibuat, tempel seluruh isi
    index.html yang disediakan
  5. Klik Deploy > New deployment
  6. Pilih tipe Web app
  7. Isi:
    • Execute as: Me
    • Who has access: Anyone
  8. Klik Deploy, izinkan akses saat diminta
  9. 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 ke cabang_list di 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_live di 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.