Tutorial Belajar PHP Part 33: Cara Penulisan Perulangan For PHP

Pada tutorial sebelumnya kita telah membahas struktur logika if dan struktur switch yang dipakai untuk percabangan kode program.

Dalam beberapa tutorial ke depan, akan lanjut membahas perulangan atau dikenal juga dengan istilah loop. Struktur perulangan pertama yang kita bahas adalah perulangan for.


Pengertian Struktur Perulangan For

Struktur perulangan (atau dalam bahasa inggris disebut dengan loop) adalah instruksi program yang bertujuan untuk mengulang beberapa baris perintah. Di dalam bahasa pemrograman, terdapat beberapa jenis instruksi perulangan, salah satunya perulangan for.

Ketika merancang perulangan, setidaknya kita harus mengetahui 3 komponen: kondisi awal dari perulangan, perintah program yang akan diulang, serta kondisi akhir dimana perulangan akan berhenti.

Sebagai contoh untuk perulangan for, saya akan membuat program PHP untuk menampilkan 10 baris kalimat "Saya sedang belajar PHP". Berikut adalah kode bisa yang digunakan:

<?php
for ($i = 1; $i <= 10; $i++) {
  echo "Saya sedang belajar PHP";
  echo "<br>";
}
?>

Cara Penulisan Perulangan For PHP - 1

Ketika dijalankan, akan tampil kalimat "Saya sedang belajar PHP" sebanyak 10 kali.


Cara Penulisan Perulangan For Bahasa PHP

Seperti yang telah kita singgung sebelumnya, perulangan for setidaknya butuh 3 kondisi: kondisi awal perulangan, kondisi saat perulangan, dan kondisi yang harus dipenuhi agar perulangan berhenti.

Penulisan dasar format perulangan for PHP adalah sebagai berikut:

for (start; condition; increment) {
  statement;
}
  • Start adalah kondisi awal perulangan. Biasanya kondisi ini dipakai untuk membuat dan memberikan nilai awal ke variabel counter. Variabel counter adalah sebutan untuk variabel yang dipakai untuk mengontrol perulangan. Misalkan kita akan membuat variabel counter $i, maka untuk kondisi start harus memberi nilai awal seperti $i = 1.
  • Condition adalah kondisi yang harus dipenuhi agar perulangan bisa berjalan. Selama kondisi ini terpenuhi, maka PHP akan terus melakukan perulangan. Misalnya kita ingin menghentikan perulangan jika variabel $i telah mencapai 20, maka pada bagian condition ini tulis perintah $i<=20. Ini berarti berarti selama nilai $i kurang atau sama dengan 20, terus lakukan perulangan.
  • Increment adalah bagian yang dipakai untuk memproses variabel counter agar bisa memenuhi kondisi akhir perulangan.
  • Statement adalah bagian kode program yang akan diproses secara terus-menerus selama proses perulangan berlangsung.

Sebagai contoh lain, berikut kode program untuk menampilkan angka 1-15 memakai perulangan for PHP:

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

Hasil kode program:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Kondisi awal dari perulangan adalah $i= 1, dimana saya memberikan nilai 1 kepada variabel $i. Variabel $i inilah yang akan menjadi counter atau penghitung dari perulangan for.

Untuk kondisi akhir, ditulis sebagai $i <= 15. Jadi selama variabel $i bernilai kurang atau sama dengan 15, perulangan akan terus dijalankan.

Sebagai increment, terdapat perintah $i++. Perintah ini sama dengan $i=$i+1, sehingga dalam setiap proses perulangan, $i akan bertambah 1 angka.

Selain berfungsi sebagai counter, variabel $i juga dapat diakses dalam proses perulangan seperti di echo pada baris 3.

Sebagai contoh lain, saya ingin membuat perulangan untuk menampilkan angka 0-100 dalam kelipatan 5. Berikut kode yang diperlukan:

<?php
for ($i = 0; $i <= 100; $i=$i+5) {
  echo $i;
  echo "<br>";
}

Hasil kode program:

0
5
10
15
20
...
...
85
90
95
100

Perbedaan penulisan struktur for ini dibandingkan contoh sebelumnya ada di bagian increment. Kali ini kondisi increment dibuat menaik sebanyak 5 angka setiap perulangannya ($i=$i+5). Sehingga nilai $i akan bertambah 5 pada setiap perulangan.

Dengan memanipulasi perintah increment, kita juga bisa membuat perulangan dengan kondisi mundur:

<?php
for ($i = 20; $i >= 1; $i--) {
  echo $i;
  echo "<br>";
}

Hasil kode program:

20
19
18
...
...
4
3
2
1

Dalam kode ini perulangan for akan mulai dari $i= 20. Perulangan akan terus berjalan selama $i >= 1. Dan pada setiap perulangan kurangi nilai $i sebanyak 1 angka dengan perintah $i–.


Hati-hati dengan Infinity Loop!

Ketika membuat kondisi akhir dari perulangan for, harus selalu perhatikan kapan kondisi akhir bisa dipenuhi. Jika kondisi akhir tidak pernah terpenuhi, perulangan akan berjalan selamanya dan terjadilah sebuah infinity loop.

Infinity loop adalah istilah programming untuk menyebut perulangan yang tidak pernah berhenti. Berikut contoh kodenya:

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

Ketika dijalankan, PHP akan memproses perulangan diatas terus menerus. Kemungkinan web browser akan menjadi not responding dan untuk menghentikannya kita harus menutup paksa web browser.

Kesalahan dari struktur for diatas ada di perintah increment. Sebagai kondisi akhir, saya membuat $i >= 1, lalu kondisi awal ada di $i = 20. Maka untuk mencapai kondisi akhir, nilai variabel $i harus terus dikurangi. Akan tetapi proses increment yang tertulis adalah $i++, akibatnya kondisi akhir tidak pernah terpenuhi karena angka $i akan terus naik dan $i >= 1 akan selalu benar.

Ada kalanya infinity loop diperlukan untuk kasus-kasus tertentu, namun dalam kebanyakan situasi, kondisi ini sebaiknya di hindarkan.


Pengertian Nested Loop (Perulangan Bersarang)

Selain infinity loop, terdapat istilah lain yang sering digunakan dalam proses perulangan, yakni nested loop (perulangan bersarang). Secara sederhana, nested loop adalah membuat perulangan di dalam perulangan. Berikut contoh penulisannya:

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

Cara Penulisan Perulangan For PHP - 2

Dalam contoh ini saya membuat perulangan di dalam perulangan. Variabel counter $j dipakai untuk perulangan dalam atau inner loop, sedangkan variabel counter $i digunakan untuk membuat perulangan luar atau outer loop.

Nested loop ini biasa dipakai dalam program yang butuh pengaksesan data kompleks seperti array atau data dari database.


Cara Alternatif Penulisan Perulangan For PHP

Sama seperti struktur if, PHP juga memiliki alternatif penulisan tanpa tanda kurung kurawal. Berikut contoh penulisan perulangan for dengan endfor:

<?php
for ($i = 1; $i <= 15; $i++) :
  echo $i;
  echo "<br>";
endfor;
?>

Perbedaan dengan penulisan for dengan kurung kurawal ada di penanda awal blok yang menggunakan tanda titik dua (:) dan pada akhir blok dengan perintah endfor.


Struktur perulangan for yang telah kita bahas kali ini butuh kondisi akhir di awal kode program. Untuk situasi dimana kita tidak bisa menentukan berapa banyak proses perulangan yang bisa terjadi, PHP menyediakan struktur perulangan while. Inilah materi kita berikutnya dalam tutorial cara penulisan perulangan 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.

81 Comments

  1. tajul
    05 May 15
    • Andre
      06 May 15
  2. ratuaqilllah
    31 May 15
    • Andre
      31 May 15
  3. Chamid Geovani
    06 Jul 15
  4. Putra pratama
    14 Jul 15
    • Andre
      14 Jul 15
  5. Putra pratama
    14 Jul 15
  6. reza
    19 Aug 15
  7. Arum
    18 Sep 15
    • udin
      16 Feb 16
  8. Slk
    09 Nov 15
    • Andre
      09 Nov 15
    • Gokli
      01 May 20
  9. irfan
    22 Nov 15
    • irfan
      22 Nov 15
      • Andre
        23 Nov 15
  10. leonardo hasugian
    17 Jan 16
    • Andre
      18 Jan 16
  11. Lukiy Setiawan
    26 Jan 16
  12. Gita
    30 Jan 16
    • Andre
      30 Jan 16
  13. Arya
    05 Feb 16
    • Andre
      05 Feb 16
  14. Sahal
    10 Feb 16
    • Andre
      13 Feb 16
  15. pandu
    21 Feb 16
  16. muhammad toha
    27 Feb 16
    • muhammad toha
      27 Feb 16
  17. imam
    28 Feb 16
    • Andre
      01 Mar 16
  18. arafat
    12 Mar 16
  19. jackluck
    10 Apr 16
  20. Syamsa
    12 Apr 16
  21. Maul
    12 Apr 16
    • Andre
      16 Apr 16
  22. koko
    20 Apr 16
    • Andre
      21 Apr 16
  23. bambang
    23 May 16
    • Andre
      26 May 16
  24. ANDI BUDIANTO -
    08 Oct 16
    • Andre
      09 Oct 16
  25. Nefarra
    12 Oct 16
  26. ike
    19 Oct 16
  27. Anonymous
    01 Nov 16
    • Andre
      02 Nov 16
  28. Faridha
    12 Nov 16
  29. Aya
    21 Nov 16
    • Andre
      23 Nov 16
  30. Anugrah Amim Ahmad
    25 Jan 17
    • Andre
      26 Jan 17
  31. Bastian
    20 Feb 17
    • Andre
      21 Feb 17
  32. Mauludy Putri
    13 Mar 17
    • Andre
      15 Mar 17
  33. taufik
    18 Mar 17
    • Andre
      19 Mar 17
  34. teguh
    28 Mar 17
  35. iwan
    30 Mar 17
  36. NENI WIDARTI
    20 May 17
    • Andre
      21 May 17
  37. Ari Asmari
    14 Aug 17
    • Andre
      16 Aug 17
  38. Rosa
    15 Oct 17
  39. AKH
    02 May 18
  40. Wendy
    15 May 18
    • Andre
      17 May 18
  41. Wanda
    07 Jul 18
  42. Chagown
    01 Oct 18
  43. arya biru
    17 Jan 19
    • Andre
      17 Jan 19
  44. Fiman
    13 Jun 19
  45. Abdullah
    16 Jul 19
  46. Gokli
    01 May 20

Add Comment