SESI 5 - PHP Beginner : Struktur Kendali

September 25, 2018 by

Control flow = alur di program ketika dibaca oleh interpreter PHP normalnya dari atas ke bawah dan dari kiri ke kanan. Bisa berubah jika ada pengulangan dan pengkondisian.

Pengulangan = membuat suatu blok program tanpa harus menulis ulang sciptnya, sintaks: for, while, do while, foreach (pengulangan yang spesifik untuk array)

Pengkondisian = if...else , if...elseif...else , ternary, switch (untuk meringkas if...else yang sangat banyak).

Pengulangan:
for ($i=0; $i<5; $i++){
echo "halo dunia! <br>";
}

$i =0;
while($i<5){ //selama kondisi bernilai true maka lakukan yang ada di dalam {...}
echo "halo dunia! <br>";
$i++;
}

$i=0;
do{
echo "halo dunia! <br>";
$i++;
}while($i<5);
pembacaan do while yaitu "lakukan hal ini {..} pertama kali kemudian mengecek kondisi apakah benar kondisi di dalam while jika ya maka kembali ke atas do"

Perbedaan do while dengan while yaitu ketika kondisi false pada do while, dia akan running 1 kali pada isi di dalam do{} kemudian berhenti sedangkan untuk while tidak akan melakukan hal yang sama seperti do while.

Contoh perulangan dalam HTML:
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script></script>
<style>
</style>
</head>
<body>
<table border="1" cellpadding="10" cellspacing="0">
<?php
for($i=1;$i<=3;$i++){
echo "<tr>";
for($j=1;$j<=5;$j++){
echo "<td>$i,$j</td>";
}
echo "</tr>";
}
?>
</table>
</body>
</html>

Gaya templating, memisahkan sesuatu yang menggunakan tag PHP dengan tag PHP tetapi begitu kita ingin menampilkan tag html jngan disimpan di dalam tag PHP (dikeluarkan), caranya:
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script></script>
<style>
</style>
</head>
<body>
<table border="1" cellpadding="10" cellspacing="0">
<?php for($i=1;$i<=3;$i++){?>
<tr>
<?php for($j=1;$j<=5;$j++){?>
<td><?php echo $i,$j; ?></td>
<?php } ?>
</tr>
<?php } ?>
</table>
</body>
</html>

Hal ini biar tidak membingungkan masalah bracket { .. } penutup dan pembuka pada templating maka di ganti dari tanda { menjadi tanda : dan pada akhir for diubah dari } menjadi endfor; dan bisa mengganti <?php echo dengan <?=
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script></script>
<style>
</style>
</head>
<body>
<table border="1" cellpadding="10" cellspacing="0">
<?php for($i=1;$i<=3;$i++):?>
<tr>
<?php for($j=1;$j<=5;$j++):?>
<td><?= $i,$j ?></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</table>
</body>
</html>

Pengkondisian/percabangan 
↳ Menentukan apa yang akan terjadi ketika membuat sebuah pernyataan. Bila pernyataan tersebut bernilai true apa yang terjadi, jika pernyataan tersebut bernilai false maka apa yang akan terjadi pada pengkondisian ini.
Contoh:
$x=10;
if($x<20){
echo "benar";
}else{
echo "salah";
}

$x=20;
if($x<20){
echo "benar";
}elseif($x==20){
echo "bingo!";
}else{
echo"salah";a
}

Cek di pada kondisi perulangan sebelumnya yaitu latihan 1. modifikasi warna pada baris yang genap pada tabel sebelumnya. Buat style CSS => .warna-baris {background-color:silver;}
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script></script>
<style>
.warna-baris{
background-color:silver;
}
</style>
</head>
<body>
<table border="1" cellpadding="10" cellspacing="0">
<?php for($i=1;$i<=3;$i++):?>
<?php if($i % 2==0) : ?>
<tr class="warna-baris">
<?php else : ?>
<tr>
<?php endif; ?>
<?php for($j=1;$j<=5;$j++):?>
<td><?= $i,$j ?></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>

</table>
</body>
</html>

: artinya sama dengan kurung kurawal buka
Untuk ternary dan switch buat saja sesuai dengan pemahaman dalam bahasa javascript. Sudah dibahas artikel mengenai hal ini dengan label javascript.

0 comments:

Post a Comment