Anda di halaman 1dari 41

PERCABANGAN

KONDISI IF BAHASA
JAVA
DHANY INDRA GUNAWAN
PENGERTIAN KONDISI IF BAHASA JAVA

• Dalam pembuatan program, ada saatnya kita butuh suatu percabangan, yakni jika sebuah
kondisi terpenuhi, jalankan kode program ini, jika tidak jalankan kode program yang lain.
Menggunakan bahasa Java, konsep tersebut dibuat menggunakan struktur IF dengan
aturan penulisan sebagai berikut:
• if (condition)
• {
• //Kode program yang akan dijalankan jika condition berisi nilai True
• }
LANJUTAN

• Bagian condition berperan sebagai penentu dari struktur percabangan.


Jika condition terpenuhi (menghasilkan nilai boolean TRUE), blok kode program akan
dijalankan. Jika condition tidak terpenuhi (menghasilkan nilai boolean FALSE), blok
kode program tidak akan dijalankan.
• Blok kode program yang di maksud adalah semua kode yang berada di antara tanda
kurung kurawal “{” dan “}”. Condition biasanya terdiri dari operasi perbandingan, seperti
apakah variabel a berisi angka 18, atau apakah variabel password berisi string ‘qwerty’.
CONTOH
KODE PROGRAM PERCABANGAN IF BAHASA JAVA
public class Pencabangan {
• Sebagai contoh pertama saya
akan buat kode program public static void main(String[] args) {
int a = 12;
sederhana untuk melihat apakah
int b = 10;
sebuah angka lebih besar dari if (a > b){
angka lain, lalu tampilkan System.out.println("nilai variable a lebih beasr dari
hasilnya jika kondisi terpenuhi: variable b :");
}
Hasil kode program: }

nilai variable a lebih beasr dari variable b : }


Di awal kode program disini kita mengisi
variabel a dengan angka 12 serta variabel b dengan
angka 10. Kemudian di baris 7 terdapat kondisi if (a >
b), yakni apakah variabel a berisi angka yang lebih
besar dari b? Apakah 12 lebih besar dari 10? betul
(true), maka blok kode program akan dijalankan.
public class kondisi {
public static void main(String[] args) {
int a = 5;
CONTOH int b = 10;
BANYAK KONDISI if (a < b){
System.out.println("Nilai Variable a lebih kecil dari
• Kita juga bisa membuat Nilai Variable b");
struktur if beberapa kali }

tergantung kebutuhan if (a > b){


seperti contoh berikut: System.out.println(" Nilai Variable a lebih besar dari
nilai Variable b");
}
Hasil kode program:
if (a == b){
Nilai Variable a lebih kecil dari Nilai Variable b System.out.println("Nilai Variable a sama dengan Nilai
Variable b");
}
}
}
PENJELASAN

• Kode program ini merupakan hasil modifikasi dari kode sebelumnya. Di sini saya
membuat 3 buah kondisi, yakni if (a > b), if (a < b), serta if (a == b). Setiap kondisi if
akan diperiksa dan jika operasi perbandingan menghasilkan nilai true, maka blok tersebut
akan diproses. Silahkan coba ubah isi variabel a dan b untuk melihat blok kode program
mana yang akan dijalankan.
CONTOH • package pkg04;

MENGISI NILAI • import java.util.Scanner;

A DAN B • public class Main {

• public static void main(String[] args) {

• int a, b;

• Scanner input = new Scanner(System.in);

• System.out.print("inputkan Nilai A :");

• a = input.nextInt();

• System.out.print("inputkan Nilai B :");

• b = input.nextInt();

• if (a < b){ System.out.println("Nilai Variable a lebih kecil dari Nilai Variable b"); }

• if (a > b){ System.out.println(" Nilai Variable a lebih besar dari nilai Variable b"); }

• if (a == b){ System.out.println("Nilai Variable a sama dengan Nilai Variable b"); }

• }

• }
CONTOH • package pkg05;
• import java.util.Scanner;
• public class Main {
• public static void main(String[] args) {
• int a;
• Scanner input = new Scanner(System.in);

Hasil kode program: • System.out.print("Masukan Nilai :");


Masukan Nilai :2 • a = input.nextInt();
2adalah nilai Genap
• if (a % 2 == 0){ System.out.println(a + "adalah nilai Genap"); }
• if (a % 2 == 1){ System.out.println(a + "adalah nilai Ganjil"); }
• }
• }
PENJELASAN

• Sekarang kondisi yang diperiksa adalah if (a % 2 == 0) dan if (a % 2 == 1). Di dalam


bahasa Java, tanda persen ( % ) adalah operator modulus yang dipakai untuk mencari
sisa hasil bagi
• Kondisi pertama, yakni if (a % 2 == 0) akan bernilai true jika variabel a habis dibagi 2.
Ini artinya variabel a berisi angka genap.
• Sedangkan kondisi kedua, yakni if (a % 2 == 1) akan bernilai true jika variabel a bersisa
1 pada saat dibagi 2. Ini artinya variabel a berisi angka ganjil.
PERCABANGAN KONDISI IF ELSE BAHASA JAVA

• Pengertian Kondisi IF ELSE bahasa Java


• Pada dasarnya, kondisi IF ELSE merupakan modifikasi tambahan dari kondisi IF
• Blok kode program IF tetap akan dijalankan ketika kondisi true, namun sekarang
terdapat tambahan bagian ELSE akan dijalankan ketika kondisi false.
• Berikut format dasarnya:
if (condition)
{
// Kode program yang akan dijalankan jika condition berisi nilai True
}
else
{
// Kode program yang akan dijalankan jika condition berisi nilai False
}
LANJUTAN

• Bagian condition berperan sebagai penentu dari struktur percabangan ini.


Jika condition terpenuhi (menghasilkan nilai TRUE), blok kode program milik IF akan
dijalankan. Jika condition tidak terpenuhi (menghasilkan nilai FALSE), blok kode
program bagian ELSE-lah yang akan diproses.
CONTOH
KODE PROGRAM PERCABANGAN IF ELSE JAVA
• Pada tutorial sebelumnya kita membuat program penentu bilangan genap / ganjil menggunakan 2
buah kondisi IF sebagai berikut:

if (a % 2 == 0){ System.out.println(a + "adalah nilai Genap"); }


if (a % 2 == 1){ System.out.println(a + "adalah nilai Ganjil"); }

• Alur ini sebenarnya akan lebih sederhana (dan lebih efisien) jika diubah ke dalam struktur IF
ELSE.
• Jika sebuah angka tidak genap, maka pasti itu adalah angka ganjil. Sehingga apabila kondisi if (a
% 2 == 0) tidak terpenuhi (false), maka variabel a haruslah berisi angka ganjil. Dengan demikian
kode programnya bisa ditulis ulang sebagai berikut:
• package pkg05;
• import java.util.Scanner;
• public class Main {
• public static void main(String[] args) {
• int a;
• Scanner input = new Scanner(System.in);
• System.out.print("Masukan Nilai :");
• a = input.nextInt();
• if (a % 2 == 0){ System.out.println(a + "adalah nilai Genap"); }
• else { System.out.println(a + "adalah nilai Ganjil"); }
• }
• }
PENJELASAN

• Sekarang jika kondisi if (a % 2 == 0) menghasilkan false, bagian ELSE lah yang akan di
proses. Kode program akan jadi lebih efisien karena pemeriksaan kondisi hanya perlu
dilakukan 1 kali saja.
CONTOH package kondosielse;

import java.util.Scanner;

public class Kondosielse {

public static void main(String[] args) {


int a;
Scanner input = new Scanner (System.in);
Hasil kode program:
System.out.print("Masukan NIlai Ujian :");
Masukan NIlai Ujian :75 a = input.nextInt();
Selamat Anda Lulus
if (a >= 75){
System.out.println(" Selamat Anda Lulus");
}
else {
System.out.println(" Coba Tahun Depan Lagi Ya");
}
}

}
PENJELASAN

• Di sini saya membuat kondisi if (a >= 75), yakni jika variabel a berisi angka lebih besar
atau sama dengan 75 maka jalankan perintah System.out.println(“Selamat Anda
Lulus!”). Jika tidak, blok ELSE lah yang akan di eksekusi,
yakni System.out.println(“Coba Tahun Depan Lagi Ya”).
PERCABANGAN KONDISI IF ELSE IF BAHASA
JAVA
• Masih tentang kondisi percabangan kode program dengan perintah IF, kali ini akan kita
bahas bentuk yang lebih kompleks, yakni kondisi IF ELSE IF. Struktur ini tidak lain
terdiri dari gabungan beberapa kondisi IF ELSE yang saling bersambung.
• Pengertian Kondisi IF ELSE IF Bahasa Java
• Pada dasarnya, kondisi IF ELSE IF adalah sebuah struktur logika program yang di dapat
dengan cara menyambung beberapa perintah IF ELSE menjadi sebuah kesatuan.
• Jika kondisi pertama tidak terpenuhi atau bernilai false, maka kode program akan lanjut
ke kondisi IF di bawahnya. Jika ternyata tidak juga terpenuhi, akan lanjut lagi ke
kondisi IF di bawahnya lagi, dst hingga blok ELSE terakhir atau terdapat
kondisi IF yang menghasilkan nilai true.
FORMAT IF ELSE IF
• Berikut format dasar penulisan kondisi IF ELSE IF dalam bahasa Java:
• if (condition_1) {
• // Kode program yang dijalankan jika condition_1 berisi nilai True
• }
• else if (condition_2) {
• // Kode program yang dijalankan jika condition_2 berisi nilai True
• }
• else if (condition_3) {
• // Kode program yang dijalankan jika condition_3 berisi nilai True
• }
• else {
• // Kode program yang dijalankan jika semua kondisi tidak terpenuhi
• }
CONTOH
KODE PROGRAM PERCABANGAN IF ELSE IF JAVA
• Sebagai contoh pertama, kita mencoba membuat kode program untuk menampilkan nilai.
User diminta menginput sebuah huruf antara ‘A’ – ‘E’. Kemudian program akan
menampilkan hasil yang berbeda-beda untuk setiap huruf, termasuk jika huruf tersebut di
luar ‘A’ – ‘E’.
package banyakulang;

import java.util.Scanner;
public class Banyakulang {

public static void main(String[] args) { Hasil kode program:


char nilai;
Masukan Nilai Anda (A - E):f
Scanner input = new Scanner (System.in);
tidak ada nilai ini
System.out.print("Masukan Nilai Anda (A - E):");
nilai = input.next().charAt(0);

if (nilai == 'A'){ System.out.println("Pertahankan");}


else if (nilai == 'B'){System.out.println("Perbaiki");}
else if (nilai == 'C'){System.out.println("naikan");}
else if (nilai == 'D'){System.out.println("jangan main saja");}
else if (nilai == 'E'){System.out.println("jangan sering bolos");}
else {System.out.println("tidak ada nilai ini");
}
}
}
PENJELASAN

• Di baris 6 kita mendefinisikan sebuah variabel nilai sebagai char. Variabel nilai ini
kemudian dipakai untuk menampung input dari perintah input.next().charAt(0) di baris
10. Ini adalah proses input nilai char dalam bahasa Java.
• Mulai dari baris 12 hingga 29, terdapat 5 kali pemeriksaan kondisi, yakni satu untuk
setiap block IF ELSE. Dalam setiap kondisi, isi variabel nilai akan di diperiksa apakah
berisi karakter ‘A’, ‘B’, hingga ‘E’. Jika salah satu kondisi terpenuhi, maka block kode
program yang sesuai akan di eksekusi.
• Jika ternyata nilai inputan bukan salah satu dari karakter ‘A’ – ‘E’, maka block ELSE di
baris 28 lah yang akan dijalankan.
CONTOH

• Setiap kondisi dari block IF ELSE IF bisa diisi dengan perbandingan yang lebih
kompleks, seperti contoh berikut:
package kompleks;

import java.util.Scanner;
public class Kompleks {

public static void main(String[] args) {


byte nilai;
Scanner input = new Scanner(System.in); Hasil kode program:
System.out.print("Masukan nilai 10 - 100 :");
nilai = input.nextByte(); Masukan nilai 10 - 100 :100
if (nilai >= 90){System.out.println("Pertahankan!"); Pertahankan!
}
else if (nilai >= 80 && nilai < 90){System.out.println("Harus Lebih Baik lagi");
}
else if (nilai >= 60 && nilai < 80){System.out.println("Perbanyak belajar");
}
else if (nilai >= 40 && nilai < 60){System.out.println("Jangan main saja");
}
else if (nilai < 40){System.out.println("Jangan banyak bolos");
}
else {System.out.println("maaf tidak ada kriteria");
}
}
}
PENJELASAN

• Di sini kita memodifikasi sedikit kode program sebelumnya. Sekarang nilai inputan berupa angka antara
0 hingga 100.
• Angka inputan ini ditampung ke dalam variabel nilai yang sekarang di set sebagai tipe data byte di baris
5. Tipe data byte adalah jenis terkecil dari tipe data angka bulat (integer) dalam bahasa Java, yakni bisa
menampung antara -128 sampai dengan +127.
• Di baris 12, variabel nilai di periksa apakah berisi angka yang lebih dari 90. Jika iya, tampilkan
teks “Pertahankan!”.
• Jika kondisi di baris 12 tidak terpenuhi (yang artinya isi variabel nilai kurang dari 90), maka kode
program akan lanjut ke kondisi ELSE IF berikutnya di baris 15. Di sini saya menggabung dua buah
kondisi pemeriksaan dengan operator logika && (operator AND). Kondisi if(nilai >= 80 && nilai <
90) hanya akan terpenuhi jika isi variabel nilai berada dalam rentang 80 sampai 89.
LANJUTAN

• Ketika membuat kondisi perbandingan, kita harus hati-hati dengan penggunaan tanda,
apakah ingin menggunakan tanda lebih besar saja (>) atau tanda lebih besar sama dengan
(>=) karena bisa mempengaruhi hasil akhir.
• Jika ternyata kondisi ini tidak dipenuhi juga (artinya isi variabel nilai kurang dari 80),
program akan lanjut ke kondisi if(nilai >= 60 && nilai < 80) di baris 18, yakni apakah
isi variabel nilai berada dalam rentang 60 – 79. Demikian seterusnya hingga kondisi
terakhir if(nilai < 40) di baris 24.
• Jika semua kondisi tidak terpenuhi, jalankan block ELSE di baris 27.
• Yang cukup unik adalah, jika kita memberikan nilai di luar rentang 0 – 100, akan tetap
ditangkap oleh kondisi IF di baris 10 atau di baris 22:
LANJUTAN
• Ini terjadi karena nilai 120 tetap memenuhi syarat if (nilai >= 90), dan nilai -10 juga tetap memenuhi syarat if (nilai
< 40). Silahkan anda modifikasi kode program di atas agar ketika diinput angka di luar dari rentang 0 – 100, tampil
teks “Maaf, format nilai tidak sesuai”. Untuk hal ini kita cuma perlu mengubah / menambah 2 kondisi saja.
• Namun jika diinput angka 200, yang akan tampil adalah pesan error berikut:
• Masukan nilai 10 - 100 :200
• Exception in thread "main" java.util.InputMismatchException: Value out of range. Value:"200" Radix:10
• at java.base/java.util.Scanner.nextByte(Scanner.java:2013)
• at java.base/java.util.Scanner.nextByte(Scanner.java:1961)
• at kompleks.Kompleks.main(Kompleks.java:10)
• C:\Users\asus\AppData\Local\NetBeans\Cache\15\executor-snippets\run.xml:111: The following error occurred
while executing this line:
• C:\Users\asus\AppData\Local\NetBeans\Cache\15\executor-snippets\run.xml:68: Java returned: 1
• BUILD FAILED (total time: 3 seconds)
LANJUTAN

• Ini terjadi karena angka 200 sudah berada di luar jangkauan tipe data byte. Solusi
sederhana adalah dengan menukar tipe data byte dengan tipe data yang memiliki
jangkauan lebih besar seperti int.
PERCABANGAN KONDISI SWITCH CASE BAHASA
JAVA
• Pengertian SWITCH CASE Bahasa Java
• Kondisi SWITCH CASE adalah percabangan kode program dimana kita
membandingkan isi sebuah variabel dengan beberapa nilai. Jika proses perbandingan
tersebut menghasilkan true, maka block kode program akan di proses.
• Kondisi SWITCH CASE terdiri dari 2 bagian, yakni perintah SWITCH dimana terdapat
nama variabel yang akan diperiksa, serta 1 atau lebih perintah CASE untuk setiap nilai
yang akan diperiksa.
FORMAT SWITCH CASE
• Berikut format dasar penulisan kondisi SWITCH CASE dalam bahasa Java:
• switch (nama_variabel) {
• case 'nilai_1':
• // Kode program yang dijalankan jika nama_variabel == nilai_1
• break;
• case 'nilai_2':
• // Kode program yang dijalankan jika nama_variabel == nilai_2
• break;
• case 'nilai_3':
• // Kode program yang dijalankan jika nama_variabel == nilai_3
• break;
• ...
• ...
• default:
• // Kode program yang dijalankan jika tidak ada kondisi yang terpenuhi
• }
LANJUTAN

• Di awal kode program, terdapat perintah SWITCH untuk menginput variabel yang akan
diperiksa. Kemudian terdapat beberapa perintah CASE yang diikuti dengan sebuah nilai.
• ika isi dari nama_variabel sama dengan salah satu nilai ini, maka blok kode program
akan dijalankan. Jika ternyata tidak ada kondisi CASE yang dipenuhi, blok default di
baris paling bawah lah yang akan dijalankan.
• Di dalam setiap block case, diakhiri dengan perintah break; agar
struktur CASE langsung berhenti begitu kondisi terpenuhi. Mari langsung lihat contoh
prakteknya.
CONTOH
KODE PROGRAM SWITCH CASE BAHASA JAVA

• Dalam contoh sebelumnya, terdapat kode program untuk menampilkan nilai dengan
struktur IF ELSE IF. Kita akan coba konversi menjadi bentuk SWITCH CASE.
package banyakulang;

import java.util.Scanner;
public class Banyakulang {

public static void main(String[] args) {


char nilai;
Scanner input = new Scanner (System.in);
System.out.print("Masukan Nilai Anda (A - E):");
nilai = input.next().charAt(0);

if (nilai == 'A'){ System.out.println("Pertahankan");}


else if (nilai == 'B'){System.out.println("Perbaiki");}
else if (nilai == 'C'){System.out.println("naikan");}
else if (nilai == 'D'){System.out.println("jangan main saja");}
else if (nilai == 'E'){System.out.println("jangan sering bolos");}
else {System.out.println("tidak ada nilai ini");
}
}
}
package banyakulang;

import java.util.Scanner;
public class Banyakulang {

public static void main(String[] args) {


char nilai;
Scanner input = new Scanner (System.in);
System.out.print("Masukan Nilai Anda (A - E):");
nilai = input.next().charAt(0);
switch (nilai) {
case 'A':
System.out.println("Pertahankan!");
break;
case 'B':
System.out.println("Harus lebih baik lagi");
break;
case 'C':
System.out.println("Perbanyak belajar");
break;
case 'D':
System.out.println("Jangan keseringan main");
break;
case 'E':
System.out.println("Kebanyakan bolos...");
break;
default:
System.out.println("Maaf, format nilai tidak sesuai");

}
}
}
PENJELASAN

• Di baris 10 terdapat perintah untuk meminta user menginput salah satu huruf antara ‘A’ –
‘E’. Nilai huruf ini kemudian disimpan ke dalam variabel nilai yang sudah di set ber tipe
data char.
• Kondisi SWITCH CASE dimulai pada baris 12. Di sini terdapat perintah switch
(nilai) yang artinya kita ingin memeriksa isi dari variabel nilai. Seluruh block SWITCH
berada di dalam tanda kurung kurawal yang dimulai dari baris 12 sampai 30.
• Di baris 13 terdapat perintah case ‘A’: Ini artinya jika variabel nilai berisi karakter ‘A‘,
maka jalankan isi dari block CASE, yakni perintah System.out.println(“Pertahankan!”).
Lalu terdapat perintah break di baris 15 agar struktur CASE lain tidak perlu di proses lagi
LANJUTAN

• Di baris 16 terdapat perintah CASE kedua, yakni case ‘B’:. Sama seperti sebelumnya, blok
ini akan dijalankan jika variabel nilai berisi huruf ‘B‘. Demikian seterusnya sampai case ‘E’
: di baris 25.
• Jika ternyata tidak ada nilai yang sesuai, maka block default di baris 28 yang akan di
eksekusi.
• Struktur SWITCH CASE ini terlihat lebih rapi daripada struktur IF ELSE IF, dan kadang
kala bisa lebih efisien. Namun SWITCH CASE juga memiliki batasan, dimana tidak bisa
dipakai untuk kondisi yang lebih kompleks seperti perbandingan dengan tanda lebih besar
dari ” > “, maupun penggabungan kondisi.
LANJUTAN

• Kita tidak bisa membuat struktur CASE seperti berikut:


• // ini akan error
• case > '90':
• System.out.println("Pertahankan!");
• break;
• Kondisi perbandingan di atas hanya bisa ditulis menggunakan struktur IF.
• Sehingga jika kondisi yang diperiksa cukup rumit, maka terpaksa harus menggunakan struktur
IF ELSE IF. Struktur SWITCH CASE yang kita pelajari kali ini hanya cocok untuk operasi
perbandingan sederhana, dimana nilai yang diperiksa hanya terdiri dari nilai yang tetap.
PERULANGAN FOR
PADA JAVA
DHANY INDRA GUNAWAN
PENGERTIAN STRUKTUR PERULANGAN FOR
BAHASA JAVA
• Struktur perulangan (atau dalam bahasa inggris disebut loop) adalah instruksi kode
program yang bertujuan untuk mengulang beberapa baris perintah.
• Dalam merancang perulangan for, setidaknya kita harus mengetahui 3 komponen:
• Kondisi awal perulangan.
• Kondisi pada saat perulangan.
• Kondisi yang harus dipenuhi agar perulangan berhenti.
FORMAT FOR

• Berikut format dasar struktur perulangan for dalam bahasa Java:


• for (start; condition; increment)
• {
• // kode program
• // kode program
• }
• Start adalah kondisi pada saat awal perulangan. Biasanya kondisi awal ini berisi perintah untuk
memberikan nilai kepada variabel counter. Variabel counter sendiri adalah sebuah variabel yang
menentukan berapa banyak perulangan dilakukan. Kebanyakan programmer menggunakan
variabel i sebagai variabel counter (ini tidak harus, boleh juga memakai variabel lain).
LANJUTAN

• Condition adalah kondisi yang harus dipenuhi agar perulangan berjalan. Selama kondisi
ini terpenuhi, maka compiler bahasa Java akan terus melakukan perulangan.
Misalnya condition ini berisi perintah i < 7, maka selama variabel counter i berisi angka
yang kurang dari 7, terus lakukan perulangan.
• Increment adalah bagian yang dipakai untuk memproses variabel counter agar bisa
memenuhi kondisi akhir perulangan. Bagian ini akan selalu di eksekusi di setiap
perulangan.
• Disebut increment karena biasanya berisi operasi increment seperti i++, yang sebenarnya
sama dengan i = i + 1. Maksudnya, dalam setiap perulangan naikkan variabel i sebanyak
1 angka. Namun kita juga bisa memberikan nilai lain seperti i = i + 2 sehingga variabel
counter akan naik 2 angka setiap perulangan
LANJUTAN

• Sebagai tambahan, terdapat istilah iterasi (iteration), yang berarti 1 kali perulangan.
Istilah ini cukup sering dipakai ketika membahas tentang struktur perulangan

Anda mungkin juga menyukai