Penggunaan fungsi BUCLE pada PHP

Indonesian (Bahasa Indonesia) translation by Imam Firmansyah (you can also view the original English article)

Hari ini, kita akan membahas struktur kontrol dan loop(perulangan) pada PHP. Saya akan menunjukkan kepada Anda bagaimana menggunakan semua struktur kontrol utama yang didukung di PHP, seperti if, else, for, foreach, while, dan banyak lagi.

Apa itu Struktur Kontrol?

Secara sederhana, struktur kontrol mengizinkan Anda untuk mengontrol aliran eksekusi kode di aplikasi Anda. Secara umum, program dijalankan secara berurutan, baris demi baris, dan struktur kontrol mengizinkan Anda untuk mengubah aliran itu, biasanya tergantung pada kondisi tertentu.

Struktur kontrol adalah fitur inti dari bahasa PHP yang mengizinkan skrip Anda merespons secara berbeda terhadap input atau situasi yang berbeda. Ini dapat mengizinkan skrip Anda memberikan respons berbeda berdasarkan input pengguna, konten file, atau beberapa data lainnya.

Flowchart berikut menjelaskan cara kerja struktur kontrol di PHP.

Seperti yang Anda lihat pada diagram di atas, pertama-tama suatu kondisi diperiksa. Jika kondisinya benar, kode kondisional akan dieksekusi. Yang penting untuk dicatat di sini adalah bahwa eksekusi kode berlanjut secara normal setelah eksekusi kode kondisional.

Mari kita perhatikan contoh berikut ini.

Pada contoh di atas, program memeriksa apakah pengguna login atau tidak. Berdasarkan status login pengguna, mereka akan diarahkan ke halaman Login atau halaman My Account. Dalam kasus ini, struktur kontrol mengakhiri eksekusi kode dengan mengarahkan pengguna ke halaman lain. Ini adalah kemampuan penting dari bahasa PHP.

PHP mendukung sejumlah struktur kontrol yang berbeda:

  • if
  • else
  • elseif
  • switch
  • while
  • do-while
  • for
  • foreach
  • dan banyak lagi

Mari kita lihat beberapa struktur kontrol ini dengan contoh.

Pada bagian sebelumnya, kita mempelajari dasar-dasar struktur kontrol di PHP dan kegunaannya dalam pengembangan aplikasi. Di bagian ini, kita akan membahas beberapa struktur kontrol penting yang akan sering Anda gunakan dalam pengembangan aplikasi sehari-hari.

If

Susunan dari If mengizinkan Anda untuk mengeksekusi sepotong kode jika ekspresi yang diberikan bersama dengan itu bernilai true.

Mari kita lihat contoh berikut untuk memahami cara kerjanya.

<?php
$age = 50;

if ($age > 30)
{
  echo "Your age is greater than 30!";
}
?>

Contoh di atas akan menampilkan usia Anda lebih dari 30! pesan sejak ekspresi bernilai true. Bahkan, jika Anda ingin menjalankan hanya satu pernyataan, contoh di atas dapat ditulis ulang seperti yang ditunjukkan dalam cuplikan berikut tanpa tanda kurung.

<?php
$age = 50;

if ($age > 30)
  echo "Your age is greater than 30!";
?>

Di sisi lain, jika Anda memiliki lebih dari satu pernyataan untuk mengeksekusi, Anda harus menggunakan kurung, seperti yang ditunjukkan dalam potongan berikut.

<?php
if (is_array($user))
{
  $user_id = isset($user['user_id']) ? $user['user_id'] : '';
  $username = isset($user['username']) ? $user['username'] : '';
  // and more statements...
}
?>

Lain

Di bagian sebelumnya, kita membahas if construct yang mengizinkan Anda untuk mengeksekusi sepotong kode jika ekspresi bernilai true. Di sisi lain, jika ekspresi bernilai false, itu tidak akan melakukan apa-apa. Lebih sering daripada tidak, Anda juga ingin menjalankan cuplikan kode yang berbeda jika ekspresi bernilai false. Di situlah pernyataan elsemuncul.

Anda selalu menggunakan pernyataan else dalam hubungan dengan pernyataan if . Pada dasarnya, Anda dapat mendefinisikannya seperti yang ditunjukkan pada pseudocode berikut.

if (expression)
{
  // code is executed if the expression evaluates to TRUE
}
else
{
  // code is executed if the expression evaluates to FALSE
}

Mari kita revisi contoh sebelumnya untuk memahami cara kerjanya.

<?php
$age = 50;

if ($age < 30)
{
  echo "Your age is less than 30!";
}
else
{
  echo "Your age is greater than or equal 30!";
}
?>

Jadi, ketika Anda memiliki dua pilihan, dan salah satunya harus dieksekusi, Anda dapat menggunakan if-else construct.

Else If

Kita bisa menganggap pernyataan elseif sebagai perpanjangan dari if-else construct. Jika Anda memiliki lebih dari dua pilihan untuk dipilih, Anda dapat menggunakan pernyataan elseif.

Mari kita pelajari struktur dasar pernyataan elseif, seperti yang ditunjukkan pada pseudocode berikut.

if (expression1)
{
  // code is executed if the expression1 evaluates to TRUE
}
elseif (expression2)
{
  // code is executed if the expression2 evaluates to TRUE
}
elseif (expression3)
{
  // code is executed if the expression3 evaluates to TRUE
}
else
{
  // code is executed if the expression1, expression2 and expression3 evaluates to FALSE, a default choice
}

Sekali lagi, mari kita coba memahaminya menggunakan contoh pada kasus.

<?php
$age = 50;

if ($age < 30)
{
  echo "Your age is less than 30!";
}
elseif ($age > 30 && $age < 40)
{
  echo "Your age is between 30 and 40!";
}
elseif ($age > 40 && $age < 50)
{
  echo "Your age is between 40 and 50!";
}
else
{
  echo "Your age is greater than 50!";
}
?>

Seperti yang dapat Anda lihat dalam contoh di atas, kita memiliki beberapa kondisi, jadi kita telah menggunakan serangkaian pernyataan elseifJika dalam semua kondisi yang bernilai false, maka eksekusi pada kode yang disediakan di pernyataan else terakhir.

Switch

Pernyataan switch agak mirip dengan pernyataan elseif yang mana kita baru saja membahas di bagian sebelumnya. Satu-satunya perbedaan adalah ekspresi yang sedang diperiksa.

Dalam hal pernyataan elseif Anda memiliki serangkaian kondisi yang berbeda, dan tindakan yang sesuai akan dijalankan berdasarkan suatu kondisi. Di sisi lain, jika Anda ingin membandingkan variabel dengan nilai yang berbeda, Anda dapat menggunakan pernyataan switch.

Seperti biasa, contoh adalah cara terbaik untuk memahami pernyataan switch.

<?php
$favourite_site = 'Code';

switch ($favourite_site) {
  case 'Business':
    echo "My favourite site is business.tutsplus.com!";
    break;
  case 'Code':
    echo "My favourite site is code.tutsplus.com!";
    break;
  case 'Web Design':
    echo "My favourite site is webdesign.tutsplus.com!";
    break;
  case 'Music':
    echo "My favourite site is music.tutsplus.com!";
    break;
  case 'Photography':
    echo "My favourite site is photography.tutsplus.com!";
    break;
  default:
    echo "I like everything at tutsplus.com!";
}
?>

Seperti yang Anda lihat pada contoh di atas, kita ingin memeriksa nilai variabel $favourite_site dan berdasarkan pada nilai variabel $favourite_site kita ingin cetak pesan.

Untuk setiap nilai yang ingin Anda periksa dengan variabel $favourite_site, Anda harus mendefinisikan case block. Jika nilainya dicocokkan dengan sebuah case, kode yang terkait dengan case block tersebut akan dieksekusi. Setelah itu, Anda perlu menggunakan pernyataan break untuk mengakhiri eksekusi kode. Jika Anda tidak menggunakan pernyataan break, eksekusi skrip akan dilanjutkan hingga blok terakhir di dalam pernyataan switch.

Terakhir, jika Anda ingin mengeksekusi potongan kode yang jika nilai variabel tidak cocok dengan kasus apa pun, Anda dapat mendefinisikannya di bawah default block. Tentu saja, itu tidak wajib — itu hanya cara untuk menyediakan kasus default.

Jadi itulah kisah struktur kontrol bersyarat. Kita akan membahas loop di PHP di bagian selanjutnya.

Loop

Loop di PHP berguna ketika Anda ingin mengeksekusi sepotong kode berulang kali hingga suatu kondisi bernilai false. Jadi kode dieksekusi berulang kali selama kondisi bernilai true, dan segera setelah kondisi bernilai false, skrip terus mengeksekusi kode setelah loop.

Flowchart berikut menjelaskan cara kerja loop di PHP.

Seperti yang Anda lihat pada screenshot di atas, sebuah loop berisi suatu kondisi. Jika kondisi bernilai true, kode kondisional dijalankan. Setelah eksekusi kode kondisional, kontrol kembali ke kondisi loop, dan ini berlanjut hingga kondisi bernilai false.

Di bagian ini, kita akan membahas berbagai jenis loop yang didukung di PHP.

While Loop

While loop digunakan ketika Anda ingin mengeksekusi sepotong kode berulang kali sampai kondisi while bernilai false.

Anda dapat mendefinisikannya seperti yang ditunjukkan pada pseudocode berikut.

while (expression)
{
  // code to execute as long as expression evaluates to TRUE
}

Mari kita lihat contoh kasus untuk memahami bagaimana while loop bekerja di PHP.

<?php  
$max = 0;  
echo $i = 0;
echo ",";
echo $j = 1;  
echo ",";
$result=0;

while ($max < 10 )  
{  
    $result = $i + $j;  

    $i = $j;  
    $j = $result;  

    $max = $max + 1;  
    echo $result;
    echo ",";
}
?>

Jika Anda terbiasa dengan seri Fibonacci, Anda mungkin mengenali apa yang dilakukan oleh program di atas — ia mengeluarkan seri Fibonacci untuk sepuluh angka pertama. While loop umumnya digunakan ketika Anda tidak tahu jumlah iterasi yang akan terjadi dalam satu loop.

Do-While Loop

Do-while loop sangat mirip dengan while loop, dengan satu-satunya perbedaan adalah bahwa kondisi while diperiksa pada akhir iterasi pertama. Dengan demikian, kita dapat menjamin bahwa kode loop dijalankan setidaknya satu kali, terlepas dari hasil ekspresi while.

Mari kita lihat sintaks dari do-while loop.

do
{
  // code to execute
} while (expression);

Mari kita lalui ke contoh kasus untuk memahami kemungkinan penggunaan kasus di mana Anda dapat menggunakan do-while loop.

<?php
$handle = fopen("file.txt", "r");
if ($handle)
{
    do
    {
        $line = fgets($handle);

        // process the line content

    } while($line !== false);
}
fclose($handle);
?>

Pada contoh di atas, kita mencoba membaca file baris demi baris. Pertama, kita telah membuka file untuk dibaca. Dalam kasus kita, kita tidak yakin apakah file tersebut mengandung konten. Jadi, kita perlu menjalankan fungsi fgets setidaknya sekali untuk memeriksa apakah suatu file tersebut berisi konten. Jadi kita bisa menggunakan do-while loop disini. do-while mengevaluasi kondisi setelah iterasi pertama loop.

For Loop

Secara umum, for loop digunakan untuk mengeksekusi sepotong kode untuk jumlah waktu tertentu. Dengan kata lain, jika Anda sudah tahu berapa kali Anda ingin mengeksekusi blok kode, itu adalah forloop yang merupakan pilihan terbaik.

Mari kita lihat sintaks for loop.

for (expr1; expr2; expr3)
{
  // code to execute
}

Ekspresi expr1 digunakan untuk menginisialisasi variabel, dan itu selalu dijalankan. Ekspresi expr2 juga dieksekusi di awal loop, dan jika bernilai true, kode loop dieksekusi. Setelah eksekusi kode loop expr3 dieksekusi. Secara umum, expr3digunakan untuk mengubah nilai suatu variabel yang digunakan di ekspresi expr2.

Mari kita lihat contoh berikut untuk melihat cara kerjanya.

<?php
for ($i=1; $i<=10; ++$i)
{
  echo sprintf("The square of %d is %d.</br>", $i, $i*$i);
}
?>

Program di atas menampilkan kuadrat dari sepuluh angka pertama. Ini menginisialisasi $i ke 1, berulang selama $i kurang dari atau sama dengan 10, dan menambahkan 1 ke $i pada setiap iterasi.

For Each

Foreach loop digunakan untuk mengalihkan variabel array. Jika Anda memiliki variabel array, dan Anda ingin melewati setiap elemen array itu, foreach loop adalah pilihan terbaik.

Mari kita lihat beberapa contoh.

<?php
$fruits = array('apple', 'banana', 'orange', 'grapes');
foreach ($fruits as $fruit)
{
  echo $fruit;
  echo "<br/>";
}

$employee = array('name' => 'John Smith', 'age' => 30, 'profession' => 'Software Engineer');
foreach ($employee as $key => $value)
{
  echo sprintf("%s: %s</br>", $key, $value);
  echo "<br/>";
}
?>

Jika Anda ingin mengakses nilai array, Anda bisa menggunakan versi pertama foreach loop seperti yang ditunjukkan pada contoh di atas. Di sisi lain, jika Anda ingin mengakses kunci dan nilai, Anda dapat melakukannya seperti yang ditunjukkan pada contoh $employee di atas.

Kesimpulan

Pada artikel ini, kita membahas berbagai struktur kontrol dan loop di PHP. Mereka adalah bagian penting dari PHP — atau bahasa pemrograman apa pun.

Saya harap Anda menikmati artikel ini, dan jika Anda memiliki pertanyaan, jangan ragu untuk bertanya menggunakan umpan di bawah ini!

Apa itu preg_match di PHP?

Fungsi preg_match() digunakan untuk dapat mengembalikan apakah kecocokan ditemukan dalam string.

Apa kegunaan regex?

Regex adalah singkatan dari Regular Expresion. Regex merupakan sebuah teks (string) yang mendefinisikan sebuah pola pencarian sehingga dapat membantu kita untuk melakukan matching (pencocokan), locate (pencarian), dan manipulasi teks.

Apa itu fungsi dalam konteks pemrograman PHP?

Fungsi (atau Function) di bahasa pemograman adalah kode program yang dirancang untuk menyelesaikan sebuah tugas tertentu, dan merupakan bagian dari program utama. Kita dapat membuat fungsi sendiri, atau menggunakan fungsi yang dibuat oleh programmer lain.

Bisakah echo di PHP menerima lebih dari 1 parameter?

Fungsi print() hanya boleh diberikan satu parameter saja, sedangkan echo() boleh lebih dari satu.

Apa fungsi return pada PHP?

Apa fungsi RETURN pada Bahasa PHP? - Quora. lebih tepatnya Statemen return ini sering digunakan ketika membuat fungsi pada pemrograman prosedural atau method pada pemrograman berorientasi objek. Ketika digunakan, maka eksekusi fungsi berhenti dan nilai dikembalikan (return) ke pemanggil fungsi.

Bagaimana cara yang benar untuk membuat fungsi di PHP?

Membuat fungsi pada PHP dapat dilakukan dengan mudah, yaitu (1) menuliskan keyword function  (2) kemudian diikuti dengan nama fungsi (3) diikuti dengan tanda kurung ()  sebagai tempat argumen, (4) kemudian diikuti dengan kurung kurawa {} sebagi block statement yang akan dijalankan ketika fungsi dipanggil.