Tutorial dan Penjelasan Perulangan WHILE dalam PHP

Dalam tutorial belajar PHP kali ini kita akan mempelajari Pengertian dan Cara Penulisan Perulangan While dalam PHP.

- Pengertian Struktur Perulangan While PHP -


Untuk situasi dimana kita membutuhkan kondisi perulangan yang tidak dapat dipastikan berapa kali perulangan akan dilakukan, maka kita tidak bisa menggunakan perulangan for.

PHP (dan juga bahasa pemograman lain) menyediakan stuktur perulangan while untuk kondisi perulangan dimana banyaknya perulangan tidak dapat dipastikan pada saat penulisan program.

Misalkan kita ingin membuat program tebak angka, dimana user akan menebak 1 angka dari 1 sampai 10. Untuk kondisi ini, kita tidak dapat mengetahui berapa kali user akan ’mencoba’ untuk menebak angka tersebut. Bisa saja user mencoba sebanyak 1, 5, atau 10 kali sebelum angka tersebut berhasil diterka.

Atau misalkan kita ingin membuat program menemukan kata tertentu di dalam sebuah kalimat yang dimasukkan oleh user. Banyak kata dalam kalimat tidak bisa kita tentukan pada saat pembuatan program (karena akan diinput oleh user pada saat program berjalan), maka kita tidak bisa menentukan seberapa banyak perulangan yang harus dilakukan untuk mencari kata tersebut.

Sampai dengan tutorial ini, kita belum bisa membuat kedua program diatas karena membutuhkan beberapa fungsi PHP yang belum kita pelajari, namun sebagai contoh cara penggunaan struktur while sederhana, berikut adalah kode PHP untuk perulangan while:

<?php
$i=1;
while ($i <= 10)
{
  echo "$i";
  echo "<br />";
  $i=$i+1;
}
?>


Jika anda menjalankan kode program tersebut, maka di web browser akan tampil perulangan angka 1 sampai dengan 10. Dalam tutorial ini, kita akan membahas cara penulisan struktur while ini secara lebih dalam.

- Cara Penulisan Struktur Perulangan While PHP -


Seperti terlihat pada contoh program sebelumnya, struktur while dalam PHP terdiri dari 2 bagian, yaitu kondisi yang harus dipenuhi untuk proses perulangan, dan baris perintah yang akan diproses secara berulang.

Struktur dasar perulangan while adalah sebagai berikut:

while (condition)
{
    statement;
    statement;
}


  • Condition adalah kondisi yang harus dipenuhi agar perulangan berlangsung. Kondisi ini mirip seperti dalam perulangan for. 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.
  • 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. Misalkan pada bagian condition kita menggunakan variabel counter $i, maka di bagian statement harus ada baris program yang membuat condition bernilai FALSE, atau kalau tidak proses perulangan tidak akan pernah berhenti (infinity loop).
  • Tanda kurung kurawal diperlukan untuk membatasi blok program yang akan diulang. Jika statement hanya terdiri dari 1 baris, maka tanda kurung kurawal tidak diperlukan.

Sebagai pembahasan, saya akan menampilkan ulang contoh kode program sebelumnya, yakni:

<?php
$i=1;
while ($i <= 10)
{
   echo "$i";
   echo "<br />";
   $i=$i+1;
}
?>

Pada baris ke-2 saya membuat sebuah variabel $i, dan memberikan nilai 1. Variabel $i inilah yang akan digunakan sebagai counter untuk kondisi while.

Setelah penulisan while, selanjutnya didalam tanda kurung adalah condition yang harus dipenuhi agar perulangan berjalan. Saya membuat kondisi ($i <= 10) sebagai penanda akhir while, yang berarti selama variabel $i bernilai kurang dari 10, maka lakukan perulangan.

Penting untuk diperhatikan adalah logika pemograman untuk condition. While ($i <= 10) juga berarti bahwa jika nilai variabel $i = 11, maka perulangan akan berhenti. Di dalam kode program, kita harus membuat sebuah baris statement yang digunakan untuk terus menambahkan nilai $i supaya nilai $i bisa mencapai angka lebih dari 10 untuk menghentikan perulangan.

Setelah membuat beberapa baris kode echo untuk menampilkan angka ke web browser pada baris ke-5 dan 6, saya menambahkan kode $i=$i+1 pada baris ke-7 Baris inilah yang akan menambahkan nilai variabel counter $i sebanyak 1 angka pada tiap perulangan, sehingga pada perulangan ke 10, nilai $i akan menjadi 11. Dan kondisi while akan menghasilkan FALSE, sehingga proses perulangan berhenti.

Kesalahan dalam memahami logika while sering menghasilkan perulangan yang akan memproses secara terus menerus (infinity loop).

Anda juga bebas menentukan awal dari variabel counter $i, misalnya untuk mulai dari angka 100 dan mundur ke belakang seperti contoh berikut:

<?php
$i=100;
while ($i >= 0)
{
   echo "$i";
   echo "<br />";
   $i-=8;
}
?>


Perulangan while tersebut akan menghasilkan angka menurun dari 100  sampai dengan 0, dimana pada  setiap perulangan nilai 100 akan dikurangi dengan 8.

- Penulisan Nested Loop untuk While-


Walaupun struktur while agak jarang digunakan untuk nested loop, anda bisa membuat perulangan bersarang dengan struktur while, seperti contoh berikut ini:

<?php

$i=0;
while ($i < 10)
{
   $j=0;
   while ($j < 10)
   {
      echo $i;
      $j++;
   }
   echo "<br />";
   $i++;
}



Dalam kode diatas, saya membuat perulangan yang sama seperti contoh nested loop pada tutorial perulangan for, dimana kode diatas akan menampilkan angka 0-9 sebanyak 9 angka.

Jika anda membandingkan dengan struktur for untuk hasil yang sama, perulangan for akan ’lebih’ mudah dipahami dibandingkan perulangan while diatas.

- Cara Penulisan Alternatif Struktur Perulangan While -


Sebagai cara penulisan alternatif, PHP menyediakan penulisan blok while yang biasanya menggunakan tanda kurung kurawal dengan endwhile.

Berikut adalah contoh penulisan alternatif struktur while dalam PHP:

<?php

$i=1;
while ($i <= 10):
   echo "$i";
   echo "<br />";
   $i=$i+1;
endwhile;

?>

Untuk penulisan alternatif ini, saya mengganti tanda kurung kurawal untuk menandai blok while dengan tanda titik dua (:) pada awal perulangan, dan perintah endwhile di akhir blok.

Setelah mempelajari struktur perulangan for dan while, PHP masih menyediakan 1 buah struktur perulangan dasar lainnya, yakni perulangan do-while. Dalam tuturial selanjutnya kita akan mempelajari pengertian dan cara penulisan struktur perulangan do-while dalam PHP.