Dalam era digital ini, akses terhadap informasi cuaca yang akurat dan tepat waktu sangat penting untuk perencanaan aktivitas sehari-hari, terutama bagi komunitas pesantren yang memiliki berbagai kegiatan rutin baik di dalam maupun di luar ruangan. Artikel ini membahas bagaimana kami mengembangkan sistem informasi cuaca otomatis bernama "WeatherPesantren" menggunakan Google Apps Script untuk melayani kebutuhan spesifik Pesantren di Kota Kediri dan sekitarnya.
Pesantren di Indonesia umumnya memiliki jadwal kegiatan yang padat, mulai dari pembelajaran formal, kegiatan ekstrakurikuler, hingga ibadah berjamaah. Banyak dari kegiatan ini berlangsung di luar ruangan atau memerlukan perpindahan santri dari satu gedung ke gedung lain. Kondisi cuaca yang tidak menentu, terutama di musim pancaroba, bisa sangat memengaruhi pelaksanaan kegiatan-kegiatan tersebut.
Melihat kebutuhan ini, kami mengembangkan sistem yang dapat memberikan informasi cuaca terkini dan prakiraan untuk hari berikutnya dalam format yang mudah dipahami, dan didistribusikan melalui saluran yang sudah akrab digunakan oleh komunitas pesantren: WhatsApp dan email.
Dalam pengembangan sistem ini, kami menghadapi beberapa tantangan utama:
Solusi yang kami kembangkan adalah sistem berbasis Google Apps Script yang menggunakan teknik web scraping untuk mengambil data dari Weather.com dan mendistribusikannya dalam format yang informatif melalui WhatsApp dan email.
Web Scraping dengan Google Apps Script
Kami menggunakan Google Apps Script untuk mengambil data dari Weather.com. Teknik ini memungkinkan kami untuk mengakses data cuaca tanpa biaya berlangganan API.
function getWeather() {
const url = 'https://weather.com/id-ID/weather/tenday/l/37481c74ed6cf5f8fbfa0d34209696457628b602dda8140c8f58d68062c8a99d';
const response = UrlFetchApp.fetch(url);
const content = response.getContentText();
// Proses data selanjutnya...
}
Ekstraksi Data yang Tepat
Tantangan utama dalam web scraping adalah mengekstrak data yang tepat dari HTML. Kami mengembangkan fungsi khusus untuk mengidentifikasi dan mengekstrak informasi cuaca berdasarkan hari dan waktu tertentu.
function extractDaypartContent(content, day, timeOfDay) {
const regex = new RegExp(`<span class="DailyContent--daypartDate--[^"]*">${day}[^<]*<\\/span> \\| ${timeOfDay}[\\s\\S]*?<\\/div><\\/div><\\/div><\\/div>`, "i");
const matches = content.match(regex);
return matches ? matches[0] : null;
}
Format Pesan yang Informatif
Data cuaca diformat dalam pesan yang informatif dan mudah dibaca, dengan emoji untuk meningkatkan keterbacaan.
INFORMASI CUACA TERKINI
Wilayah Pesantren Kota Kediri dan Sekitarnya
Diperbarui: Jum'at, 5 April 2025 Jam 06.30.45 WIB
━━━━━━━━━━━━━━━━━━━━━━
PRAKIRAAN HARI INI
SIANG
• Kondisi Cuaca: Badai petir mulai terbentk di sore hari
• Suhu: 32°
• Kelembapan Udara: 78%
• Indeks UV: 9 dari 11
...
Distribusi Multi-saluran
Informasi cuaca dikirimkan melalui dua saluran utama:
Otomatisasi dengan Trigger
Sistem dijalankan secara otomatis setiap 6 jam menggunakan trigger Google Apps Script.
function createTrigger() {
ScriptApp.newTrigger('getWeather')
.timeBased()
.everyHours(6)
.create();
}
WeatherPesantren menunjukkan bagaimana teknologi sederhana, ketika diterapkan dengan pemahaman akan kebutuhan lokal, dapat memberikan nilai tambah yang signifikan. Sistem ini membantu komunitas pesantren mengakses informasi cuaca yang penting untuk aktivitas sehari-hari mereka, dalam format yang mudah diakses dan dipahami.
Kami berharap model ini dapat diadaptasi oleh lembaga pendidikan dan komunitas lainnya untuk memenuhi kebutuhan mereka sendiri. Kode sumber WeatherPesantren tersedia sebagai open source di GitHub, dan kami mengundang kontribusi untuk pengembangannya lebih lanjut.
Artikel ini ditulis berdasarkan pengalaman nyata mengembangkan sistem informasi cuaca untuk Pesantren di Kota Kediri. Jika Anda tertarik untuk menerapkan sistem serupa di komunitas Anda, silakan kunjungi repository GitHub kami di WeatherPesantren atau hubungi kami di [email protected].