Di dunia nyata, sering kali kita harus membuat keputusan atas beberapa pilihan. Contoh :
- Jika uang tinggal sedikit, maka makan mie instan ( anak kos )
- Jika hari minggu, maka libur kerja
- Jika ada adzan, maka sholat
dan masih banyak lagi situasi-situasi yang mengharuskan kita untuk mengambil tindakan.
Di dalam dunia pemrograman, contoh kasus seperti di atas biasa disebut percabangan. Adapun percabangan mempunyai skema seperti pada gambar berikut.
alurnya bisa dijelaskan seperti berikut :
- saat ada kondisi tertentu terpenuhi, maka kita akan menjalankan suatu proses namun jika kondisi tidak terpenuhi maka kita akan menjalankan proses yang lain.
di pemrograman PHP, untuk menjalankan percabangan ada beberapa syntax antara lain if ... else .... ,dan switch...case.. mari kita pelajari satu per satu.
Contoh Kasus
Kita di sekolah pasti pernah di ajari untuk menghitung tahun kabisat kan ? hayo... ingat apa tidak ?
Tahun kabisat adalah tahun yang habis di bagi 4 dan sebagai tandanya pasti di bulan februari jumlahnya ada 29 hari. Bagaimana kalau kita coba buat algoritmanya dan implementasikan ke program PHP. Algoritmanya antara lain seperti berikut :
- Buat variabel $tahun dan isi dengan tahun yang akan dihitung dan $label yang akan diisi hasil dari perhitungan
- Cari sisa bagi $sisa_bagi = $tahun % 4; dengan asumsi bahwa tahun kabisat adalah tahun yang habis di bagi 4.
- Jika $sisa_bagi == 0 Maka $label = "Kabisat", Selain Itu $label = "Bukan Kabisat".
- Tampilkan $hasil ke layar
gimana ? mudah bukan ? sekarang kita implementasikan ke dalam program PHP.
If ... Else
Di pemrograman PHP, patern atau pola penggunaan If else adalah seperti berikut :
<?php
if ( kondisi ) { // periksa kondisi apakah bernilai true atau false
// kode yang di jalankan jika kondisi bernilai true
} else {
// kode yang dijalankan jika kondisi bernilai false
}
?>
Pada kode di atas, sudah saya sertakan penjelasannya, nah sekarang kita implementasikan algoritma menghitung kabisat menggunakan If Else seperti pada kode di atas.
<?php
$tahun = 2018; // tahun yang akan dihitung
$hasil = null; // variabel untuk menyimpan hasil perhitungan
$sisa_bagi = $tahun % 4; // menghitung sisa bagi dengan modulo
if ( $sisai_bagi == 0) { // periksa apakah habis dibagi 4
$hasil = "Kabisat"; // jika ya
} else {
$hasil = "Bukan Kabisat"; // jika tidak
}
echo $tahun . " " . $hasil; // tampilkan ke layar
?>
gimana ? gampang bukan ? sekarang coba buat dengan contoh kasus yang lain seperti Menghitung bilangan prima atau bukan.
Switch .. Case ...
Setelah kita mencoba implementasi If Else, sekarang kita coba gunakan Switch... Case. Syntax atau pola penggunaan Switch Case adalah sebagai berikut :
<?php
switch ( kondisi ) {
case pembanding_1:
// jalankan jika sama dengan pembanding_1
break;
case pembanding_2:
// jalankan jika sama dengan pembanding_2
break;
default:
// jalankan jika tidak ada yang sesuai
break;
}
?>
sekarang coba kita implementasikan contoh kasus bilangan kabisat tadi memakai Switch Case.
pada kode di atas, pembandingnya hanya 0 ( karena jika tahun % 4 === 0), dan jika sisa baginya selain 0 maka yang di jalankan adalah blok kode default. Terlihat lebih panjang kalau pakai Switch Case ya ? iya kalau percabangannya cuma 2 kondisi. Kalau percabangannya punya beberapa kondisi lebih baik kita pakai Switch Case daripada If Else karena kode lebih mudah dibaca sekaligus proses komputasi lebih cepat. Contoh Kasus :
"Kita minta dibelikan Handphone baru ke orang tua. Kita mintanya handphone IPhone. Tapi kalaupun tidak IPhone bolehlah Xiaomi atau Samsung. Selain itu kita tidak mau."
Bagaimana Algoritmanya ?
karena kode yang dijalankan antara case $permintaan, case "Samsung", dan case "Xiaomi" sama persis maka bisa di ringkas menjadi seperti berikut :
gimana ? lebih ringkas yang mana ?
sementara cukup sekian dulu, saya lanjut pada pembahasan perulangan pada tulisan saya selanjutnya.
Update :
Selanjutnya : PHP Perulangan / Looping => https://catatan-pemrograman.blogspot.com/2018/12/php-perulangan.html
<?php
$tahun = 2018;
$hasil = null;
$sisa_bagi = $tahun % 4;
switch ( $sisa_bagi ) {
case 0:
$hasil = "Kabisat";
break;
default:
$hasil = "Bukan Kabisat";
break;
}
echo $tahun . " " . $hasil;
?>
"Kita minta dibelikan Handphone baru ke orang tua. Kita mintanya handphone IPhone. Tapi kalaupun tidak IPhone bolehlah Xiaomi atau Samsung. Selain itu kita tidak mau."
Bagaimana Algoritmanya ?
- Buat variabel $permintaan yang berisi merk permintaan kita (IPhone), variabel $jawaban yang berisi jawaban kita atas barang yang dibelikan orang tua, dan variabel $pembelian yang berisi merk handphone yang dibelikan orang tua.
- Periksa Apakah $pembelian sesuai dengan $permintaan.
- Jika $pembelian == $permintaan Maka $jawaban = "Diterima"
- Selain itu, Jika $pembelian == "Samsung" Maka $jawaban = "Diterima"
- Selain itu, Jika $pembelian == "Xiaomi", Maka $jawaban = "Diterima"
- Selain itu Maka $jawaban = "Ditolak"
- Tampilkan $jawaban
sekarang kita coba pakai If Else dan Switch Case
- If Else :
<?php
$permintaan = "IPhone";
$pembelian = "Iphone";
$jawaban = null;
if ($pembelian == $permintaan) {
$jawaban = "Diterima";
} elseif ($pembelian == "Samsung") {
$jawaban = "Diterima";
} elseif ($pembelian == "Xiaomi") {
$jawaban = "Diterima";
} else {
$jawaban = "Ditolak";
}
echo $pembelian . " " . $jawaban ;
?>
- Switch Case :
<?php
$permintaan = "IPhone";
$pembelian = "Iphone";
$jawaban = null;
switch ( $pembelian ) {
case $permintaan:
$jawaban = "Diterima";
break;
case "Samsung":
$jawaban = "Diterima";
break;
case "Xiaomi":
$jawaban = "Diterima";
break;
default:
$jawaban = "Ditolak";
break;
}
echo $pembelian . " " . $jawaban ;
?>
<?php
$permintaan = "IPhone";
$pembelian = "Iphone";
$jawaban = null;
switch ( $pembelian ) {
case $permintaan:
case "Samsung":
case "Xiaomi":
$jawaban = "Diterima";
break;
default:
$jawaban = "Ditolak";
break;
}
echo $pembelian . " " . $jawaban ;
?>
sementara cukup sekian dulu, saya lanjut pada pembahasan perulangan pada tulisan saya selanjutnya.
Update :
Selanjutnya : PHP Perulangan / Looping => https://catatan-pemrograman.blogspot.com/2018/12/php-perulangan.html
0 comments:
Post a Comment