Struktur perulangan PHP terakhir yang akan kita pelajari adalah perulangan do while.
Pengertian Perulangan Do-While PHP
Perulangan while dan do-while pada dasarnya hampir sama. Perbedaan terletak pada lokasi pemeriksaan kondisi perulangan.
Dalam struktur while, pemeriksaan kondisi di lakukan di awal, sehingga jika kondisi tidak terpenuhi, maka perulangan tidak akan pernah dijalankan.
Namun pada perulangan do while, pemeriksaan kondisi akan dilakukan di akhir, sehingga walaupun kondisi yang diperiksa false, perulangan akan tetap berjalan minimal 1 kali.
Sebagai pembanding, perhatikan contoh perulangan while berikut:
<?php $i = 1000; while ($i <= 10) { echo $i; echo "Ini tidak akan tampil di browser"; $i++; }
Ketika dijalankan, kode ini tidak akan menampilkan apa-apa, sebab kondisi while ($i <= 10) sudah menghasilkan nilai false pada awal program. Di baris 2, variabel $i sudah berisi angka 1000, yang tidak akan lolos pemeriksaan $i <= 10.
Sekarang mari kita coba ubah menjadi perulangan do while:
<?php $i = 1000; do { echo $i; echo "Akan tampil di browser"; $i++; } while ($i <= 10);
Kode di atas akan menampilkan teks "1000Akan tampil di browser". Ini bisa terjadi karena pada perulangan do while, blok program akan di proses setidaknya 1 kali walaupun kondisi while menghasilkan false.
Cara Penulisan Struktur Perulangan Do While PHP
Penulisan struktur do-while mirip dengan struktur while dengan tambahan perintah do di awal struktur. Berikut format dasar penulisan perulangan do while dalam bahasa PHP:
do { statement; statement; } while (condition);
Setelah perintah do, di dalam blok kurung kurawal terdapat statement.
Statement adalah kode program yang akan diulang. Kita bisa membuat beberapa perintah sederhana echo, atau perintah yang lebih kompleks. Dalam bagian ini harus ada kode program yang bisa menghentikan perulangan, misalnya menaikkan nilai variabel counter $i++, atau kondisi if dengan perintah break.
Condition adalah kondisi yang harus dipenuhi agar perulangan berlangsung. Selama condition bernilai true, maka perulangan akan terus dilakukan. Condition akan terus diperiksa pada tiap perulangan, dan hanya jika hasilnya false, barulah perulangan akan berhenti.
Sebagai contoh sederhana perulangan do while, berikut kode untuk menampilkan angka 1 sampai dengan 10:
<?php $i = 1; do { echo $i; echo "<br>"; $i++; } while ($i <= 10);
Penulisan Nested Loop untuk Do While
Untuk kode yang lebih kompleks, kita juga bisa membuat nested loop atau perulangan bersarang menggunakan do while. Berikut contohnya:
<?php $i = 0; do { $j = 0; do { echo $i; $j++; } while ($j < 10); echo "<br>"; $i++; } while ($i < 10);
Kode ini menampilkan hasil yang sama seperti contoh nested loop pada tutorial perulangan while sebelumnya. Perulangan j akan terus dijalankan dalam setiap perulangan i. Dan karena perulangan i dan j sama-sama dijalankan dari 0 sampai 10, maka total akan terjadi 100 kali perulangan.
Sama seperti perulangan while, dalam perancangan perulangan do while kita harus memahami alur logika program yang dibuat. Karena tidak seperti perulangan for yang jumlah perulangan telah di tentukan di awal, pada perulangan do while kondisi akhirnya ditentukan kemudian.
Kesalahan dalam alur logika akan membuat PHP tidak pernah berhenti memproses perulangan (terjadi infinity loop).
Demikian bahasan tentang perulangan do while PHP. Di bandingkan perulangan for dan perulangan while, perulangan do while ini relatif jarang digunakan. Berikutnya, kita akan sambung ke bahasan tentang fungsi perintah break dalam bahasa PHP.
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()
2 4 8 16 32 64 minta kode sourcde nya makasih
bang bagaimana caranya menerapkan pengulangan do while ketika sudah memilih suatu program(type input) agar bisa di ulang pemilihan tersebut?
contohnya ketika mau men input sebuah luas bangun datar ada select segitiga,persegi,lingkaran ketika sudah pilih salah satu dan dan memasukan nilai setelah itu ingin memilih bangun datar lagi menggunakan do while caranya gimana bang
makasih sebelumnya.