Tutorial Belajar PHP Part 35: Cara Penulisan Perulangan Do While PHP

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);

Contoh Hasil Cara Penulisan Perulangan Do While PHP


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);

Contoh Hasil Cara Penulisan Perulangan Do While PHP nested loop

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.

Saat ini di Duniailkom tersedia eBook / buku PHP Uncover dan OOP PHP Uncover. Materi di kedua buku ini jauh lebih detail daripada tutorial PHP di web Duniailkom. Penjelasan lebih lanjut bisa ke: PHP Uncover dan OOP PHP Uncover.

26 Comments

  1. kickymaulana
    17 Feb 15
    • gunawan
      16 May 15
  2. gunawan
    16 May 15
  3. panji asmoro
    25 Jun 15
  4. Dimas
    25 Jul 15
    • Andre
      28 Jul 15
  5. jack
    09 Sep 15
  6. merti
    11 Oct 15
    • Andre
      11 Oct 15
  7. hafizh
    14 Oct 15
    • Andre
      15 Oct 15
  8. Gusrizal
    16 Dec 15
    • Andre
      17 Dec 15
  9. monic
    23 Jun 16
    • Andre
      24 Jun 16
  10. Tasha
    24 Jun 16
    • Andre
      25 Jun 16
  11. Alfian
    10 Oct 16
  12. Aono
    23 Jun 18
  13. Dani
    19 Jul 18
  14. Nuyz
    25 Mar 20
    • Andre
      29 Mar 20
  15. Anonymous
    04 Jun 21
  16. Ruslan
    17 Sep 21

Add Comment