Penyata Bersyarat - Semua yang Anda Harus Tahu

Conditional statement - Everything You Need to Know

Pengenalan

Hai, kembali lagi dalam Python dalam Melayu! Hari ini tajuk yang kita akan bincangkan adalah tajuk yang seringkali ada dalam asas pengaturcaraan iaitu, penyata if-else.

Apa itu penyata bersyarat atau juga dikenali sebagai penyata if-else? 🤔

Penyata bersyarat adalah sebuah metod penulisan pengaturcaraan dimana pengaturcara dapat menetapkan syarat-syarat tertentu sebelum kod dapat dilaksanakan.

Bagi menerangkan secara analogi, cuba anda bayangkan anda pergi ke pasaraya. Anda mahu membeli ikan untuk makan malam. Tetapi ikan yang anda inginkan mempunyai ciri-ciri tertentu seperti, tak terlalu besar, tak terlalu kecil, harga pada antara RM10 dan RM20, dan bukan daripada keluarga ikan tertentu.

Hello

Begitu juga dengan pengaturcaraan. Anda boleh menetapkan "syarat ciri-ciri ikan" yang anda inginkan menggunakan penyata bersyarat. Mari kita lihat bagaimana penyata bersyarat digunakan di dalam Python.

saiz_ikan = 20

if saiz_ikan == 20:
    print("Beli ikan ini.")

elif saiz_ikan < 20:
    print("Ikan terlalu kecil.")

else:
    print("Ikan terlalu besar.")

Komponen Penyata Bersyarat

👉 if

Untuk menggunakan penyata bersyarat, gunakan if pada awal kod.

Kemudian disusuli dengan syarat yang anda ingin kenakan, misalnya dalam kod diatas, syaratnya saiz ikan adalah 20. Kemudian di akhir penyata, letakkan kolon : atau titik dua bertindih.

if <syarat> <:>

Selesai menulis penyata, pergi ke barisan seterusnya untuk menulis perintah yang akan dilaksanakan jika syarat ditepati. Perintah tersebut haruslah diperenggankan (indented). Perenggan digunapakai bagi memberitahu bahawa kod ini akan dilaksanakan jika penyata tersebut menepati syarat.

if <syarat>:
      <buat sesuatu>

Dalam kod diatas, jika saiz ikan adalah 20, maka apa yang program akan lakukan adalah mengeluarkan output "Beli ikan ini." di dalam konsol.

👉 elif

Untuk syarat kedua dan seterusnya, gunakan elif . Sama juga seperti if, letakkan syarat dan perintah yang ingin dilaksanakan jika menepati syarat tersebut.

elif <syarat seterusnya>:
      <buat sesuatu>

Perintah dibawah penyata bersyarat hanya akan dilaksanakan jika dan hanya jika syarat tersebut adalah True. Jika syarat tersebut adalah False, program akan membaca syarat yang seterusnya dan menyemak syarat tersebut, sehinggalah program menemukan syarat yang True.

👉 else

Selain daripada if dan elif, anda juga boleh menggunakan else yang mana secara mudahnya difahami sebagai - selain daripada syarat diatas. else akan dilaksanakan jika syarat-syarat sebelumnya adalah False.

Daripada kod diatas, else merujuk kepada syarat selain daripada saiz ikan bersamaan dengan 20 dan saiz ikan lebih kecil daripada 20; maka makna else disini merujuk kepada saiz ikan lebih besar daripda 20.

Begitulah asas dalam menggunakan penyata bersyarat di dalam pengaturcaraan. Mari kita beralih kepada peringkat seterusnya iaitu - menggabungkan syarat dalam penyata bersyarat.

Menggabungkan syarat

Dengan menggunakan penyata bersyarat, anda boleh menggabungkan beberapa syarat sekaligus menggunakan kata kunci Operator Boolean or dan and.

1. Operator or

or dapat menggabungkan beberapa syarat dan mempunyai ciri dimana

Jika salah satu daripada syarat itu adalah True, maka keseluruhan penyata tersebut akan dikira sebagai True.

[True] or [True] --->  [True] - kod dijalankan
[True] or [False] --->  [True] - kod dijalankan
[False] or [True]  --->  [True] - kod dijalankan
[False] or [False] --->  [False] - kod tidak dijalankan

Contoh kod:

saiz_ikan = 20
warna_ikan = "merah"

if saiz_ikan == 20 or warna_ikan == "hijau":
    print("Beli ikan ini.")

elif saiz_ikan < 20:
    print("Ikan terlalu kecil.")

else:
    print("Ikan terlalu besar.")
Output:

Beli ikan ini.

saiz_ikan -> True✅ + warna_ikan -> False❌ ==> True✅

Dalam penyata syarat yang pertama, walaupun warna_ikan adalah False, tetapi disebakan saiz_ikan adalah True, makan keseluruhan penyata tersebut dianggap sebagai True, dan menghasilkan output Beli ikan ini..

2. Operator and

and dapat menggabungkan beberapa syarat dan mempunyai ciri dimana

Jika salah satu daripada syarat itu adalah False, maka keseluruhan penyata tersebut akan dikira sebagai False. Untuk mendapatkan True, kesemua syarat haruslah True barulah keseleruhan penyata dianggap sebagai True.


[True] and [True] --->  [True] - kod dijalankan
[True] and [False] --->  [False] - kod tidak dijalankan
[False] and [True] --->  [False] - kod tidak dijalankan
[False] and [False] --->  [False] - kod tidak dijalankan

Contoh kod:

saiz_ikan = 20
warna_ikan = "merah"

if saiz_ikan == 20 and warna_ikan == "hijau":
    print("Beli ikan ini.")

else:
    print("Ikan yang anda inginkan tiada dijual")
Output:

Ikan yang anda inginkan tiada dijual.

saiz_ikan -> True✅ + warna_ikan -> False❌ ==> False❌

Jika dilihat didalam kod, walaupun syarat saiz_ikan adalah True, tetapi disebakan warna_ikan adalah False, maka keseluruhan penyata dianggap sebagai False dan kod seterusnya tidak dilaksanakan. Kod yang dilaksanakan adalah daripada penyata else kerana penyata yang sebelumnya adalah False maka else akan mewakili True.

Penyata bersyarat tersarang (nested)

Penyata bersyarat tersarang secara mudahnya adalah penyata bersyarat di dalam penyata bersyarat. Mari lihat contoh untuk lebih memahami.

saiz_ikan = 20
warna_ikan = "merah"

if saiz_ikan == 20 or warna_ikan == "hijau":
    harga_ikan = int(input("Masukkan harga ikan:"))
    if harga_ikan < 15:
         print("Beli ikan ini.")

elif saiz_ikan < 20:
    print("Ikan terlalu kecil.")

else:
    print("Ikan terlalu besar.")

Dalam penyata pertama, saya telah menambah satu lagi penyata bersyarat di dalam penyata bersyarat pertama. Penyata itu mengatakan bahawa jika input harga_ikan yang pengguna masukkan adalah lebih rendah daripada 15, barulah output Beli ikan ini. akan terpapar dalam konsol.

Maka disini, adalah tidak mustahil untuk anda meletakkan syarat di dalam syarat untuk kegunaan tertentu. Anda juga boleh memasukkan penyata bersyarat di dalam elif dan else sepertimana if.

Penyata bersyarat tanpa syarat

Walaupun kelihatan aneh, tahukah anda, anda juga boleh menulis sebuah penyata bersyarat tanpa meletakkan syarat?

Mari lihat contoh dibawah.

num = 1

if num:
     print("Hello dunia!")
Output:

Hello dunia!

Apa yang berlaku disini? Mengapa program menganggap penyata ini True dan mengeluarkan output walapun tiada syarat yang diletakkan padanya?

Apakah maksud if num:? Penyata ini bermaksud;

Jika num tidak bersamaan dengan nilai sifar atau None, maka penyata bersyarat adalah True dan juga sebaliknya jika num bersamaan dengan sifar atau None, maka penyata dianggap sebagai False.

atau boleh juga difahami dengan,

if num: = if num != 0: = if num != None:

True --> num ada nilai

False --> num tiada nilai

Maka, if num: dalam hal ini adalah True kerana nilai di dalamnya bukan sifar, 0 atau None.

Mari lihat kes pemboleh ubah jika nilainya adalah sifar atau None.

num = None

if num:
    print("Tidak akan dioutput kerana False")

else:
    print("Akan dioutput")
Output:

Akan dioutput.

Melalui kod diatas, output Akan dioutput terhasil dalam konsol, kerana penyata pertama adalah False dan kod di dalamnya tidak akan dilaksanakan. Penyata pertama False kerana pemboleh ubah num tidak mempunyai nilai di dalamnya.

Cara penulisan kod ini selalunya dipakai bagi tujuan menyemak kandungan di dalam sebuah pemboleh ubah atau list sama ada mempunyai kandungan ataupun tidak. Dan jika anda kreatif, ada pelbagai lagi kegunaan yang boleh digunakan yang boleh dihasilkan daripadanya.

Ungkapan Bersyarat (Conditional Expression)

Dalam penyata bersyarat, terdapat juga satu lagi cara penulisan Python yang agak berbeza yang dipanggil sebagai Ungkapan Bersyarat.

Cara penulisan ini adalah dengan menulis kesemua komponen penyata bersyarat di dalama satu barisan (tanpa menggunakan perenggan seperti kebiasaan)

Contoh cara penulisan kod;

val = 2

print (val) if  val == 3  else print("val less than 3")  if val > 3 else print("val bigger than 3")

Tetapi harus diingat bahawa dalam Zen of Python (boleh cuba import this untuk lihat Zen yang lain), terdapat satu konsep yang dinamakan Redibility count, yang membawa makna kod haruslah mudah dibaca.

Klik untuk baca lebih lanjut: en.wikipedia.org/wiki/Zen_of_Python#:~:text...

Maka, jika kita ingin menulis ungkapan bersyarat, pendekkan ungkapan seperti berikut,

val = 2

print (val) if  val == 3  else print("less than 3")  

if val > 3:
   print("bigger than 3")

Kini, kod lebih teratur dan mudah difahami. 😘

Kesimpulan

Penyata bersyarat adalah sebuah konsep yang ada dalam mana-mana bahasa pengaturcaraan sekalipun. Dengan memanfaatkan ia, kod akan menjadi lebih dinamik dan mampu mencipta kegunaan tertentu mengikut kehendak pengguna.

Sampai disini sahaja Python dalam Melayu kali ini. Jika ada sebarang komen, pembetulan atau cadangan, boleh tulis di ruangan komen dibawah. Jika artikel ini bermanfaat, silakan berkongsi dimana-mana sahaja yang anda suka! 🥰

Sampai jumpa, adios! 👋