Pada kesempatan ini, cara perhitungan waktu shalat dengan menggunakan sejumlah rumus matematika akan disajikan disini. Untuk menentukan waktu lima shalat wajib untuk suatu tempat dan tanggal tertentu, ada beberapa parameter yang mesti diketahui :
1. Koordinat lintang tempat tersebut (L). Daerah yang terletak di sebelah utara garis khatulistiwa (ekuator) memiliki lintang positif. Yang disebelah selatan, lintangnya negatif. Misalnya Fukuoka (Japan) memiliki lintang 33:35 derajat lintang utara (LU). Maka L = 33 + 35/60 = 33,5833 derajat. Jakarta memiliki koordinat lintang 6:10:0 derajat LS (6 derajat 10 menit busur lintang selatan). Maka L = minus (6 + 10/60) = -6,1667 derajat.
2. Koordinat bujur tempat tersebut (B) .Daerah yang terletak di sebelah timur Greenwich memiliki bujur positif. Misalnya Jakarta memiliki koordinat bujur 106:51:0 derajat Bujur Timur. Maka B = 106 + 51/60 = 106,85 derajat. Sedangkan disebelah barat Greenwich memiliki bujur negatif. Misalnya Los Angeles memiliki koordinat bujur 118:28 derajat Bujur Barat. Maka B = minus (118 + 28/60) = -118,4667 derajat.
3. Zona waktu tempat tersebut (Z). Daerah yang terletak di sebelah timur Greenwich memiliki Z positif. Misalnya zona waktu Jakarta adalah UT +7 (seringkali disebut GMT +7), maka Z = 7. Sedangkan di sebelah barat Greenwich memiliki Z negatif. Misalnya, Los Angeles memiliki Z = -8.
4. Ketinggian lokasi dari permukaan laut (H). Ketinggian lokasi dari permukaan laut (H) menentukan waktu kapan terbit dan terbenamnya matahari. Tempat yang berada tinggi di atas permukaan laut akan lebih awal menyaksikan matahari terbit serta lebih akhir melihat matahari terbenam, dibandingkan dengan tempat yang lebih rendah. Satuan H adalah meter.
5. Tanggal (D), Bulan (M) dan Tahun (Y) kalender Gregorian. Tanggal (D), bulan (M) dan tahun (Y) tentu saja menjadi parameter, karena kita ingin menentukan waktu shalat pada tanggal tersebut. Dari tanggal, bulan dan tahun tersebut selanjutnya dihitung nilai Julian Day (JD). Silakan lihat penjelasan detil tentang Julian Day pada tulisan sebelumnya tentang KALENDER JULIAN, KALENDER GREGORIAN dan JULIAN DAY. Namun ada baiknya untuk dituliskan kembali tentang rumus menghitung Julian Day. Saat ini karena Kalender Masehi yang digunakan adalah kalender Gregorian, maka rumus Julian Day adalah
JD = 1720994,5 + INT(365,25*Y) + INT(30,6001(M + 1)) + B + D.
Disini INT = lambang untuk nilai integer. Jika M > 2, maka M dan Y tidak berubah. Jika M = 1 atau 2, maka M ditambah 12 sedangkan Y dikurangi 1. Nilai B = 2 + INT(A/4) - A dimana A = INT(Y/100). Nilai JD di atas berlaku untuk pukul 12.00 UT atau saat tengah hari di Greenwich. Adapun JD untuk pukul 12.00 waktu lokal, maka JD pukul 12.00 UT waktu Greenwich tersebut harus dikurangi dengan Z/24 dimana Z adalah zona waktu lokal tersebut.
Dari nilai JD tersebut, dihitung sudut tanggal T dengan rumus
T = 2*PI*(JD - 2451545)/365,25.
Disini PI adalah konstanta yang bernilai 3,14159265359. Sementara itu 2451545 adalah Julian Day untuk tanggal 1 Januari 2000 pukul 12.00 UT. Angka 365,25 adalah banyaknya hari rata-rata dalam setahun. Jadi T menunjukkan sudut tanggal dalam setahun terhitung sejak tanggal 1 Januari 2000 pukul 12.00 UT.
6. Sudut Deklinasi matahari (Delta). Dari sudut tanggal T di atas, deklinasi matahari (Delta) untuk satu tanggal tertentu dapat dihitung dengan menggunakan rumus berikut
Delta = 0,37877 + 23,264*SIN(57,297*T - 79,547) + 0,3812*SIN(2*57,297*T - 82,682) + 0,17132*SIN(3*57,297*T - 59,722)
Angka yang terletak di dalam kurung bersatuan derajat. Deklinasi juga bersatuan derajat.
7. Equation of Time (ET). Equation of Time untuk satu tanggal tertentu dapat dihitung sebagai berikut. Pertama kali perlu dihitung dahulu Bujur rata-rata matahari L0 yang dirumuskan
L0 = 280,46607 + 36000,7698*U
dimana U = (JD - 2451545)/36525. L0 bersatuan derajat. Selanjutnya Equation of Time dapat dirumuskan sebagai
1000*ET = -(1789 + 237*U)*SIN(L0) - (7146 - 62*U)*COS(L0) + (9934 - 14*U)*SIN(2*L0) - (29 + 5*U)*COS(2*L0) + (74 + 10*U)*SIN(3*L0) + (320 - 4*U)*COS(3*L0) - 212*SIN(4*L0)
Ruas kiri persamaan di atas masih bernilai 1000 kali ET. Dengan demikian hasilnya harus dibagi 1000 untuk mendapatkan ET. Satuan ET adalah menit.
8. Altitude matahari waktu Shubuh dan Isya. Shubuh saat fajar menyingsing pagi disebut dawn astronomical twilight yaitu ketika langit tidak lagi gelap dimana atmosfer bumi mampu membiaskan cahaya matahari dari bawah ufuk. Sementara Isya' disebut dusk astronomical twilight ketika langit tampak gelap karena cahaya matahari di bawah ufuk tidak dapat lagi dibiaskan oleh atmosfer. Dalam referensi standar astronomi, sudut altitude untuk astronomical twilight adalah 18 derajat di bawah ufuk, atau sama dengan minus 18 derajat. Ada dua jenis twilight yang lain, yaitu civil twilight dan nautical twilight masing-masing sebesar 6 dan 12 derajat di bawah ufuk.
Namun demikian ada beberapa pendapat mengenai sudut altitude matahari di bawah ufuk saat Shubuh dan Isya'. Diantaranya berkisar antara 15 hingga 20 derajat. Dengan demikian, perbedaan sudut yang digunakan akan menyebabkan perbedaan kapan datangnya waktu Shubuh dan Isya'.
9. Tetapan panjang bayangan Ashar Disini ada dua pendapat. Pendapat madzhab Syafi'i menyatakan panjang bayangan benda saat Ashar = tinggi benda + panjang bayangan saat Zhuhur. Sementara pendapat madzhab Hanafi menyatakan panjang bayangan benda saat Ashar = dua kali tinggi benda + panjang bayangan saat Zhuhur.
RUMUS WAKTU SHALAT
Rumus untuk menentukan waktu shalat dan terbit matahari adalah sebagai berikut.
* Zhuhur = 12 + Z - B/15 - ET/60
* Ashar = Zhuhur + (Hour Angle Ashar)/15
* Maghrib = Zhuhur + (Hour Angle Maghrib)/15
* Isya' = Zhuhur + (Hour Angle Isya')/15
* Shubuh = Zhuhur - (Hour Angle Shubuh)/15
* Terbit Matahari = Zhuhur - (Hour Angle Terbit Matahari)/15
Dari rumus di atas, nampak bahwa waktu shalat bergantung pada Hour Angle. Rumus Hour Angle (HA) adalah
COS(HA) = [SIN(Altitude) - SIN(Lintang)*SIN(Delta)]/[COS(Lintang)*COS(Delta)]
sehingga
Hour Angle = ACOS(COS(HA)).
Rumus Hour Angle dii atas bergantung pada Altitude. Altitude matahari atau sudut ketinggian matahari dari ufuk inilah yang berbeda nilainya untuk setiap waktu shalat.
* Untuk Ashar, Altitudenya = ARCCOT(KA + TAN(ABS(Delta - Lintang))), dimana KA = 1 untuk Syafi'i dan 2 untuk Hanafi. Lambang ABS menunjukkan nilai absolut atau nilai mutlak. Misalnya, ABS(-2) = ABS(2) = 2.
* Untuk Maghrib, Altitude = 0,8333 - 0,0347*SQRT(H) dimana SQRT menunjukkan lambang akar pangkat dua, dan H = ketinggian di atas permukaan laut.
* Untuk Isya', Altitude = minus(Sudut Isya'). Jika sudut Isya' diambil 18 derajat, maka Altitude Isya' = -18 derajat.
* Untuk Shubuh, Altitude = minus(Sudut Shubuh).
* Untuk Terbit Matahari, Altitudenya sama dengan Altitude untuk Maghrib.
CONTOH: Tentukan waktu-waktu shalat pada tanggal 12 Juni 2009 di Jakarta (L = -6,166667 derajat, B = 106,85 derajat, Z = 7, H = 50 meter). Sudut Subuh = 20 derajat. Sudut Isya' = 18 derajat. Ashar menggunakan madzhab Syafi'i (KA = 1).
Jawab:
* Pertama kali, tentukan dahulu Julian Day untuk 12 Juni 2009 pukul 12 UT. Dari tanggal tersebut diperoleh nilai D = 12, M = 6, Y = 2009, A = 20 dan B = -13. Dapat dihitung nilai JD = 2454995,0.
* Selanjutnya untuk tanggal 12 Juni 2009 pukul 12 WIB (waktu lokal di Jakarta), JD = 2454995,0 EZ/24 = 2454995,0 E7/24 = 2454994,708.
* Sudut Tanggal T = 2*PI*(2454994,708 - 2451545)/365,25 = 59,34334487 radian.
* Deklinasi Matahari atau Delta = 23,16099835 derajat
* Sementara itu U = (2454994,708 - 2451545)/36525 = 0,094447867.
* Bujur rata-rata matahari L0 = 3680.66198 derajat = 80,66198 derajat.
* Untuk Equation of Time, akhirnya dapat dihitung 1000*ET = 175 menit sehingga ET = 0,175 menit.
Dari data-data perhitungan di atas, kini waktu shalat dapat dihitung.
Waktu Zhuhur adalah 12 + Z - B/15 - ET/60 = 12 + 7 - 106,85/15 - 0,175/60 = pukul 11,87375 WIB. Jika nilai ini dikonversi ke jam-menit-detik, diperoleh pukul 11:52:26 WIB.
Waktu Ashar (madzhab Syafii).
* Altitude Ashar adalah ARCCOT(1 + TAN(ABS(23,16099835 - (-6,166667)))) = 32,63075274 derajat.
* COS(Hour Angle Ashar) = [SIN(32,63075274) - SIN(-6,166667)*SIN(23,16099835)] / [COS(-6,166667)*COS(23,16099835)] = 0,636127253.
* Hour Angle Ashar = ACOS(0,636127253) = 50,496359 derajat.
* Jadi Waktu Ashar = Zhuhur + (Hour Angle Ashar)/15 = 11,87375 + 50,496359/15 = pukul 15,24017 sama dengan pukul 15:14:25 WIB.
Waktu Maghrib.
* COS(Hour Angle Maghrib) = [SIN(-0,833 - 0,0347*SQRT(50)) - SIN(-6,166667)*SIN(23,16099835)] / [COS(-6,166667)*COS(23,16099835)] = 0,025627029.
* Hour Angle Maghrib = ACOS(0,025627029) = 88,53151863 derajat.
* Waktu Maghrib = Zhuhur + (Hour Angle Maghrib)/15 = 11,87375 + 88,53151863/15 = pukul 17,77585 sama dengan pukul 17:46:33 WIB.
Waktu Isya'.
* COS(Hour Angle Isya') = [SIN(-18) - SIN(-6,166667)*SIN(23,16099835)] / [COS(-6,166667)*COS(23,16099835)] = -0,291840581.
* Hour Angle Isya' = ACOS(-0,291840581) = 106,9681811 derajat.
* Waktu Isya' = Zhuhur + (Hour Angle Isya')/15 = 11,87375 + 106,9681811/15 = pukul 19,00496 sama dengan pukul 19:00:18 WIB.
Waktu Shubuh.
* COS(Hour Angle Shubuh) = [SIN(-20) - SIN(-6,166667)*SIN(23,16099835)] / [COS(-6,166667)*COS(23,16099835)] = -0,327945769.
* Hour Angle Shubuh = ACOS(-0,327945769) = 109,441394 derajat.
* Waktu Shubuh = Zhuhur - (Hour Angle Shubuh)/15 = 11,87375 - 109,1441394/15 = pukul 4,59748 sama dengan pukul 4:35:51 WIB.
Waktu Terbit Matahari.
* COS(Hour Angle Terbit Matahari) = [SIN(-0,833 - 0,0347*SQRT(50)) - SIN(-6,166667)*SIN(23,16099835)] / [COS(-6,166667)*COS(23,16099835)] = 0,025627029.
* Hour Angle Terbit Matahari = ACOS(0,025627029) = 88,53151863 derajat.
* Waktu Terbit Matahari = Zhuhur - (Hour Angle Terbit Matahari)/15 = 11,87375 - 88,53151863/15 = pukul 5,97165 sama dengan pukul 5:58:18 WIB.
Sebagai rangkuman, jadwal waktu shalat di Jakarta pada tanggal 12 Juni 2009 dengan data pendukung seperti tertera pada soal di atas adalah sebagai berikut.
* Shubuh pukul 4:35:51 WIB.
* Terbit Matahari pukul 5:58:18 WIB.
* Zhuhur pukul 11:52:26 WIB.
* Ashar pukul 15:14:25 WIB.
* Maghrib 17:46:33 WIB.
* Isya' pukul 19:00:18 WIB.
Berikut ini beberapa catatan tambahan untuk melengkapi pemahaman tentang cara penghitungan waktu shalat.
Pertama, rumus di atas sudah akurat untuk menentukan waktu shalat. Sebagai pembanding, penulis menjadikan software Accurate Times karya Mohamad Odeh sebagai patokan. Software tersebut menggunakan algoritma VSOP87 untuk pergerakan matahari dan algoritma ELP2000 untuk pergerakan bulan. Kedua algoritma tersebut adalah algoritma terakurat untuk menentukan pergerakan kedua benda langit tersebut. Menurut Accurate Times, untuk kasus yang sama seperti di atas, waktu shalat di Jakarta pada tanggal 12 Juni 2009 berturut-turut adalah Shubuh (4:35:56), Terbit Matahari (5:58:13), Zhuhur (11:52:24), Ashar (15:14:32), Maghrib (17:46:35) dan Isya' (19:00:21). Jika hasil perhitungan di atas dibandingkan dengan Accurate Times, perbedaannya berkisar antara 2 hingga 7 detik. Ini sudah cukup akurat.
Kedua, bagi penulis secara pribadi, nilai perbedaan beberapa detik di atas masih bisa diperkecil lagi, dengan memperhatikan sejumlah catatan. Hasil perhitungan di atas menggunakan nilai Deklinasi Matahari dan Equation of Time yang sama untuk semua waktu shalat, yaitu nilai pada pukul 12.00 waktu lokal. Padahal, nilai deklinasi matahari maupun equation of time selalu berubah setiap saat, meskipun cukup kecil perubahannya dalam rentang satu hari. Sebagai contoh pada kasus di atas, Deklinasi Matahari pada waktu Shubuh dan Isya' berturut-turut adalah 23,14178926 (atau 23:08:30) derajat dan 23,1792171 (atau 23:10:45) derajat. Perbedaannya adalah sekitar 2 menit busur.
Dengan demikian, rumus di atas masih dapat diperhalus atau dikoreksi lebih baik lagi, jika untuk setiap waktu shalat, nilai Deklinasi Matahari serta Equation of Time yang digunakan sesuai dengan nilainya saat waktu shalat tersebut.
Misalnya, untuk waktu shalat Isya', digunakan Deklinasi Matahari dan Equation of Time pada waktu shalat Isya' pula, bukan pada pukul 12.00 waktu lokal. Pertama kali tentukan dulu Perkiraan Hour Angle yang diperoleh dengan data Delta maupun Equation of Time saat pukul 12.00 waktu lokal. Dari Perkiraan Hour Angle ini dicari perkiraan waktu Isya'. Perkiraan waktu Isya' ini selanjutnya dikonversi ke Julian Day yang kemudian dapat dipakai untuk menghitung Delta dan Equation of Time. Begitu seterusnya diulangi satu hingga beberapa kali hingga diperoleh angka yang konvergen (tetap). Pada akhirnya rumusnya untuk waktu shalat Isya secara lengkap adalah
Waktu Shalat Isya' = 12 + Z - B/15 - (ET saat Isya')/60 + (Hour Angle Isya')/15
dimana COS(Hour Angle Isya') = [SIN(-1*Sudut Isya') - SIN(Lintang)*SIN(Delta saat Isya')] / [COS(Lintang)*COS(Delta saat Isya')].
Dengan sejumlah faktor koreksi, termasuk koreksi dari pembiasan atmosfer yang akan disajikan di bawah ini, waktu shalat menjadi lebih akurat lagi. Hasilnya adalah Shubuh (4:35:47), Terbit matahari (5:58:14), Zhuhur (11:52:25), Ashar (15:14:34), Maghrib (17:46:36) dan Isya' (19:00:22). Perbedaannya, dibandingkan dengan Accurate Times menjadi hanya antara 1-2 detik saja.
Koreksi yang lain juga dapat dilakukan pada penentuan waktu shalat Ashar. Akibat pembiasan sinar matahari oleh atmosfer bumi, altitude benda langit yang sebenarnya lebih rendah daripada altitude yang nampak. Saat waktu Ashar tiba, yang diamati adalah pusat matahari yang nampak, padahal pusat matahari yang sebenarnya sedikit lebih rendah. Yang kita hitung seharusnya adalah posisi matahari yang sebenarnya, sehingga pada akhirnya, koreksi ini membuat waktu Ashar menjadi sedikit lebih lambat. Ini dapat dengan mudah dipahami karena matahari beranjak untuk turun sehingga dibutuhkan waktu agar altitudenya berkurang. Pembahasan lengkap mengenai faktor koreksi altitude benda langit oleh atmosfer Insya Allah dibahas pada kesempatan lain.
Ketiga, koreksi oleh atmosfer ini sudah digunakan pada penentuan waktu Maghrib dan terbit matahari. Pada kedua kejadian tersebut, altitude yang nampak adalah nol derajat. Namun dalam perhitungan, altitudenya bukan nol derajat tetapi -0,8333 derajat atau minus 50 menit busur. Angka ini bersumber dari dua hal. Pertama, sudut untuk jari-jari matahari secara rata-rata adalah 16 menit busur. Kedua, besarnya koreksi pembiasan atmosfer saat benda langit berada di ufuk (saat terbit atau terbenam) rata-rata sebesar 34 menit busur. Jika dijumlahkan keduanya menghasilkan 50 menit busur di bawah ufuk, atau altitudenya minus 50 menit busur. Angka ini sudah cukup akurat. Jika ingin lebih akurat lagi, dapat diperhitungkan faktor berubahnya sudut untuk jari-jari matahari, karena nilai ini bergantung pada jarak matahari ke bumi yang tidak selalu tetap. Jika matahari berjarak cukup jauh dari bumi, maka sudut untuk jari-jari matahari bernilai lebih kecil. Demikian juga besarnya koreksi pembiasan atmosfer yang juga bergantung pada suhu maupun tekanan udara. Namun demikian untuk keperluan praktis, altitude minus 0,8333 derajat sudah cukup memadai.
Keempat, pada rumus terbit matahari (sunrise) maupun waktu Maghrib (sunset), faktor ketinggian lokasi H di atas permukaan laut juga sudah diperhitungkan. Seseorang yang berada cukup tinggi di atas permukaan laut akan menyaksikan sunrise yang lebih awal serta sunset yang lebih telat, dibandingkan dengan orang yang berada di permukaan laut. Sebenarnya H bisa juga bernilai negatif, atau ketinggiannya lebih rendah daripada permukaan laut. Untuk kasus ini, suku -0,0347*SQRT(H) pada altitude sedikit berubah menjadi +0,0347*SQRT(-H), sehingga orang yang berada di daerah yang lebih rendah dari permukaan laut akan menyaksikan sunrise yang lebih telat serta sunset yang lebih awal. Namun karena rata-rata tempat yang dihuni manusia berada di atas permukaan laut, kasus terakhir ini tidak perlu dibahas secara detail.
Kelima, dengan beragamnya pendapat mengenai besarnya sudut Shubuh maupun Isya', karena itu tentu saja dimungkinkan terjadinya perbedaan waktu Shubuh dan Isya'. Pada soal di atas dengan sudut Shubuh 20 derajat (altitude = -20 derajat), waktu Shubuh adalah pukul 4:35:51 WIB. Sepengetahuan penulis, angka 20 derajat ini biasa yang digunakan di Indonesia. Jika dipakai sudut standar astronomical twilight 18 derajat, maka waktu Shubuh datang lebih lambat, yaitu pukul 4:44:33 WIB. Ternyata perbedaan 2 derajat berimplikasi pada perbedaan waktu sekitar 8 menit. Belum lagi, jika digunakan tambahan waktu untuk faktor kehati-hatian (ikhtiyath), mulai dari 1, 2, 3 menit dan seterusnya. Sudah banyak kajian fiqh maupun astronomis mengenai waktu Shubuh dan Isya', dan nampaknya belum memungkinkan untuk disajikan di artikel singkat ini.
Keenam, dari perumusan untuk Hour Angle
COS(HA) = [SIN(Altitude) - SIN(Lintang)*SIN(Delta)]/[COS(Lintang)*COS(Delta)]
maka sangat mungkin jika nilai COS(HA) lebih besar dari 1 atau lebih kecil dari -1. Padahal nilai COS berkisar antara -1 hingga 1. Jika demikian, Hour Angle tidak dapat ditentukan. Ini terjadi khususnya pada daerah lintang tinggi. Singkatnya, ada tiga kemungkinan. Kemungkinan pertama, dalam penentuan waktu Shubuh dan Isya', nilai COS(HA) < -1. Akibatnya waktu Shubuh dan Isya' tidak dapat ditentukan menurut rumus di atas. Yang terjadi adalah, di waktu malam hari, bahkan pukul 12 malam, langit masih nampak terang walaupun tidak ada matahari. Suasana langit seperti halnya di tengah-tengah waktu Maghrib. Kemungkinan kedua, untuk kasus terbit dan terbenam matahari, COS(Hour Angle) < -1. Untuk kasus ini, matahari tidak pernah terbenam.
Matahari selalu berada di atas ufuk, sehingga dengan rumus biasa di atas, waktu Shubuh, terbit matahari, Maghrib dan Isya' tidak dapat ditentukan. Hanya waktu Zhuhur dan Ashar saja yang bisa diperoleh. Dalam hal ini, sebuah kejadian unik dapat terjadi, yaitu ketika pergantian hari pada pukul
00:00:00 atau pukul "12 malam", matahari tengah bersinar di atas ufuk.
Kemungkinan ketiga, untuk kasus terbit dan terbenam matahari, COS(Hour Angle) > 1. Dalam hal ini, matahari tidak pernah terbit karena selalu berada di bawah ufuk. Hanya waktu Shubuh dan Isya' saja yang dapat ditentukan dengan rumus di atas. Selama 24 jam, hanya ada dua keadaan langit. Antara waktu Shubuh dan Isya', langit tidak begitu gelap, layaknya waktu Maghrib. Sebaliknya, antara waktu Isya' dan Shubuh, langit gelap.
Bersamaan dengan tulisan ini, penulis melampirkan file Microsoft Excel yang berisi rumus waktu shalat di atas, baik untuk versi simpel, maupun dengan tambahan beberapa koreksi. Dalam file tersebut rumus-rumus dapat diikuti prosesnya. Bagi yang tertarik, silakan mendownload di
http://www.4shared.com/file/111278266/2fa23c50/Waktu-Shalat.html
Semoga bermanfaat bagi ummat.
DR. Rinto Anugraha (Dosen Fisika UGM)
Email rinto74 (at) yahoo (dot) com
Referensi:
* Jean Meeus, Astronomical Algorithm, Willmann-Bell, Virginia, (1991).
* D.W. Hughes, B.D. Yallop, C.Y. Hohenkerk, The Equation of Time, Mon. Not. R. astr. Soc, 238, 1529 (1989).
* Niweateh Hajewaming, Astronomical Calculation of Islamic Times and Qiblat Direction.
* Muhammad Ilyas, Astronomy of Islamic Times for the Twenty- first Century.
* Mohamad Odeh, Accurate Times.