Tutorial Belajar PHP Part 34: Cara Penulisan Perulangan While PHP

Melanjutkan materi belajar PHP di Duniailkom, kali ini kita akan bahas cara penulisan perulangan while dalam bahasa pemrograman PHP.


Pengertian Struktur Perulangan While

PHP menyediakan perulangan while untuk kondisi dimana banyaknya perulangan tidak dapat dipastikan saat penulisan kode program.

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

Atau misalkan ingin membuat program mencari kata tertentu di dalam kalimat yang di input user. Berapa banyak perulangan yang harus dijalankan? Juga tidak bisa diketahui karena user bebas menginput kalimat yang panjang.

Untuk kondisi seperti inilah perulangan while cocok dipakai. Berikut contoh kode PHP untuk perulangan while:

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

Contoh Hasil Cara Penulisan Perulangan While PHP

Saat dijalankan, akan tampil angka 1 sampai 10 berderet ke bawah.


Cara Penulisan Struktur Perulangan While PHP

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

Berikut struktur dasar perulangan while PHP:

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 akan terus diperiksa pada tiap perulangan, dan hanya jika hasilnya false, barulah perulangan akan berhenti.
  • 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.

Mari lihat kembali contoh sebelumnya:

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

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

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

Logika akhir untuk condition ini sangat penting untuk diperhatikan. Kondisi while ($i <= 10) berarti bahwa jika nilai variabel $i = 11, maka perulangan akan berhenti. Di dalam kode program, kita harus membuat sebuah baris statement untuk terus menambah $i agar nilainya bisa mencapai angka yang lebih dari 10.

Setelah membuat 2 baris echo untuk menampilkan angka ke web browser, saya menambah kode $i=$i+1 di baris 7. Perintah inilah yang akan menaikkan nilai variabel $i sebanyak 1 angka pada tiap perulangan. Efeknya, pada perulangan ke 10 nilai $i akan menjadi 11 sehingga menghasilkan false dan proses perulangan berhenti.

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

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

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

Hasil kode program:

100
92
84
76
68
60
52
44
36
28
20
12
4

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


Penulisan Nested Loop untuk While

Untuk kode yang lebih kompleks, kita juga bisa membuat nested loop atau perulangan bersarang menggunakan while. Berikut contohnya:

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

Contoh Hasil Cara Penulisan Perulangan While PHP nested loopKode ini menampilkan hasil yang sama seperti contoh nested loop pada tutorial perulangan for. 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.

Jika kita membandingkan kode untuk perulangan for dengan while untuk hasil yang sama, perulangan for sedikit lebih mudah dipahami, karena di perulangan for nilai awal, kondisi akhir dan proses increment sudah ditulis sejak awal perulangan.


Cara Penulisan Alternatif Perulangan While

Sebagai cara penulisan alternatif, PHP menyediakan penulisan blok while dengan penutup endwhile seperti contoh berikut:

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

Untuk penulisan alternatif ini, kita mengganti kurung kurawal sebagai penanda blok dengan tanda titik dua (:) pada awal perulangan. Kemudian untuk menutup blok while, menggunakan perintah endwhile.


Dalam tutorial PHP kali ini kita telah mempelajari struktur perulangan while. Selain itu PHP masih menyediakan 1 struktur perulangan dasar lainnya, yakni perulangan do-while. Inilah yang akan kita pelajari berikutnya: cara penulisan struktur perulangan do-while 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.

15 Comments

  1. Tajul A.D
    25 Jan 15
  2. Metal Indie
    03 Mar 15
  3. Mase
    08 Apr 15
  4. wahyu
    21 Oct 15
    • Andre
      23 Oct 15
    • AksanRaharjo
      29 Mar 20
  5. Van
    28 May 16
    • Andre
      29 May 16
  6. Er Firdaus
    16 Mar 17
  7. fharhan amrin
    03 Nov 18
  8. asrori
    11 Mar 20
  9. Anonymous
    09 Oct 20
  10. Anonymous
    11 Nov 20
    • fathra
      12 Jul 23
  11. Anonymous
    18 Jul 23

Add Comment