Cara Membuat Aplikasi Prediksi Skor Piala Dunia 2026 dengan Google Apps Script (Gratis)
Cara Membuat Aplikasi Prediksi Skor Piala Dunia 2026 dengan Google Apps Script (Gratis)
Piala Dunia 2026 sudah di depan mata! Tahun ini digelar di Amerika Serikat, Meksiko, dan Kanada dengan 48 timnas berpartisipasi. Buat kamu yang ingin seru-seruan menebak skor pertandingan, kenapa tidak membuat aplikasi prediksi skor Piala Dunia 2026 sendiri menggunakan Google Apps Script? Gratis, mudah, dan bisa diakses dari HP!
Mengapa Membuat Aplikasi Prediksi Piala Dunia?
Selama Piala Dunia 2026, jutaan orang Indonesia akan mencari "prediksi skor piala dunia 2026", "hasil pertandingan piala dunia", "jadwal piala dunia 2026", dan "klasemen piala dunia 2026" di Google. Dengan membuat aplikasi sendiri, kamu bisa:
- Menulis prediksi skor untuk semua pertandingan Piala Dunia 2026
- Menghitung poin prediksi otomatis berdasarkan hasil akhir
- Membuat leaderboard untuk kompetisi antar teman
- Menganalisis akurasi prediksi dengan grafik dan statistik
- Share link ke WhatsApp, Instagram, dan media sosial
Aplikasi ini menggunakan Google Sheets sebagai database dan Google Apps Script sebagai backend. Semua gratis tanpa biaya hosting!
Langkah 1: Buat Database Piala Dunia 2026
Buka sheets.new dan buat beberapa sheet:
- Sheet "Jadwal" - Tanggal, waktu, tim tuan rumah, tim tamu, stadion, grup
- Sheet "Prediksi" - Email, nama, prediksi skor per pertandingan
- Sheet "Hasil" - Skor akhir aktual setelah pertandingan selesai
- Sheet "Leaderboard" - Peringkat berdasarkan akurasi prediksi
- Sheet "Peserta" - Data pendaftaran pengguna aplikasi
Langkah 2: Kode Google Apps Script
function doGet(e) {
return HtmlService.createHtmlOutputFromFile('PialaDunia')
.setTitle('Prediksi Skor Piala Dunia 2026')
.addMetaTag('viewport', 'width=device-width, initial-scale=1')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}
// Ambil jadwal pertandingan
function getSchedule() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Jadwal');
var data = sheet.getDataRange().getValues();
var matches = [];
for (var i = 1; i < data.length; i++) {
matches.push({
id: data[i][0],
tanggal: data[i][1],
waktu: data[i][2],
timHome: data[i][3],
timAway: data[i][4],
stadion: data[i][5],
grup: data[i][6]
});
}
return matches;
}
// Simpan prediksi user
function submitPrediction(email, nama, predictions) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Prediksi');
// Cek apakah sudah pernah prediksi
var existing = sheet.getDataRange().getValues();
for (var i = 1; i < existing.length; i++) {
if (existing[i][1] == email) {
// Update prediksi
for (var j = 0; j < predictions.length; j++) {
sheet.getRange(i + 1, j + 4).setValue(predictions[j]);
}
return { success: true, message: 'Prediksi berhasil diupdate!' };
}
}
// Tambah prediksi baru
var row = [new Date(), email, nama];
predictions.forEach(function(p) { row.push(p); });
sheet.appendRow(row);
return { success: true, message: 'Prediksi berhasil disimpan!' };
}
// Hitung poin prediksi
function calculatePoints() {
var predSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Prediksi');
var hasilSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Hasil');
var predictions = predSheet.getDataRange().getValues();
var results = hasilSheet.getDataRange().getValues();
var scores = {};
for (var i = 1; i < predictions.length; i++) {
var email = predictions[i][1];
var nama = predictions[i][2];
var totalPoints = 0;
for (var j = 1; j < results.length; j++) {
var matchId = results[j][0];
var actualHome = results[j][1];
var actualAway = results[j][2];
// Cari prediksi untuk match ini
var colIndex = j + 2; // Kolom prediksi dimulai dari kolom D
if (predictions[i][colIndex]) {
var pred = predictions[i][colIndex].toString().split('-');
var predHome = parseInt(pred[0]);
var predAway = parseInt(pred[1]);
// Hitung poin
if (predHome == actualHome && predAway == actualAway) {
totalPoints += 3; // Skor tepat
} else if ((predHome - predAway) == (actualHome - actualAway)) {
totalPoints += 2; // Selisih tepat
} else if (Math.sign(predHome - predAway) == Math.sign(actualHome - actualAway)) {
totalPoints += 1; // Pemenang tepat
}
}
}
if (!scores[email]) scores[email] = { nama: nama, points: 0 };
scores[email].points = totalPoints;
}
// Update leaderboard
var lbSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Leaderboard');
lbSheet.clearContents();
lbSheet.appendRow(['Peringkat', 'Nama', 'Email', 'Poin']);
var sorted = Object.entries(scores).sort(function(a, b) { return b[1].points - a[1].points; });
sorted.forEach(function(entry, index) {
lbSheet.appendRow([index + 1, entry[1].nama, entry[0], entry[1].points]);
});
return sorted;
}
// Dapatkan leaderboard
function getLeaderboard() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Leaderboard');
return sheet.getDataRange().getValues();
}
Langkah 3: Buat Interface HTML yang Keren
Desain antarmuka yang menarik dengan tema Piala Dunia 2026. Gunakan warna biru, merah, dan putih sesuai tema FIFA. Tambahkan logo piala dunia dan countdown timer ke pertandingan berikutnya.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
body { background: linear-gradient(135deg, #1a237e, #0d47a1); min-height: 100vh; }
.match-card { background: white; border-radius: 15px; padding: 20px; margin: 10px 0; }
.team-flag { width: 60px; height: 40px; object-fit: cover; border-radius: 5px; }
.score-input { width: 60px; font-size: 24px; text-align: center; }
</style>
</head>
<body>
<div class="container py-4">
<h1 class="text-white text-center">PREDIKSI SKOR PIALA DUNIA 2026</h1>
<div id="matches"></div>
<button class="btn btn-warning btn-lg w-100 mt-3" onclick="submitAll()">
KIRIM PREDIKSI
</button>
</div>
</body>
</html>
Fitur Tambahan yang Bikin Aplikasi Makin Seru
- Countdown Timer - Hitung mundur ke pertandingan berikutnya
- Live Score - Update skor real-time saat pertandingan berlangsung
- Sharing ke WhatsApp - Bagikan prediksi ke grup WhatsApp
- Notifikasi Gol - Alert otomatis saat ada gol
- Statistik Tim - Head to head dan rekor pertemuan
- Kuis Pengetahuan - Quiz seputar Piala Dunia 2026
Strategi SEO untuk Aplikasi Piala Dunia
Gunakan kata kunci trending: "prediksi skor piala dunia 2026", "jadwal piala dunia 2026", "hasil pertandingan piala dunia", "klasemen piala dunia 2026", "skor live piala dunia". Submit ke Google Search Console dan index menggunakan Indexing API untuk cepat muncul di hasil pencarian.
Buat juga artikel pendukung seperti "Jadwal Lengkap Pertandingan Piala Dunia 2026", "Daftar 48 Timnas Piala Dunia 2026", dan "Prediksi Juara Piala Dunia 2026" untuk meningkatkan traffic organik.
Tags: Piala Dunia 2026, Prediksi Skor, FIFA World Cup 2026, Google Apps Script, Aplikasi Gratis, Prediksi Bola, Skor Live
Post a Comment for "Cara Membuat Aplikasi Prediksi Skor Piala Dunia 2026 dengan Google Apps Script (Gratis)"
Tuliskan masukan atau komentar yang baik-baik saja, hindari menghujat sesama