Hi.. pada kesempatan kali ini kita akan membahas salah satu bentuk perulangan yang populer dan sering digunakan (termasuk saya sendiri) yaitu perulangan for pada PHP.
PHP sendiri menyediakan beberapa fungsi loop, yaitu while
, do/while
, dan for
. Perbedaan antara while
, do/while
, dan for
yaitu untuk for, sudah diketahui banyaknya pengulangan, sedangkan while
dan do/while
belum diketahui berapa banyaknya pengulangan.
I. Penulisan For Pada PHP
Perulangan for pada PHP dapat ditulis menggunakan kurung kurawa, colon, atau tanpa keduanya:
// Kurung Kurawa, paling umum digunakan
for (ekspresi1; ekspresi2 ; ekspresi3) {
// kode
}
// Colon
for (ekspresi1; ekspresi2 ; ekspresi3) :
// kode
endfor;
// Tanpa Keduanya
for (ekspresi1; ekspresi2 ; ekspresi3)
statement;
Dalam menjalankan fungsi loop, PHP akan melakukan eksekusi dengan urutan sebagai berikut:
- PHP akan membaca
ekspresi1
- Selanjutnya PHP akan mengevaluasi
ekspresi2
, jika nilanya TRUE, makastatement
di dalam kurung kurawa dijalankan, jika bernilai FALSE maka loop dihentikan. - Setelah itu PHP akan mengevaluasi atau menjalankan
ekspresi3
begitu seterusnya hingga loop selesai, jika digambarkan dalam bentuk flowchart:
Ketentuan mengenai ekspresi
Beberapa ketentuan terkait penulisan ekspresi:
- Semua ekspresi dapat bernilai kosong atau dapat bernilai lebih dari satu dengan pemisah tanda koma
- Semua ekspresi pada
ekspresi2
akan di evaluasi, namun untuk menentukan nilai (TRUE atau FALSE – yang menentukan loop berhenti atau berlanjut), digunakan ekspresi yang terakhir. - Jika
ekspresi2
yang bernilai kosong maka loop akan dijalankan terus hingga dihentikan oleh break statemen yang ada di dalam kurung kurawa.
Berikut beberapa contoh penulisan for loop dengan berbagai ekspresi yang semuanya akan mencetak angka 1 s.d 10. (Bentuk 1 merupakan bentuk yang sering (atau selalu) dipakai (termasuk saya))
<?php
/*
Contoh 1, bentuk lengkap, SERING DAN UMUM DIGUNAKAN
*/
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
/*
Contoh 2, dengan ekspresi2 kosong, kode dihentikan dengan brak statement
*/
for ($i = 1; ; $i++) {
if ($i > 10) {
break;
}
echo $i;
}
/*
Contoh 3, semua ekspresi kosong
*/
$i = 1;
for ( ; ; ) {
if ($i > 10) {
break;
}
echo $i;
$i++;
}
/*
Contoh 4, tanpa statement hanya ekspresi saja
*/
for ($i = 1; $i <= 10; print $i, $i++);
?>
II. Melompati (skip) For Loop Pada Nilai Tertentu
Pada saat menjalankan loop, terkadang pada kondisi/nilai tertentu, kita ingin melompatinya (skip), untuk keperluan tersebut, kita dapat menggunakan statement continue
contoh:
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i == 5) {
continue;
}
echo $i; // 1 2 3 4 6 7 8 9 10
}
?>
III. Tips Optimasi Perulangan For Pada PHP
Berikut ini beberapa tips yang dapat kita terapkan agar perulangan for dapat dieksekusi dengan cepat
1 Hindari pemanggilan fungsi dan pendefinisian variabel yang nilainya tetap di dalam loop
Fungsi ini dapat berupa fungsi bawaan PHP seperti count
, substr
, strlen
, dll maupun fungsi yang kita buat sendiri, contoh berikut pengulangan untuk mendapatkan nama bulan:
<?php
$bulan = array('1'=>'Januari',
'Februari',
'Maret' ,
'April' ,
'Mei',
'Juni',
'Juli',
'Agustus',
'September',
'Oktober',
'November',
'Desember'
);
$batas_waktu = '2015-11-10';
echo '<table>
<tr>
<th>Bulan</th>
<th>Keterangan</th>
</tr>';
for ($i = 1; $i <= count($bulan); $i++)
{
$bln_batas = date("m",strtotime($batas_waktu));
echo '<tr>
<td> ' . strtoupper($bulan[$i]) . ' </td>';
if ($bln_batas == $i)
echo '<td>Batas waktu penulisan</td>';
else
echo '<td>-</td>';
echo '</tr>';
}
echo '</table>';
?>
output:
Bulan | Keterangan |
---|---|
JANUARI | – |
FEBRUARI | – |
MARET | – |
APRIL | – |
MEI | – |
JUNI | – |
JULI | – |
AGUSTUS | – |
SEPTEMBER | – |
OKTOBER | – |
NOVEMBER | Batas waktu penulisan |
DESEMBER | – |
dari contoh tersebut PHP akan: (1) memanggil fungsi count($bulan)
, (2) fungsi date("m",strtotime($batas_waktu))
dan (3) mendefinisikan variabel $bln_batas
berulang ulang, hal tersebut tidak efisien karena akan memakan waktu dan resource.
Berbeda dengan fungsi strtoupper
yang memang diperlukan di dalam loop, karena nilainya berubah ubah sesuai nama bulan. Untuk itu, fungsi dan variabel yang nilainya tetap sebaiknya didefinisikan di luar loop, kode dapat ditulis ulang menjadi:
<?php
$bln_batas = date("m",strtotime($batas_waktu));
$jml_bln = count($bulan);
for ($i = 1; $i <= $jml_bln, $i++)
{
// code
}
?>
atau
<?php
$bln_batas = date("m",strtotime($batas_waktu));
for ($i = 1, $jml_bln = count($bulan); $i <= $jml_bln, $i++)
{
//code
}
?>
dari contoh diatas, waktu eksekusi lebih cepat karena fungsi count dan date, serta pendefinisian variabel $bln_batas hanya dijalankan sekali. Dalam kode diatas terdapat $i++
, kode tersebut merupakan kependekan dari $i = $i + 1.
Praktek di lapangan bisa menjadi lebih kompleks, misal dengan contoh diatas, kita akan menambahkan informasi deadline suatu tahapan, misal output yang diinginkan adalah:
Bulan | Deadline | |
---|---|---|
Tahapan | Tanggal | |
JANUARI | Perencanaan | 2015-01-31 |
FEBRUARI | Analisis | 2015-02-28 |
MARET | Perancangan | 2015-03-31 |
APRIL | Penerapan | 2015-04-30 |
MEI | Evaluasi | 2015-05-31 |
JUNI | Penggunaan | 2015-06-30 |
JULI | – | – |
AGUSTUS | – | – |
SEPTEMBER | – | – |
OKTOBER | – | – |
NOVEMBER | – | – |
DESEMBER | – | – |
Kode yang kita gunakan:
<?php
$bulan = array('1'=>'Januari',
'Februari',
'Maret' ,
'April' ,
'Mei',
'Juni',
'Juli',
'Agustus',
'September',
'Oktober',
'November',
'Desember'
);
// Informai yang diperoleh dari database
$tahapan = array(
array('tahap' => 'Perencanaan', 'tgl' => '2015-01-31'),
array('tahap' => 'Analisis', 'tgl' => '2015-02-28'),
array('tahap' => 'Perancangan', 'tgl' => '2015-03-31'),
array('tahap' => 'Penerapan', 'tgl' => '2015-04-30'),
array('tahap' => 'Evaluasi', 'tgl' => '2015-05-31'),
array('tahap' => 'Penggunaan', 'tgl' => '2015-06-30')
);
echo '<table>
<tr>
<th rowspan="2">Bulan</th>
<th colspan="2">Deadline</th>
</tr>
<tr>
<th>Tahapan</th>
<th>Tanggal</th>
</tr>
';
$jml_bln =
for ($i = 1; $i <= count($bulan); $i++)
{
echo '<tr>
<td> ' . strtoupper($bulan[$i]) . ' </td>';
$data_tahapan = false;
foreach ($tahapan as $tahap)
{
$bln_batas = date("m",strtotime($tahap['tgl']));
if ($bln_batas == $i) {
echo '<td>'.$tahap['tahap'].'</td>
<td>'.$tahap['tgl'].'</td>';
$data_tahapan = true;
}
}
if (!$data_tahapan)
echo '<td>-</td>
<td>-</td>';
echo '</tr>';
}
echo '</table>';
?>
dari data diatas terdapat pengulangan fungsi date yaitu sebanyak 72 kali (12 x 6), dengan struktur data seperti diatas, agak ribet jika harus memenuhi kondisi ideal seperti contoh sebelumnya.
Kondisi tersebut dapat dipenuhi, namun kode yang ditulis bisa jadi menjadi lebih kompleks dan membutuhkan tenaga yang lebih untuk memahaminya (tergantung kondisi lapangan).
Pada kondisi ini, kondisi ideal dapat dilanggar jika kode yang ditulis menjadi lebih sederhana dan mudah dipahami dan performa aplikasi juga tidak terganggu.
Namun jika tidak ada salahnya kita mencobanya. Dengan sedikit perubahan, kode diatas dapat kita tulis kembali menjadi:
<?php
$bulan = array('1'=>'Januari',
'Februari',
'Maret' ,
'April' ,
'Mei',
'Juni',
'Juli',
'Agustus',
'September',
'Oktober',
'November',
'Desember'
);
// Informai yang diperoleh dari database
$tahapan = array(
array('tahap' => 'Perencanaan', 'tgl' => '2015-01-31'),
array('tahap' => 'Analisis', 'tgl' => '2015-02-28'),
array('tahap' => 'Perancangan', 'tgl' => '2015-03-31'),
array('tahap' => 'Penerapan', 'tgl' => '2015-04-30'),
array('tahap' => 'Evaluasi', 'tgl' => '2015-05-31'),
array('tahap' => 'Penggunaan', 'tgl' => '2015-06-30')
);
foreach ($tahapan as $key => $tahap)
{
$bln_batas = date("n",strtotime($tahap['tgl']));
$ref_tahapan[$bln_batas] = $key;
}
echo '<table>
<tr>
<th rowspan="2">Bulan</th>
<th colspan="2">Deadline</th>
</tr>
<tr>
<th>Tahapan</th>
<th>Tanggal</th>
</tr>
';
$jml_bln = count($bulan);
for ($i = 1; $i <= $jml_bln; $i++)
{
echo '<tr>
<td> ' . strtoupper($bulan[$i]) . ' </td>';
if (key_exists($i, $ref_tahapan))
{
echo '<td>'.$tahapan[$ref_tahapan[$i]]['tahap'].'</td>
<td>'.$tahapan[$ref_tahapan[$i]]['tgl'].'</td>';
}
else
{
echo '<td>-</td>
<td>-</td>';
}
echo '</tr>';
}
echo '</table>';
?>
pada kode diatas line 26 s.d 30 kita membuat variabel baru bernama $ref_tahapan
yang berbentuk array dengan key bulan dan value index dari array tahapan, contoh $ref_tahapan[1] = 0
yang berarti bulan 1 merujuk ke $tahapan[0]
.
Kode diatas tidak terlalu kompleks dan masih wajar untuk digunakan walaupun pengguna kode membuat kita harus menambah tenaga untuk memahami variabel baru $ref_tahapan
K
etika di tes, kode diatas membutuhkan waktu eksekusi 0.0011389255523682 detik sedangkan sebelumnya 0.014470100402832 detik, tidak terasa perbedaannya oleh karena itu kita dapat menggunakan kedua cara diatas, namun jika kode yang ditulis kompleks, cara kedua bisa dipertimbangkan untuk digunakan.
2 Hindari eksekusi perintah SQL di dalam loop
Sebisa mungkin jangan pernah melakukan eksekusi kode SQL di dalam loop, dengan eksekusi yang berulang ulang maka akan memberatkan server database yang pada akhirnya akan menurunkan performa aplikasi anda.
Contoh dibawah ini pengulangan eksekusi MySQL di dalam loop (variabel $bulan
menggunakan contoh sebelumnya):
$jml_bln = count($bulan);
for ($i = 1; $i <= $jml_bln, $i++) {
$bln = substr('0'.$i, -2);
$sql = 'SELECT jml_byr FROM penjualan WHERE MONTH(tgl_byr) = $bln;
$stmt = $pdo->prepare($sql);
$stmt->execute();
$penjualan[$bln] = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
Contoh diatas akan mengeksekusi perintah SQL sebanyak 12 kali yang tentu saja akan memberatkan, terlebih lagi jika datanya sangat besar.
Untuk optimasi, salah satunya dapat ditempuh dengan membuat query di dalam loop kemudian mengeksekusinya di luar loop yang tentu saja akan menyebabkan penulisan query yang berbeda, untuk pembahasan lebih detailnya dapat dibaca pada artikel: Query MySQL di Dalam PHP Loop – Bad Practice !!!
3 Berhati – hati dalam penulisan nested loop
Terkadang kita menuliskan banyak loop di dalam loop, untuk kehati-hatian, gunakan variabel yang mencerminkan kondisi yang ada, tidak sekedar $i, mengingat nilai variabel akan berubah jika kita mendefinisikan dengan nama yang sama (baik sengaja maupun tidak), contoh berikut akan menghasilkan
*
**
***
****
*****
<?php
for ($row = 1; $row <= 5; $row++)
{
for ($col = 1; $col <= $row; $col++)
{
echo '*' . '<br/>';
}
}
?>
Berkreasi dengan loop
Penggunaan loop sangat luas sekali bisa untuk berbagai macam kebutuhan, saya ingin sharing contoh loop yang saya buat beberapa waktu lalu berupa karakter yang membentuk bidang persegi / segitiga yang dapat disusun menjadi suatu motif tertentu, agar artikel tidak terlalu panjang, silakan klik disini untuk membacanya
Demikian tutorial mengenai perulangan for pada PHP, semoga dapat bermanfaat.
Subscibe Now
Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com
186 Feedback dari pembaca
The best article! Thanks so much! Please share more tutorials like that
<?php
$jumlah = 0;
for ($angka = 1; $angka
maz koding di atas output nya 15
bagaimana ya maz agar outputnya 1+2+3+4+5=15
Maaf mas, kodnya terpotong, bisa dicoba dikirim lagi
1
22
333
4444
55555
666666
7777777
88888888
999999999
10101010101010101010
kalok seperti ini gan, menggunakan for bagaimana?
Itu sudah pernah saya jawab di komentar pengunjung yang lain mbak, coba dicari lagi
Apa yang dimaksud pernyataan for pada PHP dan apa fungsinya?
Bisa disimpulkan dari artikel diatas mas…
nice
mas kalo ada soal seperti ini :
keluarga A terdiri dari A1, A2, A3, A4, A5, A6, A7 – n
terus nanti tampilannya menjadi :
Keluarga A yaitu A1 dan A2 dan A3 dan A4 – n
tetapi perintah perulangannya dijadikan variabel
contoh :
tapi hasilnya jadi variabel aja gitu bisakah ? (ex : $hasil = for($i = 0 ; $i < count($a) ; $i++){})
coba nilainya disimpan ke variabel mas
pembahasan yang mudah dipahami, trims karena mau berbagi mas
Sama sama mas…
cara menampilkan perulangan php dengan 1 22 333 4444 55555 55555 4444 333 22 1 gimana gan? mohon bantuan nya gan dan mohon dibalas
Coba ini mas:
yg secara lengkap nya mas?
Itu sudah seperti yang diinginkan mbak, kalau dijalankan di browser hasilnya:
1 22 333 4444 55555 55555 4444 333 22 1
tinggal ganti nilai maxnya, misal $max = 6 hasilnya:
1 22 333 4444 55555 666666 666666 55555 4444 333 22 1
yg for nya emang sampai $ situ mas? terus echo nya emang kayak gitu? saya kurang mengerti mas, bisa dijelaskan lagi?
Iya mbak memang seperti itu:
Coba seperti ini:
Hasil: 1 22 333 4444 5555
Coba pelajari ini:
atau bisa email saya mbak
email nya apa mas?
prawoto.hadi@gmail.com mbak
Gan kan kalo script kayak kini
Maka akan menampilkan di browser seperti ini..
Nah saya mau nanya gan , kalo mau menampilkan yg seperti ini
Itu gimana caranya ya gan ,dengan menggabungkan while dan for ?
Kenapa ngga dibalik saja mas?
Atau jika digabung:
Hasilnya akan sama
sore mas agung
makash sebelumnya udah sering bantu 🙂
mau tanya lagi cuman g tau pas g tau engga sama temanya hehe
maap kalau g sesuai temanya
di database ada 3 tabel
tb_produk, tb_detail_produk, tb_bahan
mau tanya mas cara melakukan pengulangan perubahan semua stok pada tabel bahan yang tertara di tabel detail produk
soalnya kalo update kaya skrip ini
yg ke update cuman 1 line ga smua yang tertara di tabel detail
map kalo kata”nya bikin bingung
$id_bahan nya di dapet dari sini mas
Ini maksudnya mau mengupdate tabel bahan sesuai dengan data pada tabel detail ya mas?
Jika demikian, coba query ini mas:
Di PHP:
9
89
789
6789
56789
456789
3456789
23456789
123456789
kalau tampilannya begitu, bagaimana ya mas ?
Coba ini mbak, tinggal diganti nilai variabel $max nya
Hasil:
mas kalo dibalik gimana ya?
54321
4321
321
21
1
?
Untuk model seperti ini pernah dibahas di pertanyaan sebelumnya mas
kalau untuk menampilkan seperti ini pak
Sukses
Sukse
Suks
Suk
Su
S
Caranya Gimana
Coba ini mas
saya punya kasus gan. api key youtube saya, ingin otomatis bergantian setiap jam nya. jam 12 malam – 1 malam.. nanti jam 1 sampai jam 2 mlm, ganti kode lagi. begitu seterusnya sampai 24 jam.
misalkan
$config[‘youtube’][‘api_key’] = array(“kodeApi1,kodeApi2,kodeApi3,kodeApi4,kodeApi5,kodeApi6,kodeApi7,kodeApi8,kodeApi9,kodeApi10,kodeApi11,kodeApi12,kodeApi13,kodeApi14,kodeApi15,kodeApi16,kodeApi17,kodeApi18,kodeApi19,kodeApi20,kodeApi21,kodeApi22,kodeApi23,kodeApi24”);
if (!isset($_SESSION[‘regionCode’]))
kodeApi1 untuk jam 12 pagi- 1 pagi
kodeApi2 untuk jam 1pagi – jam 2pagi.
begitu seterusnya gan. saya bingung dengan kode script nya.
mohon bantuannya gan
Coba menggunakan if kemudian cek tanggal servernya mas, misal seperti ini:
Jika jam misal menunjukkan angka 1, menit berapapun, sebelum jam 2:00:00, gunakan $config[‘youtube’][‘api_key’][1];
maaf Gan…izin minta source code untuk penggunaan for loop tampilan 1,3,7,13,21
saya mencoba menggunakan skrip yg sperti ini:
<?php
$a="1";
for ($a=1;$a
tetapi ini terlalu ribet karna harus 1 1…
tolong beri scrip lebis simpel nya gan
trimakasi 🙂
Apa maksudnya seperti ini mas?
artikel Hindari eksekusi perintah SQL di dalam loop sudah ditulis pak? saya sedang perlu banget cara tsb di project saya. trims
Ditunggu beberapa hari kedepan mas, sedang dipersiapkan
Coba dibaca disini mas: Query MySQL di Dalam PHP Loop – Bad Practice !!!
selamat malam kaaa, perkenalkan nama saya fuji, asal saya dari bandung kaa, saya ada tugas. dimohon kaka bisa bantu saya yang masih sedikit ilmu disini.
1. program menghitung jumlah angka bilangan ganjil kelipatan 3 dari 0 sampai dengan angka inputan dari user. conttoh inputan user 16, program akan menghasulkan 3+9+15= 27 .
2. program membuat pola segiempat, dengan inputan baris dan kolom dari user, contoh : baris= 4, kolom = 7
xoxoxox
oxoxoxo
xoxoxox
oxoxoxo
Coba ini mbak
Klau mau loping dengan kyk gni gmn ya
100
010
011
Pkai perulangan for
Itu hanya segitu saja polanya atau ada yang lain mas?
kalai itu saja, coba ini mas:
cara buat kuisioner di php gimana ya mohon bantuan
Sama seperti form input biasa mas, coba search di google
cara tambahkan menu pilihan tampil dengan bentuk listbox yg berisi pilihan mendatar dan tegak utuk menamplkan hasil perulangan dgn bentuk mendatar atau tegak..mohon pencerahannya
Maksudnya checkbox ya mas? coba baca artikel ini mas: http://jagowebdev.com/menampilkan-data-mysql-dengan-php-dan-form-html/ Disana di jelaskan teknik membuat form yang efektif
saya mau tanya kalau hasilnya mau kaya gini
1 2 3 3 4 7 5 6 11 dan kalau mau gini 1 2 3 4 4 5 6 10 bagaimana ya? makasih
yang pertama polanya seperti ini
1+2=3
3+4=7
5+6=11
jadi deretnya 1 2 3 4 4 7 5 6 11
yang kedua polanya
1 2 3 ditambahin 1 dan 3 nya jadi 4
4 5 6 ditambahin 4 dan 6 nya jadi 10
maka deretnya
1 2 3 4 4 5 6 10
Yang pertama coba ini mbak:
Yang kedua:
Kalau contohnya sepertiini..?:
1
12
123
1234
12345
Contog script yg rata kanan bgtu gimana yh.?? Mksh sblm.a
Ini sepertinya sudah ada di contoh jawaban sebelumnya mas…
1.mas klo mau menampilkan datanya gini gmn cara nya
123
456
789
Coba ini mas:
Mas kalau urutkanlah data array menggunakan fungsi loop for (php) ini datanya $data=array (10,4,55,21,6). gmn ya?? maaf msih bljr …
Coba menggunakan fungsi asort mas, misal:
$urut = asort($data);
print_r($urut);
selamat pagi mas agus,
mohon pencerahannya ini mas,
misal :
databasenya:
id_urut|id_unik| angka_pertama |waktu |tanggal
1 | T205 | 2 |10:30 |20/11/2017
2 | T205 |3 |11:00 |20/11/2017
3 | T100 |2 |08:00 |20/11/2017
klo cara mencari rata – rata selisih (per hari) per ID_uniknya bagaimana dan perulangannya bagaimana?
terima kasih
Bisa dicontohkan hasilnya seperti apa mas?
databasenya:
jadi, untuk id T205
=> Selisih pertama pada field angka_pertama (dari jam 10:30 ke 11:00) = 3-2 =1
=> Selisih kedua pada field angka_pertama (dari jam 11:00 ke 21:00) = 3-3 = 0
Sehingga rata2 selisih =(selisih pertama + selisih kedua)/jumlah kejadiaan selisih = (0+1)/2 =0,5 =1 (pembulatan)
jadi, untuk id T100
=> Selisih pertama pada field angka_pertama (dari jam 10:30 ke 11:00) = 4-2 =2
=> Selisih kedua pada field angka_pertama (dari jam 11:00 ke 21:00) = 6-2 = 2
Sehingga rata2 selisih =(selisih pertama + selisih kedua)/jumlah kejadiaan selisih = (2+2)/2 =2
sehingga hasilnya :
id_unik | rata_rata_selisih | tanggal
T100 | 2 |20/11/2017
T205 |1 |20/11/2017
mohon pecerahannya, terima kasih
Coba diselesaikan disisi aplikasi mas, karena itu ngitungnya antar baris, susah kalau dikerjakan di query SQL
jika tidak keberatan mohon di bantu mas, untuk contoh source code di aplikasinya yg menggunakan php. terima kasih.
Iya mas, coba di artikel PHP Form III
sore bang mau numpang tanya
terima kasih artikelnya bisa menambah wawasan
cara menampilkan
menggunakan 2 for dan fuction
Maksudnya 2 for bagaimana mas?
coba seperti ini:
mas bisa bantu membuat program PHP dari soal:
1. penggulangan (while) : susun program yang didalamnya terdapat pengulangan while untuk menampilkan bilangan ganjil dan genap.
2. penggulangan (foreach) : susun program yang di dalamnya terdapat pengulangan foreach untuk menampilkan semua element dalam sebuah objek.
mksih mas mohon bantuannya:)
Bisa mas…
Kalau looping hasilnya gini gimana mas?
1,1
1,2
2,1
2,2
Pakai For
coba ini mas…
kalo untuk
54321
4321
321
21
1
scriptnya bagai mana ya mas ??
Coba ini mas
for($i=5;$i>=1;$i–){
for($k=$i:$k>=1;$k–){
echo $k;
}
}
sore mas , mau tanya ini error nya dimana ya
kalo pake code di atas dy benar hasil nya .
kalau saya tambah titik , dy malah error .
error nya : Array to string conversion
Itu variabel $jadi awalnya array atau string mbak, dari error yang ada, terlihat bahwa variabel $jadi awalnya array sehingga jika digabung dengan string (menggunakan tanda titik) dia akan error coba ini:
Hasil string:
Hasil array:
Mas agus mohon bantuanya ya mas…
saya terkendala menampilkan data dengan kode perulangan bercabang.
ini contoh table nya,
” permasalahannya, saya ingin merekap laporan penjualan berdasarkan kasir dan jenis_barang sehingga hasilnya akan seperti ini ”
#kode php yang saya buat seperti ini:
hasilnya malah kaya gini
# mohon solusinya ya mas agus…
terima kasih banyak
Coba querynya dibalik mas, pertama diquery dulu kategorinya kemudian di query detailnya…
Tetapi itu masih query di dalam query, sehingga kedepan berpotensi aplikasi menjadi lambat terutama jika datanya menjadi besar…
mas mohon bantuannya, kalo mengirim pesan ke banyak nomor berbeda, perulangann nya gimana mas ya?
nomornya sduah array dijadikan array,
Bentuk contoh array nomornya seperti apa mas?
Siang Pak saya mau nanya, saya mau membuat penomoran di tabel tapi berdasarkan id_usernya , maksudnya 1 id_user 1 nomor dan data nya sudah diurutkan per user yang sama, jdi dengan id_user yang sama dia cukup menggunakan 1 nomor saja, klo berikutnya ada id_user yg berbeda baru lanjut ke nomor 2 dan bgtu seterusnya pak, gmn cara membuatkan logikanya ya pak ?
Mohon bantuan nya pak
Itu bisa di lakukan di level database mas menggunakan kolom auto increment
bagaimana kalau saya ingin menampikan tanggal 2018-02-09 2018-02-16 2018-02-23 2018-02-30
sedangkan koding di atas hanya menampilkan 2018-02-09 2018-02-09 2018-02-09 2018-02-09
tlg bantuannya gan…..
+7 day nya diganti $a mas:
strtotime(‘+’ . $a . ‘ day’, $timestamp)
Bagaimana cara mau menampilkan
2
4 6
8 10 12
14 16 18
Menggunakan for scriptnya gimana?
Coba ini mas:
Bagaimana cara mau menampilkan
1,3,6,9,12
Menggunakan for scriptnya gimana?
Coba ini mas:
Bang toling di bantu
Seorang mahasiswa bernama dewi saat ini sedang berada dalam rumahnya lalu dewi ingin kerumah pacarnya yang ke3 dgn cra berlari. Jarak antara antara dewi sekrang dengan tujuannya trsebut 100km. Ketika dewi sdh mncapai jarak sejauh 10km or 20km maka akan muncul perulangan sweetalert yang menyuruhnya untuk istirahat dulu atau mending order gojek
(bereasrkn kasus tersebut buatlah program perulangan untuk mencatat jarak yang sudah di tempuh ol3h si dewi dan pengkondisiannya)
Terimakasih
Maaf belum paham maksudnya mas…
Kalau hasil output nya 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
Gimana ya? Itu perulangan yg bilangannya dibawah 100 yg bisa dibagi 5
Itu bisa menggunakan modulus mas, jika dibagi 5 tidak sisa, misal:
halo mass saya izin nanya nihh..
saya kesulitan memunculkan nilai berikut kedalam sebuah tabel :
-4
-3
-2
-1
0
1
2
3
4
dalam bentuk perulangan..? gimana ya code nya mas?
sblmnya trims mas..
Coba mas
<?php
// untuk menampikan banyak kelipatan 10, soal no 1 :
// perulangan mengunakan for dan while :
echo " menampilakan kelipatan 10, menggunakan perulangan for : “;
$i = 10;
for ($a ; $i<=100; $i+=10){
echo "$i “;
echo ” “;
}
echo “ menampikan kelipatan 10, menggunakan perulangan while : “;
$bil = 5;
while ($bil <= 100)
{
if ($bil % 10 == 0) echo $bil. "”;
$bil++;
}
//untuk menampilakan banyaknya kelipatan 6, soal no 3 :
// perulangan menggunakan while dan for :
echo “ menampilakn kelipatan 6, menggunakan perulangan while : “;
$bil = 3;
while ($bil <= 127)
{
if ($bil % 6 == 0) echo $bil. "”;
$bil++;
}
echo “ menampilakn kelipatan 6, menggunakan perulangan for : “;
$a = 6;
for ($i ; $a<=127; $a+=6){
echo "$a “;
echo ” “;
}
?>
mohon pak bantuannya pak saya sudah blajar lewat website bapak tapi saya masih kesulitan dengan tugas kampus saya ini:
saya sudah bisa mengerjakan tugas pertama dan tugas ke tiga seperti contoh di atas tapi saya kesulitan mengerjakan tugas no 2 saya sudah cobak berkali-kali, tapi saya gk bisa 🙁
soalnya gini pak:
no 2: Buatlah program menggunakan pernyataan perulangan untuk menjumlahkan bilangan 2 s/d 50.
Maaf saya tidak paham pertanyaan no 2. menjumlahkan 2 s.d 50 seperti apa? bisa dicontohkan?
gimana kalau perulangan untuk menampilkan 5+4+3+2=14
mohon respon nya gan
Tinggal di loop dari 5 ke 2 mas
klo untuk menampilkan bilangan prima gmna ya?
Seperti biasa mas, cuman ditambahkan angka 2
kalau ada angka 1.225.441
outputnya seperti ini gimana mas?
â— 1000000
â— 200000
â— 20000
â— 5000
â— 400
â— 40
â— 1
Coba ini mas:
Hasil:
selamat siang mas, mohon maaf mau menanyakan untuk perulang yang jumlah nya sebanyak n yang menghasilkan tampilan seperti ini:
#
#$
#$%
#$%#
#$%#$
#$%#$%
source nya kaya gimana ya ?
Terimaksih 🙂
Coba ini mas:
Hasil:
selamat siang mas,.
gimana caranya membuat deret angka yang otomatis ulang dari awal lagi ketika ada perubahan variabel tahun??
contoh :
1,2,3,4,5,6,7,8,9,…250 di tahun 2019, nah ketika masuk tahun 2020, nilai tersebut start dari awal lagi mas.
terima kasih.
Itu ngga pakai loop bisa mas, pakai kondisional if
saya bingung mau di letak dimana mas n bagaimana codingnya..
ini penggalan coding saya untuk cek database dan membuat no urutnya mas,
0) {
while ($data= mysqli_fetch_array($agenda)){
$no_urut = $data[‘no_urut’];
$urut = $no_urut+1;
}
}else{
$no_urut=0;
} ?>
kira2 bgaimana membuat ekpresinya agar no_urutnya otomatis ulang dari 1 lagi ketika masuk tahun selanjutnya dan seterusnya..
terima kasih mas
Coba mas,
mohon bantuannya
Faktorial didefinisikan sebagai:
n!=n x (n-1) x (n-2) x ….. x 1
Buatlah sebuah aplikasi yang menerima masukan n dan menghitung berapakah faktorial dari n!
Contoh:
Masukan angka: 5
Hasil: 5 * 4 * 3 * 2 * 1 = 120
Coba ini mas:
mas kalo looping begini gimana :
1A
1B
1C
2A
2B
2C
mohon bantuannya
Coba ini mas:
program untuk menerapkan konsep control, tampilan bilangan ganjil dari 20 sampai 32 dengan kondisi untuk bilangan ganjil dari 25 dan 29 tidak ditampilkan.
Yg akan te tampil
21
23
27
31
Coba ini mas:
Mohon bantuannyaa Mas…
2
44
444
3333
44444
itu gimana ya cara buatnya?
mohon bantuannyaaa ya mass….
Itu kurang banyak mas contohnya, polanya belum terlihat
mau tanya dong gan,bagai mana cara membuat deret 23, 26, 31, 49, 62, dst.. dan 102, 98, 104, 96, 106, 94, dst … dengan menggunakan for php
mohon penjelasanya juga
trima kasih
Bisa dijelaskan pola deretnya seperti apa mas?
pak gmna cara itung
100 the bla bla
103 the bla bla
109 the bla bla
130 the bla bla
mas gimana ya biar result jalan tanpa nunggu loading selesai.
Maaf, maksudnya bagaimana ya mas?
mas gimana buat coding tampilan pertama misal ” angka random x angka random = ? ” ditengah layar, kemudian hasilnya muncul tapi hanya hasilnya saja dengan waktu yang ditentukan sendiri. terus berulang sampai user memberhentikan. masi belajar keras mas. matur nuhun.
Untuk script PHP sifatnya rund and go mas, user tidak bisa menghentikan script yang sudah running, jika ingin model seperti itu, bisa dicoba menggunakan javascript…
gan kalau untuk menampilkan deret angka
4872. 4865. 4858. 4851. 4844
skripnya gimana yah
Itu kelipatan 7 ya mas, tinggal di tambahkan 7 di setiap loop nya, misal:
deret angka 1, 5, 11, 19, 29, 41, X, Y. untuk menentukan nilai X dan Y gimana gan
Itu ngga perlu program mas, dicari saja kelipatannya: 4,6,8,10,12, brarti x= 41 + 14 = 55, Y = ? dicari ya….
untuk membuat perulangan saldo menurun, gimana ya?
tampilnya seperti ini:
10,000,000
9,166,667
8,333,333
7,500,000
6,666,667
5,833,333
5,000,000
4,166,667
3,333,333
2,500,000
1,666,667
833,333
0
———————————————–
10,000,000 dikurangi 833,333 12x
Coba ini mas:
pak tolong dibantu cara menampilkan hasil deret bilangan 3,6,11,18,27,51,66,83,102,123 dengan perintah do while pada php.terimaksih pak
Itu kelipatan 3,5,7,9,dst.. coba dicari di comment atas mas
Buat script menggunakan for, while dan do while untuk menginputkan angka
kemudian mencetak seperti contoh tampilan berikut:
Input Angka: (misal diinputkan 5, maka hasilnya adalah)
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Coba mas:
Hasil:
1
12
123
1234
12345
Maaf mas nanya lagi klo misalnya soal kaya gini? bingung di menampilkan gradenya aja agar bisa A- B+ C- gitu gimana ya? saya malah eror
Buat script untuk menginput Nilai Tugas, Nilai UTS, Nilai UAS kemudian Hitung
Nilai Akhir dan Konversi Grade-nya.
Nilai Tugas, Nilai UTS dan Nilai UAS rentangnya adalah 0 -100
Nilai Akhir = 30% Nilai Tugas + 30% Nilai UTS + 40% Nilai UAS
Perhitungan Grade didapat dari rentang Nilai Akhir berdasarkan tabel berikut:
Nilai Akhir Grade
Coba pakai if mas
Disesuaikan sama rentang nilainya, misal
if ($nilai > 85 && $nilai <= 100) { $angka = 'A'; }
mas tolong bantu dong, kalo tampilin
11111
22222
33333
44444
55555
dan seterusnya bagaimana ya?
Coba mas:
bang pengulangan misal memasukkan angka = 5 mka stelah ditekan button maka munculnya menjdi =
A
B
C
D
E
itu gmna bang?
Coba mas:
kalau munculnya
– 01
– 002
– 0003
– 00004
– 000005
– 6000000
– 70000000
– 800000000
– 9000000000
– 10000000000
bagaimana caranya mas ?
terimakasih
Itu ada dua pola sepertinya mas, 1-5, 6-10 beda
for ($i=1; $i<=100; $i++) {
berarti menampilkan 1 sampai 100, klo misal saya mau ambil 50 sampai 100
tentunya seperti ini
for ($i=50; $i<=100; $i++) {
nah intinya itu data bukan hanya 100 data saja bahkan yang saya ambil ribuan, akan tetapi saya mau ambil di akhirannya, misal 20 data akhirannya saja – gimana ya mas, terimakasih
Kita perlu tahu jumlah datanya dulu mas. Kalau berupa array, maka tinggal menggunakan fungsi count, baru kemudian di loop mulai 20 baris sebelumnya, misal:
$max = count($data);
$start = $max – 20;
for($i = $start; $i <= $max; $i++) { }
1 1
2 2
3 3
4 4
5
4 4
3 3
2 2
1 1
kalo spertiitu gmn mas?
Yang seperti itu sudah dibahas di pertanyaan sebelumnya mas…
Mohon bantu pak mau nanya soal php, untuk scriptny bagaimana ya pak
1. Sebuah variable array berisi data sebagai berikut
$nilai = array(“utsâ€Â=>50,â€Âtugasâ€Â=>70,â€Âuasâ€Â=>100)
Tampilkan nilai akhir di layar jika diketahui rumus untuk menghitung nilai
akhir adalah :
Nilai akhir = 0.4*uts + 0.2*tugas + 0.2*uas
2. Buatlah sebuah fungsi yang memiliki 1 parameter dan sebuah return value.
Parameter berupa bilangan bulat. Return value berupa “genap†atau “ganjilâ€Â
tergantung dari parameter yang diberikan
Terima kasih pakk
Coba mas:
1. echo (0.4 * $nilai[‘uts’]) + (0.2 * $nilai[‘tugas’]) + (0.2 * $nilai[‘uas’]);
2.
pak mau tanya gimana cara pengerjaan ini ya pak
1! Hasil 1
2! hasil 2
3! hasil 6
4! hasil 24
seterusnya sampai 10
Belum terbaca pola perubahan angkanya mas, untuk bisa membuat loop harus diindentifikasi dulu pola perubahan angkanya seperti apa
Mas mau tanya kalau program untuk mencetak heading sesuai dengan ukuran format heading dalam html menggunakan while, itu bagaimana ya mas? Terimakasih
Maksudnya bagaimana ya mas, heading tidak perlu perulangan… atau maksudnya menampilkan daftar artikel kemuadian mau mencetak heading nya?
jadi outputnya, tulisan heading 1 samapi dengan 6. tapi dengan menggunakan perualngan while
Coba dipelajari ini mas: Memahami While dan Do While Pada PHP Dengan Contoh Kasus
mas mau nanya, soalnya kayak gini :
1. membuat kode php untuk menampilkan suatu bilangan increment dimana bilangan tersebut akan bertambah satu
jika browser dibuka atau di refres.
nah nanti hasilnya kayak gini mas
Click refresh untuk melakukan penambah bilangan !
sekarang bilangan ke 15
Data bilangan sekarang perlu disimpan mas, bisa disimpan di database, session, atau cookie, misal dengan session:
jika input nya var angka = [,8,7,6,5,8,4,3,2,1]
dan outputnya 8
dengan memakai for of or for in?
sourcode nya boleh pak?
Coba ini mas:
Buatlah sebuah function sederhana untuk menghitung jumlah huruf dari parameter yang diinputkan.
Diketahui: Params 1 = huruf yang dihitung, Params 2 = Kalimat yang akan discan
Function: hitungHurufDariKalimat(a, saya mau makan sate bersama teman saya setelah lulus dari sekolah dasar)
Output:
Hasil Hitung huruf “a” muncul sebanyak 14 kali
-kalo kaya gitu, brarti gimana ya?? makasih sebelumnya
Bisa coba di split berdasarkan huruf a, kemudian dihitung hasil splitnya, misal:
izin bertanya pak.. kebetulan saya member pak..
saya ingin looping angka 1 sampai 100..
kondisi jika di tabel ingin formatnya seperti ini:
1–11–21–31–41–51–61–71–81–91
2–12–22–32–42–52–62–72–82–92
3–13–23–33–43–53–63–73–83–93
dan seterus nya sampai
10–20–30–40–50–60–70–80–90–100
yang sudah saya coba looping,1 sampai 10 nya ke samping,sedangkan saya ingin nya kebawah seperti format di atas..
dan saya ingin di kasih button A di awal tiap kelipatan 4,dan Button B untuk angka lainya
contohnya..
1,2,3,4 nah angka 1 nya di ganti dengan button A, angka 2,3,4 di ganti dengan Button B..
5,6,7,8 nah angka 5 nya di ganti dengan button A,angka 6,7,8 di ganti dengan button B..
9,10,11,12 angka 9 nya di ganti dengan button A ,angka 10,11,12 di ganti dengan button B..
dan seterusnya sampai 100..
mohon bantuanya pak,karna untuk skr di aplikasi yg saya buat tidak memakai looping,yg otomatis terlalu banyak kode yg di tulis ulang dari angka 1 sampai 100..
Maaf pertanyaannya rumit mas, memerlukan waktu untuk menyelesaikannya, bisa ambil paket konsultasi premium mas
saya sudah jd member pak.. harus ambil paket konsultasi premium nya gmn?
saya sudah ambil yang 1 tahun..
Member hanya sebatas download reasource yang ada dan pertanyaan terkait produk saja mas, untuk konsultasi lainnya bisa coba ke halaman ini:
https://jagowebdev.com/konsultasi-php-mysql-dan-website-bersama-ahlinya/
Mas kalo Seperti ini bagaimana
#include
#include
void main()
{
int a;
for (a=25; a>=3; a=a-5)
{
cout<<a<<ends;
}
getch();
}
Maksudnya bagaimana mas?
kalo untuk menampilka angka prima
2
3 5
7 11 13
17 19 23 29
Bisa dilakukan dua tahap mas:
1. Buat series bilangan prima dulu
2. Loop bilangan tersebut dan buat pola seperti diatas
Mas saya ingin bertanya kalau code untuk menghitung banyaknya angka 1 dari bilangan 1 – 1000 bagimana mas?
mohon bantuannya mas
Coba mas:
mas boleh tanya tentang laravel gak ya?
Maaf saya belum terlalu paham laravel mas
klo dpt soal kek gini gi mana mas?
1
1 3
1 3 5
1 3 5 7
1 3 5 7 9
==========
3 2 1
3 2
3
3 2
3 2 1
==========
2 3 5 7 11
Itu satu loop atau beberapa loop mas?
Hai Admin
semoga selalu diberi kesehatan sekeluarga Aamiin YRA.
ijin bertanya:
ada satu tabel transaksi, yg dalam 1 hari bisa ada 100 transaksi atau lebih dst di hari berikutnya. contoh field tabelnya: tanggal, nama barang dan total
pertanyaan:
bagaimana caranya begitu kita pilih bulan pada combo box atau DTPicker data akan terfilter secara otomatis asc dari tgl 1 sampai akhir bulan sekaligus menjumlah data transaksinya baik itu count transaksi pertanggal atau sum transaksi pertanggal.
output yang diinginkan:
tanggal Qty Barang total
1 jan 21 105 1,250,000
2 Jan 21 130 1,685,000
dst.
mohon pencerahannya dan terimakasih.
Aamiin…
Terima kasih atas doanya mas.
Itu tergantung dari plugin yang digunakan mas, coba dicari event ketika tanggl dipilih. setelah itu buat request bisa dengan ajax maupun non ajax dengan parameter tanggal yang dipilih.
Terimakasih pak Agus buat tutorialnya sangat membantu saya,
disini saya ada sedikit pertanyaan, bagaimana ya cara membuat variabel khusus yang tidak diulang didalam for?
misal saya punya kode seperti ini:
for ($j = 0; $j <= 5; $j++) {
$periode = date("Y-m");
}
bagaimana ya caranya supaya jika saya lakukan print_r ($periode) hasilnya adalah "2021-06" dan bukan "2021-062021-062021-06"..
mohon bantuannya pak, terimakasih 🙂
Berarti variabelnya diletakkan diluar loop mas misal:
2 4 8 16 32 64 cara menampilan angka ini mas minta rumusannya
ada contoh untuk menjumlahkan data yg ada di tgl tersbut ?
misal tgl 2021-06-10 data nya ada 2 tp yg ingin di tampilkan bkn data nya tp lansung si jumlahkan
sprti http://prntscr.com/15gcgs1
Pak, saya mau tanya :
Kalo ada string = “Coding”;
Agar Outputnya : C-Oo-Ddd-Iiii-Nnnnn-Gggggg
Bagaimana ya ?
Terimakasih sebelunya
Itu di split per hurufnya kemudian di loop mas, masing masing di dupplikasi 1-6 kali
Izin nyimak omm
Mas, mau tanya cara looping data (looping dr atas ke bawah terus ke kolom sebelahnya) di fpdf gimana y codingnya ? Mksih
Pak saya mau bertanya
bagaimana for
menampilkan 1 sampai 100 jika 3 sudah terinput di database maka tidak muncul
nanti di for bisa
1
2
4
5
6
…
terimakasih
Perlu dibikin list data yang sudah ada di database mas, nanti didalam loop di cek, jika data sudah ada maka di skip, pakai keyword continue
Permisi mas kalau untuk membuat th looping gimana ya mas berdasarkan tanggal lalu hasilnya juga looping berdasarkan th yang diatas untuk membuat aplikasi absensi mas,
mohon pencerahnnya mas
Bisa dilakukan looping 2 kali mas, loop didalam loop
Pak permisi mau tanya. untuk menampilkan sebuah isi array satu persatu secara bergantian tiap kita refresh browser gmn ya pak kodingnya?
tidak harus array sebenarnya yang penting menampilkan data satu persatu saat refresh browser/ada tombol reload dan berulang dari awal lagi jika datanya sudah habis.
Itu pakai loop biasa mas, misal seperti foreach, semua script PHP akan dieksekusi ulang jika browser direfresh
Kalo buat kaya gini gimana mas
***
***
***
***
***
***
***
***
***
Yang model seperti ini sudah pernah dibahas sebelumnya mas, coba dicari dipertanyaan sebelumnya