Waktu-Waktu Shalat
Oleh : Bashori Alwi, SHI, M.SI
A.
Pendahuluan
Shalat merupakan ibadah
ummat Islam yang paling utama kepada Allah SWT. Shalat adalah salah satu rukun
Islam. Shalat adalah amalan yang pertama kali dihisab di hari akhir. Jika
shalat seorang hamba itu baik, baik pula amal lainnya, dan demikian pula
sebaliknya.
Ada sejumlah ayat Al Quran yang berhubungan dengan waktu shalat. Allah SWT
berfirman, "Sesungguhnya shalat itu adalah fardhu yang ditentukan
waktunya atas orang-orang yang beriman." (An-Nisa 103).
"Dirikanlah shalat dari sesudah matahari tergelincir sampai gelap
malam dan (dirikanlah pula shalat) subuh. Sesungguhnya shalat subuh itu
disaksikan (oleh malaikat)." (Al-Isra 78)
“Dan dirikanlah sembahyang itu pada kedua tepi siang (pagi dan petang) dan
pada bahagian permulaan daripada malam. Sesungguhnya perbuatan-perbuatan yang
baik itu menghapuskan (dosa) perbuatan-perbuatan yang buruk. Itulah peringatan
bagi orang-orang yang ingat." (Hud 114)
"Maka sabarlah kamu atas apa yang mereka katakan, dan bertasbihlah
dengan memuji Tuhanmu, sebelum terbit matahari dan sebelum terbenamnya dan
bertasbih pulalah pada waktu-waktu di malam hari dan pada waktu-waktu di siang
hari, supaya kamu merasa senang" (Thaha 130)
Adapun hadits Nabi Muhammad SAW yang berkaitan dengan waktu shalat adalah
sebagai berikut. Dari Jabir bin Abdullah meriwayatkan " Malaikat Jibril
datang kepada Nabi S.A.W lalu berkata: "Marilah shalat". Lalu ia
melakukan shalat dhuhur di waktu matahari telah condong (tergelincir). Kemudian
Jibril datang kepada Nabi di waktu Asar lalu berkata: "Marilah shalat".
Lalu ia shalat Asar di waktu bayangan tiap-tiap sesuatu jadi sama panjangnya
dengan keadaan dirinya. Kemudian Jibril datang kepada Nabi S.A.W di waktu
maghrib lalu berkata: " Marilah Shalat" lalu ia shalat Maghrib di
waktu matahari telah masuk (terbenam). Kemudian Jibril datang kepada Nabi S.A.W
di waktu Isya lalu berkata: "Marilah Shalat". Lalu ia shalat Isya
lalu berkata; " Marilah shalat". Lalu ia shalat Isya di waktu telah
hilang tanda merah - di tempat matahari terbenam. Kemudian Jibril datang kepada
Nabi S.A.W di waktu fajar lalu berkata: "Marilah shalat" Lalu ia shalat
Fajar (subuh) di waktu fajar telah terbit. Kemudian Jibril datang kepada Nabi
S.A.W pada esok harinya lagi di waktu zuhur lalu berkata: "Marilah shalat".
Lalu ia shalat zuhur, di waktu bayangan tiap-tiap sesuatu itu jadi sama
panjangnya dengan keadaan dirinya. Kemudian Jibril datang kepada Nabi S.A.W di
waktu Asar lalu berkata: "Marilah shalat". Lalu ia shalat di waktu
Asar, di waktu bayangan tiap-tiap sesuatu itu jadi dua kali panjang daripada
dirinya. Kemudian Jibril datang kepada Nabi S.A.W di waktu maghrib yang sama
waktunya dengan kemarin, lalu ia shalat maghrib. Kemudian jibril datang kepada
Nabi S.A.W di waktu Isya, sehabis tengah malam, lalu berkata: "marilah shalat".
Lalu ia shalat Isya. Kemudian Jibril datang kepada Nabi pada waktu telah terang
cuaca (sebelum terbit matahari). Lalu berkata: "Marilah shalat". Lalu
ia shalat fajar. Kemudian Jibril berkata: Antara dua waktu itulah waktu bagi
tiap-tiap shalat." (Ahmad, Tirmidzi, Nasa'i, Ibnu Hibban dan Hakim)
Hadits di atas memberikan penjelasan mengenai awal dan akhir waktu shalat,
yaitu berdasarkan pergerakan matahari, baik di atas ufuk (horison) maupun dampak
pergerakan matahari di bawah ufuk. Efek pergerakan matahari diantaranya adalah
berubahnya panjang bayangan benda, terbit dan terbenamnya matahari, munculnya
mega merah di waktu fajar dan berakhirnya mega merah di malam hari.
Pada asalnya, cara menentukan waktu shalat adalah dengan melakukan
observasi / pengamatan posisi matahari. Namun dengan kemajuan kemajuan ilmu
pengetahuan, tanpa melihat posisi matahari, manusia dapat mengetahui kapan
datangnya waktu shalat.
Waktu shalat lima waktu berdasarkan hadits di atas adalah sebagai berikut.
1. Zhuhur
Waktu zhuhur dimulai saat pertengahan hari (noon), yaitu ketika matahari
melewati garis meridian (lingkaran besar langit yang menghubungkan utara dan
selatan). Saat melewati garis meridian, ada tiga kemungkinan azimuth matahari
(dihitung dari arah utara). Pertama, azimuth matahari = 0 derajat, yaitu ketika
matahari melewati garis meridian, posisinya di belahan langit utara. Kedua,
azimuth = 180 derajat, ketika posisinya di belahan langit selatan. Ketiga,
azimuthnya tidak dapat ditentukan, ketika posisinya benar-benar tepat di zenith
(atas kepala) atau ketinggiannya tepat 90 derajat.
Untuk kemungkinan pertama dan kedua, sebuah benda memiliki panjang bayangan
jika terkena sinar matahari. Adapun untuk kemungkinan ketiga, panjang bayangan
sama dengan nol. Panjang bayangan saat datangnya waktu Zhuhur ini akan
berpengaruh pula pada penentuan datangnya waktu shalat Ashar.
Waktu zhuhur berakhir saat datangnya waktu shalat ashar.
2. Ashar
Berdasarkan hadits di atas, ada dua pendapat mengenai kapan datangnya waktu
shalat ashar. Ini berkaitan dengan bayangan benda yang ditegakkan di atas
tanah. Menurut mazhab Syafii, waktu shalat ashar adalah ketika panjang bayangan
sama dengan tinggi benda (ditambah panjang bayangan saat Zhuhur). Sedangkan
menurut mazhab Hanafi, waktu shalat Ashar adalah ketika panjang bayangan sama
dengan dua kali tinggi benda (ditambah panjang bayangan saat Zhuhur).
Panjang bayangan pada waktu Zhuhur yang merupakan panjang bayangan minimum
ini perlu diperhitungkan, karena sangat mungkin panjang bayangan saat Zhuhur
itu lebih panjang dari tinggi benda itu sendiri seperti di tempat yang memiliki
lintang tinggi. Jika bayangan saat Ashar = Sa, bayangan saat zhuhur = Sz dan
tinggi benda = h, maka secara sederhana dapat ditulis Sa = h + Sz menurut
mazhab Syafii dan Sa = 2*h + Sz menurut mazhab Hanafi.
Waktu Ashar berakhir saat datangnya waktu shalat maghrib.
3. Maghrib
Waktu shalat maghrib dimulai saat matahari terbenam (sunset). Ketika
matahari terbenam dimana posisinya di bawah ufuk, langit tidak langsung gelap.
Hal ini disebabkan adanya atmosfer bumi yang membiaskan cahaya matahari. Karena
itu, matahari harus tenggelam hingga belasan derajat di bawah ufuk supaya tidak
ada lagi cahaya matahari yang dapat dibiaskan sehingga langit menjadi gelap.
Waktu shalat maghrib berakhir saat datangnya waktu shalat Isya'.
4. Isya'
Waktu shalat Isya' dimulai saat langit gelap, atau berakhirnya mega merah
(astronomical twilight) di langit barat.
Waktu Isya' berakhir saat datangnya waktu shubuh.
5. Shubuh
Waktu shubuh dimulai ketika munculnya fajar (shidiq) atau cahaya secara
merata di langit timur. Meskipun saat itu matahari masih belasan derajat di
bawah ufuk, namun akibat pembiasan atmosfer cahaya matahari dapat dibiaskan
sehingga langit tidak lagi gelap. Beberapa catatan mengenai penentuan waktu
Isya' dan Shubuh disajikan pada catatan di bawah.
Waktu shubuh berakhir saat matahari terbit..
Cos(Hour Angle) =
[sin(altitude) - sin(lintang)*sin(deklinasi)] / [cos(lintang)*cos(deklinasi)].
Waktu shalat dapat ditentukan dengan perhitungan menggunakan rumus-rumus
pergerakan matahari dengan tepat. Jika Hour Angle diketahui, maka sudut ini
dapat dikonversi ke dalam waktu. Dari rumus di atas, ada beberapa parameter
penting dalam menentukan waktu shalat untuk suatu tempat tertentu. Pertama,
koordinat lintang (latitude) suatu tempat. Kedua, sudut deklinasi matahari yang
berubah secara periodik sepanjang tahun. Deklinasi adalah salah satu koordinat
dalam sistem koordinat ekuator. Parameter lainnya yang menentukan meskipun
tidak disebutkan dalam rumus di atas adalah koordinat bujur (longitude). Bujur
suatu tempat berpengaruh pada penentuan waktu untuk tengah hari saat matahari
melewati garis meridian setempat. Yang juga berperan penting dalam penentuan
waktu untuk tengah hari adalah apa yang disebut Equation of Time. Equation of
Time adalah selisih antara waktu saat matahari yang sesungguhnya melewati
meridian dengan matahari fiktif yang bergerak dengan laju konstan. Terjadinya
selisih ini akibat lintasan matahari mengitari bumi yang tidak berbentuk
lingkaran melainkan elips.
Dalam hal ini, datangnya waktu zhuhur saat matahari melewati meridian,
datangnya waktu maghrib saat matahari terbenam, serta berakhirnya waktu shubuh
saat matahari terbit dapat dihitung dengan akurat. Demikian pula, datangnya
waktu ashar dapat ditentukan, meskipun terjadi perbedaan pendapat, apakah
panjang bayangan itu satu atau dua kali tinggi benda (ditambah panjang bayangan
saat Zhuhur). Perbedaan pendapat ini bukanlah mengenai bagaimana menentukan
posisi matahari, namun perbedaan dalam menentukan definisi yang tepat mengenai
kapan datangnya waktu Ashar.
Adapun untuk datangnya waktu salat Isya' maupun shubuh juga terjadi
perbedaan pendapat. Penentuan kedua waktu tersebut tidak secara langsung
berkaitan dengan posisi matahari, namun efek dari atmosfer yang membiaskan
cahaya matahari dari bawah ufuk. Ada beberapa pendapat, misalnya altitude
matahari itu berkisar antara 15 hingga 20 derajat di bawah ufuk agar tidak ada
lagi cahaya matahari yang dapat dibiaskan. Diakui disini bahwa tidak ada satu
pendapat mengenai sudut ini, sehingga perbedaan satu derajat saja akan
berpengaruh pada perbedaan waktu shalat isya' dan shubuh beberapa menit.
B. Perhitungan Waktu
Shalat dengan Program Visual Basic 0.6
Untuk membuat program aplikasi ini tentu ada alat-alat yang perlu
dipersiapkan diantaranya :
a.
Perangkat Keras
Laptop msi 1,30
GHz/2 GB dengan platform Windows 7
Ultimate 32 Bit, atau minimal dengan windows 97.
b.
Perangkat Lunak
Software
Microsoft Visual Basic 6.0
dan Microsoft Office Access 2007.
Membuat aplikasi
seperti ini tidak hanya dengan Visual basic, tapi masih banyak program aplikasi
yang bisa digunakan untuk membuat proram, sperti delphi, java, dan lain-lain,
namun dalam makalah ini hanya akan membahas pembuatan progran dengan aplikasi
Visual Basic.
Untuk komputer
yang belum memiliki program visual basic, silakan instal terlebih dahulu. Untuk
komputer yang sudah memiliki program visual basic, bisa langsung jalankanlah program sampai pada keluar jendela utama, pada jendela
utama terdapat Form1. Pada form1 tersebut buatlah menu-menu seperti di bawah
ini.
Namun sebelum
Lalu kode-kode dibawah ini pada view code, caranya klik dua kali
pada form maka akan muncul view code.
Dim dbAccess As
ADODB.Connection
Dim lintangTempat
As Double
Dim bujurTempat As
Double
------------------------------------------------------------------------------
Private Sub
Form_Load()
Dim str, MainDir As String
Dim MyRst As New ADODB.Recordset
MainDir = App.Path
str =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
MainDir &
"\locations.mdb" & _
";Jet OLEDB:Database
Password="""";"
Set dbAccess = New ADODB.Connection
dbAccess.CursorLocation = adUseClient
dbAccess.Open str
MyRst.Open "Select * from
[Negara]", dbAccess, adOpenKeyset, adLockOptimistic
For i = 1 To MyRst.RecordCount
cbNegara.AddItem
(MyRst("Negara"))
MyRst.MoveNext
Next i
cbNegara.ListIndex = 10
MyRst.Close
End Sub
---------------------------------------------------------------------------
Private Sub
cbNegara_Click()
Dim i, j As Integer
Dim MyRst As New ADODB.Recordset
cbKota.Clear
MyRst.Open "Select * from [Kota] where
[Negara]= '" & cbNegara.Text & "'", dbAccess,
adOpenKeyset, adLockOptimistic
For i = 1 To MyRst.RecordCount
cbKota.AddItem (MyRst("Kota"))
If MyRst("Kota") =
UCase(MyRst("Kota")) Then j = i
MyRst.MoveNext
Next i
cbKota.ListIndex = j - 1
MyRst.Close
End Sub
---------------------------------------------------------------------------
Private Sub
cbKota_Click()
Dim MyRst As New ADODB.Recordset
MyRst.Open "Select * from [Kota] where
[Negara]= '" & cbNegara.Text & "' and " & _
"[Kota]='" &
cbKota.Text & "'", dbAccess, adOpenKeyset, adLockOptimistic
Lintang = Val(MyRst("Lintang"))
Bujur = Val(MyRst("Bujur"))
ZonaWaktu = Val(MyRst("TZ"))
txtBujur.Text =
deg2dms(Val(MyRst("Bujur")), 0)
txtLintang.Text =
deg2dms(Val(MyRst("Lintang")), 1)
txtZonaWaktu.Text = Format(Val(ZonaWaktu),
"0.0")
MyRst.Close
End Sub
--------------------------------------------------------------------------
Buatlah kotak text untuk meletekkan jadwal shalat yang akan di
hitung, seperti dibawah ini
---------------------------------------------------------------------------
Kemudian klik dua kali pada kotak text imsak, dan ketiklah kode
berikut ini !
Private Sub
txtImsak_Click()
txtImsak.Text = PrayingTime2(-22.5, -2, -1)
txtShubuh.Text = PrayingTime2(-20#, 2, -1)
txtSyuruq.Text = PrayingTime2(-1#, 0, -1)
txtDhuha.Text = PrayingTime2(4.5, 2, -1)
txtDhuhur.Text = PrayingTime2(1#, 2, 0)
txtAshr.Text =
PrayingTime2(altitudeOfSunAtAshr2, 2, 1)
txtMaghrib.Text = PrayingTime2(-1, 2, 1)
txtIsya.Text = PrayingTime2(-18#, 2, 1)
End Sub
---------------------------------------------------------------------------
Membuat pengaturan waktu, klik kanan pada form, maka akan muncul
menu editor, buatlah menu sesuai dengan yang diinginkan. Misalnya seperti di
bawah ini
Membuat form tanggal, buatlah form kosong sebagaimana diawal tadi,
lalu isilah dengan kalender yang tersedia di toolbox. Sebagaimana gambar
berikut.
Ketiklah berikut ini setelah mengklik tombol ok
Private Sub btnOK_Click()
myYear = myCalendar.Year
myMonth = myCalendar.Month
myDate = myCalendar.Day
Unload Me
End Sub
----------------------------------------------------------------------------------
Dan kode berikut ini ketik pada form load pada form tanggal yang
telah di buat.
Private Sub
Form_Load()
myCalendar.Year = Year(Date)
myCalendar.Month = Month(Date)
myCalendar.Day = Day(Date)
End Sub
---------------------------------------------------------------------------------
Membuat form bulan.
Private Sub
btnOK_Click()
myMonth = cbBulan.ListIndex + 1
myYear = cbTahun.ListIndex + 2000
Unload Me
End Sub
Private Sub
Form_Load()
For i = 1 To 12
cbBulan.AddItem NamaBulan(i)
Next i
cbBulan.ListIndex = Month(Date) - 1
For i = 2000 To 2030
cbTahun.AddItem (i)
Next i
cbTahun.ListIndex = Year(Date) - 2000
End Sub
Klik dua kali pada menu satu hari, kemudia ketik kode berikut ini.
Private Sub mnSh_Click()
frmTanggal.Show 1
lbKeterangan.Caption =
NamaHari(myDate, myMonth, myYear) & ", " & myDate &
" " & NamaBulan(myMonth) & " " & myYear
frmHasilHitungan.Visible
= True
jdlbln.Visible = False
Call
ComputeTimesVariables
txtImsak_Click
End Sub
Membuat tabel bulanan, buatlah textbox dengan ukuran yang agak
besar, sehingga cukup untuk memuat jadwal bulanan. Seperti contoh berikut ini.
Kotak jadwal bulanan
|
Kemudian ketiklah kode berikut pada form jadwal sholat.
Private Sub hitungsatubulan()
Dim str, Imsak, shubuh,
suruq, duha, duhur, asar, Maghrib, isyak As String
jdlbln.Visible = True
str = "tgl| Imsak
| Shubuh |
suruq | Duha
| Duhur |
Asar | Maghrib |
Isyak " & vbNewLine
str = str &
"........................................................................................."
& vbNewLine
For i = 1 To
JumlahHari(myMonth, myYear)
myDate = i
Call ComputeTimesVariables
tanggal = myDate
shubuh = PrayingTime2(-20#, 2, -1)
Imsak = PrayingTime2(-22.5, -2, -1)
suruq = PrayingTime2(-1#,
0, -1)
duha = PrayingTime2(4.5, 2, -1)
duhur = PrayingTime2(1#, 2, 0)
asar = PrayingTime2(altitudeOfSunAtAshr2,
2, 1)
Maghrib = PrayingTime2(-1#,
2, 1)
isyak = PrayingTime2(-18#, 2, 1)
str = str & Format(myDate,
"00") & " | " & Imsak & " | " &
shubuh & " | " & suruq & " | " & duha &
" | " & duhur & " | " & asar & " | "
& Maghrib & " | " & isyak & vbNewLine
Next i
jdlbln.Text = str
jdlbln.BackColor = vbGreen
jdlbln.ForeColor = vbBlue
End Sub
Klik dua kali pada menu satu bulan, kemudia ketik kode berikut ini.
Private Sub mnSb_Click()
frmBulanTertentu.Show 1
lbKeterangan.Caption = "Bulan: "
& NamaBulan(myMonth) & " " & myYear
jdlbln.Visible = True
hitungsatubulan
End Sub
Selamat
mencoba!
Tidak ada komentar:
Posting Komentar