Memilih bilangan yang
nilainya terbesar atau
terkecil dari dua buah
bilangan yang ada
Soal-8.
Susun algoritma yang ditulis dalam
Bahasa C++, untuk menginput dua
buah bilangan dan mencetak salah
satu bilangan yang nilainya terbesar
7
7
5
7
5
A B cin coutdapat ditulis setelah
dan konsep atau draf
secara manual sudah
KONSEP penyelesaian
Draf
Misal yang diinput nilai : 7
dan
5
7 + 5 = 12
7 – 5 = 2
| 2 | = 2
12 + 2 = 14
14 / 2 = 7
7 terbesar
Misal yang diinput nilai : 4
dan
9
4 + 9 = 13
4 – 9 = - 5
| - 5 | = 5
13 + 5 = 18
18 / 2 = 9
9 terbesar
KONSEP penyelesaian
Draf
Misal yang diinput nilai : 7
dan
5
7 + 5 = 12
7 – 5 = 2
| 2 | = 2
12 - 2 = 10
10 / 2 = 5
5 terkecil
Misal yang diinput nilai : 4
dan
9
4 + 9 = 13
4 – 9 = - 5
| - 5 | = 5
13 - 5 = 8
8 / 2 = 4
4 terkecil
KONSEP penyelesaian
Draf
MENCARI YANG TERBESAR
5
A
9
B
14
- 4
4
C
D
E
C=A + B
D=A - B
E = abs(D)
18
F
F = C+E
9
G
G = F / 2
terbesar
2 1 3 4 5 1 2 3 4 5 C = A + B D = A – B E = abs( D ) F = C + E G = F / 25
A9
B14
- 4
4
C
D
E
C = A + B D = A - B E= abs(
D)
18
F
F = C+E9
G
G = F / 2 terbesar5
A9
B14
4
C
E
C = A + B E= abs(
A–
B)
9
G
G = ( C+E ) / 2 terbesardisingkat
copy dari halaman sebelumnya
2 1 3 4 5 2 1 3 1 2 3 4 5 C = A + B D = A – B E = abs( D ) F = C + E G = F / 2 1 2 3 C = A + B E = abs( A-B ) G = (C+E) / 2
5
A9
B14
4
C
E
C = A + B E= abs(
A–
B)
9
G
G = ( C+E ) / 2 terbesar5
A9
B9
G
G = ( (A+B) + abs( A – B ) ) / 2 terbesardisingkat
copy dari halaman sebelumnya
1 2 3 C = A + B E = abs( A-B ) G = (C+E) / 2 G = ( (A+B) + abs( A – B ) ) / 2
Algoritma
yang ditulis dalam suatu Bahasa Pemrograman disebut PROGRAM5
A9
B14
- 4
4
C
D
E
C = A + B D = A - B E= abs(
D)
18
F
F = C+E9
G
G = F / 2 terbesar 2 1 3 4 5 1 2 3 4 5 C = A + B D = A – B E = abs( D ) F = C + E G = F / 2 #include <iostream.h> #include<math.h> void main() { int A,B,C,D,E,F,G; cin >> A >> B; C = A + B; D = A – B; E = abs( D ); F = C + E; G = F / 2; cout << G; }Karena menggunakan
fungsi matematik abs( )
maka file math.h yang
mengandung fungsi abs( )
harus di-include-kan
5
A9
B14
4
C
E
C = A + B E= abs(
A–
B)
9
G
G = ( C+E ) / 2 terbesar 1 2 3 C = A + B E = abs( A-B ) G = (C+E) / 2 #include <iostream.h> #include<math.h> void main() { int A,B,C,E,G; cin >> A >> B; C = A + B; E = abs( A - B ); G = ( C + E ) / 2; cout << G; } 2 1 35
A9
B9
G
G = ( (A+B) + abs( A – B ) ) / 2 terbesar G = ( (A+B) + abs( A – B ) ) / 2 #include <iostream.h> #include<math.h> void main() { int A,B,G; cin >> A >> B; G =( (A+B) + abs( A – B ) ) / 2;
cout << G; }
#include <iostream.h> #include<math.h> void main() { int A,B,C,D,E,F,G; cin >> A >> B; C = A + B; D = A – B; E = abs( D ); F = C + E; G = F / 2; cout << G; } #include <iostream.h> #include<math.h> void main() { int A,B,C,E,G; cin >> A >> B; C = A + B; E = abs( A - B ); G = ( C + E ) / 2; cout << G; } #include <iostream.h> #include<math.h> void main() { int A,B,G; cin >> A >> B; G =
( (A+B) + abs( A – B ) ) / 2;
cout << G; }
Memilih bilangan
terbesar atau terkecil
dari dua buah bilangan
menggunakan
Control statement
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
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
(A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) condition akan bernilai F F T F T T T = TRUE F = FALSE (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) condition akan bernilai F T F T F T (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) condition akan bernilai T F F T T F
5
A
7
B
9
A
7
B
7
A
7
B
if ( cond )
{
-
-
-
-
-
}
-
-
-
statements-true next instructionFlowchart
Bentuk Umum - 1
biasa disebut : Bentuk IF-THEN
cond
- - - - - - statements- true-
-
-
-
next instruction TRUECara-Kerja
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 diif ( cond )
{ -
-
-
-
-
}
-
-
-
Statements true next instructionFlowchart
cond
- - - - - --
-
-
-
TRUE cond - - - - - --
-
-
-
TRUEPenulisan PROGRAM
Terikat aturan / ketentuan
Penggambaran FLOWCHART
bebas
if ( cond )
{
-
-
-
-
-
}
else
{
-
-
-
-
-
}
-
-
-
statements-true statements-false next instructionFlowchart
Bentuk Umum - 2
biasa disebut : Bentuk IF-THEN-ELSE
cond
- - - - - - - - - - - - statements- false statements- true-
-
-
-
next instructioncond = condition
TRUE FALSEFlowchart
Cara-Kerja
cond
- - - - - - - - - - - - statements- false statements- true-
-
-
-
next instruction TRUE FALSEif ( cond )
{
-
-
-
-
-
}
else
{
-
-
-
-
-
}
-
-
-
statements-true statements-false next instructionBila 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-instructioncond
- - - - - - - - - - - - false true-
-
-
-
next instruction TRUE FALSEPenulisan PROGRAM terikat aturan,
Penggambaran FLOWCHART bebas.
cond
- - - - - - - - - - - - false true-
-
-
-
next instruction TRUE FALSEBeberapa contoh penulisan / penggunaan
if(cond) bentuk IF-THEN-ELSE
3. int A=5, B=7; if(A<B) {cout << “
Jakarta” ; } else {cout << “
Bandung” ; }cout << “\
nSelesai”);Akan tercetak : Jakarta Selesai
4. int A=5, B=7;
if(A<B){
cout <<
“Jakarta” ; }else {
cout <<
“Bandung” ;}cout << “\
nSelesai” ;Akan tercetak : Jakarta Selesai
1. int A=5, B=7; if(A<B) { cout << “Jakarta” ; } else {
cout << “
Bandung” ; }cout << “\
nSelesai” ;Akan tercetak : Jakarta Selesai 2. int A=5, B=7; if(A<B) {
cout <<
“Jakarta” ; } else {cout <<
“Bandung” ; }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-9
Susun program dalam bahasa C++
untuk menginput 2 (dua) buah bilangan bulat,
kemudian mencetak salah satu bilangan yang
nilainya terbesar.
A
2
5
5
cin cout5
2
B
Read(A)
Read(B)
IF A > B then
Write(A)
Else
Write(B)
End If
START Read Read write END A B A B A > B False True WriteAlgoritma Dasar
#include <iostream.h>
void main()
{ int A, B;
cin >> A;
cin >> B;
if (A > B)
{ cout << A;
}
else
{ cout << B;
}
}
Cara-1
START input input ptint END A B A B A > B False True print A B A BFLOWCHART
Cara-1
START
cin
cin
cout
END
A
B
A
B
A > B
False Truecout
A B A Bif (A > B)
{ cout << A; }
else
{ cout << B; }
}
if (A > B)
cout << A;
else
cout << B;
}
if (A > B) cout << A;
else cout << B;
#include <iostream.h>
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 << ….. ;
else
cout << ….. ;
if (B > A)
cout << …... ;
else
cout << …... ;
if (B < A)
cout << …... ;
else
cout << …... ;
if (A > B)
cout << A ;
else
cout << B ;
if (A < B)
cout << B ;
else
cout << A ;
TEKNIK
DASAR
if (B > A)
cout << …... ;
else
cout << …... ;
if (B < A)
cout << …... ;
else
cout << …... ;
if (A > B)
cout << A ;
else
cout << B ;
if (A < B)
cout << B ;
else
cout << A ;
if (B > A)
cout << B ;
else
cout << A ;
TEKNIK
DASAR
if (B < A)
cout << …... ;
else
cout << …... ;
if (A > B)
cout << A ;
else
cout << B ;
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
input input print A B MAX A > B false true MAX = A MAX = B#include <iostream.h>
void main()
{ int A, B, MAX;
cin >> A;
cin >> B;
if (A > B)
{ MAX = A; }
else
{ MAX = B; }
cout << MAX;
}
TEKNIK
DASAR
B
A
2
5
5
KEYBOARD SCREENcin
MEMORYcout
5
2
5
MAXDengan cara menyimpan bilangan yang terbesar kedalam
sebuah variabel misal namanya MAX
Cara-3
input input print A B MAX A > B true MAX = A MAX = B#include <iostream.h>
void main()
{ int A, B, MAX;
cin >> A;
cin >> B;
MAX = B;
if (A > B)
{ MAX = A; }
cout << MAX;
}
TEKNIK
DASAR
Cara-4
START input input print END A B MAX B>MAX False True MAX = B MAX = ATEKNIK
DASAR
#include <iostream.h>
void main()
{ int A, B, MAX;
cin >> A;
MAX = A
cin >> B;
if (B > MAX)
{ MAX = B; }
cout << MAX;
}
Cara-4
START input input print END A A MAX A>MAX False True MAX = A MAX = ATEKNIK
DASAR
#include <iostream.h>
void main()
{ int A, MAX;
cin >> A;
MAX = A
cin >> A;
if (A > MAX)
{ MAX = A; }
cout << MAX;
}
AMAX
Hanya ada 2 variabel.
A spesial menampung input, MAX spesial menampung nilai terbesar Teknik inilah yang mendasari algoritma untuk mencari nilai yang terbesar atau terkecil dari sejumlah nilai yang diinput
Urutan pelaksanaan :
1) int A,MAX;
2) cin >> A;
3) MAX = A;
4) cin A;
5) if (A>max)
MAX = A;
6) cut << MAX;
A
MAX
5
5
2
5
5
2
5
5
misal nilai yang
diinput adalah
5 dan 2
A
misal nilai yang
diinput adalah
5 dan 9
A
MAX
5
5
9
9
5
9
5
9
Urutan pelaksanaan :
1) int A,MAX;
2) cin >> A;
3) MAX = A;
4) cin A;
5) if (A>max)
MAX = A;
6) cut << MAX;
Soal
Susun program untuk menginput
3
(tiga) buah bilangan bulat, (dianggap
ketiga buah bilangan tersebut nilainya
tidak sama satu dengan yang lain),
kemudian
mencetak
salah
satu
Soal
Susun program untuk menginput
3 (tiga) buah
bilangan bulat, (dianggap ketiga buah bilangan
tersebut nilainya tidak sama satu dengan yang lain),
kemudian mencetak salah satu bilangan yang
nilainya terbesar.
B A17
5
17 KEYBOARD SCREENcin
MEMORYcout
5 8 178
CB A
5
17
17 KEYBOARD SCREENcin
MEMORYcout
5 8 178
CB A
8
5
17 KEYBOARD SCREENcin
MEMORYcout
5 8 1717
CSTART input input A B
?
False True input C A B C Menggunakan 3 variabelApa yang dibandingkan untuk pertama kali : A dengan B B dengan A A dengan C C dengan A B dengan C C dengan B
A B C Menggunakan 3 variabel B > A B < A B > C B < C A > B A < B A > C A < C C > A C < A C > B C < B
Pilih yang mudah
START input input A B
?
False True input CA B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B Mencetak atau masih membandingkan ? A B
A B C Menggunakan 3 variabel A > C C > A B > C C > B START input input A B A > B False True input C A B True False
?
A B Pilih yang mana?
A B C Menggunakan 3 variabel A > C C > A B > C C > B START input input A B A > B False True input C A B True False
?
A BPilih yang mana saja tidak mendatangkan error. Hanya saja secara logika, mana yang tepat untuk dipilih
A B C Menggunakan 3 variabel A > C C > A B > C C > B START input input A B A > B False True input C A B Dari ilustrasi ini terlihat jelas bahwa A yang harus dibandingkan dengan C untuk mencari nilai yang terbesar A B A B True False
?
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B True False A > C Mencetak atau masih membandingkan ?
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B True False A > C Mencetak atau masih membandingkan ? A B C A B C atau Kondisi bila A > C true
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B True False A > C Bisakah diambil kesimpulan bahwa A yang terbesar ? A B C A B C atau Kondisi bila A > C true
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B True False A > C print A A B C A B C atau Kondisi bila A > C true
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B True False A > C print A
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B True False A > C print A Perlukah membandingkan B dengan C disini ? Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B True False A > C print A Perlukah membandingkan B dengan C disini ? A B C Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar Kondisi bila A > C False Bila A > C False artinya A < C Atau C > A
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B True False A > C print A Perlukah membandingkan B dengan C disini ? A B C Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A Perlukah membandingkan B dengan C disini ? A B C Atau Dapatkah diambil kesimpulan bahwa C adalah yang terbesar
A B C Menggunakan 3 variabel START input scanf A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C A B C
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A B > C A B C Pasti Kesini Tidak Pernah kesini B > C pasti False
Membandingkan sesuatu yang pasti
False atau True adalah pekerjaan
yang tidak bermanfaat
Pasti False
A B C Menggunakan 3 variabel START input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C A B C
START input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C A B C
START input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C Mencetak atau masih membandingkan ?
START input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C True False
?
A > C C > A B > C C > BSTART input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C True False B > C B yang besar, jadi B yang dibandingkan dengan C
START input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C True False B > C print B
START input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C True False B > C print B A B C
START input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C True False B > C print B print C A B C
START input input A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C True False B > C print B print C A B C
START input input f A B A > B False True input C A B A B A B C A B C atau True False A > C print A print C True False B > C print B print C A B C
A > B False True A B A B A B C A B C atau True False A > C print A print C True False B > C print B print C A B C A B C A B C A B C atau
#include <iostream.h> void main() { int A,B,C; cin >> A; cin >> B); cin >> C); if(A > B) { if(A > C) cout << A ; else cout << C ; } else { if(B > C) cout << B ; else cout << C ; } } Cara-1 START input input print END A B print A > B false true input C A > C B > C print print true true false false A C B C A B C Menggunakan 3 variabel