Struktur dasar perulangan terakhir yang akan kita bahas adalah perulangan do-while. Di dalam tutorial Pengertian dan Cara Penulisan Struktur Perulangan Do-While dalam PHP ini kita akan membahasnya lebih dalam.
Pengertian Perulangan Do-While dalam PHP
Perulangan while dan do-while pada dasarnya hampir sama. Perbedaan terletak pada ’lokasi’ pengecekan kondisi perulangan.
Dalam struktur while, pengecekan untuk kondisi perulangan di lakukan di awal, sehingga jika kondisi tidak terpenuhi, maka perulangan tidak akan pernah dijalankan.
Namun pada perulangan do-while, pengecekan kondisi akan dilakukan di akhir perulangan, sehingga walaupun kondisi adalah FALSE, perulangan akan tetap berjalan minimal 1 kali.
Sebagai perbandingan, perhatikan contoh struktur while berikut ini:
<?php $i=1000; while ($i <= 10) { echo "$i"; echo "Tidak akan tampil di browser"; $i=$i+1; } ?>
Kode program diatas tidak akan menampilkan apa-apa, karena kondisi while ($i<=10) sudah menghasilkan nilai FALSE pada awal program (karena saya sudah mendefenisikan nilai $i=1000, pada baris pertama)
Namun jika kode diatas kita ubah menjadi do-while, maka berikut hasilnya:
<?php $i=1000; do { echo "$i"; echo "Akan tampil di browser"; $i=$i+1; } while ($i <= 10); ?>
Program diatas akan menampilkan ”1000Akan tampil di browser”. Hal ini terjadi karena pada struktur do-while, perulangan program akan tampil setidaknya 1 kali walaupun kondisi while menghasilkan FALSE.
Cara Penulisan Struktur Perulangan Do-While PHP
Penulisan struktur do-while mirip dengan struktur while, namun kita menambahkan perintah do di awal struktur. Berikut adalah format dasar penulisan struktur do-while dalam PHP:
do { statement; statement; } while (condition);
Setelah perintah do, di dalam blok kurung kurawal adalah statement. Statement adalah kode program yang akan diulang. Kita bisa membuat beberapa kode program untuk menampilkan perintah seperti echo, atau perintah yang lebih kompleks. Namun di dalam bagian ini harus ada baris program yang digunakan sebagai ’penghenti’ perulangan.
Condition adalah kondisi yang harus dipenuhi agar perulangan berlangsung. Selama condition bernilai TRUE, maka perulangan akan terus dilakukan. Condition ini akan diperiksa pada tiap perulangan, dan hanya jika hasilnya FALSE, maka proses perulangan berhenti.
Sebagai contoh sederhana perulangan do-while, berikut adalah kode perulangan untuk menampilkan angka 1 sampai dengan 10 pada web browser:
<?php $i=1; do { echo "$i"; echo "<br />"; $i=$i+1; } while ($i <= 10); ?>
Anda juga bisa menggunakan struktur do-while untuk perulangan bersarang (nested loop) seperti pada tutorial perulangan for dan while.
Sama seperti perulangan while, dalam perancangan perulangan do-while ini kita harus memahami alur logika program yang dibuat. Karena tidak seperti perulangan for dimana jumlah perulangan telah di tentukan di awal, untuk struktur do-while banyak perulangan di tentukan pada saat program mencapai kondisi FALSE. Kesalahan dalam alur logika akan membuat PHP tidak pernah berhenti memproses perulangan.
contoh program yang menggunakan perulangan do while apa ya
prog parkir
do[
byr+=2000;
i++;
]while(i>Jamkeluar)
echo byr;
biasakan di source code meninggalkan komentar agar org baca di coding tuntunannya
wah terima kasih banyak mas atas penjelasannya sangat bermanfaat sekali
min mau nanya , saya mau menampilkan angka pada php 1,9,2,8,3,11,….dst… itu syntaknya gimana yah min ? saya udah coba tapi gagal terus.. mohon bantuannya. Terima Kasih
Maksudnya angka 1,9,2,8,3,11,….dst… ini sebuah deret g gan? Mungkin bisa dicari dulu rumus deret ini menggunakan persamaan matematika, baru kemudian kita buat programnya… Atau bisa dituliskan rumus deretnya, nanti saya bantu dengan kode program PHP :)
min kalo mau menampilkan angka 1 1 2 3 5 8 itu gmn ya? jadi rmusnya 1+1:2 lalu 2+1: 3 terus 3+2: 5 dan 5+3: 8. mohon bantuanya utk script php nya sprti apa??? thx
Ini untuk membuat deret fibonacci y gan? ditunggu saja ya, nanti akan saya buatkan di artikel tersendiri :)
Update: Langsung lanjut kesini gan: Cara Membuat Deret Fibonacci dengan PHP
kalau mau nampilin 1 angka doang gmna ya? isalnya kan ada nilai 1 2 3 4 5 ,nah saya mau nampilin yg angka 2 aja gmn ya caranya??
Tinggal:
<?php
echo "2";
?>
hehe..
Tapi jika yang dimaksud adalah angka kelipatan 2 dalam perulangan do while, harus menggunakan kondisi logika IF. Silahkan dipelajari bagian tentang konsisi IF PHP di tutorial sebelumnya :)
gan buatin pseudocode dan flowchart nya yang sederhana untuk perulangan dalam (for) dan luar (while-do)
sama output nya ya gan
buat tugas gan..
thx
Saya pending dulu y gan, soalnya lebih pas kalau dibahas di tutorial khusus tentang pseudocode dan flowchart :)
bang gimana cara nya jika kita punya kasus seperti dibawah ini
$sqlh=mysql_query("select SUM(a.bobot_alt*b.bobot) as hasil from tbl_alternatif a, tbl_kriteria b where a.id_krt=b.id_krt GROUP BY nm_alt");
query diatas adalah hasil perhitungan, dan bagaimana cara nya supaya hasil perhitungan diatas bisa disimpan ke database dengan tabel hasil dan field bobot_hasil gitu bang, mohon pencerahannya bang
Bukannya saya g mau bantu, tapi jawabannya bisa sangat panjang :)
Kalau hasil querynya sudah benar, kita tinggal memproses variabel $sqlh untuk dijalankan dan disimpan ke dalam variabel PHP. Variabel PHP inilah yang nanti akan 'masuk' ke tabel hasil.
Gimana ya cara menampilkan angka 21, 18,15,12,9,6,3 menggunakan do while … loop ?
Bisa seperti ini sis:
<?php
$i=21;
do
{
echo "$i";
echo "<br>";
$i=$i-3;
} while ($i > 0);
?>
monic 23 Jun 16
Gimana ya cara menampilkan angka 21, 18,15,12,9,6,3 menggunakan do while … loop jika memakai microsoft visual basic?
Saya sudah lama g ngoding di VB lagi nih sis, jadi sudah pada lupa semua gimana aturan penulisan di VB…
gan gimana cara menampilakan angka 1,2,3,4,5,6 dan kelipatan 5 dari angka tadi menyamping
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
<?php
$a = 1;
for($a=1;$a<=5; $a++)
{
$b = $a;
$c=1;
for($c=1; $c<=5; $c++)
{
echo "$b ";
$b+=5;;
}
echo "<br />";
}
hasil nya : 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5
Bang, ane masih blum paham beda antara fungsi for dngan fungsi while/do-while. Kan dipenjalasan abang bedanya kalu menggunakan fungsi while/do-while perulangan akan berhenti jika mncapai kondisi FALSE. Dari yg ane pahami fungsi for juga akan terhenti jika mencpai kondisi FALSE. Misalnya:
for ($i=20; $i>=4; $i=$i-2):
echo "$i";
endfor;
Kalau dijalankan programnya akan dimulai dg nlai 20, setiap perulangan dikurangi 2, dan akan berhenti jika nilai perulangan kurang dari 4, artinya kalau nilai perulangannya 3 atau 2 berarti FALSE.
Kalau bgitu fngsi for dg fngsi while/do-while (secara logika) sama saja kan bang?. Mohon penjelasannya bang
Halo pak, saya ingin bertanya.
Bagaimana cara menampilkan proses looping yang di sleep satu per satu.
Jadi yang di tampilkan di browser mencetak proses looping satu persatu (seperti pada cli), bukan setelah selesai baru mencetak hasil looping.
Contoh kode saya :
$var = ["satu", "dua", "tiga", "empat", "lima"];
foreach ($var as $varr) {
echo $var . "</br>";
if ($i++) {
sleap(2);
}
}
Mohon dibantu, terimakasih
Maksudnya pengen agar teks looping itu tampil dengan jeda tertentu ya (secara perlahan)? Untuk yang seperti ini tidak bisa dibuat dengan PHP, karena setiap hasil dari PHP maka halaman harus di reload / refresh.
Fitur seperti ini lebih pas dibuat dengan JavaScript. Konsepnya mirip seperti kode diatas, hanya saja nanti di JavaScript bisa pakai fungsi setTimeout()