Cara Penulisan Perulangan While Do-While dalam PHP

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:

1
2
3
4
5
6
7
8
9
<?php
$i=1;
while ($i <= 10)
{
  echo "$i";
  echo "<br />";
  $i=$i+1;
}
?>

Tutorial Belajar PHP - Contoh Hasil Perulangan WhileJika 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 whileini 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:

1
2
3
4
5
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:

1
2
3
4
5
6
7
8
9
<?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 conditionWhile ($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 $isupaya 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:

1
2
3
4
5
6
7
8
9
<?php
$i=100;
while ($i >= 0)
{
   echo "$i";
   echo "<br />";
   $i-=8;
}
?>

Tutorial Belajar PHP - Contoh Hasil Perulangan While 2Perulangan 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:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$i=0;
while ($i < 10)
{
   $j=0;
   while ($j < 10)
   {
      echo $i;
      $j++;
   }
   echo "<br />";
   $i++;
}

Tutorial Belajar PHP - Contoh Hasil Perulangan Nested Loop WhileDalam 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:

1
2
3
4
5
6
7
8
<?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 whiledengan tanda titik dua (:) pada awal perulangan, dan perintah endwhile di akhir blok.

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:

1
2
3
4
5
6
7
8
9
<?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:

1
2
3
4
5
6
7
8
9
<?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 whilemenghasilkan FALSE.


Cara Penulisan Struktur Perulangan Do-While PHP

Penulisan struktur do-while mirip dengan struktur while, namun kita menambahkan perintah dodi 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 statementStatement 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 conditionbernilai 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:

1
2
3
4
5
6
7
8
9
<?php
$i=1;
do
{
  echo "$i";
  echo "<br />";
  $i=$i+1;
} while ($i <= 10);
?>

Tutorial Belajar PHP - Contoh Hasil Perulangan Do-While PHPAnda 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.

Rich Snippets
Published
Article
Cara Penulisan Perulangan While Do-While dalam PHP
Ratings
51star1star1star1star1star
Azizul Hakim

Satu-satunya sumber pengetahuan adalah pengalaman

Leave a Reply