Logika IF Python

Pengambilan Keputusan dalam Budidaya Ikan

Untuk Jurusan Agribisnis Perikanan Air Tawar (APAT)

Kelas X SMK

2 JP (90 Menit) Kelas X APAT 3 Level Kesulitan

Tujuan Pembelajaran

Setelah mengikuti praktek ini, kamu akan mampu:

  • Memahami konsep logika IF sebagai "pengambil keputusan" dalam program
  • Menggunakan if, elif, dan else dengan benar
  • Menerapkan operator perbandingan dan logika dalam kondisi
  • Membuat program monitoring kualitas air dan kelayakan panen ikan
  • Membangun sistem keputusan berlapis untuk pengelolaan kolam

Konsep Dasar Logika IF

Analogi untuk Siswa APAT:

Bayangkan kamu sedang memeriksa kolam lele setiap pagi. Kamu berpikir: "JIKA suhu air di bawah 25ยฐC, MAKA pasang pemanas. KALAU TIDAK, lanjutkan seperti biasa."

Itulah logika if-else: program membuat keputusan berdasarkan kondisi yang kamu tentukan.

Alur Logika IF:
๐ŸŸฆ MULAI
โ†“
โ“ Kondisi True/False?
โ†“
โœ… TRUE โ†’ Jalankan blok IF
โŒ FALSE โ†’ Jalankan blok ELSE
โ†“
โฌ› SELESAI
Tiga Struktur Utama:
1. Hanya IF
if kondisi:
    # lakukan ini

Hanya dijalankan jika kondisi benar.

2. IF - ELSE
if kondisi:
    # jika benar
else:
    # jika salah

Dua pilihan: benar atau salah.

3. IF - ELIF - ELSE
if kondisi1:
    # opsi A
elif kondisi2:
    # opsi B
else:
    # selain itu

Banyak pilihan bertingkat.

Operator Perbandingan & Logika

Operator ini digunakan untuk membuat kondisi dalam logika IF:

Operator Arti Contoh APAT Hasil
==Sama denganjenis_ikan == "Lele"True / False
!=Tidak samastatus != "panen"True / False
>Lebih darisuhu > 30True / False
<Kurang dariph < 6.5True / False
>=Lebih dari/samaberat >= 0.2True / False
<=Kurang dari/samaoksigen <= 3True / False
andDAN (keduanya benar)ph >= 6.5 and ph <= 8.5True / False
orATAU (salah satu benar)pakan == "pelet" or pakan == "cacing"True / False
notBUKAN (kebalikan)not siap_panenTrue / False

Level Mudah

MUDAH

Kondisi tunggal if-else. Cocok untuk pemula!

Contoh 1: Cek Suhu Air Kolam
Skenario: Suhu ideal lele adalah 25โ€“30ยฐC. Buat program yang memberi tahu apakah suhu air NORMAL atau TIDAK NORMAL.
# Cek suhu air kolam lele
suhu = float(input("Masukkan suhu air (ยฐC): "))

if suhu >= 25 and suhu <= 30:
    print("โœ… Suhu NORMAL โ€” ikan tumbuh optimal!")
else:
    print("โš ๏ธ Suhu TIDAK NORMAL โ€” perlu penyesuaian!")
Contoh Output:
Masukkan suhu air (ยฐC): 27
โœ… Suhu NORMAL โ€” ikan tumbuh optimal!
Contoh 2: Siap Panen atau Belum?
Skenario: Lele siap panen jika berat rata-rata sudah mencapai โ‰ฅ 200 gram (0.2 kg).
# Cek kelayakan panen lele
berat = float(input("Berat rata-rata ikan (kg): "))

if berat >= 0.2:
    print("๐ŸŽ‰ Lele SIAP PANEN! Hubungi pengepul.")
else:
    print("โณ Lele BELUM siap panen. Lanjutkan pemberian pakan.")
Contoh Output:
Berat rata-rata ikan (kg): 0.15
โณ Lele BELUM siap panen. Lanjutkan pemberian pakan.
๐ŸŽฏ Latihan Level Mudah

Lengkapi kode berikut!

Program mengecek apakah pH air layak untuk budidaya lele (pH ideal: 6.5 โ€“ 8.5).

# Cek pH air kolam
ph = float(input("Masukkan nilai pH air: "))

if ______:
    print("โœ… pH AIR LAYAK untuk budidaya lele")
else:
    print("โŒ pH AIR TIDAK LAYAK โ€” segera lakukan pengapuran atau aerasi!")
Petunjuk: Isi ______ dengan kondisi menggunakan operator and untuk mengecek apakah pH berada dalam rentang 6.5 hingga 8.5.

Level Sedang

SEDANG

Menggunakan if-elif-else untuk banyak kondisi bertingkat.

Contoh 1: Klasifikasi Kualitas Air
Skenario: Klasifikasikan kualitas air berdasarkan nilai pH menjadi 4 kategori: Sangat Asam, Asam, Normal, dan Basa.
# Klasifikasi kualitas air berdasarkan pH
ph = float(input("Masukkan nilai pH air: "))

if ph < 5.0:
    status = "๐Ÿ”ด SANGAT ASAM โ€” berbahaya, ikan bisa mati!"
elif ph < 6.5:
    status = "๐ŸŸก ASAM โ€” kurang ideal, perlu kapur dolomit"
elif ph <= 8.5:
    status = "๐ŸŸข NORMAL โ€” kondisi terbaik untuk lele/nila"
else:
    status = "๐Ÿ”ต BASA โ€” terlalu tinggi, tambahkan air bersih"

print(f"pH {ph} โ†’ {status}")
Contoh Output:
Masukkan nilai pH air: 7.2
pH 7.2 โ†’ ๐ŸŸข NORMAL โ€” kondisi terbaik untuk lele/nila
Contoh 2: Jadwal Pemberian Pakan
Skenario: Tentukan dosis pakan berdasarkan ukuran lele. Lele kecil (<50g): 5%, sedang (50โ€“100g): 4%, besar (>100g): 3% dari biomassa.
# Hitung dosis pakan berdasarkan berat lele
berat_rata = float(input("Berat rata-rata lele (gram): "))
biomassa = float(input("Total biomassa kolam (kg): "))

if berat_rata < 50:
    persentase = 5
    kategori = "Benih kecil"
elif berat_rata <= 100:
    persentase = 4
    kategori = "Ukuran sedang"
else:
    persentase = 3
    kategori = "Siap panen"

dosis_pakan = biomassa * (persentase / 100)

print(f"\n=== REKOMENDASI PAKAN ===")
print(f"Kategori : {kategori}")
print(f"Dosis : {persentase}% dari biomassa")
print(f"Jumlah : {dosis_pakan:.2f} kg/hari")
Contoh Output:
Berat rata-rata lele (gram): 75
Total biomassa kolam (kg): 50

=== REKOMENDASI PAKAN ===

Kategori : Ukuran sedang
Dosis : 4% dari biomassa
Jumlah : 2.00 kg/hari
๐ŸŽฏ Latihan Level Sedang

Buat program klasifikasi kadar oksigen terlarut (DO) dalam air!

DO (mg/L)StatusTindakan
< 3๐Ÿ”ด KritisNyalakan aerator segera!
3 โ€“ 5๐ŸŸก RendahTambah aerasi, kurangi pakan
5 โ€“ 8๐ŸŸข NormalKondisi optimal, lanjutkan
> 8๐Ÿ”ต TinggiMonitor, bisa akibat algae bloom
# Klasifikasi kadar oksigen terlarut (DO)
do = float(input("Masukkan nilai DO (mg/L): "))

if ______:
    print("๐Ÿ”ด KRITIS โ€” Nyalakan aerator segera!")
elif ______:
    print("๐ŸŸก RENDAH โ€” Tambah aerasi, kurangi pakan")
elif ______:
    print("๐ŸŸข NORMAL โ€” Kondisi optimal!")
else:
    print("๐Ÿ”ต TINGGI โ€” Monitor kadar algae!")
Petunjuk: Isi ketiga kondisi ______ dengan nilai DO yang sesuai tabel di atas. Perhatikan urutan pengecekan dari nilai terkecil ke terbesar!

Level Sulit

SULIT

IF bersarang (nested if) dan kombinasi operator logika kompleks.

Contoh 1: Sistem Monitoring Kolam Lengkap
Skenario: Program mengecek 3 parameter sekaligus (suhu, pH, DO) dan memberikan rekomendasi menyeluruh. Jika semua parameter ideal = OPTIMAL, jika ada yang tidak ideal = peringatan spesifik.
# === SISTEM MONITORING KOLAM LENGKAP ===
print("=== MONITORING KUALITAS AIR KOLAM ===")
suhu = float(input("Suhu air (ยฐC): "))
ph = float(input("pH air: "))
do = float(input("DO/Oksigen terlarut (mg/L): "))

# Tentukan status tiap parameter
suhu_ok = 25 <= suhu <= 30
ph_ok = 6.5 <= ph <= 8.5
do_ok = do >= 5

print("\n=== LAPORAN KUALITAS AIR ===")
print(f"Suhu : {suhu}ยฐC โ†’ {'โœ… OK' if suhu_ok else 'โŒ PERLU PERHATIAN'}")
print(f"pH : {ph} โ†’ {'โœ… OK' if ph_ok else 'โŒ PERLU PERHATIAN'}")
print(f"DO : {do} mg/L โ†’ {'โœ… OK' if do_ok else 'โŒ PERLU PERHATIAN'}")

# Keputusan utama menggunakan nested if
if suhu_ok and ph_ok and do_ok:
    print("\n๐ŸŒŸ STATUS: OPTIMAL โ€” Semua parameter ideal!")
    print(" Rekomendasi: Lanjutkan pemberian pakan sesuai jadwal.")
elif not suhu_ok and not ph_ok and not do_ok:
    print("\n๐Ÿšจ STATUS: DARURAT โ€” Semua parameter bermasalah!")
    print(" Rekomendasi: Hentikan pakan, segera lakukan penggantian air!")
else:
    print("\nโš ๏ธ STATUS: PERLU TINDAKAN")
    if not suhu_ok:
        if suhu < 25:
            print(" ๐ŸŒก๏ธ Suhu terlalu DINGIN โ€” Pasang water heater")
        else:
            print(" ๐ŸŒก๏ธ Suhu terlalu PANAS โ€” Tambah naungan/paranet")
    if not ph_ok:
        if ph < 6.5:
            print(" ๐Ÿงช pH terlalu RENDAH โ€” Tambahkan kapur dolomit")
        else:
            print(" ๐Ÿงช pH terlalu TINGGI โ€” Tambahkan air bersih/asam sitrat")
    if not do_ok:
        print(" ๐Ÿ’จ DO terlalu RENDAH โ€” Nyalakan aerator / kincir air")
Contoh Output (kondisi bermasalah):
=== MONITORING KUALITAS AIR KOLAM ===
Suhu air (ยฐC): 32
pH air: 6.0
DO/Oksigen terlarut (mg/L): 4

=== LAPORAN KUALITAS AIR ===

Suhu : 32.0ยฐC โ†’ โŒ PERLU PERHATIAN
pH : 6.0 โ†’ โŒ PERLU PERHATIAN
DO : 4.0 mg/L โ†’ โŒ PERLU PERHATIAN

โš ๏ธ STATUS: PERLU TINDAKAN

๐ŸŒก๏ธ Suhu terlalu PANAS โ€” Tambah naungan/paranet
๐Ÿงช pH terlalu RENDAH โ€” Tambahkan kapur dolomit
๐Ÿ’จ DO terlalu RENDAH โ€” Nyalakan aerator / kincir air
๐ŸŽฏ Latihan Level Sulit โ€” Kalkulator Keuntungan Panen

Buat program menghitung estimasi keuntungan panen dengan kondisi berikut:

KondisiTindakan
Keuntungan > Rp 5.000.000Tampilkan "๐Ÿ† UNTUNG BESAR โ€” Kembangkan usaha!"
Keuntungan Rp 0 โ€“ Rp 5.000.000Tampilkan "โœ… UNTUNG โ€” Terus pertahankan kualitas"
Keuntungan = 0 (BEP)Tampilkan "โš–๏ธ BREAK EVEN โ€” Tidak untung tidak rugi"
Keuntungan < 0Tampilkan "๐Ÿ”ด RUGI โ€” Evaluasi biaya produksi!" + tampilkan jumlah kerugian
# Kalkulator keuntungan panen ikan
harga_jual = float(input("Harga jual per kg (Rp): "))
total_panen = float(input("Total panen (kg): "))
biaya_produksi = float(input("Total biaya produksi (Rp): "))

pendapatan = ______
keuntungan = ______

print(f"\nPendapatan : Rp {pendapatan:,.0f}")
print(f"Biaya : Rp {biaya_produksi:,.0f}")
print(f"Keuntungan : Rp {keuntungan:,.0f}")

if ______:
    print("๐Ÿ† UNTUNG BESAR โ€” Kembangkan usaha!")
elif ______:
    print("โœ… UNTUNG โ€” Terus pertahankan kualitas")
elif ______:
    print("โš–๏ธ BREAK EVEN โ€” Tidak untung tidak rugi")
else:
    print("๐Ÿ”ด RUGI โ€” Evaluasi biaya produksi!")
    print(f" Kerugian sebesar: Rp {______:,.0f}")
Petunjuk:
  • Hitung pendapatan = harga_jual * total_panen
  • Hitung keuntungan = pendapatan - biaya_produksi
  • Perhatikan urutan kondisi: cek dari > 5.000.000 โ†’ > 0 โ†’ == 0 โ†’ < 0
  • Untuk menampilkan kerugian, gunakan nilai absolut: abs(keuntungan)

Ringkasan Materi

โญ MUDAH

IF โ€” ELSE

Dua pilihan berdasarkan satu kondisi. Contoh: Cek suhu & pH normal atau tidak.

if kondisi:
  # benar
else:
  # salah
โญโญ SEDANG

IF โ€” ELIF โ€” ELSE

Beberapa pilihan bertingkat. Contoh: Klasifikasi pH, jadwal pakan.

if A:
  # opsi A
elif B:
  # opsi B
else:
  # lainnya
โญโญโญ SULIT

Nested IF + AND/OR

IF di dalam IF. Contoh: Sistem monitoring kolam lengkap, kalkulator panen.

if A and B:
  # dua syarat
else:
    if not A:
      # nested

Dokumentasi & Pengumpulan

WAJIB DIDOKUMENTASIKAN!

Perhatikan Instruksi Berikut:

Setiap praktek yang telah kamu lakukan WAJIB didokumentasikan dalam satu postingan di Blogger sebagai bukti pembelajaran.

1
Buat Postingan di Blogger

Dokumentasikan semua hasil praktek (kode program, output, dan penjelasan) dari Level Mudah, Sedang, dan Sulit dalam satu postingan Blogger yang rapi dan menarik.

2
Gunakan Judul yang Ditentukan

Pastikan postingan menggunakan judul persis seperti berikut:

Logika IF dalam Python untuk Budidaya Ikan
Judul harus persis sama termasuk huruf kapital dan spasi untuk memudahkan penilaian.
3
Kirim Link ke Google Form

Setelah postingan dipublikasikan, kirim link lengkap postinganmu melalui Google Form berikut:

Batas Waktu Pengumpulan: di hari saat ada jadwal KKA maksimal pukul 23:59 WIB
Tips Dokumentasi yang Baik:
  • Sertakan screenshot kode program dan hasil output dari ketiga level
  • Tambahkan penjelasan singkat untuk setiap contoh dan latihan yang dikerjakan
  • Gunakan gambar ilustrasi kolam ikan untuk memperkaya konten
  • Tunjukkan kode jawaban latihan yang sudah kamu lengkapi
  • Pastikan postingan sudah dipublikasikan (bukan draft)
NILAI PRAKTEK AKAN DINILAI BERDASARKAN KELENGKAPAN DOKUMENTASI DI BLOGGER

Tips Belajar

Indentasi Itu Wajib!

Python menggunakan indentasi (spasi/tab) untuk menandai blok kode di dalam IF. Lupa indentasi = program error!

Urutan elif Penting

Python membaca elif dari atas ke bawah dan berhenti saat menemukan yang pertama benar. Urutkan dari kondisi paling spesifik!

Error sebagai Guru

Sengaja buat kesalahan seperti lupa tanda titik dua (:) setelah if, lalu perhatikan pesan errornya. Belajar dari error!

Kaitkan dengan Kolam

Setiap kali menulis kondisi IF, bayangkan kamu sedang memeriksa kolam ikanmu sendiri. Program = keputusan yang kamu ambil setiap hari!