Langsung ke konten utama

PHP : Percabangan

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 : 
  1. Buat variabel $tahun dan isi dengan tahun yang akan dihitung dan $label yang akan diisi hasil dari perhitungan
  2. Cari sisa bagi $sisa_bagi = $tahun % 4; dengan asumsi bahwa tahun kabisat adalah tahun yang habis di bagi 4.
  3. Jika $sisa_bagi == 0 Maka $label = "Kabisat", Selain Itu $label = "Bukan Kabisat".
  4. 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. 
<?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;
?>
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 ?

  1. 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.
  2. Periksa Apakah $pembelian sesuai dengan $permintaan.
  3. Jika $pembelian == $permintaan Maka $jawaban = "Diterima"
  4. Selain itu, Jika $pembelian == "Samsung" Maka $jawaban = "Diterima"
  5. Selain itu, Jika $pembelian == "Xiaomi", Maka $jawaban = "Diterima"
  6. Selain itu Maka $jawaban = "Ditolak"
  7. 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 ;
?>
karena kode yang dijalankan antara case $permintaan, case "Samsung", dan case "Xiaomi" sama persis maka bisa di ringkas menjadi seperti berikut :
<?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 ;
?>
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

Komentar

  1. kelinci99
    Togel Online Terpercaya Dan Games Laiinnya Live Casino.
    HOT PROMO NEW MEMBER FREECHIPS 5ribu !!
    NEXT DEPOSIT 50ribu FREECHIPS 5RB !!
    Ada Bagi2 Freechips Untuk New Member + Bonus Depositnya Loh ,
    Yuk Daftarkan Sekarang Mumpung Ada Freechips Setiap Harinya
    segera daftar dan bermain ya selain Togel ad juga Games Online Betting lain nya ,
    yang bisa di mainkan dgn 1 userid saja .
    yukk daftar di www.kelinci99.casino

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Contoh Perhitungan Algoritma Perceptron

      Melanjutkan tulisan saya sebelumnya tentang algoritma perceptron,kali ini saya akan menulis tentang conto perhitungan manual algoritma perceptron. Untuk contoh kasusnya saya menggunakan data logika AND. Cekidot.... Algoritma      Data yang kita gunakan sebagai contoh adalah data logika AND sebagai berikut: x1 x2 target 0 0 0 0 1 0 1 0 0 1 1 1       tentukan bobot awal secara acak, saya pakai contoh w1 = 0,w2 =0, learning rate = 1, bias = 0,maksimal epoh = 10. Disini saya memakai fungsi aktivasi undak biner. Epoh ke 1 Data ke satu x = {0,0}, bobot w = {0,0},b=0,target = 0 y_in = (x1*w1)+(x2*w2)+b = (0*0)+(0*0)+0 = 0 y = sign(0) = 1 karena y != target maka hitung error dan update bobot  error = target - y = 0 - 1 = -1 w1_baru = w1_lama +(learning_rate*error*x1)                = 0 + (1*(-1)*0) = 0 w2_baru = w2_lama +(learning_rate*error*x2)                = 0+(1*(-1)*0) = 0

Contoh Perhitungan Algoritma Learning Vector Quantization

Melanjutkan tulisan saya tentang algoritma Learning Vector Quantization yang lalu, kali ini saya akan melanjutkan dengan contoh perhitungan manual. Berikut ini contoh data yang akan kita hitung. No X1 X2 X3 X4 target 1 0 1 1 0 0 2 0 0 1 1 1 3 1 1 1 1 0 4 1 0 0 1 1 pada contoh di atas, saya menggunakan 4 data sebagai data training beserta target yang bertujuan untuk mendapatkan bobot yang akan digunakan pada proses klasifikasi. Bobot awal adalah { 1, 1, 1, 0} dan { 1, 0, 1, 1} dengan learning rate 0,05 dengan fungsi pembelajaran = 0,1. Pelatihan Iterasi ke 1 1. Data ke 1 { 0, 1, 1, 0} dengan target 0, bobot = {{ 1, 1, 1, 0},{ 1, 0, 1, 1}}      - menghitung bobot untuk masing masing output :          kelas 0 = sqrt(((0-1)^2)+((1-1)^2)+((1-1)^2)+((0-0)^2)) = 1         kelas 1 = sqrt(((0-1)^2)+((1-0)^2)+((1-

Pemrograman Berorientasi Object - Overloading dan Overriding

       Function atau method overloading dan override adalah fitur yang sangat mendasar dan berguna dari bahasa OOP manapun. Dalam tutorial ini kita akan membahas implementasi metode overloading dan override di php. Di sini pertama kita akan membahas dasar-dasar overloading dan override. Setelah eksplorasi dasar kita akan menerapkan overloading dan override di php. Sebelum melangkah lebih jauh, saya mengasumsikan bahwa Anda memiliki pengetahuan dasar tentang class dan pewarisan di php. Anda juga memiliki pemahaman tentang magic method di php. Magic method karena overloading di php bisa di implmentasikan dengan menggunakan magic method. Overriding        Arti dasar dari overriding di OOP sama dengan arti kata sebenarnya. Dalam arti kata sebenarnya dari overriding adalah menggantikan perilaku orang tua yang sama pada anak. Ini sama dengan override method di OOP. Dalam arti OOP, override adalah mengganti method class induk di class anak. Atau dengan method kata kunci sederhana yang me