BAB 2
Seleksi Kondisi
Tujuan
1. Praktikan mampu memahami konsep penggunaan conditional assignment
2. Praktikan mampu memahami konsep percabangan menggunakan if-else, if-else if-else
3. Praktikan mampu memahami konsep percabangan menggunakan
Ringkasan Materi
A. Conditional Assignment
Sebelum mengenal menggunakan if kita dikenalkan bagaimana cara menggunakan dan
kode untuk conditional assignment. Berikut kode dari conditional assignment :
type_data variabel = kondisi
? pernyataan_benar : pernyataan_salah
Dari kode
diatas dapat dijelaskan bahwa pertama harus dilakukan pendeklarasian variabel dan type data dari variabel yang kita buat, kemudian
kita beri suatu kondisi
setelah
itu
jika kondisi benar maka program akan berjalan ke pernyaataan benar namun jika salah maka akan melakukan pernytaan salah. Contoh :
String
s = (5>2) ? “Berhasil” : “Gagal”;
Jika program tersebut dijalankan maka akan mencetak “Berhasil karena” kondisi pada
conditional assignment tersebut benar.
B. Seleksi kondisi menggunakan if-else
Untuk melakukan percabangan tunggal kita dapat menggunakan
if
saja namun untuk percabangan yang lebih dari satu (percabangan majemuk) maka kita dapat menggunakan if- else.
Bentuk dasar dari statemen ini adalah :
if (kondisi){
Blok pernyataan;
}
else{
Blok pernyataan
}
Namun untuk percabangan yang lebih dari 2, bentuk dasar yang digunakan adalah :
if (kondisi){
Blok pernytaan 1;
}
else
if (kondisi){
Blok pernyataan 2;
}
else
if (kondisi){
Blok pernyataan 3;
}
else{
Blok pernyataan 4;
}
C. Nested
If
Suatu if memungkinkan untuk terapat if didalan if inilah yang disebut sebagai nested if.
Alur programnya adalah jika kondisi if pertama benar makan program
akan mengecek if
kedua jika benar maka mengecek if ketiga begitu seterusnya.
Bentuk dasar dari nested if adalah sebagai berikut :
if (kondisi){
if(kondisi){
if(kondisi){
blok pernyataan;
} Else{
} Else{
}
Blok pernyataan;
Blok
pernyataan;
}
}
Else{
Blok pernyataan;
}
D. Switch Case
Selain menggunakan
if
untuk seleksi kondisi terdapat sintaks lain yaitu menggunakan Switch case.
Program akan menampilkan output sesuai dengan inputan
yang diberikan
dengan batasan input berupa nilai awal sampai nilai akhir tertentu.
Bentuk dasar dari switch case adalah sebagai berikut :
Switch(kondisi){
Case nilai1
: statemen-1; break;
Case nilai2 : statemen-2; break;
Case nilai3 : statemen-3; break;
Default : Statemen-4;
}
Pelaksanaan Percobaan
A. Conditional Assignment
constAss.java
1 public
class constAss{
2
public
static void main(String[] args){
3 String
s = "filkom";
4 String
val = (s=="filkom")?"Brawijaya" : "null";
5 System.out.println(s+" "+val);
6
}
7 }
B. If-else
seleksi1.java
1 import
java.util.Scanner;
2 public
class seleksi1{
3
public
static void main(String[] args){
4 Scanner in = new Scanner(System.in);
5 System.out.print("masukkan nilai
: ");
6 int nilai = in.nextInt();
7 if (nilai > 60)
8 System.out.println("Anda lulus");
9 else
if (nilai >= 40)
10 System.out.println("Anda harus
mengulang !");
11 else{
12 System.out.println("Anda gagal");
13 }
14
}
C. Nested if
seleksi2.java
1 import
java.util.Scanner;
2 public
class seleksi2{
3
public
static void main(String[] args){
4 Scanner in = new Scanner(System.in);
5 System.out.print("masukkan nilai
: ");
6 int nilai = in.nextInt();
7 if(nilai * 2 < 50){
8 nilai += 10;
9 }
10 if(nilai<=20){
11 System.out.println("Filkom");
12 if(nilai % 2 == 1){
13 System.out.println("UB");
14 }
15 else{
16 System.out.println("Brawijaya");
17 }
18 }
19 else{
20 System.out.println("PTIIK");
21 if(nilai % 2 == 1){
22 System.out.println("UB");
23 }
24 else{
25 System.out.println("Brawijaya");
26 }
27 }
28
}
29 }
D. Switch-case
seleksi3.java
|
1
|
import java.util.Scanner;
|
|
|
2
|
public class seleksi3{
|
|
|
3
|
public static void main(String[] args){
|
|
|
4
|
Scanner in = new Scanner(System.in);
|
|
|
5
|
int
uang;
|
|
|
6
|
System.out.println("Tipe Mata
uang yang tersedia");
|
|
|
7
|
System.out.println("1. Dolar
- USA (kurs USD 1
|
= Rp
|
8000,-)");
8
System.out.println("2. Yen - Jepang(
kurs JPY 1 = Rp.
4000,-
)");
9
System.out.println("3. Poundsterling - Inggris( kurs 1
Poundsterling = Rp. 10.500,
-)");
10
System.out.println("4. Euro - MEE( kurs EUR 1 = Rp.
8900,-
)");
11 System.out.println("5. Riyal - Arab Saudi( kurs 1 Riyal =
Rp. 1100,-)");
12
System.out.print("Masukkan jenis
mata uang anda : ");
13 int pilihan = in.nextInt();
14 switch(pilihan){
15 case 1 : System.out.println("Data diterima, jenis
valuta Anda : Dolar Amerika
Serikat");
16 System.out.print("Masukkan banyak uang
anda (dalam dolar) : ");
17 uang = in.nextInt();
18 System.out.println("Uang yang diterima
: Rp "+(uang*8000)+",-");break;
19 case 2 : System.out.println("Data diterima, jenis
valuta Anda : Yen Jepang");
20 System.out.print("Masukkan banyak uang
anda (dalam Yen) : ");
21 uang = in.nextInt();
22 System.out.println("Uang yang diterima
: Rp "+(uang*4000)+",-");break;
23 case 3 : System.out.println("Data diterima, jenis
valuta Anda : Poundsterling Inggris");
24 System.out.print("Masukkan banyak uang
anda (dalam dolar) : ");
25 uang = in.nextInt();
26 System.out.println("Uang yang diterima
: Rp "+(uang*10500)+",-");break;
27 case 4 : System.out.println("Data diterima, jenis
valuta Anda : Euro MEE");
28 System.out.print("Masukkan banyak uang
anda (dalam Euro) : ");
29 uang = in.nextInt();
30 System.out.println("Uang yang diterima
: Rp "+(uang*8900)+",-");break;
31 case 5 : System.out.println("Data diterima, jenis
valuta Anda : Riyal Arab Saudi");
32 System.out.print("Masukkan banyak uang
anda (dalam Riyal) : ");
33 uang = in.nextInt();
34 System.out.println("Uang yang diterima
: Rp "+(uang*1100)+",-");break;
35 default : System.out.println("data tak ditemukan");
}
36
}
37 }
Data dan Analisis hasil percobaan
A. Conditional Assignment
1. Jalankan file constAss.java dan benahi jika menemukan kesalahan!
.............................................................................................................................................
.............................................................................................................................................
2. Ubah
kode diatas pada baris ke empat dengan merubah type data String menjadi int, amati yang terjadi kemudian jelaskan!
.............................................................................................................................................
.............................................................................................................................................
3. Tambahkan kode dibawah baris 5 dengan menambahkan program
yang meminta inputan user dengan memasukkan nama dan nim masing-masing mahasiswa dan jika benar
maka akan mencetak nama dan nim mahasiswa,
jika salah maka mencetak “input nama salah” jika memasukkan nama yang salah, “input nim salah” jika memasukka
nim
yang salah
.............................................................................................................................................
.............................................................................................................................................
4. Buat program yang meminta untuk
memasukkan nama dan password kemudian program
akan meminta user untuk memasukkan nama dan password sesuai
inputan sebelumnya. Jika benar maka program akan mencetak informasi
biodata mahasiswa dan jika salah maka program akan mencetak “data tak
ditemukan”.
.............................................................................................................................................
.............................................................................................................................................
B. If else
1. Jalankan file seleksi1.java dan benahi jika menemukan kesalahan!
.............................................................................................................................................
.............................................................................................................................................
2. Masukkan nilai 30, 60 dan 80 saat program dijalankan, dan jawablah dengan screenshot
hasil keluaran dari program!
.............................................................................................................................................
.............................................................................................................................................
3. Pada baris 9, ubahlah kode program menjadi System.out.println("Nilai kurang
!");, Pengaruh apa yang ditimbulkan setelah dilakukan pengubahan kode diatas!
.............................................................................................................................................
.............................................................................................................................................
C. Nested
If
1. Jalankan file seleksi2.java dan benahi jika menemukan kesalahan!
.............................................................................................................................................
.............................................................................................................................................
2. Masukkan
nilai 5, 20, 30 saat program dijalankan,
jelaskan alur jalan program dan beri
screenshot keluaran dari program!
.............................................................................................................................................
.............................................................................................................................................
3. Ubah kode diatas dengan memanfaatkan operasi and!
.............................................................................................................................................
.............................................................................................................................................
D. Switch case
1. Jalankan file seleksi3.java dan benahi jika menemukan kesalahan!
.............................................................................................................................................
.............................................................................................................................................
2. Pada baris 18,22,26,30 dan 34 hapus kode break, pengaruh apa yang terjadi setelah pengubahan kode tersebut!
.............................................................................................................................................
.............................................................................................................................................
3. Apa perbedaan seleksi kondisi
dengan menggunakan switch case dan if-else, dan kapan
kita harus menggunakan if-else dan kapan menggunakan switch case?
.............................................................................................................................................
.............................................................................................................................................
Tugas Praktikum
1. Buatlah program sebagai berikut dengan menggunakan metode switch case
Menu
:
1. menghitung luas dan keliling
persegi panjang
2. menghitung luas dan keliling
lingkaran
3. menghitung luas dan keliling
segitiga
Pilihan
anda : 3
Masukkan a : 3
Masukkan b : 4
Masukkan r : 5
Keliling segitiga : 12 cm
Luas
segitiga : 6 cm2
Pilihan
anda : 10
Data
tak ditemukan, program
dihentikan ...
2. Untuk menentukan kriteria kegemukan, digunakan IMT (Indeks Massa Tubuh), yang bisa
dihitung menggunakan rumus :
IMT = b / t2
b = berat badan (kg)
t
= tinggi badan (m)
Kriteria untuk nilai IMT ditabelkan sebagai berikut :
|
Nilai IMT
|
Kriteria
|
|
IMT ≤ 18,5
|
Kurus
|
|
18,5 < IMT ≤ 25
|
Normal
|
|
25 < IMT
≤ 30
|
Gemuk
|
|
IMT > 30
|
Kegemukan
|
Susun program
dengan tampilan sebagai berikut dengan menggunakan metode if-else!
Berat
badan (kg) : 45
Tinggi
badan (m) :1.72
IMT = 15,21 Termasuk kurus
Berat
badan (kg) : 85
Tinggi
badan (m) :1.71
IMT = 27,76 Termasuk gemuk
3. Susun program
untuk masalah pengajian sebagai berikut :
Masukan yang dibutuhkan oleh program adalah : jumlah jam kerja tiap minggu.Keluaran program adalah : total upah dari pegawai tertentu.
Aturan yang diterapkan adalah :
- Batas kerja maksimal adalah 60 jam / minggu, dengan upah Rp. 5000,- / jam. Kelebihan
jam kerja dari batas maksimum akan dianggap sebagai lembur dengan upah Rp. 6000,- / jam.
- Batas kerja minimal adalah 50 jam / minggu. Apabila pegawai mempunyai jam kerja di
bawah batas kerja minimal ini, maka akan dikenakan denda sebesar Rp. 1000, - / jam.
Contoh tampilan :
Jam kerja : 55
Upah = Rp. 275000
Lembur= Rp. 0
Denda = Rp.
0
---------------------
Total = Rp. 275000
Jam kerja : 70
Upah = Rp. 300000
Lembur= Rp. 60000
Denda = Rp.
0
---------------------
Total = Rp. 360000
Jam kerja : 40
Upah = Rp. 200000
Lembur= Rp.
0
Denda = Rp. 10000
---------------------
Total = Rp. 190000
Tidak ada komentar:
Posting Komentar