OPERASI SELEKSI PEMROGRAMAN C++
[email protected]
PEMILIHAN
PEMILIHAN • IF – SWITCH
Memilih bilangan terbesar atau terkecil dari dua buah bilangan menggunakan Control statement
if
Syntax Penulisan if statement:
if (condition ) Condition : adalah ungkapan atau pernyataan (expression) yang mengandung nilai TRUE (benar) atau FALSE (salah). Contoh :
5 > 2 bernilai TRUE 5 > 9 bernilai FALSE 5 == 5 bernilai TRUE
Tanda :
> dan == diatas disebut Relational Operator (Operator Hubungan)
Relational Operator yang digunakan dalam Bahasa C/C++ dan Java
== Equal To (Sama Dengan) > Greater Than (Lebih Besar Dari) < Less Than (Lebih Kecil Dari) >= Greater Than Or Equal To (Lebih Besar Dari Atau Sama Dengan)
<= Less Than Or Equal To (Lebih Kecil Dari atau Sama Dengan)
!= Not Equal To ( Tidak Sama Dengan)
Sebutkan TRUE atau FALSE nilai condition berikut ini :
5 == 2 contoh : if( 5 == 2 ) 5>2 5<2 5 >= 2 5 <= 2 5 >= 5 5 <= 5 5 != 2 5 != 5 5<7 5 <= 7 5 >= 7
5 == 2
F
5 > 2
T
5 < 2
F
5 >= 2
T
5 <= 2
F
5 >= 5
T
5 <= 5
T
5 != 2
T
5 != 5
F
5 < 7
T
5 <= 7
T
5 >= 7
F
5
7
9
7
7
7
A
B
A
B
A
B
condition
akan bernilai
condition
akan bernilai
condition
akan bernilai
(A == B)
F
(A == B)
F
(A == B)
T
(A > B)
F
(A > B)
T
(A > B)
F
(A < B)
T
(A < B)
F
(A < B)
F
(A >= B)
F
(A >= B)
T
(A >= B)
T
(A <= B)
T
(A <= B)
F
(A <= B)
T
(A != B)
T
(A != B)
T
(A != B)
F
T = TRUE F = FALSE
Bentuk Umum - 1 biasa disebut : Bentuk IF-THEN if ( cond ) { }
-
Flowchart
cond
TRUE
statements-true -
statementstrue
next instruction
Cara-Kerja
-
next instruction
Bila nilai cond - TRUE, maka kerjakan semua instruksi yang ada dalam statements-true Setelah selesai, lanjutkan ke next-instruction
- FALSE, maka langsung ‘meloncat’ mengerjakan isnstruksi yang ada di next-instruction
Flowchart if ( cond ) { }
-
Statements true
cond
-
next instruction
Penulisan PROGRAM Terikat aturan / ketentuan
TRUE
-
cond TRUE -
-
Penggambaran FLOWCHART bebas
Bentuk Umum - 2 biasa disebut : Bentuk IF-THEN-ELSE Flowchart if ( cond ) { } else { }
-
statements-true
FALSE
-
cond
statementsfalse
TRUE
-
statementstrue
statements-false
next instruction
-
next instruction
cond = condition
if ( cond ) { } else {
} -
-
Flowchart statements-true FALSE
statements-false
-
cond
TRUE
-
statementsfalse
statementstrue
next instruction
Cara-Kerja
-
next instruction
Bila nilai cond - TRUE, maka kerjakan semua instruksi yang ada dalam statements-true Setelah selesai, lanjutkan ke next-instruction
- FALSE, maka kerjakan semua instruksi yang ada dalam statements-false Setelah selesai, lanjutkan ke next-instruction
Penulisan PROGRAM terikat aturan, Penggambaran FLOWCHART bebas.
TRUE
cond
FALSE
cond
FALSE
TRUE -
-
true
-
false
next instruction
true
-
-
-
false
next instruction
Beberapa contoh penulisan / penggunaan if(cond) bentuk IF-THEN-ELSE 1.
int A=5, B=7; if(A
2.
Akan tercetak : Jakarta Selesai
Akan tercetak : Jakarta Selesai
3.
int A=5, B=7; if(A
int A=5, B=7; if(A
4.
int A=5, B=7; if(A
cout << “\nSelesai” ; Akan tercetak : Jakarta Selesai
Soal
Susun program dalam bahasa C++ untuk menginput 2 (dua) buah bilangan bulat, kemudian mencetak salah satu bilangan yang nilainya terbesar.
Soal Susun program dalam bahasa C++ untuk menginput 2 (dua) buah bilangan bulat, kemudian mencetak salah satu bilangan yang nilainya terbesar. MISAL NILAI YANG DIINPUT ADALAH
5 DAN 2
5 2 cin
5 A
2 B
cout
5
START
Algoritma Dasar Read(A) Read(B) IF A > B then Write(A) Else Write(B) End If
False
Write
Read
A
Read
B
A>B
True
write
B
END
A
Algoritma dalam Bahasa C++
Cara-1 #include
void main() { int A, B; cin >> A; cin >> B; if (A > B) { cout << A; } else { cout << B; } }
START
AB
print
False
input
A
input
B
A>B
True
AB
ptint
B
END
A
FLOWCHART Cara-1
AB
START
cin
A
cin
B
False
True
AB
A>B cout
cout
B
END
A
#include void main() { int A, B; cin >> A; cin >> B; if (A > B) { cout << A; } else { cout << B; } }
if (A > B) { cout << A; } else { cout << B; } } if (A > B) cout << A; else cout << B; } if (A > B) cout << A; else cout << B;
if (A > B) cout << A;
else cout << B;
if (A > B) cout << A ; else cout << B ; if (A < B) cout << ….. ; else cout << ….. ; if (B > A) cout << …... ; else cout << …... ; if (B < A) cout << …... ; else cout << …... ;
if (A > B) cout << A ; else cout << B ;
TEKNIK DASAR
if (A < B) cout << B ; else cout << A ; if (B > A) cout << B ; else cout << A ; if (B < A) cout << A ; else cout << B ;
TEKNIK DASAR
Cara-2 #include void main() { int A, B, MAX; cin >> A; cin >> B; if (A > B) { MAX = A; } else { MAX = B; } cout << MAX; }
false
input
A
input
B
A>B
MAX = B
true
MAX = A
print
MAX
Dengan cara menyimpan bilangan yang terbesar kedalam sebuah variabel misal namanya MAX
5 2 cin KEYBOARD
5
2
A
B
5
cout
5
MAX SCREEN MEMORY
TEKNIK DASAR
Cara-3 #include
input
A
input
B
void main() { int A, B, MAX; cin >> A; cin >> B;
MAX = B
MAX = B; if (A > B)
A>B
{ MAX = A; }
true MAX = A
cout << MAX; }
print
MAX
START
TEKNIK DASAR
Cara-4 input
A
#include void main()
MAX = A
{ int A, B, MAX; cin >> A;
input
MAX = A cin >> B; if (B > MAX)
B True
B>MAX False
MAX = B
{ MAX = B; } cout << MAX; }
print
END
MAX
Cara-4
START
#include void main() { int A, MAX; cin >> A; MAX = A cin >> A; if (A > MAX) { MAX = A; } cout << MAX; } A
TEKNIK DASAR
A
input MAX = A
input
A True
A>MAX False
MAX
Hanya ada 2 variabel. A spesial menampung input, MAX spesial menampung nilai terbesar
print
END
MAX
MAX = A
Teknik inilah yang mendasari algoritma untuk mencari nilai yang terbesar atau terkecil dari sejumlah nilai yang diinput
Urutan pelaksanaan : A
MAX
1)
int A,MAX;
2)
cin >> A;
5
3)
MAX = A;
5
5
4)
cin A;
2
5
5)
if (A>max) MAX = A;
2
5
6) cut << MAX;
5
misal nilai yang diinput adalah 5 dan 2
Urutan pelaksanaan : A
MAX
1)
int A,MAX;
2)
cin >> A;
5
3)
MAX = A;
5
5
4)
cin A;
9
5
5)
if (A>max) MAX = A;
9
9
6) cut << MAX;
9
misal nilai yang diinput adalah A 5 dan 9
Implementasi C++ (Menentukan Bil. Genap/Ganjil)
1. Masukkan (bilangan) 2. JIKA sisa_pembagian (Bil.2)=0 MAKA tampilkan (“Bilangan Genap”) 3. SEBALIKNYA tampilkan (“Bilangan Ganjil”) 4. AKHIR-JIKA
Implementasi C++ #include int main() { int bilangan; cout << "Masukkan sebuah bilangan bulat: "; cin >> bilangan; if (bilangan % 2 == 0) cout << "Bilangan genap" << "\n"; else cout << "Bilangan ganjil" << "\n"; return 0; }
Implementasi C++ (Menentukan Bil. Terbesar)
1. Masukkan (x,y) 2. Terbesar x //Asumsi x=terbesar 3. JIKA terbesar
Implementasi C++ #include int main() { double x, y, terbesar; cout << "Masukkan x: "; cin >> x; cout << "Masukkan y: "; cin >> y; // Mengasumsikan yang terbesar adalah x terbesar = x; if (terbesar < y) terbesar = y; cout << "Bilangan terbesar = " << terbesar << "\n"; return 0; }
Implementasi C++ Cara 2 : 1. Masukkan (x,y) 2. JIKA x>y MAKA tampilkan(“terbesar”,x) SEBALIKNYA tampilkan(“terbesar”,y) 3. AKHIR-JIKA
Implementasi C++ #include int main() { double x, y; cout << "Masukkan x: "; cin >> x; cout << "Masukkan y: "; cin >> y; if (x > y) cout << "Bilangan terbesar = " << x << "\n"; else cout << "Bilangan terbesar = " << y << "\n"; return 0; }
Implementasi C++ (Menentukan Validasi Nilai) 1. Masukkan (nilai) 2. JIKA nilai >= 0 dan nilai <=100 MAKA tampilkan(“BENAR”) SEBALIKNYA tampilkan(“TIDAK BENAR”) 3. AKHIR-JIKA
Implementasi C++ #include int main() { double nilai; cout << "Masukkan nilai ujian: "; cin >> nilai; if (nilai >= 0 && nilai <= 100) cout << "BENAR\n"; else cout << "TIDAK BENAR\n"; return 0; }
LATIHAN Buat Program Predikat Kelulusan IP Kumulatif
Predikat Kelulusan
2,00 <= IP <= 2,75
LULUS MEMUASKAN
2,75 <= IP <= 3,50
LULUS SANGAT MEMUASKAN
3,50 <= IP <= 4.00
LULUS DENGAN PUJIAN
LATIHAN OUTPUTNYA :