Halo, selamat datang di tutorial Membuat Jadwal Shalat Dengan PHP .
Terkadang kita diharuskan membuat atau menampilkan informasi jadwal shalat pada aplikasi atau website.
Entah saat sedang membuat aplikasi seperti membuat sistem informasi atau aplikasi masjid , atau hanya sekedar ingin menampilkan jadwal shalat pada website teman-teman.
Pada tutorial ini kita akan belajar tentang cara membuat jadwal shalat dengan PHP menggunakan API (Application Programming Interface ) jadwal shalat dari myquran.com.
API Data Jadwal Shalat Dengan PHP
Untuk menampilkan jadwal shalat dengan PHP kita bisa menggunakan API yang sudah disediakan oleh myquran.com seperti berikut.
https://api.myquran.com/v2/sholat/jadwal/{id_lokasi} /{tahun} /{bulan} /{tanggal}
ada 4 parameter yang bisa kita isi pada url API jadwal shalat di atas. yaitu:
{id_lokasi} isi dengan id dari lokasi yang akan kita tampilkan jadwal shalatnya. kumpulan id lokasi jadwal shalat bisa dilihat di :https://api.myquran.com/v2/sholat/kota/semua
{tahun} isi dengan tahun, misal 2024.
{bulan} isi dengan bulan, misal 1.
{tanggal} isi dengan tanggal, misal 13.
API data jadwal shalat
Perhatikan pada contoh berikut.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
< ?php
$api_url = 'https://api.myquran.com/v2/sholat/jadwal/0119/2024/1/30' ;
// membaca JSON dari url
$json_data = file_get_contents ($api_url );
// Decode data JSON data menjadi array PHP
$response_data = json_decode ($json_data );
// Mengakses data yang ada dalam object 'data'
$jadwal_shalat = $response_data -> data ;
?>
< pre >
< ?php print_r ($jadwal_shalat ); ?>
< /pre >
Pada contoh di atas kita memanggil data jadwal shalat dengan mengisi id_lokasi 0119, tahun 2024, bulan 1, tanggal 30.
$api_url = "https://api.myquran.com/v2/sholat/jadwal/0119/2024/1/30";
kemudian kita menggunakan fungsi file_get_contents()
untuk mendapatkan data dari API.
kemudian kita ubah data yang berhasil di dapatkan ke dalam bentuk Array PHP dengan fungsi json_decode()
.
Selanjutnya karena data dari jadwal shalat berada pada object ‘data ‘, maka datanya kita simpan ke $jadwal_shalat = $response_data->data;
Lihat id semua lokasi daerahnya di sini https://api.myquran.com/v2/sholat/kota/semua .
Terakhir kita tampilkan semua isi dari $jadwal_shalat yang sudah tersimpan data jadwal sholat di dalamnya menggunakan fungsi print_r()
.
Menampilkan jadwal shalat dari api myquran.com dengan PHP
Nah, data jadwal shalat telah berhasil kita dapatkan dan berhasil kita ubah ke dalam bentuk Array PHP.
Sekarang kita akan menampilkan data jadwal shalat menjadi interface yang lebih menarik.
Menampilkan Jadwal Shalat Harian Dengan PHP
Perhatikan contoh berikut.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
< !DOCTYPE html >
< html >
< head >
< meta charset ="utf-8" >
< meta name ="viewport" content ="width=device-width, initial-scale=1" >
< title > Membuat Jadwal Shalat Dengan PHP - www . malasngoding . com < /title >
< /head >
< body >
< h2 > Membuat Jadwal Shalat Dengan PHP < /h2 >
< h3 > < a href ="https://www.malasngoding.com" > www . malasngoding . com < /a > < /h3 >
< ?php
$api_url = 'https://api.myquran.com/v2/sholat/jadwal/0119/2024/1/30' ;
// membaca JSON dari url
$json_data = file_get_contents ($api_url );
// Decode data JSON data menjadi array PHP
$response_data = json_decode ($json_data );
// Mengakses data yang ada dalam object 'data'
$jadwal_shalat = $response_data -> data ;
?>
Lokasi : < ?php echo $jadwal_shalat -> lokasi ; ?>
< br >
Daerah : < ?php echo $jadwal_shalat -> daerah ; ?>
< br >
< br >
Tanggal : < ?php echo $jadwal_shalat -> jadwal -> tanggal ; ?>
< br >
< br >
< table border ="1" >
< tr >
< td > Imsak < /td >
< td > < ?php echo $jadwal_shalat -> jadwal -> imsak ; ?> < /td >
< /tr >
< tr >
< td > subuh < /td >
< td > < ?php echo $jadwal_shalat -> jadwal -> subuh ; ?> < /td >
< /tr >
< tr >
< td > dzuhur < /td >
< td > < ?php echo $jadwal_shalat -> jadwal -> dzuhur ; ?> < /td >
< /tr >
< tr >
< td > ashar < /td >
< td > < ?php echo $jadwal_shalat -> jadwal -> ashar ; ?> < /td >
< /tr >
< tr >
< td > maghrib < /td >
< td > < ?php echo $jadwal_shalat -> jadwal -> maghrib ; ?> < /td >
< /tr >
< tr >
< td > isya < /td >
< td > < ?php echo $jadwal_shalat -> jadwal -> isya ; ?> < /td >
< /tr >
< /table >
< /body >
< /html >
Dan hasilnya seperti berikut.
Membuat jadwal shalat harian dengan PHP
Menampilkan Jadwal Shalat Bulanan Dengan PHP
Seperti yang telah dibahas diatas, waktu dan lokasi dari jadwal shalat bisa kita tentukan pada URL API Jadwal shalatnya.
Lalu bagaimana jika kita ingin menampilkan data jadwal shalat dalam 1 bulan?
Tinggal hapus parameter tanggalnya. jadi hanya menggunakan id_lokasi, tahun dan bulan saja.
Seperti pada contoh berikut.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
< !DOCTYPE html >
< html >
< head >
< meta charset ="utf-8" >
< meta name ="viewport" content ="width=device-width, initial-scale=1" >
< title > Membuat Jadwal Shalat Dengan PHP - www . malasngoding . com < /title >
< /head >
< body >
< style type ="text/css" >
.jadwal {
width : 230px ;
background : #fff;
border : 1px solid #ccc;
float : left ;
margin : 10px ;
padding : 10px ;
box -shadow : 0px 0px 3px #ccc;
}
.kotak {
width : 80 %;
margin : 10px auto ;
background : yellow ;
overflow : hidden ;
}
table {
width : 100 %;
}
< /style >
< center >
< h2 > Membuat Jadwal Shalat Dengan PHP < /h2 >
< h3 > < a href ="https://www.malasngoding.com" > www . malasngoding . com < /a > < /h3 >
< /center >
< ?php
$api_url = 'https://api.myquran.com/v2/sholat/jadwal/0119/2024/1' ;
// membaca JSON dari url
$json_data = file_get_contents ($api_url );
// Decode data JSON data menjadi array PHP
$response_data = json_decode ($json_data );
// Mengakses data yang ada dalam object 'data'
$jadwal_shalat = $response_data -> data ;
?>
< center >
< p > Lokasi : < ?php echo $jadwal_shalat -> lokasi ; ?> < /p >
< p > Daerah : < ?php echo $jadwal_shalat -> daerah ; ?> < /p >
< /center >
< div class ="kotak" >
< ?php foreach ($jadwal_shalat -> jadwal as $jadwal ){ ?>
< div class ="jadwal" >
< table border ="1" >
< tr >
< th > Tanggal < /th >
< th > < ?php echo $jadwal -> tanggal ; ?> < /th >
< /tr >
< tr >
< td > Imsak < /td >
< td > < ?php echo $jadwal -> imsak ; ?> < /td >
< /tr >
< tr >
< td > subuh < /td >
< td > < ?php echo $jadwal -> subuh ; ?> < /td >
< /tr >
< tr >
< td > dzuhur < /td >
< td > < ?php echo $jadwal -> dzuhur ; ?> < /td >
< /tr >
< tr >
< td > ashar < /td >
< td > < ?php echo $jadwal -> ashar ; ?> < /td >
< /tr >
< tr >
< td > maghrib < /td >
< td > < ?php echo $jadwal -> maghrib ; ?> < /td >
< /tr >
< tr >
< td > isya < /td >
< td > < ?php echo $jadwal -> isya ; ?> < /td >
< /tr >
< /table >
< /div >
< ?php } ?>
< /div >
< /body >
< /html >
Seperti yang teman-teman lihat pada contoh di atas, kita memanggil data dari API nya tanpa inputan tanggal.
https://api.myquran.com/v2/sholat/jadwal/0119/2024/1
Hanya inputan id_lokasi, tahun dan bulan.
Membuat jadwal shalat bulanan dengan PHP
Oke selesai. kita coba buat versi yang lebih keren nya lagi dalam bentuk 1 table.
Membuat Jadwal Shalat dan Imsakiyah Dengan PHP
Kita akan mencoba menampilkan jadwal shalat dan imsakiyah selama 1 bulan.
Untuk tahun dan bulan nya silahkan teman-teman sesuaikan sesuai dengan waktu bulan ramadhan.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
< !DOCTYPE html >
< html >
< head >
< meta charset ="utf-8" >
< meta name ="viewport" content ="width=device-width, initial-scale=1" >
< title > Membuat Jadwal Shalat Dengan PHP - www . malasngoding . com < /title >
< /head >
< body >
< style type ="text/css" >
body {
font -family : "Open sans" ;
}
.kotak {
width : 80 %;
margin : 10px auto ;
overflow : hidden ;
}
.imsakiyah table {
width : 100 %;
}
.imsakiyah table tr : nth -child (even ) {
background -color : #f2f2f2;
}
.imsakiyah table th {
background : #4548ff;
color : white ;
}
.imsakiyah table td {
text -align : center ;
}
.imsakiyah table tr th ,
.imsakiyah table tr td {
border : 1px solid #ccc;
padding : 5px ;
}
.imsakiyah table {
border -collapse : collapse ;
width : 100 %;
}
< /style >
< center >
< h2 > Jadwal Shalat dan Imsakiyah Dengan PHP < /h2 >
< h3 > < a href ="https://www.malasngoding.com" > www . malasngoding . com < /a > < /h3 >
< /center >
< ?php
$api_url = 'https://api.myquran.com/v2/sholat/kota/semua' ;
// membaca JSON dari url
$kota = file_get_contents ($api_url );
// Decode data JSON data menjadi array PHP
$response_kota = json_decode ($kota );
// Mengakses data yang ada dalam object 'data'
$list_kota = $response_kota -> data ;
if (isset ($_GET ['kota' ])){
$kota_terpilih = $_GET ['kota' ];
}else {
$kota_terpilih = '0119' ;
}
?>
< center >
< form method ="get" action ="" >
< select name ="kota" onchange ="this.form.submit()" >
< ?php
foreach ($list_kota as $k ){
?>
< option < ?php if ($kota_terpilih == $k -> id ){ echo "selected='selected'" ;} ?> value ="<?php echo $k->id ?>" > < ?php echo $k -> lokasi ?> < /option >
< ?php
}
?>
< /select >
< /form >
< /center >
< br >
< br >
< div class ="kotak" >
< div class ="imsakiyah" >
< table >
< tr >
< th width ="200px" > Tanggal < /th >
< th > Imsak < /th >
< th > Subuh < /th >
< th > Dzuhur < /th >
< th > Ashar < /th >
< th > Maghrib < /th >
< th > Isya < /th >
< /tr >
< ?php
// tentukan bulan puasa
$api_url = 'https://api.myquran.com/v2/sholat/jadwal/' .$kota_terpilih .'/2024/3' ;
// membaca JSON dari url
$json_data = file_get_contents ($api_url );
// Decode data JSON data menjadi array PHP
$response_data = json_decode ($json_data );
// Mengakses data yang ada dalam object 'data'
$jadwal_shalat = $response_data -> data ;
foreach ($jadwal_shalat -> jadwal as $jadwal ){
?>
< tr >
< th > < ?php echo $jadwal -> tanggal ; ?> < /th >
< td > < ?php echo $jadwal -> imsak ; ?> < /td >
< td > < ?php echo $jadwal -> subuh ; ?> < /td >
< td > < ?php echo $jadwal -> dzuhur ; ?> < /td >
< td > < ?php echo $jadwal -> ashar ; ?> < /td >
< td > < ?php echo $jadwal -> maghrib ; ?> < /td >
< td > < ?php echo $jadwal -> isya ; ?> < /td >
< /tr >
< ?php
}
?>
< /table >
< /div >
< /div >
< /body >
< /html >
Coding yang ada diatas tidak asing karena sudah sering kita bahas di malasngoding.com.
jadwal shalat dan imsakiyah dengan PHP
Tugas untuk teman-teman yang ingin latihan adalah mempelajari alur dari coding ini.
Jika ada kesulitan mari berdiskusi di komentar atau di circle malasngoding.com.
Terima kasih teman-teman, semoga bisa bermanfaat dan membantu teman-teman dalam belajar pemrograman khususnya belajar PHP .