Catatan Harian Mas Andri

Silahkan digunakan dengan bijaksana

back

WeatherPesantren: Mengembangkan Sistem Informasi Cuaca Otomatis untuk Pesantren dengan Google Apps Script

04 April 2025 || 15:03:01 WIB || ClassyID

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.

Tantangan yang Dihadapi

Dalam pengembangan sistem ini, kami menghadapi beberapa tantangan utama:

  1. Keterbatasan API: Layanan API cuaca berkualitas tinggi umumnya berbayar atau memiliki batasan penggunaan.
  2. Kebutuhan Lokalisasi: Informasi cuaca perlu spesifik untuk lokasi pesantren, dengan bahasa dan format yang sesuai dengan kebutuhan lokal.
  3. Aksesibilitas: Sistem harus dapat menyampaikan informasi melalui saluran yang sudah biasa digunakan oleh komunitas pesantren.
  4. Keberlanjutan: Solusi harus bisa dijalankan secara otomatis dan dengan biaya minimal atau bahkan gratis.

Solusi: WeatherPesantren

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.

Komponen Utama

  1. 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...
    }
    
  2. 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;
    }
    
  3. 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
    ...
    
  4. Distribusi Multi-saluran

    Informasi cuaca dikirimkan melalui dua saluran utama:

    • WhatsApp: Menggunakan layanan WhatsApp Gateway untuk mengirim pesan ke nomor atau grup tertentu
    • Email: Menggunakan MailApp di Google Apps Script untuk mengirim email terformat
  5. Otomatisasi dengan Trigger

    Sistem dijalankan secara otomatis setiap 6 jam menggunakan trigger Google Apps Script.

    function createTrigger() {
      ScriptApp.newTrigger('getWeather')
        .timeBased()
        .everyHours(6)
        .create();
    }
    

Kesimpulan

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].