• Program Baru W3function

    Online Courses

    Premium tutorial pembelajaran tahap pembuatan website secara menyeluruh mulai dari desain grafis, desain web, pengembangan, publikasi website di internet sampai dengan tekhnik SEO

    Materi: Photoshop, HTML5, CSS3, jQuery, PHP, MySQL, Semantic template, Responsif desain

    Mendaftar
  • Paket Toko Online

    W3function Store ®

    Solusi paket website toko online murah dan berkualitas dengan fitur yang lengkap beserta tema design yang banyak dan menarik

    Selengkapnya
  • Desain dan Pengembangan Web

    Custom Project

    Kami mengerti jenis bisnis Anda berbeda dengan yang lain sehingga Anda membutuhkan website yang benar-benar mencitrakan bisnis anda. Apapun jenis website yang ingin Anda buat kami akan membuatnya bekerja untuk Anda

    Selengkapnya

Control Flow dalam PHP (if - else, if - elseif - else, switch - case, for, while, break, continue, return, exit)

28‘11
October

info64.jpg

Setelah lama tidak mengulas PHP, akhirnya pada artikel kali ini saya akan melakukan pembahasan mengenai Control flow pada PHP, Control flow dalam bahasa Indonesia dapat diartikan sebagai aliran kendali, tapi maksud sebenarnya dari control flow adalah bagaimana urutan eksekusi perintah di dalam program. Misalnya, dalam function berikut:

function testFlow(){
    int a = 10;
    echo(a);
}

Pada fungsi diatas, perintah pertama yang dijalankan adalah mengisi nilai 10 ke dalam variabel a. Perintah kedua yang dijalankan adalah menampilkan nilai yang tersimpan dalam variabel a (dalam hal ini 10) ke browser. Control flow di atas merupakan sebuah contoh sederhana. Beberapa control flow yang tersedia dalam PHP diantaranya adalah sebagai berikut:

  • Percabangan (branching)
  • Perulangan (looping)
  • Perpindahan (jumping)

Percabangan

Percabangan, atau sering disebut juga dengan istilah decision–making, memungkinkan aplikasi untuk memeriksa isi suatu variabel atau hasil perhitungan ekspresi dan mengambil tindakan yang sesuai. Ada dua jenis percabangan, dipilih berdasarkan kriteria pemeriksaan dan jumlah pilihan yang tersedia.

if – else

Konstruksi if – else dapat dijelaskan sebagai berikut :

if(condition){
	// statement 1 goes here
}else{
	// statemant 2 goes here
}
// statement 3 goes here

Aliran program pada contoh diatas :

  1. Condition akan diperiksa
  2. Bila bernilai true, statement 1 akan dijalankan
  3. Bila bernilai false, statement 2 akan dijalankan
  4. Statement 3 dijalankan

if – elseif – else

Untuk pilihan yang lebih dari dua, PHP menyediakan konstruksi if – elseif – else.

if(condition1){
	// statement 1
}elseif(condition2){
	// statement 2
}else{
	// statement 3
}
// statement 4

Ada 3 kemungkinan aliran program pada contoh diatas :

Apabila condition 1 bernilai true

  1. Statement 1 dijalankan
  2. Statement 4 dijalankan

Apabila condition 1 bernilai false, dan condition 2 bernilai true :

  1. Statement 2 dijalankan
  2. Statement 4 dijalankan

Apabila condition 1 dan condition 2 bernilai false :

  1. Statement 3 dijalankan
  2. Statement 4 dijalankan

Berikut ini adalah Contoh penggunaan if–else. Silahkan membuat dua file, control_flow.html dan condition.php, control_flow.html mempunyai tampilan sebagai berikut :

screenshoot

condition.php berisi listing kode sebagai berikut :

<?
$kelabu = "#303030";
$putih = "#FFFFFF";
if($kelamin1 == "Pria"){
    $background1 = $kelabu;
}else{
	$background1 = $putih;
}
if($kelamin2 == "Pria"){
	$background2 = $kelabu;
}else{
$background2 = $putih;
}
if($kelamin3 == "Pria"){
    $background3 = $kelabu;
}else{
    $background3 = $putih;
}
if($kelamin4 == "Pria"){
    $background4 = $kelabu;
}else{
    $background4 = $putih;
}
$output = "
<table border=1>
    <tr>
        <td background=$background1>$nama1</td>
    </tr>
    <tr>
        <td background=$background2>$nama2</td>
    </tr>
    <tr>
        <td background=$background3>$nama3</td>
    </tr>
    <tr>
        <td background=$background4>$nama4</td>
    </tr>
</table>
";
echo($output);
?>

switch – case

konstruksi untuk modul switch–case dapat dilihat pada kode sebagai berikut :

switch(a){
    case 1;
	    // statement 1 goes here
    break;
    case 2;
    	// statement 2 goes here
    break;
    case 3;
    	// statement 3 goes here
    break;
    default;
    	// statement 4 goes here

    break;
}
// statement 5 goes here

Aliran program dari kode switch – case diatas adalah sebagai berikut:

  1. Variabel a diperiksa
  2. Statement dieksekusi
    • Apabila a == 1, statement 1 dijalankan
    • Apabila a == 2, statement 2 dijalankan
    • Apabila a == 3, statement 3 dijalankan
    • Apabila a tidak memenuhi 2a – 2c, statement 4 dijalankan
  3. Statement 5 dijalankan

Keyword break memegang peranan penting di sini. Fungsinya adalah mencegah fall–through, bandingkan dengan program berikut (break di case ke 1 dihilangkan)

switch(a){
    case 1;
        // statement 1 goes here
    case 2;
        // statement 2 goes here
    break;
    case 3;
        // statement 3 goes here
    break;
    default;
        // statement 4 goes here
    break;
}

Aliran program untuk script di atas adalah sebagai berikut

  1. variabel a diperiksa
  2. Selanjutanya PHP akan mengeksekusi case 1 dan 2, karena pada case 1 break di hilangkan
    • Apabila a == 1, statement 1 dijalankan, kemudian menjalankan statement 2.
    • Apabila a == 2, statement 2 dijalankan
    • Apabila a == 3, statement 3 dijalankan
    • Apabila a tidak memenuhi 2a – 2c, statement 4 dijalankan
  3. Statement 5 dijalankan

Untuk melihat contoh penggunaan switch – case, tambahkan tampilan pada control_flow.htm menjadi seperti gambar di bawah.

<?
switch($bulan){
    case 1 :
    case 3 :
    case 5 :
    case 7 :
    case 8 :
    case 10 :
    case 12 :
        $hari = 31;
        break;
    case 4 :
    case 6 :
    case 8 :
    case 11 :
        $hari = 30;
        break;
    case 2 :
        if(($tahun%4) == 0){
            $hari = 29;
        }else{
            $hari = 28;
        }
}
echo("<h2> Jumlah hari pada bulan $bulan tahun $tahun = $hari hari</h2>");
?>

Perulangan

for

Looping dengan for disebut juga determinate loop, artinya looping yang jumlah pengulangannya (iterasi) telah ditentukan di awal looping. Ada beberapa bagian penting dari for loop:

  • Initialization expression
    Initialization Expression dijalankan satu kali, pada saat looping dimulai. Biasanya bagian ini digunakan untuk menginisialisasi counter(penghitung).
  • Stop condition
    Stop condition diperiksa nilainya sebelum setiap iterasi dieksekusi. Apabila condition bernilai false, iterasi dihentikan.
  • Iterative expression
    Iterative expression dilakukan setelah iterasi dieksekusi. Bagian ini biasanya digunakan untuk menambah nilai counter.
  • Loop body
    Loop body dieksekusi sekali setiap iterasi, merupakan perintah yang ingin kita lakukan berulang–ulang.

Untuk melihat contoh penggunaan for, tambahkan tampilan pada control_flow.htm menjadi seperti gambar di bawah.

pada condition.php buat script berikut

<?
$sum = 0;
for($i=0; $i<strlen($words); $i++){
    if(substr($words, $i, 1) == $word){
	    $sum ++;
    }
}
echo $sum;
?>

while

while loop juga dikenal dengan istilah indeterminate loop, artinya jumlah loopingnya tidak ditentukan pada awal looping. while loop lebih sederhana daripada for loop, karena cuma memiliki dua bagian:

  • Stop Condition
    Stop condition diperiksa sebelum tiap iterasi dilaksanakan. Selama stop condition bernilai true, perintah dalam loop body akan dilakukan berulang–ulang. Iterasi akan dihentikan apabila stop condition bernilai false.
  • Loop body
    Sama seperti pada for loop, loop body dilaksanakan satu kali setiap iterasi. Loop di atas akan berjalan terus tanpa henti, karena tidak ada perintah yang mengubah nilai stop condition.
do–while loop merupakan modifikasi dari while loop. Bentuknya dapat dilihat pada sampel kode berikut:
do{
// some statement
}
while (a == true)

untuk melihat contoh penggunaan while, gunakan form yang sama seperti contoh untuk for pada condition.php buat script berikut

<?
$sum = 0;
$i = 0;
while($i<strlen($word)){
    if(substr($word, $i, 1) == $words){
        $sum ++;
        $i++;
    }
}
echo $sum;
?>

Perpindahan

break

Break digunakan dalam looping untuk menghentikan suatu loop. Untuk lebih jelasnya, perhatikan kode berikut :

<?
// melakukan break pada $i == 2
for($i = 0; $1<5; $i++){
    if($i == 2){
        break;
    }
    echo("Nilai i : $i <br>");
}
echo("Loop Selesai");
?>

kode tersebut diatas akan melakukan break pada saat i bernilai 2, sehingga akan menghasilkan output sebagai berikut :

Nilai i : 0
Nilai i : 1
Loop Selesai

continue

continue berfungsi untuk melewati satu iterasi/putaran dalam rangkaian loop. Untuk lebih jelasnya, kode di atas akan kita modifikasi.

<?
// melakukan continue pada $i == 2
for($i = 0; $1<5; $i++){
    if($i == 2){
        continue;
    }
    echo("Nilai i : $i <br>");
}
echo("Loop Selesai");
?>

kode tersebut akan melakukan break pada saat i bernilai 2, sehingga akan menghasilkan output sebagai berikut :

Nilai i : 0
Nilai i : 1
Nilai i : 3
Nilai i : 4
Loop Selesai

return

perintah return berfungsi untuk memerintahkan kode untuk keluar dari fungsi. Fungsi akan kita pelajari dengan lebih mendalam pada bagian selanjutnya. Untuk sementara, fungsi cuma akan digunakan untuk menjelaskan return. Perhatikan kode di bawah :

<?
function testReturn(){
    for($i = 0; $1<5; $i++){
    // melakukan return pada $i == 2
        if($i == 2){
        return;
        }
    echo("Nilai i : $i <br>");
    }
echo("Loop Selesai");
}
// jalankan function
testReturn();
echo("Function selesai");
?>

output dari script diatas akan menghasilkan :

Nilai i : 0
Nilai i : 0
Function Selesai

Perhatikan bahwa Loop Selesai tidak dijalankan. Ini menunjukkan bahwa setelah return dieksekusi, program langsung keluar dari function dan mengeksekusi perintah setelah function, yaitu

echo("Function Selesai");

exit

exit digunakan untuk menghentikan keseluruhan script php. Untuk lebih jelasnya, kita akan modifikasi kode di atas menjadi seperti berikut :

<?
function testExit(){
    for($i = 0; $1<5; $i++){
    // melakukan return pada $i == 2
        if($i == 2){
        exit;
        }
    echo("Nilai i : $i <br>");
    }
echo("Loop Selesai");
}
// jalankan function
testExit();
echo("Function selesai");
?>

outputnya adalah :

Nilai i : 0
Nilai i : 0
Function Selesai

Perhatikan bahwa baris echo("Function selesai"); Tidak dijalankan.

Untuk melihat contoh penggunaan break, continue, return, dan exit; tambahkan tampilan pada control_flow.html menjadi seperti gambar di bawah.

Tambahkan baris kode berikut pada condition.php

<?
/*
variabel yang dibutuhkan
$mark –> tempat dilakukan perpindahan
$perintah –> perintah pindah : continue, break, return, exit
*/
function execute($tanda, $perintah){
    for($i=0; $i<11; $i++){
        if($i == $tanda){
            if($perintah == "continue"){
            continue;
            }elseif($perintah == "break"){
            break;
            }elseif($perintah == "return"){
                return;
            }elseif($perintah == "exit"){
            exit;
            }
        }
    echo($i."<br>");
    }
echo("Looping Selesai<br>");
}
execute($tanda, $perintah);
echo("Function execute selesai<br>");
?>

Anda juga mungkin suka dengan artikel ini :

  1. Penggunaan Memcached dengan PHP
  2. Pengantar dan Dasar PHP
  3. Variable dan Tipe Data pada PHP
  4. Penggunaan Function pada PHP (PHP Function)
  5. Penggunaan Array dalam PHP

Komentar

  • tajul (19 Jan 2014 01:11:40)

    di coba dulu yh,,, :)

  • Nurzaman (15 Dec 2013 01:34:40)

    Sangat bermanfaat , cuman kalo boleh minta Ebooknya,, Kalo bisa di tunggu di @mail saya ,, skian ,..

  • nimrot teffa (22 Sep 2013 01:58:27)

  • sairo (02 Sep 2013 01:11:07)

    Syukur Alhamdulillah Semoga Ilmu yang telah dibagi bagi menjadi berkah dan amal jariyah
    amin amin... thaxs mas ilmunya

  • medi (18 Jun 2013 09:32:52)

    phpnya lengkap, mantap , saya tunggu postingan berikutnya gan.

» Muat Komentar Sebelumnya (9 komentar) loading

Kode?

Telusuri dan Beritahu saya apabila ada komentar baru.

loading

Usulan Kontribusi dan Saran

Kami sangat terbuka dengan berbagai saran dan kontribusi positif dari Anda. Kami ingin membuat halaman blog di w3function.com ini terbuka untuk banyak penulis, sehingga kita bisa bersama-sama mendiskusikan banyak topik yang lebih luas dan lebih menarik lagi. Apabila Anda memiliki artikel yang ingin Anda kontribusikan untuk w3function.com mohon email kami.

Pemberitahuan Disclaimer © Copyright

Semua isi termasuk di dalamnya semua artikel dan gambar adalah hak cipta w3function.com, kecuali ada statement khusus yang di cantumkan (kontributor). Mohon tidak menyalin isi atau mempublikasikan kembali tanpa seizin w3function.com dan atau kontributor artikel lain

Semua sumber download dari w3function.com adalah untuk tujuan edukasi semata, bukan untuk tujuan komersial atau lainnya kecuali ada statement khusus yang di cantumkan.

Social Stuff