# Conditionals (Pernyataan Kondisional)

## **Conditionals (Pernyataan Kondisional) dalam Python**

**Pernyataan kondisional** digunakan untuk mengontrol alur eksekusi program berdasarkan kondisi tertentu. Dengan menggunakan pernyataan ini, kita bisa mengeksekusi kode hanya jika kondisi tertentu terpenuhi.

#### **1. Struktur Dasar Pernyataan `if`, `elif`, dan `else`**

Python menggunakan **`if`**, **`elif`** (else if), dan **`else`** untuk membuat keputusan dalam program.

```python
if kondisi:
    # Blok kode yang dijalankan jika kondisi benar (True)
elif kondisi_lain:
    # Blok kode yang dijalankan jika kondisi elif benar
else:
    # Blok kode yang dijalankan jika semua kondisi sebelumnya salah
```

***

#### **2. Contoh Sederhana**

```python
x = 10

if x > 5:
    print("x lebih besar dari 5")
elif x == 5:
    print("x sama dengan 5")
else:
    print("x lebih kecil dari 5")
```

**Output:**

```
x lebih besar dari 5
```

***

#### **3. Menggunakan Input dari Pengguna**

Program berikut meminta pengguna memasukkan angka, kemudian menentukan apakah angka tersebut lebih besar, lebih kecil, atau sama dengan 5.

```python
x = int(input("Masukkan nilai x: "))

if x > 5:
    print("x lebih besar dari 5")
elif x == 5:
    print("x sama dengan 5")
else:
    print("x lebih kecil dari 5")
```

**Contoh Interaksi dengan Pengguna:**

```
Masukkan nilai x: 7
x lebih besar dari 5
```

***

#### **4. Menggunakan `if` Bersarang (Nested If)**

Kita bisa menyusun `if` di dalam `if` untuk membuat keputusan lebih kompleks.

```python
x = int(input("Masukkan nilai x: "))

if x > 0:
    print("x adalah bilangan positif")
    if x % 2 == 0:
        print("x juga bilangan genap")
    else:
        print("x adalah bilangan ganjil")
elif x == 0:
    print("x adalah nol")
else:
    print("x adalah bilangan negatif")
```

**Contoh Output:**

```
Masukkan nilai x: 8
x adalah bilangan positif
x juga bilangan genap
```

***

#### **5. Menggunakan Operator Logika dalam `if`**

Kita bisa menggabungkan beberapa kondisi menggunakan operator **`and`**, **`or`**, dan **`not`**.

```python
x = int(input("Masukkan nilai x: "))

if x > 0 and x % 2 == 0:
    print("x adalah bilangan positif dan genap")
elif x > 0 and x % 2 != 0:
    print("x adalah bilangan positif dan ganjil")
else:
    print("x bukan bilangan positif")
```

***

#### **6. Menggunakan Ternary Operator (`if` dalam satu baris)**

Kita bisa menulis pernyataan `if-else` dalam satu baris untuk kode yang lebih ringkas.

```python
x = int(input("Masukkan nilai x: "))
status = "Positif" if x > 0 else "Negatif atau Nol"
print(f"x adalah bilangan {status}")
```

***

Struktur **`if`**, **`elif`**, dan **`True`** dalam Python digunakan untuk percabangan (pengambilan keputusan) berdasarkan kondisi. Kondisi dalam percabangan ini biasanya berupa **ekspresi yang menghasilkan nilai boolean** (`True` atau `False`).

#### **Variabel yang Bisa Digunakan dalam `if`, `elif`**

BIsa menggunakan berbagai jenis variabel dalam `if`, `elif`, termasuk:

1. **Boolean (`bool`)**
   * Contoh:

     ```python
     is_active = True
     if is_active:
         print("Akun aktif")
     ```
2. **Angka (`int`, `float`)**
   * Angka dianggap **False** jika bernilai `0`, selain itu **True**.
   * Contoh:

     ```python
     nilai = 75
     if nilai >= 60:
         print("Lulus")
     elif nilai < 60:
         print("Tidak Lulus")
     ```
3. **String (`str`)**
   * String kosong (`""`) dianggap **False**, selain itu **True**.
   * Contoh:

     ```python
     nama = "Andi"
     if nama:
         print("Nama telah diisi")
     ```
4. **List, Tuple, Set, Dictionary (`list`, `tuple`, `set`, `dict`)**
   * Jika kosong, dianggap **False**.
   * Contoh:

     ```python
     data = []
     if data:
         print("List memiliki isi")
     else:
         print("List kosong")
     ```
5. **NoneType (`None`)**
   * `None` selalu dianggap **False**.
   * Contoh:

     ```python
     user = None
     if user is None:
         print("User belum login")
     ```

Semua tipe data di Python bisa digunakan dalam **`if`**, **`elif`**, selama hasilnya bisa dievaluasi menjadi **True** atau **False**.

#### **Kesimpulan**

* **`if`**, **`elif`**, dan **`else`** digunakan untuk membuat keputusan dalam program.
* Bisa digunakan dalam berbagai bentuk, termasuk nested `if`, kombinasi dengan operator logika, dan ternary operator.
* Penggunaan `input()` memungkinkan interaksi dengan pengguna untuk membuat program lebih dinamis.
