Dasar Pemrograman Java: Struktur Kondisi IF

Dalam pemrograman, struktur kondisi (IF) adalah bentuk pernyataan berkondisi yang berguna untuk pengambilan keputusan terhadap dua buah kemungkinan atau lebih. Struktur ini memungkinkan program Anda memilih jalur eksekusi berdasarkan evaluasi ekspresi Boolean (true atau false).

Struktur dasarnya adalah:

if (suatu kondisi)
  perintah1 / statement1 (terpenuhi)
else
  perintah2 / statement2 (tidak terpenuhi)

1. Kondisi IF Tunggal (IF-THEN)

Kondisi IF Tunggal adalah bentuk paling sederhana, hanya berisi satu kondisi utama. Statement (perintah) hanya akan dieksekusi jika kondisi tersebut bernilai true. Jika kondisi false, program akan langsung melanjutkan ke statement berikutnya di luar blok if.

Contoh: Menampilkan "LULUS" hanya jika nilai lebih dari 60.

class Ab {
  public static void main(String[] args) {
    int nilai = 60;
    if (nilai > 60) { 
      System.out.println("LULUS");
    }
  }
}

Pada contoh di atas, karena nilai adalah 60, kondisi nilai > 60 adalah false, sehingga output "LULUS" tidak akan dicetak.

2. Kondisi IF Majemuk (IF-ELSE dan IF-ELSE IF)

Kondisi Majemuk digunakan untuk menangani dua atau lebih kemungkinan hasil.

IF-ELSE (Dua Kemungkinan)

Struktur if-else menyediakan dua jalur eksekusi: satu jika kondisi true, dan satu jalur alternatif (else) jika kondisi false.

Kelebihan Penting: Untuk kondisi yang terakhir (else), Anda tidak perlu lagi membuat kondisi baru (if (nilai <= 60)). Kondisi yang terakhir sudah otomatis mencakup kondisi yang tidak terpenuhi oleh if di atasnya.

Contoh: Menentukan LULUS atau TIDAK LULUS.

if (nilai > 60) { 
  System.out.println("LULUS");
} else { 
  System.out.println("TIDAK LULUS");
}

IF-ELSE IF (Banyak Kemungkinan)

Untuk skenario dengan tiga kemungkinan atau lebih, kita menggunakan rantai else if.

Contoh: Menentukan kategori nilai (BAGUS, SEDANG, JELEK).

int nilai = 60;
if (nilai > 80) { 
  System.out.println("BAGUS");
} else if (nilai > 60) { // Jika nilai TIDAK > 80, cek kondisi ini
  System.out.println("SEDANG");
} else { // Jika semua kondisi di atas gagal
  System.out.println("JELEK");
}

Jika nilai adalah 60, maka outputnya adalah "JELEK".

3. Kondisi IF Bercabang (Nested IF)

Nested IF (IF Bercabang) adalah penggunaan struktur if di dalam struktur if yang lain. Ini digunakan ketika Anda perlu menguji lebih dari satu kriteria secara hierarkis.

Contoh: Menentukan apakah sebuah bilangan positif/negatif dan genap/ganjil.

int nilai = -4;

if (nilai > 0) { // IF Luar (Kondisi 1: Positif)
  if (nilai % 2 == 0) { // IF Dalam (Kondisi 1.1: Genap)
    System.out.println("positif genap");
  } else {
    System.out.println("positif ganjil");
  }
} else if (nilai < 0) { // IF Luar (Kondisi 2: Negatif)
  if (nilai % 2 == 0) { // IF Dalam (Kondisi 2.1: Genap)
    System.out.println("negatif genap");
  } else {
    System.out.println("negatif ganjil");
  }
}

Pada contoh di atas, kondisi IF luarnya ada dua (nilai > 0 dan nilai < 0), dan masing-masing IF luar memiliki dua IF yang bersarang di dalamnya. Karena nilai adalah , program akan mengeksekusi blok else if (nilai < 0) dan mencetak "negatif genap".

Implementasi IF dengan Input Data

Anda dapat menggabungkan struktur if dengan perintah input (Scanner atau JOptionPane) untuk membuat program interaktif.

Menggunakan Scanner

Contoh ini menerima input usia dan menentukan kategori usia berdasarkan tabel.

import java.util.Scanner;

public class KategoriUsia {
  public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    System.out.print("Masukan Usia Anda: ");
    int usia = s.nextInt(); // Input usia

    if (usia >= 17 && usia <= 25) {
      System.out.println("Kategori Usia Anda adalah Remaja");
    } else if (usia >= 1 && usia <= 16) {
      System.out.println("Kategori Usia Anda adalah Anak-anak");
    } else if (usia > 25) {
      System.out.println("Kategori Usia Anda adalah Dewasa");
    }
  }
}

Menggunakan JOptionPane

Contoh ini menggunakan JOptionPane untuk input nilai dan menampilkan index huruf (A, B, C, D, E).

import javax.swing.JOptionPane;

class IndexMhs {
  public static void main(String[] args) {
    String NILAI = JOptionPane.showInputDialog("MASUKAN NILAI [0-100] : ");
    int nilai = Integer.parseInt(NILAI);

    if (nilai >= 85) {
      System.out.println("Nilai : " + nilai + ", Index = A");
    } else if (nilai >= 75) {
      System.out.println("Nilai : " + nilai + ", Index = B");
    }
    // ... dan seterusnya
    else { 
      System.out.println("Nilai : " + nilai + ", Index = E");
    }
  }
}