Tutorial PHP Dasar

Percabangan Dengan If Else

Materi ini memiliki 1 buah lampiran. Namun Anda tidak dapat mengakses lampiran karena belum terdaftar di kursus ini. Klik disini untuk mendaftar.

Selama ini kita menulis kode secara garis lurus. Artinya semua baris dari kode yang kita tulis, pasti akan dieksekusi oleh PHP. Sebagai contoh disini, mulai dari statement1 hingga statement4 akan dieksekusi oleh PHP.

Sekarang, dengan menggunakan percabangan, kita bisa membuat baris kode yang kemungkinan tidak dieksekusi oleh PHP. Sebagai contoh disini statement2 hanya dieksekusi apabila kondisi bernilai benar. Apabila ternyata kondisinya salah, maka PHP meloncat langsung ke statement3.

Ini adalah sintaks dari percabangan. Kita menggunakan kata kunci if, diikuti oleh ekspresi dalam tanda kurung. Ekspresi ini harus menghasilkan nilai bool. Apabila nilai bool adalah benar, maka PHP menjalankan statement pertama. Sedangkan apabila nilai bool adalah salah, maka PHP menjalankan statement kedua yang berada setelah kata kunci else.

Kita coba praktek ya. Pertama kita buat dahulu variable $condition, dengan nilai true. Kemudian kita tambahkan statement echo ‘Sebelum Percabangan’, diikuti oleh karakter baris baru. Ada beberapa cara untuk menuliskan karakter baris baru, di video sebelumnya kita sudah belajar menggunakan string “\n”. Namun di video ini kita menggunakan konstanta PHP_EOL atau PHP END OF LINE.

Selanjutnya kita buat kode percabangan, if($condition). Di dalamnya kita tulis “Benar”. Kemudian di luar percabangan kita tulis lagi “Setelah Percabangan”.

Kalau kita jalankan, maka kita mendapatkan hasil Sebelum Percabangan, Benar, dan Setelah Percabangan.

Nah, kalau nilai $condition kita ubah menjadi false. Maka kode “Benar” tidak pernah dijalankan. Jadi tidak semua kode dijalankan oleh PHP. Ada kode yang hanya dijalankan pada kondisi tertentu. Inilah yang dimaksud dengan percabangan.

Kalau misalnya pada saat kondisi benar, ada beberapa baris kode yang harus kita jalankan, maka cara menulisnya sedikit berbeda. Misalkan kita tambahkan echo ‘Benar Kedua’. Perhatikan bahwa walaupun kondisi salah, kode ‘Benar Kedua’ tetap dijalankan. Sedangkan kita ingin agar kode tersebut hanya berjalan pada saat kondisi benar.

Hal ini disebabkan karena secara default, kata kunci if hanya menerima satu baris kode. Jadi kode yang kedua ini dianggap berada di luar percabangan, sehingga selalu dijalankan baik pada kondisi benar maupun salah.

Untuk memperbaikinya, kita bisa menggunakan kurung kurawal setelah kondisi if. Semua kode yang berada di dalam kurung kurawal akan dianggap sebagai satu grup statement, yang akan dijalankan pada saat kondisi benar. Sekarang PHP tidak menjalankan kode ‘Benar’ dan ‘Benar Kedua’ pada saat kondisi salah. Dan menjalankan keduanya pada saat kondisi benar.

Apabila kita ingin menuliskan kode yang hanya dijalankan pada saat kondisi salah, maka kita bisa menggunakan kata kunci else. Sama seperti sebelumnya, apabila kita hanya ingin menulis satu baris kode, maka kita bisa langsung menulis kodenya setelah kata kunci else. Namun apabila kita ingin menulis beberapa baris kode, maka kita bisa membuat grup dengan menggunakan kurung kurawal. Ada baiknya walaupun kita hanya menulis satu baris kode namun kita tetap menggunakan kurung kurawal. Alasan pertama adalah agar kode kita kelihatan lebih rapi. Dan alasan kedua adalah kalau kita hendak menambahkan beberapa baris kode baru pada bagian else, maka kita tidak perlu repot membuat kurung kurawal lagi. Hal ini perlu diperhatikan, terutama bagi programmer pemula, karena kita sering kali lupa membuat grup statement menggunakan kurung kurawal, sehingga PHP menganggap kode kita berada di luar percabangan.

Pada video sebelumnya, kita telah belajar mengenai operator perbandingan dan logika. Kita bisa menggunakan operator ini sebagai kondisi percabangan. Sebagai contoh, kita ubah variable $condition menjadi $score, dengan nilai 5. Kemudian pada kondisi, kita periksa apakah nilai $score sama dengan 5.

Perhatikan bahwa untuk menggunakan operator perbandingan, kita menggunakan dua buah simbol sama dengan, atau lebih baik lagi kita menggunakan tiga buah simbol sama dengan. Bagi teman-teman yang baru mulai coding, sering kali melakukan kesalahan typo dengan menggunakan satu tanda sama dengan saja. Artinya sudah berbeda ya. Kalau kita menggunakan tanda satu buah sama dengan, artinya kita memasukkan nilai 5 ke dalam variable $score. Yang membuat repot adalah kesalahan typo seperti ini tidak memiliki pesan error, sehingga memerlukan waktu yang cukup lama untuk menyadari kesalahan tersebut. Lebih baik dari awal kita perhatikan agar menggunakan operator perbandingan yang benar.

Berhubung nilai $score sama dengan 5, maka pada saat dieksekusi kita mendapatkan tulisan Benar. Sedangkan kalau nilai perbandingannya kita ganti menjadi 9, maka kita mendapatkan tulisan Salah.

Nah, kalau kita ingin memeriksa apakah nilai $score berada diantara 3 hingga 8, maka kita bisa menggabungkan operator perbandingan dengan operator logika. Kondisinya kita ganti menjadi ($score > 3) && ($score < 8). Berhubung nilai $score saat ini adalah 5, maka kita mendapatkan hasil Benar. Kalau nilai $score kita ganti menjadi $2, maka kita mendapatkan nilai salah.

Perhatikan bahwa kalau nilai score kita ganti menjadi 3, maka kita mendapatkan nilai salah. Nilai yang benar berada diantara 3 hingga 8, tapi tidak termasuk nilai 3 dan 8 itu sendiri. Kalau kita ingin agar termasuk nilai 3 dan 8, maka kita mesti mengganti operator perbandingannya menjadi lebih besar sama dengan dan lebih kecil sama dengan.

if(($score >= 3) && ($score <= 8))

Khusus untuk bahasa pemograman PHP, ada sintaks alternatif untuk kata kunci if. Kita copy paste dahulu kodenya ya, jadi kita akan bisa membandingkan cara menggunakan if yang sekarang dengan yang alternatif.

Pada sintaks alternatif, kurung kurawal pembuka bisa kita ganti menjadi tanda titik dua. Jadi pada akhir baris if, harus ada tanda titik dua. Semua kode setelahnya dianggap sebagai kode yang dijalankan apabila kondisi besar. Kode tidak perlu diakhiri dengan kurung kurawal, melainkan diakhiri pada saat PHP menemukan kata kunci berikutnya, yaitu else.

Nah, untuk kata kunci else, cara penggunaannya juga sama ya. Kurung kurawal pembuka kita ganti menjadi tanda titik dua dan tidak perlu menggunakan kurung kurawal penutup. Sebagai bagian akhir dari if, kita menggunakan kata kunci endif. Jangan lupa titik koma.

Sekarang kita memiliki 2 buah kode if. Yang kalau dijalankan memberikan hasil yang sama. Bagi teman-teman yang sudah pernah belajar bahasa pemograman lain, biasanya lebih nyaman menggunakan tanda kurung kurawal. Karena sudah terbiasa begitu dari bahasa lain. Dan mungkin teman-teman juga tetap ingin membiasakan diri dengan kurung kurawal, dengan tujuan apabila suatu saat harus pindah ke bahasa pemograman lain, lebih mudah untuk menyesuaikan diri.

Namun bagi teman-teman yang menggunakan PHP sebagai server side scripting, harus menuliskan kode PHP yang bercampur dengan kode HTML, sehingga kodenya menjadi panjang. Apabila dalam kode tersebut menggunakan perulangan dan percabangan bersarang, maka teman-teman akan kesulitan pada saat menggunakan kurung kurawal, karena kurung kurawal penutup tidak menjelaskan simbol ini adalah penutup dari kata kunci yang mana. Dengan menggunakan sintaks alternatif, kata kunci endif secara semantik menjelaskan bahwa ini adalah akhir dari kata kunci if.

Kedua sintaks ini adalah benar, dan teman-teman boleh memilih lebih nyaman untuk menggunakan sintaks yang mana.

Kita masuk ke soal latihan. Barusan kita sudah membahas mengenai solusi dari soal latihan pertama ini ya. Kalau kita ingin agar script menulis kata benar apabila nilai $score berada di tengah, yaitu diantara 3 dan 8, maka kita menggabungkan operator perbandingan dengan operator logika and.

Sekarang kita masuk ke soal latihan kedua. Kita ingin agar script menuliskan kata benar, apabila nilai $score berada di tepi kiri atau tepi kanan. Yaitu pada saat nilainya lebih kecil dari 3 atau lebih besar dari 8. Pause terlebih dahulu video ini dan coba kerjakan di komputer masing-masing. Nantinya kita akan kembali untuk membahas solusi dari soal latihan ini.

Kita akan mengerjakan soal latihan. Namun sebelumnya kita ubah dahulu semua kode menjadi komentar.

Pertama kita tentukan dahulu nilai dari variable $score yaitu 0. Selanjutnya untuk melakukan percabangan, kita gunakan kata kunci if diikuti tanda kurung. Nah, yang menjadi persoalan dalam latihan ini adalah kondisi yang harus kita tulis di dalam if. Namun kalau teman-teman memperhatikan kalimat pada soal, sebenarnya gampang ya. Kita hanya menerjemahkan kalimat soal ke menjadi kode PHP.

Kita buat tanda kurung terlebih dahulu. Apabila nilai $score lebih kecil dari 3. Kodenya menjadi $score < 3. Tutup kurung. Kemudian ada kata atau. Kita gunakan simbol garis vertikal dua buah. Diikuti tanda kurung lagi. Perbandingan kedua adalah nilai score lebih besar dari delapan. Kemudian apa yang terjadi apabila kondisi benar? Kita tinggal echo kata “Benar” dan PHP_EOL.

Kita coba tes kode kita. Apabila nilai $score adalah 0, maka script menulis kata benar. Kalau 2, tetap benar. Nilai 3 tidak menulis apa-apa, karena kondisinya sudah salah. Begitu juga 4 hingga 8. Begitu kita masuk nilai 9 dan seterusnya, script kembali menulis kata Benar. Kita sudah berhasil mengerjakan soal latihan.

2 Jam 41 Menit

Dengan menggunakan fasilitas tanya jawab, maka Anda bisa bertanya dan akan dijawab langsung oleh instruktur kursus.

Anda belum terdaftar pada kursus ini sehingga tidak bisa mengajukan pertanyaan.