penyeleksi kondisi / percabangan - · pdf filecontoh: hitung body mass ... •untuk...
TRANSCRIPT
PEMROGRAMAN DASAR
Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya
Penyeleksi Kondisi / Percabangan
Dr. Eng. Herman Tolle, ST., MT
Sistem Informasi PTIIK UB Semester Ganjil 2013/2014
7 Aspek Dasar Pemrograman
1. Membaca Input Data
2. Menampilkan Output Data
3. Melakukan proses perhitungan (Compute)
4. Penyimpanan Data (Store)
5. Penyeleksi Kondisi (Percabangan)
6. Perulangan (Repetisi)
7. Method – Fungsi
PERCABANGAN / PENYELEKSI KONDISI
PROGRAM CONTROL
PERCABANGAN
• Termasuk kategori Program Flow Control
• Dalam sebuah algoritma, seringkali suatu atau sekelompok instruksi akan dilaksanakan jika suatu persyaratan (kondisi) dipenuhi (bernilai benar), dan sebaliknya, dilewati atau tidak dilaksanakan jika persyaratan (kondisi) tersebut tidak dipenuhi (bernilai salah).
• Percabangan dua (if-else)
• Percabangan banyak (if-else bertingkat dan switch-case)
Poin dalam Pecabangan
• If
• If .. Else ..
• If Bersarang (nested)
• Switch Case
• Break
• Default
Statement IF
• Menyeleksi sebuah kondisi, jika kondisi terpenuhi
(bernilai benar) maka statement setelah IF (kondisi) akan
dieksekusi
• Kondisi adalah suatu perbandingan yang biasanya
menggunakan operator relasional (>, >=, ==, !=, <, <=)
if (kondisi)
Statement;
if (kondisi)
{
Statement_1;
Statement_2;
Statement_N;
}
Contoh
if (Nilai>55)
System.out.pintln(“Lulus!”);
if (Nilai<=55)
{
System.out.pintln(“Maaf”);
System.out.pintln(“Tidak Lulus!”);
}
If Else
• Jika kondisi yang diuji bernilai salah, maka eksekusi
statemen pada bagian ELSE
if (kondisi)
{
Statement_true1;
Statement_true2;
Statement_N;
}
else
{
Statement_false1;
Statement_false2;
Statement_falseN;
}
if (kondisi)
Statement_true;
else
Statement_false;
Contoh If Else
if (Nilai>55)
System.out.println(“Lulus!”);
else
System.out.println(“Tidak Lulus!”);
if (harga>100000)
{
System.out.println(“Anda mendapatkan diskon 10%!”);
Diskon = harga*0.1;
} else {
System.out.println(“diskon 25%!”);
Diskon = harga*0.25;
}
Case: Kuis Pengurangan
• Program Kuis Pengurangan untuk anak SD Kelas1
• Sistem secara otomatis membangkitkan 2 bilangan
random (angka1, angka2) – int angka1 = (int)(Math.random() * 10);
• Jika angka1 < angka2 maka tukar nilainya
• Sistem menanyakan kepada pengguna, berapa
hasil pengurangan angka1-angka2
• Periksa jawaban pengguna, dan tampilkan “Anda
Benar” atau “Anda Salah”
Kuis Pengurangan anak SD Kelas 1 import java.util.Scanner;
public class KuisPengurangan {
public static void main(String[] args)
{
// 1. Bangkitkan dua integer satu-
dijit, angka1 dan angka2
int angka1 = (int)(Math.random() * 10);
int angka2 = (int)(Math.random() * 10);
// 2. Jika angka1 < angka2, maka tukar
angka1 dengan angka2
if (angka1 < angka2)
{
int temp = angka1;
angka1 = angka2;
angka2 = temp;
}
// 3. Minta siswa untuk menjawab
“Berapakah angka1 – angka2?”
System.out.print
("Berapakah " + angka1 + " - " + angka2
+ "? ");
Scanner masukan = new
Scanner(System.in);
int jawab = masukan.nextInt();
// 4. Periksa jawaban siswa dan
tampilkan apakah jawaban benar atau
salah
if (angka1 - angka2 == jawab)
System.out.println("Anda benar!");
else
System.out.println("Jawaban Anda
salah\n" + angka1 + " - "
+ angka2 + " seharusnya " + (angka1 -
angka2));
}
}
IF Bersarang (Nested)
if (Kondisi 1)
Statement 1 ;
else
if (Kondisi 2)
Statement 2;
else
Statement 3;
Nested if if (kondisi1)
{
if (kondisi2)
{
}
else
{
}
}
else
{
if (kondisi3)
{
}
else
{
}
}
if (kondisi1)
{
if (kondisi2)
{
if (kondisi4)
{
if (kondisi5)
{
}
}
}
else
{
}
}
else
{
if (kondisi3)
{
}
else
{
}
}
Case: Menghitung Body Mass Index
BMI Interpretasi
Di bawah 16 Sangat Kurus
16-18 Kurus
18-24 Normal
24-29 Gemuk
29-35 Sangat Gemuk
> 35 Terlalu Gemuk
• Input:
– Tinggi (meter)
– Berat (kg)
• Process: – BMI = berat / (tinggi*tinggi)
Contoh: Hitung Body Mass Index import java.util.Scanner;
public class HitungBMI {
public static void main(String[] args) {
Scanner masukan = new Scanner(System.in);
// Meminta pengguna memasukkan berat dalam kg
System.out.print("Masukkan berat badan dalam kg: ");
double berat = masukan.nextDouble();
// Meminta pengguna memasukkan tinggi badan
dalam meter
System.out.print("Masukkan tinggi badan dalam meter
");
double tinggi = masukan.nextDouble();
// Hitung BMI
double bmi = berat/ (tinggi* tinggi);
// Tampilkan hasil
System.out.printf("BMI Anda adalah %5.2f\n",
bmi);
if (bmi < 16)
System.out.println("Anda sangat kurus");
else if (bmi < 18)
System.out.println("Anda kurus");
else if (bmi < 24)
System.out.println("Anda normal");
else if (bmi < 29)
System.out.println("Anda gemuk");
else if (bmi < 35)
System.out.println("Anda sangat gemuk");
else
System.out.println("Anda terlalu gemuk");
}
}
SWITCH CASE
SWITCH CASE
• Pernyataan switch-case dapat dipergunakan
sebagai pengganti pernyataan if-else bertingkat,
jika pernyataan if-else bertingkat terlalu banyak,
sehingga menjadi sulit dibaca.
• Untuk menangani percabangan dengan kondisi
lebih dari satu
switch, case, break
• Variable pada switch
hanya untuk bilangan
bulat (byte, integer,
dll) atau karakter
(char)
• Case nilai dengan tipe
data yang sama
dengan switch
Syntax: switch (variable)
{
case nilai_1:
statemen_1;
break;
case nilai_2:
statemen_2a;
statemen_2b;
break;
case nilai_n:
statemen_n;
break;
default:
statemen_default
}
Break & Default
• Pernyataan Break digunakan untuk
menghentikan program lanjut ke baris
selanjutnya jika kondisi terpenuhi
• Tanpa menggunakan ‘Break’ Maka program akan
dieksekusi pada baris selanjutnya
• Statement Default digunakan jika tidak ada
kondisi pada bagian case yang ditemukan
Contoh
switch ( nilai/10)
{
case 10:
case 9:
case 8:
huruf='A';
break;
case 7:
huruf='B';
break;
case 6:
huruf='C';
break;
case 5:
huruf='D';
break;
default:
huruf='E';
break;
}
Tugas
Buatlah algoritma flowchart dan program komputer untuk
menyelesaikan kasus berikut:
1. Program konversi menghitung nilai Akhir (Huruf)
2. Input: Nama, NIM, nilai Tugas, nilai Quiz, nilai UTS, nilai
UAS, (nilai dalam angka (float)).
3. Output:
1. Nilai Huruf
2. Komentar untuk setiap nilai yang diperoleh, misalnya “Hebat”
untuk nilai A, “Belajar lebih keras” untuk nilai D, dst
3. Ditampilkan dalam format tabel dan kolom
• Jalankan program yang anda buat, dan
simulasikan dengan data anda sendiri. Hasil
simulasi di screenshot sebagai bagian dari
laporan
• Laporan source code & screen shot dalam
lembar A4, dengan Nama-Nim pada header
• Nilai Akhir = (0.2 x Quiz) + (0.25 x UTS) + (0.30 x
UAS) + (0.25 x Tugas)