Kontrol Aliran dalam Java

Kontrol aliran (flow control) dalam pemrograman memungkinkan Anda untuk mengarahkan jalannya program berdasarkan kondisi tertentu atau menjalankan kode berulang kali. Dalam modul ini, Anda akan mempelajari berbagai pernyataan kontrol aliran yang tersedia dalam Java, termasuk pernyataan kondisi dan perulangan.

Pernyataan Kondisi #

Pernyataan kondisi memungkinkan Anda untuk mengeksekusi kode tertentu berdasarkan kondisi yang diberikan.

If, Else, dan Else If #

  • if: Mengeksekusi blok kode jika kondisi bernilai true.
  • else if: Mengeksekusi blok kode lain jika kondisi sebelumnya false dan kondisi else if bernilai true.
  • else: Mengeksekusi blok kode jika semua kondisi sebelumnya false.

Sintaks:

if (kondisi) {
    // blok kode jika kondisi true
} else if (kondisi_lain) {
    // blok kode jika kondisi_lain true
} else {
    // blok kode jika semua kondisi false
}

Contoh:

int age = 20;

if (age < 18) {
    System.out.println("You are a minor.");
} else if (age < 65) {
    System.out.println("You are an adult.");
} else {
    System.out.println("You are a senior citizen.");
}

Switch #

Pernyataan switch memungkinkan Anda untuk memilih satu dari banyak blok kode yang akan dieksekusi.

Sintaks:

switch (ekspresi) {
    case nilai1:
        // blok kode
        break;
    case nilai2:
        // blok kode
        break;
    // kasus lainnya
    default:
        // blok kode
}

Contoh:

int day = 3;
String dayName;

switch (day) {
    case 1:
        dayName = "Sunday";
        break;
    case 2:
        dayName = "Monday";
        break;
    case 3:
        dayName = "Tuesday";
        break;
    case 4:
        dayName = "Wednesday";
        break;
    case 5:
        dayName = "Thursday";
        break;
    case 6:
        dayName = "Friday";
        break;
    case 7:
        dayName = "Saturday";
        break;
    default:
        dayName = "Invalid day";
        break;
}

System.out.println("The day is " + dayName);

Looping (Perulangan) #

Looping memungkinkan Anda untuk mengeksekusi blok kode berulang kali selama kondisi tertentu terpenuhi.

While Loop #

while loop terus mengeksekusi blok kode selama kondisi bernilai true.

Sintaks:

while (kondisi) {
    // blok kode
}

Contoh:

int count = 0;

while (count < 5) {
    System.out.println("Count is: " + count);
    count++;
}

Do-While Loop #

do-while loop mirip dengan while loop, tetapi blok kode dieksekusi setidaknya sekali sebelum kondisi diperiksa.

Sintaks:

do {
    // blok kode
} while (kondisi);

Contoh:

int count = 0;

do {
    System.out.println("Count is: " + count);
    count++;
} while (count < 5);

For Loop #

for loop digunakan untuk iterasi dengan jumlah yang telah diketahui.

Sintaks:

for (inisialisasi; kondisi; iterasi) {
    // blok kode
}

Contoh:

for (int i = 0; i < 5; i++) {
    System.out.println("i is: " + i);
}

For-Each Loop #

for-each loop digunakan untuk iterasi elemen dari sebuah koleksi (seperti array atau list).

Sintaks:

for (tipe elemen : koleksi) {
    // blok kode
}

Contoh:

int[] numbers = {1, 2, 3, 4, 5};

for (int number : numbers) {
    System.out.println("Number is: " + number);
}

Break dan Continue #

Pernyataan break dan continue digunakan untuk mengontrol aliran dalam loop.

Break #

break digunakan untuk menghentikan loop sepenuhnya.

Contoh:

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;
    }
    System.out.println("i is: " + i);
}

Continue #

continue digunakan untuk melewatkan iterasi saat ini dan melanjutkan ke iterasi berikutnya.

Contoh:

for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) {
        continue;
    }
    System.out.println("i is: " + i);
}

Nested Loop #

Loop dapat ditulis di dalam loop lain, yang disebut nested loop.

Contoh:

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 2; j++) {
        System.out.println("i: " + i + ", j: " + j);
    }
}

Contoh Program Sederhana #

Berikut adalah contoh program sederhana yang menggabungkan kontrol aliran, pernyataan kondisi, dan perulangan:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Meminta input dari pengguna
        System.out.print("Enter a number to find its factorial: ");
        int number = scanner.nextInt();
        
        // Menghitung faktorial menggunakan while loop
        int factorial = 1;
        int i = 1;
        while (i <= number) {
            factorial *= i;
            i++;
        }
        System.out.println("The factorial of " + number + " is " + factorial);
        
        // Menemukan dan mencetak semua bilangan prima hingga batas yang diberikan
        System.out.print("Enter a number to print all prime numbers up to: ");
        int limit = scanner.nextInt();
        System.out.println("Prime numbers up to " + limit + " are:");
        
        // Menemukan bilangan prima menggunakan for loop dan nested loop
        for (int num = 2; num <= limit; num++) {
            boolean isPrime = true;
            for (int j = 2; j <= Math.sqrt(num); j++) {
                if (num % j == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                System.out.println(num);
            }
        }
        
        scanner.close();
    }
}

Pada program di atas, pertama kita menghitung faktorial dari sebuah bilangan menggunakan while loop. Kemudian, kita menemukan dan mencetak semua bilangan prima hingga batas yang diberikan menggunakan for loop dan nested loop.

Dengan memahami kontrol aliran dalam Java, Anda dapat membuat program yang lebih kompleks dan dinamis. Jika ada pertanyaan lebih lanjut atau bagian yang perlu diperjelas, jangan ragu untuk bertanya.