# Operasi logika

Python menyediakan operator logika untuk menggabungkan dan memanipulasi nilai kebenaran (boolean). Operator ini digunakan dalam berbagai kondisi untuk mengevaluasi ekspresi berdasarkan nilai **True** atau **False**.

#### **1. Operator Logika AND (`and`)**

Operator `and` mengembalikan **True** jika **kedua ekspresi** yang dibandingkan bernilai **True**. Jika salah satu atau kedua ekspresi bernilai **False**, maka hasilnya adalah **False**.

**Contoh:**

```python
a = True
b = False
c = True

print(a and b)  # False (karena salah satu False)
print(a and c)  # True (karena keduanya True)
```

***

#### **2. Operator Logika OR (`or`)**

Operator `or` mengembalikan **True** jika **salah satu atau kedua ekspresi** bernilai **True**. Jika **keduanya False**, maka hasilnya adalah **False**.

**Contoh:**

```python
a = True
b = False
c = True

print(a or b)  # True (karena salah satu True)
print(b or c)  # True (karena salah satu True)
print(b or False)  # False (karena keduanya False)
```

***

#### **3. Operator Logika NOT (`not`)**

Operator `not` digunakan untuk **membalik nilai boolean**. Jika suatu ekspresi bernilai **True**, `not` akan mengembalikan **False**, dan sebaliknya.

**Contoh:**

```python
a = True
b = False

print(not a)  # False (karena a adalah True)
print(not b)  # True (karena b adalah False)
```

***

#### **4. Kombinasi Operator Logika**

Operator logika dapat dikombinasikan untuk membuat kondisi yang lebih kompleks.

**Contoh:**

```python
a = True
b = False
c = True
d = False

print((a and b) or (c and not d))  
# (False) or (True) → True
```

***

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

Operator logika sering digunakan dalam **pernyataan `if`** untuk membuat keputusan berdasarkan kondisi yang diberikan.

**Contoh 1 - Sederhana:**

```python
a = True
b = False

if a and not b:
    print("Kondisi terpenuhi")
else:
    print("Kondisi tidak terpenuhi")
```

> Output: **Kondisi terpenuhi** (karena `a` adalah `True` dan `b` adalah `False`)

***

#### **6. Contoh Penggunaan dalam Kasus Nyata**

**A. Verifikasi Kelayakan Peminjam (Bisnis Keuangan)**

Dalam industri keuangan, kita bisa menggunakan operator logika untuk menentukan apakah seseorang layak mendapatkan pinjaman.

```python
pendapatan = 5000  # Pendapatan bulanan
catatan_kredit_baik = True

if pendapatan > 4000 and catatan_kredit_baik:
    print("Peminjam layak")
else:
    print("Peminjam tidak layak")
```

> Output: **Peminjam layak** (karena pendapatan di atas 4000 dan catatan kredit baik)

***

**B. Menentukan Diskon Berdasarkan Jumlah Pembelian**

Di sebuah toko, kita bisa memberikan diskon kepada pelanggan berdasarkan jumlah pembelian mereka.

```python
jumlah_pembelian = 1500  # Jumlah pembelian dalam Rupiah

if jumlah_pembelian >= 1000 and jumlah_pembelian < 2000:
    diskon = 10  # Diskon 10%
elif jumlah_pembelian >= 2000 and jumlah_pembelian < 3000:
    diskon = 20  # Diskon 20%
elif jumlah_pembelian >= 3000:
    diskon = 30  # Diskon 30%
else:
    diskon = 0  # Tidak ada diskon

print("Diskon yang diterima:", diskon, "%")
```

> Output: **Diskon yang diterima: 10%** (karena pembelian berada di antara 1000 dan 1999)

***

#### **Kesimpulan**

1. **`and`** → Hanya **True** jika **kedua kondisi True**.
2. **`or`** → **True** jika **salah satu kondisi True**.
3. **`not`** → Membalik nilai boolean (**True menjadi False**, dan sebaliknya).
4. Operator logika sering digunakan dalam **pernyataan `if`**, validasi data, dan **pengambilan keputusan dalam program**.
5. Contoh penggunaan operator logika bisa diterapkan dalam **bisnis keuangan, diskon toko, hingga sistem keamanan**.
