> For the complete documentation index, see [llms.txt](https://herusulistiono.gitbook.io/java/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://herusulistiono.gitbook.io/java/struktur-kontrol-java.md).

# Struktur Kontrol Java

## Struktur Kontrol

Struktur kontrol adalah blok pemrograman yang menganalisis variabel dan memilih arah yang akan didasarkan pada parameter yang diberikan.

Oleh karena itu proses pengambilan keputusan dasar dalam komputasi, flow control menentukan bagaimana komputer akan merespon ketika diberikan kondisi dan parameter tertentu.

## Pernyataan Kondisi

### IF THEN

Dalam pemrograman, sering mengeksekusi bagian kode tertentu berdasarkan kondisi yang ditentukan, dimana TRUE atau FALSE (yang hanya diketahui selama waktu berjalan).&#x20;

Struktur Penulisan Kondisi IF di Java adalah :

```
if (ekspresi) {
    // pernyataan
}
```

### Contoh Pernyataan IF

{% code title="IF Statement" %}

```java
public class IfJava{
    public static void main(String[] args){
        int usia=20;
        if(usia > 18){
            System.out.print("Lebih Dari 20");
        }
    }
}
```

{% endcode %}

Jika Anda RUN maka akan Tampil **Lebih Dari 20**, sebab pada baris ke-4 memberikan kondisi 20 > 18&#x20;

### IF ELSE

Struktur Penulisan Kondisi IF ELSE di Java adalah :

```
if (ekspresi) {
    // pernyataan Benar
}else{
    // Pernyataan Salah
}
```

### Contoh Pernyataan IF ELSE

{% code title="IF ELSE" %}

```java
public class IfElse
{
    public static void main(String[] args){
        int angka = 11;
        if(angka % 2 == 0){
            System.out.println("Bilangan Genap");
        }else{
            System.out.println("Bilangan Ganjil");
        }
    }
}
```

{% endcode %}

Dalam kasus ini, menggunakan ***MODULUS*** (Sisa Hasil Bagi), dimana Variabel angka bernilai 11 Mod 2 Sisa 1 berarti akan mengeksekusi Pernyataan else, terlihat pada baris ke-5 **if(angka % 2==0)** yang berarti mengkondisikan harus memiliki hasil 0.

> Catatan : Penggunaan Mod di java dengan simbol %

### Kondisi Nested IF (Bersarang)

Kondisi ini memang sangat rumit, sebab dalam kondisi IF ada kondisi lagi. Jangan jangan Bingung-bingung Hampir sama seperti pada Kondisi IF ELSE.

### Contoh Pernyataan Nested IF (Bersarang)

{% code title="NESTED IF" %}

```java
public class IfNested
{
    public static void main(String[] args){
        int angka;
        angka=8;
        if(angka % 2 == 0){
            System.out.print(angka +" Bilangan Genap ");
            if(angka > 10 ){
                System.out.println("Lebih Besar 10");
            }else{
                System.out.println("Lebih Kecil 10");
            }
        }else{
            System.out.print(angka +" Bilangan Ganjil ");
            if(angka > 10 ){
                System.out.println("Lebih Besar 10");
            }else{
                System.out.println("Lebih Kecil 10");
            }
        }
    }
}
```

{% endcode %}

###

## Perulangan&#x20;

### Kondisi For

Pada Struktur ini anda akan menjalankan blok program beberapa kali, dimana pernyataan yang dieksekusi secara berurutan. Pernyataan pertama dalam fungsi dijalankan pertama, diikuti oleh yang kedua, dan seterusnya.

Struktur Penulisan Kondisi Perulangan FOR

```
for(inisial; kondisi ; increment/decrement)
{
   pernyataan();
}
```

### Contoh Pernyataan FOR

{% code title="FOR LOOPS" %}

```java
public class ForLoop
{
    public static void main(String args[]){
        int i;
        for(i=1; i <= 10; i++){
            System.out.println("Java " + i);
        }
        
        System.out.println("##################");
        
        for(i=10; i >= 1; i--){
            System.out.println("Java " + i);
        } 
    }
}
```

{% endcode %}

Dapat anda lihat, penaikan (*Increment*) menggunakan ++ dibaris ke 5 dan penurunan (*Decrement*) menggunakan -- dibaris ke 11 maka hasil dari diatas jika anda jalankan adalah seperti pada gambar berikut:

![Perulangan For](/files/-LRaV6TkqFLUe5Qghfvc)

### Kondisi Nested For (Bersarang)

Contoh Nested For

{% code title="NESTED FOR" %}

```java
public class ForLoopNested
{
    public static void main(String args[]){
        int i,j;
        for(i=1; i <=10; i++){
            for(j=1; j <= i;j++){
                System.out.print("*");
            }
            System.out.println();
        } 
    }
}
```

{% endcode %}

Jika anda Jalankan maka akan membentuk sebuah (\*) Bintang, dapat dilihat seperti pada gambar berikut:

![Perulangan For Bersarang](/files/-LRau9y-Knr0fxhhJNV7)

### While

Ya Perulangan dengan While, jika anda ingin ilustrasi menulis satu-satu baris Angka Ke 1 hingga Ke 10 sangat ribet, ada baiknya gunakan Perulangan dengan For, While dan lainnya. Pada kasus ini anda akan mencetak baris angka ke 1 hingga angka ke 10 dengan mudah. Bisa anda coba Code program dibawah ini:

{% code title="WHILE" %}

```java
public class WhileJava
{
    public static void main(String[] args) {
      
      int angka = 1;
	   
      while (angka <= 10) {
         System.out.println("Angka Ke = " + angka);
         ++angka;
      }
   }
}

```

{% endcode %}

## Array

Array adalah konsep struktur untuk tipe data. Ini mengelompokkan unsur-unsur dari jenis yang sama. Array menyediakan akses acak ke setiap elemennya, juga dikenal sebagai komponen, dengan indeks linear.

Bahasa pemrograman pascal menyediakan struktur data yang disebut array, yang dapat menyimpan kumpulan sekuensial tetap dari elemen-elemen tipe yang sama. Array digunakan untuk menyimpan kumpulan data, tetapi seringkali lebih berguna untuk memikirkan sebuah array sebagai kumpulan variabel dari jenis yang sama.

### Array 1 Dimensi

### Array 2 Dimensi


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://herusulistiono.gitbook.io/java/struktur-kontrol-java.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
