Bab 16

Kondisi Bersarang (Nested IF)
Membuat pengambilan keputusan bertingkat

Quiz
Materi
Game
Worksheet
Soal 1 dari 10Skor: 0
dari 10
0
Benar
0
Salah
💡 Tahukah Kamu?
Bayangkan kamu ingin masuk wahana roller coaster. Pertama, petugas mengecek apakah kamu cukup tinggi (minimal 140 cm). JIKA ya, petugas mengecek apakah kamu punya tiket. JIKA ya lagi, petugas mengecek kondisi kesehatanmu. Ini adalah contoh kondisi bersarang — satu keputusan bergantung pada keputusan sebelumnya!

A. Apa Itu Kondisi Bersarang?

Kondisi bersarang (nested IF) adalah kondisi IF yang berada di dalam IF lain. Ini digunakan ketika suatu keputusan hanya bisa diambil SETELAH kondisi pertama terpenuhi.

Struktur Dasar

JIKA kondisi_luar MAKA JIKA kondisi_dalam MAKA lakukan aksi A JIKA TIDAK lakukan aksi B JIKA TIDAK lakukan aksi C
💡 Penting: kondisi_dalam hanya dicek JIKA kondisi_luar = TRUE. Jika kondisi luar FALSE, langsung ke aksi C tanpa mengecek kondisi dalam.

Bayangkan seperti pintu gerbang bertingkat. Kamu harus melewati pintu pertama dulu, baru bisa sampai ke pintu kedua!

B. Contoh: Sistem Penilaian dengan Nested IF

Menentukan nilai huruf DAN status kelulusan berdasarkan nilai angka dan kehadiran:

// Input Minta input: nilai_angka (0-100) Minta input: persen_kehadiran (0-100) JIKA persen_kehadiran >= 75 MAKA JIKA nilai_angka >= 90 MAKA Tampilkan 'Nilai A — Lulus dengan Pujian' JIKA TIDAK JIKA nilai_angka >= 80 MAKA Tampilkan 'Nilai B — Lulus' JIKA TIDAK JIKA nilai_angka >= 70 MAKA Tampilkan 'Nilai C — Lulus (Batas Minimum)' JIKA TIDAK Tampilkan 'Nilai D — Tidak Lulus, perlu remedi' JIKA TIDAK Tampilkan 'Tidak bisa dinilai — kehadiran kurang'

Perhatikan: program mengecek kehadiran lebih dulu. Jika kehadiran kurang dari 75%, tidak perlu lagi mengecek nilai — langsung ditolak!

C. Kapan Menggunakan Nested IF?

✅ Gunakan Nested IF ketika:

  • Keputusan kedua hanya relevan jika keputusan pertama terpenuhi
  • Kamu punya beberapa kelompok kondisi yang berbeda-beda
  • Kamu perlu memberikan pesan error yang berbeda untuk setiap kondisi

❌ Hindari Nested IF ketika:

  • Kedalaman lebih dari 3–4 level (akan sangat sulit dibaca!)
  • Kondisi bisa disederhanakan dengan operator AND/OR

Perbandingan: AND vs Nested IF

// Versi AND — pesan error sama untuk semua JIKA kehadiran >= 75 AND nilai >= 70 MAKA → Lulus JIKA TIDAK → Tidak lulus // tapi kenapa? tidak tahu! // Versi Nested IF — pesan error BERBEDA JIKA kehadiran >= 75 MAKA JIKA nilai >= 70 MAKA → Lulus JIKA TIDAK → 'Nilai kurang!' // jelas! JIKA TIDAK → 'Kehadiran kurang!' // jelas!
💡 Nested IF lebih baik di sini karena memberikan pesan error yang BERBEDA untuk kehadiran kurang vs nilai kurang!

D. Sistem Rekomendasi Bertingkat

Nested IF sangat berguna untuk membuat sistem rekomendasi yang mempertimbangkan banyak faktor:

// Sistem Rekomendasi Olahraga Minta input: usia Minta input: kondisi_fisik (sehat / kurang_fit / sakit) JIKA kondisi_fisik = 'sehat' MAKA JIKA usia < 12 MAKA → 'Senam, Renang, atau Bersepeda' JIKA TIDAK JIKA usia < 18 MAKA → 'Basket, Futsal, atau Berenang' JIKA TIDAK JIKA usia < 50 MAKA → 'Gym, Jogging, atau Yoga' JIKA TIDAK → 'Jalan santai atau Senam lansia' JIKA TIDAK JIKA kondisi_fisik = 'kurang_fit' MAKA JIKA usia < 18 MAKA → 'Renang ringan atau Berjalan kaki' JIKA TIDAK → 'Yoga atau Tai chi' JIKA TIDAK Tampilkan: 'Konsultasikan dengan dokter.'

🏰 Game 1: Gerbang Dungeon

Kamu adalah seorang petualang yang ingin masuk ke dungeon. Sistem akan mengecek kondisimu secara bertingkat menggunakan nested IF. Coba berbagai kombinasi!

Atur kondisi karaktermu dan tekan tombol di atas!

📊 Game 2: Simulator Nilai Sekolah

Masukkan nilai dan kehadiran, lalu lihat bagaimana nested IF menentukan hasilmu. Perhatikan alur pengecekan bertingkatnya!

Masukkan nilai dan kehadiran, lalu tekan tombol!

🏃 Game 3: Rekomendasi Olahraga

Sistem rekomendasi olahraga bertingkat. Masukkan data, dan lihat bagaimana program memilih rekomendasi yang tepat!

Masukkan usia dan kondisi fisikmu!

📝 Jawab pertanyaan berikut berdasarkan materi Kondisi Bersarang. Pilih kelas dan namamu, lalu isi jawaban.

Soal 1
Jelaskan perbedaan antara nested IF (kondisi bersarang) dengan rangkaian ELSE IF biasa! Kapan masing-masing lebih tepat digunakan?
Soal 2
Perhatikan pseudocode sistem penilaian di materi bagian B. Apa output jika nilai_angka = 65 dan persen_kehadiran = 80? Jelaskan alur pengecekannya langkah demi langkah!
Soal 3
Tuliskan pseudocode untuk sistem pemilihan jalur studi:
• JIKA nilai IPA ≥ 80 DAN nilai Matematika ≥ 80 → IPA
• JIKA nilai IPS ≥ 80 DAN nilai Bahasa ≥ 80 → IPS
• Jika dua-duanya terpenuhi → tanya minat
• Jika tidak ada yang terpenuhi → perlu bimbingan
Soal 4
Apa keuntungan menggunakan nested IF dibandingkan operator AND untuk mengecek kelulusan (kehadiran ≥ 75% DAN nilai ≥ 70)? Berikan contoh pesan error yang berbeda!
Soal 5
Berikan contoh situasi nyata di kehidupan sehari-hari (selain yang ada di materi) yang bisa dimodelkan dengan nested IF! Tuliskan juga pseudocodenya minimal 2 level kedalaman.
← Kembali