Logika IF Else
Kalau kita perhatikan, alur pengeksekusian sebuah kode program
dikerjakan satu per satu dari atas sampai ke bawah. Baris demi
baris dibaca, kemudian komputer mengerjakan apa yang diperintahkan.
Misalnya seperti ini:
1. Percabangan IF
Percabangan ini hanya memiliki satu pilihan. Artinya, pilihan di
dalam IF hanya akan dikerjakan kalau kondisinya benar.
Contoh:
Pernahkah kalian belanja di toko, kemudian kalau belanja di atas
sekian ribu dapat hadiah atau diskon.
import java.util.Scanner;
// mengambil input
System.out.print("Total Belanjaan: Rp ");
belanja = scan.nextInt();
System.out.println("Terima kasih...");
}
5
Modul Perkuliahan Matakuliah Mobile Programing
Fakultas Teknologi Informasi
UNIVERSITAS BUDI LUHUR
2. Percabangan IF/ELSE
Sedangkan percabangan IF/ELSE memiliki pilihan alternatif kalau
kondisinya salah.
IF: “Jika kondisi benar maka kerjakan ini, kalau tidak silahkan
lanjut”
IF/ESLE: “Jika kondisi benar maka kerjakan ini, kalau salah maka
kerjakan yang itu, setelah itu lanjut”
6
Modul Perkuliahan Matakuliah Mobile Programing
Fakultas Teknologi Informasi
UNIVERSITAS BUDI LUHUR
// mengambil input
System.out.print("Nama: ");
nama = scan.nextLine();
System.out.print("Nilai: ");
nilai = scan.nextInt();
Hasil outputnya:
Contoh programnya:
public class OperatorTernary {
public static void main(String[] args) {
// menampilkan jawaban
System.out.println(jawaban);
}
}
Jika nilainya lebih besar dari 90, maka grade-nya “A”. Sedangkan
kalau lebih besar dari 80, maka “B+”. Lebih besar dari 70, maka
“B”, dan seterusnya.
10
Modul Perkuliahan Matakuliah Mobile Programing
Fakultas Teknologi Informasi
UNIVERSITAS BUDI LUHUR
Program HitungGrade
Silahkan buat sebuah class baru bernama HitungGrade, kemudian
ikuti kode program berikut.
import java.util.Scanner;
// mengambil input
System.out.print("Inputkan nilai: ");
nilai = scan.nextInt();
// higung gradenya
if ( nilai >= 90 ) {
grade = "A";
} else if ( nilai >= 80 ){
grade = "B+";
} else if ( nilai >= 70 ){
grade = "B";
} else if ( nilai >= 60 ){
grade = "C+";
} else if ( nilai >= 50 ){
grade = "C";
} else if ( nilai >= 40 ){
grade = "D";
} else {
grade = "E";
}
// cetak hasilnya
System.out.println("Grade: " + grade);
}
}
Hasil outputnya:
11
Modul Perkuliahan Matakuliah Mobile Programing
Fakultas Teknologi Informasi
UNIVERSITAS BUDI LUHUR
Percabangan SWITCH/CASE
Percabangan SWITCH/CASE sebenarnya adalah bentuk lain dari
IF/ELSE/IF.
// mengambil input
System.out.print("Inputkan nama warna: ");
lampu = scan.nextLine();
switch(lampu){
case "merah":
System.out.println("Lampu merah, berhenti!");
break;
case "kuning":
System.out.println("Lampu kuning, harap hati-hati!");
break;
case "hijau":
System.out.println("Lampu hijau, silahkan jalan!");
break;
default:
System.out.println("Warna lampu salah!");
}
}
}
Hasil outputnya:
13
Modul Perkuliahan Matakuliah Mobile Programing
Fakultas Teknologi Informasi
UNIVERSITAS BUDI LUHUR
Contoh kasus:
Misalnya ada model bisinis seperti ini di sebuah toko. Ketika orang
membayar di kasir, biasanya ditanya ada kartu member untuk
mendapatkan diskon dan sebagainya.
Apakah anda punya kartu member?
- ya
* Apakah belanjaan anda lebih dari 500rb?
# ya : mendapatkan diskon 50rb
# tidak : tidak mendapatkan diskon
* Apakah belanjaan anda lebih dari 100rb?
# ya : mendapatkan diskon 15rb
# tidak: tidak mendapatkan diskon
- tidak
* Apakah belanjaan anda lebih dari 100rb?
# ya : mendapatkan diskon 10rb
# tidak: tidak mendapatkan diskon
Paham?
Kalau tidak, coba perhatikan flow chart-nya:
14
Modul Perkuliahan Matakuliah Mobile Programing
Fakultas Teknologi Informasi
UNIVERSITAS BUDI LUHUR
// mengambil input
System.out.print("Apakah ada kartu member: ");
kartu = scan.nextLine();
System.out.print("Total belanjaan: ");
belanjaan = scan.nextInt();
// proses
if (kartu.equalsIgnoreCase("ya")) {
if (belanjaan > 500000) {
diskon = 50000;
} else if (belanjaan > 100000) {
diskon = 15000;
} else {
diskon = 0;
}
} else {
if (belanjaan > 100000) {
diskon = 5000;
} else {
diskon = 0;
}
}
// output
System.out.println("Total Bayar: Rp " + bayar);
}
}
Hasil outputnya:
4. Conditonal Operators
Java menyediakan kumpulan operator untuk memanipulasi data.
Beberapa jenis operator dibutuhkan untuk penulisan kondisi
IF..THEN..ELSE. Operator-operator tersebut dapat dikelompokan
menjadi beberapa kelompok yaitu:
» Operator Aritmatika
Simbol Nama Operator Contoh
+ Penjumlahan n = n+1;
- Pengurangan n = n-1;
* Perkalian n = n*1;
/ Pembagian n = n/1;
% Sisa pembagian n = n%1;
++ Increment n = ++n
-- Decrement n = --n
» Operator Relational
Simbol Operasi Contoh
== Sama dengan (a==b);
!= Tidak sama dengan (a!=b);
> Lebih besar (a>b);
< Lebih kecil (a<b);
>= Lebih besar sama dengan (a>=b);
<= Lebih kecil sama dengan (a<=b);
18
Modul Perkuliahan Matakuliah Mobile Programing
Fakultas Teknologi Informasi
UNIVERSITAS BUDI LUHUR
» Operator Bitwise
Simbol Operasi Contoh
& AND (A & B);
| OR (A | B);
^ XOR (A ^ B);
~ Binary complement (~A)
operator
<< Binary left shift A << 2
operator
>> Binary right shift A >> 2
operator
>>> Shift right zero fiil A >>> 2
operator
» Operator Logika
Simbol Operasi Contoh
&& Kondisi AND (a && b);
|| Kondisi OR (a || b);
! Kondisi NOT !(a && b)
» Operator Penugasan
Simbol Operasi Contoh
= Simpel assigment C = A+B
operator, Assigns
value
+= Add AND assigmnet C += A
operator
-= Substract AND C -= A
assigment operator
*= Multiply AND C *=A
assigment operator
/= Devide AND operator C /=A
%= Modulus AND assigment C %=A
19
Modul Perkuliahan Matakuliah Mobile Programing
Fakultas Teknologi Informasi
UNIVERSITAS BUDI LUHUR
operator
<<= Left shift AND C <<=2
assigment operator
>>= Right shift AND C >>=2
assigment operator
&= Bitwise AND assigment C &=2
operator
^= Bitwise exclusive OR C ^=2
and assigment
operator
|= Bitwise inclusive OR C |=2
and assigment
operator