Selasa, 03 Juni 2014

waktu-watu shalat

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



Rumus Sudut waktu :
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