Berawal dari awal Ramadan 1442 H lalu, saya cukup kesulitan menemukan jadwal imsakiyah untuk tahun 1442 H ini.
Jika tahun lalu saya mengunduh jadwal dari Masjid Al-Falah IWKZ, Berlin, namun tahun ini saya tidak menemukan jadwal tersebut di laman Facebook tersebut.
Memang di situs mereka, ada jadwal salatnya, namun cukup repot juga jika harus setiap hari membuka situs tersebut.
Tidak seperti di Indonesia yang ada azan setiap hari selama 5 kali, plus saat Ramadan biasanya ada panggilan imsak, di Berlin, azan saja tidak boleh keluar dari gedung masjid.
Apalagi untuk puasa, waktu berbuka serta waktu imsak dan subuh menjadi sangat penting.
Sebenarnya ada juga aplikasi jadwal salat seperti Muslim Pro atau aplikasi bikinan lokal Indonesia lainnya, namun saya cukup malas memasang aplikasi tersebut ke ponsel.
Lalu saya membaca cuitan dari Mas Lantip tentang mainannya untuk menghasilkan jadwal imsakiyah dalam format .ics
(kalender) yang bisa ditambahkan ke aplikasi kalender.
Sayangnya dengan memasang berkas tersebut akan menghapus jadwal yang ada di kalender.
Mas Lantip membuat skrip menggunakan bahasa pemrograman Python yang kemudian mempublikasikannya ke GitHub miliknya.
Awalnya skrip itu hanya bisa digunakan di Indonesia, karena jadwalnya di-hard code ke waktu Indonesia Bagian Barat (GMT+7).
Skrip tersebut menghitung lokasi koordinat untuk mendapatkan waktu salat, yang menggunakan pustaka dari PrayTimes.org.
Untuk metode perhitungannya, bisa merujuk ke halaman PrayTimes.org, yang ternyata ada beberapa tambahan perhitungan sudut untuk penentuan waktu Subuh dan Asar sesuai dengan tafsir lembaga atau organisasi islam.
PrayTimes.org mendukung 7 metode penghitungan, yaitu dari Muslim World League yang juga digunakan di sebagian besar Eropa; Islamic Society of North America (ISNA); Egyptian General Authority of Survey; Umm Al-Qura University, Mekah, Arab Saudi; University of Islamic Sciences, Karachi, Pakistan; Institute of Geophysics, University of Tehran, Iran; dan Shia Ithna Ashari, Leva Research Institute, Qum, Iran.
Pada skripnya, Mas Lantip menggunakan metode dari Umm Al-Qura University alias Mekah, yang menurutnya cukup mendekati dengan perhitungan di Indonesia.
Selain itu, ia juga menerapkan metode perhitungan tambahan ala Muhammadiyah untuk penentuan Subuh dan Magribnya.
Saya pun tertarik berpartisipasi dan sedikit berkontribusi dengan mengirimkan pull request agar bisa digunakan di Berlin.
Saya sempat menggunakan perhitungan dari skrip tersebut dan memasangkannya ke pembaca berkas .ics
daring karena saya tidak ingin jadwal di kalender saya hilang.
Dari mainan tersebut, saya kemudian terpikir untuk membuat sendiri aplikasi penghitung waktu salat, namun menggunakan bot Telegram untuk antarmukanya.
Saya memang pengguna Telegram yang sangat aktif yang selain menjadi sarana komunikasi saya sehari-hari (saya bukan pengguna WhatsApp aktif), Telegram juga banyak saya gunakan untuk notifikasi.
Bot Telegram adalah salah satu fitur Telegram yang paling saya suka, terutama untuk notifikasi berbagai hal.
Saya pernah membuat bot yang akan melakukan notifikasi melalui Telegram jika ada yang masuk melalui SSH ke server, hingga mengirim notifikasi saat ada blog baru yang terjaring oleh blog aggregator saya yang bisa dicek di kanal Telegram juga.
Singkat kata, saya sering menggunakan bot Telegram untuk berbagai keperluan.
Di Telegram sendiri, ada satu bot jadwal salat yang menurut saya menarik yaitu bot Waktu Sholat (@adzannbot) yang menunya cukup lengkap, termasuk menghitung jadwal waktu salat berdasarkan lokasi.
Bot tersebut bahkan memiliki fitur notifikasi dan pengingat waktu salat yang bisa diset jika waktu salat telah tiba.
Rupanya bot Waktu Sholat menggunakan API dari Aladhan, yang memang sangat lengkap dan sangat baik.
Selain bot Waktu Sholat, ada juga bot lain namun fiturnya tidak selengkap Waktu Sholat, seperti pada bot Jadwal Imsakiyah (@JadwalImsakiyah_bot) yang hanya memiliki jadwal salat untuk area DKI Jakarta, Bekasi, Bogor, Medan, Semarang, Sidoarjo, dan Surabaya.
Jadwal yang diberikan oleh bot Jadwal Imsakiyah pun berupa gambar yang diambil dari berbagai berbagai sumber.
Bot Imsakiyah
Namun karena saya memang ingin membuat bot interaktif seperti bot Waktu Sholat, saya memutuskan untuk membuat sendiri bot tersebut yang sesuai dengan kebutuhan saya.
Saya tidak memerlukan notifikasi atau pengingat waktu salat, dan lebih membutuhkan untuk melihat jadwal.
Karena saya cukup cocok dengan metode perhitungan dari PrayTimes.org dan memungkinkan untuk melakukan penyesuaian, saya menggunakan pustaka PrayTimes.org seperti pada skrip Imsakiyah milik Mas Lantip.
Saya menggunakan Bahasa Pemrograman PHP karena memang ditujukan untuk web, namun sayangnya pustaka PHP yang tersedia di PrayTimes.org sudah terlalu tua.
Untungnya saya menemukan pustaka PHP Prayer Times hasil forking dari PrayTimes yang lebih baru dan masih di-maintain dengan rutin.
Maka di pertengahan Ramadan, saya mulai mengutak-atik di kala senggang sembari menunggu waktu sahur setelah berbuka, dan akhirnya bot yang saya beri nama Imsakiyah (@imsakiyahbot) itu selesai juga.
Bot tersebut menyimpan informasi lokasi untuk digunakan dalam menghitung waktu salat.
Logo bot saya ambil dari Flaticon hasil karya mavadee.
Untuk saat ini, bot hanya memiliki 3 perintah, yaitu /start untuk memulai dan mengeset lokasi awal, /salat untuk melihat waktu salat, dan /help untuk menu bantuan.
Suatu saat mungkin akan saya tambahkan beberapa perintah lain, seperti pengaturan notifikasi atau pengingat waktu salat seperti pada bot Waktu Sholat, jika memang saya rasa perlu.
Untuk menggunakan bot ini juga cukup mudah, tinggal cari dengan kata kunci imsakiyahbot dan ikuti petunjuk yang muncul.
Jika misal ada masukan atau kritik, bisa disampaikan di kolom komentar di tulisan ini.
Perbandingan Waktu
Saya membandingkan beberapa jadwal salat yang saya temukan, dengan berbagai metode, yang ternyata selisih waktu salatnya masih bisa ditoleransi.
Bot Imsakiyah menggunakan konfigurasi dar Mekah dengan penyesuaian sudut pada Subuh 20°, Zuhur +4 menit, Asar 13°, Magrib 1,7°, dan Isya 18°.
Misalnya pada jadwal salat tanggal 2 Mei 2021 waktu Berlin, Jerman, dengan perhitungan DST.
Jadwal Salat | Metode | Imsak | Subuh | Zuhur | Asar | Magrib | Isya |
---|---|---|---|---|---|---|---|
Bot Imsakiyah | Mekah yang Disesuaikan | 02.24 | 02.34 | 13.08 | 17.08 | 20.42 | 23.16 |
IWKZ.de | – | – | 03.30 | 13.09 | 17.12 | 20.40 | 22.10 |
Muslim Pro | Islamic Center Aachen | – | 02.34 | 13.11 | 17.11 | 20.41 | 22.35 |
Muslim Pro | Kemenag RI | – | 02.32 | 13.03 | 17.08 | 20.36 | 23.15 |
Bot Waktu Sholat | Aladhan | 02.24 | 02.34 | 13.04 | 17.08 | 20.35 | 23.16 |
Kemudian saya membandingkan dengan jadwal salat untuk Jakarta, pada tanggal 3 Mei 2021.
Jadwal Salat | Metode | Imsak | Subuh | Zuhur | Asar | Magrib | Isya |
---|---|---|---|---|---|---|---|
Bot Imsakiyah | Mekah yang Disesuaikan | 04.23 | 04.33 | 11.53 | 15.12 | 17.50 | 18.57 |
Kemenag RI | – | 04.26 | 04.36 | 11.53 | 15.14 | 17.49 | 19.00 |
Muhammadiyah | – | 04.33 | 04.43 | 11.52 | 15.13 | 17.49 | 19.00 |
Nahdlatul Ulama | – | 04.25 | 04.35 | 11.51 | 15.13 | 17.48 | 18.59 |
Muslim Pro | Kemenag RI | – | 04.36 | 11.53 | 15.14 | 17.49 | 19.00 |
Bot Waktu Sholat | Aladhan | 04.23 | 04.33 | 11.50 | 15.12 | 17.46 | 18.57 |
Hasilnya cukup akurat walau terdapat perbedaan beberapa menit yang masih bisa ditolerir.
Keren juga ya Mas, ternyata bot telegram bisa dibuat seperti ini juga. 👍